@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
|
@@ -34,7 +34,10 @@ admin.register(app);
|
|
|
34
34
|
``````
|
|
35
35
|
|
|
36
36
|
This creates:
|
|
37
|
-
- `GET /admin/config` — Model metadata endpoint
|
|
37
|
+
- `GET /admin/config` — Model metadata endpoint (`migrations.enabled` when `AdminApp` is given `migrations.dir`)
|
|
38
|
+
- `GET /admin/migrations/status` (`admin:access`) and `POST /admin/migrations/run?wetRun=` (`admin:runScripts`) as `modelRouter` collection actions when `migrations.dir` is set. CRUD on `/admin/migrations` is disabled (405), action permission denials are 405, and responses use `{data: ...}`. Both operations are documented under the `adminMigrations` OpenAPI tag.
|
|
39
|
+
- Poll/cancel those tasks at `GET`/`DELETE /admin/scripts/tasks/:id`
|
|
40
|
+
- Pass `migrations: {dir: "./migrations"}` on `AdminApp`
|
|
38
41
|
- Standard CRUD routes for each model at `{basePath}{routePath}`
|
|
39
42
|
- All routes protected with `Permissions.IsAdmin`, or fine-grained RBAC when `accessControl` is set
|
|
40
43
|
|
|
@@ -42,8 +45,9 @@ This creates:
|
|
|
42
45
|
|
|
43
46
|
``````typescript
|
|
44
47
|
interface AdminOptions {
|
|
45
|
-
models
|
|
48
|
+
models?: AdminModelConfig[];
|
|
46
49
|
basePath?: string; // Default: "/admin"
|
|
50
|
+
organizations?: boolean; // Default: false
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
interface AdminModelConfig {
|
|
@@ -55,16 +59,60 @@ interface AdminModelConfig {
|
|
|
55
59
|
}
|
|
56
60
|
``````
|
|
57
61
|
|
|
62
|
+
## Organization scoping
|
|
63
|
+
|
|
64
|
+
Organization-aware admin CRUD is opt-in so existing single-tenant apps remain
|
|
65
|
+
unchanged. Enable organizations in both access and admin wiring:
|
|
66
|
+
|
|
67
|
+
``````typescript
|
|
68
|
+
const access = createAccess({
|
|
69
|
+
connection: mongoose.connection,
|
|
70
|
+
organizations: true,
|
|
71
|
+
statements,
|
|
72
|
+
userModel: User,
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
new AdminApp({
|
|
76
|
+
accessControl: access,
|
|
77
|
+
organizations: true,
|
|
78
|
+
});
|
|
79
|
+
``````
|
|
80
|
+
|
|
81
|
+
When enabled, models whose schema contains `organizationId`:
|
|
82
|
+
|
|
83
|
+
- require organization context through `X-Organization-Id` (single-org
|
|
84
|
+
`org-admin` callers may use context inference);
|
|
85
|
+
- AND `organizationId` into list and search queries;
|
|
86
|
+
- deny read, update, delete, and bulk update for records outside the current org;
|
|
87
|
+
- overwrite client-provided `organizationId` on create with the current org.
|
|
88
|
+
|
|
89
|
+
Models without `organizationId` and every admin app that omits `organizations`
|
|
90
|
+
keep their existing behavior. Organization directory, settings, and membership
|
|
91
|
+
requests use the shared `OrgsApp` routes mounted by
|
|
92
|
+
`TerrenoApp({organizations: true, accessControl: access})`.
|
|
93
|
+
|
|
58
94
|
## Generated Routes
|
|
59
95
|
|
|
60
|
-
For each model, creates standard modelRouter CRUD endpoints:
|
|
96
|
+
For each model, creates standard modelRouter CRUD endpoints plus admin membership helpers:
|
|
61
97
|
|
|
62
|
-
- `GET {basePath}{routePath}` — List (paginated, sortable)
|
|
98
|
+
- `GET {basePath}{routePath}` — List (paginated, sortable). Query params: `page`, `limit`, `sort`, `q` (partial search across string `searchFields`), plus `queryFields` from list/filter metadata. Envelope: `{data, limit, more, page, total}` (`page` is the raw query string when provided)
|
|
99
|
+
- `GET {basePath}{routePath}/search?q=` — Typeahead search. Envelope: `{data}` (limit 20; empty `q` returns `{data: []}`)
|
|
100
|
+
- `POST {basePath}{routePath}/bulk-patch` — Body `{ids: string[], patch: object}`. Success body `{updated}` plus `failures` when any id fails. Ids must pass `mongoose.isValidObjectId` (hex String `_id` values work; arbitrary UUID-like strings are rejected as `"Invalid id"`)
|
|
63
101
|
- `POST {basePath}{routePath}` — Create
|
|
64
102
|
- `GET {basePath}{routePath}/:id` — Read
|
|
65
103
|
- `PATCH {basePath}{routePath}/:id` — Update
|
|
66
104
|
- `DELETE {basePath}{routePath}/:id` — Delete
|
|
67
105
|
|
|
106
|
+
## Scripts
|
|
107
|
+
|
|
108
|
+
`POST {basePath}/scripts/:name/run` creates a `BackgroundTask` and returns `{taskId}`. Poll
|
|
109
|
+
`GET {basePath}/scripts/tasks/:id`. Cancel `DELETE {basePath}/scripts/tasks/:id`.
|
|
110
|
+
|
|
111
|
+
When `JobsApp` is already registered, the run is enqueued as job `admin/script` (see
|
|
112
|
+
[Durable background jobs](../how-to/background-jobs.md#admin-scripts)). Call
|
|
113
|
+
`defineAdminScriptJob` on the worker process with the same script list. The CLI
|
|
114
|
+
(`runScriptCli`) does not enqueue.
|
|
115
|
+
|
|
68
116
|
## Config Endpoint
|
|
69
117
|
|
|
70
118
|
`GET {basePath}/config` returns metadata for all registered models:
|
|
@@ -89,7 +137,8 @@ For each model, creates standard modelRouter CRUD endpoints:
|
|
|
89
137
|
required: false,
|
|
90
138
|
default: false
|
|
91
139
|
}
|
|
92
|
-
}
|
|
140
|
+
},
|
|
141
|
+
adminBroadcast: false
|
|
93
142
|
}
|
|
94
143
|
]
|
|
95
144
|
}
|
|
@@ -101,7 +150,14 @@ Field metadata includes:
|
|
|
101
150
|
- `description` — From schema (ensure all fields have descriptions!)
|
|
102
151
|
- `enum` — Enum values if applicable
|
|
103
152
|
- `default` — Default value
|
|
104
|
-
- `ref` — Referenced
|
|
153
|
+
- `ref` / `itemRef` — Referenced admin config `name` for ObjectId refs. Framework
|
|
154
|
+
compiled names such as `TerrenoOrganization` are returned as their stable public
|
|
155
|
+
admin names (`Organization`) so frontend reference pickers resolve the matching model.
|
|
156
|
+
- `adminBroadcast` — Always present. `true` when the app `modelRouter` `sync` config set
|
|
157
|
+
`adminBroadcast`, except organization-scoped models (forced to `false`)
|
|
158
|
+
- `organizationScoped` — `true` when `AdminApp({organizations: true})` manages a model with
|
|
159
|
+
an `organizationId` path, except `AuditEvent` (platform log; rows may omit the field)
|
|
160
|
+
- `syncCollection` — Sync collection tag (app `routePath` without a leading slash, e.g. `todos`) when `adminBroadcast` is true; omitted otherwise
|
|
105
161
|
|
|
106
162
|
Field metadata is built from `describeModel()` via `modelDescriptionToAdminFields()` — not from a second OpenAPI property walk. Widget overrides (`fieldOverrides`) remain admin-backend configuration.
|
|
107
163
|
|
|
@@ -112,6 +168,24 @@ without it. Script, configuration, RBAC, and per-model permissions never grant e
|
|
|
112
168
|
|
|
113
169
|
Without `accessControl`, that same page gate uses `Permissions.IsAdmin` (`user.admin`).
|
|
114
170
|
|
|
171
|
+
`AdminApp.register` also installs each model's list/read permissions and `queryFilter` on
|
|
172
|
+
the sync admin window (`registerAdminBroadcastScope`). `GET /sync/entities` and
|
|
173
|
+
`{collection}|admin` deltas then use that contract, not product `IsOwner`. Organization-scoped
|
|
174
|
+
models are excluded because the current sync window protocol does not carry the selected
|
|
175
|
+
organization context; they stay on REST so `X-Organization-Id` and `OrgQueryFilter` cannot be
|
|
176
|
+
bypassed.
|
|
177
|
+
|
|
178
|
+
For writes, AdminApp registers an admin-window mutation scope (`registerAdminWindowMutationScope`).
|
|
179
|
+
Sync clients listed in `createSyncDb({windowCollections})` tag outbox rows with
|
|
180
|
+
`mutationMode: "adminWindow"`. The server does not trust the marker alone: it also requires
|
|
181
|
+
`adminBroadcast`, admin-window access (`admin:access` with RBAC, else `user.admin`), and the
|
|
182
|
+
registered scope. Successful admin-window sync mutations enforce the same create/update/delete
|
|
183
|
+
enabled flags, RBAC/`writeOwned` ownership, readonly/hidden stripping, User admin-flag/role gates,
|
|
184
|
+
and `onAdminAudit` post hooks as REST — via AdminApp executor callbacks on the shared sync write
|
|
185
|
+
pipeline (Mongoose validation, conflict/baseVersion checks, and ledger ordering unchanged).
|
|
186
|
+
Organization-scoped models do not register this scope and use REST mutations. Product clients
|
|
187
|
+
that omit the marker keep product sync permissions and hooks.
|
|
188
|
+
|
|
115
189
|
With `accessControl`, each model can use a standard admin resource with three actions:
|
|
116
190
|
|
|
117
191
|
| Action | Access |
|
|
@@ -150,7 +224,10 @@ new AdminApp({
|
|
|
150
224
|
});
|
|
151
225
|
```
|
|
152
226
|
|
|
153
|
-
`adminAccess.resource` overrides the default `admin<ModelName>` name.
|
|
227
|
+
`adminAccess.resource` overrides the default `admin<ModelName>` name. Framework
|
|
228
|
+
models compiled as `Terreno*` still use the pre-namespace `admin<ModelName>`
|
|
229
|
+
resource (`adminAuditEvent`, `adminAnnouncement`, `adminMcpServiceToken`) and
|
|
230
|
+
the same `/admin/<PublicName>` UI key (`/admin/AuditEvent`). Use
|
|
154
231
|
`adminAccess.authorize({action, instance, user})` when a model or screen needs a completely
|
|
155
232
|
custom decision. The callback replaces the standard read/write/write-owned decision, while
|
|
156
233
|
`admin:access` still protects the admin shell. Every action is authorized without an instance
|
|
@@ -165,6 +242,7 @@ writable controls are disabled, and `platformTools` reports visibility for Scrip
|
|
|
165
242
|
and Configuration. Built-in tools use the existing editable permissions:
|
|
166
243
|
|
|
167
244
|
- Scripts: `admin:runScripts` or `admin:viewBackgroundTasks`
|
|
245
|
+
- Migrations apply/dry-run: `admin:runScripts` (status listing uses `admin:access`)
|
|
168
246
|
- Roles: `rbac:read`
|
|
169
247
|
- Version and Configuration: `configuration:read`
|
|
170
248
|
- Audit Log and Feature Flags: their model's admin `read` permission
|
|
@@ -174,6 +252,11 @@ Read and list responses include `_adminCapabilities.update` and
|
|
|
174
252
|
read-only for records the current user does not own. Script metadata separately exposes run and
|
|
175
253
|
history permissions so a history-only role never receives an enabled Run control.
|
|
176
254
|
|
|
255
|
+
When `AuditApp` is registered, successful admin POST/PATCH/DELETE persist append-only
|
|
256
|
+
`AuditEvent` rows with `source: "admin"`. `onAdminAudit` is an extra best-effort sink; it is
|
|
257
|
+
not required for the framework log. Failures in either sink do not change the mutation HTTP
|
|
258
|
+
status. `AuditEvent` itself is never audited.
|
|
259
|
+
|
|
177
260
|
**Important:** Only expose models that should be editable via admin panel. Avoid sensitive internal models.
|
|
178
261
|
|
|
179
262
|
## Best Practices
|
|
@@ -44,6 +44,13 @@ Model contributions contain `model`, `routePath`, and `admin`. Duplicate `routeP
|
|
|
44
44
|
throw for registered routers; the same Mongoose model at two paths gets unique config
|
|
45
45
|
`name`s so the admin UI can route to each.
|
|
46
46
|
|
|
47
|
+
`AdminApp({migrations: {dir}})` enables `GET /admin/migrations/status` (`admin:access`)
|
|
48
|
+
and `POST /admin/migrations/run?wetRun=` (`admin:runScripts`, same as Scripts) as
|
|
49
|
+
`modelRouter` collection actions, plus `migrations.enabled` on `GET /admin/config`.
|
|
50
|
+
Poll/cancel uses existing `/admin/scripts/tasks/:id`. Production wet apply requires
|
|
51
|
+
`ALLOW_MIGRATIONS=true`. Unconfigured apps return 404 for those action routes.
|
|
52
|
+
|
|
53
|
+
|
|
47
54
|
## Legacy migration
|
|
48
55
|
|
|
49
56
|
Move each object from `AdminApp.models` to the model's `modelRouter({admin: ...})`; remove
|
|
@@ -10,6 +10,22 @@ and [Build admin screens](../how-to/build-admin-screens.md).
|
|
|
10
10
|
Home is `AdminHome` inside `AdminProvider` + `AdminShellLayout`. Generic models use
|
|
11
11
|
`AdminScreenRouter` on `[model]/index`. See the how-to for `apiBase` vs `routeBase`.
|
|
12
12
|
|
|
13
|
+
Pass fetch auth on `AdminProvider`:
|
|
14
|
+
|
|
15
|
+
| Host | Props |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| Standalone SPA | `credentials="same-origin"` and `getAuthHeaders` that return `{}` (cookie session). Omit `apiOrigin`. |
|
|
18
|
+
| Embedded app | `getAuthHeaders` that return `Authorization: Bearer …`, plus `apiOrigin` set to the API origin (`@terreno/rtk` `baseUrl`) |
|
|
19
|
+
|
|
20
|
+
RPC that has left RTK uses `bindAdminRequest({credentials, getAuthHeaders, origin})` then `adminRequest`. Relative URLs such as `/admin/config` are prefixed with `origin` when it is set. When `AdminProvider` has `credentials` or `getAuthHeaders`, RPC hooks (`useAdminConfig`, scripts, roles, configuration, documents, comms, consent, version-config, background-tasks, AI explorer, object picker) use that client. Successful comms, scripts, and configuration mutations invalidate mounted fetch queries through the same tag contracts as RTK; those background refetches keep cached data with `isLoading: false` and report `isFetching: true`. Passing only `api` keeps `injectEndpoints`. Do not add axios.
|
|
21
|
+
|
|
22
|
+
Optional `syncDb` on `AdminProvider` enables windowed changelists for models whose
|
|
23
|
+
config includes `adminBroadcast: true` and `syncCollection`. When product screens
|
|
24
|
+
also sync the same collection, inject a dedicated admin client/store configured
|
|
25
|
+
with `windowCollections`; one client cannot join owner/tenant and admin modes for
|
|
26
|
+
the same collection. Do not add `@terreno/syncdb` as a hard dependency of
|
|
27
|
+
admin-frontend.
|
|
28
|
+
|
|
13
29
|
``````typescript
|
|
14
30
|
// app/admin/index.tsx
|
|
15
31
|
import {AdminHome} from "@terreno/admin-frontend";
|
|
@@ -22,6 +38,104 @@ export default function AdminScreen() {
|
|
|
22
38
|
|
|
23
39
|
## Components
|
|
24
40
|
|
|
41
|
+
### OrgDirectoryScreen
|
|
42
|
+
|
|
43
|
+
`OrgDirectoryScreen` is the operator-only organization directory. It renders
|
|
44
|
+
loading, error, and empty states plus actions to create, disable, and open an
|
|
45
|
+
organization. **Open** also calls `selectOrganization` when the directory is
|
|
46
|
+
inside `OrgContextProvider`, so `X-Organization-Id` is set even if the host
|
|
47
|
+
callback only navigates.
|
|
48
|
+
|
|
49
|
+
``````typescript
|
|
50
|
+
const {selectOrganization} = useOrgContext();
|
|
51
|
+
|
|
52
|
+
<OrgDirectoryScreen
|
|
53
|
+
api={api}
|
|
54
|
+
isOperator={currentUser.roles?.includes("operator") ?? false}
|
|
55
|
+
onEnterOrganization={(organization) => {
|
|
56
|
+
selectOrganization(organization);
|
|
57
|
+
router.push(`/admin/orgs/${organization._id}`);
|
|
58
|
+
}}
|
|
59
|
+
routeBase="/admin"
|
|
60
|
+
/>
|
|
61
|
+
``````
|
|
62
|
+
|
|
63
|
+
Pass the same operator check to `AdminShellLayout` to expose the directory in
|
|
64
|
+
navigation. Org-admins do not receive this link:
|
|
65
|
+
|
|
66
|
+
``````typescript
|
|
67
|
+
<AdminShellLayout
|
|
68
|
+
api={api}
|
|
69
|
+
apiBase="/admin"
|
|
70
|
+
isOrganizationOperator={isOperator}
|
|
71
|
+
organizationDirectoryPath="/orgs"
|
|
72
|
+
routeBase="/admin"
|
|
73
|
+
>
|
|
74
|
+
{children}
|
|
75
|
+
</AdminShellLayout>
|
|
76
|
+
``````
|
|
77
|
+
|
|
78
|
+
### OrgContextProvider and OrgSwitcher
|
|
79
|
+
|
|
80
|
+
Wrap organization-aware admin routes with `OrgContextProvider` and render
|
|
81
|
+
`OrgSwitcher` through the shell's `organizationSwitcher` slot. Selecting an
|
|
82
|
+
organization navigates to `{routeBase}/orgs/:orgId` and adds
|
|
83
|
+
`X-Organization-Id` to subsequent `useAdminApi` requests. Query cache keys also
|
|
84
|
+
include the organization id, preventing rows cached for one org from appearing
|
|
85
|
+
in another. Derive `initialOrganization` from the current pathname so context
|
|
86
|
+
follows URL changes after mount without overriding a switcher selection while
|
|
87
|
+
navigation is in progress.
|
|
88
|
+
|
|
89
|
+
``````typescript
|
|
90
|
+
const pathname = usePathname();
|
|
91
|
+
const routeOrganization = useMemo(
|
|
92
|
+
() => organizationFromPath(pathname),
|
|
93
|
+
[pathname]
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
<OrgContextProvider initialOrganization={routeOrganization}>
|
|
97
|
+
<AdminShellLayout
|
|
98
|
+
api={api}
|
|
99
|
+
apiBase="/admin"
|
|
100
|
+
organizationSwitcher={<OrgSwitcher api={api} routeBase="/admin" />}
|
|
101
|
+
routeBase="/admin"
|
|
102
|
+
>
|
|
103
|
+
{children}
|
|
104
|
+
</AdminShellLayout>
|
|
105
|
+
</OrgContextProvider>
|
|
106
|
+
``````
|
|
107
|
+
|
|
108
|
+
When `/orgs/mine` returns one organization, `OrgSwitcher` shows its name and
|
|
109
|
+
selects it automatically. With multiple organizations it selects the first by
|
|
110
|
+
name (then id) as a deterministic default and renders a selector.
|
|
111
|
+
Its **Organization** label uses the shell's inverted text color.
|
|
112
|
+
When `/orgs/mine` returns **403** (callers without org-admin memberships, per API
|
|
113
|
+
docs), the switcher renders nothing instead of an error banner. Other failures
|
|
114
|
+
still show "Organizations unavailable".
|
|
115
|
+
|
|
116
|
+
`OrgDirectoryScreen` (operators only) lists every organization, including
|
|
117
|
+
disabled ones. Each row offers **Disable** or **Re-enable**; re-enabling sends
|
|
118
|
+
`PATCH /orgs/:id` with `{disabled: false}`.
|
|
119
|
+
|
|
120
|
+
### OrgSettingsScreen and OrgMembersScreen
|
|
121
|
+
|
|
122
|
+
Use `OrgSettingsScreen` at `/admin/orgs/:orgId` and `OrgMembersScreen` at
|
|
123
|
+
`/admin/orgs/:orgId/members`. Both send the selected organization header.
|
|
124
|
+
|
|
125
|
+
`OrgSettingsScreen` edits the organization name and app-defined settings JSON.
|
|
126
|
+
Type settings in the host app by augmenting `OrganizationSettings` (exported from
|
|
127
|
+
this package and from `@terreno/api`) and reading them with
|
|
128
|
+
`organizationSettingsOf(organization)`. The JSON editor still sends a full
|
|
129
|
+
settings object on save; the backend schema rejects unknown keys.
|
|
130
|
+
It includes a Billing card marked unavailable; billing is outside the
|
|
131
|
+
organization-management feature.
|
|
132
|
+
|
|
133
|
+
`OrgMembersScreen` lists current memberships, attaches an existing user by
|
|
134
|
+
email, changes member roles, and removes members. Backend errors such as
|
|
135
|
+
`Cannot remove the last org-admin` are shown inline. Invite is intentionally
|
|
136
|
+
disabled because invitation tokens and email belong to the later invitations
|
|
137
|
+
feature. The members page uses the full available admin content width.
|
|
138
|
+
|
|
25
139
|
### AdminModelList
|
|
26
140
|
|
|
27
141
|
Entry screen showing all available models as cards.
|
|
@@ -49,10 +163,25 @@ Table view for a specific model with pagination, sorting, and actions.
|
|
|
49
163
|
|
|
50
164
|
Features:
|
|
51
165
|
- DataTable with columns from backend `listFields`
|
|
166
|
+
- Toolbar search maps to list `q` (backend partial match + ObjectId lookup)
|
|
167
|
+
- Declared `filters` map to DataTable column filters (`text` contains, `choice`
|
|
168
|
+
multi `$in`, `boolean`, `dateRange`, `ref` via `AdminRefField` in `renderFilter`)
|
|
169
|
+
- Optional choice fields include **Empty**, which matches missing and null values.
|
|
170
|
+
Admin list requests serialize nested operators with bracket notation independently
|
|
171
|
+
of the host application's RTK base-query configuration.
|
|
52
172
|
- Click row to edit
|
|
53
173
|
- "Create New" button
|
|
54
174
|
- Pagination controls
|
|
55
175
|
- Reference fields render as clickable links
|
|
176
|
+
- Windowed TinyBase path when `AdminProvider` has `syncDb` plus a fetch client (`credentials` or `getAuthHeaders`) and `GET /admin/config` reports `adminBroadcast` + `syncCollection` on a String `_id` model: REST list is membership only, rows overlay TinyBase, and a TinyBase table listener rerenders known rows as `{collection}|admin` deltas arrive. **Refresh** (`testID="admin-table-refresh"`) re-queries REST and calls `hydrateWindow`. **Create** (`testID="admin-create-button"`) is in the table chrome, not the navigator header, because admin stacks use `headerShown: false`. **Save** / **Delete** (`testID="admin-save-button"` / `admin-delete-button`) are in the form chrome for the same reason. Page select-all and bulk actions use the rendered rows, so a row a live tombstone removed leaves the selection. RTK `refetch` error envelopes (`error` / `isError`) toast and skip hydrate; an in-flight Refresh is discarded when page, search, or sort changes. A windowed create or delete never touches the cached REST list, so the form flags the collection through `markAdminWindowMembershipStale` and the changelist refetches membership automatically — whether it stayed mounted behind the form or remounts when the form pops. A create also passes the new id as `awaitId`, because `mutate` only enqueues on the outbox and the first refetch can beat the server; the changelist retries up to three times, 700 ms apart — including after transient list failures — then leaves **Refresh** as the fallback. Passing only `api` keeps the RTK list.
|
|
177
|
+
- Organization-scoped models report `organizationScoped: true` and
|
|
178
|
+
`adminBroadcast: false`. They use REST list and mutation paths until the sync
|
|
179
|
+
window protocol carries selected-organization context. Home widgets delay
|
|
180
|
+
those list queries until `OrgContextProvider` has selected an organization.
|
|
181
|
+
`AdminModelForm` uses the same skip for org-scoped edit reads so create/edit
|
|
182
|
+
does not hit the API with a missing `X-Organization-Id`.
|
|
183
|
+
`AuditEvent` stays `organizationScoped: false` so Recent Activity and the
|
|
184
|
+
audit changelist still load unscoped rows when no organization is selected.
|
|
56
185
|
|
|
57
186
|
### AdminModelForm
|
|
58
187
|
|
|
@@ -77,6 +206,38 @@ Auto-generates fields from model schema:
|
|
|
77
206
|
|
|
78
207
|
System fields (`_id`, `__v`, `created`, `updated`, `deleted`) are automatically skipped.
|
|
79
208
|
|
|
209
|
+
When `AdminProvider` has `syncDb` plus a fetch client and the model config reports
|
|
210
|
+
`adminBroadcast`, `syncCollection`, and a String `_id`, create/update/delete use the
|
|
211
|
+
syncdb mutation outbox. Edit update/delete first hydrate the REST-loaded record so a
|
|
212
|
+
deep-linked form can mutate locally. ObjectId models and hosts without the full
|
|
213
|
+
windowed configuration keep the REST/RTK mutation path. Organization-scoped
|
|
214
|
+
models always use REST/RTK regardless of String `_id`.
|
|
215
|
+
|
|
216
|
+
Pass the host's `useConflicts()` result as `syncConflicts` on `AdminProvider`.
|
|
217
|
+
Windowed form mutations set their own pending state before any asynchronous work, so
|
|
218
|
+
Save/Delete show loading and duplicate presses cannot enqueue a second mutation.
|
|
219
|
+
|
|
220
|
+
Windowed tables and forms render `AdminConflictSheet`, filtered to the ids loaded
|
|
221
|
+
on that page or form, and forward **Use server** / **Keep mine** to syncdb's
|
|
222
|
+
resolver. Only the most recently mounted sheet per collection renders, so a form
|
|
223
|
+
stacked over its changelist shows one sheet instead of two.
|
|
224
|
+
This adapter keeps `@terreno/syncdb` optional for admin-frontend.
|
|
225
|
+
Bulk actions remain server operations: windowed models call the host fetch
|
|
226
|
+
client at `{routePath}/bulk-patch`, while API-only/ObjectId hosts retain RTK.
|
|
227
|
+
|
|
228
|
+
```tsx
|
|
229
|
+
const syncConflicts = useConflicts();
|
|
230
|
+
|
|
231
|
+
<AdminProvider
|
|
232
|
+
api={api}
|
|
233
|
+
apiBase="/admin"
|
|
234
|
+
syncConflicts={syncConflicts}
|
|
235
|
+
syncDb={syncDb}
|
|
236
|
+
>
|
|
237
|
+
{children}
|
|
238
|
+
</AdminProvider>;
|
|
239
|
+
```
|
|
240
|
+
|
|
80
241
|
### AdminRolesList
|
|
81
242
|
|
|
82
243
|
Role editing starts with a dedicated **Admin page** toggle for `admin:access`. That is the only
|
|
@@ -134,20 +295,31 @@ Returns model metadata from `{baseUrl}/config`.
|
|
|
134
295
|
|
|
135
296
|
### useAdminApi
|
|
136
297
|
|
|
137
|
-
|
|
298
|
+
> Deprecated in Terreno 57: do not add new admin `injectEndpoints`. Terreno 58
|
|
299
|
+
> removes `useAdminApi` and the required `api` prop. During the compatibility
|
|
300
|
+
> window, continue passing `api` for ObjectId model CRUD and API-only hosts.
|
|
301
|
+
|
|
302
|
+
Generates compatibility RTK Query hooks for list/read/create/update/delete plus
|
|
303
|
+
`POST {routePath}/bulk-patch`.
|
|
304
|
+
Pass the model's `routePath` from config (for example `/admin/users` or `/admin/todos`), not the admin `baseUrl`.
|
|
305
|
+
|
|
306
|
+
Admin RPC that is leaving RTK uses native `adminRequest` (`AbortController` timeout, JSON or `FormData`, `credentials` forwarded). Bind host auth with `bindAdminRequest`. Do not add axios.
|
|
138
307
|
|
|
139
308
|
``````typescript
|
|
140
309
|
const {
|
|
141
310
|
useListQuery,
|
|
142
|
-
|
|
311
|
+
useReadQuery,
|
|
143
312
|
useCreateMutation,
|
|
144
313
|
useUpdateMutation,
|
|
145
314
|
useDeleteMutation,
|
|
146
|
-
|
|
315
|
+
useBulkPatchMutation,
|
|
316
|
+
} = useAdminApi(api, "/admin/users", "User");
|
|
147
317
|
|
|
148
|
-
const {data, isLoading} = useListQuery({limit: 20, page: 1});
|
|
318
|
+
const {data, isLoading} = useListQuery({limit: 20, page: 1, q: "Ada", sort: "-created"});
|
|
149
319
|
const [create] = useCreateMutation();
|
|
150
320
|
await create({email: "user@example.com"}).unwrap();
|
|
321
|
+
const [bulkPatch] = useBulkPatchMutation();
|
|
322
|
+
await bulkPatch({ids: ["abc"], patch: {name: "Ada"}}).unwrap();
|
|
151
323
|
``````
|
|
152
324
|
|
|
153
325
|
## Expo Router Setup
|
|
@@ -228,7 +400,8 @@ Expects backend to provide:
|
|
|
228
400
|
|
|
229
401
|
When RBAC is enabled, `/admin/config` is filtered for the current user. `AdminShell` uses its
|
|
230
402
|
`platformTools` flags to hide denied Scripts, Roles, Version, and Configuration links, and only
|
|
231
|
-
renders model or custom-screen links returned by the server.
|
|
403
|
+
renders model or custom-screen links returned by the server. The shell lifts Audit Log, Feature
|
|
404
|
+
Flags, and Jobs into the Platform section (Jobs still comes from `customScreens`).
|
|
232
405
|
|
|
233
406
|
### Custom screen page chrome
|
|
234
407
|
|
|
@@ -50,7 +50,24 @@ admin-spa/
|
|
|
50
50
|
dist/ # Pre-built static export (produced by build:web)
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
Boot flow in the SPA: `AppConfigGate` fetches `${basePath}/app-config.json` →
|
|
53
|
+
Boot flow in the SPA: `AppConfigGate` fetches `${basePath}/app-config.json` →
|
|
54
|
+
`StoreProvider` builds Better Auth + Redux → `AdminGate` redirects anonymous
|
|
55
|
+
users to `/login` and non-admins to `/forbidden` → the authorized provider reads
|
|
56
|
+
`/admin/config`. When config contains String-`_id` models with `adminBroadcast`
|
|
57
|
+
and `syncCollection`, it starts a same-origin cookie-authenticated syncdb client
|
|
58
|
+
with those collections in window mode and forwards `useConflicts()` to the admin.
|
|
59
|
+
ObjectId and non-broadcast models remain on RTK.
|
|
60
|
+
|
|
61
|
+
When the backend enables organizations, the bundled SPA exposes:
|
|
62
|
+
|
|
63
|
+
- `/orgs` — operator-only organization directory;
|
|
64
|
+
- `/orgs/:orgId` — organization settings;
|
|
65
|
+
- `/orgs/:orgId/members` — organization memberships.
|
|
66
|
+
|
|
67
|
+
`AdminSpaShell` renders `OrgSwitcher` on every admin route. The switcher and
|
|
68
|
+
directory use `/orgs` API routes while generic model CRUD continues under the
|
|
69
|
+
configured `adminApiBasePath`. Org-admins do not receive the directory link.
|
|
70
|
+
The default `/console` mount therefore serves these as `/console/orgs/...`.
|
|
54
71
|
|
|
55
72
|
## AdminSpaServeApp
|
|
56
73
|
|
|
@@ -367,6 +367,8 @@ new LangfuseApp({
|
|
|
367
367
|
| `evaluation.enabled` | — | Register evaluation scoring routes |
|
|
368
368
|
| `cache` | — | Prompt/trace TTL overrides |
|
|
369
369
|
|
|
370
|
+
Client construction failures log a warning and skip the plugin so the API process still listens. Tracing init failures log and leave admin routes mounted. example-backend does not register `LangfuseApp` when `MONGO_DB_NAME` is a PR preview database (`terreno-example-pr-*`). GitHub Actions preview deploys omit Langfuse secrets and use `secrets_update_strategy: overwrite` so a previous revision cannot merge those keys into the preview.
|
|
371
|
+
|
|
370
372
|
Calls `shutdownLangfuseClient()` and `shutdownTracing()` on `SIGTERM`.
|
|
371
373
|
|
|
372
374
|
## Langfuse integration
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# Announcements reference
|
|
2
|
+
|
|
3
|
+
`@terreno/announcements` provides admin-managed in-app product update announcements.
|
|
4
|
+
|
|
5
|
+
## Plugin
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import {AnnouncementsApp} from "@terreno/announcements";
|
|
9
|
+
|
|
10
|
+
new TerrenoApp({ userModel: User })
|
|
11
|
+
.register(new AnnouncementsApp({
|
|
12
|
+
defaultAcknowledgementPolicy: "dismiss-only",
|
|
13
|
+
help: {enabled: true},
|
|
14
|
+
isStaff: (user) => user.admin === true,
|
|
15
|
+
matchAudience: (user, announcement) => true,
|
|
16
|
+
}))
|
|
17
|
+
.start();
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Plugin options
|
|
21
|
+
|
|
22
|
+
| Option | Type | Default | Description |
|
|
23
|
+
|--------|------|---------|-------------|
|
|
24
|
+
| `adminOverviewPermissions` | `PermissionMethod[]` | `IsAdmin` | Access methods for `GET /announcements/overview`; pass the consumer RBAC `adminAnnouncement:read` permission when the admin shell uses RBAC-only users |
|
|
25
|
+
| `basePath` | `string` | `"/announcements"` | Mount path for user and admin routes |
|
|
26
|
+
| `defaultAcknowledgementPolicy` | `"required" \| "dismiss-only"` | `"dismiss-only"` | Fills omitted per-announcement `acknowledgementPolicy` at read time and pre-fills the admin editor |
|
|
27
|
+
| `help.enabled` | `boolean` | `false` | Registers help search/detail routes for MCP and in-app help |
|
|
28
|
+
| `matchAudience` | `(user, announcement) => boolean` | always `true` | Opaque audience JSON filter composed with `audienceType` via `matchAudienceByType` |
|
|
29
|
+
| `isStaff` | `(user) => boolean` | `user.admin === true` | Staff check used by `matchAudienceByType` for `audienceType` |
|
|
30
|
+
| `permissions` | partial CRUD overrides | admin-only | Overrides default `IsAdmin` permissions on announcement CRUD |
|
|
31
|
+
|
|
32
|
+
## Acknowledgement policy
|
|
33
|
+
|
|
34
|
+
Per-announcement `acknowledgementPolicy` controls whether users must acknowledge or may dismiss with an impression only.
|
|
35
|
+
|
|
36
|
+
| Policy | Pending queue advancement | Public DTO `requiresAcknowledgement` |
|
|
37
|
+
|--------|---------------------------|--------------------------------------|
|
|
38
|
+
| `required` | User must POST `/acknowledge` for the current `version` | `true` |
|
|
39
|
+
| `dismiss-only` | User may dismiss; POST `/impression` clears the item | `false` |
|
|
40
|
+
|
|
41
|
+
**Resolution order** (pending, feed, help, public DTO):
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
policy = announcement.acknowledgementPolicy
|
|
45
|
+
?? (legacy requiresAcknowledgement === true ? "required" : undefined)
|
|
46
|
+
?? defaultAcknowledgementPolicy
|
|
47
|
+
?? "dismiss-only"
|
|
48
|
+
requiresAcknowledgement = policy === "required"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Legacy MongoDB documents that still store `requiresAcknowledgement: true` map to `"required"` on read. The boolean field is not part of the schema or admin create/update payloads.
|
|
52
|
+
|
|
53
|
+
## Models
|
|
54
|
+
|
|
55
|
+
- **Announcement** — `title`, `body` (markdown), `status` (`draft` | `published` | `archived`), `version`, `priority`, `displayMode` (`modal` | `banner` | `feed`, default `modal`), `audienceType` (`staff` | `patient` | `all`, default `all`), `acknowledgementPolicy`, optional `minBuildNumber`, `audience` (Mixed), `publishAt`, `expiresAt`, `platforms`, `primaryAction`
|
|
56
|
+
- **AnnouncementAcknowledgement** — per-user acknowledgement at a specific `version`
|
|
57
|
+
- **AnnouncementImpression** — per-view analytics row
|
|
58
|
+
- **AnnouncementClickEvent** — per-click analytics row (`action: "primaryAction"`, `version` at click time, optional `platform`)
|
|
59
|
+
|
|
60
|
+
Legacy MongoDB documents without `displayMode` or `audienceType` behave as `modal` and `all` at read time.
|
|
61
|
+
|
|
62
|
+
### `matchAudienceByType`
|
|
63
|
+
|
|
64
|
+
Exported helper composed with the plugin `matchAudience` callback (both must pass):
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
import {matchAudienceByType} from "@terreno/announcements";
|
|
68
|
+
|
|
69
|
+
matchAudienceByType({
|
|
70
|
+
user,
|
|
71
|
+
announcement,
|
|
72
|
+
isStaff: (candidate) => candidate.admin === true,
|
|
73
|
+
});
|
|
74
|
+
// all → true; staff → isStaff(user); patient → !isStaff(user)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The plugin applies `matchAudienceByType` before `matchAudience`. When `isStaff` is omitted on `AnnouncementsApp`, it defaults to `user.admin === true`.
|
|
78
|
+
|
|
79
|
+
## User routes
|
|
80
|
+
|
|
81
|
+
| Method | Path | Description |
|
|
82
|
+
|--------|------|-------------|
|
|
83
|
+
| GET | `/announcements/pending` | Current interrupt (`modal` or `banner` only) + `remainingCount` (`platform` query: `ios` \| `android` \| `web`; optional `version` build number) |
|
|
84
|
+
| GET | `/announcements/feed` | Paginated published changelog — all display modes (`platform` and optional `version` as above) |
|
|
85
|
+
| POST | `/announcements/:id/acknowledge` | Record acknowledgement (idempotent per version). Same visibility as pending/feed; **404** when not visible. |
|
|
86
|
+
| POST | `/announcements/:id/impression` | Record a view. Same visibility as pending/feed; **404** when not visible. |
|
|
87
|
+
| POST | `/announcements/:id/click` | Record a primary-action click (`{ action: "primaryAction", platform? }`; optional `?version=` for min-build visibility). Returns **404** when not visible (checked before action/CTA validation). **400** when `action` is invalid, `primaryAction` is absent, or an explicit `platform` value is invalid. |
|
|
88
|
+
|
|
89
|
+
`current` and feed items include resolved `requiresAcknowledgement` (boolean) and `displayMode` derived from policy resolution and stored fields above.
|
|
90
|
+
|
|
91
|
+
### Query `version`
|
|
92
|
+
|
|
93
|
+
Optional integer build number on `GET /pending`, `GET /feed`, and help routes. When an announcement has `minBuildNumber` set:
|
|
94
|
+
|
|
95
|
+
- `?version=9` hides the item when `minBuildNumber` is `10`
|
|
96
|
+
- `?version=10` (or higher) shows it
|
|
97
|
+
- omitting `version` does **not** hide gated items
|
|
98
|
+
|
|
99
|
+
`POST /announcements/:id/acknowledge`, `POST /announcements/:id/impression`, and `POST /announcements/:id/click` use the same visibility rules as pending/feed (schedule, expiry, platform, min build, `audienceType`, and `matchAudience`). All three return **404** when the announcement is not visible to the caller, so targeted IDs cannot be confirmed by writing event rows. Click checks visibility before action/CTA validation. Returns **400** when `action` is not `"primaryAction"`, the announcement has no `primaryAction`, or an explicit body `platform` is not `ios` / `android` / `web` (omit `platform` to use query/user-agent resolution). Each click inserts a new row (not idempotent). Acknowledge is idempotent per `(userId, announcementId, version)`.
|
|
100
|
+
|
|
101
|
+
## Admin routes
|
|
102
|
+
|
|
103
|
+
Admin CRUD is on `/announcements` via `modelRouter`. Custom actions:
|
|
104
|
+
|
|
105
|
+
- `GET /announcements/config` — returns `{ data: { defaultAcknowledgementPolicy } }` from the plugin constructor (admin only; defaults to `"dismiss-only"` when omitted). Used to pre-fill the admin editor acknowledgement policy field.
|
|
106
|
+
- `GET /announcements/overview` — paginated admin dashboard with per-announcement metrics and aggregate totals. Access uses `adminOverviewPermissions` (defaults to `IsAdmin`). Query: `page` (default `1`), `limit` (default `20`, max `100`).
|
|
107
|
+
- `POST /announcements/:id/publish` — draft → published
|
|
108
|
+
- `POST /announcements/:id/archive` — published → archived
|
|
109
|
+
|
|
110
|
+
### `GET /announcements/overview`
|
|
111
|
+
|
|
112
|
+
Admin-only list for launch dashboards. Includes **all** lifecycle statuses (`draft`, `published`, `archived`). Soft-deleted announcements and event rows are excluded.
|
|
113
|
+
|
|
114
|
+
**Query**
|
|
115
|
+
|
|
116
|
+
| Param | Default | Max | Description |
|
|
117
|
+
|-------|---------|-----|-------------|
|
|
118
|
+
| `page` | `1` | — | 1-based page index |
|
|
119
|
+
| `limit` | `20` | `100` | Rows per page |
|
|
120
|
+
|
|
121
|
+
**Response** `{ data, totals, page, limit, total, more }`
|
|
122
|
+
|
|
123
|
+
- `data[]` — announcement rows sorted by `priority` desc, then `publishedAt` desc, then `_id` desc (deterministic pagination).
|
|
124
|
+
- Each row: `_id`, `title`, `status`, resolved `displayMode`, resolved `audienceType`, resolved `acknowledgementPolicy`, `priority`, `version`, `publishedAt`, `expiresAt` (ISO strings when set), and `metrics: { impressions, acknowledgements, clicks }`.
|
|
125
|
+
- Per-row metrics count **all event versions** for that announcement (aggregation grouped by `announcementId`, not N+1 queries).
|
|
126
|
+
- `totals` — `announcements`, `published`, `draft`, `archived`, plus global `impressions`, `acknowledgements`, and `clicks` across non-deleted event rows.
|
|
127
|
+
|
|
128
|
+
**Auth:** `401` unauthenticated; `403` when `adminOverviewPermissions` denies access.
|
|
129
|
+
|
|
130
|
+
Read-only admin lists: `/announcement-acknowledgements`, `/announcement-impressions`, `/announcement-click-events`.
|
|
131
|
+
|
|
132
|
+
Terreno RBAC includes `adminAnnouncementAcknowledgement`, `adminAnnouncementImpression`, and `adminAnnouncementClickEvent`. The built-in `admin` role receives read access to these audit models; `superadmin` receives all declared actions.
|
|
133
|
+
|
|
134
|
+
## Help API (optional)
|
|
135
|
+
|
|
136
|
+
When `help.enabled` is true, authenticated users can search product update notes for MCP and in-app help. Draft announcements are never exposed. Results respect `matchAudienceByType`, `matchAudience`, `publishAt` / `expiresAt`, optional `?version=` min-build gating, and the same visibility rules as `/pending`.
|
|
137
|
+
|
|
138
|
+
| Method | Path | Description |
|
|
139
|
+
|--------|------|-------------|
|
|
140
|
+
| GET | `/announcements/help/search` | Search published notes (`q`, `limit`, `includeArchived`) |
|
|
141
|
+
| GET | `/announcements/help/:id` | Full update note by Mongo id (`includeArchived`) |
|
|
142
|
+
|
|
143
|
+
`includeArchived=true` includes `archived` announcements alongside `published`. Omit it (default) to search only published notes.
|
|
144
|
+
|
|
145
|
+
## MCP integration
|
|
146
|
+
|
|
147
|
+
`@terreno/mcp` exposes three optional tools that search bundled `@terreno/*` upgrade markdown and, when configured, announcement help routes on your backend:
|
|
148
|
+
|
|
149
|
+
- `terreno_search_update_notes` — keyword search; returns summaries with ids
|
|
150
|
+
- `terreno_get_update_note` — full note by id (`upgrade:<semver>` or `announcement:<mongoId>`)
|
|
151
|
+
- `terreno_ask_update_help` — natural-language question with ranked matches and full bodies
|
|
152
|
+
|
|
153
|
+
Set these environment variables on the MCP server to include live announcements:
|
|
154
|
+
|
|
155
|
+
| Variable | Description |
|
|
156
|
+
|----------|-------------|
|
|
157
|
+
| `TERRENO_HELP_API_URL` | Backend base URL (e.g. `http://localhost:4000`) |
|
|
158
|
+
| `TERRENO_HELP_API_TOKEN` | Optional Bearer token for authenticated help routes |
|
|
159
|
+
|
|
160
|
+
## Consumer UI
|
|
161
|
+
|
|
162
|
+
`@terreno/ui` exports `AnnouncementNavigator`, `AnnouncementScreen`, `AnnouncementBanner`, `useAnnouncements`, and `useAcknowledgeAnnouncement`. These are app-level product surfaces — they are not registered in the isolated UI component demo. Wire them in a consumer app (`example-frontend`) with a real API.
|
|
163
|
+
|
|
164
|
+
- Pending and feed requests send the current client platform (`ios`, `android`, or `web`) and, when available, the app build number from `Constants.expoConfig.extra.buildNumber` (same source as `useUpgradeCheck`).
|
|
165
|
+
- `requiresAcknowledgement` on pending/feed items is resolved server-side from `acknowledgementPolicy` and `defaultAcknowledgementPolicy`; the navigator trusts that flag.
|
|
166
|
+
- Feed failures do not block the modal queue — only pending errors surface in `AnnouncementNavigator`.
|
|
167
|
+
- Markdown bodies support YouTube and Loom embeds via `MarkdownView`; ordinary links open with `Linking.openURL`.
|
|
168
|
+
|
|
169
|
+
### `useAcknowledgeAnnouncement`
|
|
170
|
+
|
|
171
|
+
Injects RTK Query mutations for acknowledgement, impression, and primary-action click tracking:
|
|
172
|
+
|
|
173
|
+
| Method | Route | Notes |
|
|
174
|
+
|--------|-------|-------|
|
|
175
|
+
| `acknowledge(id)` | `POST /announcements/:id/acknowledge` | Invalidates pending queue. Query includes `platform` and, when available, `version` (same visibility gate as pending/feed). |
|
|
176
|
+
| `recordImpression(id)` | `POST /announcements/:id/impression` | Sends current `platform` in body |
|
|
177
|
+
| `recordClick(id)` | `POST /announcements/:id/click` | Body `{ action: "primaryAction", platform }`; query includes `platform` and, when available, `version` (same visibility gate as pending/feed) |
|
|
178
|
+
|
|
179
|
+
`AnnouncementNavigator` wires `onPrimaryAction` for modal and banner surfaces: it calls `recordClick` once per primary CTA press (only when `primaryAction` is present), then opens the URL with `Linking`. Click POST failures log `console.warn` and do not block navigation. Standalone `AnnouncementScreen` / `AnnouncementBanner` usage without `onPrimaryAction` still opens the URL directly.
|