@terreno/mcp 57.17.0 → 57.18.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/57.17.0/README.md +72 -0
- package/dist/docs/versioned/57.17.0/approval-rubric.md +171 -0
- package/dist/docs/versioned/57.17.0/explanation/README.md +41 -0
- package/dist/docs/versioned/57.17.0/explanation/admin-consent-migration.md +15 -0
- package/dist/docs/versioned/57.17.0/explanation/admin-interface.md +88 -0
- package/dist/docs/versioned/57.17.0/explanation/admin-plugin-frontend.md +33 -0
- package/dist/docs/versioned/57.17.0/explanation/agent-ui-asks.md +300 -0
- package/dist/docs/versioned/57.17.0/explanation/agent-ui-blocks.md +127 -0
- package/dist/docs/versioned/57.17.0/explanation/ai-observability.md +101 -0
- package/dist/docs/versioned/57.17.0/explanation/ai-workflows.md +296 -0
- package/dist/docs/versioned/57.17.0/explanation/announcements/rtk-deprecation.md +29 -0
- package/dist/docs/versioned/57.17.0/explanation/authentication.md +497 -0
- package/dist/docs/versioned/57.17.0/explanation/charts.md +41 -0
- package/dist/docs/versioned/57.17.0/explanation/configuration-system.md +418 -0
- package/dist/docs/versioned/57.17.0/explanation/dependency-management.md +104 -0
- package/dist/docs/versioned/57.17.0/explanation/deployment-architecture-gcp.md +106 -0
- package/dist/docs/versioned/57.17.0/explanation/deployment-baseline.md +78 -0
- package/dist/docs/versioned/57.17.0/explanation/durable-agent-harness.md +544 -0
- package/dist/docs/versioned/57.17.0/explanation/example-coverage.md +48 -0
- package/dist/docs/versioned/57.17.0/explanation/explicit-any-policy.md +90 -0
- package/dist/docs/versioned/57.17.0/explanation/gcp-hosting-architecture.md +319 -0
- package/dist/docs/versioned/57.17.0/explanation/local-first-data.md +65 -0
- package/dist/docs/versioned/57.17.0/explanation/loop-engineering.md +194 -0
- package/dist/docs/versioned/57.17.0/explanation/model-router-actions.md +206 -0
- package/dist/docs/versioned/57.17.0/explanation/modular-api-design.md +236 -0
- package/dist/docs/versioned/57.17.0/explanation/organizations.md +88 -0
- package/dist/docs/versioned/57.17.0/explanation/planning-plugins.md +114 -0
- package/dist/docs/versioned/57.17.0/explanation/positioning.md +164 -0
- package/dist/docs/versioned/57.17.0/explanation/repository-settings.md +72 -0
- package/dist/docs/versioned/57.17.0/explanation/roadmap-process.md +500 -0
- package/dist/docs/versioned/57.17.0/explanation/roadmap-seed-issues.md +1382 -0
- package/dist/docs/versioned/57.17.0/explanation/schema-metadata.md +60 -0
- package/dist/docs/versioned/57.17.0/explanation/source-rules.md +57 -0
- package/dist/docs/versioned/57.17.0/explanation/static-analysis.md +136 -0
- package/dist/docs/versioned/57.17.0/explanation/test-isolation.md +42 -0
- package/dist/docs/versioned/57.17.0/explanation/typescript-configuration.md +46 -0
- package/dist/docs/versioned/57.17.0/explanation/versioning-policy.md +35 -0
- package/dist/docs/versioned/57.17.0/how-to/README.md +74 -0
- package/dist/docs/versioned/57.17.0/how-to/add-feature-flags.md +140 -0
- package/dist/docs/versioned/57.17.0/how-to/add-github-oauth.md +349 -0
- package/dist/docs/versioned/57.17.0/how-to/add-gpt-chat-mascot.md +92 -0
- package/dist/docs/versioned/57.17.0/how-to/add-organizations.md +204 -0
- package/dist/docs/versioned/57.17.0/how-to/admin-add-model.md +55 -0
- package/dist/docs/versioned/57.17.0/how-to/admin-custom-home.md +34 -0
- package/dist/docs/versioned/57.17.0/how-to/admin-custom-widget.md +45 -0
- package/dist/docs/versioned/57.17.0/how-to/admin-import-prebuilt.md +31 -0
- package/dist/docs/versioned/57.17.0/how-to/agent-ui-asks.md +730 -0
- package/dist/docs/versioned/57.17.0/how-to/agent-ui-blocks.md +288 -0
- package/dist/docs/versioned/57.17.0/how-to/ai-feature-development.md +161 -0
- package/dist/docs/versioned/57.17.0/how-to/audit-log.md +85 -0
- package/dist/docs/versioned/57.17.0/how-to/background-jobs.md +309 -0
- package/dist/docs/versioned/57.17.0/how-to/build-a-durable-workflow.md +232 -0
- package/dist/docs/versioned/57.17.0/how-to/build-admin-screens.md +152 -0
- package/dist/docs/versioned/57.17.0/how-to/build-for-web.md +69 -0
- package/dist/docs/versioned/57.17.0/how-to/call-external-apis.md +101 -0
- package/dist/docs/versioned/57.17.0/how-to/charts-and-dashboards.md +44 -0
- package/dist/docs/versioned/57.17.0/how-to/circleci.md +546 -0
- package/dist/docs/versioned/57.17.0/how-to/compare-chart-rendered-snapshots.md +44 -0
- package/dist/docs/versioned/57.17.0/how-to/configure-better-auth.md +604 -0
- package/dist/docs/versioned/57.17.0/how-to/connect-mcp-service-token.md +112 -0
- package/dist/docs/versioned/57.17.0/how-to/create-a-model.md +165 -0
- package/dist/docs/versioned/57.17.0/how-to/create-a-terreno-app.md +154 -0
- package/dist/docs/versioned/57.17.0/how-to/debug-with-mcp.md +160 -0
- package/dist/docs/versioned/57.17.0/how-to/deploy-backend-to-cloud-run.md +137 -0
- package/dist/docs/versioned/57.17.0/how-to/deploy-to-gcp.md +40 -0
- package/dist/docs/versioned/57.17.0/how-to/deploy-web-to-gcs-cdn.md +183 -0
- package/dist/docs/versioned/57.17.0/how-to/enable-mcp-oauth.md +134 -0
- package/dist/docs/versioned/57.17.0/how-to/expose-mcp-tools.md +241 -0
- package/dist/docs/versioned/57.17.0/how-to/generate-a-rest-cli.md +34 -0
- package/dist/docs/versioned/57.17.0/how-to/github-actions-ci.md +41 -0
- package/dist/docs/versioned/57.17.0/how-to/github-issue-lifecycle.md +84 -0
- package/dist/docs/versioned/57.17.0/how-to/in-app-notifications.md +147 -0
- package/dist/docs/versioned/57.17.0/how-to/inbound-webhooks.md +83 -0
- package/dist/docs/versioned/57.17.0/how-to/install-agent-skills.md +124 -0
- package/dist/docs/versioned/57.17.0/how-to/migrate-rtk-to-syncdb.md +521 -0
- package/dist/docs/versioned/57.17.0/how-to/observe-llm-calls.md +197 -0
- package/dist/docs/versioned/57.17.0/how-to/password-reset.md +82 -0
- package/dist/docs/versioned/57.17.0/how-to/preview-demo.md +23 -0
- package/dist/docs/versioned/57.17.0/how-to/product-announcements.md +160 -0
- package/dist/docs/versioned/57.17.0/how-to/rate-limiting.md +95 -0
- package/dist/docs/versioned/57.17.0/how-to/run-harness-on-multiple-instances.md +93 -0
- package/dist/docs/versioned/57.17.0/how-to/run-mongodb-migrations.md +127 -0
- package/dist/docs/versioned/57.17.0/how-to/run-tests-locally.md +174 -0
- package/dist/docs/versioned/57.17.0/how-to/seed-a-database.md +93 -0
- package/dist/docs/versioned/57.17.0/how-to/set-up-terreno-mcp.md +69 -0
- package/dist/docs/versioned/57.17.0/how-to/ship-a-new-task-version.md +76 -0
- package/dist/docs/versioned/57.17.0/how-to/test-ui-accessibility.md +35 -0
- package/dist/docs/versioned/57.17.0/how-to/track-upstream-expo.md +52 -0
- package/dist/docs/versioned/57.17.0/how-to/update-dependencies.md +63 -0
- package/dist/docs/versioned/57.17.0/how-to/upgrade-banner.md +172 -0
- package/dist/docs/versioned/57.17.0/how-to/upgrade-terreno.md +78 -0
- package/dist/docs/versioned/57.17.0/how-to/use-syncdb-correctly.md +111 -0
- package/dist/docs/versioned/57.17.0/how-to/websocket-integration.md +450 -0
- package/dist/docs/versioned/57.17.0/how-to/whats-new-banner.md +55 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/IP_TEMPLATE.md +52 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/ModularAPI.md +847 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/README.md +88 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/admin-improvements-research.md +136 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/admin-improvements.md +207 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/admin-only-research.md +262 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/admin-only.md +618 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/admin-script-runner.md +108 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/admin-scripts-durable-jobs.md +45 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/admin-ui-v2-django-parity.md +205 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/agent-ui-asks.md +690 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/agent-ui-blocks.md +391 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/agent-ui-rich-replies.md +359 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/agentic-sdlc-plugin.md +236 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/ai-agents-and-failover.md +238 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/ai-dev-loop-boost.md +175 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/ai-observability.md +667 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/announcements-surfaces.md +231 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/announcements.md +290 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/apierror-standard-error-redesign.md +333 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/app-mcp-server.md +320 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/b2b-platform-program.md +119 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/better-auth-strict-oauth-provider.md +81 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/billing-stripe.md +159 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/build-terreno-app-validation.md +154 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/can-as-permission-seam.md +134 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/charts-and-dashboards.md +247 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/collection-registry.md +133 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/comms-abstraction-research.md +48 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/comms-abstraction.md +413 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/comms-adapter-expo-push.md +107 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/comms-adapter-sendgrid.md +158 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/comms-adapter-twilio-sms.md +157 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/comms-adapter-twilio-verify.md +99 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/comms-admin-dashboard.md +181 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/compile-pipeline-dedup.md +134 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/consent-forms.md +421 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/create-terreno-app.md +177 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/dashboard-chart-parity.md +275 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/datatable-server-side-filtering.md +219 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/demo-workshop.md +219 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/deploy-to-gcp.md +172 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/deploy-to-vercel.md +213 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/deployment-foundation.md +133 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/describe-model-schema.md +124 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/design-blend-skill.md +191 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/docs-reference-coverage.md +142 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/docs-site-and-versioning.md +141 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/docs-tutorials-ai-first.md +146 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/durable-agent-harness.md +340 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/examples-demo-coverage.md +163 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/feature-flags-openfeature.md +548 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/feature-flags.md +314 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/fix-1594-cta-realtime-better-auth.md +41 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/fix-better-auth-sessions-and-config.md +80 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/framework-audit-log.md +247 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/gpt-chat-mascot.md +41 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/inbound-webhooks.md +307 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/infra-mcp-research.md +189 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/infra-mcp.md +269 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/job-queues.md +330 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/knip-cleanup.md +137 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/mcp-boost-parity.md +249 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/mcp-doc-sync-off-compile-path.md +98 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/mcp-service-tokens.md +282 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/migrate-admin-to-syncdb.md +211 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/migrate-cicd-to-circleci-research.md +127 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/migrate-cicd-to-circleci.md +288 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/model-router-actions.md +643 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/model-router-mcp.md +189 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/mongodb-migrations-tooling.md +254 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/native-module-baseline.md +105 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/notification-center.md +185 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/offline-mode.md +313 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/org-management-ui.md +362 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/orgs-and-teams.md +163 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/oss-governance-baseline.md +149 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/oss-launch-program.md +204 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/password-reset-and-email-verification.md +147 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/pluggable-database-sqlite-research.md +150 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/pluggable-database-sqlite.md +247 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/positioning-django-rails-universal.md +147 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/public-roadmap-github.md +205 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/rate-limiting.md +212 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/rbac-permissions.md +1022 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/remove-legacy-realtime.md +59 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/rtk-to-syncdb-migration-docs.md +220 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/rtk-token-source-web-bearer.md +246 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/support-agent.md +433 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/syncdb-codegen-research.md +137 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/syncdb-codegen.md +256 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/syncdb-local-first.md +640 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/syncdb-phase-c-design.md +426 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/terreno-langfuse-integration.md +150 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/terreno-syncdb-2.md +804 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/unified-mutation-executors.md +129 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/upgrade-banner.md +279 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/upgrade-guides-and-skill.md +167 -0
- package/dist/docs/versioned/57.17.0/implementationPlans/web-ssr-and-admin-spa.md +154 -0
- package/dist/docs/versioned/57.17.0/reference/README.md +44 -0
- package/dist/docs/versioned/57.17.0/reference/admin-backend.md +347 -0
- package/dist/docs/versioned/57.17.0/reference/admin-config.md +60 -0
- package/dist/docs/versioned/57.17.0/reference/admin-frontend.md +667 -0
- package/dist/docs/versioned/57.17.0/reference/admin-spa.md +150 -0
- package/dist/docs/versioned/57.17.0/reference/agent-ui-asks.md +1059 -0
- package/dist/docs/versioned/57.17.0/reference/ai-harness.md +2002 -0
- package/dist/docs/versioned/57.17.0/reference/ai.md +917 -0
- package/dist/docs/versioned/57.17.0/reference/announcement-release-packs.md +146 -0
- package/dist/docs/versioned/57.17.0/reference/announcements.md +183 -0
- package/dist/docs/versioned/57.17.0/reference/api.md +2429 -0
- package/dist/docs/versioned/57.17.0/reference/blocks.md +410 -0
- package/dist/docs/versioned/57.17.0/reference/cli.md +91 -0
- package/dist/docs/versioned/57.17.0/reference/comms.md +444 -0
- package/dist/docs/versioned/57.17.0/reference/components/README.mdx +121 -0
- package/dist/docs/versioned/57.17.0/reference/components/actionsheet.mdx +58 -0
- package/dist/docs/versioned/57.17.0/reference/components/addressfield.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/airequestexplorer.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/areachart.mdx +40 -0
- package/dist/docs/versioned/57.17.0/reference/components/askcard.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/attachmentpreview.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/badge.mdx +39 -0
- package/dist/docs/versioned/57.17.0/reference/components/barchart.mdx +40 -0
- package/dist/docs/versioned/57.17.0/reference/components/blocksplayground.mdx +37 -0
- package/dist/docs/versioned/57.17.0/reference/components/blocksview.mdx +37 -0
- package/dist/docs/versioned/57.17.0/reference/components/body.mdx +32 -0
- package/dist/docs/versioned/57.17.0/reference/components/boolean-field.mdx +36 -0
- package/dist/docs/versioned/57.17.0/reference/components/button.mdx +47 -0
- package/dist/docs/versioned/57.17.0/reference/components/card.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/chartcard.mdx +32 -0
- package/dist/docs/versioned/57.17.0/reference/components/checkbox.mdx +30 -0
- package/dist/docs/versioned/57.17.0/reference/components/conflictsheet.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/consentformscreen.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/custom-select-field.mdx +37 -0
- package/dist/docs/versioned/57.17.0/reference/components/dashboardgrid.mdx +30 -0
- package/dist/docs/versioned/57.17.0/reference/components/dashboardgriditem.mdx +29 -0
- package/dist/docs/versioned/57.17.0/reference/components/datatable.mdx +52 -0
- package/dist/docs/versioned/57.17.0/reference/components/date-time-field.mdx +50 -0
- package/dist/docs/versioned/57.17.0/reference/components/decimalrangeactionsheet.mdx +31 -0
- package/dist/docs/versioned/57.17.0/reference/components/dismissbutton.mdx +30 -0
- package/dist/docs/versioned/57.17.0/reference/components/donutchart.mdx +43 -0
- package/dist/docs/versioned/57.17.0/reference/components/draggablelist.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/dropdownpanel.mdx +54 -0
- package/dist/docs/versioned/57.17.0/reference/components/editablecard.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/email-field.mdx +43 -0
- package/dist/docs/versioned/57.17.0/reference/components/emoji-selector.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/errorboundary.mdx +28 -0
- package/dist/docs/versioned/57.17.0/reference/components/errorpage.mdx +28 -0
- package/dist/docs/versioned/57.17.0/reference/components/field.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/filepickerbutton.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/gptchat.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/gptmemorymodal.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/height-field.mdx +45 -0
- package/dist/docs/versioned/57.17.0/reference/components/htmlframe.mdx +29 -0
- package/dist/docs/versioned/57.17.0/reference/components/iconbutton.mdx +45 -0
- package/dist/docs/versioned/57.17.0/reference/components/image.mdx +41 -0
- package/dist/docs/versioned/57.17.0/reference/components/imagebackground.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/infomodalicon.mdx +31 -0
- package/dist/docs/versioned/57.17.0/reference/components/infotooltipbutton.mdx +28 -0
- package/dist/docs/versioned/57.17.0/reference/components/linechart.mdx +40 -0
- package/dist/docs/versioned/57.17.0/reference/components/loginscreen.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/markdown-editor-field.mdx +52 -0
- package/dist/docs/versioned/57.17.0/reference/components/markdowneditor.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/markdownview.mdx +39 -0
- package/dist/docs/versioned/57.17.0/reference/components/mobileaddressautocomplete.mdx +35 -0
- package/dist/docs/versioned/57.17.0/reference/components/multiselect-field.mdx +36 -0
- package/dist/docs/versioned/57.17.0/reference/components/number-field.mdx +46 -0
- package/dist/docs/versioned/57.17.0/reference/components/numberpickeractionsheet.mdx +31 -0
- package/dist/docs/versioned/57.17.0/reference/components/oauthbuttons.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/offlinebanner.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/page.mdx +47 -0
- package/dist/docs/versioned/57.17.0/reference/components/password-field.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/passwordrequirements.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/phone-number-field.mdx +44 -0
- package/dist/docs/versioned/57.17.0/reference/components/popover.mdx +44 -0
- package/dist/docs/versioned/57.17.0/reference/components/radio-field.mdx +31 -0
- package/dist/docs/versioned/57.17.0/reference/components/radio.mdx +27 -0
- package/dist/docs/versioned/57.17.0/reference/components/scorecard.mdx +34 -0
- package/dist/docs/versioned/57.17.0/reference/components/segmented-control.mdx +34 -0
- package/dist/docs/versioned/57.17.0/reference/components/select-field.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/signature-capture-field.mdx +41 -0
- package/dist/docs/versioned/57.17.0/reference/components/signature-field.mdx +35 -0
- package/dist/docs/versioned/57.17.0/reference/components/signature.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/signupscreen.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/simpleaskcard.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/simplecontent.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/slider.mdx +43 -0
- package/dist/docs/versioned/57.17.0/reference/components/socialloginbutton.mdx +34 -0
- package/dist/docs/versioned/57.17.0/reference/components/sparklinechart.mdx +31 -0
- package/dist/docs/versioned/57.17.0/reference/components/splitpage.mdx +50 -0
- package/dist/docs/versioned/57.17.0/reference/components/swiper.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/syncstatusbanner.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/tap-to-edit.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/text-area.mdx +52 -0
- package/dist/docs/versioned/57.17.0/reference/components/text-field.mdx +54 -0
- package/dist/docs/versioned/57.17.0/reference/components/typed-signature-field.mdx +37 -0
- package/dist/docs/versioned/57.17.0/reference/components/unifiedaddressautocompletefield.mdx +35 -0
- package/dist/docs/versioned/57.17.0/reference/components/upgraderequiredscreen.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/components/webaddressautocomplete.mdx +35 -0
- package/dist/docs/versioned/57.17.0/reference/components/whatsnewbanner.mdx +26 -0
- package/dist/docs/versioned/57.17.0/reference/create-terreno-app.md +44 -0
- package/dist/docs/versioned/57.17.0/reference/environment-variables.md +334 -0
- package/dist/docs/versioned/57.17.0/reference/feature-flags.md +304 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/README.md +901 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/APIError.md +145 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/AuditApp.md +101 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/BetterAuthApp.md +114 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/ConsentApp.md +91 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/DateOnly.md +179 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/ExecutorConflictError.md +192 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/McpOAuthFamilyRevokedError.md +31 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/MissingScopeResolverError.md +42 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/NotificationsApp.md +78 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +578 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/OrgsApp.md +78 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/RealtimeApp.md +120 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/SyncApp.md +66 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/TerrenoApp.md +352 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/classes/WebhooksApp.md +122 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/OrgQueryFilter.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/OwnerScope.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/addAuthRecoveryRoutes.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/addMcpOAuthRoutes.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/addMcpServiceTokenRoutes.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/addMeRoutes.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/addSyncRoutes.md +22 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/addTerrenoDevBrowserLogsRoute.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/adminBodyFieldsToStrip.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/adminBroadcastStream.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/applyBetterAuthPasswordResetToJwt.md +29 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/applyJwtPasswordResetToBetterAuth.md +29 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/applyOrganizationSettings.md +20 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/applyReadMask.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/applySyncMutation.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/applySyncMutationBatch.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/assertAllowed.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/assertCanWriteTargetUser.md +32 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/assertCanWriteUserIdentity.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/assertMigrationsAllowed.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/assertOrganizationEnabled.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/assertOrganizationSlugAvailable.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/assertWritableStream.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/auditActorIdFromRequest.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/auditEnqueueFromEnv.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/authorizeAdminBroadcastDocument.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/backfillAdmins.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/buildAdminWindowExecutorOptions.md +27 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/buildAuthorizationServerMetadata.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/buildNumericListQueryFieldSchema.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/buildProtectedResourceMetadata.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/buildSchemaCatalog.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/buildSnapshotScopeFilter.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/buildStringListQueryFieldSchema.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/canListAdminBroadcastScope.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/changeUserPassword.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/checkMigrationFiles.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/claimSyncSeqs.md +36 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/clearAdminBroadcastScopes.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/clearAdminWindowMutationScopes.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/clearMCPRegistry.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/clearRealtimeRegistry.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/clearSyncRegistry.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/compactEntryTombstones.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/compactTombstones.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/computeStableFrontier.md +22 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/configureNotificationService.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/confirmSyncSeqs.md +30 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createAccess.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createAuditEventModel.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createBetterAuthEmailHooks.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createBetterAuthValidator.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createCloudTasksAuditEnqueue.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createIsPermitted.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createLegacyJwtValidator.md +45 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createMemoryIdempotencyStore.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createNotificationService.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createOrganizationSettingsSchema.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createRbacAuditModel.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createRbacRoleModel.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createRequireAccess.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createRouteRateLimitMiddleware.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createSlackPrivateChannel.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/createSocketAuthMiddleware.md +45 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/defineScope.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/describeModel.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/describeModelForRouter.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/diffPermissionSets.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/diffSchemaCatalog.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/docMatchesMutationData.md +22 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/emailVerificationPlugin.md +20 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/emitAdminWindowMutationAudit.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/emitPayloadToAuthorizedRoom.md +47 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/emitSyncDeltaForChange.md +57 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/ensureSyncIndexes.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/ensureSyncModelIndexes.md +9 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/evictExpiredSyncMutationWindows.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/excludeArchivedPlugin.md +24 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/executeCreate.md +63 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/executeDelete.md +61 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/executeUpdate.md +77 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/exerciseReversibleMigrations.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/expandRolePermissions.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/extractAuthFromHeaders.md +20 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/extractUserFromHeaders.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/fieldDescriptionToOpenApiProperty.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/fieldDescriptionToZodType.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/findBetterAuthProvider.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/findOneOrNoneFor.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/findRegistryEntryByCollection.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/findSlackChannelByName.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/findSyncEntryByCollectionName.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/findSyncEntryByCollectionTag.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/findSyncEntryByModelName.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/fixMixedFields.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/flushAuditRecorderForTests.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/formatSlackUserMention.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/generateAllTools.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/generateInputSchema.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/generateMigration.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/generateToolDescription.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/generateToolsForEntry.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getAdminBroadcastScope.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getAdminWindowMutationScope.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getAllMCPTools.md +8 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getCompactedThroughSeq.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getDisallowedWriteKeys.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getMCPRegistry.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getMembershipModel.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getMigrationStatus.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getMongoClientFromMongoose.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getNotificationService.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getOpenApiSpecForModel.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getOrCreateSyncKeyMaterial.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getOrgContext.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getOrganizationModel.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getOrganizationSettingsSchema.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getProvidedBetterAuth.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getRealtimeRegistry.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getScopeField.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getSocketUser.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getSyncAppOptions.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getSyncRegistry.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/getUserOrganizationIds.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/hasMCPActions.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/hmacSignature.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/installSyncSocketHandlers.md +31 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/inviteSlackUsersToChannel.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isAdminBroadcastSocketRoom.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isAuditRecorderInstalled.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isBetterAuthProvider.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isEscapedRegexLiteral.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isExecutorConflictError.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isPermissionSubset.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isPlatformOrgActor.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isRbacUserModelName.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isVersionError.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/isWriteKeyForField.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/lastSchemaAfter.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/loadFullUserForSocket.md +22 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/loadMigrations.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/lookupSlackUserIdByEmail.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/maskEmailAddress.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/matchesQuery.md +26 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/maybeRecordAdminAudit.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/membershipOrgAdminPermissionSource.md +8 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/mergeMissingResourcePermissions.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/mergeStatements.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/modelDescriptionToAdminFields.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/modelDescriptionToOpenApiSpec.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/modelRouter.md +83 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/mountMCPServer.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/nestDottedFieldDescriptions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/normalizeSlackChannelName.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/normalizeSlackUserId.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/notificationsBeforeSend.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/omitUserRolesFromWriteBody.md +28 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/orgContextMiddleware.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/orgScopedPlugin.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/organizationIdImmutabilityPlugin.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/organizationSettingsOf.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/organizationSlugFromName.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/parseStreamKey.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/passthroughOrWrap.md +20 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/passthroughOrWrapWrite.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/patchExpressRouterUse.md +12 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/persistEnqueuedAuditEvent.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/persistRbacAuditToAuditEvent.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/postSlackMessage.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/prepareAdminWindowMutation.md +36 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/publicFrameworkModelName.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/rbacRouter.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/rbacUserPlugin.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/readPasswordFromBetterAuthResetRequest.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/recordAuditEvent.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/recordCompactedThroughSeq.md +22 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/recordRbacAudit.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/redactSensitiveRequestUrl.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/registerAdminBroadcastScope.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/registerAdminWindowMutationScope.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/registerMCPModel.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/registerMCPTool.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/registerOrganizationSettings.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/registerRealtime.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/registerSync.md +31 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/releaseSyncSeqs.md +27 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/requireAdminMiddleware.md +24 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/requireOAuthScope.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/reresolveSyncRoomsForSocket.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resetAuditRecorderForTests.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resetSyncMutationRateLimits.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resolveAdminBroadcastQueryFilter.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resolveBetterAuthAppUser.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resolveMcpOAuthOption.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resolveMcpServiceTokensOption.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resolveMigrationDir.md +26 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resolveOrgContext.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resolveStreamForDoc.md +28 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/resolveUserStreamsForEntry.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/revalidateSocketSession.md +24 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runActionPermissions.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runDownMigrations.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runMigrations.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runPostCreate.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runPostDelete.md +29 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runPostUpdate.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runSeedCli.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runSeeds.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runSessionRevalidationSweep.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runStartupMigrations.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runSyncBatch.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runSyncMutation.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/runWithOrgContext.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/scrubAdminFields.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/seedBetterAuthUser.md +24 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/sendEmailChangedNotice.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/sendMcpOAuthChallenge.md +24 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/sendToSlack.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/sendVerificationEmail.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/sendgridEventSignature.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/serializeSyncDoc.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/serializeSyncPayload.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/setPasswordForUser.md +34 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/signupUser.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/startChangeStreamWatcher.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/startSessionRevalidationSweep.md +26 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/stopChangeStreamWatcher.md +8 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/streamForScopeValue.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/stripAdminBodyFields.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/stripPrivilegedUserFields.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/stripeSignature.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/syncBetterAuthUser.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/syncMutationRateLimitWindowCount.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/syncPlugin.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/syncRoomForStream.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/trackSyncIndexCreation.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/twilioSignature.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/unionPermissionSets.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/updateMCPRegistryOptions.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/updateRealtimeRegistryOptions.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/updateSyncRegistryOptions.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/validateActionRequest.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/validatePermissionSet.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/validateSyncMutationBatch.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/verifyBetterAuthCredentialPassword.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/warnOnSyncScopesWithoutUserModel.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/withAdminWindowMutationRequestContext.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/withMigrationLock.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/functions/wrapActionResponse.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AccessCheckArgs.md +29 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AccessOptions.md +110 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AccessResult.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ActionMCPConfig.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminAccessConfig.md +50 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminAccessContext.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminAction.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminBroadcastScope.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminChangeEvent.md +45 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminConfig.md +171 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminContribution.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminCustomScreen.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFieldOverride.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFieldset.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterBoolean.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterChoice.md +39 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterDateRange.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterRef.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterText.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminHomeConfig.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminHomeSlots.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminHomeWidgetContribution.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminModelContribution.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminModelPermissions.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminScriptContribution.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminWindowMutationAuditEvent.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminWindowMutationScope.md +245 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminWindowMutationScopeHooks.md +131 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AppliedMigrationRecord.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AssertMigrationsAllowedOptions.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditAppOptions.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditEventDocument.md +87 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditEventModel.md +79 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditEventWrite.md +59 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditRecorderOptions.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthOptions.md +156 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthRecoveryMail.md +32 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthTokenDocument.md +57 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthTokenModel.md +171 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthenticatableSocket.md +49 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthorizedEmitEntry.md +34 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BackfillAdminsOptions.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BackfillAdminsResult.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +141 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BackgroundTaskModel.md +51 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BaseActionConfig.md +115 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthConfig.md +254 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthOAuthHandoffConfig.md +28 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthProvider.md +43 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthSeedUser.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthSocketOptions.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ChangeUserPasswordOptions.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/CloudTasksAuditEnqueueOptions.md +39 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/CollectionActionConfig.md +182 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/CompactTombstonesResult.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +51 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ConfigurationModel.md +166 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ConfigurationModelLike.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ConsentFormModel.md +79 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ConsentResponseModel.md +79 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/CreateSlackPrivateChannelOptions.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/DecodedRealtimeToken.md +45 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/DescribeModelForRouterOptions.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/DescribeModelOptions.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/EmailVerified.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ExecutorResult.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ExerciseReversibleMigrationsOptions.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ExerciseReversibleMigrationsResult.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/FieldDescription.md +71 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/FieldMask.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/FindSlackChannelOptions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/GenerateMigrationOptions.md +27 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/GenerateMigrationResult.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/GitHubAuthOptions.md +87 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/HasSetPassword.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/HmacSignatureOptions.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/InstanceActionConfig.md +186 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/InviteSlackUsersOptions.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/IsArchived.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/LoadedMigration.md +69 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/LookupSlackUserIdByEmailOptions.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPAuthContext.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPAuthResult.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPConfig.md +80 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPCustomTool.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPRegistryEntry.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPRequest.md +50 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPServerOptions.md +26 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPToolDefinition.md +43 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPToolResult.md +26 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthAuthorizationDocument.md +117 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthClientDocument.md +65 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthOptions.md +97 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthRevokedFamilyDocument.md +47 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthRoutesOptions.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthTokenDocument.md +101 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenDocument.md +75 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenIssueOptions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenModel.md +227 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenRoutesOptions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenStatics.md +183 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MembershipDocument.md +57 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MembershipModel.md +159 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MembershipStatics.md +123 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationContext.md +47 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationLogger.md +79 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationModule.md +47 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationStatus.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationStoreDoc.md +43 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelDescription.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterAccessOptions.md +29 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterAuditOptions.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterBuildContext.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterOptions.md +622 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterRegistration.md +49 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelSchemaCatalog.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/MongoClientLike.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationService.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationServiceOptions.md +25 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationsAppOptions.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationsBeforeSendContext.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationsBeforeSendResult.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationsCommsService.md +89 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +122 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OrgAuditEvent.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OrgScoped.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationDocument.md +63 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationModel.md +79 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationScopedUser.md +92 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationSettings.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationStatics.md +55 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OrgsAppOptions.md +49 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/OwnerScopeOptions.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/PermissionSource.md +52 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/PermissionSourceGrants.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/PostSlackMessageOptions.md +29 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/PostSlackMessageResult.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RateLimitLimits.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RateLimitOptions.md +71 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RateLimitRedisClient.md +51 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RateLimitStore.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacAuditDocument.md +61 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacAuditWrite.md +43 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacRoleDocument.md +59 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacRouterOptions.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacUser.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacUserPluginOptions.md +8 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeAppOptions.md +168 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeConfig.md +49 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeEvent.md +62 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +29 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeSocketLike.md +104 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +80 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RequestContext.md +78 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ResolveBetterAuthAppUserOptions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ResolvedBetterAuthAppUser.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ResolvedMcpOAuthOptions.md +67 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ResolvedOrgContext.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ResourceFieldViews.md +9 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ResourceScope.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RevalidatableSocket.md +105 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RoleDefinition.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RoleDiff.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RoleInput.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RoleManager.md +211 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RouteRateLimitOptions.md +58 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RunDownMigrationsOptions.md +47 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RunDownMigrationsResult.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RunMigrationsOptions.md +71 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/RunMigrationsResult.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaCatalog.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaDiff.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaDiffOp.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaFieldCatalog.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaIndexCatalog.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ScopeArgs.md +29 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/ScopeDefinition.md +57 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedChangeResult.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedCliOptions.md +77 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedCliResult.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedContext.md +67 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedModel.md +79 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedRunOptions.md +67 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedRunResult.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedStep.md +49 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SendToSlackOptions.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SendgridEventSignatureOptions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SessionRevalidationOptions.md +39 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SetPasswordAuditContext.md +9 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SlackChannelRef.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SlackInviteFailure.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SlackInviteResult.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SlackPrivateChannelResult.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SocketDataBag.md +37 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SocketWithDecodedToken.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/StartupMigrationsOption.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/StripeSignatureOptions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncAck.md +34 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncAppOptions.md +63 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncBatchRunResult.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncBetterAuthUserOptions.md +9 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncConfig.md +78 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncCounterDocument.md +39 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncDelta.md +76 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncEntitiesResponse.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncEntityPayload.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncKeyDocument.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutateBatchRequest.md +24 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutateBatchResponse.md +12 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutateRequest.md +58 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutationDocument.md +67 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutationRunResult.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncNack.md +44 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncPendingClaim.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncRegistryEntry.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncResyncHint.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncScopeBroadcast.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncScopeMoveDocument.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncScopeOwner.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncScopeTenant.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSeqClaim.md +28 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSeqConfirmResult.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSnapshotBatchRequest.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSnapshotBatchResponse.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSnapshotBatchStreamRequest.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSnapshotResponse.md +60 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSocketLike.md +104 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncStreamInfo.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncStreamsResponse.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncedDocumentFields.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/TerrenoAccess.md +182 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/TerrenoAppOptions.md +183 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/TerrenoPlugin.md +95 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/TwilioSignatureOptions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/User.md +54 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/UserModel.md +113 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/UserPermissionDiff.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/VersionConfigModel.md +51 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhookClaimArgs.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhookHandlerContext.md +23 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhookIdempotencyStore.md +31 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhookRouteOptions.md +59 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhooksAppOptions.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/interfaces/WithMigrationLockOptions.md +49 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/ActionScope.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AdminChangeType.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AdminFilter.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AdminFilterKind.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AdminModelAdminMap.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AnyTerrenoAccess.md +6 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuditEnqueue.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuditEventOperation.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuditEventSource.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuditEventVerb.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuthTokenType.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/BetterAuthOptionsOverride.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/BetterAuthPasswordCheck.md +4 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/ExecutorConcurrencyCheck.md +52 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/ExecutorDoc.md +9 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/FieldKind.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/FrameworkModelCompiledName.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/FrameworkModelPublicName.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/LoosePermissionRequest.md +9 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/MCPMethod.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/MCPToolArgs.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/McpOAuthAppOption.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/McpOAuthAuthorizationStatus.md +4 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/McpServiceTokensAppOption.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/MembershipMethods.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/MembershipRoleName.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/MembershipSchema.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/MembershipStatus.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/ModelQuery.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/ModelRouterAuditConfig.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/NotificationsBeforeSendChannel.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/ObservabilityRbacResource.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/OrganizationMethods.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/OrganizationSchema.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/PermissionRequest.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/PermissionSet.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/RbacAuditSink.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/RbacRoleModel.md +59 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/RequestCredential.md +10 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/ResourceScopes.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/RevalidationOutcome.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/RolePermissionSpec.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SchemaDiffKind.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SeedChange.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SeedMode.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SessionRevalidationHandle.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SocketAuthValidator.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/StaleOnFailurePolicy.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/Statements.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncBatchValidationOutcome.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutateBatchResult.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationMode.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationOperation.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationOutcome.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationScopeResolver.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationStatus.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncNackCode.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncRunStage.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncScope.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncScopeResolver.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncSubscribeMode.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/TerrenoAppAdminEvent.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/type-aliases/WebhookClaimResult.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_LIST_CHOICE_EMPTY_VALUE.md +4 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_MODEL_ACCESS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_PAGE_ACTION.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_PAGE_PERMISSION.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_PAGE_RESOURCE.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/AI_EXPERIMENT_ACTIONS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/AI_PROMPT_ACTIONS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/AI_REVIEW_ACTIONS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/AI_TRACE_ACTIONS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/AUDIT_SECRET_HEADER.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/AUTH_TOKEN_TTL.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/AuthToken.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_API_MAX.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_AUTH_MAX.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_SESSION_REVALIDATION_INTERVAL_MS.md +6 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_TOMBSTONE_RETENTION_DAYS.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_WINDOW_MS.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/FRAMEWORK_MODEL_PUBLIC_NAMES.md +61 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/IsPermitted.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MAX_ACTIVE_MCP_SERVICE_TOKENS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MAX_BULK_PATCH_IDS.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MAX_ENTITY_FETCH.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MAX_PASSWORD_LENGTH.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MAX_SYNC_COLLECTION_SUBSCRIPTIONS.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MAX_SYNC_MUTATIONS_PER_BATCH.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MAX_SYNC_MUTATIONS_PER_SECOND.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MAX_SYNC_SUBSCRIBE_ARRAY_LENGTH.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MCP_SERVICE_TOKEN_PREFIX.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MEMBERSHIP_ORG_ADMIN_PERMISSION_SOURCE_NAME.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MIGRATIONS_COLLECTION.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MIGRATION_FILENAME.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MIGRATION_LOCK_ID.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/MIGRATION_LOCK_TTL_MS.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/McpOAuthAuthorization.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/McpOAuthClient.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/McpOAuthRevokedFamily.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/McpOAuthToken.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/McpServiceToken.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/Membership.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/Notification.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/NotificationPreference.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/OBSERVABILITY_RBAC_RESOURCES.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ORGANIZATION_ACTIONS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ORGANIZATION_DISABLED_TITLE.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ORGANIZATION_ID_HEADER.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ORGANIZATION_ID_IMMUTABLE_TITLE.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/ORG_ADMIN_PERMISSION_BUNDLE.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/Organization.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/OrganizationQueryFilter.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/PENDING_CLAIM_LEASE_MS.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/PLATFORM_ORG_ROLE_NAMES.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/PRIVILEGED_USER_FIELDS.md +6 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/Permissions.md +117 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/READ_ACTIONS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/READ_ONLY_ROLE_PERMISSIONS.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/SCOPE_MOVE_MARKER_ATTEMPTS.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/SELF_SERVICE_BLOCKED_USER_FIELDS.md +9 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/SYNC_MUTATION_LEASE_MS.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/SYSTEM_FIELD_PATHS.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/SyncCounter.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/SyncKey.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/SyncMutation.md +12 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/SyncScopeMove.md +9 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/USER_CREDENTIAL_FIELDS.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/USER_IDENTITY_FIELDS.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/USER_UPDATE_IDENTITY_ACTION.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/fieldDescriptionToAdminMeta.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/gooseRestRouter.md +85 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/isOrgMemberPermission.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/organizationOperatorRole.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/requireAccess.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/terrenoDefaultRoles.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/terrenoStatementDescriptions.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/api/variables/terrenoStatements.md +99 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/README.md +165 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/canOpenAdminPage.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/completeBetterAuthOAuthHandoff.md +34 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/createBetterAuthClient.md +34 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/createOfflineMiddleware.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/createPermissionSelectors.md +49 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/createStorageAdapter.md +27 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/generateProfileEndpoints.md +35 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/getBaseQuery.md +27 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/getBetterAuthBearerToken.md +27 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/getRealtimeSocket.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/getTokenSource.md +7 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/hasPermission.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/installTerrenoDevConsoleLogger.md +8 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/isJwtTokenSource.md +13 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/isNetworkFetchError.md +14 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/realtimeDocument.md +41 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/realtimeList.md +47 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/repairCookieJar.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/selectLastUserId.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/setRealtimeSocket.md +32 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/setTokenSource.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/signInSocialWithHandoff.md +51 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/useFeatureFlags.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/useMCPTools.md +16 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/useTerrenoChat.md +18 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/functions/withCookieJarRepair.md +21 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/BetterAuthBearerStorage.md +54 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +68 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/MCPToolInfo.md +17 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +47 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/OfflineState.md +33 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/PermissionRequest.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/PermissionSet.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/QueuedMutation.md +66 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/RealtimeEvent.md +63 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/ResettableApi.md +15 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/UseMCPToolsOptions.md +19 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/UseMCPToolsResult.md +27 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +106 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/interfaces/UseTerrenoChatOptions.md +51 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/type-aliases/BetterAuthWebAuth.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/type-aliases/FlagsApi.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/ADMIN_PAGE_ACTION.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/ADMIN_PAGE_PERMISSION.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/ADMIN_PAGE_RESOURCE.md +3 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/DEFAULT_PERMISSION_API_REDUCER_PATH.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/RTK_REALTIME_DEPRECATION_MESSAGE.md +4 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/dropUnconfirmedMutations.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/emptySplitApi.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/jwtTokenSource.md +4 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/offlineSlice.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/resolveUnconfirmedMutations.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/selectPermissions.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/setLastUserId.md +1 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/useCan.md +11 -0
- package/dist/docs/versioned/57.17.0/reference/generated/rtk/variables/useSelectPermissions.md +5 -0
- package/dist/docs/versioned/57.17.0/reference/jobs.md +321 -0
- package/dist/docs/versioned/57.17.0/reference/legacy/rtk.md +583 -0
- package/dist/docs/versioned/57.17.0/reference/lifecycle-plugin.md +161 -0
- package/dist/docs/versioned/57.17.0/reference/mcp-server.md +672 -0
- package/dist/docs/versioned/57.17.0/reference/scan-plugin.md +169 -0
- package/dist/docs/versioned/57.17.0/reference/syncdb.md +777 -0
- package/dist/docs/versioned/57.17.0/reference/test.md +192 -0
- package/dist/docs/versioned/57.17.0/reference/ui-performance.md +256 -0
- package/dist/docs/versioned/57.17.0/reference/ui.md +1545 -0
- package/dist/docs/versioned/57.17.0/roadmap.md +9 -0
- package/dist/docs/versioned/57.17.0/scans/reduce-cold-compile-time/charter.md +129 -0
- package/dist/docs/versioned/57.17.0/scans/reduce-cold-compile-time/round-1-findings.md +62 -0
- package/dist/docs/versioned/57.17.0/superpowers/plans/2026-07-28-admin-mobile-navigation.md +97 -0
- package/dist/docs/versioned/57.17.0/superpowers/specs/2026-07-28-admin-mobile-navigation-design.md +36 -0
- package/dist/docs/versioned/57.17.0/tasks/README.md +53 -0
- package/dist/docs/versioned/57.17.0/tasks/admin-improvements.md +265 -0
- package/dist/docs/versioned/57.17.0/tasks/admin-only.md +223 -0
- package/dist/docs/versioned/57.17.0/tasks/admin-scripts-durable-jobs.md +10 -0
- package/dist/docs/versioned/57.17.0/tasks/agent-ui-asks.md +213 -0
- package/dist/docs/versioned/57.17.0/tasks/agent-ui-blocks.md +115 -0
- package/dist/docs/versioned/57.17.0/tasks/agent-ui-rich-replies.md +188 -0
- package/dist/docs/versioned/57.17.0/tasks/agentic-sdlc-plugin.md +57 -0
- package/dist/docs/versioned/57.17.0/tasks/ai-agents-and-failover.md +107 -0
- package/dist/docs/versioned/57.17.0/tasks/ai-observability.md +263 -0
- package/dist/docs/versioned/57.17.0/tasks/announcements-surfaces.md +101 -0
- package/dist/docs/versioned/57.17.0/tasks/announcements.md +173 -0
- package/dist/docs/versioned/57.17.0/tasks/app-mcp-server.md +199 -0
- package/dist/docs/versioned/57.17.0/tasks/better-auth-strict-oauth-provider.md +41 -0
- package/dist/docs/versioned/57.17.0/tasks/billing-stripe.md +75 -0
- package/dist/docs/versioned/57.17.0/tasks/can-as-permission-seam.md +32 -0
- package/dist/docs/versioned/57.17.0/tasks/charts-and-dashboards.md +120 -0
- package/dist/docs/versioned/57.17.0/tasks/collection-registry.md +42 -0
- package/dist/docs/versioned/57.17.0/tasks/comms-abstraction.md +96 -0
- package/dist/docs/versioned/57.17.0/tasks/comms-adapter-expo-push.md +29 -0
- package/dist/docs/versioned/57.17.0/tasks/comms-adapter-sendgrid.md +43 -0
- package/dist/docs/versioned/57.17.0/tasks/comms-adapter-twilio-sms.md +43 -0
- package/dist/docs/versioned/57.17.0/tasks/comms-adapter-twilio-verify.md +19 -0
- package/dist/docs/versioned/57.17.0/tasks/comms-admin-dashboard.md +52 -0
- package/dist/docs/versioned/57.17.0/tasks/compile-pipeline-dedup.md +61 -0
- package/dist/docs/versioned/57.17.0/tasks/consent-forms.md +195 -0
- package/dist/docs/versioned/57.17.0/tasks/create-terreno-app.md +82 -0
- package/dist/docs/versioned/57.17.0/tasks/dashboard-chart-parity.md +145 -0
- package/dist/docs/versioned/57.17.0/tasks/datatable-server-side-filtering.md +87 -0
- package/dist/docs/versioned/57.17.0/tasks/demo-workshop.md +150 -0
- package/dist/docs/versioned/57.17.0/tasks/deploy-to-gcp.md +100 -0
- package/dist/docs/versioned/57.17.0/tasks/deploy-to-vercel.md +116 -0
- package/dist/docs/versioned/57.17.0/tasks/deployment-foundation.md +92 -0
- package/dist/docs/versioned/57.17.0/tasks/describe-model-schema.md +37 -0
- package/dist/docs/versioned/57.17.0/tasks/docs-reference-coverage.md +93 -0
- package/dist/docs/versioned/57.17.0/tasks/docs-site-and-versioning.md +42 -0
- package/dist/docs/versioned/57.17.0/tasks/durable-agent-harness.md +185 -0
- package/dist/docs/versioned/57.17.0/tasks/examples-demo-coverage.md +219 -0
- package/dist/docs/versioned/57.17.0/tasks/feature-flags-openfeature.md +79 -0
- package/dist/docs/versioned/57.17.0/tasks/feature-flags.md +25 -0
- package/dist/docs/versioned/57.17.0/tasks/framework-audit-log.md +86 -0
- package/dist/docs/versioned/57.17.0/tasks/gpt-chat-mascot.md +13 -0
- package/dist/docs/versioned/57.17.0/tasks/inbound-webhooks.md +77 -0
- package/dist/docs/versioned/57.17.0/tasks/infra-mcp.md +43 -0
- package/dist/docs/versioned/57.17.0/tasks/job-queues.md +144 -0
- package/dist/docs/versioned/57.17.0/tasks/knip-cleanup.md +146 -0
- package/dist/docs/versioned/57.17.0/tasks/mcp-doc-sync-off-compile-path.md +30 -0
- package/dist/docs/versioned/57.17.0/tasks/mcp-service-tokens.md +132 -0
- package/dist/docs/versioned/57.17.0/tasks/migrate-admin-to-syncdb.md +209 -0
- package/dist/docs/versioned/57.17.0/tasks/migrate-cicd-to-circleci.md +236 -0
- package/dist/docs/versioned/57.17.0/tasks/model-router-actions.md +48 -0
- package/dist/docs/versioned/57.17.0/tasks/model-router-mcp.md +105 -0
- package/dist/docs/versioned/57.17.0/tasks/mongodb-migrations-tooling.md +107 -0
- package/dist/docs/versioned/57.17.0/tasks/native-module-baseline.md +42 -0
- package/dist/docs/versioned/57.17.0/tasks/notification-center.md +102 -0
- package/dist/docs/versioned/57.17.0/tasks/offline-mode.md +141 -0
- package/dist/docs/versioned/57.17.0/tasks/org-management-ui.md +107 -0
- package/dist/docs/versioned/57.17.0/tasks/orgs-and-teams.md +72 -0
- package/dist/docs/versioned/57.17.0/tasks/oss-governance-baseline.md +129 -0
- package/dist/docs/versioned/57.17.0/tasks/password-reset-and-email-verification.md +60 -0
- package/dist/docs/versioned/57.17.0/tasks/pluggable-database-sqlite.md +44 -0
- package/dist/docs/versioned/57.17.0/tasks/positioning-django-rails-universal.md +100 -0
- package/dist/docs/versioned/57.17.0/tasks/public-roadmap-github.md +112 -0
- package/dist/docs/versioned/57.17.0/tasks/rate-limiting.md +70 -0
- package/dist/docs/versioned/57.17.0/tasks/remove-legacy-realtime.md +59 -0
- package/dist/docs/versioned/57.17.0/tasks/rtk-to-syncdb-migration-docs.md +165 -0
- package/dist/docs/versioned/57.17.0/tasks/support-agent.md +230 -0
- package/dist/docs/versioned/57.17.0/tasks/syncdb-codegen.md +71 -0
- package/dist/docs/versioned/57.17.0/tasks/syncdb-local-first.md +434 -0
- package/dist/docs/versioned/57.17.0/tasks/ui-performance.md +134 -0
- package/dist/docs/versioned/57.17.0/tasks/unified-mutation-executors.md +35 -0
- package/dist/docs/versioned/57.17.0/tasks/upgrade-banner.md +75 -0
- package/dist/docs/versioned/57.17.0/tasks/upgrade-guides-and-skill.md +118 -0
- package/dist/docs/versioned/57.17.0/tutorials/README.md +7 -0
- package/dist/docs/versioned/57.17.0/tutorials/getting-started.md +84 -0
- package/dist/docs/versioned/next/explanation/deployment-baseline.md +4 -4
- package/dist/docs/versioned/next/explanation/roadmap-seed-issues.md +1 -1
- package/dist/docs/versioned/next/how-to/README.md +2 -0
- package/dist/docs/versioned/next/how-to/deploy-to-vercel.md +400 -0
- package/dist/docs/versioned/next/how-to/vercel-function-websockets.md +131 -0
- package/dist/docs/versioned/next/how-to/websocket-integration.md +24 -0
- package/dist/docs/versioned/next/implementationPlans/ai-agents-and-failover.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/deploy-to-vercel.md +21 -12
- package/dist/docs/versioned/next/implementationPlans/durable-agent-harness.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/job-queues.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/model-router-mcp.md +2 -2
- package/dist/docs/versioned/next/reference/ai.md +4 -2
- package/dist/docs/versioned/next/reference/environment-variables.md +12 -0
- package/dist/docs/versioned/next/reference/legacy/rtk.md +1 -0
- package/dist/docs/versioned/next/reference/syncdb.md +1 -0
- package/dist/docs/versioned/next/tasks/deploy-to-vercel.md +14 -14
- package/dist/docs/versioned/next/tasks/model-router-mcp.md +2 -2
- package/package.json +3 -3
- package/src/docs/versioned/57.17.0/README.md +72 -0
- package/src/docs/versioned/57.17.0/approval-rubric.md +171 -0
- package/src/docs/versioned/57.17.0/explanation/README.md +41 -0
- package/src/docs/versioned/57.17.0/explanation/admin-consent-migration.md +15 -0
- package/src/docs/versioned/57.17.0/explanation/admin-interface.md +88 -0
- package/src/docs/versioned/57.17.0/explanation/admin-plugin-frontend.md +33 -0
- package/src/docs/versioned/57.17.0/explanation/agent-ui-asks.md +300 -0
- package/src/docs/versioned/57.17.0/explanation/agent-ui-blocks.md +127 -0
- package/src/docs/versioned/57.17.0/explanation/ai-observability.md +101 -0
- package/src/docs/versioned/57.17.0/explanation/ai-workflows.md +296 -0
- package/src/docs/versioned/57.17.0/explanation/announcements/rtk-deprecation.md +29 -0
- package/src/docs/versioned/57.17.0/explanation/authentication.md +497 -0
- package/src/docs/versioned/57.17.0/explanation/charts.md +41 -0
- package/src/docs/versioned/57.17.0/explanation/configuration-system.md +418 -0
- package/src/docs/versioned/57.17.0/explanation/dependency-management.md +104 -0
- package/src/docs/versioned/57.17.0/explanation/deployment-architecture-gcp.md +106 -0
- package/src/docs/versioned/57.17.0/explanation/deployment-baseline.md +78 -0
- package/src/docs/versioned/57.17.0/explanation/durable-agent-harness.md +544 -0
- package/src/docs/versioned/57.17.0/explanation/example-coverage.md +48 -0
- package/src/docs/versioned/57.17.0/explanation/explicit-any-policy.md +90 -0
- package/src/docs/versioned/57.17.0/explanation/gcp-hosting-architecture.md +319 -0
- package/src/docs/versioned/57.17.0/explanation/local-first-data.md +65 -0
- package/src/docs/versioned/57.17.0/explanation/loop-engineering.md +194 -0
- package/src/docs/versioned/57.17.0/explanation/model-router-actions.md +206 -0
- package/src/docs/versioned/57.17.0/explanation/modular-api-design.md +236 -0
- package/src/docs/versioned/57.17.0/explanation/organizations.md +88 -0
- package/src/docs/versioned/57.17.0/explanation/planning-plugins.md +114 -0
- package/src/docs/versioned/57.17.0/explanation/positioning.md +164 -0
- package/src/docs/versioned/57.17.0/explanation/repository-settings.md +72 -0
- package/src/docs/versioned/57.17.0/explanation/roadmap-process.md +500 -0
- package/src/docs/versioned/57.17.0/explanation/roadmap-seed-issues.md +1382 -0
- package/src/docs/versioned/57.17.0/explanation/schema-metadata.md +60 -0
- package/src/docs/versioned/57.17.0/explanation/source-rules.md +57 -0
- package/src/docs/versioned/57.17.0/explanation/static-analysis.md +136 -0
- package/src/docs/versioned/57.17.0/explanation/test-isolation.md +42 -0
- package/src/docs/versioned/57.17.0/explanation/typescript-configuration.md +46 -0
- package/src/docs/versioned/57.17.0/explanation/versioning-policy.md +35 -0
- package/src/docs/versioned/57.17.0/how-to/README.md +74 -0
- package/src/docs/versioned/57.17.0/how-to/add-feature-flags.md +140 -0
- package/src/docs/versioned/57.17.0/how-to/add-github-oauth.md +349 -0
- package/src/docs/versioned/57.17.0/how-to/add-gpt-chat-mascot.md +92 -0
- package/src/docs/versioned/57.17.0/how-to/add-organizations.md +204 -0
- package/src/docs/versioned/57.17.0/how-to/admin-add-model.md +55 -0
- package/src/docs/versioned/57.17.0/how-to/admin-custom-home.md +34 -0
- package/src/docs/versioned/57.17.0/how-to/admin-custom-widget.md +45 -0
- package/src/docs/versioned/57.17.0/how-to/admin-import-prebuilt.md +31 -0
- package/src/docs/versioned/57.17.0/how-to/agent-ui-asks.md +730 -0
- package/src/docs/versioned/57.17.0/how-to/agent-ui-blocks.md +288 -0
- package/src/docs/versioned/57.17.0/how-to/ai-feature-development.md +161 -0
- package/src/docs/versioned/57.17.0/how-to/audit-log.md +85 -0
- package/src/docs/versioned/57.17.0/how-to/background-jobs.md +309 -0
- package/src/docs/versioned/57.17.0/how-to/build-a-durable-workflow.md +232 -0
- package/src/docs/versioned/57.17.0/how-to/build-admin-screens.md +152 -0
- package/src/docs/versioned/57.17.0/how-to/build-for-web.md +69 -0
- package/src/docs/versioned/57.17.0/how-to/call-external-apis.md +101 -0
- package/src/docs/versioned/57.17.0/how-to/charts-and-dashboards.md +44 -0
- package/src/docs/versioned/57.17.0/how-to/circleci.md +546 -0
- package/src/docs/versioned/57.17.0/how-to/compare-chart-rendered-snapshots.md +44 -0
- package/src/docs/versioned/57.17.0/how-to/configure-better-auth.md +604 -0
- package/src/docs/versioned/57.17.0/how-to/connect-mcp-service-token.md +112 -0
- package/src/docs/versioned/57.17.0/how-to/create-a-model.md +165 -0
- package/src/docs/versioned/57.17.0/how-to/create-a-terreno-app.md +154 -0
- package/src/docs/versioned/57.17.0/how-to/debug-with-mcp.md +160 -0
- package/src/docs/versioned/57.17.0/how-to/deploy-backend-to-cloud-run.md +137 -0
- package/src/docs/versioned/57.17.0/how-to/deploy-to-gcp.md +40 -0
- package/src/docs/versioned/57.17.0/how-to/deploy-web-to-gcs-cdn.md +183 -0
- package/src/docs/versioned/57.17.0/how-to/enable-mcp-oauth.md +134 -0
- package/src/docs/versioned/57.17.0/how-to/expose-mcp-tools.md +241 -0
- package/src/docs/versioned/57.17.0/how-to/generate-a-rest-cli.md +34 -0
- package/src/docs/versioned/57.17.0/how-to/github-actions-ci.md +41 -0
- package/src/docs/versioned/57.17.0/how-to/github-issue-lifecycle.md +84 -0
- package/src/docs/versioned/57.17.0/how-to/in-app-notifications.md +147 -0
- package/src/docs/versioned/57.17.0/how-to/inbound-webhooks.md +83 -0
- package/src/docs/versioned/57.17.0/how-to/install-agent-skills.md +124 -0
- package/src/docs/versioned/57.17.0/how-to/migrate-rtk-to-syncdb.md +521 -0
- package/src/docs/versioned/57.17.0/how-to/observe-llm-calls.md +197 -0
- package/src/docs/versioned/57.17.0/how-to/password-reset.md +82 -0
- package/src/docs/versioned/57.17.0/how-to/preview-demo.md +23 -0
- package/src/docs/versioned/57.17.0/how-to/product-announcements.md +160 -0
- package/src/docs/versioned/57.17.0/how-to/rate-limiting.md +95 -0
- package/src/docs/versioned/57.17.0/how-to/run-harness-on-multiple-instances.md +93 -0
- package/src/docs/versioned/57.17.0/how-to/run-mongodb-migrations.md +127 -0
- package/src/docs/versioned/57.17.0/how-to/run-tests-locally.md +174 -0
- package/src/docs/versioned/57.17.0/how-to/seed-a-database.md +93 -0
- package/src/docs/versioned/57.17.0/how-to/set-up-terreno-mcp.md +69 -0
- package/src/docs/versioned/57.17.0/how-to/ship-a-new-task-version.md +76 -0
- package/src/docs/versioned/57.17.0/how-to/test-ui-accessibility.md +35 -0
- package/src/docs/versioned/57.17.0/how-to/track-upstream-expo.md +52 -0
- package/src/docs/versioned/57.17.0/how-to/update-dependencies.md +63 -0
- package/src/docs/versioned/57.17.0/how-to/upgrade-banner.md +172 -0
- package/src/docs/versioned/57.17.0/how-to/upgrade-terreno.md +78 -0
- package/src/docs/versioned/57.17.0/how-to/use-syncdb-correctly.md +111 -0
- package/src/docs/versioned/57.17.0/how-to/websocket-integration.md +450 -0
- package/src/docs/versioned/57.17.0/how-to/whats-new-banner.md +55 -0
- package/src/docs/versioned/57.17.0/implementationPlans/IP_TEMPLATE.md +52 -0
- package/src/docs/versioned/57.17.0/implementationPlans/ModularAPI.md +847 -0
- package/src/docs/versioned/57.17.0/implementationPlans/README.md +88 -0
- package/src/docs/versioned/57.17.0/implementationPlans/admin-improvements-research.md +136 -0
- package/src/docs/versioned/57.17.0/implementationPlans/admin-improvements.md +207 -0
- package/src/docs/versioned/57.17.0/implementationPlans/admin-only-research.md +262 -0
- package/src/docs/versioned/57.17.0/implementationPlans/admin-only.md +618 -0
- package/src/docs/versioned/57.17.0/implementationPlans/admin-script-runner.md +108 -0
- package/src/docs/versioned/57.17.0/implementationPlans/admin-scripts-durable-jobs.md +45 -0
- package/src/docs/versioned/57.17.0/implementationPlans/admin-ui-v2-django-parity.md +205 -0
- package/src/docs/versioned/57.17.0/implementationPlans/agent-ui-asks.md +690 -0
- package/src/docs/versioned/57.17.0/implementationPlans/agent-ui-blocks.md +391 -0
- package/src/docs/versioned/57.17.0/implementationPlans/agent-ui-rich-replies.md +359 -0
- package/src/docs/versioned/57.17.0/implementationPlans/agentic-sdlc-plugin.md +236 -0
- package/src/docs/versioned/57.17.0/implementationPlans/ai-agents-and-failover.md +238 -0
- package/src/docs/versioned/57.17.0/implementationPlans/ai-dev-loop-boost.md +175 -0
- package/src/docs/versioned/57.17.0/implementationPlans/ai-observability.md +667 -0
- package/src/docs/versioned/57.17.0/implementationPlans/announcements-surfaces.md +231 -0
- package/src/docs/versioned/57.17.0/implementationPlans/announcements.md +290 -0
- package/src/docs/versioned/57.17.0/implementationPlans/apierror-standard-error-redesign.md +333 -0
- package/src/docs/versioned/57.17.0/implementationPlans/app-mcp-server.md +320 -0
- package/src/docs/versioned/57.17.0/implementationPlans/b2b-platform-program.md +119 -0
- package/src/docs/versioned/57.17.0/implementationPlans/better-auth-strict-oauth-provider.md +81 -0
- package/src/docs/versioned/57.17.0/implementationPlans/billing-stripe.md +159 -0
- package/src/docs/versioned/57.17.0/implementationPlans/build-terreno-app-validation.md +154 -0
- package/src/docs/versioned/57.17.0/implementationPlans/can-as-permission-seam.md +134 -0
- package/src/docs/versioned/57.17.0/implementationPlans/charts-and-dashboards.md +247 -0
- package/src/docs/versioned/57.17.0/implementationPlans/collection-registry.md +133 -0
- package/src/docs/versioned/57.17.0/implementationPlans/comms-abstraction-research.md +48 -0
- package/src/docs/versioned/57.17.0/implementationPlans/comms-abstraction.md +413 -0
- package/src/docs/versioned/57.17.0/implementationPlans/comms-adapter-expo-push.md +107 -0
- package/src/docs/versioned/57.17.0/implementationPlans/comms-adapter-sendgrid.md +158 -0
- package/src/docs/versioned/57.17.0/implementationPlans/comms-adapter-twilio-sms.md +157 -0
- package/src/docs/versioned/57.17.0/implementationPlans/comms-adapter-twilio-verify.md +99 -0
- package/src/docs/versioned/57.17.0/implementationPlans/comms-admin-dashboard.md +181 -0
- package/src/docs/versioned/57.17.0/implementationPlans/compile-pipeline-dedup.md +134 -0
- package/src/docs/versioned/57.17.0/implementationPlans/consent-forms.md +421 -0
- package/src/docs/versioned/57.17.0/implementationPlans/create-terreno-app.md +177 -0
- package/src/docs/versioned/57.17.0/implementationPlans/dashboard-chart-parity.md +275 -0
- package/src/docs/versioned/57.17.0/implementationPlans/datatable-server-side-filtering.md +219 -0
- package/src/docs/versioned/57.17.0/implementationPlans/demo-workshop.md +219 -0
- package/src/docs/versioned/57.17.0/implementationPlans/deploy-to-gcp.md +172 -0
- package/src/docs/versioned/57.17.0/implementationPlans/deploy-to-vercel.md +213 -0
- package/src/docs/versioned/57.17.0/implementationPlans/deployment-foundation.md +133 -0
- package/src/docs/versioned/57.17.0/implementationPlans/describe-model-schema.md +124 -0
- package/src/docs/versioned/57.17.0/implementationPlans/design-blend-skill.md +191 -0
- package/src/docs/versioned/57.17.0/implementationPlans/docs-reference-coverage.md +142 -0
- package/src/docs/versioned/57.17.0/implementationPlans/docs-site-and-versioning.md +141 -0
- package/src/docs/versioned/57.17.0/implementationPlans/docs-tutorials-ai-first.md +146 -0
- package/src/docs/versioned/57.17.0/implementationPlans/durable-agent-harness.md +340 -0
- package/src/docs/versioned/57.17.0/implementationPlans/examples-demo-coverage.md +163 -0
- package/src/docs/versioned/57.17.0/implementationPlans/feature-flags-openfeature.md +548 -0
- package/src/docs/versioned/57.17.0/implementationPlans/feature-flags.md +314 -0
- package/src/docs/versioned/57.17.0/implementationPlans/fix-1594-cta-realtime-better-auth.md +41 -0
- package/src/docs/versioned/57.17.0/implementationPlans/fix-better-auth-sessions-and-config.md +80 -0
- package/src/docs/versioned/57.17.0/implementationPlans/framework-audit-log.md +247 -0
- package/src/docs/versioned/57.17.0/implementationPlans/gpt-chat-mascot.md +41 -0
- package/src/docs/versioned/57.17.0/implementationPlans/inbound-webhooks.md +307 -0
- package/src/docs/versioned/57.17.0/implementationPlans/infra-mcp-research.md +189 -0
- package/src/docs/versioned/57.17.0/implementationPlans/infra-mcp.md +269 -0
- package/src/docs/versioned/57.17.0/implementationPlans/job-queues.md +330 -0
- package/src/docs/versioned/57.17.0/implementationPlans/knip-cleanup.md +137 -0
- package/src/docs/versioned/57.17.0/implementationPlans/mcp-boost-parity.md +249 -0
- package/src/docs/versioned/57.17.0/implementationPlans/mcp-doc-sync-off-compile-path.md +98 -0
- package/src/docs/versioned/57.17.0/implementationPlans/mcp-service-tokens.md +282 -0
- package/src/docs/versioned/57.17.0/implementationPlans/migrate-admin-to-syncdb.md +211 -0
- package/src/docs/versioned/57.17.0/implementationPlans/migrate-cicd-to-circleci-research.md +127 -0
- package/src/docs/versioned/57.17.0/implementationPlans/migrate-cicd-to-circleci.md +288 -0
- package/src/docs/versioned/57.17.0/implementationPlans/model-router-actions.md +643 -0
- package/src/docs/versioned/57.17.0/implementationPlans/model-router-mcp.md +189 -0
- package/src/docs/versioned/57.17.0/implementationPlans/mongodb-migrations-tooling.md +254 -0
- package/src/docs/versioned/57.17.0/implementationPlans/native-module-baseline.md +105 -0
- package/src/docs/versioned/57.17.0/implementationPlans/notification-center.md +185 -0
- package/src/docs/versioned/57.17.0/implementationPlans/offline-mode.md +313 -0
- package/src/docs/versioned/57.17.0/implementationPlans/org-management-ui.md +362 -0
- package/src/docs/versioned/57.17.0/implementationPlans/orgs-and-teams.md +163 -0
- package/src/docs/versioned/57.17.0/implementationPlans/oss-governance-baseline.md +149 -0
- package/src/docs/versioned/57.17.0/implementationPlans/oss-launch-program.md +204 -0
- package/src/docs/versioned/57.17.0/implementationPlans/password-reset-and-email-verification.md +147 -0
- package/src/docs/versioned/57.17.0/implementationPlans/pluggable-database-sqlite-research.md +150 -0
- package/src/docs/versioned/57.17.0/implementationPlans/pluggable-database-sqlite.md +247 -0
- package/src/docs/versioned/57.17.0/implementationPlans/positioning-django-rails-universal.md +147 -0
- package/src/docs/versioned/57.17.0/implementationPlans/public-roadmap-github.md +205 -0
- package/src/docs/versioned/57.17.0/implementationPlans/rate-limiting.md +212 -0
- package/src/docs/versioned/57.17.0/implementationPlans/rbac-permissions.md +1022 -0
- package/src/docs/versioned/57.17.0/implementationPlans/remove-legacy-realtime.md +59 -0
- package/src/docs/versioned/57.17.0/implementationPlans/rtk-to-syncdb-migration-docs.md +220 -0
- package/src/docs/versioned/57.17.0/implementationPlans/rtk-token-source-web-bearer.md +246 -0
- package/src/docs/versioned/57.17.0/implementationPlans/support-agent.md +433 -0
- package/src/docs/versioned/57.17.0/implementationPlans/syncdb-codegen-research.md +137 -0
- package/src/docs/versioned/57.17.0/implementationPlans/syncdb-codegen.md +256 -0
- package/src/docs/versioned/57.17.0/implementationPlans/syncdb-local-first.md +640 -0
- package/src/docs/versioned/57.17.0/implementationPlans/syncdb-phase-c-design.md +426 -0
- package/src/docs/versioned/57.17.0/implementationPlans/terreno-langfuse-integration.md +150 -0
- package/src/docs/versioned/57.17.0/implementationPlans/terreno-syncdb-2.md +804 -0
- package/src/docs/versioned/57.17.0/implementationPlans/unified-mutation-executors.md +129 -0
- package/src/docs/versioned/57.17.0/implementationPlans/upgrade-banner.md +279 -0
- package/src/docs/versioned/57.17.0/implementationPlans/upgrade-guides-and-skill.md +167 -0
- package/src/docs/versioned/57.17.0/implementationPlans/web-ssr-and-admin-spa.md +154 -0
- package/src/docs/versioned/57.17.0/reference/README.md +44 -0
- package/src/docs/versioned/57.17.0/reference/admin-backend.md +347 -0
- package/src/docs/versioned/57.17.0/reference/admin-config.md +60 -0
- package/src/docs/versioned/57.17.0/reference/admin-frontend.md +667 -0
- package/src/docs/versioned/57.17.0/reference/admin-spa.md +150 -0
- package/src/docs/versioned/57.17.0/reference/agent-ui-asks.md +1059 -0
- package/src/docs/versioned/57.17.0/reference/ai-harness.md +2002 -0
- package/src/docs/versioned/57.17.0/reference/ai.md +917 -0
- package/src/docs/versioned/57.17.0/reference/announcement-release-packs.md +146 -0
- package/src/docs/versioned/57.17.0/reference/announcements.md +183 -0
- package/src/docs/versioned/57.17.0/reference/api.md +2429 -0
- package/src/docs/versioned/57.17.0/reference/blocks.md +410 -0
- package/src/docs/versioned/57.17.0/reference/cli.md +91 -0
- package/src/docs/versioned/57.17.0/reference/comms.md +444 -0
- package/src/docs/versioned/57.17.0/reference/components/README.mdx +121 -0
- package/src/docs/versioned/57.17.0/reference/components/actionsheet.mdx +58 -0
- package/src/docs/versioned/57.17.0/reference/components/addressfield.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/airequestexplorer.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/areachart.mdx +40 -0
- package/src/docs/versioned/57.17.0/reference/components/askcard.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/attachmentpreview.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/badge.mdx +39 -0
- package/src/docs/versioned/57.17.0/reference/components/barchart.mdx +40 -0
- package/src/docs/versioned/57.17.0/reference/components/blocksplayground.mdx +37 -0
- package/src/docs/versioned/57.17.0/reference/components/blocksview.mdx +37 -0
- package/src/docs/versioned/57.17.0/reference/components/body.mdx +32 -0
- package/src/docs/versioned/57.17.0/reference/components/boolean-field.mdx +36 -0
- package/src/docs/versioned/57.17.0/reference/components/button.mdx +47 -0
- package/src/docs/versioned/57.17.0/reference/components/card.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/chartcard.mdx +32 -0
- package/src/docs/versioned/57.17.0/reference/components/checkbox.mdx +30 -0
- package/src/docs/versioned/57.17.0/reference/components/conflictsheet.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/consentformscreen.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/custom-select-field.mdx +37 -0
- package/src/docs/versioned/57.17.0/reference/components/dashboardgrid.mdx +30 -0
- package/src/docs/versioned/57.17.0/reference/components/dashboardgriditem.mdx +29 -0
- package/src/docs/versioned/57.17.0/reference/components/datatable.mdx +52 -0
- package/src/docs/versioned/57.17.0/reference/components/date-time-field.mdx +50 -0
- package/src/docs/versioned/57.17.0/reference/components/decimalrangeactionsheet.mdx +31 -0
- package/src/docs/versioned/57.17.0/reference/components/dismissbutton.mdx +30 -0
- package/src/docs/versioned/57.17.0/reference/components/donutchart.mdx +43 -0
- package/src/docs/versioned/57.17.0/reference/components/draggablelist.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/dropdownpanel.mdx +54 -0
- package/src/docs/versioned/57.17.0/reference/components/editablecard.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/email-field.mdx +43 -0
- package/src/docs/versioned/57.17.0/reference/components/emoji-selector.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/errorboundary.mdx +28 -0
- package/src/docs/versioned/57.17.0/reference/components/errorpage.mdx +28 -0
- package/src/docs/versioned/57.17.0/reference/components/field.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/filepickerbutton.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/gptchat.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/gptmemorymodal.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/height-field.mdx +45 -0
- package/src/docs/versioned/57.17.0/reference/components/htmlframe.mdx +29 -0
- package/src/docs/versioned/57.17.0/reference/components/iconbutton.mdx +45 -0
- package/src/docs/versioned/57.17.0/reference/components/image.mdx +41 -0
- package/src/docs/versioned/57.17.0/reference/components/imagebackground.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/infomodalicon.mdx +31 -0
- package/src/docs/versioned/57.17.0/reference/components/infotooltipbutton.mdx +28 -0
- package/src/docs/versioned/57.17.0/reference/components/linechart.mdx +40 -0
- package/src/docs/versioned/57.17.0/reference/components/loginscreen.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/markdown-editor-field.mdx +52 -0
- package/src/docs/versioned/57.17.0/reference/components/markdowneditor.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/markdownview.mdx +39 -0
- package/src/docs/versioned/57.17.0/reference/components/mobileaddressautocomplete.mdx +35 -0
- package/src/docs/versioned/57.17.0/reference/components/multiselect-field.mdx +36 -0
- package/src/docs/versioned/57.17.0/reference/components/number-field.mdx +46 -0
- package/src/docs/versioned/57.17.0/reference/components/numberpickeractionsheet.mdx +31 -0
- package/src/docs/versioned/57.17.0/reference/components/oauthbuttons.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/offlinebanner.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/page.mdx +47 -0
- package/src/docs/versioned/57.17.0/reference/components/password-field.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/passwordrequirements.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/phone-number-field.mdx +44 -0
- package/src/docs/versioned/57.17.0/reference/components/popover.mdx +44 -0
- package/src/docs/versioned/57.17.0/reference/components/radio-field.mdx +31 -0
- package/src/docs/versioned/57.17.0/reference/components/radio.mdx +27 -0
- package/src/docs/versioned/57.17.0/reference/components/scorecard.mdx +34 -0
- package/src/docs/versioned/57.17.0/reference/components/segmented-control.mdx +34 -0
- package/src/docs/versioned/57.17.0/reference/components/select-field.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/signature-capture-field.mdx +41 -0
- package/src/docs/versioned/57.17.0/reference/components/signature-field.mdx +35 -0
- package/src/docs/versioned/57.17.0/reference/components/signature.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/signupscreen.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/simpleaskcard.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/simplecontent.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/slider.mdx +43 -0
- package/src/docs/versioned/57.17.0/reference/components/socialloginbutton.mdx +34 -0
- package/src/docs/versioned/57.17.0/reference/components/sparklinechart.mdx +31 -0
- package/src/docs/versioned/57.17.0/reference/components/splitpage.mdx +50 -0
- package/src/docs/versioned/57.17.0/reference/components/swiper.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/syncstatusbanner.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/tap-to-edit.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/text-area.mdx +52 -0
- package/src/docs/versioned/57.17.0/reference/components/text-field.mdx +54 -0
- package/src/docs/versioned/57.17.0/reference/components/typed-signature-field.mdx +37 -0
- package/src/docs/versioned/57.17.0/reference/components/unifiedaddressautocompletefield.mdx +35 -0
- package/src/docs/versioned/57.17.0/reference/components/upgraderequiredscreen.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/components/webaddressautocomplete.mdx +35 -0
- package/src/docs/versioned/57.17.0/reference/components/whatsnewbanner.mdx +26 -0
- package/src/docs/versioned/57.17.0/reference/create-terreno-app.md +44 -0
- package/src/docs/versioned/57.17.0/reference/environment-variables.md +334 -0
- package/src/docs/versioned/57.17.0/reference/feature-flags.md +304 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/README.md +901 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/APIError.md +145 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/AuditApp.md +101 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/BetterAuthApp.md +114 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/ConsentApp.md +91 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/DateOnly.md +179 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/ExecutorConflictError.md +192 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/McpOAuthFamilyRevokedError.md +31 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/MissingScopeResolverError.md +42 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/NotificationsApp.md +78 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +578 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/OrgsApp.md +78 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/RealtimeApp.md +120 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/SyncApp.md +66 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/TerrenoApp.md +352 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/classes/WebhooksApp.md +122 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/OrgQueryFilter.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/OwnerScope.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/addAuthRecoveryRoutes.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/addMcpOAuthRoutes.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/addMcpServiceTokenRoutes.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/addMeRoutes.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/addSyncRoutes.md +22 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/addTerrenoDevBrowserLogsRoute.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/adminBodyFieldsToStrip.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/adminBroadcastStream.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/applyBetterAuthPasswordResetToJwt.md +29 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/applyJwtPasswordResetToBetterAuth.md +29 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/applyOrganizationSettings.md +20 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/applyReadMask.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/applySyncMutation.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/applySyncMutationBatch.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/assertAllowed.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/assertCanWriteTargetUser.md +32 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/assertCanWriteUserIdentity.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/assertMigrationsAllowed.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/assertOrganizationEnabled.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/assertOrganizationSlugAvailable.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/assertWritableStream.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/auditActorIdFromRequest.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/auditEnqueueFromEnv.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/authorizeAdminBroadcastDocument.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/backfillAdmins.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/buildAdminWindowExecutorOptions.md +27 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/buildAuthorizationServerMetadata.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/buildNumericListQueryFieldSchema.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/buildProtectedResourceMetadata.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/buildSchemaCatalog.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/buildSnapshotScopeFilter.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/buildStringListQueryFieldSchema.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/canListAdminBroadcastScope.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/changeUserPassword.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/checkMigrationFiles.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/claimSyncSeqs.md +36 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/clearAdminBroadcastScopes.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/clearAdminWindowMutationScopes.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/clearMCPRegistry.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/clearRealtimeRegistry.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/clearSyncRegistry.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/compactEntryTombstones.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/compactTombstones.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/computeStableFrontier.md +22 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/configureNotificationService.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/confirmSyncSeqs.md +30 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createAccess.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createAuditEventModel.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createBetterAuthEmailHooks.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createBetterAuthValidator.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createCloudTasksAuditEnqueue.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createIsPermitted.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createLegacyJwtValidator.md +45 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createMemoryIdempotencyStore.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createNotificationService.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createOrganizationSettingsSchema.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createRbacAuditModel.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createRbacRoleModel.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createRequireAccess.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createRouteRateLimitMiddleware.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createSlackPrivateChannel.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/createSocketAuthMiddleware.md +45 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/defineScope.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/describeModel.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/describeModelForRouter.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/diffPermissionSets.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/diffSchemaCatalog.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/docMatchesMutationData.md +22 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/emailVerificationPlugin.md +20 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/emitAdminWindowMutationAudit.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/emitPayloadToAuthorizedRoom.md +47 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/emitSyncDeltaForChange.md +57 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/ensureSyncIndexes.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/ensureSyncModelIndexes.md +9 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/evictExpiredSyncMutationWindows.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/excludeArchivedPlugin.md +24 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/executeCreate.md +63 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/executeDelete.md +61 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/executeUpdate.md +77 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/exerciseReversibleMigrations.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/expandRolePermissions.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/extractAuthFromHeaders.md +20 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/extractUserFromHeaders.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/fieldDescriptionToOpenApiProperty.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/fieldDescriptionToZodType.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/findBetterAuthProvider.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/findOneOrNoneFor.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/findRegistryEntryByCollection.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/findSlackChannelByName.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/findSyncEntryByCollectionName.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/findSyncEntryByCollectionTag.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/findSyncEntryByModelName.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/fixMixedFields.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/flushAuditRecorderForTests.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/formatSlackUserMention.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/generateAllTools.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/generateInputSchema.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/generateMigration.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/generateToolDescription.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/generateToolsForEntry.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getAdminBroadcastScope.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getAdminWindowMutationScope.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getAllMCPTools.md +8 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getCompactedThroughSeq.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getDisallowedWriteKeys.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getMCPRegistry.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getMembershipModel.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getMigrationStatus.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getMongoClientFromMongoose.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getNotificationService.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getOpenApiSpecForModel.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getOrCreateSyncKeyMaterial.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getOrgContext.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getOrganizationModel.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getOrganizationSettingsSchema.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getProvidedBetterAuth.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getRealtimeRegistry.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getScopeField.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getSocketUser.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getSyncAppOptions.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getSyncRegistry.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/getUserOrganizationIds.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/hasMCPActions.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/hmacSignature.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/installSyncSocketHandlers.md +31 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/inviteSlackUsersToChannel.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isAdminBroadcastSocketRoom.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isAuditRecorderInstalled.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isBetterAuthProvider.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isEscapedRegexLiteral.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isExecutorConflictError.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isPermissionSubset.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isPlatformOrgActor.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isRbacUserModelName.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isVersionError.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/isWriteKeyForField.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/lastSchemaAfter.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/loadFullUserForSocket.md +22 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/loadMigrations.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/lookupSlackUserIdByEmail.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/maskEmailAddress.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/matchesQuery.md +26 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/maybeRecordAdminAudit.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/membershipOrgAdminPermissionSource.md +8 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/mergeMissingResourcePermissions.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/mergeStatements.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/modelDescriptionToAdminFields.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/modelDescriptionToOpenApiSpec.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/modelRouter.md +83 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/mountMCPServer.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/nestDottedFieldDescriptions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/normalizeSlackChannelName.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/normalizeSlackUserId.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/notificationsBeforeSend.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/omitUserRolesFromWriteBody.md +28 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/orgContextMiddleware.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/orgScopedPlugin.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/organizationIdImmutabilityPlugin.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/organizationSettingsOf.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/organizationSlugFromName.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/parseStreamKey.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/passthroughOrWrap.md +20 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/passthroughOrWrapWrite.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/patchExpressRouterUse.md +12 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/persistEnqueuedAuditEvent.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/persistRbacAuditToAuditEvent.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/postSlackMessage.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/prepareAdminWindowMutation.md +36 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/publicFrameworkModelName.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/rbacRouter.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/rbacUserPlugin.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/readPasswordFromBetterAuthResetRequest.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/recordAuditEvent.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/recordCompactedThroughSeq.md +22 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/recordRbacAudit.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/redactSensitiveRequestUrl.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/registerAdminBroadcastScope.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/registerAdminWindowMutationScope.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/registerMCPModel.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/registerMCPTool.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/registerOrganizationSettings.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/registerRealtime.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/registerSync.md +31 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/releaseSyncSeqs.md +27 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/requireAdminMiddleware.md +24 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/requireOAuthScope.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/reresolveSyncRoomsForSocket.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resetAuditRecorderForTests.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resetSyncMutationRateLimits.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resolveAdminBroadcastQueryFilter.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resolveBetterAuthAppUser.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resolveMcpOAuthOption.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resolveMcpServiceTokensOption.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resolveMigrationDir.md +26 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resolveOrgContext.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resolveStreamForDoc.md +28 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/resolveUserStreamsForEntry.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/revalidateSocketSession.md +24 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runActionPermissions.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runDownMigrations.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runMigrations.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runPostCreate.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runPostDelete.md +29 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runPostUpdate.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runSeedCli.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runSeeds.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runSessionRevalidationSweep.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runStartupMigrations.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runSyncBatch.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runSyncMutation.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/runWithOrgContext.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/scrubAdminFields.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/seedBetterAuthUser.md +24 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/sendEmailChangedNotice.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/sendMcpOAuthChallenge.md +24 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/sendToSlack.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/sendVerificationEmail.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/sendgridEventSignature.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/serializeSyncDoc.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/serializeSyncPayload.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/setPasswordForUser.md +34 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/signupUser.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/startChangeStreamWatcher.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/startSessionRevalidationSweep.md +26 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/stopChangeStreamWatcher.md +8 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/streamForScopeValue.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/stripAdminBodyFields.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/stripPrivilegedUserFields.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/stripeSignature.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/syncBetterAuthUser.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/syncMutationRateLimitWindowCount.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/syncPlugin.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/syncRoomForStream.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/trackSyncIndexCreation.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/twilioSignature.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/unionPermissionSets.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/updateMCPRegistryOptions.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/updateRealtimeRegistryOptions.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/updateSyncRegistryOptions.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/validateActionRequest.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/validatePermissionSet.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/validateSyncMutationBatch.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/verifyBetterAuthCredentialPassword.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/warnOnSyncScopesWithoutUserModel.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/withAdminWindowMutationRequestContext.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/withMigrationLock.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/functions/wrapActionResponse.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AccessCheckArgs.md +29 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AccessOptions.md +110 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AccessResult.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ActionMCPConfig.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminAccessConfig.md +50 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminAccessContext.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminAction.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminBroadcastScope.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminChangeEvent.md +45 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminConfig.md +171 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminContribution.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminCustomScreen.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFieldOverride.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFieldset.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterBoolean.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterChoice.md +39 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterDateRange.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterRef.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminFilterText.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminHomeConfig.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminHomeSlots.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminHomeWidgetContribution.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminModelContribution.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminModelPermissions.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminScriptContribution.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminWindowMutationAuditEvent.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminWindowMutationScope.md +245 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AdminWindowMutationScopeHooks.md +131 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AppliedMigrationRecord.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AssertMigrationsAllowedOptions.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditAppOptions.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditEventDocument.md +87 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditEventModel.md +79 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditEventWrite.md +59 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuditRecorderOptions.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthOptions.md +156 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthRecoveryMail.md +32 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthTokenDocument.md +57 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthTokenModel.md +171 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthenticatableSocket.md +49 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/AuthorizedEmitEntry.md +34 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BackfillAdminsOptions.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BackfillAdminsResult.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +141 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BackgroundTaskModel.md +51 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BaseActionConfig.md +115 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthConfig.md +254 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthOAuthHandoffConfig.md +28 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthProvider.md +43 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthSeedUser.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/BetterAuthSocketOptions.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ChangeUserPasswordOptions.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/CloudTasksAuditEnqueueOptions.md +39 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/CollectionActionConfig.md +182 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/CompactTombstonesResult.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +51 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ConfigurationModel.md +166 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ConfigurationModelLike.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ConsentFormModel.md +79 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ConsentResponseModel.md +79 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/CreateSlackPrivateChannelOptions.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/DecodedRealtimeToken.md +45 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/DescribeModelForRouterOptions.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/DescribeModelOptions.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/EmailVerified.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ExecutorResult.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ExerciseReversibleMigrationsOptions.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ExerciseReversibleMigrationsResult.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/FieldDescription.md +71 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/FieldMask.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/FindSlackChannelOptions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/GenerateMigrationOptions.md +27 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/GenerateMigrationResult.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/GitHubAuthOptions.md +87 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/HasSetPassword.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/HmacSignatureOptions.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/InstanceActionConfig.md +186 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/InviteSlackUsersOptions.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/IsArchived.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/LoadedMigration.md +69 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/LookupSlackUserIdByEmailOptions.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPAuthContext.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPAuthResult.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPConfig.md +80 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPCustomTool.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPRegistryEntry.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPRequest.md +50 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPServerOptions.md +26 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPToolDefinition.md +43 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MCPToolResult.md +26 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthAuthorizationDocument.md +117 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthClientDocument.md +65 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthOptions.md +97 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthRevokedFamilyDocument.md +47 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthRoutesOptions.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpOAuthTokenDocument.md +101 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenDocument.md +75 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenIssueOptions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenModel.md +227 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenRoutesOptions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/McpServiceTokenStatics.md +183 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MembershipDocument.md +57 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MembershipModel.md +159 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MembershipStatics.md +123 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationContext.md +47 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationLogger.md +79 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationModule.md +47 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationStatus.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MigrationStoreDoc.md +43 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelDescription.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterAccessOptions.md +29 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterAuditOptions.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterBuildContext.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterOptions.md +622 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelRouterRegistration.md +49 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ModelSchemaCatalog.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/MongoClientLike.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationService.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationServiceOptions.md +25 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationsAppOptions.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationsBeforeSendContext.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationsBeforeSendResult.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/NotificationsCommsService.md +89 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +122 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OrgAuditEvent.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OrgScoped.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationDocument.md +63 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationModel.md +79 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationScopedUser.md +92 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationSettings.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OrganizationStatics.md +55 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OrgsAppOptions.md +49 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/OwnerScopeOptions.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/PermissionSource.md +52 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/PermissionSourceGrants.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/PostSlackMessageOptions.md +29 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/PostSlackMessageResult.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RateLimitLimits.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RateLimitOptions.md +71 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RateLimitRedisClient.md +51 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RateLimitStore.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacAuditDocument.md +61 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacAuditWrite.md +43 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacRoleDocument.md +59 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacRouterOptions.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacUser.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RbacUserPluginOptions.md +8 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeAppOptions.md +168 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeConfig.md +49 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeEvent.md +62 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +29 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RealtimeSocketLike.md +104 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +80 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RequestContext.md +78 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ResolveBetterAuthAppUserOptions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ResolvedBetterAuthAppUser.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ResolvedMcpOAuthOptions.md +67 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ResolvedOrgContext.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ResourceFieldViews.md +9 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ResourceScope.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RevalidatableSocket.md +105 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RoleDefinition.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RoleDiff.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RoleInput.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RoleManager.md +211 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RouteRateLimitOptions.md +58 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RunDownMigrationsOptions.md +47 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RunDownMigrationsResult.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RunMigrationsOptions.md +71 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/RunMigrationsResult.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaCatalog.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaDiff.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaDiffOp.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaFieldCatalog.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SchemaIndexCatalog.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ScopeArgs.md +29 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/ScopeDefinition.md +57 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedChangeResult.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedCliOptions.md +77 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedCliResult.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedContext.md +67 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedModel.md +79 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedRunOptions.md +67 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedRunResult.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SeedStep.md +49 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SendToSlackOptions.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SendgridEventSignatureOptions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SessionRevalidationOptions.md +39 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SetPasswordAuditContext.md +9 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SlackChannelRef.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SlackInviteFailure.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SlackInviteResult.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SlackPrivateChannelResult.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SocketDataBag.md +37 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SocketWithDecodedToken.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/StartupMigrationsOption.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/StripeSignatureOptions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncAck.md +34 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncAppOptions.md +63 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncBatchRunResult.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncBetterAuthUserOptions.md +9 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncConfig.md +78 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncCounterDocument.md +39 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncDelta.md +76 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncEntitiesResponse.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncEntityPayload.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncKeyDocument.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutateBatchRequest.md +24 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutateBatchResponse.md +12 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutateRequest.md +58 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutationDocument.md +67 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncMutationRunResult.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncNack.md +44 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncPendingClaim.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncRegistryEntry.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncResyncHint.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncScopeBroadcast.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncScopeMoveDocument.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncScopeOwner.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncScopeTenant.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSeqClaim.md +28 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSeqConfirmResult.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSnapshotBatchRequest.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSnapshotBatchResponse.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSnapshotBatchStreamRequest.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSnapshotResponse.md +60 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncSocketLike.md +104 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncStreamInfo.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncStreamsResponse.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/SyncedDocumentFields.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/TerrenoAccess.md +182 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/TerrenoAppOptions.md +183 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/TerrenoPlugin.md +95 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/TwilioSignatureOptions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/User.md +54 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/UserModel.md +113 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/UserPermissionDiff.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/VersionConfigModel.md +51 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhookClaimArgs.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhookHandlerContext.md +23 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhookIdempotencyStore.md +31 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhookRouteOptions.md +59 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/WebhooksAppOptions.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/interfaces/WithMigrationLockOptions.md +49 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/ActionScope.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AdminChangeType.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AdminFilter.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AdminFilterKind.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AdminModelAdminMap.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AnyTerrenoAccess.md +6 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuditEnqueue.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuditEventOperation.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuditEventSource.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuditEventVerb.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/AuthTokenType.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/BetterAuthOptionsOverride.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/BetterAuthPasswordCheck.md +4 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/ExecutorConcurrencyCheck.md +52 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/ExecutorDoc.md +9 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/FieldKind.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/FrameworkModelCompiledName.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/FrameworkModelPublicName.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/LoosePermissionRequest.md +9 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/MCPMethod.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/MCPToolArgs.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/McpOAuthAppOption.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/McpOAuthAuthorizationStatus.md +4 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/McpServiceTokensAppOption.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/MembershipMethods.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/MembershipRoleName.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/MembershipSchema.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/MembershipStatus.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/ModelQuery.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/ModelRouterAuditConfig.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/NotificationsBeforeSendChannel.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/ObservabilityRbacResource.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/OrganizationMethods.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/OrganizationSchema.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/PermissionRequest.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/PermissionSet.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/RbacAuditSink.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/RbacRoleModel.md +59 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/RequestCredential.md +10 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/ResourceScopes.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/RevalidationOutcome.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/RolePermissionSpec.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SchemaDiffKind.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SeedChange.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SeedMode.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SessionRevalidationHandle.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SocketAuthValidator.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/StaleOnFailurePolicy.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/Statements.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncBatchValidationOutcome.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutateBatchResult.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationMode.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationOperation.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationOutcome.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationScopeResolver.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncMutationStatus.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncNackCode.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncRunStage.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncScope.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncScopeResolver.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/SyncSubscribeMode.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/TerrenoAppAdminEvent.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/type-aliases/WebhookClaimResult.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_LIST_CHOICE_EMPTY_VALUE.md +4 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_MODEL_ACCESS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_PAGE_ACTION.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_PAGE_PERMISSION.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ADMIN_PAGE_RESOURCE.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/AI_EXPERIMENT_ACTIONS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/AI_PROMPT_ACTIONS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/AI_REVIEW_ACTIONS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/AI_TRACE_ACTIONS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/AUDIT_SECRET_HEADER.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/AUTH_TOKEN_TTL.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/AuthToken.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_API_MAX.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_AUTH_MAX.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_SESSION_REVALIDATION_INTERVAL_MS.md +6 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_TOMBSTONE_RETENTION_DAYS.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/DEFAULT_WINDOW_MS.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/FRAMEWORK_MODEL_PUBLIC_NAMES.md +61 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/IsPermitted.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MAX_ACTIVE_MCP_SERVICE_TOKENS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MAX_BULK_PATCH_IDS.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MAX_ENTITY_FETCH.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MAX_PASSWORD_LENGTH.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MAX_SYNC_COLLECTION_SUBSCRIPTIONS.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MAX_SYNC_MUTATIONS_PER_BATCH.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MAX_SYNC_MUTATIONS_PER_SECOND.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MAX_SYNC_SUBSCRIBE_ARRAY_LENGTH.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MCP_SERVICE_TOKEN_PREFIX.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MEMBERSHIP_ORG_ADMIN_PERMISSION_SOURCE_NAME.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MIGRATIONS_COLLECTION.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MIGRATION_FILENAME.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MIGRATION_LOCK_ID.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/MIGRATION_LOCK_TTL_MS.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/McpOAuthAuthorization.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/McpOAuthClient.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/McpOAuthRevokedFamily.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/McpOAuthToken.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/McpServiceToken.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/Membership.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/Notification.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/NotificationPreference.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/OBSERVABILITY_RBAC_RESOURCES.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ORGANIZATION_ACTIONS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ORGANIZATION_DISABLED_TITLE.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ORGANIZATION_ID_HEADER.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ORGANIZATION_ID_IMMUTABLE_TITLE.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/ORG_ADMIN_PERMISSION_BUNDLE.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/Organization.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/OrganizationQueryFilter.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/PENDING_CLAIM_LEASE_MS.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/PLATFORM_ORG_ROLE_NAMES.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/PRIVILEGED_USER_FIELDS.md +6 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/Permissions.md +117 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/READ_ACTIONS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/READ_ONLY_ROLE_PERMISSIONS.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/SCOPE_MOVE_MARKER_ATTEMPTS.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/SELF_SERVICE_BLOCKED_USER_FIELDS.md +9 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/SYNC_MUTATION_LEASE_MS.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/SYSTEM_FIELD_PATHS.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/SyncCounter.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/SyncKey.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/SyncMutation.md +12 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/SyncScopeMove.md +9 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/USER_CREDENTIAL_FIELDS.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/USER_IDENTITY_FIELDS.md +5 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/USER_UPDATE_IDENTITY_ACTION.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/fieldDescriptionToAdminMeta.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/gooseRestRouter.md +85 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/isOrgMemberPermission.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/organizationOperatorRole.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/requireAccess.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/terrenoDefaultRoles.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/terrenoStatementDescriptions.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/api/variables/terrenoStatements.md +99 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/README.md +165 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/canOpenAdminPage.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/completeBetterAuthOAuthHandoff.md +34 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/createBetterAuthClient.md +34 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/createOfflineMiddleware.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/createPermissionSelectors.md +49 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/createStorageAdapter.md +27 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/generateProfileEndpoints.md +35 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/getBaseQuery.md +27 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/getBetterAuthBearerToken.md +27 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/getRealtimeSocket.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/getTokenSource.md +7 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/hasPermission.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/installTerrenoDevConsoleLogger.md +8 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/isJwtTokenSource.md +13 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/isNetworkFetchError.md +14 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/realtimeDocument.md +41 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/realtimeList.md +47 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/repairCookieJar.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/selectLastUserId.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/setRealtimeSocket.md +32 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/setTokenSource.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/signInSocialWithHandoff.md +51 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/useFeatureFlags.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/useMCPTools.md +16 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/useTerrenoChat.md +18 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/functions/withCookieJarRepair.md +21 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/BetterAuthBearerStorage.md +54 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +68 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/MCPToolInfo.md +17 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +47 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/OfflineState.md +33 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/PermissionRequest.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/PermissionSet.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/QueuedMutation.md +66 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/RealtimeEvent.md +63 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/ResettableApi.md +15 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/UseMCPToolsOptions.md +19 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/UseMCPToolsResult.md +27 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +106 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/interfaces/UseTerrenoChatOptions.md +51 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/type-aliases/BetterAuthWebAuth.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/type-aliases/FlagsApi.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/ADMIN_PAGE_ACTION.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/ADMIN_PAGE_PERMISSION.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/ADMIN_PAGE_RESOURCE.md +3 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/DEFAULT_PERMISSION_API_REDUCER_PATH.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/RTK_REALTIME_DEPRECATION_MESSAGE.md +4 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/dropUnconfirmedMutations.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/emptySplitApi.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/jwtTokenSource.md +4 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/offlineSlice.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/resolveUnconfirmedMutations.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/selectPermissions.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/setLastUserId.md +1 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/useCan.md +11 -0
- package/src/docs/versioned/57.17.0/reference/generated/rtk/variables/useSelectPermissions.md +5 -0
- package/src/docs/versioned/57.17.0/reference/jobs.md +321 -0
- package/src/docs/versioned/57.17.0/reference/legacy/rtk.md +583 -0
- package/src/docs/versioned/57.17.0/reference/lifecycle-plugin.md +161 -0
- package/src/docs/versioned/57.17.0/reference/mcp-server.md +672 -0
- package/src/docs/versioned/57.17.0/reference/scan-plugin.md +169 -0
- package/src/docs/versioned/57.17.0/reference/syncdb.md +777 -0
- package/src/docs/versioned/57.17.0/reference/test.md +192 -0
- package/src/docs/versioned/57.17.0/reference/ui-performance.md +256 -0
- package/src/docs/versioned/57.17.0/reference/ui.md +1545 -0
- package/src/docs/versioned/57.17.0/roadmap.md +9 -0
- package/src/docs/versioned/57.17.0/scans/reduce-cold-compile-time/charter.md +129 -0
- package/src/docs/versioned/57.17.0/scans/reduce-cold-compile-time/round-1-findings.md +62 -0
- package/src/docs/versioned/57.17.0/superpowers/plans/2026-07-28-admin-mobile-navigation.md +97 -0
- package/src/docs/versioned/57.17.0/superpowers/specs/2026-07-28-admin-mobile-navigation-design.md +36 -0
- package/src/docs/versioned/57.17.0/tasks/README.md +53 -0
- package/src/docs/versioned/57.17.0/tasks/admin-improvements.md +265 -0
- package/src/docs/versioned/57.17.0/tasks/admin-only.md +223 -0
- package/src/docs/versioned/57.17.0/tasks/admin-scripts-durable-jobs.md +10 -0
- package/src/docs/versioned/57.17.0/tasks/agent-ui-asks.md +213 -0
- package/src/docs/versioned/57.17.0/tasks/agent-ui-blocks.md +115 -0
- package/src/docs/versioned/57.17.0/tasks/agent-ui-rich-replies.md +188 -0
- package/src/docs/versioned/57.17.0/tasks/agentic-sdlc-plugin.md +57 -0
- package/src/docs/versioned/57.17.0/tasks/ai-agents-and-failover.md +107 -0
- package/src/docs/versioned/57.17.0/tasks/ai-observability.md +263 -0
- package/src/docs/versioned/57.17.0/tasks/announcements-surfaces.md +101 -0
- package/src/docs/versioned/57.17.0/tasks/announcements.md +173 -0
- package/src/docs/versioned/57.17.0/tasks/app-mcp-server.md +199 -0
- package/src/docs/versioned/57.17.0/tasks/better-auth-strict-oauth-provider.md +41 -0
- package/src/docs/versioned/57.17.0/tasks/billing-stripe.md +75 -0
- package/src/docs/versioned/57.17.0/tasks/can-as-permission-seam.md +32 -0
- package/src/docs/versioned/57.17.0/tasks/charts-and-dashboards.md +120 -0
- package/src/docs/versioned/57.17.0/tasks/collection-registry.md +42 -0
- package/src/docs/versioned/57.17.0/tasks/comms-abstraction.md +96 -0
- package/src/docs/versioned/57.17.0/tasks/comms-adapter-expo-push.md +29 -0
- package/src/docs/versioned/57.17.0/tasks/comms-adapter-sendgrid.md +43 -0
- package/src/docs/versioned/57.17.0/tasks/comms-adapter-twilio-sms.md +43 -0
- package/src/docs/versioned/57.17.0/tasks/comms-adapter-twilio-verify.md +19 -0
- package/src/docs/versioned/57.17.0/tasks/comms-admin-dashboard.md +52 -0
- package/src/docs/versioned/57.17.0/tasks/compile-pipeline-dedup.md +61 -0
- package/src/docs/versioned/57.17.0/tasks/consent-forms.md +195 -0
- package/src/docs/versioned/57.17.0/tasks/create-terreno-app.md +82 -0
- package/src/docs/versioned/57.17.0/tasks/dashboard-chart-parity.md +145 -0
- package/src/docs/versioned/57.17.0/tasks/datatable-server-side-filtering.md +87 -0
- package/src/docs/versioned/57.17.0/tasks/demo-workshop.md +150 -0
- package/src/docs/versioned/57.17.0/tasks/deploy-to-gcp.md +100 -0
- package/src/docs/versioned/57.17.0/tasks/deploy-to-vercel.md +116 -0
- package/src/docs/versioned/57.17.0/tasks/deployment-foundation.md +92 -0
- package/src/docs/versioned/57.17.0/tasks/describe-model-schema.md +37 -0
- package/src/docs/versioned/57.17.0/tasks/docs-reference-coverage.md +93 -0
- package/src/docs/versioned/57.17.0/tasks/docs-site-and-versioning.md +42 -0
- package/src/docs/versioned/57.17.0/tasks/durable-agent-harness.md +185 -0
- package/src/docs/versioned/57.17.0/tasks/examples-demo-coverage.md +219 -0
- package/src/docs/versioned/57.17.0/tasks/feature-flags-openfeature.md +79 -0
- package/src/docs/versioned/57.17.0/tasks/feature-flags.md +25 -0
- package/src/docs/versioned/57.17.0/tasks/framework-audit-log.md +86 -0
- package/src/docs/versioned/57.17.0/tasks/gpt-chat-mascot.md +13 -0
- package/src/docs/versioned/57.17.0/tasks/inbound-webhooks.md +77 -0
- package/src/docs/versioned/57.17.0/tasks/infra-mcp.md +43 -0
- package/src/docs/versioned/57.17.0/tasks/job-queues.md +144 -0
- package/src/docs/versioned/57.17.0/tasks/knip-cleanup.md +146 -0
- package/src/docs/versioned/57.17.0/tasks/mcp-doc-sync-off-compile-path.md +30 -0
- package/src/docs/versioned/57.17.0/tasks/mcp-service-tokens.md +132 -0
- package/src/docs/versioned/57.17.0/tasks/migrate-admin-to-syncdb.md +209 -0
- package/src/docs/versioned/57.17.0/tasks/migrate-cicd-to-circleci.md +236 -0
- package/src/docs/versioned/57.17.0/tasks/model-router-actions.md +48 -0
- package/src/docs/versioned/57.17.0/tasks/model-router-mcp.md +105 -0
- package/src/docs/versioned/57.17.0/tasks/mongodb-migrations-tooling.md +107 -0
- package/src/docs/versioned/57.17.0/tasks/native-module-baseline.md +42 -0
- package/src/docs/versioned/57.17.0/tasks/notification-center.md +102 -0
- package/src/docs/versioned/57.17.0/tasks/offline-mode.md +141 -0
- package/src/docs/versioned/57.17.0/tasks/org-management-ui.md +107 -0
- package/src/docs/versioned/57.17.0/tasks/orgs-and-teams.md +72 -0
- package/src/docs/versioned/57.17.0/tasks/oss-governance-baseline.md +129 -0
- package/src/docs/versioned/57.17.0/tasks/password-reset-and-email-verification.md +60 -0
- package/src/docs/versioned/57.17.0/tasks/pluggable-database-sqlite.md +44 -0
- package/src/docs/versioned/57.17.0/tasks/positioning-django-rails-universal.md +100 -0
- package/src/docs/versioned/57.17.0/tasks/public-roadmap-github.md +112 -0
- package/src/docs/versioned/57.17.0/tasks/rate-limiting.md +70 -0
- package/src/docs/versioned/57.17.0/tasks/remove-legacy-realtime.md +59 -0
- package/src/docs/versioned/57.17.0/tasks/rtk-to-syncdb-migration-docs.md +165 -0
- package/src/docs/versioned/57.17.0/tasks/support-agent.md +230 -0
- package/src/docs/versioned/57.17.0/tasks/syncdb-codegen.md +71 -0
- package/src/docs/versioned/57.17.0/tasks/syncdb-local-first.md +434 -0
- package/src/docs/versioned/57.17.0/tasks/ui-performance.md +134 -0
- package/src/docs/versioned/57.17.0/tasks/unified-mutation-executors.md +35 -0
- package/src/docs/versioned/57.17.0/tasks/upgrade-banner.md +75 -0
- package/src/docs/versioned/57.17.0/tasks/upgrade-guides-and-skill.md +118 -0
- package/src/docs/versioned/57.17.0/tutorials/README.md +7 -0
- package/src/docs/versioned/57.17.0/tutorials/getting-started.md +84 -0
- package/src/docs/versioned/next/explanation/deployment-baseline.md +4 -4
- package/src/docs/versioned/next/explanation/roadmap-seed-issues.md +1 -1
- package/src/docs/versioned/next/how-to/README.md +2 -0
- package/src/docs/versioned/next/how-to/deploy-to-vercel.md +400 -0
- package/src/docs/versioned/next/how-to/vercel-function-websockets.md +131 -0
- package/src/docs/versioned/next/how-to/websocket-integration.md +24 -0
- package/src/docs/versioned/next/implementationPlans/ai-agents-and-failover.md +1 -1
- package/src/docs/versioned/next/implementationPlans/deploy-to-vercel.md +21 -12
- package/src/docs/versioned/next/implementationPlans/durable-agent-harness.md +1 -1
- package/src/docs/versioned/next/implementationPlans/job-queues.md +1 -1
- package/src/docs/versioned/next/implementationPlans/model-router-mcp.md +2 -2
- package/src/docs/versioned/next/reference/ai.md +4 -2
- package/src/docs/versioned/next/reference/environment-variables.md +12 -0
- package/src/docs/versioned/next/reference/legacy/rtk.md +1 -0
- package/src/docs/versioned/next/reference/syncdb.md +1 -0
- package/src/docs/versioned/next/tasks/deploy-to-vercel.md +14 -14
- package/src/docs/versioned/next/tasks/model-router-mcp.md +2 -2
- package/dist/docs/versioned/0.30.0/README.md +0 -29
- package/dist/docs/versioned/0.30.0/explanation/README.md +0 -14
- package/dist/docs/versioned/0.30.0/explanation/ai-workflows.md +0 -270
- package/dist/docs/versioned/0.30.0/explanation/authentication.md +0 -438
- package/dist/docs/versioned/0.30.0/explanation/configuration-system.md +0 -428
- package/dist/docs/versioned/0.30.0/explanation/dependency-management.md +0 -192
- package/dist/docs/versioned/0.30.0/explanation/explicit-any-policy.md +0 -88
- package/dist/docs/versioned/0.30.0/explanation/gcp-hosting-architecture.md +0 -319
- package/dist/docs/versioned/0.30.0/explanation/model-router-actions.md +0 -156
- package/dist/docs/versioned/0.30.0/explanation/modular-api-design.md +0 -228
- package/dist/docs/versioned/0.30.0/how-to/README.md +0 -21
- package/dist/docs/versioned/0.30.0/how-to/add-feature-flags.md +0 -115
- package/dist/docs/versioned/0.30.0/how-to/add-github-oauth.md +0 -316
- package/dist/docs/versioned/0.30.0/how-to/call-external-apis.md +0 -101
- package/dist/docs/versioned/0.30.0/how-to/configure-better-auth.md +0 -296
- package/dist/docs/versioned/0.30.0/how-to/create-a-model.md +0 -165
- package/dist/docs/versioned/0.30.0/how-to/deploy-to-gcp.md +0 -244
- package/dist/docs/versioned/0.30.0/how-to/upgrade-banner.md +0 -172
- package/dist/docs/versioned/0.30.0/how-to/websocket-integration.md +0 -416
- package/dist/docs/versioned/0.30.0/implementationPlans/IP_TEMPLATE.md +0 -47
- package/dist/docs/versioned/0.30.0/implementationPlans/ModularAPI.md +0 -844
- package/dist/docs/versioned/0.30.0/implementationPlans/PLAN_INDEX.md +0 -75
- package/dist/docs/versioned/0.30.0/implementationPlans/README.md +0 -42
- package/dist/docs/versioned/0.30.0/implementationPlans/admin-improvements.md +0 -577
- package/dist/docs/versioned/0.30.0/implementationPlans/admin-only-research.md +0 -258
- package/dist/docs/versioned/0.30.0/implementationPlans/admin-only.md +0 -616
- package/dist/docs/versioned/0.30.0/implementationPlans/admin-script-runner.md +0 -107
- package/dist/docs/versioned/0.30.0/implementationPlans/admin-ui-v2-django-parity.md +0 -204
- package/dist/docs/versioned/0.30.0/implementationPlans/agentic-sdlc-plugin.md +0 -177
- package/dist/docs/versioned/0.30.0/implementationPlans/ai-dev-loop-boost.md +0 -174
- package/dist/docs/versioned/0.30.0/implementationPlans/apierror-standard-error-redesign.md +0 -332
- package/dist/docs/versioned/0.30.0/implementationPlans/build-terreno-app-validation.md +0 -153
- package/dist/docs/versioned/0.30.0/implementationPlans/consent-forms.md +0 -417
- package/dist/docs/versioned/0.30.0/implementationPlans/deploy-to-gcp.md +0 -166
- package/dist/docs/versioned/0.30.0/implementationPlans/deploy-to-vercel.md +0 -167
- package/dist/docs/versioned/0.30.0/implementationPlans/deployment-foundation.md +0 -132
- package/dist/docs/versioned/0.30.0/implementationPlans/design-blend-skill.md +0 -188
- package/dist/docs/versioned/0.30.0/implementationPlans/docs-reference-coverage.md +0 -141
- package/dist/docs/versioned/0.30.0/implementationPlans/docs-site-and-versioning.md +0 -138
- package/dist/docs/versioned/0.30.0/implementationPlans/docs-tutorials-ai-first.md +0 -145
- package/dist/docs/versioned/0.30.0/implementationPlans/examples-demo-coverage.md +0 -162
- package/dist/docs/versioned/0.30.0/implementationPlans/feature-flags-openfeature.md +0 -545
- package/dist/docs/versioned/0.30.0/implementationPlans/feature-flags.md +0 -310
- package/dist/docs/versioned/0.30.0/implementationPlans/mcp-boost-parity.md +0 -246
- package/dist/docs/versioned/0.30.0/implementationPlans/model-router-actions.md +0 -639
- package/dist/docs/versioned/0.30.0/implementationPlans/model-router-mcp.md +0 -186
- package/dist/docs/versioned/0.30.0/implementationPlans/offline-mode.md +0 -311
- package/dist/docs/versioned/0.30.0/implementationPlans/oss-governance-baseline.md +0 -148
- package/dist/docs/versioned/0.30.0/implementationPlans/oss-launch-program.md +0 -195
- package/dist/docs/versioned/0.30.0/implementationPlans/positioning-django-rails-universal.md +0 -146
- package/dist/docs/versioned/0.30.0/implementationPlans/public-roadmap-github.md +0 -204
- package/dist/docs/versioned/0.30.0/implementationPlans/rbac-permissions.md +0 -982
- package/dist/docs/versioned/0.30.0/implementationPlans/rtk-to-syncdb-migration-docs.md +0 -169
- package/dist/docs/versioned/0.30.0/implementationPlans/syncdb-local-first.md +0 -591
- package/dist/docs/versioned/0.30.0/implementationPlans/terreno-langfuse-integration.md +0 -145
- package/dist/docs/versioned/0.30.0/implementationPlans/upgrade-banner.md +0 -275
- package/dist/docs/versioned/0.30.0/implementationPlans/upgrade-guides-and-skill.md +0 -166
- package/dist/docs/versioned/0.30.0/implementationPlans/web-ssr-and-admin-spa.md +0 -153
- package/dist/docs/versioned/0.30.0/reference/README.md +0 -22
- package/dist/docs/versioned/0.30.0/reference/admin-backend.md +0 -122
- package/dist/docs/versioned/0.30.0/reference/admin-frontend.md +0 -205
- package/dist/docs/versioned/0.30.0/reference/api.md +0 -1276
- package/dist/docs/versioned/0.30.0/reference/components/README.mdx +0 -68
- package/dist/docs/versioned/0.30.0/reference/components/addressfield.mdx +0 -26
- package/dist/docs/versioned/0.30.0/reference/components/badge.mdx +0 -38
- package/dist/docs/versioned/0.30.0/reference/components/boolean-field.mdx +0 -36
- package/dist/docs/versioned/0.30.0/reference/components/button.mdx +0 -44
- package/dist/docs/versioned/0.30.0/reference/components/card.mdx +0 -26
- package/dist/docs/versioned/0.30.0/reference/components/checkbox.mdx +0 -30
- package/dist/docs/versioned/0.30.0/reference/components/consentformscreen.mdx +0 -26
- package/dist/docs/versioned/0.30.0/reference/components/custom-select-field.mdx +0 -37
- package/dist/docs/versioned/0.30.0/reference/components/datatable.mdx +0 -44
- package/dist/docs/versioned/0.30.0/reference/components/date-time-field.mdx +0 -49
- package/dist/docs/versioned/0.30.0/reference/components/email-field.mdx +0 -43
- package/dist/docs/versioned/0.30.0/reference/components/emoji-selector.mdx +0 -26
- package/dist/docs/versioned/0.30.0/reference/components/field.mdx +0 -26
- package/dist/docs/versioned/0.30.0/reference/components/height-field.mdx +0 -45
- package/dist/docs/versioned/0.30.0/reference/components/iconbutton.mdx +0 -44
- package/dist/docs/versioned/0.30.0/reference/components/markdown-editor-field.mdx +0 -50
- package/dist/docs/versioned/0.30.0/reference/components/markdownview.mdx +0 -37
- package/dist/docs/versioned/0.30.0/reference/components/multiselect-field.mdx +0 -36
- package/dist/docs/versioned/0.30.0/reference/components/number-field.mdx +0 -46
- package/dist/docs/versioned/0.30.0/reference/components/page.mdx +0 -46
- package/dist/docs/versioned/0.30.0/reference/components/password-field.mdx +0 -26
- package/dist/docs/versioned/0.30.0/reference/components/phone-number-field.mdx +0 -44
- package/dist/docs/versioned/0.30.0/reference/components/radio-field.mdx +0 -31
- package/dist/docs/versioned/0.30.0/reference/components/segmented-control.mdx +0 -34
- package/dist/docs/versioned/0.30.0/reference/components/select-field.mdx +0 -26
- package/dist/docs/versioned/0.30.0/reference/components/signature-capture-field.mdx +0 -41
- package/dist/docs/versioned/0.30.0/reference/components/signature-field.mdx +0 -35
- package/dist/docs/versioned/0.30.0/reference/components/slider.mdx +0 -43
- package/dist/docs/versioned/0.30.0/reference/components/tap-to-edit.mdx +0 -26
- package/dist/docs/versioned/0.30.0/reference/components/text-area.mdx +0 -50
- package/dist/docs/versioned/0.30.0/reference/components/text-field.mdx +0 -52
- package/dist/docs/versioned/0.30.0/reference/components/typed-signature-field.mdx +0 -37
- package/dist/docs/versioned/0.30.0/reference/environment-variables.md +0 -386
- package/dist/docs/versioned/0.30.0/reference/feature-flags.md +0 -304
- package/dist/docs/versioned/0.30.0/reference/generated/api/README.md +0 -305
- package/dist/docs/versioned/0.30.0/reference/generated/api/classes/APIError.md +0 -144
- package/dist/docs/versioned/0.30.0/reference/generated/api/classes/BetterAuthApp.md +0 -84
- package/dist/docs/versioned/0.30.0/reference/generated/api/classes/ConsentApp.md +0 -74
- package/dist/docs/versioned/0.30.0/reference/generated/api/classes/DateOnly.md +0 -123
- package/dist/docs/versioned/0.30.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +0 -577
- package/dist/docs/versioned/0.30.0/reference/generated/api/classes/RealtimeApp.md +0 -112
- package/dist/docs/versioned/0.30.0/reference/generated/api/classes/TerrenoApp.md +0 -262
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/addMeRoutes.md +0 -19
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/clearRealtimeRegistry.md +0 -7
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +0 -35
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/findOneOrNoneFor.md +0 -37
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/findRegistryEntryByCollection.md +0 -13
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +0 -13
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/fixMixedFields.md +0 -21
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/getMongoClientFromMongoose.md +0 -7
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/getOpenApiSpecForModel.md +0 -29
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/getRealtimeRegistry.md +0 -7
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/matchesQuery.md +0 -23
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/modelRouter.md +0 -83
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/registerRealtime.md +0 -14
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/runActionPermissions.md +0 -33
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/sendToSlack.md +0 -29
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/signupUser.md +0 -23
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/startChangeStreamWatcher.md +0 -21
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/stopChangeStreamWatcher.md +0 -7
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/syncBetterAuthUser.md +0 -19
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/validateActionRequest.md +0 -35
- package/dist/docs/versioned/0.30.0/reference/generated/api/functions/wrapActionResponse.md +0 -19
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/AuthOptions.md +0 -47
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +0 -141
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/BackgroundTaskModel.md +0 -51
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/BetterAuthConfig.md +0 -74
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/CollectionActionConfig.md +0 -123
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +0 -51
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/ConfigurationModel.md +0 -166
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/ConsentFormModel.md +0 -79
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/ConsentResponseModel.md +0 -79
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +0 -30
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +0 -30
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +0 -9
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/GitHubAuthOptions.md +0 -74
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/InstanceActionConfig.md +0 -127
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/ModelRouterOptions.md +0 -524
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/ModelRouterRegistration.md +0 -33
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/MongoClientLike.md +0 -11
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +0 -89
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeAppOptions.md +0 -62
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeConfig.md +0 -44
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeEvent.md +0 -57
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +0 -42
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeSocketLike.md +0 -94
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +0 -71
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/RequestContext.md +0 -59
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/TerrenoAppOptions.md +0 -112
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/TerrenoPlugin.md +0 -78
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/User.md +0 -26
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/UserModel.md +0 -113
- package/dist/docs/versioned/0.30.0/reference/generated/api/interfaces/VersionConfigModel.md +0 -51
- package/dist/docs/versioned/0.30.0/reference/generated/api/variables/Permissions.md +0 -109
- package/dist/docs/versioned/0.30.0/reference/generated/api/variables/gooseRestRouter.md +0 -85
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/README.md +0 -128
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/createBetterAuthClient.md +0 -30
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/createOfflineMiddleware.md +0 -41
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/createStorageAdapter.md +0 -17
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/generateProfileEndpoints.md +0 -35
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/getBaseQuery.md +0 -23
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/getRealtimeSocket.md +0 -7
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/isNetworkFetchError.md +0 -14
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/realtimeDocument.md +0 -37
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/realtimeList.md +0 -43
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/setRealtimeSocket.md +0 -27
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/useFeatureFlags.md +0 -15
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +0 -19
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +0 -31
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +0 -23
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +0 -15
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/interfaces/OfflineState.md +0 -23
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/interfaces/QueuedMutation.md +0 -55
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/interfaces/RealtimeEvent.md +0 -58
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +0 -87
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/variables/emptySplitApi.md +0 -1
- package/dist/docs/versioned/0.30.0/reference/generated/rtk/variables/offlineSlice.md +0 -1
- package/dist/docs/versioned/0.30.0/reference/mcp-server.md +0 -586
- package/dist/docs/versioned/0.30.0/reference/rtk.md +0 -446
- package/dist/docs/versioned/0.30.0/reference/ui.md +0 -476
- package/dist/docs/versioned/0.30.0/tasks/admin-improvements.md +0 -429
- package/dist/docs/versioned/0.30.0/tasks/admin-only.md +0 -221
- package/dist/docs/versioned/0.30.0/tasks/agentic-sdlc-plugin.md +0 -163
- package/dist/docs/versioned/0.30.0/tasks/consent-forms.md +0 -193
- package/dist/docs/versioned/0.30.0/tasks/deploy-to-gcp.md +0 -99
- package/dist/docs/versioned/0.30.0/tasks/deploy-to-vercel.md +0 -110
- package/dist/docs/versioned/0.30.0/tasks/deployment-foundation.md +0 -92
- package/dist/docs/versioned/0.30.0/tasks/docs-reference-coverage.md +0 -93
- package/dist/docs/versioned/0.30.0/tasks/examples-demo-coverage.md +0 -113
- package/dist/docs/versioned/0.30.0/tasks/feature-flags-openfeature.md +0 -77
- package/dist/docs/versioned/0.30.0/tasks/feature-flags.md +0 -23
- package/dist/docs/versioned/0.30.0/tasks/model-router-actions.md +0 -46
- package/dist/docs/versioned/0.30.0/tasks/model-router-mcp.md +0 -105
- package/dist/docs/versioned/0.30.0/tasks/offline-mode.md +0 -139
- package/dist/docs/versioned/0.30.0/tasks/oss-governance-baseline.md +0 -129
- package/dist/docs/versioned/0.30.0/tasks/positioning-django-rails-universal.md +0 -100
- package/dist/docs/versioned/0.30.0/tasks/public-roadmap-github.md +0 -112
- package/dist/docs/versioned/0.30.0/tasks/rtk-to-syncdb-migration-docs.md +0 -163
- package/dist/docs/versioned/0.30.0/tasks/syncdb-local-first.md +0 -117
- package/dist/docs/versioned/0.30.0/tasks/upgrade-banner.md +0 -73
- package/dist/docs/versioned/0.30.0/tasks/upgrade-guides-and-skill.md +0 -118
- package/dist/docs/versioned/0.30.0/tutorials/README.md +0 -7
- package/dist/docs/versioned/0.30.0/tutorials/getting-started.md +0 -44
- package/src/docs/versioned/0.30.0/README.md +0 -29
- package/src/docs/versioned/0.30.0/explanation/README.md +0 -14
- package/src/docs/versioned/0.30.0/explanation/ai-workflows.md +0 -270
- package/src/docs/versioned/0.30.0/explanation/authentication.md +0 -438
- package/src/docs/versioned/0.30.0/explanation/configuration-system.md +0 -428
- package/src/docs/versioned/0.30.0/explanation/dependency-management.md +0 -192
- package/src/docs/versioned/0.30.0/explanation/explicit-any-policy.md +0 -88
- package/src/docs/versioned/0.30.0/explanation/gcp-hosting-architecture.md +0 -319
- package/src/docs/versioned/0.30.0/explanation/model-router-actions.md +0 -156
- package/src/docs/versioned/0.30.0/explanation/modular-api-design.md +0 -228
- package/src/docs/versioned/0.30.0/how-to/README.md +0 -21
- package/src/docs/versioned/0.30.0/how-to/add-feature-flags.md +0 -115
- package/src/docs/versioned/0.30.0/how-to/add-github-oauth.md +0 -316
- package/src/docs/versioned/0.30.0/how-to/call-external-apis.md +0 -101
- package/src/docs/versioned/0.30.0/how-to/configure-better-auth.md +0 -296
- package/src/docs/versioned/0.30.0/how-to/create-a-model.md +0 -165
- package/src/docs/versioned/0.30.0/how-to/deploy-to-gcp.md +0 -244
- package/src/docs/versioned/0.30.0/how-to/upgrade-banner.md +0 -172
- package/src/docs/versioned/0.30.0/how-to/websocket-integration.md +0 -416
- package/src/docs/versioned/0.30.0/implementationPlans/IP_TEMPLATE.md +0 -47
- package/src/docs/versioned/0.30.0/implementationPlans/ModularAPI.md +0 -844
- package/src/docs/versioned/0.30.0/implementationPlans/PLAN_INDEX.md +0 -75
- package/src/docs/versioned/0.30.0/implementationPlans/README.md +0 -42
- package/src/docs/versioned/0.30.0/implementationPlans/admin-improvements.md +0 -577
- package/src/docs/versioned/0.30.0/implementationPlans/admin-only-research.md +0 -258
- package/src/docs/versioned/0.30.0/implementationPlans/admin-only.md +0 -616
- package/src/docs/versioned/0.30.0/implementationPlans/admin-script-runner.md +0 -107
- package/src/docs/versioned/0.30.0/implementationPlans/admin-ui-v2-django-parity.md +0 -204
- package/src/docs/versioned/0.30.0/implementationPlans/agentic-sdlc-plugin.md +0 -177
- package/src/docs/versioned/0.30.0/implementationPlans/ai-dev-loop-boost.md +0 -174
- package/src/docs/versioned/0.30.0/implementationPlans/apierror-standard-error-redesign.md +0 -332
- package/src/docs/versioned/0.30.0/implementationPlans/build-terreno-app-validation.md +0 -153
- package/src/docs/versioned/0.30.0/implementationPlans/consent-forms.md +0 -417
- package/src/docs/versioned/0.30.0/implementationPlans/deploy-to-gcp.md +0 -166
- package/src/docs/versioned/0.30.0/implementationPlans/deploy-to-vercel.md +0 -167
- package/src/docs/versioned/0.30.0/implementationPlans/deployment-foundation.md +0 -132
- package/src/docs/versioned/0.30.0/implementationPlans/design-blend-skill.md +0 -188
- package/src/docs/versioned/0.30.0/implementationPlans/docs-reference-coverage.md +0 -141
- package/src/docs/versioned/0.30.0/implementationPlans/docs-site-and-versioning.md +0 -138
- package/src/docs/versioned/0.30.0/implementationPlans/docs-tutorials-ai-first.md +0 -145
- package/src/docs/versioned/0.30.0/implementationPlans/examples-demo-coverage.md +0 -162
- package/src/docs/versioned/0.30.0/implementationPlans/feature-flags-openfeature.md +0 -545
- package/src/docs/versioned/0.30.0/implementationPlans/feature-flags.md +0 -310
- package/src/docs/versioned/0.30.0/implementationPlans/mcp-boost-parity.md +0 -246
- package/src/docs/versioned/0.30.0/implementationPlans/model-router-actions.md +0 -639
- package/src/docs/versioned/0.30.0/implementationPlans/model-router-mcp.md +0 -186
- package/src/docs/versioned/0.30.0/implementationPlans/offline-mode.md +0 -311
- package/src/docs/versioned/0.30.0/implementationPlans/oss-governance-baseline.md +0 -148
- package/src/docs/versioned/0.30.0/implementationPlans/oss-launch-program.md +0 -195
- package/src/docs/versioned/0.30.0/implementationPlans/positioning-django-rails-universal.md +0 -146
- package/src/docs/versioned/0.30.0/implementationPlans/public-roadmap-github.md +0 -204
- package/src/docs/versioned/0.30.0/implementationPlans/rbac-permissions.md +0 -982
- package/src/docs/versioned/0.30.0/implementationPlans/rtk-to-syncdb-migration-docs.md +0 -169
- package/src/docs/versioned/0.30.0/implementationPlans/syncdb-local-first.md +0 -591
- package/src/docs/versioned/0.30.0/implementationPlans/terreno-langfuse-integration.md +0 -145
- package/src/docs/versioned/0.30.0/implementationPlans/upgrade-banner.md +0 -275
- package/src/docs/versioned/0.30.0/implementationPlans/upgrade-guides-and-skill.md +0 -166
- package/src/docs/versioned/0.30.0/implementationPlans/web-ssr-and-admin-spa.md +0 -153
- package/src/docs/versioned/0.30.0/reference/README.md +0 -22
- package/src/docs/versioned/0.30.0/reference/admin-backend.md +0 -122
- package/src/docs/versioned/0.30.0/reference/admin-frontend.md +0 -205
- package/src/docs/versioned/0.30.0/reference/api.md +0 -1276
- package/src/docs/versioned/0.30.0/reference/components/README.mdx +0 -68
- package/src/docs/versioned/0.30.0/reference/components/addressfield.mdx +0 -26
- package/src/docs/versioned/0.30.0/reference/components/badge.mdx +0 -38
- package/src/docs/versioned/0.30.0/reference/components/boolean-field.mdx +0 -36
- package/src/docs/versioned/0.30.0/reference/components/button.mdx +0 -44
- package/src/docs/versioned/0.30.0/reference/components/card.mdx +0 -26
- package/src/docs/versioned/0.30.0/reference/components/checkbox.mdx +0 -30
- package/src/docs/versioned/0.30.0/reference/components/consentformscreen.mdx +0 -26
- package/src/docs/versioned/0.30.0/reference/components/custom-select-field.mdx +0 -37
- package/src/docs/versioned/0.30.0/reference/components/datatable.mdx +0 -44
- package/src/docs/versioned/0.30.0/reference/components/date-time-field.mdx +0 -49
- package/src/docs/versioned/0.30.0/reference/components/email-field.mdx +0 -43
- package/src/docs/versioned/0.30.0/reference/components/emoji-selector.mdx +0 -26
- package/src/docs/versioned/0.30.0/reference/components/field.mdx +0 -26
- package/src/docs/versioned/0.30.0/reference/components/height-field.mdx +0 -45
- package/src/docs/versioned/0.30.0/reference/components/iconbutton.mdx +0 -44
- package/src/docs/versioned/0.30.0/reference/components/markdown-editor-field.mdx +0 -50
- package/src/docs/versioned/0.30.0/reference/components/markdownview.mdx +0 -37
- package/src/docs/versioned/0.30.0/reference/components/multiselect-field.mdx +0 -36
- package/src/docs/versioned/0.30.0/reference/components/number-field.mdx +0 -46
- package/src/docs/versioned/0.30.0/reference/components/page.mdx +0 -46
- package/src/docs/versioned/0.30.0/reference/components/password-field.mdx +0 -26
- package/src/docs/versioned/0.30.0/reference/components/phone-number-field.mdx +0 -44
- package/src/docs/versioned/0.30.0/reference/components/radio-field.mdx +0 -31
- package/src/docs/versioned/0.30.0/reference/components/segmented-control.mdx +0 -34
- package/src/docs/versioned/0.30.0/reference/components/select-field.mdx +0 -26
- package/src/docs/versioned/0.30.0/reference/components/signature-capture-field.mdx +0 -41
- package/src/docs/versioned/0.30.0/reference/components/signature-field.mdx +0 -35
- package/src/docs/versioned/0.30.0/reference/components/slider.mdx +0 -43
- package/src/docs/versioned/0.30.0/reference/components/tap-to-edit.mdx +0 -26
- package/src/docs/versioned/0.30.0/reference/components/text-area.mdx +0 -50
- package/src/docs/versioned/0.30.0/reference/components/text-field.mdx +0 -52
- package/src/docs/versioned/0.30.0/reference/components/typed-signature-field.mdx +0 -37
- package/src/docs/versioned/0.30.0/reference/environment-variables.md +0 -386
- package/src/docs/versioned/0.30.0/reference/feature-flags.md +0 -304
- package/src/docs/versioned/0.30.0/reference/generated/api/README.md +0 -305
- package/src/docs/versioned/0.30.0/reference/generated/api/classes/APIError.md +0 -144
- package/src/docs/versioned/0.30.0/reference/generated/api/classes/BetterAuthApp.md +0 -84
- package/src/docs/versioned/0.30.0/reference/generated/api/classes/ConsentApp.md +0 -74
- package/src/docs/versioned/0.30.0/reference/generated/api/classes/DateOnly.md +0 -123
- package/src/docs/versioned/0.30.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +0 -577
- package/src/docs/versioned/0.30.0/reference/generated/api/classes/RealtimeApp.md +0 -112
- package/src/docs/versioned/0.30.0/reference/generated/api/classes/TerrenoApp.md +0 -262
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/addMeRoutes.md +0 -19
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/clearRealtimeRegistry.md +0 -7
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +0 -35
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/findOneOrNoneFor.md +0 -37
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/findRegistryEntryByCollection.md +0 -13
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +0 -13
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/fixMixedFields.md +0 -21
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/getMongoClientFromMongoose.md +0 -7
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/getOpenApiSpecForModel.md +0 -29
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/getRealtimeRegistry.md +0 -7
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/matchesQuery.md +0 -23
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/modelRouter.md +0 -83
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/registerRealtime.md +0 -14
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/runActionPermissions.md +0 -33
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/sendToSlack.md +0 -29
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/signupUser.md +0 -23
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/startChangeStreamWatcher.md +0 -21
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/stopChangeStreamWatcher.md +0 -7
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/syncBetterAuthUser.md +0 -19
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/validateActionRequest.md +0 -35
- package/src/docs/versioned/0.30.0/reference/generated/api/functions/wrapActionResponse.md +0 -19
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/AuthOptions.md +0 -47
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +0 -141
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/BackgroundTaskModel.md +0 -51
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/BetterAuthConfig.md +0 -74
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/CollectionActionConfig.md +0 -123
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +0 -51
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/ConfigurationModel.md +0 -166
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/ConsentFormModel.md +0 -79
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/ConsentResponseModel.md +0 -79
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +0 -30
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +0 -30
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +0 -9
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/GitHubAuthOptions.md +0 -74
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/InstanceActionConfig.md +0 -127
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/ModelRouterOptions.md +0 -524
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/ModelRouterRegistration.md +0 -33
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/MongoClientLike.md +0 -11
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +0 -89
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeAppOptions.md +0 -62
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeConfig.md +0 -44
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeEvent.md +0 -57
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +0 -42
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/RealtimeSocketLike.md +0 -94
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +0 -71
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/RequestContext.md +0 -59
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/TerrenoAppOptions.md +0 -112
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/TerrenoPlugin.md +0 -78
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/User.md +0 -26
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/UserModel.md +0 -113
- package/src/docs/versioned/0.30.0/reference/generated/api/interfaces/VersionConfigModel.md +0 -51
- package/src/docs/versioned/0.30.0/reference/generated/api/variables/Permissions.md +0 -109
- package/src/docs/versioned/0.30.0/reference/generated/api/variables/gooseRestRouter.md +0 -85
- package/src/docs/versioned/0.30.0/reference/generated/rtk/README.md +0 -128
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/createBetterAuthClient.md +0 -30
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/createOfflineMiddleware.md +0 -41
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/createStorageAdapter.md +0 -17
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/generateProfileEndpoints.md +0 -35
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/getBaseQuery.md +0 -23
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/getRealtimeSocket.md +0 -7
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/isNetworkFetchError.md +0 -14
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/realtimeDocument.md +0 -37
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/realtimeList.md +0 -43
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/setRealtimeSocket.md +0 -27
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/useFeatureFlags.md +0 -15
- package/src/docs/versioned/0.30.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +0 -19
- package/src/docs/versioned/0.30.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +0 -31
- package/src/docs/versioned/0.30.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +0 -23
- package/src/docs/versioned/0.30.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +0 -15
- package/src/docs/versioned/0.30.0/reference/generated/rtk/interfaces/OfflineState.md +0 -23
- package/src/docs/versioned/0.30.0/reference/generated/rtk/interfaces/QueuedMutation.md +0 -55
- package/src/docs/versioned/0.30.0/reference/generated/rtk/interfaces/RealtimeEvent.md +0 -58
- package/src/docs/versioned/0.30.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +0 -87
- package/src/docs/versioned/0.30.0/reference/generated/rtk/variables/emptySplitApi.md +0 -1
- package/src/docs/versioned/0.30.0/reference/generated/rtk/variables/offlineSlice.md +0 -1
- package/src/docs/versioned/0.30.0/reference/mcp-server.md +0 -586
- package/src/docs/versioned/0.30.0/reference/rtk.md +0 -446
- package/src/docs/versioned/0.30.0/reference/ui.md +0 -476
- package/src/docs/versioned/0.30.0/tasks/admin-improvements.md +0 -429
- package/src/docs/versioned/0.30.0/tasks/admin-only.md +0 -221
- package/src/docs/versioned/0.30.0/tasks/agentic-sdlc-plugin.md +0 -163
- package/src/docs/versioned/0.30.0/tasks/consent-forms.md +0 -193
- package/src/docs/versioned/0.30.0/tasks/deploy-to-gcp.md +0 -99
- package/src/docs/versioned/0.30.0/tasks/deploy-to-vercel.md +0 -110
- package/src/docs/versioned/0.30.0/tasks/deployment-foundation.md +0 -92
- package/src/docs/versioned/0.30.0/tasks/docs-reference-coverage.md +0 -93
- package/src/docs/versioned/0.30.0/tasks/examples-demo-coverage.md +0 -113
- package/src/docs/versioned/0.30.0/tasks/feature-flags-openfeature.md +0 -77
- package/src/docs/versioned/0.30.0/tasks/feature-flags.md +0 -23
- package/src/docs/versioned/0.30.0/tasks/model-router-actions.md +0 -46
- package/src/docs/versioned/0.30.0/tasks/model-router-mcp.md +0 -105
- package/src/docs/versioned/0.30.0/tasks/offline-mode.md +0 -139
- package/src/docs/versioned/0.30.0/tasks/oss-governance-baseline.md +0 -129
- package/src/docs/versioned/0.30.0/tasks/positioning-django-rails-universal.md +0 -100
- package/src/docs/versioned/0.30.0/tasks/public-roadmap-github.md +0 -112
- package/src/docs/versioned/0.30.0/tasks/rtk-to-syncdb-migration-docs.md +0 -163
- package/src/docs/versioned/0.30.0/tasks/syncdb-local-first.md +0 -117
- package/src/docs/versioned/0.30.0/tasks/upgrade-banner.md +0 -73
- package/src/docs/versioned/0.30.0/tasks/upgrade-guides-and-skill.md +0 -118
- package/src/docs/versioned/0.30.0/tutorials/README.md +0 -7
- package/src/docs/versioned/0.30.0/tutorials/getting-started.md +0 -44
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/explanation/no-barrel-imports.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/api-health.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/accordion.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/ai-suggestion-box.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/avatar.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/banner.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/box.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/icon.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/inner-modal-content.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/pagination.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/sectiondivider.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/selectbadge.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/side-drawer.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/sidebar-navigation-non-expo.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/spinner.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-badge.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-boolean.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-date.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-icon-button.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-number.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-text.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-title.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/theme.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/thumbsupdownfeedback.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/toast.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/tooltip.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/components/userinactivity.mdx +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/README.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/BadRequestError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/CachingSecretProvider.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/CompositeSecretProvider.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/ConfigurationApp.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/ConflictError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/EnvSecretProvider.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/ForbiddenError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/GcpSecretProvider.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/InternalServerError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/NotFoundError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/TaskCancelledError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/UnauthorizedError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/ValidationError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/VersionCheckPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/AdminOwnerTransformer.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/OwnerQueryFilter.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/addAuthRoutes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/addGitHubAuthRoutes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/addPopulateToQuery.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/addQuerySubscription.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/apiErrorMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/apiFallthroughErrorMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/apiUnauthorizedMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/applyRequestContextToSentry.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/assertNoActionCollisions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/asyncHandler.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/authenticateMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/baseUserPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/buildQuerySchemaFromFields.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/checkModelsStrict.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/checkPermissions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/clearQueryStore.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/computeQueryId.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/configurationPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/configureOpenApiValidator.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createAuthenticatedClient.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createBetterAuth.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createBetterAuthSessionMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createFeatureFlaggedLogger.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createModelValidators.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createOpenApiBuilder.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createRouter.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createRouterWithAuth.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createScopedLogger.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createScriptArgs.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createValidator.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createdUpdatedPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/cronjob.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/defaultResponseHandler.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/defineCollectionAction.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/defineInstanceAction.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/envConfigurationPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/errorDetail.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/errorMessage.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/errorStack.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/errorsPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/findExactlyOne.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/findOneOrNone.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/firebaseJWTPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/flattenToDotPaths.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/formatLogContextSuffix.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/generateTokens.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getAPIErrorBody.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getBetterAuthSession.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getCurrentLogContext.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getCurrentRequestContext.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getCurrentRequestContextAttributes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getDisableExternalErrorTracking.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getOpenApiValidatorConfig.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getQuerySubscriptionsForCollection.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getRequestContextFromAttributes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getSchemaFromModel.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getSessionIdFromJwtPayload.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/githubUserPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/hasBetterAuthSession.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/installRealtimeSocketHandlers.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isAPIError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isDeletedPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isDisabledPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isOpenApiValidatorConfigured.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isValidObjectId.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/jsonResponseRequestIdMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/logRequests.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/markRetryUnsafe.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/mongooseErrorToAPIError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/mountBetterAuthRoutes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/normalizeApiError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/openApiCompatMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/openApiEtagMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/parseScriptArgs.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/patchAppUse.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/permissionMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/registerActionRoutes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/removeAllSocketQueries.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/removeQuerySubscription.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/requestContextMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/resetOpenApiValidatorConfig.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/runWithRequestContext.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/runWithRequestContextAttributes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/sendToGoogleChat.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/sendToZoom.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/sentryAppVersionMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/serialize.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setRequestContext.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupAuth.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupBetterAuthUserSync.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupEnvironment.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupGitHubAuth.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupLogging.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/syncConsents.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/timeout.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/transform.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/unpopulate.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/updateRequestContextFromRequest.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/upsertPlugin.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/validateModelRequestBody.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/validateQueryParams.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/validateRequestBody.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/validateResponseData.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/withApiErrorHandling.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/wrapScript.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/APIErrorBody.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/APIErrorOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ActionContext.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/AsyncHandlerOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/AuthenticatedClient.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BackgroundTaskMethods.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BackgroundTaskStatics.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BaseUser.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthAppOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthOAuthProvider.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthSession.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthSessionData.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthUser.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CachingSecretProviderOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ChangeStreamConfig.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigRegistration.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigurationMetaResponse.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigurationPermissions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigurationPluginOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigurationStatics.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentAppOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentFormCheckbox.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentFormDefinition.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentFormDocument.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentFormStatics.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentResponseDocument.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentResponseMethods.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentResponseStatics.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateAuthenticatedClientOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateBetterAuthOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateFeatureFlaggedLoggerOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateScopedLoggerOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateValidatorOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreatedDeleted.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/DocumentSubscription.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/GenerateTokensOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/GitHubUserFields.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/HasUpsert.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/HttpClientLogger.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/IsDeleted.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/JSONArray.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/JSONObject.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/JwtSessionPayload.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/LogContextFields.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/LoggingOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ModelRouterValidationOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/NormalizedApiError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiBuildResult.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiMiddleware.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiParameter.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiResponse.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiSchema.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiValidatorConfig.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/PopulatePath.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/QuerySubscription.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/QueryValidatorOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/RESTPermissions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/RetryPolicy.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScopedLogger.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScriptArgDef.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScriptArgs.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScriptContext.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScriptResult.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/SecretFieldMeta.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/SecretProvider.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/SyncConsentsOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/SyncConsentsResult.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/TerrenoRequestLogEntry.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/TerrenoTransformer.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/VersionCheckResponse.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/VersionConfigDocument.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/WithApiErrorHandlingOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/WrapScriptOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/APIErrorConstructor.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/APIErrorSubclassOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/AddRoutes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ApiErrorClassification.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/AuthProvider.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/AuthStrategy.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/BetterAuthInstance.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConfigType.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConfigurationPostUpdateHook.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConfigurationPreUpdateHook.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConsentFormMethods.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConsentFormType.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/DeepPartial.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/GooseRESTOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/JSONPrimitive.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/JSONValue.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/PathValue.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/Paths.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/PermissionMethod.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/RESTMethod.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/RequestContextAttributes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ScriptArgValue.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ScriptRunner.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/VersionCheckStatus.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/ACTION_NAME_PATTERN.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/BackgroundTask.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/Config.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/ConsentForm.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/ConsentResponse.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/MAX_DOCUMENT_SUBSCRIPTIONS.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/MAX_MODEL_SUBSCRIPTIONS.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/MAX_QUERY_SUBSCRIPTIONS.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/REQUEST_CONTEXT_ATTRIBUTE_NAMES.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/VersionConfig.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/consentResponsePopulatePaths.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/logger.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/winstonLogger.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/buildOptimisticCreateItem.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/configureOfflineMutationEndpoints.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/createSessionApi.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/generateAuthSlice.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/generateBetterAuthSlice.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/generateTags.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/getAuthToken.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/getFriendlyExpirationInfo.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/getTokenExpirationTimes.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/isWebsocketsDebugEnabled.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/logAuth.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/logSocket.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/populateId.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/refreshAuthToken.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/registerTerrenoDevStore.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/resolveBaseUrls.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/resolveDevApiPort.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/resolveFeatureFlagsOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthError.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthIsAuthenticated.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthIsLoading.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthState.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthUser.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthUserId.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectConflicts.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectCurrentUserId.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectIsAuthenticating.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectIsOnline.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectIsOnlineSafe.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectIsSyncing.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectLastTokenRefreshTimestamp.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectOfflineQueue.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectQueueLength.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/setRealtimeDebug.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/shouldDeferOfflineMutation.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/shouldReplayQueuedMutation.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/shouldShowStillThereModal.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useOfflineStatus.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useRealtimeDebug.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useSelectCurrentUserId.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useSelectIsAuthenticating.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useServerStatus.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useSocketConnection.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useSyncConnection.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useUpgradeCheck.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BaseUrls.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthClientInterface.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthSession.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthSessionData.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthState.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthUser.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ConflictRecord.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/EmailSignupRequest.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ExpoConstantsShape.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/GoogleLoginRequest.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ListResponse.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/OfflineStatus.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ResetPasswordRequest.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/RootState.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ServerStatusOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/SocketConnection.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/StorageAdapter.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/TerrenoFlagDefinition.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/UseFeatureFlagsOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsOptions.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsResult.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/UserResponse.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/VersionCheckResponse.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/BetterAuthClient.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/BetterAuthOAuthProvider.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/BetterAuthSlice.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/EmailLoginRequest.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/ServerStatus.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/TerrenoFlagConfiguration.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/AUTH_DEBUG.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/DEFAULT_DEV_API_PORT.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/IsWeb.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/LOGOUT_ACTION_TYPE.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/SAME_ORIGIN_SENTINEL.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/TOKEN_REFRESHED_SUCCESS.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/addConflict.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/baseTasksUrl.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/baseUrl.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/baseWebsocketsUrl.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/clearConflicts.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/clearQueue.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/dequeue.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/dismissConflict.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/enqueue.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/offlineReducer.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/selectUndismissedConflicts.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/setOnlineStatus.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/setSyncing.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/staggeredBaseQuery.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/useGetVersionCheckQuery.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/useLazyGetVersionCheckQuery.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/tasks/admin-script-runner.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/tasks/admin-ui-v2-django-parity.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/tasks/ai-dev-loop-boost.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/tasks/build-terreno-app-validation.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/tasks/design-blend-skill.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/tasks/docs-tutorials-ai-first.md +0 -0
- /package/dist/docs/versioned/{0.30.0 → 57.17.0}/tasks/web-ssr-and-admin-spa.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/explanation/no-barrel-imports.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/api-health.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/accordion.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/ai-suggestion-box.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/avatar.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/banner.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/box.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/icon.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/inner-modal-content.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/pagination.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/sectiondivider.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/selectbadge.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/side-drawer.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/sidebar-navigation-non-expo.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/spinner.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-badge.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-boolean.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-date.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-icon-button.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-number.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-text.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table-title.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/table.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/theme.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/thumbsupdownfeedback.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/toast.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/tooltip.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/components/userinactivity.mdx +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/README.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/BadRequestError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/CachingSecretProvider.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/CompositeSecretProvider.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/ConfigurationApp.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/ConflictError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/EnvSecretProvider.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/ForbiddenError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/GcpSecretProvider.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/InternalServerError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/NotFoundError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/TaskCancelledError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/UnauthorizedError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/ValidationError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/classes/VersionCheckPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/AdminOwnerTransformer.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/OwnerQueryFilter.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/addAuthRoutes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/addGitHubAuthRoutes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/addPopulateToQuery.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/addQuerySubscription.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/apiErrorMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/apiFallthroughErrorMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/apiUnauthorizedMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/applyRequestContextToSentry.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/assertNoActionCollisions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/asyncHandler.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/authenticateMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/baseUserPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/buildQuerySchemaFromFields.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/checkModelsStrict.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/checkPermissions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/clearQueryStore.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/computeQueryId.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/configurationPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/configureOpenApiValidator.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createAuthenticatedClient.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createBetterAuth.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createBetterAuthSessionMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createFeatureFlaggedLogger.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createModelValidators.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createOpenApiBuilder.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createRouter.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createRouterWithAuth.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createScopedLogger.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createScriptArgs.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createValidator.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/createdUpdatedPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/cronjob.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/defaultResponseHandler.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/defineCollectionAction.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/defineInstanceAction.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/envConfigurationPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/errorDetail.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/errorMessage.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/errorStack.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/errorsPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/findExactlyOne.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/findOneOrNone.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/firebaseJWTPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/flattenToDotPaths.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/formatLogContextSuffix.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/generateTokens.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getAPIErrorBody.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getBetterAuthSession.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getCurrentLogContext.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getCurrentRequestContext.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getCurrentRequestContextAttributes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getDisableExternalErrorTracking.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getOpenApiValidatorConfig.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getQuerySubscriptionsForCollection.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getRequestContextFromAttributes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getSchemaFromModel.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/getSessionIdFromJwtPayload.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/githubUserPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/hasBetterAuthSession.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/installRealtimeSocketHandlers.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isAPIError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isDeletedPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isDisabledPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isOpenApiValidatorConfigured.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/isValidObjectId.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/jsonResponseRequestIdMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/logRequests.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/markRetryUnsafe.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/mongooseErrorToAPIError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/mountBetterAuthRoutes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/normalizeApiError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/openApiCompatMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/openApiEtagMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/parseScriptArgs.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/patchAppUse.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/permissionMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/registerActionRoutes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/removeAllSocketQueries.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/removeQuerySubscription.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/requestContextMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/resetOpenApiValidatorConfig.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/runWithRequestContext.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/runWithRequestContextAttributes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/sendToGoogleChat.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/sendToZoom.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/sentryAppVersionMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/serialize.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setRequestContext.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupAuth.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupBetterAuthUserSync.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupEnvironment.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupGitHubAuth.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/setupLogging.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/syncConsents.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/timeout.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/transform.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/unpopulate.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/updateRequestContextFromRequest.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/upsertPlugin.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/validateModelRequestBody.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/validateQueryParams.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/validateRequestBody.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/validateResponseData.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/withApiErrorHandling.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/functions/wrapScript.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/APIErrorBody.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/APIErrorOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ActionContext.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/AsyncHandlerOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/AuthenticatedClient.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BackgroundTaskMethods.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BackgroundTaskStatics.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BaseUser.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthAppOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthOAuthProvider.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthSession.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthSessionData.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/BetterAuthUser.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CachingSecretProviderOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ChangeStreamConfig.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigRegistration.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigurationMetaResponse.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigurationPermissions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigurationPluginOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConfigurationStatics.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentAppOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentFormCheckbox.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentFormDefinition.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentFormDocument.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentFormStatics.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentResponseDocument.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentResponseMethods.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ConsentResponseStatics.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateAuthenticatedClientOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateBetterAuthOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateFeatureFlaggedLoggerOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateScopedLoggerOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreateValidatorOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/CreatedDeleted.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/DocumentSubscription.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/GenerateTokensOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/GitHubUserFields.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/HasUpsert.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/HttpClientLogger.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/IsDeleted.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/JSONArray.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/JSONObject.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/JwtSessionPayload.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/LogContextFields.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/LoggingOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ModelRouterValidationOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/NormalizedApiError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiBuildResult.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiMiddleware.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiParameter.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiResponse.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiSchema.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/OpenApiValidatorConfig.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/PopulatePath.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/QuerySubscription.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/QueryValidatorOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/RESTPermissions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/RetryPolicy.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScopedLogger.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScriptArgDef.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScriptArgs.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScriptContext.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/ScriptResult.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/SecretFieldMeta.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/SecretProvider.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/SyncConsentsOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/SyncConsentsResult.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/TerrenoRequestLogEntry.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/TerrenoTransformer.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/VersionCheckResponse.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/VersionConfigDocument.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/WithApiErrorHandlingOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/interfaces/WrapScriptOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/APIErrorConstructor.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/APIErrorSubclassOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/AddRoutes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ApiErrorClassification.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/AuthProvider.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/AuthStrategy.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/BetterAuthInstance.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConfigType.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConfigurationPostUpdateHook.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConfigurationPreUpdateHook.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConsentFormMethods.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ConsentFormType.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/DeepPartial.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/GooseRESTOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/JSONPrimitive.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/JSONValue.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/PathValue.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/Paths.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/PermissionMethod.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/RESTMethod.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/RequestContextAttributes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ScriptArgValue.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/ScriptRunner.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/type-aliases/VersionCheckStatus.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/ACTION_NAME_PATTERN.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/BackgroundTask.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/Config.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/ConsentForm.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/ConsentResponse.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/MAX_DOCUMENT_SUBSCRIPTIONS.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/MAX_MODEL_SUBSCRIPTIONS.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/MAX_QUERY_SUBSCRIPTIONS.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/REQUEST_CONTEXT_ATTRIBUTE_NAMES.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/VersionConfig.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/consentResponsePopulatePaths.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/logger.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/api/variables/winstonLogger.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/buildOptimisticCreateItem.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/configureOfflineMutationEndpoints.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/createSessionApi.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/generateAuthSlice.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/generateBetterAuthSlice.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/generateTags.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/getAuthToken.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/getFriendlyExpirationInfo.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/getTokenExpirationTimes.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/isWebsocketsDebugEnabled.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/logAuth.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/logSocket.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/populateId.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/refreshAuthToken.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/registerTerrenoDevStore.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/resolveBaseUrls.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/resolveDevApiPort.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/resolveFeatureFlagsOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthError.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthIsAuthenticated.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthIsLoading.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthState.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthUser.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectBetterAuthUserId.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectConflicts.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectCurrentUserId.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectIsAuthenticating.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectIsOnline.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectIsOnlineSafe.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectIsSyncing.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectLastTokenRefreshTimestamp.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectOfflineQueue.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/selectQueueLength.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/setRealtimeDebug.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/shouldDeferOfflineMutation.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/shouldReplayQueuedMutation.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/shouldShowStillThereModal.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useOfflineStatus.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useRealtimeDebug.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useSelectCurrentUserId.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useSelectIsAuthenticating.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useServerStatus.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useSocketConnection.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useSyncConnection.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/functions/useUpgradeCheck.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BaseUrls.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthClientInterface.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthSession.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthSessionData.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthState.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/BetterAuthUser.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ConflictRecord.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/EmailSignupRequest.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ExpoConstantsShape.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/GoogleLoginRequest.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ListResponse.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/OfflineStatus.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ResetPasswordRequest.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/RootState.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/ServerStatusOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/SocketConnection.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/StorageAdapter.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/TerrenoFlagDefinition.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/UseFeatureFlagsOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsOptions.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsResult.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/UserResponse.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/interfaces/VersionCheckResponse.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/BetterAuthClient.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/BetterAuthOAuthProvider.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/BetterAuthSlice.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/EmailLoginRequest.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/ServerStatus.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/type-aliases/TerrenoFlagConfiguration.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/AUTH_DEBUG.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/DEFAULT_DEV_API_PORT.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/IsWeb.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/LOGOUT_ACTION_TYPE.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/SAME_ORIGIN_SENTINEL.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/TOKEN_REFRESHED_SUCCESS.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/addConflict.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/baseTasksUrl.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/baseUrl.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/baseWebsocketsUrl.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/clearConflicts.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/clearQueue.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/dequeue.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/dismissConflict.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/enqueue.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/offlineReducer.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/selectUndismissedConflicts.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/setOnlineStatus.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/setSyncing.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/staggeredBaseQuery.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/useGetVersionCheckQuery.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/reference/generated/rtk/variables/useLazyGetVersionCheckQuery.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/tasks/admin-script-runner.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/tasks/admin-ui-v2-django-parity.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/tasks/ai-dev-loop-boost.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/tasks/build-terreno-app-validation.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/tasks/design-blend-skill.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/tasks/docs-tutorials-ai-first.md +0 -0
- /package/src/docs/versioned/{0.30.0 → 57.17.0}/tasks/web-ssr-and-admin-spa.md +0 -0
|
@@ -0,0 +1,2429 @@
|
|
|
1
|
+
# @terreno/api
|
|
2
|
+
|
|
3
|
+
REST API framework built on Express and Mongoose. Provides modelRouter (CRUD endpoints), JWT auth, permissions, and OpenAPI generation.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Server Setup](#server-setup)
|
|
8
|
+
- [MCP tools](#mcp-tools)
|
|
9
|
+
- [Authentication](#authentication)
|
|
10
|
+
- [Model Schema Conventions](#model-schema-conventions)
|
|
11
|
+
- [Mongoose Plugins](#mongoose-plugins)
|
|
12
|
+
- [Organizations](#organizations)
|
|
13
|
+
- [Request Validation](#request-validation)
|
|
14
|
+
- [Middleware](#middleware)
|
|
15
|
+
- [Logging & Tracing](#logging--tracing)
|
|
16
|
+
- [Extensibility](#extensibility)
|
|
17
|
+
- [In-app notifications](#in-app-notifications)
|
|
18
|
+
- [Webhooks & Notifications](#webhooks--notifications)
|
|
19
|
+
- [HTTP Client](#http-client)
|
|
20
|
+
- [Utilities](#utilities)
|
|
21
|
+
- [Script Helpers](#script-helpers)
|
|
22
|
+
- [Migrations](#migrations)
|
|
23
|
+
|
|
24
|
+
## Key exports
|
|
25
|
+
|
|
26
|
+
- `TerrenoApp`, `setupServer`, `modelRouter`, `Permissions`, `OwnerQueryFilter`
|
|
27
|
+
- Organizations: `Organization`, `Membership`, `OrgsApp`, `orgScopedPlugin`,
|
|
28
|
+
`orgContextMiddleware`, `getOrgContext`, `OrgQueryFilter`,
|
|
29
|
+
`Permissions.IsOrganizationMember`, `organizationSlugFromName`
|
|
30
|
+
- `AuditApp`, `createAuditEventModel`, `persistRbacAuditToAuditEvent`
|
|
31
|
+
- `registerMCPTool`, `getMCPRegistry`
|
|
32
|
+
- `APIError`, `logger`, `asyncHandler`, `authenticateMiddleware`
|
|
33
|
+
- Logging: `logger`, `createScopedLogger`, `createFeatureFlaggedLogger`, `setupLogging`, `formatLogContextSuffix`
|
|
34
|
+
- Correlation: `runWithRequestContext`, `getCurrentLogContext`, `requestContextMiddleware`, `REQUEST_CONTEXT_ATTRIBUTE_NAMES`
|
|
35
|
+
- `createOpenApiBuilder`
|
|
36
|
+
- Seeds: `runSeeds`, `runSeedCli`, `seedBetterAuthUser`
|
|
37
|
+
- Migrations: `assertMigrationsAllowed`, `runMigrations`, `runDownMigrations`, `checkMigrationFiles`, `resolveMigrationDir`, `exerciseReversibleMigrations`, `MIGRATIONS_COLLECTION` (`terreno-migrate` bin)
|
|
38
|
+
- `githubUserPlugin`, `setupGitHubAuth`, `addGitHubAuthRoutes`
|
|
39
|
+
- `AuthToken`, `AUTH_TOKEN_TTL` (hashed single-use password-reset / email-verification tokens)
|
|
40
|
+
- Mongoose plugins: `findExactlyOne`, `findOneOrNone`, `upsertPlugin`, `DateOnly`, `emailVerificationPlugin`
|
|
41
|
+
- Validation: `configureOpenApiValidator`, `validateRequestBody`, `validateQueryParams`, `createValidator`
|
|
42
|
+
- Middleware: `openApiEtagMiddleware`, `sentryAppVersionMiddleware`
|
|
43
|
+
- Extensibility: `TerrenoPlugin` interface
|
|
44
|
+
- Notifiers: `sendToSlack`, `formatSlackUserMention`, `lookupSlackUserIdByEmail`, `createSlackPrivateChannel`, `inviteSlackUsersToChannel`, `postSlackMessage`, `findSlackChannelByName`, `sendToGoogleChat`, `sendToZoom`
|
|
45
|
+
- HTTP client: `createAuthenticatedClient`, `withApiErrorHandling`, `normalizeApiError`, `markRetryUnsafe`
|
|
46
|
+
|
|
47
|
+
## Server Setup
|
|
48
|
+
|
|
49
|
+
Two patterns for building Terreno APIs:
|
|
50
|
+
|
|
51
|
+
### Deprecated: modelRouter `realtime`
|
|
52
|
+
|
|
53
|
+
`modelRouter({ realtime })` (RTK cache-patching websocket events) is **deprecated** and **will be removed in Terreno 58**. Use `sync` with [`@terreno/syncdb`](syncdb.md). See [Migrate from RTK to syncdb](../how-to/migrate-rtk-to-syncdb.md).
|
|
54
|
+
|
|
55
|
+
`RealtimeApp` is **not** deprecated. It still hosts Socket.io, change streams, and `sync:delta`.
|
|
56
|
+
|
|
57
|
+
Keep `admin.realtime` when you want admin `admin:model.changed` events.
|
|
58
|
+
|
|
59
|
+
### TerrenoApp (Recommended)
|
|
60
|
+
|
|
61
|
+
Fluent API with a register pattern:
|
|
62
|
+
|
|
63
|
+
``````typescript
|
|
64
|
+
import {TerrenoApp, modelRouter} from "@terreno/api";
|
|
65
|
+
import {User, Todo} from "./models";
|
|
66
|
+
|
|
67
|
+
const todoRouter = modelRouter("/todos", Todo, {
|
|
68
|
+
permissions: {
|
|
69
|
+
list: [Permissions.IsAuthenticated],
|
|
70
|
+
create: [Permissions.IsAuthenticated],
|
|
71
|
+
read: [Permissions.IsOwner],
|
|
72
|
+
update: [Permissions.IsOwner],
|
|
73
|
+
delete: [Permissions.IsOwner],
|
|
74
|
+
},
|
|
75
|
+
queryFilter: OwnerQueryFilter,
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
const app = new TerrenoApp({userModel: User})
|
|
79
|
+
.register(todoRouter)
|
|
80
|
+
.register(userRouter)
|
|
81
|
+
.start();
|
|
82
|
+
``````
|
|
83
|
+
|
|
84
|
+
**Methods:**
|
|
85
|
+
- `register(registration)` — Register `ModelRouterRegistration` or `TerrenoPlugin`
|
|
86
|
+
- `addMiddleware(fn)` — Add Express middleware
|
|
87
|
+
- `build()` — Build Express app without listening
|
|
88
|
+
`start()` — Build and start server. Pass `httpServer` to attach to an already-listening `http.Server` instead of binding a new port (Cloud Run: bind `PORT` before MongoDB connect).
|
|
89
|
+
|
|
90
|
+
`migrations.runOnStart` defaults to **false**. When `true`, `start()` binds listen first, then runs `ensureSyncIndexes`, then wet `up`. Production still requires `ALLOW_MIGRATIONS=true` (boot counts as `--force`). Omitted `migrations` never reads `terreno_migrations`.
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
new TerrenoApp({
|
|
94
|
+
userModel: User,
|
|
95
|
+
migrations: {dir: "./migrations", runOnStart: true},
|
|
96
|
+
});
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### HTTP rate limiting
|
|
100
|
+
|
|
101
|
+
Opt-in. Pass `rateLimit: {}` on `TerrenoApp` to enable (omitted = off; Terreno 58 defaults on).
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
new TerrenoApp({
|
|
105
|
+
userModel: User,
|
|
106
|
+
rateLimit: process.env.RATE_LIMIT_ENABLED === "true" ? {store: "memory"} : undefined,
|
|
107
|
+
});
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
| Option | Default | Meaning |
|
|
111
|
+
|--------|---------|---------|
|
|
112
|
+
| `store` | `"memory"` | `"memory"` \| `"redis"` \| `"mongo"` |
|
|
113
|
+
| `limits.authMax` | 20 / 15 min | login, signup, refresh, OTP, GitHub OAuth, Better Auth sign-in / sign-up / password reset / OAuth callback / OAuth handoff |
|
|
114
|
+
| `betterAuthBasePath` | `BetterAuthApp` `config.basePath` or `/api/auth` | Prefix used to classify Better Auth credential routes |
|
|
115
|
+
| `limits.apiMax` | 600 / 15 min | modelRouter and other HTTP |
|
|
116
|
+
| `trustProxy` | `false` | Express `trust proxy`. Use `1` on Cloud Run. Unauthenticated key is `req.ip` |
|
|
117
|
+
|
|
118
|
+
Skip: `GET /health`, `/healthz`, `/openapi.json`, `/swagger` (trailing slashes and letter case ignored). 429 is `APIError` `code: "rate-limit-exceeded"` with `Retry-After` and `RateLimit` / `RateLimit-Policy`. JWT login/signup/refresh ignore a stale access token. Operator guide: [Rate limiting](../how-to/rate-limiting.md).
|
|
119
|
+
|
|
120
|
+
#### Per-route limits
|
|
121
|
+
|
|
122
|
+
`createRouteRateLimitMiddleware({name, max, windowMs, store?, keyBy?})` returns Express middleware with its own fixed-window bucket, independent of `TerrenoApp` `rateLimit`. `keyBy` is `"ip"` (default, `req.ip`) or `"user"` (falls back to IP). `name` namespaces the bucket. Same stores and 429 shape as the global limiter. Set Express `trust proxy` behind a load balancer so `req.ip` is the client.
|
|
123
|
+
|
|
124
|
+
### MCP service tokens
|
|
125
|
+
|
|
126
|
+
Opt-in. Omitted or `enabled: false` leaves `/mcp/service-tokens` unmounted and ignores `mcp_` Bearer credentials on `/mcp`.
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
new TerrenoApp({
|
|
130
|
+
userModel: User,
|
|
131
|
+
mcpServiceTokens: {
|
|
132
|
+
enabled: true,
|
|
133
|
+
publicMcpUrl: process.env.PUBLIC_API_URL,
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
`mcpServiceTokens: true` is `{enabled: true}`. When enabled, TerrenoApp mounts the self-serve routes (passing its OpenAPI bundle) and sets `mcpServiceTokens` on MCP auth. Operator steps: [Connect an MCP client with a service token](../how-to/connect-mcp-service-token.md).
|
|
139
|
+
|
|
140
|
+
### Audit log (`AuditApp`)
|
|
141
|
+
|
|
142
|
+
Opt-in append-only log. Register the plugin; importing `@terreno/api` does **not** compile `AuditEvent` onto the default mongoose connection. The compiled Mongoose name is `TerrenoAuditEvent` on collection `auditevents`. Admin UI and RBAC keep `AuditEvent` / `adminAuditEvent`.
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import {
|
|
146
|
+
AuditApp,
|
|
147
|
+
persistRbacAuditToAuditEvent,
|
|
148
|
+
TerrenoApp,
|
|
149
|
+
modelRouter,
|
|
150
|
+
} from "@terreno/api";
|
|
151
|
+
|
|
152
|
+
new TerrenoApp({userModel: User})
|
|
153
|
+
.register(new AuditApp()) // optional {retentionDays: 90}
|
|
154
|
+
.register(
|
|
155
|
+
modelRouter("/todos", Todo, {
|
|
156
|
+
audit: true, // or {redact: ["ssn"]}
|
|
157
|
+
permissions: {/* ... */},
|
|
158
|
+
})
|
|
159
|
+
)
|
|
160
|
+
.start();
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
| Surface | How it writes |
|
|
164
|
+
| --- | --- |
|
|
165
|
+
| `modelRouter` | `audit: true` or `{redact?: string[]}` after successful HTTP create/update/delete and array push/update/remove |
|
|
166
|
+
| `AdminApp` | Auto when `AuditApp` is registered (`source: "admin"`). `onAdminAudit` is extra |
|
|
167
|
+
| RBAC | `createAccess({auditSink: persistRbacAuditToAuditEvent})` (`source: "rbac"`) |
|
|
168
|
+
|
|
169
|
+
HTTP is list+read only: `GET /audit-events` with `Permissions.IsAdmin`. Empty create/update/delete permission arrays mean POST/PATCH/DELETE return **405**, including `/admin/audit-events` (`admin.adminPermissions`). Non-admin list is also **405** (`permissionMiddleware`). There is no `isDeletedPlugin`; rows are not soft-deleted.
|
|
170
|
+
|
|
171
|
+
`createAuditEventModel(connection, {retentionDays?})` is the factory for tests and scripts. Never audit `AuditEvent` itself. Diffs run on the request; persist is fire-and-forget (the HTTP handler does not await Mongo). Recorder failures (including serialization) log and leave the mutation 2xx. Secret field names (`password`, `hash`, `salt`, `token`, `secret`, `refreshToken`) are stripped at every object and array depth, including compound keys such as `tokenHash`. AdminApp diffs also omit `hiddenFields` and `excludeFields`.
|
|
172
|
+
|
|
173
|
+
When `GCP_TASKS_AUDIT_QUEUE`, `AUDIT_TASKS_URL`, `GCP_PROJECT`, `GCP_LOCATION`, and `AUDIT_TASKS_SECRET` are set, `AuditApp` enqueues the write with Cloud Tasks (`@google-cloud/tasks` optional install) instead of writing Mongo in-process, and mounts `POST /internal/audit-events` (header `X-Terreno-Audit-Secret`) so the worker persists. Pass `enqueue` yourself to use any other queue. Default retention is forever (no TTL index). `new AuditApp({retentionDays: n})` for `n > 0` replaces the plugin `{created: 1}` index with `{created: 1, expireAfterSeconds: n * 86400}`. Drop that index yourself if you later remove TTL. Operator steps: [Enable the framework audit log](../how-to/audit-log.md).
|
|
174
|
+
|
|
175
|
+
### setupServer (Legacy)
|
|
176
|
+
|
|
177
|
+
Callback-based pattern:
|
|
178
|
+
|
|
179
|
+
``````typescript
|
|
180
|
+
import {setupServer, modelRouter} from "@terreno/api";
|
|
181
|
+
|
|
182
|
+
setupServer({
|
|
183
|
+
userModel: User,
|
|
184
|
+
addRoutes: (router) => {
|
|
185
|
+
router.use("/todos", modelRouter(Todo, options));
|
|
186
|
+
},
|
|
187
|
+
});
|
|
188
|
+
``````
|
|
189
|
+
|
|
190
|
+
Both patterns create the same middleware stack (CORS, auth, logging, OpenAPI). HTTP rate limiting is a `TerrenoApp` option only — migrate from `setupServer` to `TerrenoApp` to enable it.
|
|
191
|
+
|
|
192
|
+
## Collection catalog
|
|
193
|
+
|
|
194
|
+
`modelRouter("/path", Model, options)` writes one catalog record per route path. MCP, realtime, and sync surfaces read that record; TerrenoApp calls `replaceCollectionOptions` once when access control is injected. Test helpers `clearMCPRegistry`, `clearRealtimeRegistry`, and `clearSyncRegistry` clear the entire catalog.
|
|
195
|
+
|
|
196
|
+
## modelRouter actions
|
|
197
|
+
|
|
198
|
+
Named GET/POST operations on a collection or document. Use these instead of `app.get` /
|
|
199
|
+
`app.post` / `router.get` / `router.post` for application APIs.
|
|
200
|
+
|
|
201
|
+
See [modelRouter actions](../explanation/model-router-actions.md). Example:
|
|
202
|
+
|
|
203
|
+
```typescript
|
|
204
|
+
export const todoRouter = modelRouter("/todos", Todo, {
|
|
205
|
+
collectionActions: {
|
|
206
|
+
bulkComplete: {
|
|
207
|
+
method: "POST",
|
|
208
|
+
permissions: [Permissions.IsAuthenticated],
|
|
209
|
+
body: z.object({ids: z.array(z.string()).min(1)}).strict(),
|
|
210
|
+
handler: async ({body, user}) => {
|
|
211
|
+
return {matched: 0, modified: 0};
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
instanceActions: {
|
|
216
|
+
markComplete: {
|
|
217
|
+
method: "POST",
|
|
218
|
+
permissions: [Permissions.IsOwner],
|
|
219
|
+
handler: async ({doc}) => {
|
|
220
|
+
return doc;
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
permissions: { /* CRUD */ },
|
|
225
|
+
});
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Do not add `endpoints: (router) => { router.get(...) }` when an action fits.
|
|
229
|
+
Action config supports `allowAnonymous: true` as a per-action override; it does not change authentication for CRUD or sibling actions.
|
|
230
|
+
|
|
231
|
+
| Option | Meaning |
|
|
232
|
+
| --- | --- |
|
|
233
|
+
| `method` | `"GET"` or `"POST"` |
|
|
234
|
+
| `permissions` | Required unless `access` is set. `[]` disables the action (405) |
|
|
235
|
+
| `access` | RBAC `{resource, action}` checked with the router's `accessControl` |
|
|
236
|
+
| `allowAnonymous` | Accept unauthenticated calls for this action only |
|
|
237
|
+
| `body` / `query` | Zod schemas; failures are 400 `Validation failed` with `meta.fields` |
|
|
238
|
+
| `response` | Zod schema for OpenAPI |
|
|
239
|
+
| `status` | Success status (default 200) |
|
|
240
|
+
| `summary` / `description` / `tag` | OpenAPI metadata |
|
|
241
|
+
| `mcp` | `{name, description?}` — also expose the action as an MCP tool named `name` |
|
|
242
|
+
| `unwrapResponse` | REST only. Send the return value as the body instead of `{data: …}`; `undefined` sends an empty body |
|
|
243
|
+
|
|
244
|
+
An action with `mcp` runs the same permission chain (including RBAC `access`) over `/mcp`. Its input is `{id, ...body}` for an instance POST, `{id, ...query}` for an instance GET, and the body or query alone for a collection action, so `body` / `query` must be a `z.object()`, and an instance action's schema cannot define `id`. A collection action's `id` field passes through to its body or query. The handler receives `req.isMCPRequest === true` and a `res` that throws if touched. See [modelRouter actions → MCP tools](../explanation/model-router-actions.md#mcp-tools).
|
|
245
|
+
|
|
246
|
+
## modelRouter write scope
|
|
247
|
+
|
|
248
|
+
Create and update check the document as it will be written, not only as it was loaded. REST,
|
|
249
|
+
MCP tools, and sync mutations all share this check. A non-admin caller gets `403` with title
|
|
250
|
+
`Write scope violation on {Model}` when:
|
|
251
|
+
|
|
252
|
+
- The router uses `Permissions.IsOwner` or `Permissions.IsOwnerOrReadOnly` on any method, and
|
|
253
|
+
a create (after `preCreate`) sets `ownerId` to someone other than the caller. A create that
|
|
254
|
+
leaves `ownerId` unset is still allowed.
|
|
255
|
+
- The router's `update` permissions use `IsOwner` or `IsOwnerOrReadOnly`, and the update would
|
|
256
|
+
set `ownerId` to someone else or clear it.
|
|
257
|
+
- The router uses RBAC `access`, and the written document fails the role check or the router
|
|
258
|
+
`access.scope` for that method. For example, with `scope: OwnerScope()`, a create or update
|
|
259
|
+
must leave `ownerId` set to the caller. Entries in `access.also` other than `IsOwner` /
|
|
260
|
+
`IsOwnerOrReadOnly` run only against the loaded document.
|
|
261
|
+
|
|
262
|
+
Admins pass `IsOwner`, so they can still reassign records. Admin-window sync writes skip this
|
|
263
|
+
check, as they skip the other modelRouter permissions.
|
|
264
|
+
|
|
265
|
+
## modelRouter list queries
|
|
266
|
+
|
|
267
|
+
`GET /{path}` accepts filters on fields listed in `queryFields` (qs syntax, so operators work:
|
|
268
|
+
`?status[$in][0]=open&created[$gte]=2026-01-01`), plus the reserved `limit`, `page`, and `sort`.
|
|
269
|
+
`limit` is clamped to `maxLimit` (default 500); the response echoes the applied `limit` with
|
|
270
|
+
`{data, limit, more, page, total}`.
|
|
271
|
+
|
|
272
|
+
A filter on a field missing from `queryFields` is rejected before query validation runs, so
|
|
273
|
+
it can never be stripped and silently ignored:
|
|
274
|
+
|
|
275
|
+
```json
|
|
276
|
+
{
|
|
277
|
+
"status": 400,
|
|
278
|
+
"code": "query-param-not-allowed",
|
|
279
|
+
"title": "Query parameter not allowed",
|
|
280
|
+
"detail": "title is not allowed as a query param. Add \"title\" to queryFields on the Todo modelRouter to filter on it. Allowed: completed, created, ownerId.",
|
|
281
|
+
"source": {"parameter": "title"},
|
|
282
|
+
"meta": {"queryParam": "title", "model": "Todo", "allowedQueryFields": ["completed", "created", "ownerId"]}
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
`@terreno/syncdb` raises this as `QueryFieldNotAllowedError` (see
|
|
287
|
+
[Query windows](syncdb.md#query-windows)).
|
|
288
|
+
|
|
289
|
+
`sort` is allowlisted the same way. A client sort (`?sort=-created name`, or the object form
|
|
290
|
+
`?sort[created]=-1`) may name only fields in `queryFields`, fields named in the router's own
|
|
291
|
+
`sort`, and fields in `sortFields`. Any other field, or a repeated `sort` parameter, returns 400
|
|
292
|
+
before the query runs:
|
|
293
|
+
|
|
294
|
+
```json
|
|
295
|
+
{
|
|
296
|
+
"status": 400,
|
|
297
|
+
"code": "sort-field-not-allowed",
|
|
298
|
+
"title": "Sort field not allowed",
|
|
299
|
+
"source": {"parameter": "sort"},
|
|
300
|
+
"meta": {"sortField": "priority", "model": "Todo", "allowedSortFields": ["completed", "created", "ownerId"]}
|
|
301
|
+
}
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Use `sortFields` for columns clients may order by but not filter on:
|
|
305
|
+
|
|
306
|
+
```typescript
|
|
307
|
+
modelRouter("/todos", Todo, {
|
|
308
|
+
queryFields: ["completed", "ownerId"],
|
|
309
|
+
sort: "-created",
|
|
310
|
+
sortFields: ["title", "priority"],
|
|
311
|
+
});
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Sort order reveals a field's values (one compound sort exposes a hidden boolean), so keep
|
|
315
|
+
fields hidden from some readers (RBAC field views, `responseHandler` stripping) out of
|
|
316
|
+
`queryFields` and `sortFields`. `AdminApp` passes each model's `sortableFields` as `sortFields`.
|
|
317
|
+
|
|
318
|
+
## modelRouter array operations
|
|
319
|
+
|
|
320
|
+
When a model has at least one array field, `modelRouter` provides subroutes for adding,
|
|
321
|
+
updating, and removing array items:
|
|
322
|
+
|
|
323
|
+
| Method | Path | Operation |
|
|
324
|
+
| --- | --- | --- |
|
|
325
|
+
| `POST` | `/:id/:field` | Append an item |
|
|
326
|
+
| `PATCH` | `/:id/:field/:itemId` | Replace or merge an item |
|
|
327
|
+
| `DELETE` | `/:id/:field/:itemId` | Remove an item |
|
|
328
|
+
|
|
329
|
+
Each operation runs like a `PATCH` that replaces the whole field. The transform, `preUpdate`,
|
|
330
|
+
and RBAC write checks see `{[field]: newArray}`, and only the body they return is saved. A
|
|
331
|
+
`PATCH` of a subdocument merges into a copy of the item, so a hook (or admin `readonlyFields`)
|
|
332
|
+
that drops the field leaves the stored item unchanged.
|
|
333
|
+
|
|
334
|
+
`:id` must be an ObjectId. Any other id leaves this router so a later route on the same
|
|
335
|
+
prefix can handle it. `POST /ai/observability/evaluators` is not an array push on a model
|
|
336
|
+
mounted at `/ai`.
|
|
337
|
+
|
|
338
|
+
The `field` path must resolve to an array on the document. Requests for scalar, object,
|
|
339
|
+
or unknown fields run the normal update transform and `preUpdate` hook first so consumer
|
|
340
|
+
authorization remains authoritative, then return `400` with code
|
|
341
|
+
`array-operation-field-not-array` if the hook allows the request.
|
|
342
|
+
|
|
343
|
+
## MCP tools
|
|
344
|
+
|
|
345
|
+
Opt a model into Model Context Protocol tools with `mcp` on `modelRouter`. `TerrenoApp` mounts `POST /mcp` when any model has `mcp` or a custom tool is registered.
|
|
346
|
+
|
|
347
|
+
```typescript
|
|
348
|
+
const todoRouter = modelRouter("/todos", Todo, {
|
|
349
|
+
mcp: {
|
|
350
|
+
excludeFields: ["ownerId"],
|
|
351
|
+
methods: ["list", "read", "create", "update", "delete"],
|
|
352
|
+
},
|
|
353
|
+
permissions: { /* same as REST */ },
|
|
354
|
+
});
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
Named operations become tools with `mcp: {name}` on a `collectionActions` / `instanceActions` entry (see [modelRouter actions](#modelrouter-actions)). Cross-model tools use `registerMCPTool` (see the example backend's `users_todo_statuses`). How-to: [Expose MCP tools](../how-to/expose-mcp-tools.md). In-process Vercel AI SDK wrappers: `getMCPTools` from `@terreno/ai`.
|
|
358
|
+
|
|
359
|
+
Create, update, and delete tools share REST permission, hook, and persistence semantics: they call the same `executeCreate` / `executeUpdate` / `executeDelete` pipeline. MCP error results use `APIError.title` (for example `Create not allowed`, `preCreate hook error`). User-role stripping for RBAC User writes happens in the executor after hooks; MCP supplies the registry `modelName` for that check. List and read stay MCP handlers. `excludeFields` and `mcpResponseHandler` still apply after the executor returns. Invalid ids on instance writes 404 only when the document `_id` cannot be cast, not when a populate ref fails.
|
|
360
|
+
|
|
361
|
+
### MCP service token model
|
|
362
|
+
|
|
363
|
+
`McpServiceToken` stores the hashed credential records used by the optional MCP service-token feature. It is not a `modelRouter` model: consumer-facing create, list, and revoke routes are registered only when `mcpServiceTokens` is enabled on `TerrenoApp`.
|
|
364
|
+
|
|
365
|
+
```typescript
|
|
366
|
+
import {McpServiceToken} from "@terreno/api";
|
|
367
|
+
|
|
368
|
+
const {mcpServiceToken, token} = await McpServiceToken.issueFor(
|
|
369
|
+
{_id: user._id},
|
|
370
|
+
{name: "Perplexity"}
|
|
371
|
+
);
|
|
372
|
+
// Store or show `token` once. Only its SHA-256 hash is persisted.
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
The token begins with `mcp_` followed by 32 random bytes encoded as hex. `issueFor` records the user's `tokenEpoch` (pass it on the user argument; default 0). `/mcp` refuses a token whose recorded epoch differs from the user's current `tokenEpoch` and sets its `revokedAt`, so a password reset, Better Auth password change, or session revocation ends every key minted before it. A row stored without `tokenEpoch` counts as epoch 0. `revokeOutdatedForUser(user)` revokes the user's keys from earlier epochs; the list and create routes call it so the list shows them as revoked. `verify(token)` returns `null` for unknown, expired, or revoked tokens. `revokeForUser(user, tokenId)` records `revokedAt`, and `countActiveForUser(userId)` excludes expired or revoked records. Document `deleteOne` (admin DELETE) also sets `revokedAt` and leaves the row for audit. Never return or log `tokenHash` or the plaintext token outside the initial issue result.
|
|
376
|
+
|
|
377
|
+
Self-serve HTTP routes live at `/mcp/service-tokens`. `TerrenoApp` mounts them when `mcpServiceTokens` is enabled, passing its OpenAPI bundle. You can also call `addMcpServiceTokenRoutes(app, {publicMcpUrl, openApi})` yourself. They require session or JWT auth and **reject** `Authorization: Bearer mcp_…` so a service token cannot mint or list tokens.
|
|
378
|
+
|
|
379
|
+
| Method | Path | Body / params | Response |
|
|
380
|
+
| --- | --- | --- | --- |
|
|
381
|
+
| POST | `/mcp/service-tokens` | `{name, expiresAt?}` | `{data: {id, name, token, tokenPrefix, mcpUrl, expiresAt, created}}` |
|
|
382
|
+
| GET | `/mcp/service-tokens` | `?page&limit` | `{data, page, limit, total, more}` — no `token` or `tokenHash` |
|
|
383
|
+
| DELETE | `/mcp/service-tokens/:id` | — | `{data: {id, revokedAt}}` — owner only |
|
|
384
|
+
|
|
385
|
+
`expiresAt` is an optional ISO-8601 datetime (Luxon `DateTime.fromISO`). Omit it for a token that does not expire. Create returns `mcpUrl` from `publicMcpUrl`, else `BETTER_AUTH_URL`, else the request host, with `/mcp` appended when missing. An 11th **active** token for the same user is `400`. Revoke and cross-owner access are `404`. List includes revoked rows for the owner so the UI can show history. Default page size is 100 (maximum 100).
|
|
386
|
+
|
|
387
|
+
### MCP OAuth
|
|
388
|
+
|
|
389
|
+
Opt-in OAuth 2.1 authorization server for `/mcp`, so remote MCP clients (Claude.ai custom connectors, ChatGPT apps) can connect to an app that signs users in with Terreno JWTs. Everything is off by default. Omitted or `enabled: false` mounts no `/oauth/*` route and no `.well-known/oauth-*` document, and `/mcp` sends no OAuth challenge. Dynamic client registration is a second opt-in on top of `enabled`.
|
|
390
|
+
|
|
391
|
+
```typescript
|
|
392
|
+
new TerrenoApp({
|
|
393
|
+
userModel: User,
|
|
394
|
+
mcpOAuth: {
|
|
395
|
+
allowedRedirectHosts: ["claude.ai", "chatgpt.com", "localhost"],
|
|
396
|
+
consentUrl: "https://app.example.com/oauth/consent",
|
|
397
|
+
dynamicClientRegistration: true, // omit to accept only clients you create
|
|
398
|
+
enabled: true,
|
|
399
|
+
issuer: "https://api.example.com",
|
|
400
|
+
},
|
|
401
|
+
});
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
| Option | Default | Meaning |
|
|
405
|
+
| --- | --- | --- |
|
|
406
|
+
| `issuer` | — | Public origin of the API (no path). RFC 8414 `issuer` and base of every endpoint URL. Must be https outside localhost |
|
|
407
|
+
| `consentUrl` | — | App page that hosts the consent screen; receives `?request=<id>` |
|
|
408
|
+
| `enabled` | — | Turns the authorization server on. Every other option is ignored while false |
|
|
409
|
+
| `dynamicClientRegistration` | `false` | Mount `POST /oauth/register` and advertise `registration_endpoint`. The endpoint is unauthenticated, so anyone who can reach the API can create a client; leave it off unless clients you cannot pre-register must connect |
|
|
410
|
+
| `allowedRedirectHosts` | `[]` | Hostnames a registering client may put redirect URIs on. Required (non-empty) with `dynamicClientRegistration`, unused without it. `*.example.com` matches subdomains. Add `localhost` for loopback `http://` redirects |
|
|
411
|
+
| `resource` | `${issuer}/mcp` | RFC 8707 resource identifier |
|
|
412
|
+
| `scopesSupported` | `["mcp"]` | Advertised and accepted scopes. Terreno does not map scopes to tools: a token may call every tool its user can. Enforce scopes in permissions with `requireOAuthScope` (see [Request credential](#request-credential)) |
|
|
413
|
+
| `accessTokenTtlSeconds` | 3600 | Access token lifetime |
|
|
414
|
+
| `refreshTokenTtlSeconds` | 30 days | Refresh token lifetime |
|
|
415
|
+
| `authorizationRequestTtlSeconds` | 600 | How long a request waits for a consent decision |
|
|
416
|
+
| `authorizationCodeTtlSeconds` | 60 | How long a code can be exchanged |
|
|
417
|
+
|
|
418
|
+
Misconfiguration (an issuer with a path, a non-URL `consentUrl`, registration on with no redirect hosts) throws at boot. With registration off, create clients yourself as `McpOAuthClient` documents (`clientId`, `clientName`, `redirectUris`, `grantTypes: ["authorization_code", "refresh_token"]`, `responseTypes: ["code"]`); `/oauth/register` is then 404 and the metadata has no `registration_endpoint`.
|
|
419
|
+
|
|
420
|
+
| Method | Path | Auth | Purpose |
|
|
421
|
+
| --- | --- | --- | --- |
|
|
422
|
+
| GET | `/.well-known/oauth-protected-resource` and `/.well-known/oauth-protected-resource/mcp` | none | RFC 9728 metadata: `resource`, `authorization_servers`, `bearer_methods_supported`, `scopes_supported` |
|
|
423
|
+
| GET | `/.well-known/oauth-authorization-server` | none | RFC 8414 metadata: `issuer`, endpoints, `response_types_supported: ["code"]`, `grant_types_supported`, `code_challenge_methods_supported: ["S256"]`, `token_endpoint_auth_methods_supported: ["none"]` |
|
|
424
|
+
| POST | `/oauth/register` | none | Only with `dynamicClientRegistration`. RFC 7591 dynamic client registration. Public clients only. 201 with `client_id`; `invalid_redirect_uri` for a redirect outside `allowedRedirectHosts`, non-https (except loopback), or with a fragment |
|
|
425
|
+
| GET | `/oauth/authorize` | none | Validates `client_id`, `redirect_uri`, `response_type=code`, PKCE (`S256` only), `scope`, and `resource`, stores a pending request, and redirects to `consentUrl?request=<id>`. An unknown client or unregistered redirect is a 400 in place; other errors redirect with `error` and `state` |
|
|
426
|
+
| GET | `/oauth/authorize/:request` | JWT or session | What the consent screen shows: `{data: {clientId, clientName, redirectUri, redirectHost, scope, resource, expiresAt}}` |
|
|
427
|
+
| POST | `/oauth/authorize/:request/approve` | JWT or session | `{data: {redirectUrl}}` carrying `code`, `state`, and `iss` |
|
|
428
|
+
| POST | `/oauth/authorize/:request/deny` | JWT or session | `{data: {redirectUrl}}` carrying `error=access_denied` and `state` |
|
|
429
|
+
| POST | `/oauth/token` | `client_id` | `authorization_code` (with `code`, `redirect_uri`, `code_verifier`) or `refresh_token`. Returns `{access_token, token_type: "Bearer", expires_in, refresh_token, scope}` with `Cache-Control: no-store` |
|
|
430
|
+
| POST | `/oauth/revoke` | `client_id` | RFC 7009. Always 200. Revoking a refresh token revokes its whole chain |
|
|
431
|
+
|
|
432
|
+
The consent endpoints are in OpenAPI (`getMcpOAuthRequest`, `approveMcpOAuthRequest`, `denyMcpOAuthRequest`) and refuse `mcp_` and `mcpat_` bearers, so an agent cannot approve its own grants. A pending request that expired is 400 `Authorization request expired`; one already decided is 409. Protocol endpoints answer `{error, error_description}` per RFC 6749 and never carry the `requestId` member TerrenoApp adds to other JSON bodies. `/oauth/register`, `/oauth/authorize`, `/oauth/token`, and `/oauth/revoke` count against the `auth` rate-limit bucket.
|
|
433
|
+
|
|
434
|
+
Tokens are opaque (`mcpat_` access, `mcprt_` refresh) and stored only as SHA-256 hashes in `McpOAuthToken`. Each refresh rotates the pair; reusing a rotated refresh token revokes every pair issued from that authorization (its family). Codes are single-use: a failed exchange burns the code, and replaying a used code revokes the tokens it issued. The code exchange fixes the family id when it consumes the code, so a replay can revoke the family before its tokens exist.
|
|
435
|
+
|
|
436
|
+
`McpOAuthToken.revokeFamily(familyId)` first writes an `McpOAuthRevokedFamily` tombstone, then revokes every pair in the family. `McpOAuthToken.issue` refuses a tombstoned family with `McpOAuthFamilyRevokedError` (the token endpoint answers `invalid_grant`), and checks again after creating the pair, revoking it if a revoke landed meanwhile. A request that won a rotation or code exchange before a concurrent revoke therefore cannot leave a live pair behind. Tombstones expire after the family's last refresh expiry, and at least one hour after the revoke.
|
|
437
|
+
|
|
438
|
+
Models: `McpOAuthClient` (`mcpoauthclients`), `McpOAuthAuthorization` (`mcpoauthauthorizations`, TTL on `expiresAt`), `McpOAuthToken` (`mcpoauthtokens`, TTL on `refreshExpiresAt`), `McpOAuthRevokedFamily` (`mcpoauthrevokedfamilies`, unique `familyId`, TTL on `expiresAt`).
|
|
439
|
+
|
|
440
|
+
With `mcpOAuth` enabled, `/mcp` resolves `mcpat_` access tokens alongside JWTs, Better Auth sessions, and `mcp_` service tokens, and answers any request it cannot authenticate (including `initialize` and `tools/list`) with `401` and `WWW-Authenticate: Bearer resource_metadata="<issuer>/.well-known/oauth-protected-resource/mcp"`, adding `error="invalid_token"` when a credential was presented. Revoked or expired tokens and disabled users are refused. Each approval, and every pair issued from it, records the user's `tokenEpoch`; after it changes (password reset, Better Auth password change, or session revocation), the code exchange and refresh answer `invalid_grant` and `/mcp` refuses the access token, and the whole family is revoked. Operator steps: [Enable MCP OAuth for a JWT app](../how-to/enable-mcp-oauth.md).
|
|
441
|
+
|
|
442
|
+
## Authentication
|
|
443
|
+
|
|
444
|
+
@terreno/api includes built-in authentication with multiple strategies:
|
|
445
|
+
|
|
446
|
+
### Email/Password Authentication
|
|
447
|
+
|
|
448
|
+
JWT-based authentication using `passport-local-mongoose`:
|
|
449
|
+
|
|
450
|
+
``````typescript
|
|
451
|
+
import {setupServer} from "@terreno/api";
|
|
452
|
+
|
|
453
|
+
setupServer({
|
|
454
|
+
userModel: User,
|
|
455
|
+
authOptions: {
|
|
456
|
+
generateJWTPayload: (user) => ({
|
|
457
|
+
sub: user._id,
|
|
458
|
+
admin: user.admin,
|
|
459
|
+
}),
|
|
460
|
+
},
|
|
461
|
+
});
|
|
462
|
+
``````
|
|
463
|
+
|
|
464
|
+
**Endpoints:**
|
|
465
|
+
- `POST /auth/signup` — Create user account
|
|
466
|
+
- `POST /auth/login` — Authenticate with email/password
|
|
467
|
+
- `POST /auth/refresh_token` — Refresh access token
|
|
468
|
+
- `POST /auth/forgotPassword` — Always 202; mails a reset link only when the email exists
|
|
469
|
+
- `POST /auth/resetPassword` — `{token, password}`; also aliased at `POST /resetPassword` for the RTK client
|
|
470
|
+
- `POST /auth/sendVerification` — Authenticated; 202 only after delivery succeeds; mails a verification link when `emailVerified` is not true
|
|
471
|
+
- `POST /auth/verifyEmail` — `{token}` sets `emailVerified` true
|
|
472
|
+
- `GET /auth/me` — Get current user profile
|
|
473
|
+
- `PATCH /auth/me` — Update current user profile. It does not change passwords: a body with
|
|
474
|
+
`password` or `newPassword` gets 400 and nothing is saved. Change a password through
|
|
475
|
+
`POST /auth/forgotPassword` and `POST /auth/resetPassword`, or Better Auth change-password.
|
|
476
|
+
Changing the email needs the current password; see [Changing the email on PATCH /auth/me](#changing-the-email-on-patch-authme)
|
|
477
|
+
|
|
478
|
+
#### Changing the email on PATCH /auth/me
|
|
479
|
+
|
|
480
|
+
A body whose `email` differs from the stored email (compared after trimming and lowercasing)
|
|
481
|
+
must also send `currentPassword`. An unchanged email echoed back, or one that differs only in
|
|
482
|
+
letter case, needs no password. `currentPassword` is never saved.
|
|
483
|
+
|
|
484
|
+
| Case | Response | Saved |
|
|
485
|
+
|------|----------|-------|
|
|
486
|
+
| `currentPassword` missing or empty | 403 `Enter your current password to change your email.` | Nothing |
|
|
487
|
+
| Wrong `currentPassword` | 403 `The current password is incorrect.` | Nothing |
|
|
488
|
+
| passport-local-mongoose lockout reached (`limitAttempts`) | 403 with the lockout message | Nothing |
|
|
489
|
+
| User has no password (for example GitHub-only or social-only) | 400 `Set a password on your account before changing your email. …` | Nothing |
|
|
490
|
+
| Right `currentPassword` | 200 with the updated user | The whole body |
|
|
491
|
+
|
|
492
|
+
The status is 403, not 401, so `@terreno/rtk` does not treat a wrong password as an expired
|
|
493
|
+
session and log the user out.
|
|
494
|
+
|
|
495
|
+
The password is checked against the passport-local-mongoose hash first. A wrong password
|
|
496
|
+
counts toward the model's passport lockout when `limitAttempts` is on, the same counter
|
|
497
|
+
`POST /auth/login` uses. When the user has no passport hash and `BetterAuthApp` is registered,
|
|
498
|
+
the password is checked against the user's Better Auth credential account (found through
|
|
499
|
+
`betterAuthId`). TerrenoApp wires that check as `authOptions.verifyBetterAuthPassword`; hosts
|
|
500
|
+
that call `addMeRoutes` themselves can set it with `verifyBetterAuthCredentialPassword(auth,
|
|
501
|
+
user, password)`, which returns `"verified"`, `"wrong"`, or `"no-password"`.
|
|
502
|
+
|
|
503
|
+
After the change is saved, the old address gets a notice through `authOptions.sendMail` with
|
|
504
|
+
`sensitive: true`, subject `Your account email was changed`. It names the new address partially
|
|
505
|
+
masked (`r***@e***.com`), tells the reader to contact support if they did not make the change,
|
|
506
|
+
and carries no link or token. With no `sendMail`, the server logs a warning and still completes
|
|
507
|
+
the change; a delivery failure is logged and does not undo it. The change does not bump
|
|
508
|
+
`tokenEpoch`, and it does not change the Better Auth user's email.
|
|
509
|
+
|
|
510
|
+
An access JWT is read only from the `jwt` cookie or an `Authorization: Bearer <token>`
|
|
511
|
+
header; any other scheme is not a JWT credential. A user with `disabled: true` gets 401 on
|
|
512
|
+
every JWT-authenticated route, and `POST /auth/login`, `POST /auth/refresh_token`,
|
|
513
|
+
`POST /auth/resetPassword`, and `GET /auth/github/callback` refuse to issue tokens to them.
|
|
514
|
+
|
|
515
|
+
JWT recovery routes default on. In `authOptions`, set `passwordReset: false` to omit
|
|
516
|
+
forgot-password and both token-reset paths, `emailVerification: false` to omit send/verify
|
|
517
|
+
email, or `legacyResetPasswordRoute: false` to omit only the deprecated
|
|
518
|
+
`POST /resetPassword` alias while retaining `POST /auth/resetPassword`.
|
|
519
|
+
|
|
520
|
+
Signup and `PATCH /auth/me` drop the fields in `SELF_SERVICE_BLOCKED_USER_FIELDS`: the
|
|
521
|
+
privileged fields `admin`, `roles`, `organizationIds`, `emailVerified`, and `tokenEpoch`
|
|
522
|
+
(`PRIVILEGED_USER_FIELDS`), the identity-binding fields `betterAuthId`, `githubId`,
|
|
523
|
+
`githubUsername`, `githubProfileUrl`, `githubAvatarUrl`, and `oauthProvider`, the
|
|
524
|
+
passport-local-mongoose fields `hash`, `salt`, `attempts`, and `last`, and `disabled`. Only the
|
|
525
|
+
Better Auth sync, GitHub link, and password flows write those. Dotted paths into a dropped
|
|
526
|
+
field (`roles.0`, `organizationIds.1`) are dropped too, because Mongoose applies a dotted key
|
|
527
|
+
as a path into the field. With `accessControl` set, modelRouter, sync, and MCP writes to the user
|
|
528
|
+
model (compiled as `"User"`, or the `userModel` passed to `createAccess` under any name) drop
|
|
529
|
+
`PRIVILEGED_USER_FIELDS`, the passport fields `hash`, `salt`, `attempts`, and `last` (`USER_CREDENTIAL_FIELDS`), and dotted paths into them the same way; assign
|
|
530
|
+
roles with `access.roles.assign`. Those writes, plus array operations and POST instance actions on
|
|
531
|
+
the user model, also apply the RoleManager target-privilege rule: an actor whose permissions do not
|
|
532
|
+
cover the target user's gets 403 `Cannot modify a user with permissions you do not hold` on update
|
|
533
|
+
or delete. This runs on REST, sync (including admin-window mutations), and MCP. Writes to the
|
|
534
|
+
actor's own record and writes by legacy `admin: true` users are not checked. Changing another
|
|
535
|
+
user's identity fields also needs `user:updateIdentity`; see
|
|
536
|
+
[RBAC user identity writes](#rbac-user-identity-writes).
|
|
537
|
+
|
|
538
|
+
Request logs redact credential values at any depth in request bodies and in URL query strings:
|
|
539
|
+
any key whose name contains `password`, `passwd`, `passphrase`, `passcode`, `token`, `secret`,
|
|
540
|
+
`verifier`, `signature`, `apikey`, `authorization`, `credential`, or `privatekey` (case and `_`/`-`
|
|
541
|
+
ignored, so `currentPassword`, `refresh_token`, `client_secret`, and `idToken.token` all match), or
|
|
542
|
+
that has `code`, `otp`, or `pin` as a word (`code`, `zipCode`, `otp_code`). Changing the mailbox through `PATCH /auth/me`
|
|
543
|
+
invalidates unused `passwordReset` AuthTokens for that user even when the schema has no
|
|
544
|
+
`emailVerified` field. When the schema uses `emailVerificationPlugin`, mailbox change also
|
|
545
|
+
sets `emailVerified` to false and invalidates unused `emailVerification` tokens; changing letter
|
|
546
|
+
casing alone does not.
|
|
547
|
+
|
|
548
|
+
**AuthToken (password reset / email verification):** hashed single-use tokens live in a separate
|
|
549
|
+
`AuthToken` collection, not on User. `AuthToken.issueFor(user, type)` invalidates other
|
|
550
|
+
unused, unexpired tokens of that type for the same user, then returns a 32-byte hex
|
|
551
|
+
plaintext once and stores only the SHA-256 hash. `AuthToken.consume(token, type)` atomically
|
|
552
|
+
marks one unused, unexpired row. TTL is 1 hour for `passwordReset` and 24 hours for
|
|
553
|
+
`emailVerification` (`AUTH_TOKEN_TTL`). Mongo also TTL-indexes `expiresAt`.
|
|
554
|
+
|
|
555
|
+
Wire `authOptions.publicAppUrl` and `authOptions.sendMail` (typically
|
|
556
|
+
`getCommsService().sendMail`) so forgot-password can deliver the link
|
|
557
|
+
`${publicAppUrl}/resetPassword?token=...`. Reset and verification mail (JWT and Better Auth)
|
|
558
|
+
has `sensitive: true` so the transport keeps no copy of the one-time link; `@terreno/comms`
|
|
559
|
+
stores no payload for it. Forgot-password skips issuing a token when
|
|
560
|
+
`publicAppUrl` is missing. Authenticated `POST /auth/sendVerification` returns 501 in that
|
|
561
|
+
case instead of 202. Email lookup is case-insensitive. Successful reset calls `setPassword`, increments
|
|
562
|
+
`tokenEpoch` so outstanding **refresh** tokens and MCP credentials (`mcp_` service tokens and
|
|
563
|
+
`mcpat_`/`mcprt_` OAuth grants) fail, and returns new JWT tokens. When
|
|
564
|
+
`BetterAuthApp` is registered, JWT reset also updates that user's Better Auth password
|
|
565
|
+
and deletes Better Auth sessions. Better Auth password reset updates the JWT password
|
|
566
|
+
and `tokenEpoch` for the matching app User. Access
|
|
567
|
+
tokens stay valid until expiry (default 15m). `POST /resetPassword`
|
|
568
|
+
matches the `@terreno/rtk` `resetPassword` mutation path (`password` or `newPassword`).
|
|
569
|
+
|
|
570
|
+
For any other server-side password change, such as an admin "set password" action, call
|
|
571
|
+
`changeUserPassword(user, password, {adminId, app: req.app})`. It does what reset does: sets the
|
|
572
|
+
passport password, increments `tokenEpoch`, saves, and, when `BetterAuthApp` is registered (or
|
|
573
|
+
`authOptions.syncPasswordResetToBetterAuth` is set), sets the Better Auth password and deletes
|
|
574
|
+
that user's Better Auth sessions. `adminId` adds the audit log line. Pass `authOptions` instead
|
|
575
|
+
of `app` outside a request. `setPasswordForUser` alone only sets the hash and revokes nothing.
|
|
576
|
+
|
|
577
|
+
Add `tokenEpoch` (number, default 0) on the User schema so epoch bumps persist under
|
|
578
|
+
`strict: "throw"`. See `example-backend` User. Opt in to `emailVerified` with
|
|
579
|
+
`emailVerificationPlugin`. Set `authOptions.requireEmailVerification` to reject login
|
|
580
|
+
with 403 `email-not-verified` until `POST /auth/verifyEmail`. Signup still returns JWTs
|
|
581
|
+
and sends `${publicAppUrl}/verifyEmail?token=...` so the user can complete verification.
|
|
582
|
+
|
|
583
|
+
**Environment variables:**
|
|
584
|
+
- `TOKEN_SECRET` — JWT signing secret (required)
|
|
585
|
+
- `TOKEN_ISSUER` — JWT issuer claim (required)
|
|
586
|
+
- `REFRESH_TOKEN_SECRET` — Refresh token secret (required)
|
|
587
|
+
- `SESSION_SECRET` — Express session secret (required)
|
|
588
|
+
- `TOKEN_EXPIRES_IN` — Token expiration (default: `15m`)
|
|
589
|
+
- `REFRESH_TOKEN_EXPIRES_IN` — Refresh token expiration (default: `30d`)
|
|
590
|
+
- `SIGNUP_DISABLED` — Set to `"true"` to disable user signup endpoint
|
|
591
|
+
|
|
592
|
+
### GitHub OAuth Authentication
|
|
593
|
+
|
|
594
|
+
Add GitHub OAuth login to your API:
|
|
595
|
+
|
|
596
|
+
``````typescript
|
|
597
|
+
import {githubUserPlugin, setupServer} from "@terreno/api";
|
|
598
|
+
|
|
599
|
+
// Add GitHub fields to user schema
|
|
600
|
+
userSchema.plugin(githubUserPlugin);
|
|
601
|
+
|
|
602
|
+
setupServer({
|
|
603
|
+
userModel: User,
|
|
604
|
+
githubAuth: {
|
|
605
|
+
clientId: process.env.GITHUB_CLIENT_ID!,
|
|
606
|
+
clientSecret: process.env.GITHUB_CLIENT_SECRET!,
|
|
607
|
+
callbackURL: process.env.GITHUB_CALLBACK_URL!,
|
|
608
|
+
scope: ["user:email"],
|
|
609
|
+
allowAccountLinking: true,
|
|
610
|
+
allowedReturnTo: ["https://app.example.com", "myapp://auth"],
|
|
611
|
+
},
|
|
612
|
+
});
|
|
613
|
+
``````
|
|
614
|
+
|
|
615
|
+
`allowedReturnTo` lists the exact http(s) origins or custom-scheme authorities that
|
|
616
|
+
`GET /auth/github?returnTo=` may name. A value outside the list returns 400, the callback checks
|
|
617
|
+
it again before redirecting, and tokens go in the URL fragment. Without `allowedReturnTo`,
|
|
618
|
+
`returnTo` is ignored and the callback returns JSON.
|
|
619
|
+
|
|
620
|
+
**Endpoints (when configured):**
|
|
621
|
+
- `GET /auth/github` — Initiate OAuth flow
|
|
622
|
+
- `GET /auth/github/callback` — OAuth callback handler
|
|
623
|
+
- `GET /auth/github/link` — Link GitHub to authenticated user (requires JWT; the user ID is bound into the OAuth state)
|
|
624
|
+
- `DELETE /auth/github/unlink` — Unlink GitHub from account (requires JWT)
|
|
625
|
+
|
|
626
|
+
The flow sets a signed, HttpOnly, `SameSite=Lax` `terreno_github_oauth_state` cookie (10 minute
|
|
627
|
+
lifetime, signed with `SESSION_SECRET`, falling back to `TOKEN_SECRET`). The callback accepts the
|
|
628
|
+
GitHub response only with a matching, unexpired, single-use state, and links an account only to
|
|
629
|
+
the user recorded by `/auth/github/link`. `findOrCreateUser`'s `existingUser` argument is that
|
|
630
|
+
user, not the callback request's `req.user`.
|
|
631
|
+
|
|
632
|
+
**Learn more:** [Add GitHub OAuth authentication](../how-to/add-github-oauth.md)
|
|
633
|
+
|
|
634
|
+
### Better Auth Authentication
|
|
635
|
+
|
|
636
|
+
Add Better Auth as an alternative authentication system with built-in social OAuth:
|
|
637
|
+
|
|
638
|
+
``````typescript
|
|
639
|
+
import {BetterAuthApp, TerrenoApp} from "@terreno/api";
|
|
640
|
+
|
|
641
|
+
const betterAuthConfig = {
|
|
642
|
+
enabled: true,
|
|
643
|
+
secret: process.env.BETTER_AUTH_SECRET,
|
|
644
|
+
baseURL: process.env.BETTER_AUTH_URL,
|
|
645
|
+
trustedOrigins: ["yourapp://", "exp://"],
|
|
646
|
+
googleOAuth: {
|
|
647
|
+
clientId: process.env.GOOGLE_CLIENT_ID!,
|
|
648
|
+
clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
|
|
649
|
+
},
|
|
650
|
+
githubOAuth: {
|
|
651
|
+
clientId: process.env.GITHUB_CLIENT_ID!,
|
|
652
|
+
clientSecret: process.env.GITHUB_CLIENT_SECRET!,
|
|
653
|
+
},
|
|
654
|
+
};
|
|
655
|
+
|
|
656
|
+
const app = new TerrenoApp({userModel: User});
|
|
657
|
+
app.register(new BetterAuthApp({config: betterAuthConfig, userModel: User}));
|
|
658
|
+
const server = app.start();
|
|
659
|
+
``````
|
|
660
|
+
|
|
661
|
+
Set `publicAppUrl`, `sendMail`, and `renderAuthMail` (from `@terreno/comms`) so Better Auth
|
|
662
|
+
`sendResetPassword` / `sendVerificationEmail` use the same templates as JWT recovery mail.
|
|
663
|
+
Those hooks throw 501 and do not send when `publicAppUrl` is missing, so links are never
|
|
664
|
+
relative. Password reset also sets `revokeSessionsOnPasswordReset`, so existing Better Auth sessions
|
|
665
|
+
are deleted when that reset path succeeds. JWT `POST /auth/resetPassword` updates the
|
|
666
|
+
Better Auth password and deletes those sessions when `BetterAuthApp` is registered.
|
|
667
|
+
With a user model, Better Auth `reset-password` sets the same password as the app `User`'s JWT
|
|
668
|
+
password and bumps `tokenEpoch`. `change-password` sets the new JWT password only on an app
|
|
669
|
+
`User` that already has one. `change-password`, `revoke-sessions`, and `revoke-other-sessions`
|
|
670
|
+
bump `tokenEpoch` for the linked app `User`, so JWT refresh tokens and MCP credentials issued
|
|
671
|
+
before the change stop working.
|
|
672
|
+
Optional `authMailTemplates` overrides
|
|
673
|
+
subject/text/html per template id.
|
|
674
|
+
|
|
675
|
+
In-process seed helpers (for example `seedBetterAuthUserInProcess`) should pass
|
|
676
|
+
`disableRateLimit: true` on that throwaway Better Auth instance. Better Auth
|
|
677
|
+
turns its built-in limiter on when `NODE_ENV=production`, so seeding six demo
|
|
678
|
+
users during a preview smoke test otherwise 429s on the fourth signup. Do not
|
|
679
|
+
set this on the public `BetterAuthApp`.
|
|
680
|
+
|
|
681
|
+
`options` passes any other Better Auth option, deep-merged over Terreno's defaults (arrays
|
|
682
|
+
replaced, explicit values win), and `plugins` appends Better Auth plugins after `bearer()`.
|
|
683
|
+
See [Pass other Better Auth options and plugins](../how-to/configure-better-auth.md#pass-other-better-auth-options-and-plugins)
|
|
684
|
+
for the defaults each override replaces.
|
|
685
|
+
|
|
686
|
+
`createBetterAuthSessionMiddleware` does not set `req.user` from a session cookie on a `POST`,
|
|
687
|
+
`PUT`, `PATCH`, or `DELETE` whose `Origin` (or `Referer` origin) is `null` or is not a Better Auth
|
|
688
|
+
trusted origin (`trustedOrigins` plus the API's own origin), or that has neither header but
|
|
689
|
+
`Sec-Fetch-Site: cross-site`. Bearer session requests, safe methods, and requests without those
|
|
690
|
+
browser headers are unchanged; `advanced.disableCSRFCheck` disables the check.
|
|
691
|
+
|
|
692
|
+
On first contact, `syncBetterAuthUser` finds the app `User` by `betterAuthId` and creates it
|
|
693
|
+
when missing. It links an existing app `User` that has the same email only when Better Auth has
|
|
694
|
+
verified that email and the row has no other `betterAuthId`. Otherwise the session does not set
|
|
695
|
+
`req.user` and the socket handshake is refused, until the address is verified. When a verified
|
|
696
|
+
email links a row whose own `emailVerified` is not `true`, its legacy passport password is removed
|
|
697
|
+
and `tokenEpoch` is bumped, because whoever set that password never proved the mailbox. Seeds
|
|
698
|
+
that create the Better Auth account themselves pass `{trustEmail: true}` as the fourth argument
|
|
699
|
+
to skip these checks; `seedBetterAuthUser` does.
|
|
700
|
+
|
|
701
|
+
A session whose app `User` has `disabled: true` does not set `req.user`, so protected routes
|
|
702
|
+
answer 401 while Better Auth's own routes, such as sign-out, still work. `RealtimeApp` uses the
|
|
703
|
+
registered `BetterAuthApp` instance for socket sessions. With a user model (its own or the
|
|
704
|
+
`TerrenoApp`'s), the handshake creates the app `User` on first contact and refuses disabled users.
|
|
705
|
+
The legacy JWT socket handshake loads the same user model and refuses a token whose user is
|
|
706
|
+
disabled or missing (`createSocketAuthMiddleware({tokenSecret, userModel})`).
|
|
707
|
+
|
|
708
|
+
**Social sign-in for a web app on another site (`oauthHandoff`):**
|
|
709
|
+
|
|
710
|
+
`oauthHandoff: {webOrigins, callbackPaths?}` lets a bearer-mode web client on another site
|
|
711
|
+
finish a social or generic OAuth sign-in without cookies. Unset by default, which adds no
|
|
712
|
+
routes. See [Social sign-in in bearer mode](../how-to/configure-better-auth.md#social-sign-in-in-bearer-mode).
|
|
713
|
+
|
|
714
|
+
- `webOrigins` — Exact `http(s)` origins of the web apps that may receive the token. Patterns,
|
|
715
|
+
paths, other schemes, and an empty list are rejected when Better Auth is created. Each origin
|
|
716
|
+
must also be in `trustedOrigins`.
|
|
717
|
+
- `callbackPaths` — Exact paths on those origins that may receive the token, in normal form.
|
|
718
|
+
Default `["/"]`. The query is free. List only the page that reads the token; it must never
|
|
719
|
+
redirect before it strips the fragment.
|
|
720
|
+
- Production: the framework applies the same rules in every environment, so list only the
|
|
721
|
+
deployed origins. Leave loopback origins (`localhost`, `127.0.0.1`, `[::1]`) out of a
|
|
722
|
+
production `webOrigins`: a token sent there reaches whatever runs on the visitor's machine.
|
|
723
|
+
example-backend drops them when `NODE_ENV=production` and refuses to start when none is left.
|
|
724
|
+
|
|
725
|
+
Endpoints it adds, under `basePath` (default `/api/auth`):
|
|
726
|
+
- `GET {basePath}/oauth-handoff/start?provider=<id>&callbackURL=<url>&errorCallbackURL=<url>` —
|
|
727
|
+
Starts the sign-in as a top-level page navigation, so the OAuth state cookie is first-party
|
|
728
|
+
on the API's origin. Answers 400 with no redirect unless `callbackURL` is one of
|
|
729
|
+
`callbackPaths` on one of `webOrigins`, `errorCallbackURL` (optional) is on one of
|
|
730
|
+
`webOrigins`, and `trustedOrigins` allows both. It also answers 400 when `Sec-Fetch-Dest` is
|
|
731
|
+
set and is not `document`. The OAuth callback then redirects to `callbackURL` with
|
|
732
|
+
`#ott=<token>`, a single-use token that expires in three minutes.
|
|
733
|
+
- `POST {basePath}/one-time-token/verify` — Body `{token}`. Exchanges the token once for the
|
|
734
|
+
session and the `set-auth-token` header, and sets no cookie. `GET
|
|
735
|
+
{basePath}/one-time-token/generate` is refused.
|
|
736
|
+
|
|
737
|
+
With the opt-in `rateLimit`, both paths are in the auth bucket.
|
|
738
|
+
|
|
739
|
+
**Endpoints (when enabled):**
|
|
740
|
+
- `POST /api/auth/signup/email` — Email/password signup
|
|
741
|
+
- `POST /api/auth/signin/email` — Email/password signin
|
|
742
|
+
- `GET /api/auth/signin/{provider}` — Initiate OAuth (google, github, apple)
|
|
743
|
+
- `GET /api/auth/callback/{provider}` — OAuth callback
|
|
744
|
+
- `POST /api/auth/signout` — Sign out
|
|
745
|
+
- `GET /api/auth/session` — Get session
|
|
746
|
+
|
|
747
|
+
**Environment variables:**
|
|
748
|
+
- `AUTH_PROVIDER` — Set to `"better-auth"` to enable (default: `"jwt"`)
|
|
749
|
+
- `BETTER_AUTH_SECRET` — Session encryption secret (required)
|
|
750
|
+
- `BETTER_AUTH_URL` — Base URL for auth server (required)
|
|
751
|
+
- `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET` — Google OAuth (optional)
|
|
752
|
+
- `GITHUB_CLIENT_ID` / `GITHUB_CLIENT_SECRET` — GitHub OAuth (optional)
|
|
753
|
+
- `APPLE_CLIENT_ID` / `APPLE_CLIENT_SECRET` — Apple Sign In (optional)
|
|
754
|
+
|
|
755
|
+
**Learn more:** [Configure Better Auth](../how-to/configure-better-auth.md)
|
|
756
|
+
|
|
757
|
+
## Model Schema Conventions
|
|
758
|
+
|
|
759
|
+
### Required field descriptions
|
|
760
|
+
|
|
761
|
+
**Every field in a Mongoose schema must include a `description` property.** Descriptions are extracted by `mongoose-to-swagger` and included in the generated OpenAPI specification, making your API documentation and auto-generated SDK significantly more useful.
|
|
762
|
+
|
|
763
|
+
``````typescript
|
|
764
|
+
const schema = new mongoose.Schema<Document, Model>({
|
|
765
|
+
title: {
|
|
766
|
+
description: "The title of the item",
|
|
767
|
+
type: String,
|
|
768
|
+
required: true,
|
|
769
|
+
},
|
|
770
|
+
status: {
|
|
771
|
+
description: "Current processing status",
|
|
772
|
+
type: String,
|
|
773
|
+
enum: ["pending", "active", "completed"],
|
|
774
|
+
default: "pending",
|
|
775
|
+
},
|
|
776
|
+
ownerId: {
|
|
777
|
+
description: "The user who owns this item",
|
|
778
|
+
type: mongoose.Schema.Types.ObjectId,
|
|
779
|
+
ref: "User",
|
|
780
|
+
required: true,
|
|
781
|
+
},
|
|
782
|
+
});
|
|
783
|
+
``````
|
|
784
|
+
|
|
785
|
+
### Writing good descriptions
|
|
786
|
+
|
|
787
|
+
- Keep them concise (one sentence is usually enough)
|
|
788
|
+
- Explain the field's purpose, not its type
|
|
789
|
+
- Use active voice: "The user who owns..." not "Owner of..."
|
|
790
|
+
- Include important constraints: "Email address (must be unique)"
|
|
791
|
+
|
|
792
|
+
### Benefits
|
|
793
|
+
|
|
794
|
+
Field descriptions appear in:
|
|
795
|
+
- OpenAPI spec at `/openapi.json`
|
|
796
|
+
- Generated SDK type definitions
|
|
797
|
+
- API documentation (Swagger UI if enabled)
|
|
798
|
+
- IDE autocomplete hints when using the SDK
|
|
799
|
+
|
|
800
|
+
## Mongoose Plugins
|
|
801
|
+
|
|
802
|
+
@terreno/api provides several Mongoose plugins to extend model functionality with common patterns.
|
|
803
|
+
|
|
804
|
+
### orgScopedPlugin
|
|
805
|
+
|
|
806
|
+
Adds a required indexed `organizationId` (ref `Organization`) to consumer schemas. Save fails
|
|
807
|
+
without an organization. Use this on tenant-scoped models; query scoping lands with org context.
|
|
808
|
+
After creation, `organizationId` is immutable — REST PATCH, admin writes, sync updates, and
|
|
809
|
+
direct `doc.save()` / `updateOne()` attempts to retarget another organization return HTTP 400
|
|
810
|
+
with title `organizationId cannot be changed`.
|
|
811
|
+
|
|
812
|
+
``````typescript
|
|
813
|
+
import {orgScopedPlugin} from "@terreno/api";
|
|
814
|
+
|
|
815
|
+
projectSchema.plugin(orgScopedPlugin);
|
|
816
|
+
``````
|
|
817
|
+
|
|
818
|
+
### findExactlyOne & findOneOrNone
|
|
819
|
+
|
|
820
|
+
**Critical:** Never use `Model.findOne` directly. Use these plugins instead to prevent ambiguous queries.
|
|
821
|
+
|
|
822
|
+
``````typescript
|
|
823
|
+
import {findExactlyOne, findOneOrNone} from "@terreno/api";
|
|
824
|
+
|
|
825
|
+
// In your schema
|
|
826
|
+
todoSchema.plugin(findExactlyOne);
|
|
827
|
+
todoSchema.plugin(findOneOrNone);
|
|
828
|
+
|
|
829
|
+
// Usage
|
|
830
|
+
const todo = await Todo.findExactlyOne({_id: id}); // Throws if 0 or multiple found
|
|
831
|
+
const maybeUser = await User.findOneOrNone({email}); // Returns null if none, throws if multiple
|
|
832
|
+
``````
|
|
833
|
+
|
|
834
|
+
**Why these matter:**
|
|
835
|
+
- `findOne()` returns a **random document** if multiple match (non-deterministic)
|
|
836
|
+
- `findExactlyOne()` throws `APIError` (404) if none found, (500) if multiple found
|
|
837
|
+
- `findOneOrNone()` returns `null` if none found, throws (500) if multiple found
|
|
838
|
+
|
|
839
|
+
### upsertPlugin
|
|
840
|
+
|
|
841
|
+
Create or update a document atomically.
|
|
842
|
+
|
|
843
|
+
``````typescript
|
|
844
|
+
import {upsertPlugin, type HasUpsert} from "@terreno/api";
|
|
845
|
+
|
|
846
|
+
todoSchema.plugin(upsertPlugin);
|
|
847
|
+
|
|
848
|
+
// TypeScript: Extend your model interface
|
|
849
|
+
interface TodoModel extends DefaultModel<TodoDocument>, HasUpsert<TodoDocument> {}
|
|
850
|
+
|
|
851
|
+
// Usage
|
|
852
|
+
const todo = await Todo.upsert(
|
|
853
|
+
{userId: user._id, taskId: task.id}, // Conditions
|
|
854
|
+
{status: "completed", completedAt: new Date()} // Update
|
|
855
|
+
);
|
|
856
|
+
// Creates new if none exists, updates if found, throws if multiple match
|
|
857
|
+
``````
|
|
858
|
+
|
|
859
|
+
### DateOnly Schema Type
|
|
860
|
+
|
|
861
|
+
Custom Mongoose type for date-only fields (no time component).
|
|
862
|
+
|
|
863
|
+
``````typescript
|
|
864
|
+
import {Schema} from "mongoose";
|
|
865
|
+
import {DateOnly} from "@terreno/api";
|
|
866
|
+
|
|
867
|
+
// IMPORTANT: Register early in your app entry point (before models are loaded)
|
|
868
|
+
(Schema.Types as any).DateOnly = DateOnly;
|
|
869
|
+
|
|
870
|
+
// Then use in schemas
|
|
871
|
+
const eventSchema = new Schema({
|
|
872
|
+
eventDate: {
|
|
873
|
+
type: Schema.Types.DateOnly,
|
|
874
|
+
description: "Date of the event (no time component)",
|
|
875
|
+
},
|
|
876
|
+
});
|
|
877
|
+
|
|
878
|
+
// Automatically strips time when setting or fetching
|
|
879
|
+
event.eventDate = new Date("2026-02-15T14:30:00Z");
|
|
880
|
+
console.log(event.eventDate); // 2026-02-15T00:00:00.000Z
|
|
881
|
+
``````
|
|
882
|
+
|
|
883
|
+
**Features:**
|
|
884
|
+
- Automatically converts to UTC midnight
|
|
885
|
+
- Supports comparison operators (`$gt`, `$gte`, `$lt`, `$lte`)
|
|
886
|
+
- Throws `CastError` for invalid dates
|
|
887
|
+
|
|
888
|
+
### createdUpdatedPlugin
|
|
889
|
+
|
|
890
|
+
Adds `created` and `updated` timestamp fields with automatic management.
|
|
891
|
+
|
|
892
|
+
``````typescript
|
|
893
|
+
import {createdUpdatedPlugin} from "@terreno/api";
|
|
894
|
+
|
|
895
|
+
schema.plugin(createdUpdatedPlugin);
|
|
896
|
+
|
|
897
|
+
// Adds two fields:
|
|
898
|
+
// - created: Date (set on first save)
|
|
899
|
+
// - updated: Date (set on every save/update)
|
|
900
|
+
|
|
901
|
+
// Disable for specific saves
|
|
902
|
+
doc.disableCreatedUpdatedPlugin = true;
|
|
903
|
+
await doc.save();
|
|
904
|
+
``````
|
|
905
|
+
|
|
906
|
+
### isDeletedPlugin
|
|
907
|
+
|
|
908
|
+
Soft delete support with automatic query filtering.
|
|
909
|
+
|
|
910
|
+
``````typescript
|
|
911
|
+
import {isDeletedPlugin, type IsDeleted} from "@terreno/api";
|
|
912
|
+
|
|
913
|
+
schema.plugin(isDeletedPlugin, false); // Default: not deleted
|
|
914
|
+
|
|
915
|
+
// Adds:
|
|
916
|
+
// - deleted: boolean (default: false)
|
|
917
|
+
// - Automatic filtering in find() and findOne() queries
|
|
918
|
+
|
|
919
|
+
// Normal queries exclude deleted docs
|
|
920
|
+
const todos = await Todo.find({}); // Only non-deleted
|
|
921
|
+
|
|
922
|
+
// Explicitly query deleted docs
|
|
923
|
+
const deleted = await Todo.find({deleted: true});
|
|
924
|
+
|
|
925
|
+
// Soft delete
|
|
926
|
+
todo.deleted = true;
|
|
927
|
+
await todo.save();
|
|
928
|
+
``````
|
|
929
|
+
|
|
930
|
+
modelRouter create and update (REST, MCP tools, and sync mutations) drop `deleted` from the
|
|
931
|
+
client body. Only `DELETE` sets it, so soft delete always needs `delete` permission and runs
|
|
932
|
+
`preDelete` / `postDelete`. A `preCreate` or `preUpdate` hook can still set `deleted` on
|
|
933
|
+
purpose.
|
|
934
|
+
|
|
935
|
+
### isDisabledPlugin
|
|
936
|
+
|
|
937
|
+
Disable user accounts (returns 401 for disabled users).
|
|
938
|
+
|
|
939
|
+
``````typescript
|
|
940
|
+
import {isDisabledPlugin} from "@terreno/api";
|
|
941
|
+
|
|
942
|
+
userSchema.plugin(isDisabledPlugin, false);
|
|
943
|
+
|
|
944
|
+
// Adds disabled: boolean field
|
|
945
|
+
user.disabled = true;
|
|
946
|
+
await user.save();
|
|
947
|
+
// User will receive 401 on authentication attempts
|
|
948
|
+
``````
|
|
949
|
+
|
|
950
|
+
### baseUserPlugin
|
|
951
|
+
|
|
952
|
+
Base fields for user models.
|
|
953
|
+
|
|
954
|
+
``````typescript
|
|
955
|
+
import {baseUserPlugin, type BaseUser} from "@terreno/api";
|
|
956
|
+
|
|
957
|
+
userSchema.plugin(baseUserPlugin);
|
|
958
|
+
|
|
959
|
+
// Adds:
|
|
960
|
+
// - email: string (indexed)
|
|
961
|
+
// - admin: boolean (default: false)
|
|
962
|
+
``````
|
|
963
|
+
|
|
964
|
+
### emailVerificationPlugin
|
|
965
|
+
|
|
966
|
+
Opt-in `emailVerified` boolean for user schemas. Defaults to `false` so existing users stay
|
|
967
|
+
unverified until they complete the verification flow. Apply this plugin; do not add the
|
|
968
|
+
field by hand.
|
|
969
|
+
|
|
970
|
+
``````typescript
|
|
971
|
+
import {emailVerificationPlugin, type EmailVerified} from "@terreno/api";
|
|
972
|
+
|
|
973
|
+
userSchema.plugin(emailVerificationPlugin);
|
|
974
|
+
|
|
975
|
+
// Adds:
|
|
976
|
+
// - emailVerified: boolean (default: false)
|
|
977
|
+
``````
|
|
978
|
+
|
|
979
|
+
### firebaseJWTPlugin
|
|
980
|
+
|
|
981
|
+
Firebase authentication integration.
|
|
982
|
+
|
|
983
|
+
``````typescript
|
|
984
|
+
import {firebaseJWTPlugin} from "@terreno/api";
|
|
985
|
+
|
|
986
|
+
userSchema.plugin(firebaseJWTPlugin);
|
|
987
|
+
|
|
988
|
+
// Adds:
|
|
989
|
+
// - firebaseId: string (indexed)
|
|
990
|
+
``````
|
|
991
|
+
|
|
992
|
+
### Default Plugin Bundle
|
|
993
|
+
|
|
994
|
+
Many schemas use these together:
|
|
995
|
+
|
|
996
|
+
``````typescript
|
|
997
|
+
import {createdUpdatedPlugin, isDeletedPlugin, findExactlyOne, findOneOrNone} from "@terreno/api";
|
|
998
|
+
|
|
999
|
+
export const addDefaultPlugins = (schema) => {
|
|
1000
|
+
schema.plugin(createdUpdatedPlugin);
|
|
1001
|
+
schema.plugin(isDeletedPlugin);
|
|
1002
|
+
schema.plugin(findExactlyOne);
|
|
1003
|
+
schema.plugin(findOneOrNone);
|
|
1004
|
+
};
|
|
1005
|
+
|
|
1006
|
+
// Apply to all schemas
|
|
1007
|
+
todoSchema.plugin(addDefaultPlugins);
|
|
1008
|
+
``````
|
|
1009
|
+
|
|
1010
|
+
## Organizations
|
|
1011
|
+
|
|
1012
|
+
Organizations are **opt-in**. Existing and single-tenant apps omit them: do not pass
|
|
1013
|
+
`organizations: true` to `createAccess` or `TerrenoApp`, and do not register `OrgsApp`.
|
|
1014
|
+
New apps from `create-terreno-app` enable organizations by default.
|
|
1015
|
+
|
|
1016
|
+
| App kind | What to do |
|
|
1017
|
+
| --- | --- |
|
|
1018
|
+
| Existing / single-tenant | Leave `createAccess` and `TerrenoApp` without `organizations`. No `operator` seed, no membership grants, no `/orgs` routes. |
|
|
1019
|
+
| New app (bootstrap) | Generated `backend/src/access.ts` uses `createAccess({ organizations: true })`. `TerrenoApp({ organizations: true, accessControl: access })` mounts `OrgsApp`. Seed creates a default org and makes `admin@example.com` an `operator` and `org-admin`. |
|
|
1020
|
+
| Existing app adopting orgs | `createAccess({ organizations: true })`, `await access.roles.seedDefaults()`, and `TerrenoApp({ organizations: true, accessControl })` or `.register(new OrgsApp({ access, userModel }))`. |
|
|
1021
|
+
|
|
1022
|
+
`Organization` and `Membership` models register on first use, not when you import `@terreno/api`.
|
|
1023
|
+
|
|
1024
|
+
Native `Organization` and `Membership` models live in `@terreno/api`.
|
|
1025
|
+
|
|
1026
|
+
| Model | Fields |
|
|
1027
|
+
| --- | --- |
|
|
1028
|
+
| `Organization` | `name` (required), `slug` (unique, generated from name), `ownerId`, `settings` (app-defined; Mixed until you register a nested schema), `disabled` |
|
|
1029
|
+
| `Membership` | `organizationId`, `userId`, `roleName` (`org-admin` \| `member`, default `member`), `status` (`active` \| `suspended`) |
|
|
1030
|
+
|
|
1031
|
+
Compound unique index: `(organizationId, userId)`. Duplicate memberships throw a Mongo duplicate-key error.
|
|
1032
|
+
|
|
1033
|
+
`Membership` statics: `findActiveForUser`, `isOrgAdmin`, `isMember` (active rows only). Per-org
|
|
1034
|
+
`org-admin` is stored on Membership, not on `user.roles`.
|
|
1035
|
+
|
|
1036
|
+
### Organization.settings
|
|
1037
|
+
|
|
1038
|
+
Do not add top-level fields to the native `Organization` model. Extend `settings`:
|
|
1039
|
+
|
|
1040
|
+
| Helper | Role |
|
|
1041
|
+
| --- | --- |
|
|
1042
|
+
| `createOrganizationSettingsSchema(definition)` | Nested schema with `_id: false` and `strict: "throw"` |
|
|
1043
|
+
| `registerOrganizationSettings(schema)` | Validate settings on create/save/PATCH. Call with no argument to clear |
|
|
1044
|
+
| `organizationSettingsOf(organization)` | Type-safe read; defaults to `{}` |
|
|
1045
|
+
| `OrganizationSettings` | Empty interface for `declare module "@terreno/api"` merging |
|
|
1046
|
+
|
|
1047
|
+
Pass `settingsSchema` on `TerrenoApp({ organizations: { settingsSchema } })` or `new OrgsApp({ settingsSchema })`. Keep settings fields optional or defaulted so existing documents still save. See [Add organizations](../how-to/add-organizations.md#3-type-organization-settings).
|
|
1048
|
+
|
|
1049
|
+
### OrgsApp routes
|
|
1050
|
+
|
|
1051
|
+
| Method | Path | Required access |
|
|
1052
|
+
| --- | --- | --- |
|
|
1053
|
+
| `POST` | `/orgs` | `organization:create` |
|
|
1054
|
+
| `GET` | `/orgs` | `organization:list` |
|
|
1055
|
+
| `GET` | `/orgs/mine` | Active org-admin membership, operator, or superadmin (disabled orgs omitted) |
|
|
1056
|
+
| `GET` | `/orgs/:id` | `organization:read` in that org |
|
|
1057
|
+
| `PATCH` | `/orgs/:id` | `organization:update`; disabling also requires `organization:disable` |
|
|
1058
|
+
| `DELETE` | `/orgs/:id` | `organization:delete` |
|
|
1059
|
+
| `GET` / `POST` | `/orgs/:id/members` | `organization:manageMembers` |
|
|
1060
|
+
| `PATCH` / `DELETE` | `/orgs/:id/members/:memberId` | `organization:manageMembers`; cannot remove or demote the last org-admin |
|
|
1061
|
+
|
|
1062
|
+
Creating an organization does not create a membership automatically. Member
|
|
1063
|
+
attach accepts an existing `userId` or email (case-insensitive); it does not send
|
|
1064
|
+
an invitation. Disabling or deleting an organization suspends its memberships.
|
|
1065
|
+
Member attach, update, and remove routes reject disabled organizations with 403.
|
|
1066
|
+
Operators may still `GET` and `PATCH /orgs/:id` on a disabled organization to
|
|
1067
|
+
re-enable it; `GET /orgs` continues to list disabled organizations.
|
|
1068
|
+
|
|
1069
|
+
### Request organization context
|
|
1070
|
+
|
|
1071
|
+
Tenant-scoped routes run `orgContextMiddleware({required: true})` after auth, then
|
|
1072
|
+
`queryFilter: OrgQueryFilter`.
|
|
1073
|
+
|
|
1074
|
+
| Condition | Result |
|
|
1075
|
+
| --- | --- |
|
|
1076
|
+
| `X-Organization-Id` present, organization disabled | 403 `Organization is disabled` |
|
|
1077
|
+
| `X-Organization-Id` present, caller is `operator`/`superadmin` or an active member, org enabled | `req.organization` set |
|
|
1078
|
+
| `X-Organization-Id` present, caller is not a member and not a platform org actor | 403 |
|
|
1079
|
+
| Tenant-scoped route, `operator`/`superadmin`, header omitted | 400 |
|
|
1080
|
+
| Caller is `org-admin` of exactly one enabled org, header omitted | that org is inferred |
|
|
1081
|
+
| Caller is `org-admin` of many orgs, header omitted | 400 |
|
|
1082
|
+
| Otherwise on tenant-scoped routes | 403 |
|
|
1083
|
+
|
|
1084
|
+
`OrgQueryFilter` always ANDs `{organizationId: context.id}`. Client `organizationId` query params
|
|
1085
|
+
and `$or` cannot list another org.
|
|
1086
|
+
|
|
1087
|
+
`user.admin` is not operator. Platform org actors are `user.roles` containing `operator` or
|
|
1088
|
+
`superadmin`.
|
|
1089
|
+
|
|
1090
|
+
Use `Permissions.IsOrganizationMember` on read, update, and delete methods for
|
|
1091
|
+
tenant models. It requires the object's `organizationId` to match the active
|
|
1092
|
+
request organization context (AsyncLocalStorage from `orgContextMiddleware`, and
|
|
1093
|
+
from `X-Organization-Id` on `POST /sync/mutate`) for every caller. Platform actors (`operator` / `superadmin`) then pass; members
|
|
1094
|
+
must also hold an active Membership in that organization. Direct `GET` / `PATCH`
|
|
1095
|
+
by document id does not apply `OrgQueryFilter`, so this object-level check is
|
|
1096
|
+
what blocks cross-tenant reads and writes. `getOrgContext()` exposes the
|
|
1097
|
+
resolved organization to create hooks so they can overwrite client-provided
|
|
1098
|
+
organization ids. Duplicate organization names that generate the same slug,
|
|
1099
|
+
including slugs still held by soft-deleted organizations, return **409**
|
|
1100
|
+
`Organization name already in use` on `POST /orgs` and on rename
|
|
1101
|
+
via `PATCH /orgs/:id`. See [Add organizations](../how-to/add-organizations.md)
|
|
1102
|
+
for complete route wiring.
|
|
1103
|
+
|
|
1104
|
+
### Organization RBAC
|
|
1105
|
+
|
|
1106
|
+
`terrenoStatements.organization` actions: `create`, `list`, `read`, `update`, `delete`,
|
|
1107
|
+
`manageMembers`, `disable`.
|
|
1108
|
+
|
|
1109
|
+
| Role | Where it lives | Organization grants |
|
|
1110
|
+
| --- | --- | --- |
|
|
1111
|
+
| `superadmin` | `user.roles` | `*` (includes every organization action) |
|
|
1112
|
+
| `operator` | seeded locked `user.roles` when `createAccess({ organizations: true })` | all `organization` actions, plus `admin:access` and `user:list\|read\|update` |
|
|
1113
|
+
| `org-admin` | `Membership.roleName` in the current org context | `organization:read\|update\|manageMembers` and `admin:access` |
|
|
1114
|
+
| `admin` | `user.roles` | none of `organization:*` |
|
|
1115
|
+
|
|
1116
|
+
`createAccess({ organizations: true })` prepends a membership permission source (`ttlMs: 0`) and
|
|
1117
|
+
seeds the locked `operator` role. Without that flag, membership `org-admin` grants nothing extra
|
|
1118
|
+
and `operator` is not seeded. Putting `org-admin` on `user.roles` does not grant those permissions.
|
|
1119
|
+
Permission cache keys include the current organization id and membership role so org-admin grants
|
|
1120
|
+
do not leak across orgs.
|
|
1121
|
+
|
|
1122
|
+
``````typescript
|
|
1123
|
+
import {createAccess, Membership, Organization, terrenoStatements} from "@terreno/api";
|
|
1124
|
+
|
|
1125
|
+
const access = createAccess({
|
|
1126
|
+
connection: mongoose.connection,
|
|
1127
|
+
organizations: true,
|
|
1128
|
+
statements: terrenoStatements,
|
|
1129
|
+
userModel: User,
|
|
1130
|
+
});
|
|
1131
|
+
|
|
1132
|
+
const org = await Organization.create({name: "Acme Corp", ownerId: user._id});
|
|
1133
|
+
// org.slug === "acme-corp"
|
|
1134
|
+
|
|
1135
|
+
await Membership.create({
|
|
1136
|
+
organizationId: org._id,
|
|
1137
|
+
roleName: "org-admin",
|
|
1138
|
+
userId: user._id,
|
|
1139
|
+
});
|
|
1140
|
+
``````
|
|
1141
|
+
|
|
1142
|
+
### AI observability RBAC
|
|
1143
|
+
|
|
1144
|
+
`terrenoStatements` includes domain-neutral resources for `@terreno/ai` `ObservabilityApp`
|
|
1145
|
+
routes. Pass `accessControl` from `createAccess` on `ObservabilityApp` to enforce them; omit
|
|
1146
|
+
`accessControl` to keep legacy `user.admin` / `Permissions.IsAdmin` behavior.
|
|
1147
|
+
|
|
1148
|
+
| Resource | Actions |
|
|
1149
|
+
| --- | --- |
|
|
1150
|
+
| `aiPrompt` | `list`, `read`, `create`, `update`, `promote`, `playground` |
|
|
1151
|
+
| `aiTrace` | `list`, `read` |
|
|
1152
|
+
| `aiReview` | `list`, `read`, `score`, `assign` |
|
|
1153
|
+
| `aiDataset` | `create`, `list`, `read`, `update`, `delete` |
|
|
1154
|
+
| `aiEvaluator` | `create`, `list`, `read`, `update`, `delete` |
|
|
1155
|
+
| `aiExperiment` | `list`, `read`, `create`, `promote` |
|
|
1156
|
+
|
|
1157
|
+
Human-readable labels for the admin role editor live in `terrenoStatementDescriptions`
|
|
1158
|
+
(optional on `createAccess({ statementDescriptions })`).
|
|
1159
|
+
|
|
1160
|
+
| Role | Observability grants |
|
|
1161
|
+
| --- | --- |
|
|
1162
|
+
| `superadmin` | `*` (every action on every resource) |
|
|
1163
|
+
| `admin` (seeded) | Full grants on all six resources |
|
|
1164
|
+
| `auditor` | Read-only sentinel expands to `list` and `read` on each observability resource (no `admin:access`) |
|
|
1165
|
+
| `aiObservabilityViewer` (example-backend only) | `admin:access` plus `list` and `read` on each observability resource |
|
|
1166
|
+
| `aiObservabilityOperator` (example-backend only) | `admin:access` plus full grants on each observability resource |
|
|
1167
|
+
|
|
1168
|
+
The seeded `auditor` role does **not** include `admin:access`. Observability `list` / `read`
|
|
1169
|
+
grants alone do not open the admin shell — compose a consumer role (for example
|
|
1170
|
+
`auditor` + `admin: ["access"]`, or a custom role) when operators should browse observability
|
|
1171
|
+
screens.
|
|
1172
|
+
|
|
1173
|
+
Re-seeding default roles does not overwrite customized unsealed roles, except seeded
|
|
1174
|
+
`admin` and `auditor`: on each `seedDefaults`, Terreno **merges** missing observability
|
|
1175
|
+
actions into stored permissions (`admin` — full grants; `auditor` — `list` and `read` per
|
|
1176
|
+
resource) without removing consumer-defined grants on other resources.
|
|
1177
|
+
|
|
1178
|
+
When `accessControl` is configured, each observability HTTP route checks `admin:access` and
|
|
1179
|
+
the mapped resource action. Callers with `user.admin === true` still receive full access
|
|
1180
|
+
(legacy compatibility). RBAC-only operators need `admin:access` plus the exact action for
|
|
1181
|
+
mutations. Route mapping (for example prompt label moves → `aiPrompt:promote`, review
|
|
1182
|
+
submit → `aiReview:score`) is documented in [AI reference — Observability](ai.md#observability).
|
|
1183
|
+
|
|
1184
|
+
### RBAC role edits
|
|
1185
|
+
|
|
1186
|
+
`PATCH /rbac/roles/:name` (`access.roles.update`) requires `rbac:manageRoles` and never lets the
|
|
1187
|
+
actor hand out permissions it does not hold. A `permissions` key must be an object of action lists
|
|
1188
|
+
valid for the statements; any other value (`false`, `0`, `""`, `null`, an array) is a 400
|
|
1189
|
+
`Invalid permissions`. The actor must hold the role's current grants plus the new ones, so emptying
|
|
1190
|
+
a role (`{permissions: {}}`) still needs every permission the role had. Users hold roles by name,
|
|
1191
|
+
so a rename (`{name}`) is checked like a permission edit:
|
|
1192
|
+
|
|
1193
|
+
- Locked and sealed roles cannot be renamed (400).
|
|
1194
|
+
- The actor must hold every permission of the role being renamed (403 `Cannot grant permissions
|
|
1195
|
+
you do not hold`).
|
|
1196
|
+
- The new name must not belong to another role or appear in any user's `roles` (409).
|
|
1197
|
+
- Users holding the old name, and other roles' `excludesRoles` entries, move to the new name, so
|
|
1198
|
+
holders keep the same grants.
|
|
1199
|
+
|
|
1200
|
+
A `PermissionSource` that returns role names keeps returning the old name after a rename; update
|
|
1201
|
+
the source's mapping in the same change.
|
|
1202
|
+
|
|
1203
|
+
### RBAC user identity writes
|
|
1204
|
+
|
|
1205
|
+
`terrenoStatements.user` includes `updateIdentity`. With `accessControl` set, a write that changes
|
|
1206
|
+
another user's identity field needs `user:updateIdentity` in addition to `user:update`. Without it
|
|
1207
|
+
the write fails with 403 `Missing user:updateIdentity permission`. The field is not silently
|
|
1208
|
+
dropped. The identity fields are `USER_IDENTITY_FIELDS`: `email`, `disabled`, `betterAuthId`,
|
|
1209
|
+
`githubId`, and `emailVerified`, plus dotted paths into them.
|
|
1210
|
+
|
|
1211
|
+
- The check runs on modelRouter `PATCH`, array operations, non-GET instance actions (on the
|
|
1212
|
+
request body), sync and MCP updates (including admin-window mutations that skip modelRouter
|
|
1213
|
+
permissions), and AdminApp `PATCH` and bulk-patch.
|
|
1214
|
+
- A key whose value equals the target's current value is not a change. A client that sends the
|
|
1215
|
+
whole record back, unchanged email included, still succeeds. Unset, `null`, `""`, and `false`
|
|
1216
|
+
count as the same empty value.
|
|
1217
|
+
- Not checked: writes to the actor's own record (`PATCH /auth/me` has its own guards), writes
|
|
1218
|
+
without an actor (server-internal calls), legacy `admin: true` actors, and creates. A
|
|
1219
|
+
`user:create` holder can still create a user with an email.
|
|
1220
|
+
|
|
1221
|
+
| Role | `user:updateIdentity` |
|
|
1222
|
+
| --- | --- |
|
|
1223
|
+
| `superadmin` | Yes, through `*` |
|
|
1224
|
+
| `admin` (seeded) | Yes, for new seeds |
|
|
1225
|
+
| `operator` (organizations) | No |
|
|
1226
|
+
| `auditor`, `member` | No |
|
|
1227
|
+
|
|
1228
|
+
`seedDefaults` does not add new `user` actions to an `admin` role that is already stored. It only
|
|
1229
|
+
merges observability actions. In an existing deployment, add `updateIdentity` to the stored `admin`
|
|
1230
|
+
role's `user` actions (and to any custom role that should manage identities) with
|
|
1231
|
+
`PATCH /rbac/roles/admin` or a migration. Until then, RBAC `admin` holders get 403 when they change
|
|
1232
|
+
another user's email or disabled flag. An app that overrides the `user` statement in its own
|
|
1233
|
+
statements must list `updateIdentity` for any role to hold it.
|
|
1234
|
+
|
|
1235
|
+
### RBAC permission sources
|
|
1236
|
+
|
|
1237
|
+
`createAccess({sources})` adds `PermissionSource`s (IdP or ABAC lookups) whose `getGrants` returns
|
|
1238
|
+
`roles`, `permissions`, and `deny`. When `getGrants` throws, the source's `staleOnFailure` applies
|
|
1239
|
+
(default `"deny"`: drop its additive grants, keep local `user.roles`) once this process knows the
|
|
1240
|
+
source's deny posture for the user. Under every policy:
|
|
1241
|
+
|
|
1242
|
+
- The last `deny` set a source returned for a user stays in force while the source is down. It is
|
|
1243
|
+
kept apart from the grant caches, so `invalidateCache` (every role edit) and permission-cache
|
|
1244
|
+
eviction do not lift it. A later successful fetch without `deny` clears it.
|
|
1245
|
+
- A permission set resolved while any source was failing is not cached, so recovery takes effect
|
|
1246
|
+
on the next check.
|
|
1247
|
+
- A process with no last-known deny for the user (a new instance, or the posture was evicted)
|
|
1248
|
+
fails closed by default: the check throws 503 `Permission source unavailable`, because the
|
|
1249
|
+
source's deny is unknown. `failClosedWhenDenyUnknown` defaults to `true`.
|
|
1250
|
+
- Set `failClosedWhenDenyUnknown: false` on additive-only sources that never return `deny` (IdP
|
|
1251
|
+
role mappings, membership lookups). Their cold failure then drops only their grants and local
|
|
1252
|
+
roles apply. The built-in organization membership source (`createAccess({organizations: true})`)
|
|
1253
|
+
sets it.
|
|
1254
|
+
|
|
1255
|
+
## Request Validation
|
|
1256
|
+
|
|
1257
|
+
@terreno/api provides runtime validation of incoming requests against OpenAPI schemas using [AJV](https://ajv.js.org/). Validation is opt-in and can be enabled globally or per-route.
|
|
1258
|
+
|
|
1259
|
+
### Enabling Validation
|
|
1260
|
+
|
|
1261
|
+
Call `configureOpenApiValidator()` at server startup to enable validation:
|
|
1262
|
+
|
|
1263
|
+
``````typescript
|
|
1264
|
+
import {configureOpenApiValidator, setupServer} from "@terreno/api";
|
|
1265
|
+
|
|
1266
|
+
// Enable validation before setting up the server
|
|
1267
|
+
configureOpenApiValidator({
|
|
1268
|
+
removeAdditional: true,
|
|
1269
|
+
coerceTypes: true,
|
|
1270
|
+
logValidationErrors: true,
|
|
1271
|
+
onAdditionalPropertiesRemoved: (props, req) => {
|
|
1272
|
+
logger.warn(`Stripped properties: ${props.join(", ")} on ${req.method} ${req.path}`);
|
|
1273
|
+
},
|
|
1274
|
+
});
|
|
1275
|
+
|
|
1276
|
+
setupServer({
|
|
1277
|
+
userModel: User,
|
|
1278
|
+
addRoutes: (router) => {
|
|
1279
|
+
// Routes will automatically validate when enabled
|
|
1280
|
+
},
|
|
1281
|
+
});
|
|
1282
|
+
``````
|
|
1283
|
+
|
|
1284
|
+
**Configuration options:**
|
|
1285
|
+
|
|
1286
|
+
| Option | Type | Default | Description |
|
|
1287
|
+
|--------|------|---------|-------------|
|
|
1288
|
+
| `validateRequests` | boolean | `true` | Enable request body validation |
|
|
1289
|
+
| `validateResponses` | boolean | `false` | Enable response validation (performance cost) |
|
|
1290
|
+
| `coerceTypes` | boolean | `true` | Convert types (e.g., `"123"` → `123`) |
|
|
1291
|
+
| `removeAdditional` | boolean | `true` | Strip properties not in schema |
|
|
1292
|
+
| `logValidationErrors` | boolean | `true` | Log validation failures |
|
|
1293
|
+
| `onValidationError` | function | throws APIError | Custom error handler |
|
|
1294
|
+
| `onAdditionalPropertiesRemoved` | function | undefined | Callback when props are stripped |
|
|
1295
|
+
|
|
1296
|
+
### Using with modelRouter
|
|
1297
|
+
|
|
1298
|
+
When validation is enabled globally, modelRouter automatically validates create and update requests.
|
|
1299
|
+
|
|
1300
|
+
Create (POST) enforces Mongoose required fields. Update (PATCH) is partial: present fields are type-checked, but omitted required fields are allowed so a client can send `{completed: true}` without repeating `title`.
|
|
1301
|
+
|
|
1302
|
+
``````typescript
|
|
1303
|
+
import {modelRouter, Permissions} from "@terreno/api";
|
|
1304
|
+
|
|
1305
|
+
router.use("/todos", modelRouter(Todo, {
|
|
1306
|
+
permissions: {
|
|
1307
|
+
create: [Permissions.IsAuthenticated],
|
|
1308
|
+
update: [Permissions.IsOwner],
|
|
1309
|
+
},
|
|
1310
|
+
// Validation happens automatically based on Mongoose schema
|
|
1311
|
+
}));
|
|
1312
|
+
``````
|
|
1313
|
+
|
|
1314
|
+
### Builder validation
|
|
1315
|
+
|
|
1316
|
+
Call `.withValidation()` before `.build()` so body and query checks run in the same handler that documents the route. `build()` still returns one Express `RequestHandler`, so callers can nest it in a middleware array. OpenAPI metadata stays on that handler, so the route remains in `/openapi.json`.
|
|
1317
|
+
|
|
1318
|
+
### Manual Validation
|
|
1319
|
+
|
|
1320
|
+
For custom routes, use validation middleware directly:
|
|
1321
|
+
|
|
1322
|
+
``````typescript
|
|
1323
|
+
import {validateRequestBody, validateQueryParams, createOpenApiBuilder} from "@terreno/api";
|
|
1324
|
+
|
|
1325
|
+
router.post("/search", [
|
|
1326
|
+
createOpenApiBuilder()
|
|
1327
|
+
.withRequestBody({
|
|
1328
|
+
query: {type: "string", required: true},
|
|
1329
|
+
filters: {type: "object"},
|
|
1330
|
+
})
|
|
1331
|
+
.build(),
|
|
1332
|
+
validateRequestBody({
|
|
1333
|
+
query: {type: "string", required: true},
|
|
1334
|
+
filters: {type: "object"},
|
|
1335
|
+
}),
|
|
1336
|
+
asyncHandler(async (req, res) => {
|
|
1337
|
+
// req.body is validated and coerced
|
|
1338
|
+
const {query, filters} = req.body;
|
|
1339
|
+
return res.json({results: []});
|
|
1340
|
+
}),
|
|
1341
|
+
]);
|
|
1342
|
+
``````
|
|
1343
|
+
|
|
1344
|
+
### Validating Query Parameters
|
|
1345
|
+
|
|
1346
|
+
``````typescript
|
|
1347
|
+
import {validateQueryParams} from "@terreno/api";
|
|
1348
|
+
|
|
1349
|
+
router.get("/items", [
|
|
1350
|
+
validateQueryParams({
|
|
1351
|
+
limit: {type: "number"},
|
|
1352
|
+
status: {type: "string", enum: ["active", "inactive"]},
|
|
1353
|
+
}),
|
|
1354
|
+
asyncHandler(async (req, res) => {
|
|
1355
|
+
// req.query is validated and type-coerced
|
|
1356
|
+
const {limit, status} = req.query;
|
|
1357
|
+
return res.json({items: []});
|
|
1358
|
+
}),
|
|
1359
|
+
]);
|
|
1360
|
+
``````
|
|
1361
|
+
|
|
1362
|
+
### Combined Validation
|
|
1363
|
+
|
|
1364
|
+
Validate both body and query in a single middleware:
|
|
1365
|
+
|
|
1366
|
+
``````typescript
|
|
1367
|
+
import {createValidator} from "@terreno/api";
|
|
1368
|
+
|
|
1369
|
+
router.post("/search", [
|
|
1370
|
+
createValidator({
|
|
1371
|
+
body: {query: {type: "string", required: true}},
|
|
1372
|
+
query: {limit: {type: "number"}, page: {type: "number"}},
|
|
1373
|
+
}),
|
|
1374
|
+
asyncHandler(async (req, res) => {
|
|
1375
|
+
// Both req.body and req.query are validated
|
|
1376
|
+
return res.json({results: []});
|
|
1377
|
+
}),
|
|
1378
|
+
]);
|
|
1379
|
+
``````
|
|
1380
|
+
|
|
1381
|
+
### Model-based Validation
|
|
1382
|
+
|
|
1383
|
+
Generate validators directly from Mongoose models:
|
|
1384
|
+
|
|
1385
|
+
``````typescript
|
|
1386
|
+
import {validateModelRequestBody, getSchemaFromModel} from "@terreno/api";
|
|
1387
|
+
|
|
1388
|
+
// Use model schema for validation
|
|
1389
|
+
router.post("/todos", [
|
|
1390
|
+
authenticateMiddleware(),
|
|
1391
|
+
validateModelRequestBody(Todo),
|
|
1392
|
+
asyncHandler(async (req, res) => {
|
|
1393
|
+
// req.body validated against Todo schema
|
|
1394
|
+
const todo = await Todo.create(req.body);
|
|
1395
|
+
return res.json({data: todo});
|
|
1396
|
+
}),
|
|
1397
|
+
]);
|
|
1398
|
+
``````
|
|
1399
|
+
|
|
1400
|
+
### Validation Behavior
|
|
1401
|
+
|
|
1402
|
+
**When `removeAdditional: true`:**
|
|
1403
|
+
- Extra properties are silently removed from request body
|
|
1404
|
+
- `onAdditionalPropertiesRemoved` callback fires if configured
|
|
1405
|
+
- Useful for preventing client-side injection of unexpected fields
|
|
1406
|
+
|
|
1407
|
+
**When `coerceTypes: true`:**
|
|
1408
|
+
- Query strings are converted to correct types (`"10"` → `10`)
|
|
1409
|
+
- Request body values are coerced when possible
|
|
1410
|
+
- Reduces type mismatch errors from URL parameters
|
|
1411
|
+
|
|
1412
|
+
**Error response format:**
|
|
1413
|
+
``````json
|
|
1414
|
+
{
|
|
1415
|
+
"errors": [{
|
|
1416
|
+
"status": "400",
|
|
1417
|
+
"title": "Request validation failed",
|
|
1418
|
+
"detail": "/body/email: must be a valid email",
|
|
1419
|
+
"source": {"pointer": "/body"},
|
|
1420
|
+
"meta": {
|
|
1421
|
+
"validationErrors": "[{\"path\":\"/email\",\"message\":\"must be a valid email\"}]"
|
|
1422
|
+
}
|
|
1423
|
+
}]
|
|
1424
|
+
}
|
|
1425
|
+
``````
|
|
1426
|
+
|
|
1427
|
+
**Performance considerations:**
|
|
1428
|
+
- Validators are compiled once and cached
|
|
1429
|
+
- Minimal overhead after first request (~1-2ms for typical schemas)
|
|
1430
|
+
- Response validation is disabled by default due to performance cost
|
|
1431
|
+
- Use in development/staging to catch API contract violations
|
|
1432
|
+
|
|
1433
|
+
**Learn more:** See `api/src/openApiValidator.ts` for advanced usage and `api/src/api.ts` for modelRouter integration.
|
|
1434
|
+
|
|
1435
|
+
## describeModel
|
|
1436
|
+
|
|
1437
|
+
Walk a Mongoose model once and get a canonical field graph (`ModelDescription`). OpenAPI, admin config, and MCP Zod tools format that graph instead of re-walking `schema.paths`.
|
|
1438
|
+
|
|
1439
|
+
``````typescript
|
|
1440
|
+
import {
|
|
1441
|
+
describeModel,
|
|
1442
|
+
describeModelForRouter,
|
|
1443
|
+
modelDescriptionToOpenApiSpec,
|
|
1444
|
+
modelDescriptionToAdminFields,
|
|
1445
|
+
fieldDescriptionToZodType,
|
|
1446
|
+
} from "@terreno/api";
|
|
1447
|
+
|
|
1448
|
+
const description = describeModel(Todo);
|
|
1449
|
+
const openApi = modelDescriptionToOpenApiSpec(description);
|
|
1450
|
+
const adminFields = modelDescriptionToAdminFields(description);
|
|
1451
|
+
``````
|
|
1452
|
+
|
|
1453
|
+
### Field kinds
|
|
1454
|
+
|
|
1455
|
+
| Kind | Description |
|
|
1456
|
+
|------|-------------|
|
|
1457
|
+
| `string` | String (optional `enum`) |
|
|
1458
|
+
| `number` | Number |
|
|
1459
|
+
| `boolean` | Boolean |
|
|
1460
|
+
| `date` | Date (OpenAPI `date-time`) |
|
|
1461
|
+
| `dateOnly` | Terreno DateOnly type |
|
|
1462
|
+
| `objectId` | ObjectId with optional `ref` |
|
|
1463
|
+
| `embedded` | Subdocument or array of subdocuments |
|
|
1464
|
+
| `mixed` | Schema.Types.Mixed |
|
|
1465
|
+
| `map` | Map type (`item` is the `of` kind; omitted `of` is `mixed`) |
|
|
1466
|
+
|
|
1467
|
+
Each field includes `required`, optional `description`, `isArray`, nested `item` / `fields`, and `system` for `_id`, `__v`, `created`, `updated`, `deleted`.
|
|
1468
|
+
|
|
1469
|
+
`describeModelForRouter(model, options)` adds `writableOnCreate` and `writableOnUpdate` using the same rules as MCP system-field exclusions and router validation / field views.
|
|
1470
|
+
|
|
1471
|
+
`getOpenApiSpecForModel` builds HTTP body schemas from `ModelDescription`; populate merging for referenced models is unchanged.
|
|
1472
|
+
|
|
1473
|
+
See [Schema metadata explanation](../explanation/schema-metadata.md).
|
|
1474
|
+
|
|
1475
|
+
## Middleware
|
|
1476
|
+
|
|
1477
|
+
### openApiEtagMiddleware
|
|
1478
|
+
|
|
1479
|
+
Adds ETag support to the `/openapi.json` endpoint for efficient caching.
|
|
1480
|
+
|
|
1481
|
+
``````typescript
|
|
1482
|
+
import {openApiEtagMiddleware} from "@terreno/api";
|
|
1483
|
+
|
|
1484
|
+
// Add before OpenAPI middleware in setupServer
|
|
1485
|
+
app.use(openApiEtagMiddleware);
|
|
1486
|
+
``````
|
|
1487
|
+
|
|
1488
|
+
**Features:**
|
|
1489
|
+
- Generates SHA-256 ETag from OpenAPI spec content
|
|
1490
|
+
- Returns `304 Not Modified` when spec hasn't changed
|
|
1491
|
+
- Reduces bandwidth for clients polling OpenAPI spec
|
|
1492
|
+
- Automatically included in `setupServer()`
|
|
1493
|
+
|
|
1494
|
+
**Benefits:**
|
|
1495
|
+
- SDK code generation tools can skip regeneration if spec unchanged
|
|
1496
|
+
- Faster frontend builds in CI/CD pipelines
|
|
1497
|
+
- Reduced server load for large OpenAPI specs
|
|
1498
|
+
|
|
1499
|
+
### sentryAppVersionMiddleware
|
|
1500
|
+
|
|
1501
|
+
Captures app version from request headers and adds to Sentry scope for error filtering.
|
|
1502
|
+
|
|
1503
|
+
``````typescript
|
|
1504
|
+
import {sentryAppVersionMiddleware} from "@terreno/api";
|
|
1505
|
+
|
|
1506
|
+
app.use(sentryAppVersionMiddleware);
|
|
1507
|
+
``````
|
|
1508
|
+
|
|
1509
|
+
**Expected header:** `App-Version: 1.2.3`
|
|
1510
|
+
|
|
1511
|
+
**Sentry tag:** `app_version: 1.2.3`
|
|
1512
|
+
|
|
1513
|
+
**Use case:** Filter Sentry errors by app version to identify version-specific bugs.
|
|
1514
|
+
|
|
1515
|
+
## Logging & Tracing
|
|
1516
|
+
|
|
1517
|
+
@terreno/api ships a Winston-based logger plus two helpers — **scoped loggers** and
|
|
1518
|
+
**feature-flagged loggers** — and automatic **request correlation** so a single request or
|
|
1519
|
+
background job can be followed across many log lines, both in plain-text consoles and in structured
|
|
1520
|
+
transports (Google Cloud Logging, Sentry).
|
|
1521
|
+
|
|
1522
|
+
> Never use `console.log` for permanent server logs — use `logger` or a scoped logger. Request
|
|
1523
|
+
> logging already redacts password, token, secret, and code fields in bodies and query strings;
|
|
1524
|
+
> never log secrets, full auth tokens, or raw passwords.
|
|
1525
|
+
|
|
1526
|
+
### Quick reference
|
|
1527
|
+
|
|
1528
|
+
| Export | Purpose |
|
|
1529
|
+
|--------|---------|
|
|
1530
|
+
| `logger` | Global logger: `debug` / `info` / `warn` / `error` / `catch`. |
|
|
1531
|
+
| `createScopedLogger(options)` | Logger that prepends a `prefix` and/or attaches `labels` to every line. |
|
|
1532
|
+
| `createFeatureFlaggedLogger(options)` | Wraps a logger behind an `isEnabled()` gate (feature flags, env, etc.). |
|
|
1533
|
+
| `setupLogging(options)` | Configures transports and levels (console/file + custom transports). |
|
|
1534
|
+
| `formatLogContextSuffix(fields)` | Builds the trailing ` key=value` suffix (for custom formatters/tests). |
|
|
1535
|
+
| `runWithRequestContext(ctx, cb)` | Opens a correlation scope for jobs/scripts (HTTP gets one automatically). |
|
|
1536
|
+
| `getCurrentLogContext()` | Reads the active correlation fields as a plain object. |
|
|
1537
|
+
| `REQUEST_CONTEXT_ATTRIBUTE_NAMES` | Header names for propagating correlation to other services. |
|
|
1538
|
+
|
|
1539
|
+
### The global logger
|
|
1540
|
+
|
|
1541
|
+
``````typescript
|
|
1542
|
+
import {logger} from "@terreno/api";
|
|
1543
|
+
|
|
1544
|
+
logger.info("Server started", {port: 4000});
|
|
1545
|
+
logger.warn("Slow query", {ms: 500});
|
|
1546
|
+
logger.error("Failed to process", {error});
|
|
1547
|
+
logger.debug("Request details", {body: req.body});
|
|
1548
|
+
|
|
1549
|
+
// `.catch` logs and captures the exception — handy as a promise handler:
|
|
1550
|
+
await chargeCard(id).catch(logger.catch);
|
|
1551
|
+
``````
|
|
1552
|
+
|
|
1553
|
+
Each method writes through Winston (console/file transports) and, when `USE_SENTRY_LOGGING=true`,
|
|
1554
|
+
mirrors the line to Sentry with the active request context attached.
|
|
1555
|
+
|
|
1556
|
+
### Scoped loggers
|
|
1557
|
+
|
|
1558
|
+
Use **`createScopedLogger`** when a handler, job, or service runs multiple steps and you want a
|
|
1559
|
+
consistent prefix and/or extra dimensions on every line. Create the logger once and reuse the same
|
|
1560
|
+
instance for the whole operation so every line shares identifiers.
|
|
1561
|
+
|
|
1562
|
+
``````typescript
|
|
1563
|
+
import {createScopedLogger} from "@terreno/api";
|
|
1564
|
+
|
|
1565
|
+
const log = createScopedLogger({
|
|
1566
|
+
prefix: "[InvoicePay]",
|
|
1567
|
+
labels: {invoiceId: invoice._id.toString(), attempt: String(attemptNumber)},
|
|
1568
|
+
});
|
|
1569
|
+
|
|
1570
|
+
log.info("Starting capture");
|
|
1571
|
+
log.warn("Stripe rate limited, backing off");
|
|
1572
|
+
await capture(invoice).catch(log.catch);
|
|
1573
|
+
``````
|
|
1574
|
+
|
|
1575
|
+
This produces lines like:
|
|
1576
|
+
|
|
1577
|
+
``````text
|
|
1578
|
+
info: [InvoicePay] Starting capture invoiceId=665f… attempt=1 requestId=…
|
|
1579
|
+
``````
|
|
1580
|
+
|
|
1581
|
+
- **`prefix`** — prepended to the human-readable message (easy grep / Log Explorer text search) and
|
|
1582
|
+
also stored as the Winston metadata field **`terrenoLogPrefix`** so structured transports get it
|
|
1583
|
+
as its own field, not only embedded in `message`.
|
|
1584
|
+
- **`labels`** — normalized to strings and stored as the Winston metadata field **`terrenoLabels`**.
|
|
1585
|
+
They appear in the same ` key=value` suffix as request fields and are emitted as discrete fields
|
|
1586
|
+
for structured transports (for example `@google-cloud/logging-winston`).
|
|
1587
|
+
|
|
1588
|
+
**Reserved keys:** do not use label keys that collide with framework metadata — `requestId`,
|
|
1589
|
+
`jobId`, `sessionId`, `userId`, `traceId`, `spanId`, `terrenoLogPrefix`, `terrenoRequestLog`,
|
|
1590
|
+
`terrenoLabels`. Prefer domain names: `invoiceId`, `syncBatchId`, `webhookDeliveryId`.
|
|
1591
|
+
|
|
1592
|
+
If both `prefix` and `labels` are empty, `createScopedLogger({})` returns the global `logger` (the
|
|
1593
|
+
same object).
|
|
1594
|
+
|
|
1595
|
+
### Feature-flagged (toggle) logging
|
|
1596
|
+
|
|
1597
|
+
Use **`createFeatureFlaggedLogger`** to keep verbose diagnostics in the code but silent until a
|
|
1598
|
+
flag turns them on — no redeploy required. All `debug` / `info` / `warn` / `error` calls are
|
|
1599
|
+
dropped while `isEnabled()` returns false.
|
|
1600
|
+
|
|
1601
|
+
`isEnabled` is evaluated on **every** call, so flags can flip without a process restart. Wire it to
|
|
1602
|
+
any source: an environment variable, a cached/remote flag map, or a call into a feature-flag service
|
|
1603
|
+
from your app.
|
|
1604
|
+
|
|
1605
|
+
``````typescript
|
|
1606
|
+
import {createFeatureFlaggedLogger, createScopedLogger} from "@terreno/api";
|
|
1607
|
+
|
|
1608
|
+
const jobLog = createFeatureFlaggedLogger({
|
|
1609
|
+
isEnabled: () => process.env.JOB_TRACE_LOGS === "true",
|
|
1610
|
+
target: createScopedLogger({prefix: "[Job]", labels: {jobName: "nightly-sync"}}),
|
|
1611
|
+
});
|
|
1612
|
+
|
|
1613
|
+
jobLog.info("step 1"); // silent unless JOB_TRACE_LOGS=true
|
|
1614
|
+
``````
|
|
1615
|
+
|
|
1616
|
+
Driving it from a feature-flag service in app code:
|
|
1617
|
+
|
|
1618
|
+
``````typescript
|
|
1619
|
+
const debugLog = createFeatureFlaggedLogger({
|
|
1620
|
+
isEnabled: () => flags.isEnabled("debug.billing"),
|
|
1621
|
+
target: createScopedLogger({prefix: "[Billing]"}),
|
|
1622
|
+
gateCatch: true, // also silence `catch` while the flag is off
|
|
1623
|
+
});
|
|
1624
|
+
``````
|
|
1625
|
+
|
|
1626
|
+
Options:
|
|
1627
|
+
|
|
1628
|
+
| Option | Default | Description |
|
|
1629
|
+
|--------|---------|-------------|
|
|
1630
|
+
| `isEnabled` | — (required) | `() => boolean` predicate; checked on every log call. |
|
|
1631
|
+
| `target` | global `logger` | The `ScopedLogger` (or `logger`) that receives forwarded lines. |
|
|
1632
|
+
| `gateCatch` | `false` | When `false`, `catch` still records errors while disabled (so `promise.catch(log.catch)` keeps working). Set `true` to silence `catch` too. |
|
|
1633
|
+
|
|
1634
|
+
> `@terreno/api` deliberately does **not** import a feature-flags package — you pass the predicate.
|
|
1635
|
+
> This avoids a package cycle and lets the gate read from anywhere.
|
|
1636
|
+
|
|
1637
|
+
### How loggers correlate
|
|
1638
|
+
|
|
1639
|
+
While a request or job scope is active, **every** log line — from `logger`, a scoped logger, or a
|
|
1640
|
+
feature-flagged logger — is automatically enriched with correlation fields. You never thread them
|
|
1641
|
+
through function arguments. This is built on Node's `AsyncLocalStorage` (see `requestContext.ts`).
|
|
1642
|
+
|
|
1643
|
+
What you get:
|
|
1644
|
+
|
|
1645
|
+
- **HTTP requests**: `requestContextMiddleware` (mounted early by `TerrenoApp` / `setupServer`)
|
|
1646
|
+
resolves a `requestId` from incoming headers (`x-request-id`, `x-correlation-id`,
|
|
1647
|
+
`x-cloud-trace-context`, W3C `traceparent`, …) or generates one, echoes it back as the
|
|
1648
|
+
`X-Request-ID` response header, and runs the request inside the scope. After auth runs, `userId`
|
|
1649
|
+
and `sessionId` are added.
|
|
1650
|
+
- **Correlation fields**: `requestId`, `jobId`, `sessionId`, `userId`, `traceId`, `spanId` (when
|
|
1651
|
+
available) are merged onto every line as top-level Winston metadata.
|
|
1652
|
+
- **Credential type**: `getCurrentRequestContext()?.credential` records how the caller
|
|
1653
|
+
authenticated (see [Request credential](#request-credential)). It is also a Sentry tag.
|
|
1654
|
+
- **Structured object**: every line also carries **`terrenoRequestLog`**: `{requestId, userId}`
|
|
1655
|
+
(with `userId: null` for anonymous requests) so Log Explorer and BigQuery can always filter on a
|
|
1656
|
+
single nested object. This object is structured metadata only — it is not repeated in the
|
|
1657
|
+
plain-text suffix.
|
|
1658
|
+
- **Plain-text suffix**: console/file lines append a ` key=value` suffix built by
|
|
1659
|
+
`formatLogContextSuffix`, including `logPrefix=…` and any scoped `labels`.
|
|
1660
|
+
|
|
1661
|
+
Correlating background jobs, cron tasks, and scripts — wrap the work in `runWithRequestContext` so
|
|
1662
|
+
it gets the same treatment as an HTTP request:
|
|
1663
|
+
|
|
1664
|
+
``````typescript
|
|
1665
|
+
import {createScopedLogger, runWithRequestContext} from "@terreno/api";
|
|
1666
|
+
|
|
1667
|
+
await runWithRequestContext({jobId: "nightly-sync"}, async () => {
|
|
1668
|
+
const log = createScopedLogger({prefix: "[NightlySync]"});
|
|
1669
|
+
log.info("started"); // every line includes jobId + a generated requestId
|
|
1670
|
+
await sync();
|
|
1671
|
+
});
|
|
1672
|
+
``````
|
|
1673
|
+
|
|
1674
|
+
Propagating correlation to other services (so the same `requestId` / `traceId` follows the call):
|
|
1675
|
+
|
|
1676
|
+
``````typescript
|
|
1677
|
+
import {getCurrentRequestContextAttributes} from "@terreno/api";
|
|
1678
|
+
|
|
1679
|
+
await fetch(downstreamUrl, {headers: getCurrentRequestContextAttributes()});
|
|
1680
|
+
``````
|
|
1681
|
+
|
|
1682
|
+
### Request credential
|
|
1683
|
+
|
|
1684
|
+
`getCurrentRequestContext()?.credential` says which credential authenticated `userId`. Permission
|
|
1685
|
+
functions receive only `(method, user, obj)`, so read it from the request context when an
|
|
1686
|
+
operation must tell the user's own session apart from a delegated agent:
|
|
1687
|
+
|
|
1688
|
+
| Value | Set when |
|
|
1689
|
+
| --- | --- |
|
|
1690
|
+
| `"jwt"` | A Terreno JWT bearer authenticated the request (REST or `/mcp`) |
|
|
1691
|
+
| `"better-auth-session"` | A Better Auth session authenticated the request (REST or `/mcp`) |
|
|
1692
|
+
| `"mcp-service-token"` | An `mcp_` service token authenticated a `/mcp` call |
|
|
1693
|
+
| `"oauth"` | An MCP OAuth access token (`mcpat_`) authenticated a `/mcp` call |
|
|
1694
|
+
|
|
1695
|
+
It is `undefined` for anonymous requests and for jobs. The JWT and Better Auth middlewares set it
|
|
1696
|
+
for REST; the MCP server sets it on `/mcp` before any tool runs. `extractAuthFromHeaders` returns
|
|
1697
|
+
the same `{user, credential}` pair for custom MCP mounts, plus `scopes` for an OAuth token.
|
|
1698
|
+
|
|
1699
|
+
For an `"oauth"` credential, `getCurrentRequestContext()?.oauthScopes` lists the scopes the
|
|
1700
|
+
token was granted. Terreno does not limit tools by scope on its own. With more than one entry in
|
|
1701
|
+
`mcpOAuth.scopesSupported`, add `requireOAuthScope(scope)` to the permissions of each action or
|
|
1702
|
+
method that needs it: it refuses an OAuth token without `scope` and lets every other credential
|
|
1703
|
+
through.
|
|
1704
|
+
|
|
1705
|
+
``````typescript
|
|
1706
|
+
import {Permissions, requireOAuthScope} from "@terreno/api";
|
|
1707
|
+
|
|
1708
|
+
permissions: {
|
|
1709
|
+
create: [Permissions.IsAuthenticated, requireOAuthScope("write")],
|
|
1710
|
+
list: [Permissions.IsAuthenticated],
|
|
1711
|
+
// ...
|
|
1712
|
+
},
|
|
1713
|
+
``````
|
|
1714
|
+
|
|
1715
|
+
``````typescript
|
|
1716
|
+
import {getCurrentRequestContext, type PermissionMethod} from "@terreno/api";
|
|
1717
|
+
|
|
1718
|
+
const DELEGATED = new Set(["mcp-service-token", "oauth"]);
|
|
1719
|
+
|
|
1720
|
+
// Admins may act on any workspace from their own session, but not through an agent's token.
|
|
1721
|
+
const IsWorkspaceMemberOrAdmin: PermissionMethod<Workspace> = (method, user, obj) => {
|
|
1722
|
+
const credential = getCurrentRequestContext()?.credential;
|
|
1723
|
+
if (user?.admin && !DELEGATED.has(credential ?? "")) {
|
|
1724
|
+
return true;
|
|
1725
|
+
}
|
|
1726
|
+
return Boolean(obj?.memberIds.some((id) => String(id) === String(user?._id)));
|
|
1727
|
+
};
|
|
1728
|
+
``````
|
|
1729
|
+
|
|
1730
|
+
### Configuring transports
|
|
1731
|
+
|
|
1732
|
+
Request logging (one debug line per request with method, URL, user, and redacted body) is on by
|
|
1733
|
+
default. Turn it off with `logRequests: false` on `TerrenoApp` or `loggingOptions: {logRequests: false}`;
|
|
1734
|
+
either one disables it.
|
|
1735
|
+
|
|
1736
|
+
`setupLogging` is called for you by `TerrenoApp` / `setupServer` (pass `loggingOptions`). Console
|
|
1737
|
+
and file transports are enabled by default; add custom transports (such as Google Cloud Logging) to
|
|
1738
|
+
forward the structured metadata above:
|
|
1739
|
+
|
|
1740
|
+
``````typescript
|
|
1741
|
+
import {setupLogging} from "@terreno/api";
|
|
1742
|
+
import {LoggingWinston} from "@google-cloud/logging-winston";
|
|
1743
|
+
|
|
1744
|
+
setupLogging({
|
|
1745
|
+
level: "info",
|
|
1746
|
+
disableFileLogging: isDeployed,
|
|
1747
|
+
disableConsoleColors: isDeployed,
|
|
1748
|
+
transports: isDeployed ? [new LoggingWinston()] : [],
|
|
1749
|
+
});
|
|
1750
|
+
``````
|
|
1751
|
+
|
|
1752
|
+
When deployed, Winston metadata (`terrenoRequestLog`, `terrenoLabels`, `terrenoLogPrefix`, and the
|
|
1753
|
+
top-level request fields) flows into Google Cloud Logging `jsonPayload` for Log Explorer filtering.
|
|
1754
|
+
To correlate with Cloud Trace, ensure clients or load balancers send `x-cloud-trace-context` or W3C
|
|
1755
|
+
`traceparent`.
|
|
1756
|
+
|
|
1757
|
+
### Development browser-log ingestion
|
|
1758
|
+
|
|
1759
|
+
`TerrenoApp` mounts `POST /__terreno/browser-logs` only when `NODE_ENV=development`, or when
|
|
1760
|
+
`TERRENO_BROWSER_LOGS=true` in another non-production environment. Production always returns 404;
|
|
1761
|
+
set `TERRENO_BROWSER_LOGS=false` to disable the route in development.
|
|
1762
|
+
|
|
1763
|
+
The route accepts loopback requests for local browser development. Non-loopback clients must
|
|
1764
|
+
authenticate through the app's normal JWT or Better Auth middleware. `TerrenoApp` mounts the route
|
|
1765
|
+
after its optional rate limiter, so configured API limits also apply to ingestion.
|
|
1766
|
+
|
|
1767
|
+
The request body is `{entries: Array<{level?, message?, stack?, timestamp?}>}`. Batches are capped
|
|
1768
|
+
at 100 entries and 256 kB. Accepted rows are truncated to bounded field lengths and appended as
|
|
1769
|
+
mode-`0600` JSONL under `<backend cwd>/.terreno/logs/browser.log`. The file restarts with the latest
|
|
1770
|
+
batch before it would exceed 5 MB. The local MCP `read_logs` / `last_error` tools and
|
|
1771
|
+
`terreno logs --sources browser` consume that file.
|
|
1772
|
+
|
|
1773
|
+
### Message style
|
|
1774
|
+
|
|
1775
|
+
- Start with what happened, then optional detail: `User export finished`, not `finished`.
|
|
1776
|
+
- Use **low-cardinality** prefixes in brackets (`[WebhookStripe]`, `[NightlyJob]`); put unique IDs
|
|
1777
|
+
in `labels`, not in the prefix.
|
|
1778
|
+
- Keep the first ~80 characters useful for grouping; push highly variable data to the end or into
|
|
1779
|
+
splat args.
|
|
1780
|
+
|
|
1781
|
+
## Extensibility
|
|
1782
|
+
|
|
1783
|
+
### TerrenoPlugin Interface
|
|
1784
|
+
|
|
1785
|
+
The `TerrenoPlugin` interface provides a standard way to extend Terreno applications with reusable functionality.
|
|
1786
|
+
|
|
1787
|
+
``````typescript
|
|
1788
|
+
import type {TerrenoPlugin} from "@terreno/api";
|
|
1789
|
+
import type express from "express";
|
|
1790
|
+
|
|
1791
|
+
export interface TerrenoPlugin {
|
|
1792
|
+
register(app: express.Application): void;
|
|
1793
|
+
}
|
|
1794
|
+
``````
|
|
1795
|
+
|
|
1796
|
+
**Creating a plugin:**
|
|
1797
|
+
|
|
1798
|
+
``````typescript
|
|
1799
|
+
import type {TerrenoPlugin} from "@terreno/api";
|
|
1800
|
+
import type express from "express";
|
|
1801
|
+
|
|
1802
|
+
export class MyPlugin implements TerrenoPlugin {
|
|
1803
|
+
private options: MyPluginOptions;
|
|
1804
|
+
|
|
1805
|
+
constructor(options?: MyPluginOptions) {
|
|
1806
|
+
this.options = options ?? {};
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1809
|
+
register(app: express.Application): void {
|
|
1810
|
+
// Add routes, middleware, or other setup
|
|
1811
|
+
app.get("/my-plugin/status", (_req, res) => {
|
|
1812
|
+
res.json({status: "ok"});
|
|
1813
|
+
});
|
|
1814
|
+
}
|
|
1815
|
+
}
|
|
1816
|
+
``````
|
|
1817
|
+
|
|
1818
|
+
**Using a plugin:**
|
|
1819
|
+
|
|
1820
|
+
``````typescript
|
|
1821
|
+
import {setupServer} from "@terreno/api";
|
|
1822
|
+
import {MyPlugin} from "./plugins/myPlugin";
|
|
1823
|
+
|
|
1824
|
+
const myPlugin = new MyPlugin({enabled: true});
|
|
1825
|
+
|
|
1826
|
+
setupServer({
|
|
1827
|
+
userModel: User,
|
|
1828
|
+
addRoutes: (router) => {
|
|
1829
|
+
// Register the plugin
|
|
1830
|
+
myPlugin.register(router as any);
|
|
1831
|
+
},
|
|
1832
|
+
});
|
|
1833
|
+
``````
|
|
1834
|
+
|
|
1835
|
+
**Example: Health Check Plugin**
|
|
1836
|
+
|
|
1837
|
+
See `@terreno/api-health` for a complete plugin implementation:
|
|
1838
|
+
|
|
1839
|
+
``````typescript
|
|
1840
|
+
import {HealthApp} from "@terreno/api-health";
|
|
1841
|
+
|
|
1842
|
+
const healthCheck = new HealthApp({
|
|
1843
|
+
enabled: true,
|
|
1844
|
+
path: "/health",
|
|
1845
|
+
check: async () => {
|
|
1846
|
+
const dbConnected = await checkDatabaseConnection();
|
|
1847
|
+
return {
|
|
1848
|
+
healthy: dbConnected,
|
|
1849
|
+
details: {database: dbConnected ? "connected" : "disconnected"},
|
|
1850
|
+
};
|
|
1851
|
+
},
|
|
1852
|
+
});
|
|
1853
|
+
|
|
1854
|
+
setupServer({
|
|
1855
|
+
userModel: User,
|
|
1856
|
+
addRoutes: (router) => {
|
|
1857
|
+
healthCheck.register(router as any);
|
|
1858
|
+
},
|
|
1859
|
+
});
|
|
1860
|
+
``````
|
|
1861
|
+
|
|
1862
|
+
**Plugin patterns:**
|
|
1863
|
+
- **Conditional registration:** Check options to enable/disable functionality
|
|
1864
|
+
- **Route registration:** Add custom endpoints (health checks, admin panels, webhooks)
|
|
1865
|
+
- **Middleware injection:** Add request/response interceptors
|
|
1866
|
+
- **Service initialization:** Connect to external services (monitoring, analytics)
|
|
1867
|
+
|
|
1868
|
+
**Benefits:**
|
|
1869
|
+
- Reusable across multiple Terreno projects
|
|
1870
|
+
- Testable in isolation
|
|
1871
|
+
- Optional/configurable functionality
|
|
1872
|
+
- Clean separation of concerns
|
|
1873
|
+
|
|
1874
|
+
## In-app notifications
|
|
1875
|
+
|
|
1876
|
+
Owner-scoped inbox and channel preferences via `NotificationsApp` (`ConsentApp` pattern).
|
|
1877
|
+
This is separate from inbound webhooks and outbound Slack/Chat/Zoom notifiers below.
|
|
1878
|
+
|
|
1879
|
+
### Register
|
|
1880
|
+
|
|
1881
|
+
```typescript
|
|
1882
|
+
import {NotificationsApp, getNotificationService, notificationsBeforeSend} from "@terreno/api";
|
|
1883
|
+
|
|
1884
|
+
new TerrenoApp({userModel: User}).register(
|
|
1885
|
+
new NotificationsApp({
|
|
1886
|
+
getComms: getCommsService, // optional; duck-typed, no @terreno/comms import in api
|
|
1887
|
+
retainDays: 0,
|
|
1888
|
+
userModel: User,
|
|
1889
|
+
})
|
|
1890
|
+
);
|
|
1891
|
+
```
|
|
1892
|
+
|
|
1893
|
+
### Collections
|
|
1894
|
+
|
|
1895
|
+
| Model | Route | Sync | Client create |
|
|
1896
|
+
|---|---|---|---|
|
|
1897
|
+
| `Notification` | `/notifications` | owner | **No** (`create: []`) |
|
|
1898
|
+
| `NotificationPreference` | `/notification-preferences` | owner | Yes (lazy defaults) |
|
|
1899
|
+
|
|
1900
|
+
The exported models use collision-resistant Mongoose names
|
|
1901
|
+
`TerrenoInboxNotification` and `TerrenoNotificationPreference`, while retaining the
|
|
1902
|
+
existing `notifications` and `notificationpreferences` MongoDB collections.
|
|
1903
|
+
|
|
1904
|
+
`Notification` fields: `ownerId`, `title`, `body`, `href?`, `kind?`, `readAt?` (null = unread),
|
|
1905
|
+
`archivedAt?` (null = active inbox).
|
|
1906
|
+
Index: `{ownerId: 1, created: -1}`.
|
|
1907
|
+
|
|
1908
|
+
`NotificationPreference` fields: `ownerId` (unique among non-deleted rows), `inapp`, `mail`,
|
|
1909
|
+
`push`, `sms` (default `true`). Missing preference row = all channels on. Preference updates
|
|
1910
|
+
accept only the four channel booleans; `ownerId` is immutable. Soft-deleting a preference
|
|
1911
|
+
row does not block a later create for the same owner.
|
|
1912
|
+
|
|
1913
|
+
`notify()` comms fan-out isolates mail, SMS, and push: a rejection from one provider is
|
|
1914
|
+
logged and does not skip later channels.
|
|
1915
|
+
|
|
1916
|
+
### `notify(input)`
|
|
1917
|
+
|
|
1918
|
+
Server-only seam. Writes the inbox when `inapp` is on, then optionally calls
|
|
1919
|
+
`getComms().sendMail` / `sendSms` / `sendPushToUser` when that channel is on and a
|
|
1920
|
+
destination exists. Comms errors after the inbox write are logged and do not fail `notify()`.
|
|
1921
|
+
|
|
1922
|
+
### HTTP
|
|
1923
|
+
|
|
1924
|
+
| Method | Path | Notes |
|
|
1925
|
+
|---|---|---|
|
|
1926
|
+
| GET/PATCH/DELETE | `/notifications/:id` + list | Owner-scoped; **create disabled** |
|
|
1927
|
+
| POST | `/notifications/mark-all-read` | Sets `readAt` on caller's unread rows |
|
|
1928
|
+
| CRUD | `/notification-preferences` | Owner-scoped sync |
|
|
1929
|
+
|
|
1930
|
+
PATCH on notifications: `readAt` (ISO date or `null` to unread) and `archivedAt` (ISO date
|
|
1931
|
+
or `null`). Other keys are stripped. Dismiss sets `archivedAt` via syncdb update so the
|
|
1932
|
+
row stays in the snapshot. DELETE remains a retention tombstone (`isDeletedPlugin`), not
|
|
1933
|
+
the inbox archive path.
|
|
1934
|
+
|
|
1935
|
+
The example backend uses todo router lifecycle hooks to call `notify()`: create emits
|
|
1936
|
+
`Todo added`, the first incomplete-to-complete update emits `Todo completed`, and delete
|
|
1937
|
+
emits `Todo deleted`.
|
|
1938
|
+
|
|
1939
|
+
### `notificationsBeforeSend`
|
|
1940
|
+
|
|
1941
|
+
Duck-typed hook for `CommsApp({beforeSend})`. Cancels when the user's preference for that
|
|
1942
|
+
channel is `false`. Never cancels `verification`.
|
|
1943
|
+
|
|
1944
|
+
### Retention
|
|
1945
|
+
|
|
1946
|
+
`retainDays` default `0` (no sweep). When `retainDays > 0`, `sweepExpired()` tombstones rows
|
|
1947
|
+
with `created` older than N days. No Mongo TTL index.
|
|
1948
|
+
|
|
1949
|
+
How-to: [In-app notifications](../how-to/in-app-notifications.md).
|
|
1950
|
+
|
|
1951
|
+
## Webhooks & Notifications
|
|
1952
|
+
|
|
1953
|
+
JSON and `application/x-www-form-urlencoded` parsers on `TerrenoApp` copy the original
|
|
1954
|
+
bytes onto `req.rawBody` (`Buffer`) so inbound webhook signatures can be verified
|
|
1955
|
+
without re-serializing `req.body`.
|
|
1956
|
+
|
|
1957
|
+
Register inbound routes on `WebhooksApp`. Helpers: `hmacSignature`, `stripeSignature`,
|
|
1958
|
+
`twilioSignature`, `sendgridEventSignature`. Timestamped HMAC, Stripe, and SendGrid
|
|
1959
|
+
reject timestamps outside a 300s window by default. Idempotency is `memory` or `mongo`
|
|
1960
|
+
(`webhookReceipts`). Paths are not added to `/openapi.json` and do not use JWT.
|
|
1961
|
+
|
|
1962
|
+
```typescript
|
|
1963
|
+
import {hmacSignature, TerrenoApp, WebhooksApp} from "@terreno/api";
|
|
1964
|
+
|
|
1965
|
+
const webhooks = new WebhooksApp({idempotency: {store: "mongo"}});
|
|
1966
|
+
webhooks.route({
|
|
1967
|
+
path: "/webhooks/example",
|
|
1968
|
+
source: "example",
|
|
1969
|
+
verify: hmacSignature({secret: process.env.WEBHOOK_SECRET!, header: "X-Webhook-Signature"}),
|
|
1970
|
+
eventId: (req) => String((req.body as {id?: string})?.id ?? ""),
|
|
1971
|
+
handler: async () => {
|
|
1972
|
+
// process event
|
|
1973
|
+
},
|
|
1974
|
+
});
|
|
1975
|
+
|
|
1976
|
+
new TerrenoApp({userModel: User}).register(webhooks).start();
|
|
1977
|
+
```
|
|
1978
|
+
|
|
1979
|
+
Call `webhooks.claim` / `webhooks.release` from a handler when one HTTP body contains
|
|
1980
|
+
nested ids (SendGrid `sg_event_id`). Operator guide: [Receive inbound webhooks](../how-to/inbound-webhooks.md).
|
|
1981
|
+
|
|
1982
|
+
### Slack Notifications
|
|
1983
|
+
|
|
1984
|
+
Incoming webhooks only notify a person when the text contains their **Slack
|
|
1985
|
+
member ID** as `<@U012ABCDEF>` (Enterprise Grid ids start with `W`). Putting a
|
|
1986
|
+
display name or email in the message does not mention them.
|
|
1987
|
+
|
|
1988
|
+
Store `slackUserId` on the staff/user record. Resolve it once with
|
|
1989
|
+
`lookupSlackUserIdByEmail` (needs a bot token with `users:read.email`) and pass
|
|
1990
|
+
the id on every send:
|
|
1991
|
+
|
|
1992
|
+
``````typescript
|
|
1993
|
+
import {formatSlackUserMention, lookupSlackUserIdByEmail, sendToSlack} from "@terreno/api";
|
|
1994
|
+
|
|
1995
|
+
const slackUserId =
|
|
1996
|
+
staff.slackUserId ??
|
|
1997
|
+
(await lookupSlackUserIdByEmail({email: staff.email, token: process.env.SLACK_BOT_TOKEN}));
|
|
1998
|
+
|
|
1999
|
+
await sendToSlack("Please review this case", {
|
|
2000
|
+
url: process.env.SLACK_WEBHOOK_URL,
|
|
2001
|
+
mentionUserIds: slackUserId ? [slackUserId] : [],
|
|
2002
|
+
});
|
|
2003
|
+
|
|
2004
|
+
// Or embed the token yourself:
|
|
2005
|
+
await sendToSlack(`${formatSlackUserMention("U012ABCDEF")} Deployment complete`, {
|
|
2006
|
+
url: process.env.SLACK_WEBHOOK_URL,
|
|
2007
|
+
});
|
|
2008
|
+
``````
|
|
2009
|
+
|
|
2010
|
+
Incoming webhooks are fixed to the channel chosen when the webhook was created.
|
|
2011
|
+
Private channels, invites, and messages to a channel id use the bot token for
|
|
2012
|
+
one Slack workspace (`SLACK_BOT_TOKEN`):
|
|
2013
|
+
|
|
2014
|
+
| Function | Slack method | Bot scopes |
|
|
2015
|
+
| --- | --- | --- |
|
|
2016
|
+
| `createSlackPrivateChannel` | `conversations.create`, `conversations.invite`, `chat.postMessage` | `groups:write`, `groups:write.invites`, `chat:write` |
|
|
2017
|
+
| `inviteSlackUsersToChannel` | `conversations.invite` | `groups:write.invites` for private channels, `channels:write.invites` for public |
|
|
2018
|
+
| `postSlackMessage` | `chat.postMessage` | `chat:write` |
|
|
2019
|
+
| `findSlackChannelByName` | `conversations.list` | `channels:read`, `groups:read` |
|
|
2020
|
+
| `lookupSlackUserIdByEmail` | `users.lookupByEmail` | `users:read.email` |
|
|
2021
|
+
|
|
2022
|
+
The bot can post and invite only in channels it belongs to. Creating a private
|
|
2023
|
+
channel makes the bot a member. An existing private channel must already
|
|
2024
|
+
include the app; a bot cannot join a private channel by itself. Store the
|
|
2025
|
+
returned channel id. Names are unique, mutable, and limited to lowercase
|
|
2026
|
+
letters, numbers, hyphens, and underscores.
|
|
2027
|
+
|
|
2028
|
+
``````typescript
|
|
2029
|
+
import {createSlackPrivateChannel, inviteSlackUsersToChannel} from "@terreno/api";
|
|
2030
|
+
|
|
2031
|
+
const channel = await createSlackPrivateChannel({
|
|
2032
|
+
name: "case-12345",
|
|
2033
|
+
userIds: ["U012ABCDEF"],
|
|
2034
|
+
initialMessage: "Case opened.",
|
|
2035
|
+
mentionUserIds: ["U012ABCDEF"],
|
|
2036
|
+
});
|
|
2037
|
+
|
|
2038
|
+
await inviteSlackUsersToChannel({
|
|
2039
|
+
channelId: channel.channelId,
|
|
2040
|
+
userIds: ["U098765432"],
|
|
2041
|
+
});
|
|
2042
|
+
``````
|
|
2043
|
+
|
|
2044
|
+
A taken name throws status 409. `findSlackChannelByName({name})` returns a
|
|
2045
|
+
public channel, or a private channel the bot is already in. It returns
|
|
2046
|
+
`undefined` when that channel is not visible to the bot.
|
|
2047
|
+
|
|
2048
|
+
### Google Chat Notifications
|
|
2049
|
+
|
|
2050
|
+
``````typescript
|
|
2051
|
+
import {sendGoogleChatMessage} from "@terreno/api";
|
|
2052
|
+
|
|
2053
|
+
await sendGoogleChatMessage({
|
|
2054
|
+
webhookUrl: process.env.GOOGLE_CHAT_WEBHOOK_URL,
|
|
2055
|
+
message: "Build failed",
|
|
2056
|
+
sections: [
|
|
2057
|
+
{
|
|
2058
|
+
header: "Build Status",
|
|
2059
|
+
widgets: [{textParagraph: {text: "Branch: main\nStatus: Failed"}}],
|
|
2060
|
+
},
|
|
2061
|
+
],
|
|
2062
|
+
});
|
|
2063
|
+
``````
|
|
2064
|
+
|
|
2065
|
+
### Zoom Notifications
|
|
2066
|
+
|
|
2067
|
+
``````typescript
|
|
2068
|
+
import {sendZoomMessage} from "@terreno/api";
|
|
2069
|
+
|
|
2070
|
+
await sendZoomMessage({
|
|
2071
|
+
webhookUrl: process.env.ZOOM_WEBHOOK_URL,
|
|
2072
|
+
message: "Server health alert",
|
|
2073
|
+
});
|
|
2074
|
+
``````
|
|
2075
|
+
|
|
2076
|
+
**Common use cases:**
|
|
2077
|
+
- CI/CD pipeline notifications
|
|
2078
|
+
- Error alerts
|
|
2079
|
+
- Deployment confirmations
|
|
2080
|
+
- Health check failures
|
|
2081
|
+
|
|
2082
|
+
## HTTP Client
|
|
2083
|
+
|
|
2084
|
+
Utilities for calling **external** third-party APIs with consistent auth, retry, and error handling. See the how-to guide: [Call external APIs](../how-to/call-external-apis.md).
|
|
2085
|
+
|
|
2086
|
+
### createAuthenticatedClient
|
|
2087
|
+
|
|
2088
|
+
Axios instance factory with a pluggable auth strategy, lazy token caching, and a retry policy for transient failures.
|
|
2089
|
+
|
|
2090
|
+
``````typescript
|
|
2091
|
+
import {createAuthenticatedClient} from "@terreno/api";
|
|
2092
|
+
|
|
2093
|
+
const client = createAuthenticatedClient({
|
|
2094
|
+
apiName: "widgetService",
|
|
2095
|
+
auth: {getToken: async () => fetchServiceToken(), type: "bearer"},
|
|
2096
|
+
baseURL: "https://api.widgets.example/v2",
|
|
2097
|
+
retry: {maxAttempts: 3}, // optional; shown with defaults below
|
|
2098
|
+
});
|
|
2099
|
+
|
|
2100
|
+
const response = await client.axios.get("/widgets/123");
|
|
2101
|
+
client.invalidateToken(); // drop the cached token; next request re-authenticates
|
|
2102
|
+
``````
|
|
2103
|
+
|
|
2104
|
+
**Auth strategies** (`auth` option):
|
|
2105
|
+
- `{type: "bearer", getToken}` — caller-supplied async token fetcher, cached until invalidated
|
|
2106
|
+
- `{type: "oauth2", tokenUrl, credentials, refreshOn401}` — client-credentials grant handled internally; `refreshOn401: true` refreshes and retries exactly once on a 401
|
|
2107
|
+
- `{type: "apiKey", header, getKey}` — key sent on the named header
|
|
2108
|
+
|
|
2109
|
+
**Retry policy** (`retry` option, all fields optional):
|
|
2110
|
+
|
|
2111
|
+
| Field | Default | Meaning |
|
|
2112
|
+
|---|---|---|
|
|
2113
|
+
| `maxAttempts` | `3` | Total attempts including the first request |
|
|
2114
|
+
| `retryOn` | `["rateLimited", "server", "network"]` | Failure classifications to retry |
|
|
2115
|
+
| `baseDelayMs` | `250` | Base for exponential backoff with jitter |
|
|
2116
|
+
| `maxDelayMs` | `30000` | Ceiling for any single delay, including `Retry-After` values |
|
|
2117
|
+
|
|
2118
|
+
Only idempotent methods (GET/HEAD/OPTIONS) are retried by default. Opt a request in with `markRetryUnsafe(config?)` when the operation is safe to repeat and its body is replayable.
|
|
2119
|
+
|
|
2120
|
+
**Why:** external integrations otherwise duplicate token plumbing and diverge on retry behavior; centralizing them makes rate-limit handling and credential rotation consistent, and makes non-idempotent retries an explicit, reviewable choice.
|
|
2121
|
+
|
|
2122
|
+
### normalizeApiError
|
|
2123
|
+
|
|
2124
|
+
Pure function converting any thrown value into a stable, log-safe shape.
|
|
2125
|
+
|
|
2126
|
+
``````typescript
|
|
2127
|
+
import {normalizeApiError} from "@terreno/api";
|
|
2128
|
+
|
|
2129
|
+
const normalized = normalizeApiError(error, {apiName: "widgetService", operation: "getWidget"});
|
|
2130
|
+
// {isAxios, statusCode, messages, classification, apiName, operation}
|
|
2131
|
+
``````
|
|
2132
|
+
|
|
2133
|
+
`classification` is one of `"rateLimited" | "unauthorized" | "notFound" | "validation" | "server" | "network" | "unknown"`. Messages are extracted only from recognized body fields (`{message}`, JSONAPI `{errors: [{title, detail}]}`, plain strings truncated to 500 chars) — raw payload bodies never reach the normalized shape.
|
|
2134
|
+
|
|
2135
|
+
### withApiErrorHandling
|
|
2136
|
+
|
|
2137
|
+
Call-site wrapper: normalize → optional `redactError` hook → log exactly once → rethrow.
|
|
2138
|
+
|
|
2139
|
+
``````typescript
|
|
2140
|
+
import {withApiErrorHandling} from "@terreno/api";
|
|
2141
|
+
|
|
2142
|
+
const response = await withApiErrorHandling(() => client.axios.get(`/widgets/${id}`), {
|
|
2143
|
+
apiName: "widgetService",
|
|
2144
|
+
operation: "getWidget",
|
|
2145
|
+
rethrowAs: "apiError", // optional; default "raw" rethrows the original error
|
|
2146
|
+
});
|
|
2147
|
+
``````
|
|
2148
|
+
|
|
2149
|
+
With `rethrowAs: "apiError"` the failure is converted to a terreno `APIError` (stable title, per-occurrence `detail`, classification in `meta`) suitable for route handlers. Works with SDK-based integrations too — it does not require `createAuthenticatedClient`.
|
|
2150
|
+
|
|
2151
|
+
## Utilities
|
|
2152
|
+
|
|
2153
|
+
### checkModelsStrict
|
|
2154
|
+
|
|
2155
|
+
Validates all registered Mongoose models use strict mode and virtual settings.
|
|
2156
|
+
|
|
2157
|
+
``````typescript
|
|
2158
|
+
import {checkModelsStrict} from "@terreno/api";
|
|
2159
|
+
|
|
2160
|
+
// Run in non-production environments at startup
|
|
2161
|
+
if (process.env.NODE_ENV !== "production") {
|
|
2162
|
+
checkModelsStrict();
|
|
2163
|
+
}
|
|
2164
|
+
``````
|
|
2165
|
+
|
|
2166
|
+
**Checks:**
|
|
2167
|
+
- `strict: "throw"` or `strict: true` (prevents accidental field additions)
|
|
2168
|
+
- `toJSON: {virtuals: true}` (includes virtual fields in JSON output)
|
|
2169
|
+
- `toObject: {virtuals: true}` (includes virtual fields in plain objects)
|
|
2170
|
+
|
|
2171
|
+
**Throws:** Detailed error listing all non-compliant models
|
|
2172
|
+
|
|
2173
|
+
**Why:** Prevents subtle bugs from schema misconfigurations that only appear in production.
|
|
2174
|
+
|
|
2175
|
+
### isValidObjectId
|
|
2176
|
+
|
|
2177
|
+
Better ObjectId validation than Mongoose's built-in validator.
|
|
2178
|
+
|
|
2179
|
+
``````typescript
|
|
2180
|
+
import {isValidObjectId} from "@terreno/api";
|
|
2181
|
+
|
|
2182
|
+
// Mongoose's isValidObjectId has false positives
|
|
2183
|
+
console.log(mongoose.isValidObjectId("123456789012")); // true (wrong!)
|
|
2184
|
+
|
|
2185
|
+
// @terreno/api's version correctly validates
|
|
2186
|
+
console.log(isValidObjectId("123456789012")); // false (correct)
|
|
2187
|
+
console.log(isValidObjectId("507f1f77bcf86cd799439011")); // true
|
|
2188
|
+
``````
|
|
2189
|
+
|
|
2190
|
+
**Fix:** Checks length is exactly 24 hex characters, not just 12+ characters.
|
|
2191
|
+
|
|
2192
|
+
### timeout
|
|
2193
|
+
|
|
2194
|
+
Promise-based timeout utility.
|
|
2195
|
+
|
|
2196
|
+
``````typescript
|
|
2197
|
+
import {timeout} from "@terreno/api";
|
|
2198
|
+
|
|
2199
|
+
// Wait 1 second
|
|
2200
|
+
await timeout(1000);
|
|
2201
|
+
|
|
2202
|
+
// Use in retry logic
|
|
2203
|
+
for (let i = 0; i < 3; i++) {
|
|
2204
|
+
try {
|
|
2205
|
+
await someOperation();
|
|
2206
|
+
break;
|
|
2207
|
+
} catch (error) {
|
|
2208
|
+
if (i < 2) await timeout(1000 * Math.pow(2, i)); // Exponential backoff
|
|
2209
|
+
}
|
|
2210
|
+
}
|
|
2211
|
+
``````
|
|
2212
|
+
|
|
2213
|
+
## Migrations
|
|
2214
|
+
|
|
2215
|
+
`runMigrations({migrations, dryRun, connection, mongoose})` applies pending versioned `up` functions in array order. Dry-run calls `up({dryRun: true})` and does **not** write history. Wet runs insert `{id, checksum, appliedAt}` into Mongo collection `terreno_migrations`. Already-applied ids are skipped; a checksum change after apply throws `Migration checksum mismatch` (409). Apply is serialized with a lock document `_id: "_lock"` in the same collection: wait, heartbeat, steal after **10 minutes**.
|
|
2216
|
+
|
|
2217
|
+
`runDownMigrations({migrations, dryRun, connection, mongoose, steps})` rolls back the last `steps` applied files (default 1 via the CLI). Dry-run calls `down({dryRun: true})` and leaves history in place. Wet deletes the history row after `down`. Missing `down` throws `Migration has no down` (400) and does not change history.
|
|
2218
|
+
|
|
2219
|
+
Files are `migrations/<YYYYMMDDHHmmss>-<slug>.ts`. `checkMigrationFiles({dir})` (alias `loadMigrations`) loads them in filename order without connecting to Mongo; the exported `id` must match the filename stem. Optional `down` is allowed. Duplicate ids and invalid names fail with 400 `APIError`. A missing directory fails with 404 `Migration directory not found`. Paths on Bun's compile-time virtual FS (`$bunfs`) are remapped with `resolveMigrationDir` to `MIGRATIONS_DIR` or `<cwd>/migrations`. `exerciseReversibleMigrations({dir, connect})` applies every file on a connected database, then rolls back in reverse until a file without `down` stops the chain (that id is recorded; earlier files stay applied).
|
|
2220
|
+
|
|
2221
|
+
`assertMigrationsAllowed({isProduction, allowEnv, force, dryRun})` gates wet apply. Dry-run is always allowed. Production wet requires `ALLOW_MIGRATIONS=true` and `--force` (or a later boot/admin Apply equivalent).
|
|
2222
|
+
|
|
2223
|
+
`buildSchemaCatalog({models})` snapshots Mongoose paths, required/unique flags, and indexes. `diffSchemaCatalog({before, after})` marks optional fields and non-unique index adds as safe, and required fields, unique indexes, same-type rename heuristics, removed paths, and same-path type changes as unsafe (fail-closed generate stubs). Mixed diffs still throw, and keep safe index calls as comments in the stub.
|
|
2224
|
+
|
|
2225
|
+
The `@terreno/api` bin `terreno-migrate` runs `check`, `generate`, `status`, `up`, and `down`. See [Run MongoDB migrations](../how-to/run-mongodb-migrations.md).
|
|
2226
|
+
|
|
2227
|
+
## Script Helpers
|
|
2228
|
+
|
|
2229
|
+
### runSeeds and runSeedCli
|
|
2230
|
+
|
|
2231
|
+
Define ordered `SeedStep` entries and run them in the default `sync` mode or in
|
|
2232
|
+
`reset` mode. The `SeedContext` provides:
|
|
2233
|
+
|
|
2234
|
+
- `upsert(model, key, values)` — creates, updates, or reports unchanged data. Nested values ignore generated `_id`s. `Map` payloads compare as plain objects. Soft-deleted matches are restored instead of duplicated. Duplicate key matches keep the first document and remove the extras.
|
|
2235
|
+
- `deleteMany(model, filter?)` — reset helper with dry-run support
|
|
2236
|
+
- `mode`, `dryRun`, and structured `changes`
|
|
2237
|
+
|
|
2238
|
+
`runSeedCli` adds `--dry-run`, `--reset`, repeatable `--only`, `--force`, and
|
|
2239
|
+
`--help`. It returns an exit code instead of terminating the process; seed CLIs
|
|
2240
|
+
should `process.exit` after `disconnect` so leftover Better Auth handles cannot
|
|
2241
|
+
keep the event loop open. Production resets require both `--force` and an
|
|
2242
|
+
approving `allowProductionReset` option.
|
|
2243
|
+
See [Seed a database](../how-to/seed-a-database.md).
|
|
2244
|
+
|
|
2245
|
+
`seedBetterAuthUser` provisions a credential account and reconciles the
|
|
2246
|
+
application user model without requiring a running HTTP server.
|
|
2247
|
+
|
|
2248
|
+
### wrapScript
|
|
2249
|
+
|
|
2250
|
+
Error handling wrapper for scripts and cron jobs.
|
|
2251
|
+
|
|
2252
|
+
``````typescript
|
|
2253
|
+
import {wrapScript} from "@terreno/api";
|
|
2254
|
+
|
|
2255
|
+
wrapScript(async () => {
|
|
2256
|
+
// Your script logic
|
|
2257
|
+
await processData();
|
|
2258
|
+
logger.info("Script completed successfully");
|
|
2259
|
+
});
|
|
2260
|
+
``````
|
|
2261
|
+
|
|
2262
|
+
**Features:**
|
|
2263
|
+
- Catches and logs exceptions via `logger.catch()`
|
|
2264
|
+
- Sends errors to Sentry
|
|
2265
|
+
- Exits with code 1 on error, 0 on success
|
|
2266
|
+
- Ensures process doesn't hang on uncaught errors
|
|
2267
|
+
|
|
2268
|
+
### cronjob
|
|
2269
|
+
|
|
2270
|
+
Schedule recurring tasks with error handling.
|
|
2271
|
+
|
|
2272
|
+
``````typescript
|
|
2273
|
+
import {cronjob} from "@terreno/api";
|
|
2274
|
+
|
|
2275
|
+
// Run every hour
|
|
2276
|
+
cronjob("0 * * * *", async () => {
|
|
2277
|
+
await cleanupOldData();
|
|
2278
|
+
}, {
|
|
2279
|
+
name: "Cleanup Job",
|
|
2280
|
+
runOnInit: false, // Run immediately on start?
|
|
2281
|
+
});
|
|
2282
|
+
``````
|
|
2283
|
+
|
|
2284
|
+
**Features:**
|
|
2285
|
+
- Uses `node-cron` syntax
|
|
2286
|
+
- Automatic error logging
|
|
2287
|
+
- Named jobs for monitoring
|
|
2288
|
+
- Optional immediate execution
|
|
2289
|
+
|
|
2290
|
+
**Cron syntax:** `"minute hour day month weekday"`
|
|
2291
|
+
- `"*/5 * * * *"` — Every 5 minutes
|
|
2292
|
+
- `"0 0 * * *"` — Daily at midnight
|
|
2293
|
+
- `"0 */6 * * *"` — Every 6 hours
|
|
2294
|
+
|
|
2295
|
+
**Process-local only:** `cronjob()` runs inside the current Node process. It does not
|
|
2296
|
+
persist work, retry across crashes, or share state between API and worker replicas. For
|
|
2297
|
+
durable queues, retries, dead-lettering, cron schedules stored in MongoDB, and admin
|
|
2298
|
+
visibility, use [`@terreno/jobs`](jobs.md) — see
|
|
2299
|
+
[Durable background jobs](../how-to/background-jobs.md). Use `wrapScript` (above) for
|
|
2300
|
+
one-shot CLI entrypoints, not queued work.
|
|
2301
|
+
|
|
2302
|
+
## Deprecations
|
|
2303
|
+
|
|
2304
|
+
### transformer (modelRouter option)
|
|
2305
|
+
|
|
2306
|
+
**Deprecated:** Use lifecycle hooks instead (`preCreate`, `postCreate`, etc.)
|
|
2307
|
+
|
|
2308
|
+
``````typescript
|
|
2309
|
+
// Old (deprecated)
|
|
2310
|
+
modelRouter(Model, {
|
|
2311
|
+
transformer: (doc) => ({...doc, computed: true}),
|
|
2312
|
+
});
|
|
2313
|
+
|
|
2314
|
+
// New (use responseHandler)
|
|
2315
|
+
modelRouter(Model, {
|
|
2316
|
+
responseHandler: (doc, method) => ({...doc, computed: true}),
|
|
2317
|
+
});
|
|
2318
|
+
``````
|
|
2319
|
+
|
|
2320
|
+
### responseSerializer (modelRouter option)
|
|
2321
|
+
|
|
2322
|
+
**Deprecated:** Use `responseHandler` instead.
|
|
2323
|
+
|
|
2324
|
+
``````typescript
|
|
2325
|
+
// Old (deprecated)
|
|
2326
|
+
modelRouter(Model, {
|
|
2327
|
+
responseSerializer: (doc) => serialize(doc),
|
|
2328
|
+
});
|
|
2329
|
+
|
|
2330
|
+
// New
|
|
2331
|
+
modelRouter(Model, {
|
|
2332
|
+
responseHandler: (doc, method) => serialize(doc),
|
|
2333
|
+
});
|
|
2334
|
+
``````
|
|
2335
|
+
|
|
2336
|
+
## Environment Variables
|
|
2337
|
+
|
|
2338
|
+
Complete reference of environment variables used by @terreno/api:
|
|
2339
|
+
|
|
2340
|
+
### Authentication
|
|
2341
|
+
|
|
2342
|
+
| Variable | Required | Default | Description |
|
|
2343
|
+
|----------|----------|---------|-------------|
|
|
2344
|
+
| `TOKEN_SECRET` | Yes | — | JWT signing secret (use long random string) |
|
|
2345
|
+
| `TOKEN_ISSUER` | Yes | — | JWT issuer claim (e.g., "your-app-name") |
|
|
2346
|
+
| `REFRESH_TOKEN_SECRET` | Yes | — | Refresh token secret (different from TOKEN_SECRET) |
|
|
2347
|
+
| `SESSION_SECRET` | Yes | — | Express session secret |
|
|
2348
|
+
| `TOKEN_EXPIRES_IN` | No | `15m` | Access token expiration (e.g., "15m", "1h") |
|
|
2349
|
+
| `REFRESH_TOKEN_EXPIRES_IN` | No | `30d` | Refresh token expiration (e.g., "7d", "30d") |
|
|
2350
|
+
| `SIGNUP_DISABLED` | No | — | Set to `"true"` to disable POST /auth/signup endpoint |
|
|
2351
|
+
|
|
2352
|
+
### Server Configuration
|
|
2353
|
+
|
|
2354
|
+
| Variable | Required | Default | Description |
|
|
2355
|
+
|----------|----------|---------|-------------|
|
|
2356
|
+
| `PORT` | No | `3000` | HTTP server port |
|
|
2357
|
+
| `NODE_ENV` | No | `development` | Environment: `development`, `production`, `test` |
|
|
2358
|
+
| `MONGO_URI` or `MONGO_CONNECTION` | Yes | — | MongoDB connection string |
|
|
2359
|
+
| `ALLOW_MIGRATIONS` | No | unset | Set to `"true"` plus CLI `--force` for production wet `up`/`down` |
|
|
2360
|
+
| `ENABLE_SWAGGER` | No | — | Set to `"true"` to enable Swagger UI at `/docs` |
|
|
2361
|
+
| `WEBSOCKET_PORT` | No | `PORT + 1` | Socket.io server port (if using WebSockets) |
|
|
2362
|
+
|
|
2363
|
+
### Logging & Monitoring
|
|
2364
|
+
|
|
2365
|
+
| Variable | Required | Default | Description |
|
|
2366
|
+
|----------|----------|---------|-------------|
|
|
2367
|
+
| `USE_SENTRY_LOGGING` | No | — | Set to `"true"` to enable Sentry error tracking |
|
|
2368
|
+
| `SENTRY_DSN` | No | — | Sentry Data Source Name (required if USE_SENTRY_LOGGING=true) |
|
|
2369
|
+
| `TERRENO_BROWSER_LOGS` | No | enabled in development | Set `"false"` to disable dev ingestion or `"true"` to opt in outside development; production stays disabled and non-loopback clients must authenticate |
|
|
2370
|
+
| `SENTRY_TRACES_SAMPLE_RATE` | No | `0.1` | Sentry trace sampling rate (0.0 to 1.0) |
|
|
2371
|
+
| `DISABLE_LOG_ALL_REQUESTS` | No | — | Set to `"true"` to disable request logging |
|
|
2372
|
+
| `SLOW_REQUEST_THRESHOLD_MS` | No | `3000` | Log warning for requests slower than this (milliseconds) |
|
|
2373
|
+
| `SLOW_DB_QUERY_THRESHOLD_MS` | No | `1000` | Log warning for database queries slower than this |
|
|
2374
|
+
|
|
2375
|
+
### Webhooks & Notifications
|
|
2376
|
+
|
|
2377
|
+
| Variable | Required | Default | Description |
|
|
2378
|
+
|----------|----------|---------|-------------|
|
|
2379
|
+
| `SLACK_WEBHOOKS` | No | — | JSON object mapping names to Slack webhook URLs: `{"default":"https://..."}` |
|
|
2380
|
+
| `SLACK_BOT_TOKEN` | No | — | Bot token (`xoxb-…`) for one workspace. Scopes: `users:read.email`, `groups:write`, `groups:write.invites`, `channels:write.invites`, `chat:write`, `channels:read`, `groups:read` |
|
|
2381
|
+
| `GOOGLE_CHAT_WEBHOOKS` | No | — | JSON object mapping names to Google Chat webhook URLs |
|
|
2382
|
+
| `ZOOM_CHAT_WEBHOOKS` | No | — | JSON object mapping names to Zoom webhook URLs |
|
|
2383
|
+
| `WEBHOOK_SECRET` | No | — | Secret for validating incoming webhook signatures |
|
|
2384
|
+
|
|
2385
|
+
### Google Cloud Platform (Optional)
|
|
2386
|
+
|
|
2387
|
+
| Variable | Required | Default | Description |
|
|
2388
|
+
|----------|----------|---------|-------------|
|
|
2389
|
+
| `GCP_PROJECT` | No | — | Google Cloud project ID (for Cloud Tasks, etc.) |
|
|
2390
|
+
| `GCP_LOCATION` | No | — | GCP region (e.g., "us-central1") |
|
|
2391
|
+
| `GCP_SERVICE_ACCOUNT_EMAIL` | No | — | Service account email for authentication |
|
|
2392
|
+
| `GCP_TASKS_NOTIFICATIONS_QUEUE` | No | — | Legacy name in docs/tests only — **not** read by `@terreno/api` or `@terreno/jobs` |
|
|
2393
|
+
| `GCP_TASK_PROCESSOR_QUEUE` | No | — | Legacy name in docs/tests only — configure Cloud Tasks via `GcpCloudTasksRunner` options |
|
|
2394
|
+
| `GCP_TASKS_AUDIT_QUEUE` | No | — | Cloud Tasks queue name for off-process `AuditEvent` writes |
|
|
2395
|
+
| `AUDIT_TASKS_URL` | No | — | Worker URL Cloud Tasks POSTs audit writes to |
|
|
2396
|
+
| `AUDIT_TASKS_SECRET` | No | — | Shared secret for `X-Terreno-Audit-Secret` on the audit worker route |
|
|
2397
|
+
|
|
2398
|
+
### Other
|
|
2399
|
+
|
|
2400
|
+
| Variable | Required | Default | Description |
|
|
2401
|
+
|----------|----------|---------|-------------|
|
|
2402
|
+
| `VALKEY_URL` | No | — | Valkey/Redis connection URL (for caching) |
|
|
2403
|
+
| `GEMINI_API_KEY` | No | — | Google Gemini API key (if using AI features) |
|
|
2404
|
+
|
|
2405
|
+
**Example `.env` file:**
|
|
2406
|
+
|
|
2407
|
+
``````env
|
|
2408
|
+
# Required
|
|
2409
|
+
TOKEN_SECRET=your-long-random-secret-here
|
|
2410
|
+
TOKEN_ISSUER=my-app
|
|
2411
|
+
REFRESH_TOKEN_SECRET=different-long-random-secret
|
|
2412
|
+
SESSION_SECRET=session-secret-here
|
|
2413
|
+
MONGO_URI=mongodb://localhost:27017/myapp
|
|
2414
|
+
|
|
2415
|
+
# Optional
|
|
2416
|
+
NODE_ENV=development
|
|
2417
|
+
PORT=4000
|
|
2418
|
+
ENABLE_SWAGGER=true
|
|
2419
|
+
USE_SENTRY_LOGGING=true
|
|
2420
|
+
SENTRY_DSN=https://...@sentry.io/...
|
|
2421
|
+
``````
|
|
2422
|
+
|
|
2423
|
+
## Learn more
|
|
2424
|
+
|
|
2425
|
+
- [Enable the framework audit log](../how-to/audit-log.md)
|
|
2426
|
+
- [How to create a model](../how-to/create-a-model.md)
|
|
2427
|
+
- [Add GitHub OAuth](../how-to/add-github-oauth.md)
|
|
2428
|
+
- [Authentication architecture](../explanation/authentication.md)
|
|
2429
|
+
- [API package source](https://github.com/TerrenoLabs/terreno/tree/master/api/src)
|