@terreno/mcp 57.3.0 → 57.6.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/README.md +20 -3
- package/dist/bootstrap.d.ts +6 -10
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +12 -2430
- package/dist/bootstrap.js.map +1 -1
- package/dist/docs/guidelines/admin-frontend/guidelines/core.md +5 -1
- package/dist/docs/guidelines/api/skills/mongoose-schema-safety/SKILL.md +23 -10
- package/dist/docs/guidelines/syncdb/guidelines/core.md +22 -0
- package/dist/docs/guidelines/syncdb/skills/debug-syncdb-with-mcp/SKILL.md +74 -0
- package/dist/docs/resources/overview.md +8 -0
- package/dist/docs/resources/rtk.md +1 -1
- package/dist/docs/resources/syncdb.md +15 -3
- package/dist/docs/templates/bootstrap/frontend/app/_layout.template.tsx +5 -3
- package/dist/docs/ui-types-documentation.json +33 -0
- package/dist/docs/upgrades/56.0.0-beta.2.md +2 -2
- package/dist/docs/upgrades/57.4.0.md +166 -0
- package/dist/docs/upgrades/57.6.0.md +135 -0
- package/dist/docs/versioned/0.29.0/explanation/modular-api-design.md +1 -1
- package/dist/docs/versioned/0.29.0/how-to/deploy-to-gcp.md +1 -1
- package/dist/docs/versioned/0.29.0/implementationPlans/PLAN_INDEX.md +2 -2
- package/dist/docs/versioned/0.29.0/implementationPlans/README.md +1 -1
- package/dist/docs/versioned/0.29.0/implementationPlans/ai-dev-loop-boost.md +1 -1
- package/dist/docs/versioned/0.29.0/implementationPlans/deployment-foundation.md +1 -1
- package/dist/docs/versioned/0.29.0/implementationPlans/oss-launch-program.md +2 -2
- package/dist/docs/versioned/0.29.0/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/dist/docs/versioned/0.29.0/implementationPlans/terreno-langfuse-integration.md +2 -2
- package/dist/docs/versioned/0.29.0/implementationPlans/web-ssr-and-admin-spa.md +1 -1
- package/dist/docs/versioned/0.29.0/reference/README.md +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/accordion.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/addressfield.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/ai-suggestion-box.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/avatar.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/badge.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/banner.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/boolean-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/box.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/button.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/card.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/checkbox.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/consentformscreen.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/custom-select-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/datatable.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/date-time-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/email-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/emoji-selector.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/height-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/icon.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/iconbutton.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/inner-modal-content.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/markdown-editor-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/markdownview.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/multiselect-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/number-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/page.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/pagination.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/password-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/phone-number-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/radio-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/sectiondivider.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/segmented-control.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/select-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/selectbadge.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/side-drawer.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/sidebar-navigation-non-expo.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/signature-capture-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/signature-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/slider.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/spinner.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/table-badge.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/table-boolean.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/table-date.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/table-icon-button.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/table-number.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/table-text.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/table-title.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/table.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/tap-to-edit.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/text-area.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/text-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/theme.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/toast.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/tooltip.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/typed-signature-field.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/components/userinactivity.mdx +1 -1
- package/dist/docs/versioned/0.29.0/reference/ui.md +1 -1
- package/dist/docs/versioned/0.29.0/tasks/agentic-sdlc-plugin.md +1 -1
- package/dist/docs/versioned/0.29.0/tasks/docs-reference-coverage.md +1 -1
- package/dist/docs/versioned/0.29.0/tasks/rtk-to-syncdb-migration-docs.md +1 -1
- package/dist/docs/versioned/0.29.0/tasks/web-ssr-and-admin-spa.md +1 -1
- package/dist/docs/versioned/0.30.0/explanation/modular-api-design.md +1 -1
- package/dist/docs/versioned/0.30.0/how-to/deploy-to-gcp.md +1 -1
- package/dist/docs/versioned/0.30.0/implementationPlans/PLAN_INDEX.md +2 -2
- package/dist/docs/versioned/0.30.0/implementationPlans/README.md +1 -1
- package/dist/docs/versioned/0.30.0/implementationPlans/ai-dev-loop-boost.md +1 -1
- package/dist/docs/versioned/0.30.0/implementationPlans/deployment-foundation.md +1 -1
- package/dist/docs/versioned/0.30.0/implementationPlans/oss-launch-program.md +2 -2
- package/dist/docs/versioned/0.30.0/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/dist/docs/versioned/0.30.0/implementationPlans/terreno-langfuse-integration.md +2 -2
- package/dist/docs/versioned/0.30.0/implementationPlans/web-ssr-and-admin-spa.md +1 -1
- package/dist/docs/versioned/0.30.0/reference/README.md +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/accordion.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/addressfield.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/ai-suggestion-box.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/avatar.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/badge.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/banner.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/boolean-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/box.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/button.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/card.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/checkbox.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/consentformscreen.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/custom-select-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/datatable.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/date-time-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/email-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/emoji-selector.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/height-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/icon.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/iconbutton.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/inner-modal-content.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/markdown-editor-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/markdownview.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/multiselect-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/number-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/page.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/pagination.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/password-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/phone-number-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/radio-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/sectiondivider.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/segmented-control.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/select-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/selectbadge.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/side-drawer.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/sidebar-navigation-non-expo.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/signature-capture-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/signature-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/slider.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/spinner.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/table-badge.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/table-boolean.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/table-date.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/table-icon-button.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/table-number.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/table-text.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/table-title.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/table.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/tap-to-edit.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/text-area.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/text-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/theme.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/thumbsupdownfeedback.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/toast.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/tooltip.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/typed-signature-field.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/components/userinactivity.mdx +1 -1
- package/dist/docs/versioned/0.30.0/reference/ui.md +1 -1
- package/dist/docs/versioned/0.30.0/tasks/agentic-sdlc-plugin.md +1 -1
- package/dist/docs/versioned/0.30.0/tasks/docs-reference-coverage.md +1 -1
- package/dist/docs/versioned/0.30.0/tasks/rtk-to-syncdb-migration-docs.md +1 -1
- package/dist/docs/versioned/0.30.0/tasks/web-ssr-and-admin-spa.md +1 -1
- package/dist/docs/versioned/57.1.0/explanation/README.md +1 -1
- package/dist/docs/versioned/57.1.0/explanation/announcements/rtk-deprecation.md +4 -4
- package/dist/docs/versioned/57.1.0/explanation/deployment-baseline.md +2 -2
- package/dist/docs/versioned/57.1.0/explanation/loop-engineering.md +1 -1
- package/dist/docs/versioned/57.1.0/explanation/modular-api-design.md +1 -1
- package/dist/docs/versioned/57.1.0/explanation/repository-settings.md +1 -1
- package/dist/docs/versioned/57.1.0/explanation/roadmap-process.md +25 -25
- package/dist/docs/versioned/57.1.0/explanation/roadmap-seed-issues.md +80 -80
- package/dist/docs/versioned/57.1.0/how-to/build-for-web.md +1 -1
- package/dist/docs/versioned/57.1.0/how-to/circleci.md +2 -2
- package/dist/docs/versioned/57.1.0/how-to/deploy-to-gcp.md +1 -1
- package/dist/docs/versioned/57.1.0/how-to/deploy-web-to-gcs-cdn.md +1 -1
- package/dist/docs/versioned/57.1.0/how-to/install-agent-skills.md +3 -3
- package/dist/docs/versioned/57.1.0/how-to/migrate-rtk-to-syncdb.md +2 -2
- package/dist/docs/versioned/57.1.0/implementationPlans/ModularAPI.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/admin-improvements.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/admin-only-research.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/admin-only.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/admin-script-runner.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/admin-ui-v2-django-parity.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/agentic-sdlc-plugin.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/ai-dev-loop-boost.md +2 -2
- package/dist/docs/versioned/57.1.0/implementationPlans/apierror-standard-error-redesign.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/b2b-platform-program.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/billing-stripe.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/build-terreno-app-validation.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/comms-abstraction-research.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/comms-abstraction.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/comms-adapter-expo-push.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/comms-adapter-sendgrid.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/comms-adapter-twilio-sms.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/comms-adapter-twilio-verify.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/comms-admin-dashboard.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/consent-forms.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/deploy-to-gcp.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/deploy-to-vercel.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/deployment-foundation.md +2 -2
- package/dist/docs/versioned/57.1.0/implementationPlans/design-blend-skill.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/docs-reference-coverage.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/docs-site-and-versioning.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/docs-tutorials-ai-first.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/examples-demo-coverage.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/feature-flags-openfeature.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/feature-flags.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/infra-mcp-research.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/infra-mcp.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/mcp-boost-parity.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/migrate-cicd-to-circleci-research.md +2 -2
- package/dist/docs/versioned/57.1.0/implementationPlans/migrate-cicd-to-circleci.md +2 -2
- package/dist/docs/versioned/57.1.0/implementationPlans/model-router-actions.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/model-router-mcp.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/native-module-baseline.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/offline-mode.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/orgs-and-teams.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/oss-governance-baseline.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/oss-launch-program.md +3 -3
- package/dist/docs/versioned/57.1.0/implementationPlans/password-reset-and-email-verification.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/pluggable-database-sqlite-research.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/positioning-django-rails-universal.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/public-roadmap-github.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/rbac-permissions.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/syncdb-codegen.md +2 -2
- package/dist/docs/versioned/57.1.0/implementationPlans/syncdb-local-first.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/syncdb-phase-c-design.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/terreno-langfuse-integration.md +3 -3
- package/dist/docs/versioned/57.1.0/implementationPlans/terreno-syncdb-2.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/upgrade-banner.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/upgrade-guides-and-skill.md +1 -1
- package/dist/docs/versioned/57.1.0/implementationPlans/web-ssr-and-admin-spa.md +2 -2
- package/dist/docs/versioned/57.1.0/reference/README.md +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/accordion.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/addressfield.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/ai-suggestion-box.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/avatar.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/badge.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/banner.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/boolean-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/box.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/button.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/card.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/checkbox.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/consentformscreen.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/custom-select-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/datatable.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/date-time-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/editablecard.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/email-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/emoji-selector.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/filter.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/height-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/icon.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/iconbutton.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/inner-modal-content.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/markdown-editor-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/markdownview.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/multiselect-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/number-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/page.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/pagination.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/password-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/phone-number-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/radio-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/sectiondivider.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/segmented-control.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/select-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/selectbadge.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/side-drawer.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/sidebar-navigation-non-expo.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/signature-capture-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/signature-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/slider.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/spinner.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/table-badge.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/table-boolean.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/table-date.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/table-icon-button.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/table-number.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/table-text.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/table-title.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/table.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/tap-to-edit.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/text-area.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/text-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/theme.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/thumbsupdownfeedback.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/toast.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/tooltip.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/typed-signature-field.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/components/userinactivity.mdx +1 -1
- package/dist/docs/versioned/57.1.0/reference/environment-variables.md +2 -2
- package/dist/docs/versioned/57.1.0/reference/lifecycle-plugin.md +4 -4
- package/dist/docs/versioned/57.1.0/reference/ui.md +1 -1
- package/dist/docs/versioned/57.1.0/roadmap.md +3 -3
- package/dist/docs/versioned/57.1.0/tasks/docs-reference-coverage.md +1 -1
- package/dist/docs/versioned/57.1.0/tasks/migrate-cicd-to-circleci.md +1 -1
- package/dist/docs/versioned/57.1.0/tasks/web-ssr-and-admin-spa.md +1 -1
- package/dist/docs/versioned/57.2.0/explanation/README.md +1 -1
- package/dist/docs/versioned/57.2.0/explanation/announcements/rtk-deprecation.md +4 -4
- package/dist/docs/versioned/57.2.0/explanation/deployment-baseline.md +2 -2
- package/dist/docs/versioned/57.2.0/explanation/loop-engineering.md +1 -1
- package/dist/docs/versioned/57.2.0/explanation/modular-api-design.md +1 -1
- package/dist/docs/versioned/57.2.0/explanation/repository-settings.md +1 -1
- package/dist/docs/versioned/57.2.0/explanation/roadmap-process.md +25 -25
- package/dist/docs/versioned/57.2.0/explanation/roadmap-seed-issues.md +83 -83
- package/dist/docs/versioned/57.2.0/how-to/build-for-web.md +1 -1
- package/dist/docs/versioned/57.2.0/how-to/circleci.md +2 -2
- package/dist/docs/versioned/57.2.0/how-to/deploy-to-gcp.md +1 -1
- package/dist/docs/versioned/57.2.0/how-to/deploy-web-to-gcs-cdn.md +1 -1
- package/dist/docs/versioned/57.2.0/how-to/install-agent-skills.md +3 -3
- package/dist/docs/versioned/57.2.0/how-to/migrate-rtk-to-syncdb.md +2 -2
- package/dist/docs/versioned/57.2.0/implementationPlans/ModularAPI.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/admin-improvements.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/admin-only-research.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/admin-only.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/admin-script-runner.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/admin-ui-v2-django-parity.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/agentic-sdlc-plugin.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/ai-dev-loop-boost.md +2 -2
- package/dist/docs/versioned/57.2.0/implementationPlans/apierror-standard-error-redesign.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/b2b-platform-program.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/billing-stripe.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/build-terreno-app-validation.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/comms-abstraction-research.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/comms-abstraction.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/comms-adapter-expo-push.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/comms-adapter-sendgrid.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/comms-adapter-twilio-sms.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/comms-adapter-twilio-verify.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/comms-admin-dashboard.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/consent-forms.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/deploy-to-gcp.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/deploy-to-vercel.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/deployment-foundation.md +2 -2
- package/dist/docs/versioned/57.2.0/implementationPlans/design-blend-skill.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/docs-reference-coverage.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/docs-site-and-versioning.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/docs-tutorials-ai-first.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/examples-demo-coverage.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/feature-flags-openfeature.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/feature-flags.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/infra-mcp-research.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/infra-mcp.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/mcp-boost-parity.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/migrate-cicd-to-circleci-research.md +2 -2
- package/dist/docs/versioned/57.2.0/implementationPlans/migrate-cicd-to-circleci.md +2 -2
- package/dist/docs/versioned/57.2.0/implementationPlans/model-router-actions.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/model-router-mcp.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/native-module-baseline.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/offline-mode.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/org-management-ui.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/orgs-and-teams.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/oss-governance-baseline.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/oss-launch-program.md +3 -3
- package/dist/docs/versioned/57.2.0/implementationPlans/password-reset-and-email-verification.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/pluggable-database-sqlite-research.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/positioning-django-rails-universal.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/public-roadmap-github.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/rbac-permissions.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/syncdb-codegen.md +2 -2
- package/dist/docs/versioned/57.2.0/implementationPlans/syncdb-local-first.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/syncdb-phase-c-design.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/terreno-langfuse-integration.md +3 -3
- package/dist/docs/versioned/57.2.0/implementationPlans/terreno-syncdb-2.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/upgrade-banner.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/upgrade-guides-and-skill.md +1 -1
- package/dist/docs/versioned/57.2.0/implementationPlans/web-ssr-and-admin-spa.md +2 -2
- package/dist/docs/versioned/57.2.0/reference/README.md +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/accordion.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/addressfield.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/ai-suggestion-box.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/avatar.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/badge.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/banner.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/boolean-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/box.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/button.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/card.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/checkbox.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/consentformscreen.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/custom-select-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/datatable.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/date-time-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/editablecard.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/email-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/emoji-selector.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/filter.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/height-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/icon.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/iconbutton.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/inner-modal-content.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/markdown-editor-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/markdownview.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/multiselect-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/number-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/page.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/pagination.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/password-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/phone-number-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/radio-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/sectiondivider.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/segmented-control.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/select-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/selectbadge.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/side-drawer.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/sidebar-navigation-non-expo.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/signature-capture-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/signature-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/slider.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/spinner.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/table-badge.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/table-boolean.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/table-date.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/table-icon-button.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/table-number.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/table-text.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/table-title.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/table.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/tap-to-edit.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/text-area.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/text-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/theme.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/thumbsupdownfeedback.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/toast.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/tooltip.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/typed-signature-field.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/components/userinactivity.mdx +1 -1
- package/dist/docs/versioned/57.2.0/reference/environment-variables.md +2 -2
- package/dist/docs/versioned/57.2.0/reference/lifecycle-plugin.md +4 -4
- package/dist/docs/versioned/57.2.0/reference/ui.md +1 -1
- package/dist/docs/versioned/57.2.0/roadmap.md +3 -3
- package/dist/docs/versioned/57.2.0/tasks/docs-reference-coverage.md +1 -1
- package/dist/docs/versioned/57.2.0/tasks/migrate-cicd-to-circleci.md +1 -1
- package/dist/docs/versioned/57.2.0/tasks/web-ssr-and-admin-spa.md +1 -1
- package/dist/docs/versioned/next/README.md +6 -0
- package/dist/docs/versioned/next/explanation/README.md +6 -2
- package/dist/docs/versioned/next/explanation/admin-interface.md +20 -13
- package/dist/docs/versioned/next/explanation/ai-workflows.md +5 -5
- package/dist/docs/versioned/next/explanation/announcements/rtk-deprecation.md +4 -4
- package/dist/docs/versioned/next/explanation/charts.md +29 -0
- package/dist/docs/versioned/next/explanation/deployment-architecture-gcp.md +32 -0
- package/dist/docs/versioned/next/explanation/deployment-baseline.md +3 -3
- package/dist/docs/versioned/next/explanation/example-coverage.md +44 -0
- package/dist/docs/versioned/next/explanation/local-first-data.md +5 -2
- package/dist/docs/versioned/next/explanation/loop-engineering.md +10 -7
- package/dist/docs/versioned/next/explanation/model-router-actions.md +19 -2
- package/dist/docs/versioned/next/explanation/modular-api-design.md +1 -1
- package/dist/docs/versioned/next/explanation/organizations.md +88 -0
- package/dist/docs/versioned/next/explanation/planning-plugins.md +114 -0
- package/dist/docs/versioned/next/explanation/positioning.md +3 -3
- package/dist/docs/versioned/next/explanation/repository-settings.md +8 -7
- package/dist/docs/versioned/next/explanation/roadmap-process.md +57 -37
- package/dist/docs/versioned/next/explanation/roadmap-seed-issues.md +148 -138
- package/dist/docs/versioned/next/explanation/source-rules.md +1 -1
- package/dist/docs/versioned/next/explanation/static-analysis.md +76 -16
- package/dist/docs/versioned/next/explanation/typescript-configuration.md +46 -0
- package/dist/docs/versioned/next/how-to/README.md +13 -0
- package/dist/docs/versioned/next/how-to/add-gpt-chat-mascot.md +92 -0
- package/dist/docs/versioned/next/how-to/add-organizations.md +204 -0
- package/dist/docs/versioned/next/how-to/admin-add-model.md +9 -1
- package/dist/docs/versioned/next/how-to/admin-import-prebuilt.md +7 -1
- package/dist/docs/versioned/next/how-to/audit-log.md +85 -0
- package/dist/docs/versioned/next/how-to/background-jobs.md +296 -0
- package/dist/docs/versioned/next/how-to/build-admin-screens.md +42 -13
- package/dist/docs/versioned/next/how-to/build-for-web.md +1 -1
- package/dist/docs/versioned/next/how-to/call-external-apis.md +1 -1
- package/dist/docs/versioned/next/how-to/charts-and-dashboards.md +37 -0
- package/dist/docs/versioned/next/how-to/circleci.md +161 -33
- package/dist/docs/versioned/next/how-to/compare-chart-rendered-snapshots.md +36 -0
- package/dist/docs/versioned/next/how-to/configure-better-auth.md +4 -0
- package/dist/docs/versioned/next/how-to/create-a-terreno-app.md +154 -0
- package/dist/docs/versioned/next/how-to/debug-with-mcp.md +160 -0
- package/dist/docs/versioned/next/how-to/deploy-backend-to-cloud-run.md +2 -0
- package/dist/docs/versioned/next/how-to/deploy-to-gcp.md +1 -1
- package/dist/docs/versioned/next/how-to/deploy-web-to-gcs-cdn.md +1 -1
- package/dist/docs/versioned/next/how-to/generate-a-rest-cli.md +34 -0
- package/dist/docs/versioned/next/how-to/github-actions-ci.md +5 -4
- package/dist/docs/versioned/next/how-to/github-issue-lifecycle.md +18 -14
- package/dist/docs/versioned/next/how-to/in-app-notifications.md +147 -0
- package/dist/docs/versioned/next/how-to/install-agent-skills.md +33 -21
- package/dist/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +22 -6
- package/dist/docs/versioned/next/how-to/password-reset.md +7 -0
- package/dist/docs/versioned/next/how-to/product-announcements.md +155 -0
- package/dist/docs/versioned/next/how-to/run-mongodb-migrations.md +127 -0
- package/dist/docs/versioned/next/how-to/run-tests-locally.md +102 -0
- package/dist/docs/versioned/next/how-to/seed-a-database.md +7 -2
- package/dist/docs/versioned/next/how-to/set-up-terreno-mcp.md +69 -0
- package/dist/docs/versioned/next/how-to/upgrade-terreno.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/ModularAPI.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/README.md +8 -5
- package/dist/docs/versioned/next/implementationPlans/admin-improvements.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/admin-only-research.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/admin-only.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/admin-script-runner.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/admin-scripts-durable-jobs.md +44 -0
- package/dist/docs/versioned/next/implementationPlans/admin-ui-v2-django-parity.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/agent-ui-blocks.md +386 -0
- package/dist/docs/versioned/next/implementationPlans/agentic-sdlc-plugin.md +12 -9
- package/dist/docs/versioned/next/implementationPlans/ai-dev-loop-boost.md +2 -2
- package/dist/docs/versioned/next/implementationPlans/announcements-surfaces.md +231 -0
- package/dist/docs/versioned/next/implementationPlans/announcements.md +289 -0
- package/dist/docs/versioned/next/implementationPlans/apierror-standard-error-redesign.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/b2b-platform-program.md +4 -2
- package/dist/docs/versioned/next/implementationPlans/better-auth-strict-oauth-provider.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/billing-stripe.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/build-terreno-app-validation.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/charts-and-dashboards.md +246 -0
- package/dist/docs/versioned/next/implementationPlans/comms-abstraction-research.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/comms-abstraction.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/comms-adapter-expo-push.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/comms-adapter-sendgrid.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/comms-adapter-twilio-sms.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/comms-adapter-twilio-verify.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/comms-admin-dashboard.md +5 -4
- package/dist/docs/versioned/next/implementationPlans/compile-pipeline-dedup.md +133 -0
- package/dist/docs/versioned/next/implementationPlans/consent-forms.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/create-terreno-app.md +177 -0
- package/dist/docs/versioned/next/implementationPlans/datatable-server-side-filtering.md +219 -0
- package/dist/docs/versioned/next/implementationPlans/deploy-to-gcp.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/deploy-to-vercel.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/deployment-foundation.md +2 -2
- package/dist/docs/versioned/next/implementationPlans/design-blend-skill.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/docs-reference-coverage.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/docs-site-and-versioning.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/docs-tutorials-ai-first.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/examples-demo-coverage.md +18 -18
- package/dist/docs/versioned/next/implementationPlans/feature-flags-openfeature.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/feature-flags.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/framework-audit-log.md +247 -0
- package/dist/docs/versioned/next/implementationPlans/gpt-chat-mascot.md +40 -0
- package/dist/docs/versioned/next/implementationPlans/inbound-webhooks.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/infra-mcp-research.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/infra-mcp.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/job-queues.md +330 -0
- package/dist/docs/versioned/next/implementationPlans/knip-cleanup.md +136 -0
- package/dist/docs/versioned/next/implementationPlans/mcp-boost-parity.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/mcp-doc-sync-off-compile-path.md +97 -0
- package/dist/docs/versioned/next/implementationPlans/migrate-admin-to-syncdb.md +210 -0
- package/dist/docs/versioned/next/implementationPlans/migrate-cicd-to-circleci-research.md +2 -2
- package/dist/docs/versioned/next/implementationPlans/migrate-cicd-to-circleci.md +6 -6
- package/dist/docs/versioned/next/implementationPlans/model-router-actions.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/model-router-mcp.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/mongodb-migrations-tooling.md +254 -0
- package/dist/docs/versioned/next/implementationPlans/native-module-baseline.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/notification-center.md +185 -0
- package/dist/docs/versioned/next/implementationPlans/offline-mode.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/org-management-ui.md +9 -4
- package/dist/docs/versioned/next/implementationPlans/orgs-and-teams.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/oss-governance-baseline.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/oss-launch-program.md +3 -3
- package/dist/docs/versioned/next/implementationPlans/password-reset-and-email-verification.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/pluggable-database-sqlite-research.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/positioning-django-rails-universal.md +2 -2
- package/dist/docs/versioned/next/implementationPlans/public-roadmap-github.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/rate-limiting.md +2 -2
- package/dist/docs/versioned/next/implementationPlans/rbac-permissions.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/support-agent.md +432 -0
- package/dist/docs/versioned/next/implementationPlans/syncdb-codegen.md +2 -2
- package/dist/docs/versioned/next/implementationPlans/syncdb-local-first.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/syncdb-phase-c-design.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/terreno-langfuse-integration.md +3 -3
- package/dist/docs/versioned/next/implementationPlans/terreno-syncdb-2.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/upgrade-banner.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/upgrade-guides-and-skill.md +1 -1
- package/dist/docs/versioned/next/implementationPlans/web-ssr-and-admin-spa.md +2 -2
- package/dist/docs/versioned/next/reference/README.md +6 -1
- package/dist/docs/versioned/next/reference/admin-backend.md +90 -7
- package/dist/docs/versioned/next/reference/admin-config.md +7 -0
- package/dist/docs/versioned/next/reference/admin-frontend.md +178 -5
- package/dist/docs/versioned/next/reference/admin-spa.md +18 -1
- package/dist/docs/versioned/next/reference/ai.md +2 -0
- package/dist/docs/versioned/next/reference/announcements.md +179 -0
- package/dist/docs/versioned/next/reference/api.md +393 -16
- package/dist/docs/versioned/next/reference/cli.md +91 -0
- package/dist/docs/versioned/next/reference/comms.md +33 -0
- package/dist/docs/versioned/next/reference/create-terreno-app.md +44 -0
- package/dist/docs/versioned/next/reference/environment-variables.md +46 -2
- package/dist/docs/versioned/next/reference/jobs.md +319 -0
- package/dist/docs/versioned/next/reference/legacy/rtk.md +5 -1
- package/dist/docs/versioned/next/reference/lifecycle-plugin.md +40 -22
- package/dist/docs/versioned/next/reference/mcp-server.md +57 -44
- package/dist/docs/versioned/next/reference/scan-plugin.md +169 -0
- package/dist/docs/versioned/next/reference/syncdb.md +60 -13
- package/dist/docs/versioned/next/reference/test.md +59 -6
- package/dist/docs/versioned/next/reference/ui-performance.md +2 -1
- package/dist/docs/versioned/next/reference/ui.md +259 -5
- package/dist/docs/versioned/next/roadmap.md +3 -3
- package/dist/docs/versioned/next/scans/reduce-cold-compile-time/charter.md +129 -0
- package/dist/docs/versioned/next/scans/reduce-cold-compile-time/round-1-findings.md +62 -0
- package/dist/docs/versioned/next/tasks/admin-scripts-durable-jobs.md +10 -0
- package/dist/docs/versioned/next/tasks/agent-ui-blocks.md +114 -0
- package/dist/docs/versioned/next/tasks/announcements-surfaces.md +101 -0
- package/dist/docs/versioned/next/tasks/announcements.md +173 -0
- package/dist/docs/versioned/next/tasks/better-auth-strict-oauth-provider.md +1 -1
- package/dist/docs/versioned/next/tasks/charts-and-dashboards.md +120 -0
- package/dist/docs/versioned/next/tasks/compile-pipeline-dedup.md +61 -0
- package/dist/docs/versioned/next/tasks/create-terreno-app.md +82 -0
- package/dist/docs/versioned/next/tasks/datatable-server-side-filtering.md +87 -0
- package/dist/docs/versioned/next/tasks/docs-reference-coverage.md +1 -1
- package/dist/docs/versioned/next/tasks/examples-demo-coverage.md +123 -17
- package/dist/docs/versioned/next/tasks/framework-audit-log.md +86 -0
- package/dist/docs/versioned/next/tasks/gpt-chat-mascot.md +13 -0
- package/dist/docs/versioned/next/tasks/inbound-webhooks.md +1 -1
- package/dist/docs/versioned/next/tasks/job-queues.md +144 -0
- package/dist/docs/versioned/next/tasks/knip-cleanup.md +146 -0
- package/dist/docs/versioned/next/tasks/mcp-doc-sync-off-compile-path.md +30 -0
- package/dist/docs/versioned/next/tasks/migrate-admin-to-syncdb.md +209 -0
- package/dist/docs/versioned/next/tasks/migrate-cicd-to-circleci.md +3 -3
- package/dist/docs/versioned/next/tasks/mongodb-migrations-tooling.md +107 -0
- package/dist/docs/versioned/next/tasks/notification-center.md +102 -0
- package/dist/docs/versioned/next/tasks/org-management-ui.md +14 -14
- package/dist/docs/versioned/next/tasks/rate-limiting.md +1 -1
- package/dist/docs/versioned/next/tasks/support-agent.md +230 -0
- package/dist/docs/versioned/next/tasks/web-ssr-and-admin-spa.md +1 -1
- package/dist/docs/versioned/next/tutorials/README.md +1 -1
- package/dist/docs/versioned/next/tutorials/getting-started.md +62 -22
- package/dist/help/excerpt.d.ts +2 -0
- package/dist/help/excerpt.d.ts.map +1 -0
- package/dist/help/excerpt.js +8 -0
- package/dist/help/excerpt.js.map +1 -0
- package/dist/help/updateNotes.d.ts +42 -0
- package/dist/help/updateNotes.d.ts.map +1 -0
- package/dist/help/updateNotes.js +235 -0
- package/dist/help/updateNotes.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/local/localServer.d.ts +7 -0
- package/dist/local/localServer.d.ts.map +1 -1
- package/dist/local/localServer.js +7 -4
- package/dist/local/localServer.js.map +1 -1
- package/dist/local/localTools.d.ts +7 -0
- package/dist/local/localTools.d.ts.map +1 -1
- package/dist/local/localTools.js +281 -62
- package/dist/local/localTools.js.map +1 -1
- package/dist/local/logPaths.d.ts +8 -0
- package/dist/local/logPaths.d.ts.map +1 -0
- package/dist/local/logPaths.js +27 -0
- package/dist/local/logPaths.js.map +1 -0
- package/dist/local/metro/metroDevSession.d.ts +26 -0
- package/dist/local/metro/metroDevSession.d.ts.map +1 -0
- package/dist/local/metro/metroDevSession.js +398 -0
- package/dist/local/metro/metroDevSession.js.map +1 -0
- package/dist/local/tools/browser.d.ts +61 -0
- package/dist/local/tools/browser.d.ts.map +1 -0
- package/dist/local/tools/browser.js +238 -0
- package/dist/local/tools/browser.js.map +1 -0
- package/dist/local/tools/databaseQuery.d.ts +1 -0
- package/dist/local/tools/databaseQuery.d.ts.map +1 -1
- package/dist/local/tools/databaseQuery.js +1 -0
- package/dist/local/tools/databaseQuery.js.map +1 -1
- package/dist/local/tools/databaseSchema.d.ts.map +1 -1
- package/dist/local/tools/databaseSchema.js +19 -18
- package/dist/local/tools/databaseSchema.js.map +1 -1
- package/dist/local/tools/readLogs.d.ts +1 -0
- package/dist/local/tools/readLogs.d.ts.map +1 -1
- package/dist/local/tools/readLogs.js +106 -43
- package/dist/local/tools/readLogs.js.map +1 -1
- package/dist/local/tools/runtime.d.ts +4 -3
- package/dist/local/tools/runtime.d.ts.map +1 -1
- package/dist/local/tools/runtime.js +143 -21
- package/dist/local/tools/runtime.js.map +1 -1
- package/dist/local/tools/syncDb.d.ts +34 -0
- package/dist/local/tools/syncDb.d.ts.map +1 -0
- package/dist/local/tools/syncDb.js +305 -0
- package/dist/local/tools/syncDb.js.map +1 -0
- package/dist/packageGuidelines.d.ts +2 -2
- package/dist/packageGuidelines.d.ts.map +1 -1
- package/dist/packageGuidelines.js +10 -4
- package/dist/packageGuidelines.js.map +1 -1
- package/dist/resources.d.ts +3 -0
- package/dist/resources.d.ts.map +1 -1
- package/dist/resources.js +3 -0
- package/dist/resources.js.map +1 -1
- package/dist/search/chunker.d.ts +1 -0
- package/dist/search/chunker.d.ts.map +1 -1
- package/dist/search/chunker.js +1 -0
- package/dist/search/chunker.js.map +1 -1
- package/dist/search/docIndex.d.ts +1 -5
- package/dist/search/docIndex.d.ts.map +1 -1
- package/dist/search/docIndex.js +1 -0
- package/dist/search/docIndex.js.map +1 -1
- package/dist/search/docVersion.d.ts +2 -1
- package/dist/search/docVersion.d.ts.map +1 -1
- package/dist/search/docVersion.js +3 -1
- package/dist/search/docVersion.js.map +1 -1
- package/dist/tools.d.ts +58 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +119 -8
- package/dist/tools.js.map +1 -1
- package/package.json +68 -28
- package/src/docs/guidelines/admin-frontend/guidelines/core.md +5 -1
- package/src/docs/guidelines/api/skills/mongoose-schema-safety/SKILL.md +23 -10
- package/src/docs/guidelines/syncdb/guidelines/core.md +22 -0
- package/src/docs/guidelines/syncdb/skills/debug-syncdb-with-mcp/SKILL.md +74 -0
- package/src/docs/resources/overview.md +8 -0
- package/src/docs/resources/rtk.md +1 -1
- package/src/docs/resources/syncdb.md +15 -3
- package/src/docs/templates/bootstrap/frontend/app/_layout.template.tsx +5 -3
- package/src/docs/upgrades/56.0.0-beta.2.md +2 -2
- package/src/docs/upgrades/57.4.0.md +166 -0
- package/src/docs/upgrades/57.6.0.md +135 -0
- package/src/docs/versioned/0.29.0/explanation/modular-api-design.md +1 -1
- package/src/docs/versioned/0.29.0/how-to/deploy-to-gcp.md +1 -1
- package/src/docs/versioned/0.29.0/implementationPlans/PLAN_INDEX.md +2 -2
- package/src/docs/versioned/0.29.0/implementationPlans/README.md +1 -1
- package/src/docs/versioned/0.29.0/implementationPlans/ai-dev-loop-boost.md +1 -1
- package/src/docs/versioned/0.29.0/implementationPlans/deployment-foundation.md +1 -1
- package/src/docs/versioned/0.29.0/implementationPlans/oss-launch-program.md +2 -2
- package/src/docs/versioned/0.29.0/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/src/docs/versioned/0.29.0/implementationPlans/terreno-langfuse-integration.md +2 -2
- package/src/docs/versioned/0.29.0/implementationPlans/web-ssr-and-admin-spa.md +1 -1
- package/src/docs/versioned/0.29.0/reference/README.md +1 -1
- package/src/docs/versioned/0.29.0/reference/components/accordion.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/addressfield.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/ai-suggestion-box.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/avatar.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/badge.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/banner.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/boolean-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/box.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/button.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/card.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/checkbox.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/consentformscreen.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/custom-select-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/datatable.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/date-time-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/email-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/emoji-selector.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/height-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/icon.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/iconbutton.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/inner-modal-content.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/markdown-editor-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/markdownview.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/multiselect-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/number-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/page.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/pagination.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/password-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/phone-number-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/radio-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/sectiondivider.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/segmented-control.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/select-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/selectbadge.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/side-drawer.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/sidebar-navigation-non-expo.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/signature-capture-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/signature-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/slider.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/spinner.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/table-badge.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/table-boolean.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/table-date.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/table-icon-button.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/table-number.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/table-text.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/table-title.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/table.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/tap-to-edit.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/text-area.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/text-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/theme.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/toast.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/tooltip.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/typed-signature-field.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/components/userinactivity.mdx +1 -1
- package/src/docs/versioned/0.29.0/reference/ui.md +1 -1
- package/src/docs/versioned/0.29.0/tasks/agentic-sdlc-plugin.md +1 -1
- package/src/docs/versioned/0.29.0/tasks/docs-reference-coverage.md +1 -1
- package/src/docs/versioned/0.29.0/tasks/rtk-to-syncdb-migration-docs.md +1 -1
- package/src/docs/versioned/0.29.0/tasks/web-ssr-and-admin-spa.md +1 -1
- package/src/docs/versioned/0.30.0/explanation/modular-api-design.md +1 -1
- package/src/docs/versioned/0.30.0/how-to/deploy-to-gcp.md +1 -1
- package/src/docs/versioned/0.30.0/implementationPlans/PLAN_INDEX.md +2 -2
- package/src/docs/versioned/0.30.0/implementationPlans/README.md +1 -1
- package/src/docs/versioned/0.30.0/implementationPlans/ai-dev-loop-boost.md +1 -1
- package/src/docs/versioned/0.30.0/implementationPlans/deployment-foundation.md +1 -1
- package/src/docs/versioned/0.30.0/implementationPlans/oss-launch-program.md +2 -2
- package/src/docs/versioned/0.30.0/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/src/docs/versioned/0.30.0/implementationPlans/terreno-langfuse-integration.md +2 -2
- package/src/docs/versioned/0.30.0/implementationPlans/web-ssr-and-admin-spa.md +1 -1
- package/src/docs/versioned/0.30.0/reference/README.md +1 -1
- package/src/docs/versioned/0.30.0/reference/components/accordion.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/addressfield.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/ai-suggestion-box.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/avatar.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/badge.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/banner.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/boolean-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/box.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/button.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/card.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/checkbox.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/consentformscreen.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/custom-select-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/datatable.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/date-time-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/email-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/emoji-selector.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/height-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/icon.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/iconbutton.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/inner-modal-content.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/markdown-editor-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/markdownview.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/multiselect-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/number-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/page.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/pagination.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/password-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/phone-number-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/radio-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/sectiondivider.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/segmented-control.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/select-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/selectbadge.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/side-drawer.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/sidebar-navigation-non-expo.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/signature-capture-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/signature-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/slider.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/spinner.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/table-badge.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/table-boolean.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/table-date.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/table-icon-button.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/table-number.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/table-text.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/table-title.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/table.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/tap-to-edit.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/text-area.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/text-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/theme.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/thumbsupdownfeedback.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/toast.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/tooltip.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/typed-signature-field.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/components/userinactivity.mdx +1 -1
- package/src/docs/versioned/0.30.0/reference/ui.md +1 -1
- package/src/docs/versioned/0.30.0/tasks/agentic-sdlc-plugin.md +1 -1
- package/src/docs/versioned/0.30.0/tasks/docs-reference-coverage.md +1 -1
- package/src/docs/versioned/0.30.0/tasks/rtk-to-syncdb-migration-docs.md +1 -1
- package/src/docs/versioned/0.30.0/tasks/web-ssr-and-admin-spa.md +1 -1
- package/src/docs/versioned/57.1.0/explanation/README.md +1 -1
- package/src/docs/versioned/57.1.0/explanation/announcements/rtk-deprecation.md +4 -4
- package/src/docs/versioned/57.1.0/explanation/deployment-baseline.md +2 -2
- package/src/docs/versioned/57.1.0/explanation/loop-engineering.md +1 -1
- package/src/docs/versioned/57.1.0/explanation/modular-api-design.md +1 -1
- package/src/docs/versioned/57.1.0/explanation/repository-settings.md +1 -1
- package/src/docs/versioned/57.1.0/explanation/roadmap-process.md +25 -25
- package/src/docs/versioned/57.1.0/explanation/roadmap-seed-issues.md +80 -80
- package/src/docs/versioned/57.1.0/how-to/build-for-web.md +1 -1
- package/src/docs/versioned/57.1.0/how-to/circleci.md +2 -2
- package/src/docs/versioned/57.1.0/how-to/deploy-to-gcp.md +1 -1
- package/src/docs/versioned/57.1.0/how-to/deploy-web-to-gcs-cdn.md +1 -1
- package/src/docs/versioned/57.1.0/how-to/install-agent-skills.md +3 -3
- package/src/docs/versioned/57.1.0/how-to/migrate-rtk-to-syncdb.md +2 -2
- package/src/docs/versioned/57.1.0/implementationPlans/ModularAPI.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/admin-improvements.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/admin-only-research.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/admin-only.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/admin-script-runner.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/admin-ui-v2-django-parity.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/agentic-sdlc-plugin.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/ai-dev-loop-boost.md +2 -2
- package/src/docs/versioned/57.1.0/implementationPlans/apierror-standard-error-redesign.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/b2b-platform-program.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/billing-stripe.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/build-terreno-app-validation.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/comms-abstraction-research.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/comms-abstraction.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/comms-adapter-expo-push.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/comms-adapter-sendgrid.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/comms-adapter-twilio-sms.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/comms-adapter-twilio-verify.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/comms-admin-dashboard.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/consent-forms.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/deploy-to-gcp.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/deploy-to-vercel.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/deployment-foundation.md +2 -2
- package/src/docs/versioned/57.1.0/implementationPlans/design-blend-skill.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/docs-reference-coverage.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/docs-site-and-versioning.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/docs-tutorials-ai-first.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/examples-demo-coverage.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/feature-flags-openfeature.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/feature-flags.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/infra-mcp-research.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/infra-mcp.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/mcp-boost-parity.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/migrate-cicd-to-circleci-research.md +2 -2
- package/src/docs/versioned/57.1.0/implementationPlans/migrate-cicd-to-circleci.md +2 -2
- package/src/docs/versioned/57.1.0/implementationPlans/model-router-actions.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/model-router-mcp.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/native-module-baseline.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/offline-mode.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/orgs-and-teams.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/oss-governance-baseline.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/oss-launch-program.md +3 -3
- package/src/docs/versioned/57.1.0/implementationPlans/password-reset-and-email-verification.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/pluggable-database-sqlite-research.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/positioning-django-rails-universal.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/public-roadmap-github.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/rbac-permissions.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/syncdb-codegen.md +2 -2
- package/src/docs/versioned/57.1.0/implementationPlans/syncdb-local-first.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/syncdb-phase-c-design.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/terreno-langfuse-integration.md +3 -3
- package/src/docs/versioned/57.1.0/implementationPlans/terreno-syncdb-2.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/upgrade-banner.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/upgrade-guides-and-skill.md +1 -1
- package/src/docs/versioned/57.1.0/implementationPlans/web-ssr-and-admin-spa.md +2 -2
- package/src/docs/versioned/57.1.0/reference/README.md +1 -1
- package/src/docs/versioned/57.1.0/reference/components/accordion.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/addressfield.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/ai-suggestion-box.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/avatar.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/badge.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/banner.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/boolean-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/box.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/button.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/card.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/checkbox.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/consentformscreen.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/custom-select-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/datatable.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/date-time-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/editablecard.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/email-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/emoji-selector.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/filter.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/height-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/icon.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/iconbutton.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/inner-modal-content.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/markdown-editor-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/markdownview.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/multiselect-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/number-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/page.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/pagination.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/password-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/phone-number-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/radio-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/sectiondivider.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/segmented-control.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/select-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/selectbadge.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/side-drawer.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/sidebar-navigation-non-expo.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/signature-capture-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/signature-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/slider.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/spinner.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/table-badge.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/table-boolean.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/table-date.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/table-icon-button.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/table-number.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/table-text.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/table-title.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/table.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/tap-to-edit.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/text-area.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/text-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/theme.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/thumbsupdownfeedback.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/toast.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/tooltip.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/typed-signature-field.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/components/userinactivity.mdx +1 -1
- package/src/docs/versioned/57.1.0/reference/environment-variables.md +2 -2
- package/src/docs/versioned/57.1.0/reference/lifecycle-plugin.md +4 -4
- package/src/docs/versioned/57.1.0/reference/ui.md +1 -1
- package/src/docs/versioned/57.1.0/roadmap.md +3 -3
- package/src/docs/versioned/57.1.0/tasks/docs-reference-coverage.md +1 -1
- package/src/docs/versioned/57.1.0/tasks/migrate-cicd-to-circleci.md +1 -1
- package/src/docs/versioned/57.1.0/tasks/web-ssr-and-admin-spa.md +1 -1
- package/src/docs/versioned/57.2.0/explanation/README.md +1 -1
- package/src/docs/versioned/57.2.0/explanation/announcements/rtk-deprecation.md +4 -4
- package/src/docs/versioned/57.2.0/explanation/deployment-baseline.md +2 -2
- package/src/docs/versioned/57.2.0/explanation/loop-engineering.md +1 -1
- package/src/docs/versioned/57.2.0/explanation/modular-api-design.md +1 -1
- package/src/docs/versioned/57.2.0/explanation/repository-settings.md +1 -1
- package/src/docs/versioned/57.2.0/explanation/roadmap-process.md +25 -25
- package/src/docs/versioned/57.2.0/explanation/roadmap-seed-issues.md +83 -83
- package/src/docs/versioned/57.2.0/how-to/build-for-web.md +1 -1
- package/src/docs/versioned/57.2.0/how-to/circleci.md +2 -2
- package/src/docs/versioned/57.2.0/how-to/deploy-to-gcp.md +1 -1
- package/src/docs/versioned/57.2.0/how-to/deploy-web-to-gcs-cdn.md +1 -1
- package/src/docs/versioned/57.2.0/how-to/install-agent-skills.md +3 -3
- package/src/docs/versioned/57.2.0/how-to/migrate-rtk-to-syncdb.md +2 -2
- package/src/docs/versioned/57.2.0/implementationPlans/ModularAPI.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/admin-improvements.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/admin-only-research.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/admin-only.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/admin-script-runner.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/admin-ui-v2-django-parity.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/agentic-sdlc-plugin.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/ai-dev-loop-boost.md +2 -2
- package/src/docs/versioned/57.2.0/implementationPlans/apierror-standard-error-redesign.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/b2b-platform-program.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/billing-stripe.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/build-terreno-app-validation.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/comms-abstraction-research.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/comms-abstraction.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/comms-adapter-expo-push.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/comms-adapter-sendgrid.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/comms-adapter-twilio-sms.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/comms-adapter-twilio-verify.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/comms-admin-dashboard.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/consent-forms.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/deploy-to-gcp.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/deploy-to-vercel.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/deployment-foundation.md +2 -2
- package/src/docs/versioned/57.2.0/implementationPlans/design-blend-skill.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/docs-reference-coverage.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/docs-site-and-versioning.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/docs-tutorials-ai-first.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/examples-demo-coverage.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/feature-flags-openfeature.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/feature-flags.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/infra-mcp-research.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/infra-mcp.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/mcp-boost-parity.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/migrate-cicd-to-circleci-research.md +2 -2
- package/src/docs/versioned/57.2.0/implementationPlans/migrate-cicd-to-circleci.md +2 -2
- package/src/docs/versioned/57.2.0/implementationPlans/model-router-actions.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/model-router-mcp.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/native-module-baseline.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/offline-mode.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/org-management-ui.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/orgs-and-teams.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/oss-governance-baseline.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/oss-launch-program.md +3 -3
- package/src/docs/versioned/57.2.0/implementationPlans/password-reset-and-email-verification.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/pluggable-database-sqlite-research.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/positioning-django-rails-universal.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/public-roadmap-github.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/rbac-permissions.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/syncdb-codegen.md +2 -2
- package/src/docs/versioned/57.2.0/implementationPlans/syncdb-local-first.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/syncdb-phase-c-design.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/terreno-langfuse-integration.md +3 -3
- package/src/docs/versioned/57.2.0/implementationPlans/terreno-syncdb-2.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/upgrade-banner.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/upgrade-guides-and-skill.md +1 -1
- package/src/docs/versioned/57.2.0/implementationPlans/web-ssr-and-admin-spa.md +2 -2
- package/src/docs/versioned/57.2.0/reference/README.md +1 -1
- package/src/docs/versioned/57.2.0/reference/components/accordion.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/addressfield.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/ai-suggestion-box.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/avatar.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/badge.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/banner.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/boolean-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/box.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/button.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/card.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/checkbox.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/consentformscreen.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/custom-select-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/datatable.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/date-time-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/editablecard.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/email-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/emoji-selector.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/filter.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/height-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/icon.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/iconbutton.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/inner-modal-content.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/markdown-editor-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/markdownview.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/multiselect-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/number-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/page.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/pagination.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/password-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/phone-number-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/radio-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/sectiondivider.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/segmented-control.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/select-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/selectbadge.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/side-drawer.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/sidebar-navigation-non-expo.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/signature-capture-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/signature-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/slider.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/spinner.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/table-badge.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/table-boolean.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/table-date.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/table-icon-button.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/table-number.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/table-text.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/table-title.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/table.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/tap-to-edit.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/text-area.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/text-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/theme.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/thumbsupdownfeedback.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/toast.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/tooltip.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/typed-signature-field.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/components/userinactivity.mdx +1 -1
- package/src/docs/versioned/57.2.0/reference/environment-variables.md +2 -2
- package/src/docs/versioned/57.2.0/reference/lifecycle-plugin.md +4 -4
- package/src/docs/versioned/57.2.0/reference/ui.md +1 -1
- package/src/docs/versioned/57.2.0/roadmap.md +3 -3
- package/src/docs/versioned/57.2.0/tasks/docs-reference-coverage.md +1 -1
- package/src/docs/versioned/57.2.0/tasks/migrate-cicd-to-circleci.md +1 -1
- package/src/docs/versioned/57.2.0/tasks/web-ssr-and-admin-spa.md +1 -1
- package/src/docs/versioned/next/README.md +6 -0
- package/src/docs/versioned/next/explanation/README.md +6 -2
- package/src/docs/versioned/next/explanation/admin-interface.md +20 -13
- package/src/docs/versioned/next/explanation/ai-workflows.md +5 -5
- package/src/docs/versioned/next/explanation/announcements/rtk-deprecation.md +4 -4
- package/src/docs/versioned/next/explanation/charts.md +29 -0
- package/src/docs/versioned/next/explanation/deployment-architecture-gcp.md +32 -0
- package/src/docs/versioned/next/explanation/deployment-baseline.md +3 -3
- package/src/docs/versioned/next/explanation/example-coverage.md +44 -0
- package/src/docs/versioned/next/explanation/local-first-data.md +5 -2
- package/src/docs/versioned/next/explanation/loop-engineering.md +10 -7
- package/src/docs/versioned/next/explanation/model-router-actions.md +19 -2
- package/src/docs/versioned/next/explanation/modular-api-design.md +1 -1
- package/src/docs/versioned/next/explanation/organizations.md +88 -0
- package/src/docs/versioned/next/explanation/planning-plugins.md +114 -0
- package/src/docs/versioned/next/explanation/positioning.md +3 -3
- package/src/docs/versioned/next/explanation/repository-settings.md +8 -7
- package/src/docs/versioned/next/explanation/roadmap-process.md +57 -37
- package/src/docs/versioned/next/explanation/roadmap-seed-issues.md +148 -138
- package/src/docs/versioned/next/explanation/source-rules.md +1 -1
- package/src/docs/versioned/next/explanation/static-analysis.md +76 -16
- package/src/docs/versioned/next/explanation/typescript-configuration.md +46 -0
- package/src/docs/versioned/next/how-to/README.md +13 -0
- package/src/docs/versioned/next/how-to/add-gpt-chat-mascot.md +92 -0
- package/src/docs/versioned/next/how-to/add-organizations.md +204 -0
- package/src/docs/versioned/next/how-to/admin-add-model.md +9 -1
- package/src/docs/versioned/next/how-to/admin-import-prebuilt.md +7 -1
- package/src/docs/versioned/next/how-to/audit-log.md +85 -0
- package/src/docs/versioned/next/how-to/background-jobs.md +296 -0
- package/src/docs/versioned/next/how-to/build-admin-screens.md +42 -13
- package/src/docs/versioned/next/how-to/build-for-web.md +1 -1
- package/src/docs/versioned/next/how-to/call-external-apis.md +1 -1
- package/src/docs/versioned/next/how-to/charts-and-dashboards.md +37 -0
- package/src/docs/versioned/next/how-to/circleci.md +161 -33
- package/src/docs/versioned/next/how-to/compare-chart-rendered-snapshots.md +36 -0
- package/src/docs/versioned/next/how-to/configure-better-auth.md +4 -0
- package/src/docs/versioned/next/how-to/create-a-terreno-app.md +154 -0
- package/src/docs/versioned/next/how-to/debug-with-mcp.md +160 -0
- package/src/docs/versioned/next/how-to/deploy-backend-to-cloud-run.md +2 -0
- package/src/docs/versioned/next/how-to/deploy-to-gcp.md +1 -1
- package/src/docs/versioned/next/how-to/deploy-web-to-gcs-cdn.md +1 -1
- package/src/docs/versioned/next/how-to/generate-a-rest-cli.md +34 -0
- package/src/docs/versioned/next/how-to/github-actions-ci.md +5 -4
- package/src/docs/versioned/next/how-to/github-issue-lifecycle.md +18 -14
- package/src/docs/versioned/next/how-to/in-app-notifications.md +147 -0
- package/src/docs/versioned/next/how-to/install-agent-skills.md +33 -21
- package/src/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +22 -6
- package/src/docs/versioned/next/how-to/password-reset.md +7 -0
- package/src/docs/versioned/next/how-to/product-announcements.md +155 -0
- package/src/docs/versioned/next/how-to/run-mongodb-migrations.md +127 -0
- package/src/docs/versioned/next/how-to/run-tests-locally.md +102 -0
- package/src/docs/versioned/next/how-to/seed-a-database.md +7 -2
- package/src/docs/versioned/next/how-to/set-up-terreno-mcp.md +69 -0
- package/src/docs/versioned/next/how-to/upgrade-terreno.md +1 -1
- package/src/docs/versioned/next/implementationPlans/ModularAPI.md +1 -1
- package/src/docs/versioned/next/implementationPlans/README.md +8 -5
- package/src/docs/versioned/next/implementationPlans/admin-improvements.md +1 -1
- package/src/docs/versioned/next/implementationPlans/admin-only-research.md +1 -1
- package/src/docs/versioned/next/implementationPlans/admin-only.md +1 -1
- package/src/docs/versioned/next/implementationPlans/admin-script-runner.md +1 -1
- package/src/docs/versioned/next/implementationPlans/admin-scripts-durable-jobs.md +44 -0
- package/src/docs/versioned/next/implementationPlans/admin-ui-v2-django-parity.md +1 -1
- package/src/docs/versioned/next/implementationPlans/agent-ui-blocks.md +386 -0
- package/src/docs/versioned/next/implementationPlans/agentic-sdlc-plugin.md +12 -9
- package/src/docs/versioned/next/implementationPlans/ai-dev-loop-boost.md +2 -2
- package/src/docs/versioned/next/implementationPlans/announcements-surfaces.md +231 -0
- package/src/docs/versioned/next/implementationPlans/announcements.md +289 -0
- package/src/docs/versioned/next/implementationPlans/apierror-standard-error-redesign.md +1 -1
- package/src/docs/versioned/next/implementationPlans/b2b-platform-program.md +4 -2
- package/src/docs/versioned/next/implementationPlans/better-auth-strict-oauth-provider.md +1 -1
- package/src/docs/versioned/next/implementationPlans/billing-stripe.md +1 -1
- package/src/docs/versioned/next/implementationPlans/build-terreno-app-validation.md +1 -1
- package/src/docs/versioned/next/implementationPlans/charts-and-dashboards.md +246 -0
- package/src/docs/versioned/next/implementationPlans/comms-abstraction-research.md +1 -1
- package/src/docs/versioned/next/implementationPlans/comms-abstraction.md +1 -1
- package/src/docs/versioned/next/implementationPlans/comms-adapter-expo-push.md +1 -1
- package/src/docs/versioned/next/implementationPlans/comms-adapter-sendgrid.md +1 -1
- package/src/docs/versioned/next/implementationPlans/comms-adapter-twilio-sms.md +1 -1
- package/src/docs/versioned/next/implementationPlans/comms-adapter-twilio-verify.md +1 -1
- package/src/docs/versioned/next/implementationPlans/comms-admin-dashboard.md +5 -4
- package/src/docs/versioned/next/implementationPlans/compile-pipeline-dedup.md +133 -0
- package/src/docs/versioned/next/implementationPlans/consent-forms.md +1 -1
- package/src/docs/versioned/next/implementationPlans/create-terreno-app.md +177 -0
- package/src/docs/versioned/next/implementationPlans/datatable-server-side-filtering.md +219 -0
- package/src/docs/versioned/next/implementationPlans/deploy-to-gcp.md +1 -1
- package/src/docs/versioned/next/implementationPlans/deploy-to-vercel.md +1 -1
- package/src/docs/versioned/next/implementationPlans/deployment-foundation.md +2 -2
- package/src/docs/versioned/next/implementationPlans/design-blend-skill.md +1 -1
- package/src/docs/versioned/next/implementationPlans/docs-reference-coverage.md +1 -1
- package/src/docs/versioned/next/implementationPlans/docs-site-and-versioning.md +1 -1
- package/src/docs/versioned/next/implementationPlans/docs-tutorials-ai-first.md +1 -1
- package/src/docs/versioned/next/implementationPlans/examples-demo-coverage.md +18 -18
- package/src/docs/versioned/next/implementationPlans/feature-flags-openfeature.md +1 -1
- package/src/docs/versioned/next/implementationPlans/feature-flags.md +1 -1
- package/src/docs/versioned/next/implementationPlans/framework-audit-log.md +247 -0
- package/src/docs/versioned/next/implementationPlans/gpt-chat-mascot.md +40 -0
- package/src/docs/versioned/next/implementationPlans/inbound-webhooks.md +1 -1
- package/src/docs/versioned/next/implementationPlans/infra-mcp-research.md +1 -1
- package/src/docs/versioned/next/implementationPlans/infra-mcp.md +1 -1
- package/src/docs/versioned/next/implementationPlans/job-queues.md +330 -0
- package/src/docs/versioned/next/implementationPlans/knip-cleanup.md +136 -0
- package/src/docs/versioned/next/implementationPlans/mcp-boost-parity.md +1 -1
- package/src/docs/versioned/next/implementationPlans/mcp-doc-sync-off-compile-path.md +97 -0
- package/src/docs/versioned/next/implementationPlans/migrate-admin-to-syncdb.md +210 -0
- package/src/docs/versioned/next/implementationPlans/migrate-cicd-to-circleci-research.md +2 -2
- package/src/docs/versioned/next/implementationPlans/migrate-cicd-to-circleci.md +6 -6
- package/src/docs/versioned/next/implementationPlans/model-router-actions.md +1 -1
- package/src/docs/versioned/next/implementationPlans/model-router-mcp.md +1 -1
- package/src/docs/versioned/next/implementationPlans/mongodb-migrations-tooling.md +254 -0
- package/src/docs/versioned/next/implementationPlans/native-module-baseline.md +1 -1
- package/src/docs/versioned/next/implementationPlans/notification-center.md +185 -0
- package/src/docs/versioned/next/implementationPlans/offline-mode.md +1 -1
- package/src/docs/versioned/next/implementationPlans/org-management-ui.md +9 -4
- package/src/docs/versioned/next/implementationPlans/orgs-and-teams.md +1 -1
- package/src/docs/versioned/next/implementationPlans/oss-governance-baseline.md +1 -1
- package/src/docs/versioned/next/implementationPlans/oss-launch-program.md +3 -3
- package/src/docs/versioned/next/implementationPlans/password-reset-and-email-verification.md +1 -1
- package/src/docs/versioned/next/implementationPlans/pluggable-database-sqlite-research.md +1 -1
- package/src/docs/versioned/next/implementationPlans/positioning-django-rails-universal.md +2 -2
- package/src/docs/versioned/next/implementationPlans/public-roadmap-github.md +1 -1
- package/src/docs/versioned/next/implementationPlans/rate-limiting.md +2 -2
- package/src/docs/versioned/next/implementationPlans/rbac-permissions.md +1 -1
- package/src/docs/versioned/next/implementationPlans/rtk-to-syncdb-migration-docs.md +1 -1
- package/src/docs/versioned/next/implementationPlans/support-agent.md +432 -0
- package/src/docs/versioned/next/implementationPlans/syncdb-codegen.md +2 -2
- package/src/docs/versioned/next/implementationPlans/syncdb-local-first.md +1 -1
- package/src/docs/versioned/next/implementationPlans/syncdb-phase-c-design.md +1 -1
- package/src/docs/versioned/next/implementationPlans/terreno-langfuse-integration.md +3 -3
- package/src/docs/versioned/next/implementationPlans/terreno-syncdb-2.md +1 -1
- package/src/docs/versioned/next/implementationPlans/upgrade-banner.md +1 -1
- package/src/docs/versioned/next/implementationPlans/upgrade-guides-and-skill.md +1 -1
- package/src/docs/versioned/next/implementationPlans/web-ssr-and-admin-spa.md +2 -2
- package/src/docs/versioned/next/reference/README.md +6 -1
- package/src/docs/versioned/next/reference/admin-backend.md +90 -7
- package/src/docs/versioned/next/reference/admin-config.md +7 -0
- package/src/docs/versioned/next/reference/admin-frontend.md +178 -5
- package/src/docs/versioned/next/reference/admin-spa.md +18 -1
- package/src/docs/versioned/next/reference/ai.md +2 -0
- package/src/docs/versioned/next/reference/announcements.md +179 -0
- package/src/docs/versioned/next/reference/api.md +393 -16
- package/src/docs/versioned/next/reference/cli.md +91 -0
- package/src/docs/versioned/next/reference/comms.md +33 -0
- package/src/docs/versioned/next/reference/create-terreno-app.md +44 -0
- package/src/docs/versioned/next/reference/environment-variables.md +46 -2
- package/src/docs/versioned/next/reference/jobs.md +319 -0
- package/src/docs/versioned/next/reference/legacy/rtk.md +5 -1
- package/src/docs/versioned/next/reference/lifecycle-plugin.md +40 -22
- package/src/docs/versioned/next/reference/mcp-server.md +57 -44
- package/src/docs/versioned/next/reference/scan-plugin.md +169 -0
- package/src/docs/versioned/next/reference/syncdb.md +60 -13
- package/src/docs/versioned/next/reference/test.md +59 -6
- package/src/docs/versioned/next/reference/ui-performance.md +2 -1
- package/src/docs/versioned/next/reference/ui.md +259 -5
- package/src/docs/versioned/next/roadmap.md +3 -3
- package/src/docs/versioned/next/scans/reduce-cold-compile-time/charter.md +129 -0
- package/src/docs/versioned/next/scans/reduce-cold-compile-time/round-1-findings.md +62 -0
- package/src/docs/versioned/next/tasks/admin-scripts-durable-jobs.md +10 -0
- package/src/docs/versioned/next/tasks/agent-ui-blocks.md +114 -0
- package/src/docs/versioned/next/tasks/announcements-surfaces.md +101 -0
- package/src/docs/versioned/next/tasks/announcements.md +173 -0
- package/src/docs/versioned/next/tasks/better-auth-strict-oauth-provider.md +1 -1
- package/src/docs/versioned/next/tasks/charts-and-dashboards.md +120 -0
- package/src/docs/versioned/next/tasks/compile-pipeline-dedup.md +61 -0
- package/src/docs/versioned/next/tasks/create-terreno-app.md +82 -0
- package/src/docs/versioned/next/tasks/datatable-server-side-filtering.md +87 -0
- package/src/docs/versioned/next/tasks/docs-reference-coverage.md +1 -1
- package/src/docs/versioned/next/tasks/examples-demo-coverage.md +123 -17
- package/src/docs/versioned/next/tasks/framework-audit-log.md +86 -0
- package/src/docs/versioned/next/tasks/gpt-chat-mascot.md +13 -0
- package/src/docs/versioned/next/tasks/inbound-webhooks.md +1 -1
- package/src/docs/versioned/next/tasks/job-queues.md +144 -0
- package/src/docs/versioned/next/tasks/knip-cleanup.md +146 -0
- package/src/docs/versioned/next/tasks/mcp-doc-sync-off-compile-path.md +30 -0
- package/src/docs/versioned/next/tasks/migrate-admin-to-syncdb.md +209 -0
- package/src/docs/versioned/next/tasks/migrate-cicd-to-circleci.md +3 -3
- package/src/docs/versioned/next/tasks/mongodb-migrations-tooling.md +107 -0
- package/src/docs/versioned/next/tasks/notification-center.md +102 -0
- package/src/docs/versioned/next/tasks/org-management-ui.md +14 -14
- package/src/docs/versioned/next/tasks/rate-limiting.md +1 -1
- package/src/docs/versioned/next/tasks/support-agent.md +230 -0
- package/src/docs/versioned/next/tasks/web-ssr-and-admin-spa.md +1 -1
- package/src/docs/versioned/next/tutorials/README.md +1 -1
- package/src/docs/versioned/next/tutorials/getting-started.md +62 -22
|
@@ -9,31 +9,39 @@ REST API framework built on Express and Mongoose. Provides modelRouter (CRUD end
|
|
|
9
9
|
- [Authentication](#authentication)
|
|
10
10
|
- [Model Schema Conventions](#model-schema-conventions)
|
|
11
11
|
- [Mongoose Plugins](#mongoose-plugins)
|
|
12
|
+
- [Organizations](#organizations)
|
|
12
13
|
- [Request Validation](#request-validation)
|
|
13
14
|
- [Middleware](#middleware)
|
|
14
15
|
- [Logging & Tracing](#logging--tracing)
|
|
15
16
|
- [Extensibility](#extensibility)
|
|
17
|
+
- [In-app notifications](#in-app-notifications)
|
|
16
18
|
- [Webhooks & Notifications](#webhooks--notifications)
|
|
17
19
|
- [HTTP Client](#http-client)
|
|
18
20
|
- [Utilities](#utilities)
|
|
19
21
|
- [Script Helpers](#script-helpers)
|
|
22
|
+
- [Migrations](#migrations)
|
|
20
23
|
|
|
21
24
|
## Key exports
|
|
22
25
|
|
|
23
26
|
- `TerrenoApp`, `setupServer`, `modelRouter`, `Permissions`, `OwnerQueryFilter`
|
|
27
|
+
- Organizations: `Organization`, `Membership`, `OrgsApp`, `orgScopedPlugin`,
|
|
28
|
+
`orgContextMiddleware`, `getOrgContext`, `OrgQueryFilter`,
|
|
29
|
+
`Permissions.IsOrganizationMember`, `organizationSlugFromName`
|
|
30
|
+
- `AuditApp`, `createAuditEventModel`, `persistRbacAuditToAuditEvent`
|
|
24
31
|
- `registerMCPTool`, `getMCPRegistry`
|
|
25
32
|
- `APIError`, `logger`, `asyncHandler`, `authenticateMiddleware`
|
|
26
33
|
- Logging: `logger`, `createScopedLogger`, `createFeatureFlaggedLogger`, `setupLogging`, `formatLogContextSuffix`
|
|
27
34
|
- Correlation: `runWithRequestContext`, `getCurrentLogContext`, `requestContextMiddleware`, `REQUEST_CONTEXT_ATTRIBUTE_NAMES`
|
|
28
35
|
- `createOpenApiBuilder`
|
|
29
36
|
- Seeds: `runSeeds`, `runSeedCli`, `seedBetterAuthUser`
|
|
37
|
+
- Migrations: `assertMigrationsAllowed`, `runMigrations`, `runDownMigrations`, `checkMigrationFiles`, `resolveMigrationDir`, `exerciseReversibleMigrations`, `MIGRATIONS_COLLECTION` (`terreno-migrate` bin)
|
|
30
38
|
- `githubUserPlugin`, `setupGitHubAuth`, `addGitHubAuthRoutes`
|
|
31
39
|
- `AuthToken`, `AUTH_TOKEN_TTL` (hashed single-use password-reset / email-verification tokens)
|
|
32
40
|
- Mongoose plugins: `findExactlyOne`, `findOneOrNone`, `upsertPlugin`, `DateOnly`, `emailVerificationPlugin`
|
|
33
41
|
- Validation: `configureOpenApiValidator`, `validateRequestBody`, `validateQueryParams`, `createValidator`
|
|
34
42
|
- Middleware: `openApiEtagMiddleware`, `sentryAppVersionMiddleware`
|
|
35
43
|
- Extensibility: `TerrenoPlugin` interface
|
|
36
|
-
- Notifiers: `
|
|
44
|
+
- Notifiers: `sendToSlack`, `formatSlackUserMention`, `lookupSlackUserIdByEmail`, `sendToGoogleChat`, `sendToZoom`
|
|
37
45
|
- HTTP client: `createAuthenticatedClient`, `withApiErrorHandling`, `normalizeApiError`, `markRetryUnsafe`
|
|
38
46
|
|
|
39
47
|
## Server Setup
|
|
@@ -77,7 +85,16 @@ const app = new TerrenoApp({userModel: User})
|
|
|
77
85
|
- `register(registration)` — Register `ModelRouterRegistration` or `TerrenoPlugin`
|
|
78
86
|
- `addMiddleware(fn)` — Add Express middleware
|
|
79
87
|
- `build()` — Build Express app without listening
|
|
80
|
-
|
|
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
|
+
```
|
|
81
98
|
|
|
82
99
|
### HTTP rate limiting
|
|
83
100
|
|
|
@@ -116,6 +133,41 @@ new TerrenoApp({
|
|
|
116
133
|
|
|
117
134
|
`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).
|
|
118
135
|
|
|
136
|
+
### Audit log (`AuditApp`)
|
|
137
|
+
|
|
138
|
+
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`.
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
import {
|
|
142
|
+
AuditApp,
|
|
143
|
+
persistRbacAuditToAuditEvent,
|
|
144
|
+
TerrenoApp,
|
|
145
|
+
modelRouter,
|
|
146
|
+
} from "@terreno/api";
|
|
147
|
+
|
|
148
|
+
new TerrenoApp({userModel: User})
|
|
149
|
+
.register(new AuditApp()) // optional {retentionDays: 90}
|
|
150
|
+
.register(
|
|
151
|
+
modelRouter("/todos", Todo, {
|
|
152
|
+
audit: true, // or {redact: ["ssn"]}
|
|
153
|
+
permissions: {/* ... */},
|
|
154
|
+
})
|
|
155
|
+
)
|
|
156
|
+
.start();
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
| Surface | How it writes |
|
|
160
|
+
| --- | --- |
|
|
161
|
+
| `modelRouter` | `audit: true` or `{redact?: string[]}` after successful HTTP create/update/delete and array push/update/remove |
|
|
162
|
+
| `AdminApp` | Auto when `AuditApp` is registered (`source: "admin"`). `onAdminAudit` is extra |
|
|
163
|
+
| RBAC | `createAccess({auditSink: persistRbacAuditToAuditEvent})` (`source: "rbac"`) |
|
|
164
|
+
|
|
165
|
+
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.
|
|
166
|
+
|
|
167
|
+
`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`.
|
|
168
|
+
|
|
169
|
+
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).
|
|
170
|
+
|
|
119
171
|
### setupServer (Legacy)
|
|
120
172
|
|
|
121
173
|
Callback-based pattern:
|
|
@@ -137,6 +189,40 @@ Both patterns create the same middleware stack (CORS, auth, logging, OpenAPI). H
|
|
|
137
189
|
|
|
138
190
|
`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.
|
|
139
191
|
|
|
192
|
+
## modelRouter actions
|
|
193
|
+
|
|
194
|
+
Named GET/POST operations on a collection or document. Use these instead of `app.get` /
|
|
195
|
+
`app.post` / `router.get` / `router.post` for application APIs.
|
|
196
|
+
|
|
197
|
+
See [modelRouter actions](../explanation/model-router-actions.md). Example:
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
export const todoRouter = modelRouter("/todos", Todo, {
|
|
201
|
+
collectionActions: {
|
|
202
|
+
bulkComplete: {
|
|
203
|
+
method: "POST",
|
|
204
|
+
permissions: [Permissions.IsAuthenticated],
|
|
205
|
+
body: z.object({ids: z.array(z.string()).min(1)}).strict(),
|
|
206
|
+
handler: async ({body, user}) => {
|
|
207
|
+
return {matched: 0, modified: 0};
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
instanceActions: {
|
|
212
|
+
markComplete: {
|
|
213
|
+
method: "POST",
|
|
214
|
+
permissions: [Permissions.IsOwner],
|
|
215
|
+
handler: async ({doc}) => {
|
|
216
|
+
return doc;
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
permissions: { /* CRUD */ },
|
|
221
|
+
});
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Do not add `endpoints: (router) => { router.get(...) }` when an action fits.
|
|
225
|
+
|
|
140
226
|
## MCP tools
|
|
141
227
|
|
|
142
228
|
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.
|
|
@@ -214,6 +300,11 @@ setupServer({
|
|
|
214
300
|
- `GET /auth/me` — Get current user profile
|
|
215
301
|
- `PATCH /auth/me` — Update current user profile
|
|
216
302
|
|
|
303
|
+
JWT recovery routes default on. In `authOptions`, set `passwordReset: false` to omit
|
|
304
|
+
forgot-password and both token-reset paths, `emailVerification: false` to omit send/verify
|
|
305
|
+
email, or `legacyResetPasswordRoute: false` to omit only the deprecated
|
|
306
|
+
`POST /resetPassword` alias while retaining `POST /auth/resetPassword`.
|
|
307
|
+
|
|
217
308
|
Signup and `PATCH /auth/me` drop privileged fields: `admin`, `roles`, `organizationIds`,
|
|
218
309
|
`emailVerified`, and `tokenEpoch`. Request logs redact `password`, `newPassword`,
|
|
219
310
|
`oldPassword`, `token`, and `refreshToken` in request bodies and in URL query strings. Changing the mailbox through `PATCH /auth/me`
|
|
@@ -322,6 +413,12 @@ Better Auth password and deletes those sessions when `BetterAuthApp` is register
|
|
|
322
413
|
Optional `authMailTemplates` overrides
|
|
323
414
|
subject/text/html per template id.
|
|
324
415
|
|
|
416
|
+
In-process seed helpers (for example `seedBetterAuthUserInProcess`) should pass
|
|
417
|
+
`disableRateLimit: true` on that throwaway Better Auth instance. Better Auth
|
|
418
|
+
turns its built-in limiter on when `NODE_ENV=production`, so seeding six demo
|
|
419
|
+
users during a preview smoke test otherwise 429s on the fourth signup. Do not
|
|
420
|
+
set this on the public `BetterAuthApp`.
|
|
421
|
+
|
|
325
422
|
**Endpoints (when enabled):**
|
|
326
423
|
- `POST /api/auth/signup/email` — Email/password signup
|
|
327
424
|
- `POST /api/auth/signin/email` — Email/password signin
|
|
@@ -387,6 +484,20 @@ Field descriptions appear in:
|
|
|
387
484
|
|
|
388
485
|
@terreno/api provides several Mongoose plugins to extend model functionality with common patterns.
|
|
389
486
|
|
|
487
|
+
### orgScopedPlugin
|
|
488
|
+
|
|
489
|
+
Adds a required indexed `organizationId` (ref `Organization`) to consumer schemas. Save fails
|
|
490
|
+
without an organization. Use this on tenant-scoped models; query scoping lands with org context.
|
|
491
|
+
After creation, `organizationId` is immutable — REST PATCH, admin writes, sync updates, and
|
|
492
|
+
direct `doc.save()` / `updateOne()` attempts to retarget another organization return HTTP 400
|
|
493
|
+
with title `organizationId cannot be changed`.
|
|
494
|
+
|
|
495
|
+
``````typescript
|
|
496
|
+
import {orgScopedPlugin} from "@terreno/api";
|
|
497
|
+
|
|
498
|
+
projectSchema.plugin(orgScopedPlugin);
|
|
499
|
+
``````
|
|
500
|
+
|
|
390
501
|
### findExactlyOne & findOneOrNone
|
|
391
502
|
|
|
392
503
|
**Critical:** Never use `Model.findOne` directly. Use these plugins instead to prevent ambiguous queries.
|
|
@@ -574,6 +685,138 @@ export const addDefaultPlugins = (schema) => {
|
|
|
574
685
|
todoSchema.plugin(addDefaultPlugins);
|
|
575
686
|
``````
|
|
576
687
|
|
|
688
|
+
## Organizations
|
|
689
|
+
|
|
690
|
+
Organizations are **opt-in**. Existing and single-tenant apps omit them: do not pass
|
|
691
|
+
`organizations: true` to `createAccess` or `TerrenoApp`, and do not register `OrgsApp`.
|
|
692
|
+
New apps from `create-terreno-app` enable organizations by default.
|
|
693
|
+
|
|
694
|
+
| App kind | What to do |
|
|
695
|
+
| --- | --- |
|
|
696
|
+
| Existing / single-tenant | Leave `createAccess` and `TerrenoApp` without `organizations`. No `operator` seed, no membership grants, no `/orgs` routes. |
|
|
697
|
+
| 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`. |
|
|
698
|
+
| Existing app adopting orgs | `createAccess({ organizations: true })`, `await access.roles.seedDefaults()`, and `TerrenoApp({ organizations: true, accessControl })` or `.register(new OrgsApp({ access, userModel }))`. |
|
|
699
|
+
|
|
700
|
+
`Organization` and `Membership` models register on first use, not when you import `@terreno/api`.
|
|
701
|
+
|
|
702
|
+
Native `Organization` and `Membership` models live in `@terreno/api`.
|
|
703
|
+
|
|
704
|
+
| Model | Fields |
|
|
705
|
+
| --- | --- |
|
|
706
|
+
| `Organization` | `name` (required), `slug` (unique, generated from name), `ownerId`, `settings` (app-defined; Mixed until you register a nested schema), `disabled` |
|
|
707
|
+
| `Membership` | `organizationId`, `userId`, `roleName` (`org-admin` \| `member`, default `member`), `status` (`active` \| `suspended`) |
|
|
708
|
+
|
|
709
|
+
Compound unique index: `(organizationId, userId)`. Duplicate memberships throw a Mongo duplicate-key error.
|
|
710
|
+
|
|
711
|
+
`Membership` statics: `findActiveForUser`, `isOrgAdmin`, `isMember` (active rows only). Per-org
|
|
712
|
+
`org-admin` is stored on Membership, not on `user.roles`.
|
|
713
|
+
|
|
714
|
+
### Organization.settings
|
|
715
|
+
|
|
716
|
+
Do not add top-level fields to the native `Organization` model. Extend `settings`:
|
|
717
|
+
|
|
718
|
+
| Helper | Role |
|
|
719
|
+
| --- | --- |
|
|
720
|
+
| `createOrganizationSettingsSchema(definition)` | Nested schema with `_id: false` and `strict: "throw"` |
|
|
721
|
+
| `registerOrganizationSettings(schema)` | Validate settings on create/save/PATCH. Call with no argument to clear |
|
|
722
|
+
| `organizationSettingsOf(organization)` | Type-safe read; defaults to `{}` |
|
|
723
|
+
| `OrganizationSettings` | Empty interface for `declare module "@terreno/api"` merging |
|
|
724
|
+
|
|
725
|
+
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).
|
|
726
|
+
|
|
727
|
+
### OrgsApp routes
|
|
728
|
+
|
|
729
|
+
| Method | Path | Required access |
|
|
730
|
+
| --- | --- | --- |
|
|
731
|
+
| `POST` | `/orgs` | `organization:create` |
|
|
732
|
+
| `GET` | `/orgs` | `organization:list` |
|
|
733
|
+
| `GET` | `/orgs/mine` | Active org-admin membership, operator, or superadmin (disabled orgs omitted) |
|
|
734
|
+
| `GET` | `/orgs/:id` | `organization:read` in that org |
|
|
735
|
+
| `PATCH` | `/orgs/:id` | `organization:update`; disabling also requires `organization:disable` |
|
|
736
|
+
| `DELETE` | `/orgs/:id` | `organization:delete` |
|
|
737
|
+
| `GET` / `POST` | `/orgs/:id/members` | `organization:manageMembers` |
|
|
738
|
+
| `PATCH` / `DELETE` | `/orgs/:id/members/:memberId` | `organization:manageMembers`; cannot remove or demote the last org-admin |
|
|
739
|
+
|
|
740
|
+
Creating an organization does not create a membership automatically. Member
|
|
741
|
+
attach accepts an existing `userId` or email (case-insensitive); it does not send
|
|
742
|
+
an invitation. Disabling or deleting an organization suspends its memberships.
|
|
743
|
+
Member attach, update, and remove routes reject disabled organizations with 403.
|
|
744
|
+
Operators may still `GET` and `PATCH /orgs/:id` on a disabled organization to
|
|
745
|
+
re-enable it; `GET /orgs` continues to list disabled organizations.
|
|
746
|
+
|
|
747
|
+
### Request organization context
|
|
748
|
+
|
|
749
|
+
Tenant-scoped routes run `orgContextMiddleware({required: true})` after auth, then
|
|
750
|
+
`queryFilter: OrgQueryFilter`.
|
|
751
|
+
|
|
752
|
+
| Condition | Result |
|
|
753
|
+
| --- | --- |
|
|
754
|
+
| `X-Organization-Id` present, organization disabled | 403 `Organization is disabled` |
|
|
755
|
+
| `X-Organization-Id` present, caller is `operator`/`superadmin` or an active member, org enabled | `req.organization` set |
|
|
756
|
+
| `X-Organization-Id` present, caller is not a member and not a platform org actor | 403 |
|
|
757
|
+
| Tenant-scoped route, `operator`/`superadmin`, header omitted | 400 |
|
|
758
|
+
| Caller is `org-admin` of exactly one enabled org, header omitted | that org is inferred |
|
|
759
|
+
| Caller is `org-admin` of many orgs, header omitted | 400 |
|
|
760
|
+
| Otherwise on tenant-scoped routes | 403 |
|
|
761
|
+
|
|
762
|
+
`OrgQueryFilter` always ANDs `{organizationId: context.id}`. Client `organizationId` query params
|
|
763
|
+
and `$or` cannot list another org.
|
|
764
|
+
|
|
765
|
+
`user.admin` is not operator. Platform org actors are `user.roles` containing `operator` or
|
|
766
|
+
`superadmin`.
|
|
767
|
+
|
|
768
|
+
Use `Permissions.IsOrganizationMember` on read, update, and delete methods for
|
|
769
|
+
tenant models. It requires the object's `organizationId` to match the active
|
|
770
|
+
request organization context (AsyncLocalStorage from `orgContextMiddleware`, and
|
|
771
|
+
from `X-Organization-Id` on `POST /sync/mutate`) for every caller. Platform actors (`operator` / `superadmin`) then pass; members
|
|
772
|
+
must also hold an active Membership in that organization. Direct `GET` / `PATCH`
|
|
773
|
+
by document id does not apply `OrgQueryFilter`, so this object-level check is
|
|
774
|
+
what blocks cross-tenant reads and writes. `getOrgContext()` exposes the
|
|
775
|
+
resolved organization to create hooks so they can overwrite client-provided
|
|
776
|
+
organization ids. Duplicate organization names that generate the same slug,
|
|
777
|
+
including slugs still held by soft-deleted organizations, return **409**
|
|
778
|
+
`Organization name already in use` on `POST /orgs` and on rename
|
|
779
|
+
via `PATCH /orgs/:id`. See [Add organizations](../how-to/add-organizations.md)
|
|
780
|
+
for complete route wiring.
|
|
781
|
+
|
|
782
|
+
### Organization RBAC
|
|
783
|
+
|
|
784
|
+
`terrenoStatements.organization` actions: `create`, `list`, `read`, `update`, `delete`,
|
|
785
|
+
`manageMembers`, `disable`.
|
|
786
|
+
|
|
787
|
+
| Role | Where it lives | Organization grants |
|
|
788
|
+
| --- | --- | --- |
|
|
789
|
+
| `superadmin` | `user.roles` | `*` (includes every organization action) |
|
|
790
|
+
| `operator` | seeded locked `user.roles` when `createAccess({ organizations: true })` | all `organization` actions, plus `admin:access` and `user:list\|read\|update` |
|
|
791
|
+
| `org-admin` | `Membership.roleName` in the current org context | `organization:read\|update\|manageMembers` and `admin:access` |
|
|
792
|
+
| `admin` | `user.roles` | none of `organization:*` |
|
|
793
|
+
|
|
794
|
+
`createAccess({ organizations: true })` prepends a membership permission source (`ttlMs: 0`) and
|
|
795
|
+
seeds the locked `operator` role. Without that flag, membership `org-admin` grants nothing extra
|
|
796
|
+
and `operator` is not seeded. Putting `org-admin` on `user.roles` does not grant those permissions.
|
|
797
|
+
Permission cache keys include the current organization id and membership role so org-admin grants
|
|
798
|
+
do not leak across orgs.
|
|
799
|
+
|
|
800
|
+
``````typescript
|
|
801
|
+
import {createAccess, Membership, Organization, terrenoStatements} from "@terreno/api";
|
|
802
|
+
|
|
803
|
+
const access = createAccess({
|
|
804
|
+
connection: mongoose.connection,
|
|
805
|
+
organizations: true,
|
|
806
|
+
statements: terrenoStatements,
|
|
807
|
+
userModel: User,
|
|
808
|
+
});
|
|
809
|
+
|
|
810
|
+
const org = await Organization.create({name: "Acme Corp", ownerId: user._id});
|
|
811
|
+
// org.slug === "acme-corp"
|
|
812
|
+
|
|
813
|
+
await Membership.create({
|
|
814
|
+
organizationId: org._id,
|
|
815
|
+
roleName: "org-admin",
|
|
816
|
+
userId: user._id,
|
|
817
|
+
});
|
|
818
|
+
``````
|
|
819
|
+
|
|
577
820
|
## Request Validation
|
|
578
821
|
|
|
579
822
|
@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.
|
|
@@ -617,7 +860,9 @@ setupServer({
|
|
|
617
860
|
|
|
618
861
|
### Using with modelRouter
|
|
619
862
|
|
|
620
|
-
When validation is enabled globally, modelRouter automatically validates create and update requests
|
|
863
|
+
When validation is enabled globally, modelRouter automatically validates create and update requests.
|
|
864
|
+
|
|
865
|
+
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`.
|
|
621
866
|
|
|
622
867
|
``````typescript
|
|
623
868
|
import {modelRouter, Permissions} from "@terreno/api";
|
|
@@ -1020,6 +1265,22 @@ top-level request fields) flows into Google Cloud Logging `jsonPayload` for Log
|
|
|
1020
1265
|
To correlate with Cloud Trace, ensure clients or load balancers send `x-cloud-trace-context` or W3C
|
|
1021
1266
|
`traceparent`.
|
|
1022
1267
|
|
|
1268
|
+
### Development browser-log ingestion
|
|
1269
|
+
|
|
1270
|
+
`TerrenoApp` mounts `POST /__terreno/browser-logs` only when `NODE_ENV=development`, or when
|
|
1271
|
+
`TERRENO_BROWSER_LOGS=true` in another non-production environment. Production always returns 404;
|
|
1272
|
+
set `TERRENO_BROWSER_LOGS=false` to disable the route in development.
|
|
1273
|
+
|
|
1274
|
+
The route accepts loopback requests for local browser development. Non-loopback clients must
|
|
1275
|
+
authenticate through the app's normal JWT or Better Auth middleware. `TerrenoApp` mounts the route
|
|
1276
|
+
after its optional rate limiter, so configured API limits also apply to ingestion.
|
|
1277
|
+
|
|
1278
|
+
The request body is `{entries: Array<{level?, message?, stack?, timestamp?}>}`. Batches are capped
|
|
1279
|
+
at 100 entries and 256 kB. Accepted rows are truncated to bounded field lengths and appended as
|
|
1280
|
+
mode-`0600` JSONL under `<backend cwd>/.terreno/logs/browser.log`. The file restarts with the latest
|
|
1281
|
+
batch before it would exceed 5 MB. The local MCP `read_logs` / `last_error` tools and
|
|
1282
|
+
`terreno logs --sources browser` consume that file.
|
|
1283
|
+
|
|
1023
1284
|
### Message style
|
|
1024
1285
|
|
|
1025
1286
|
- Start with what happened, then optional detail: `User export finished`, not `finished`.
|
|
@@ -1121,6 +1382,83 @@ setupServer({
|
|
|
1121
1382
|
- Optional/configurable functionality
|
|
1122
1383
|
- Clean separation of concerns
|
|
1123
1384
|
|
|
1385
|
+
## In-app notifications
|
|
1386
|
+
|
|
1387
|
+
Owner-scoped inbox and channel preferences via `NotificationsApp` (`ConsentApp` pattern).
|
|
1388
|
+
This is separate from inbound webhooks and outbound Slack/Chat/Zoom notifiers below.
|
|
1389
|
+
|
|
1390
|
+
### Register
|
|
1391
|
+
|
|
1392
|
+
```typescript
|
|
1393
|
+
import {NotificationsApp, getNotificationService, notificationsBeforeSend} from "@terreno/api";
|
|
1394
|
+
|
|
1395
|
+
new TerrenoApp({userModel: User}).register(
|
|
1396
|
+
new NotificationsApp({
|
|
1397
|
+
getComms: getCommsService, // optional; duck-typed, no @terreno/comms import in api
|
|
1398
|
+
retainDays: 0,
|
|
1399
|
+
userModel: User,
|
|
1400
|
+
})
|
|
1401
|
+
);
|
|
1402
|
+
```
|
|
1403
|
+
|
|
1404
|
+
### Collections
|
|
1405
|
+
|
|
1406
|
+
| Model | Route | Sync | Client create |
|
|
1407
|
+
|---|---|---|---|
|
|
1408
|
+
| `Notification` | `/notifications` | owner | **No** (`create: []`) |
|
|
1409
|
+
| `NotificationPreference` | `/notification-preferences` | owner | Yes (lazy defaults) |
|
|
1410
|
+
|
|
1411
|
+
The exported models use collision-resistant Mongoose names
|
|
1412
|
+
`TerrenoInboxNotification` and `TerrenoNotificationPreference`, while retaining the
|
|
1413
|
+
existing `notifications` and `notificationpreferences` MongoDB collections.
|
|
1414
|
+
|
|
1415
|
+
`Notification` fields: `ownerId`, `title`, `body`, `href?`, `kind?`, `readAt?` (null = unread),
|
|
1416
|
+
`archivedAt?` (null = active inbox).
|
|
1417
|
+
Index: `{ownerId: 1, created: -1}`.
|
|
1418
|
+
|
|
1419
|
+
`NotificationPreference` fields: `ownerId` (unique among non-deleted rows), `inapp`, `mail`,
|
|
1420
|
+
`push`, `sms` (default `true`). Missing preference row = all channels on. Preference updates
|
|
1421
|
+
accept only the four channel booleans; `ownerId` is immutable. Soft-deleting a preference
|
|
1422
|
+
row does not block a later create for the same owner.
|
|
1423
|
+
|
|
1424
|
+
`notify()` comms fan-out isolates mail, SMS, and push: a rejection from one provider is
|
|
1425
|
+
logged and does not skip later channels.
|
|
1426
|
+
|
|
1427
|
+
### `notify(input)`
|
|
1428
|
+
|
|
1429
|
+
Server-only seam. Writes the inbox when `inapp` is on, then optionally calls
|
|
1430
|
+
`getComms().sendMail` / `sendSms` / `sendPushToUser` when that channel is on and a
|
|
1431
|
+
destination exists. Comms errors after the inbox write are logged and do not fail `notify()`.
|
|
1432
|
+
|
|
1433
|
+
### HTTP
|
|
1434
|
+
|
|
1435
|
+
| Method | Path | Notes |
|
|
1436
|
+
|---|---|---|
|
|
1437
|
+
| GET/PATCH/DELETE | `/notifications/:id` + list | Owner-scoped; **create disabled** |
|
|
1438
|
+
| POST | `/notifications/mark-all-read` | Sets `readAt` on caller's unread rows |
|
|
1439
|
+
| CRUD | `/notification-preferences` | Owner-scoped sync |
|
|
1440
|
+
|
|
1441
|
+
PATCH on notifications: `readAt` (ISO date or `null` to unread) and `archivedAt` (ISO date
|
|
1442
|
+
or `null`). Other keys are stripped. Dismiss sets `archivedAt` via syncdb update so the
|
|
1443
|
+
row stays in the snapshot. DELETE remains a retention tombstone (`isDeletedPlugin`), not
|
|
1444
|
+
the inbox archive path.
|
|
1445
|
+
|
|
1446
|
+
The example backend uses todo router lifecycle hooks to call `notify()`: create emits
|
|
1447
|
+
`Todo added`, the first incomplete-to-complete update emits `Todo completed`, and delete
|
|
1448
|
+
emits `Todo deleted`.
|
|
1449
|
+
|
|
1450
|
+
### `notificationsBeforeSend`
|
|
1451
|
+
|
|
1452
|
+
Duck-typed hook for `CommsApp({beforeSend})`. Cancels when the user's preference for that
|
|
1453
|
+
channel is `false`. Never cancels `verification`.
|
|
1454
|
+
|
|
1455
|
+
### Retention
|
|
1456
|
+
|
|
1457
|
+
`retainDays` default `0` (no sweep). When `retainDays > 0`, `sweepExpired()` tombstones rows
|
|
1458
|
+
with `created` older than N days. No Mongo TTL index.
|
|
1459
|
+
|
|
1460
|
+
How-to: [In-app notifications](../how-to/in-app-notifications.md).
|
|
1461
|
+
|
|
1124
1462
|
## Webhooks & Notifications
|
|
1125
1463
|
|
|
1126
1464
|
JSON and `application/x-www-form-urlencoded` parsers on `TerrenoApp` copy the original
|
|
@@ -1154,18 +1492,29 @@ nested ids (SendGrid `sg_event_id`). Operator guide: [Receive inbound webhooks](
|
|
|
1154
1492
|
|
|
1155
1493
|
### Slack Notifications
|
|
1156
1494
|
|
|
1495
|
+
Incoming webhooks only notify a person when the text contains their **Slack
|
|
1496
|
+
member ID** as `<@U012ABCDEF>` (Enterprise Grid ids start with `W`). Putting a
|
|
1497
|
+
display name or email in the message does not mention them.
|
|
1498
|
+
|
|
1499
|
+
Store `slackUserId` on the staff/user record. Resolve it once with
|
|
1500
|
+
`lookupSlackUserIdByEmail` (needs a bot token with `users:read.email`) and pass
|
|
1501
|
+
the id on every send:
|
|
1502
|
+
|
|
1157
1503
|
``````typescript
|
|
1158
|
-
import {
|
|
1504
|
+
import {formatSlackUserMention, lookupSlackUserIdByEmail, sendToSlack} from "@terreno/api";
|
|
1159
1505
|
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1506
|
+
const slackUserId =
|
|
1507
|
+
staff.slackUserId ??
|
|
1508
|
+
(await lookupSlackUserIdByEmail({email: staff.email, token: process.env.SLACK_BOT_TOKEN}));
|
|
1509
|
+
|
|
1510
|
+
await sendToSlack("Please review this case", {
|
|
1511
|
+
url: process.env.SLACK_WEBHOOK_URL,
|
|
1512
|
+
mentionUserIds: slackUserId ? [slackUserId] : [],
|
|
1513
|
+
});
|
|
1514
|
+
|
|
1515
|
+
// Or embed the token yourself:
|
|
1516
|
+
await sendToSlack(`${formatSlackUserMention("U012ABCDEF")} Deployment complete`, {
|
|
1517
|
+
url: process.env.SLACK_WEBHOOK_URL,
|
|
1169
1518
|
});
|
|
1170
1519
|
``````
|
|
1171
1520
|
|
|
@@ -1334,6 +1683,20 @@ for (let i = 0; i < 3; i++) {
|
|
|
1334
1683
|
}
|
|
1335
1684
|
``````
|
|
1336
1685
|
|
|
1686
|
+
## Migrations
|
|
1687
|
+
|
|
1688
|
+
`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**.
|
|
1689
|
+
|
|
1690
|
+
`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.
|
|
1691
|
+
|
|
1692
|
+
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).
|
|
1693
|
+
|
|
1694
|
+
`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).
|
|
1695
|
+
|
|
1696
|
+
`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.
|
|
1697
|
+
|
|
1698
|
+
The `@terreno/api` bin `terreno-migrate` runs `check`, `generate`, `status`, `up`, and `down`. See [Run MongoDB migrations](../how-to/run-mongodb-migrations.md).
|
|
1699
|
+
|
|
1337
1700
|
## Script Helpers
|
|
1338
1701
|
|
|
1339
1702
|
### runSeeds and runSeedCli
|
|
@@ -1402,6 +1765,13 @@ cronjob("0 * * * *", async () => {
|
|
|
1402
1765
|
- `"0 0 * * *"` — Daily at midnight
|
|
1403
1766
|
- `"0 */6 * * *"` — Every 6 hours
|
|
1404
1767
|
|
|
1768
|
+
**Process-local only:** `cronjob()` runs inside the current Node process. It does not
|
|
1769
|
+
persist work, retry across crashes, or share state between API and worker replicas. For
|
|
1770
|
+
durable queues, retries, dead-lettering, cron schedules stored in MongoDB, and admin
|
|
1771
|
+
visibility, use [`@terreno/jobs`](jobs.md) — see
|
|
1772
|
+
[Durable background jobs](../how-to/background-jobs.md). Use `wrapScript` (above) for
|
|
1773
|
+
one-shot CLI entrypoints, not queued work.
|
|
1774
|
+
|
|
1405
1775
|
## Deprecations
|
|
1406
1776
|
|
|
1407
1777
|
### transformer (modelRouter option)
|
|
@@ -1459,6 +1829,7 @@ Complete reference of environment variables used by @terreno/api:
|
|
|
1459
1829
|
| `PORT` | No | `3000` | HTTP server port |
|
|
1460
1830
|
| `NODE_ENV` | No | `development` | Environment: `development`, `production`, `test` |
|
|
1461
1831
|
| `MONGO_URI` or `MONGO_CONNECTION` | Yes | — | MongoDB connection string |
|
|
1832
|
+
| `ALLOW_MIGRATIONS` | No | unset | Set to `"true"` plus CLI `--force` for production wet `up`/`down` |
|
|
1462
1833
|
| `ENABLE_SWAGGER` | No | — | Set to `"true"` to enable Swagger UI at `/docs` |
|
|
1463
1834
|
| `WEBSOCKET_PORT` | No | `PORT + 1` | Socket.io server port (if using WebSockets) |
|
|
1464
1835
|
|
|
@@ -1468,6 +1839,7 @@ Complete reference of environment variables used by @terreno/api:
|
|
|
1468
1839
|
|----------|----------|---------|-------------|
|
|
1469
1840
|
| `USE_SENTRY_LOGGING` | No | — | Set to `"true"` to enable Sentry error tracking |
|
|
1470
1841
|
| `SENTRY_DSN` | No | — | Sentry Data Source Name (required if USE_SENTRY_LOGGING=true) |
|
|
1842
|
+
| `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 |
|
|
1471
1843
|
| `SENTRY_TRACES_SAMPLE_RATE` | No | `0.1` | Sentry trace sampling rate (0.0 to 1.0) |
|
|
1472
1844
|
| `DISABLE_LOG_ALL_REQUESTS` | No | — | Set to `"true"` to disable request logging |
|
|
1473
1845
|
| `SLOW_REQUEST_THRESHOLD_MS` | No | `3000` | Log warning for requests slower than this (milliseconds) |
|
|
@@ -1478,6 +1850,7 @@ Complete reference of environment variables used by @terreno/api:
|
|
|
1478
1850
|
| Variable | Required | Default | Description |
|
|
1479
1851
|
|----------|----------|---------|-------------|
|
|
1480
1852
|
| `SLACK_WEBHOOKS` | No | — | JSON object mapping names to Slack webhook URLs: `{"default":"https://..."}` |
|
|
1853
|
+
| `SLACK_BOT_TOKEN` | No | — | Bot token (`xoxb-…`) with `users:read.email` for `lookupSlackUserIdByEmail` |
|
|
1481
1854
|
| `GOOGLE_CHAT_WEBHOOKS` | No | — | JSON object mapping names to Google Chat webhook URLs |
|
|
1482
1855
|
| `ZOOM_CHAT_WEBHOOKS` | No | — | JSON object mapping names to Zoom webhook URLs |
|
|
1483
1856
|
| `WEBHOOK_SECRET` | No | — | Secret for validating incoming webhook signatures |
|
|
@@ -1489,8 +1862,11 @@ Complete reference of environment variables used by @terreno/api:
|
|
|
1489
1862
|
| `GCP_PROJECT` | No | — | Google Cloud project ID (for Cloud Tasks, etc.) |
|
|
1490
1863
|
| `GCP_LOCATION` | No | — | GCP region (e.g., "us-central1") |
|
|
1491
1864
|
| `GCP_SERVICE_ACCOUNT_EMAIL` | No | — | Service account email for authentication |
|
|
1492
|
-
| `GCP_TASKS_NOTIFICATIONS_QUEUE` | No | — |
|
|
1493
|
-
| `GCP_TASK_PROCESSOR_QUEUE` | No | — | Cloud Tasks
|
|
1865
|
+
| `GCP_TASKS_NOTIFICATIONS_QUEUE` | No | — | Legacy name in docs/tests only — **not** read by `@terreno/api` or `@terreno/jobs` |
|
|
1866
|
+
| `GCP_TASK_PROCESSOR_QUEUE` | No | — | Legacy name in docs/tests only — configure Cloud Tasks via `GcpCloudTasksRunner` options |
|
|
1867
|
+
| `GCP_TASKS_AUDIT_QUEUE` | No | — | Cloud Tasks queue name for off-process `AuditEvent` writes |
|
|
1868
|
+
| `AUDIT_TASKS_URL` | No | — | Worker URL Cloud Tasks POSTs audit writes to |
|
|
1869
|
+
| `AUDIT_TASKS_SECRET` | No | — | Shared secret for `X-Terreno-Audit-Secret` on the audit worker route |
|
|
1494
1870
|
|
|
1495
1871
|
### Other
|
|
1496
1872
|
|
|
@@ -1519,7 +1895,8 @@ SENTRY_DSN=https://...@sentry.io/...
|
|
|
1519
1895
|
|
|
1520
1896
|
## Learn more
|
|
1521
1897
|
|
|
1898
|
+
- [Enable the framework audit log](../how-to/audit-log.md)
|
|
1522
1899
|
- [How to create a model](../how-to/create-a-model.md)
|
|
1523
1900
|
- [Add GitHub OAuth](../how-to/add-github-oauth.md)
|
|
1524
1901
|
- [Authentication architecture](../explanation/authentication.md)
|
|
1525
|
-
- [API package source](https://github.com/
|
|
1902
|
+
- [API package source](https://github.com/TerrenoLabs/terreno/tree/master/api/src)
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# @terreno/cli
|
|
2
|
+
|
|
3
|
+
Install: `bun add -g @terreno/cli` then run `terreno --help`.
|
|
4
|
+
|
|
5
|
+
The `terreno` binary is the operator CLI for Terreno apps. It wraps documentation search, codegen (syncdb SDK, RTK OpenAPI SDK, Mongoose models, routes, screens, forms, admin install notes), app bootstrap, local project tools from `@terreno/mcp`, and **OpenAPI-driven REST calls**.
|
|
6
|
+
|
|
7
|
+
Generate an app-specific CLI from your backend spec:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
terreno generate rest-cli --schema http://localhost:4000/openapi.json --out ./tools/app-cli --name myapp
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Commands
|
|
14
|
+
|
|
15
|
+
| Command | What it does |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| `docs search <query>` | Search Terreno docs (`--packages api,ui`, `--token-limit`) |
|
|
18
|
+
| `docs component <Name>` | Print `@terreno/ui` component props |
|
|
19
|
+
| `docs upgrade --from --to` | Lockstep upgrade notes |
|
|
20
|
+
| `generate syncdb` | Typed syncdb hooks from OpenAPI (`--schema`, `--out`, `--collections`, `--config`, `--no-format`) |
|
|
21
|
+
| `generate sdk` | Run `@rtk-query/codegen-openapi` with `--config` |
|
|
22
|
+
| `generate rest-cli` | Scaffold a bun CLI from OpenAPI (`--schema`, `--out`, `--name`, `--base-url`) |
|
|
23
|
+
| `generate model` | Mongoose model (`--name`, `--field name:Type:required`, `--owner`, `--soft-delete`) |
|
|
24
|
+
| `generate route` | `modelRouter` module (`--model-name`, `--route-path`, `--owner-filtered`, `--query-fields`, `--sort`) |
|
|
25
|
+
| `generate screen` | UI screen (`--name`, `--type list\|detail\|form\|empty`) |
|
|
26
|
+
| `generate form` | Form fields (`--field name:type:required:label=Label`) |
|
|
27
|
+
| `generate admin` | Admin install snippets (`--model Model:/path:Display:field,field`) |
|
|
28
|
+
| `bootstrap app` | Full-stack app files (`--name`, `--display-name`, `--dir`, `--description`, `--mcp-url`) |
|
|
29
|
+
| `bootstrap rules` | Editor AI rules only (`--packages api,ui`) |
|
|
30
|
+
| `validate schema --file` | Check a Mongoose schema against conventions |
|
|
31
|
+
| `api list` | List operations from `--schema` or `TERRENO_OPENAPI` |
|
|
32
|
+
| `api call <operationId>` | Invoke by OpenAPI operation id |
|
|
33
|
+
| `api request <METHOD> <path>` | Invoke by method + path template |
|
|
34
|
+
| `info` | Local `@terreno/*` versions (via MCP local tools) |
|
|
35
|
+
| `logs` | Merge backend/browser JSONL, Metro events, and app CDP console (`--entries`, `--level`, `--since`, `--sources`; `last-error`) |
|
|
36
|
+
| `state` | Inspect Better Auth (via `auth` alias or `betterAuth`) or RTK Query state (`--slice`, `--query`) through the dev store or Metro CDP |
|
|
37
|
+
| `eval` | Evaluate JavaScript in the app runtime through Metro CDP (`--code`; requires `TERRENO_MCP_EVAL=1`) |
|
|
38
|
+
| `navigate` | Navigate Expo Router through Metro CDP (requires `TERRENO_MCP_EVAL=1`) |
|
|
39
|
+
| `web [url]` | Automate the web app with Bun 1.4 `Bun.WebView`; ordered `--action` JSON, `--snapshot`, and `--screenshot` |
|
|
40
|
+
| `db schema` | Mongo collections (`--collection-filter`, `--summary`) |
|
|
41
|
+
| `db query` | Read-only Mongo (`--collection`, `--operation`, `--filter`, `--pipeline`, `--field`, `--limit`) |
|
|
42
|
+
|
|
43
|
+
Global flags: `--json`, `--help` / `-h`, `--version` / `-v`.
|
|
44
|
+
|
|
45
|
+
## Web app automation
|
|
46
|
+
|
|
47
|
+
Run an interaction sequence and save proof from the final rendered state:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
terreno web http://localhost:8082 \
|
|
51
|
+
--action '{"action":"click","selector":"#login"}' \
|
|
52
|
+
--action '{"action":"type","selector":"input[name=email]","text":"test@example.com"}' \
|
|
53
|
+
--action '{"action":"press","key":"Enter"}' \
|
|
54
|
+
--snapshot \
|
|
55
|
+
--screenshot /opt/cursor/artifacts/login.png
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The command requires Bun 1.4 or newer and uses its built-in headless `Bun.WebView`; Chrome,
|
|
59
|
+
Chromium, or Edge must be installed on Linux and Windows. Actions run in argument order with
|
|
60
|
+
native trusted input. Supported actions are `click`, `type`, `press`, `scroll`, `evaluate`,
|
|
61
|
+
`snapshot`, `screenshot`, `back`, `forward`, `reload`, and `wait`. Use `--actions-file <path>` for a
|
|
62
|
+
JSON array, `--width` / `--height` for the viewport, `--wait` to change the initial 1000 ms
|
|
63
|
+
client-render delay, and `--data-dir` to persist cookies and browser storage. The URL defaults to
|
|
64
|
+
`TERRENO_WEB_URL`, then `http://localhost:8082`. The CLI manages `open` and `close` around the
|
|
65
|
+
sequence. Set `TERRENO_MCP_EVAL=1` before using an `evaluate` action. Screenshot paths must stay
|
|
66
|
+
under the project root or `/opt/cursor/artifacts`; browser data must stay under the project root.
|
|
67
|
+
|
|
68
|
+
## REST auth
|
|
69
|
+
|
|
70
|
+
| Flag / env | Purpose |
|
|
71
|
+
| --- | --- |
|
|
72
|
+
| `--token` / `TERRENO_TOKEN` | Bearer token |
|
|
73
|
+
| `--base-url` / `TERRENO_API_URL` | Override `servers[0].url` |
|
|
74
|
+
| `--header "Name: value"` | Extra headers (repeatable) |
|
|
75
|
+
| `--param name=value` | Path or query parameter |
|
|
76
|
+
| `--body` / `--body-file` | JSON body |
|
|
77
|
+
|
|
78
|
+
Library entry for generated app CLIs:
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
import {runAppRestCli} from "@terreno/cli";
|
|
82
|
+
|
|
83
|
+
await runAppRestCli({
|
|
84
|
+
argv: process.argv.slice(2),
|
|
85
|
+
binName: "myapp",
|
|
86
|
+
specText: openApiJson,
|
|
87
|
+
title: "My API",
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
See [Generate a REST CLI from OpenAPI](../how-to/generate-a-rest-cli.md).
|