@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
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Task List: Agent UI Blocks
|
|
2
|
+
|
|
3
|
+
**Status:** Approved 2026-09-15 — ready for Pick (`docs/implementationPlans/agent-ui-blocks.md`). Wire format is whole-reply YAML (D2 = b): no fences anywhere in this list.
|
|
4
|
+
**Supporting skills:** `terreno-ui`, `ai-prompt-governance`, `update-docs`, `verify-ui-changes`, `backend-test-env`, `terreno-backend-api`.
|
|
5
|
+
|
|
6
|
+
Every task is a vertical slice: contract + renderer or producer + docs + Bun tests. Work
|
|
7
|
+
the frontier (blockers complete). Phase 2 chart/table work is additionally blocked on
|
|
8
|
+
[PR #1302](https://github.com/TerrenoLabs/terreno/pull/1302) merging to `master`.
|
|
9
|
+
|
|
10
|
+
### Phase 1: Contract — `@terreno/blocks`
|
|
11
|
+
|
|
12
|
+
- [ ] **Task 1.1**: Package scaffold, Zod schema, parser, structural validation
|
|
13
|
+
- Delivers: `parseBlocks(text)` (strips an optional surrounding ` ```yaml ` fence, YAML or JSON, `NOT_A_DOCUMENT` when not a mapping with `v`), `wrapAsTextDocument(text)`, and `validateBlocks(doc)` reject unknown keys, wrong enums, and wrong top-level key order (`v` → `datasets` → `blocks`, `KEY_ORDER`) with `{path, code, message, fix}`; `v: 1` required; heading/text/metric/badge/divider/context/columns/card blocks and their enums exist.
|
|
14
|
+
- Files: `blocks/package.json`, `blocks/tsconfig.json`, `blocks/biome.jsonc`, `blocks/src/index.ts`, `blocks/src/schema.ts`, `blocks/src/limits.ts`, `blocks/src/errors.ts`, `blocks/src/parse.ts`, `blocks/src/validate.ts`, `blocks/src/fixtures/valid/*.yaml`, `blocks/src/fixtures/invalid/*.yaml`, `blocks/src/*.test.ts`; root `package.json` (workspace + catalog `yaml`), `knip.jsonc`, `.github/workflows/blocks-ci.yml` (mirror `comms-ci.yml`) or a `blocks` job in `packages-ci.yml`, plus `.circleci` parity if `check:circleci-parity` requires it.
|
|
15
|
+
- Blocked by: none
|
|
16
|
+
- Docs: `docs/reference/blocks.md` (new: grammar tables, limits, error codes), `docs/explanation/agent-ui-blocks.md` (new: why a closed catalog, why whole-reply YAML, approaches considered, ownership diagram), `docs/reference/README.md`, `docs/explanation/README.md`.
|
|
17
|
+
- Acceptance: AC1 (golden fixtures for the leaf + layout blocks, including a prose-only `text` document), AC2 for structural codes (`UNKNOWN_KEY`, `INVALID_ENUM`, `MISSING_REQUIRED`, `UNSUPPORTED_VERSION`, `DEPTH_EXCEEDED`, `TOO_MANY_BLOCKS`, `KEY_ORDER`, `NOT_A_DOCUMENT`); YAML anchors/tags rejected (`YAML_FEATURE_DISALLOWED`); `bun test blocks/` green; `bun run check:knip` green.
|
|
18
|
+
|
|
19
|
+
- [ ] **Task 1.2**: Datasets, chart and table schema, semantic lint
|
|
20
|
+
- Delivers: `datasets` map with two sources — `inline` (typed columns + rows) and `ref` (`{source: ref, id, grain?, limit?}`, D4/Q6); `chart` (`kind`, `data`/`x`/`y` or `points`) and `table` blocks; lint pass for dataset refs, column existence/type (inline; `ref` columns checked when a `knownDatasets` map is passed, deferred otherwise), row arity, id uniqueness, D7 limits including `ref` `limit` caps, chart heuristics as warnings.
|
|
21
|
+
- Files: `blocks/src/schema.ts`, `blocks/src/lint.ts`, `blocks/src/validate.ts`, `blocks/src/fixtures/**`, `blocks/src/lint.test.ts`, `blocks/src/validate.perf.test.ts`.
|
|
22
|
+
- Blocked by: 1.1
|
|
23
|
+
- Docs: `docs/reference/blocks.md` (dataset sources + chart + table sections, warning codes).
|
|
24
|
+
- Acceptance: AC2 for semantic codes (`DATASET_NOT_FOUND`, `COLUMN_NOT_FOUND`, `COLUMN_TYPE_MISMATCH`, `ROW_ARITY_MISMATCH`, `DUPLICATE_ID`, `DATASET_TOO_LARGE`, `TABLE_TOO_WIDE`, `TOO_MANY_POINTS`) and warnings (`BAR_TOO_MANY_CATEGORIES`, `DONUT_TOO_MANY_SLICES`, `LINE_SINGLE_POINT`); AC18 (`ref` half); AC3 perf test; doc-code parity test reads `docs/reference/blocks.md` and asserts every code in `BLOCK_ERROR_CODES` appears.
|
|
25
|
+
|
|
26
|
+
- [ ] **Task 1.3**: Actions schema, partial parser, JSON Schema, prompt section, CLI
|
|
27
|
+
- Delivers: `actions` block with `button`/`segmented` elements and closed `action.kind` set (`reply`, `open`, `select`, `callback`); `validateBlocks(doc, {hostActions?, knownDatasets?})` emits `UNKNOWN_HOST_ACTION` when an allowlist is supplied; `parseBlocksPartial(text)` → `{datasets, blocks, pending}` from a truncated document (completed top-level `blocks` items only, each validated individually, never throws); `blocksJsonSchema`; `blocksPromptSection({hostActions})` that embeds the grammar, key-order rule, limits, the reply rule ("your entire reply is one document; no prose outside it; no text before tool calls"), the `ref` dataset rule ("use the `datasetId` a tool returned; never paste more than 500 rows"), and two examples (data + prose-only); `terreno-blocks validate` CLI bin.
|
|
28
|
+
- Files: `blocks/src/schema.ts`, `blocks/src/parsePartial.ts`, `blocks/src/jsonSchema.ts`, `blocks/src/prompt.ts`, `blocks/src/cli.ts`, `blocks/package.json` (`bin`), `blocks/src/fixtures/partial/*.yaml`, tests.
|
|
29
|
+
- Blocked by: 1.2
|
|
30
|
+
- Docs: `docs/reference/blocks.md` (actions, partial parsing, CLI), `docs/how-to/agent-ui-blocks.md` (new: "validate a document locally" section only).
|
|
31
|
+
- Acceptance: AC4 (ajv round-trip on fixtures); AC20 (`parsePartial` half: truncated fixtures cut mid-block, mid-dataset, and mid-scalar); `select` with a non-chart/table target → `SELECT_TARGET_INVALID`; CLI exit codes 0/1 asserted via `Bun.spawn`; prompt section snapshot test asserts limits text equals `BLOCK_LIMITS` values (single source of truth).
|
|
32
|
+
|
|
33
|
+
### Phase 2: Renderer — `@terreno/ui`
|
|
34
|
+
|
|
35
|
+
- [ ] **Task 2.1**: `BlocksView` for leaf and layout blocks, error and placeholder states
|
|
36
|
+
- Delivers: `BlocksView` (lazy via `heavyOptionalExports`) renders heading/text/metric/badge/divider/context/columns/card with `@terreno/ui` components; string input is validated; invalid → `Banner` + collapsed raw YAML; non-document string → `wrapAsTextDocument` fallback; `columns` stacks on `sm`.
|
|
37
|
+
- Files: `ui/package.json` (`@terreno/blocks` dep), `ui/src/blocks/BlocksView.tsx`, `ui/src/blocks/blockRenderers.tsx`, `ui/src/blocks/BlocksError.tsx`, `ui/src/Common.ts` (`BlocksViewProps`), `ui/src/lazyBoundaries/heavyOptionalExports.tsx`, `ui/src/index.tsx`, `ui/src/blocks/BlocksView.test.tsx`, `demo/stories/BlocksView.stories.tsx`, `demo/story-config/BlocksView.config.tsx`, `demo/demoConfig.tsx`.
|
|
38
|
+
- Blocked by: 1.1
|
|
39
|
+
- Docs: `docs/reference/ui.md` (`BlocksView` section), `docs/explanation/agent-ui-blocks.md` (renderer ownership).
|
|
40
|
+
- Acceptance: AC5 for the covered blocks (plus an `rg` guard test that `ui/src/blocks/` imports no `react-native` `View`/`Text`); AC6 (both halves); `bun run check:demo-coverage` green; screenshot of the story saved under `/opt/cursor/artifacts/`.
|
|
41
|
+
|
|
42
|
+
- [ ] **Task 2.2**: Chart and table blocks bound to datasets
|
|
43
|
+
- Delivers: `chart` renders `BarChart`/`LineChart`/`AreaChart`/`DonutChart` inside a `Card` with title, legend, `emptyText`, `height` map (`sm`/`md`/`lg` → px); `table` renders `DataTable` with typed columns (paginated via `more` for `ref` sources); `ref` datasets resolve through the `resolveDataset` prop (`useResolvedDatasets` hook: `loading` state on the chart, error `Banner` on failure, request de-duplicated per `{id, grain, limit, page}`); per-point `color` is not exposed to the agent.
|
|
44
|
+
- Files: `ui/src/blocks/blockRenderers.tsx`, `ui/src/blocks/datasetToPoints.ts`, `ui/src/blocks/useResolvedDatasets.ts`, tests, `demo/stories/BlocksView.stories.tsx` (chart presets incl. a mocked `ref` preset).
|
|
45
|
+
- Blocked by: 1.2, 2.1, PR #1302 merged
|
|
46
|
+
- Docs: `docs/reference/ui.md`, `docs/how-to/charts-and-dashboards.md` (one paragraph: "charts from agent replies").
|
|
47
|
+
- Acceptance: AC5 for chart/table; `datasetToPoints` unit tests (date columns formatted with Luxon, numeric parse, empty dataset → `emptyText`); `useResolvedDatasets` tests (loading → data, rejection → banner, no duplicate fetch); screenshot of bar + donut from one dataset.
|
|
48
|
+
|
|
49
|
+
- [ ] **Task 2.3**: Actions, `onAction`, segmented dataset switch
|
|
50
|
+
- Delivers: `actions` renders `Button` / `SegmentedControl`; every press calls `onAction({blockId, elementId, messageId, action})`; `select` updates local dataset binding of the target block and still reports; `hostActions` allowlist marks unknown `callback` names as disabled with tooltip; `callback` buttons show `loading` while their id is in `pendingElementIds`; `BlocksView` accepts `overrides: Record<blockId, BlocksDocument>` so a host can replace one block in place (D6 `replace: block`).
|
|
51
|
+
- Files: `ui/src/blocks/BlocksView.tsx`, `ui/src/blocks/useBlockSelections.ts`, `ui/src/Common.ts`, tests, story additions.
|
|
52
|
+
- Blocked by: 1.3, 2.2
|
|
53
|
+
- Docs: `docs/reference/ui.md` (`onAction` payload table, `pendingElementIds`, `overrides`), `docs/explanation/agent-ui-blocks.md` (interaction flow incl. server callbacks).
|
|
54
|
+
- Acceptance: AC8; `onAction` payload snapshot per kind; disabled unknown callback asserted; AC19 (`BlocksView` half: loading + block override).
|
|
55
|
+
|
|
56
|
+
- [ ] **Task 2.4**: `GPTChat` `uiBlocks` mode, progressive render, Blocks Playground
|
|
57
|
+
- Delivers: `GPTChat` prop `uiBlocks?: boolean`; when on, assistant messages render through `BlocksView` instead of `MarkdownView` — streaming messages use `parseBlocksPartial` and show completed top-level blocks plus a `Spinner` tail row, completed messages use `parseBlocks` with `wrapAsTextDocument` fallback; forwards `reply` to `onSubmit`, `open`/`select` to `onBlockAction`, and `callback` to `onBlockCallback?: (action) => Promise<{text?, blocks?, replace?}>` — tracking pending element ids, applying `replace: block` via `overrides`, `replace: message` by swapping the message body, and `text` by appending an assistant message; passes `resolveDataset` through; user messages and tool-call cards unchanged; demo Blocks Playground (YAML `TextArea` → live render + error list, fixture presets, "simulate streaming" toggle that feeds the document in 40-char steps).
|
|
58
|
+
- Files: `ui/src/GPTChat.tsx`, `ui/src/GPTChat.test.tsx`, `ui/src/Common.ts`, `demo/stories/BlocksPlayground.stories.tsx`, `demo/story-config/BlocksPlayground.config.tsx`, `demo/demoConfig.tsx`.
|
|
59
|
+
- Blocked by: 2.3
|
|
60
|
+
- Docs: `docs/reference/ui.md` (`GPTChat.uiBlocks`, `onBlockAction`, `onBlockCallback`, `resolveDataset`), `docs/how-to/agent-ui-blocks.md` (playground section).
|
|
61
|
+
- Acceptance: AC7; AC19 (`GPTChat` half); AC20 (`GPTChat` half: a streaming message cut mid-block renders the preceding blocks and a `Spinner`, never raw YAML); `uiBlocks` off → existing `MarkdownView` path untouched (regression test); playground recording saved under `/opt/cursor/artifacts/`.
|
|
62
|
+
|
|
63
|
+
### Phase 3: Producer — `@terreno/ai`
|
|
64
|
+
|
|
65
|
+
- [ ] **Task 3.1**: `uiBlocks` route option, prompt constant, post-stream validation SSE, repair pass
|
|
66
|
+
- Delivers: `addGptRoutes(router, {uiBlocks: true | UiBlocksOptions})` appends `TERRENO_UI_BLOCKS_SYSTEM_PROMPT` (built from `blocksPromptSection` + host callback names) and pins the blocks temperature preset; the **final step's** `text-delta`s form the document (earlier-step text is logged, not stored as the message); after the stream ends the document is validated with `{hostActions: Object.keys(...), knownDatasets}` and SSE `{blocks: {ok, errors, warnings}}` is emitted before `{done}`; with `repair: true` and `ok: false`, one non-streamed repair call (errors appended) replaces the stored assistant `content` and streams a `{replace: text}` SSE event before `{done}`; validation errors are appended to the stored assistant turn as a system note so the next user turn's context includes them; `AIRequest.metadata.uiBlocks` summary logged.
|
|
67
|
+
- Files: `ai/package.json` (`@terreno/blocks` dep), `ai/src/service/prompts.ts`, `ai/src/routes/gpt.ts`, `ai/src/types/index.ts` (`HostAction`, `UiBlocksOptions`), `ai/src/routes/gpt.test.ts`.
|
|
68
|
+
- Blocked by: 1.3
|
|
69
|
+
- Docs: `docs/reference/ai.md` (option + SSE event rows), `docs/how-to/agent-ui-blocks.md` (backend enable section, repair trade-off).
|
|
70
|
+
- Acceptance: AC9 with a mock model that streams a valid document, an invalid document, and a prose-only non-document; AC18 (`UNKNOWN_HOST_ACTION` half); prompt constant lives at the top of `prompts.ts` (ai-prompt-governance); no SSE `blocks` event and no prompt change when `uiBlocks` is off (regression test).
|
|
71
|
+
|
|
72
|
+
- [ ] **Task 3.4**: `AIDataset` model, `registerAiDataset`, `GET /gpt/datasets/:id`
|
|
73
|
+
- Delivers: `AIDataset` Mongoose model (D18: `expiresAt?` with `{expiresAt: 1}, {expireAfterSeconds: 0}` index, `isDeletedPlugin`, descriptions on every field); `configureAiDatasets({datasetTtlDays = 0, datasetMaxRows = 50_000})` called by `addGptRoutes`; `registerAiDataset({userId, historyId, columns, rows})` sets `expiresAt` only when `datasetTtlDays > 0`, rejects over-cap rows with `APIError 413`, and returns `{datasetId, columns, rowCount, preview, stats}` for tool results; `GET /gpt/datasets/:id?grain=&limit=&page=` (`IsOwner`) buckets `date` columns by `grain`, downsamples line/area with LTTB when rows exceed `limit`, paginates tables with `more`; mounted by `addGptRoutes` when `uiBlocks` is on.
|
|
74
|
+
- Files: `ai/src/models/aiDataset.ts`, `ai/src/service/aiDatasets.ts` (`configureAiDatasets`, `registerAiDataset`, `bucketByGrain`, `lttb`), `ai/src/routes/gptDatasets.ts`, `ai/src/routes/gpt.ts` (mount), `ai/src/types/index.ts`, `ai/src/index.ts`, `ai/src/service/aiDatasets.test.ts`, `ai/src/routes/gptDatasets.test.ts`.
|
|
75
|
+
- Blocked by: 1.2
|
|
76
|
+
- Docs: `docs/reference/ai.md` (model + route + helper + options rows), `docs/explanation/agent-ui-blocks.md` ("why rows never pass through the model"; retention defaults to unlimited), `docs/how-to/agent-ui-blocks.md` ("return a dataset from a tool", "set a retention window").
|
|
77
|
+
- Acceptance: AC16 (including the `datasetTtlDays` 0 vs 7 assertion); `lttb` property test (output length ≤ `limit`, first/last points preserved); mongoose-schema-safety checklist applied (new model, additive only).
|
|
78
|
+
|
|
79
|
+
- [ ] **Task 3.5**: `POST /gpt/actions` host callback route
|
|
80
|
+
- Delivers: `POST /gpt/actions` (D19) validates `{historyId, messageId, blockId, elementId, name, payload}`, looks up `hostActions[name]`, validates `payload` against its Zod schema, checks history ownership, runs `handler({payload, user, history, blockId, elementId})` with a 10 s timeout, validates any returned `blocks` with `validateBlocks`, returns `{text?, blocks?, replace?}`, logs `AIRequest` `requestType: "ui_action"`; shares the `/gpt` rate-limit bucket.
|
|
81
|
+
- Files: `ai/src/routes/gptActions.ts`, `ai/src/routes/gpt.ts` (mount), `ai/src/types/index.ts`, `ai/src/routes/gptActions.test.ts`, `ai/src/models/aiRequest.ts` (`requestType` enum additions).
|
|
82
|
+
- Blocked by: 3.1
|
|
83
|
+
- Docs: `docs/reference/ai.md` (route row + `HostAction` type), `docs/how-to/agent-ui-blocks.md` ("register a server callback"), `docs/explanation/agent-ui-blocks.md` (Block Kit `block_actions` comparison table).
|
|
84
|
+
- Acceptance: AC17; handler timeout returns 504 and is logged; returned invalid `blocks` → 500 with error list (host bug, not agent bug).
|
|
85
|
+
|
|
86
|
+
- [ ] **Task 3.2**: `AIService.generateBlocks` with bounded repair
|
|
87
|
+
- Delivers: `generateBlocks({prompt, systemPrompt?, userId?, repair?})` → `Output.object(blocksJsonSchema)` → `validateBlocks`; one repair retry on failure with errors appended to the prompt; `requestType: "ui_blocks"`; throws `APIError 422` with the error list after the retry fails.
|
|
88
|
+
- Files: `ai/src/service/aiService.ts`, `ai/src/types/index.ts`, `ai/src/service/aiService.test.ts`.
|
|
89
|
+
- Blocked by: 3.1
|
|
90
|
+
- Docs: `docs/reference/ai.md` (method table row + temperature preset note).
|
|
91
|
+
- Acceptance: AC10; deterministic temperature asserted; logged `metadata.errorCodes` on failure.
|
|
92
|
+
|
|
93
|
+
- [ ] **Task 3.3**: MCP validator tool
|
|
94
|
+
- Delivers: `terreno_validate_ui_blocks({document})` returns the CLI report text; listed in `ListTools`.
|
|
95
|
+
- Files: `mcp-server/package.json` (`@terreno/blocks` dep), `mcp-server/src/tools.ts`, `mcp-server/src/tools.test.ts`.
|
|
96
|
+
- Blocked by: 1.3
|
|
97
|
+
- Docs: `docs/reference/mcp-server.md` (tool row), `.cursor/rules/mcp-server/00-mcp-server.mdc` via rulesync source `.rulesync/rules/mcp-server/00-mcp-server.md`.
|
|
98
|
+
- Acceptance: AC11; tool schema snapshot.
|
|
99
|
+
|
|
100
|
+
### Phase 4: Examples, e2e, docs
|
|
101
|
+
|
|
102
|
+
- [ ] **Task 4.1**: example-frontend AI tab renders blocks and handles actions
|
|
103
|
+
- Delivers: `ai.tsx` handles SSE `blocks` event (attaches validation summary to the message for a subtle "n components" caption), passes `onBlockAction` (`open` → `router.push` for `/…` routes or `Linking.openURL` for https), `onBlockCallback` → generated `usePostGptActionsMutation`, `resolveDataset` → generated `useLazyGetGptDatasetsByIdQuery` (SDK regenerated via `bun run sdk`), `reply` flows through existing `onSubmit`; `GPTChat uiBlocks` on; e2e mock streams a whole-reply document (in chunks, to exercise progressive render) with one inline and one `ref` dataset and serves the dataset + action routes.
|
|
104
|
+
- Files: `example-frontend/app/(tabs)/ai.tsx`, `example-frontend/store/openApiSdk.ts` (generated), `example-frontend/e2e/helpers/mockGpt.ts`, `example-frontend/e2e/ai-chat.spec.ts`.
|
|
105
|
+
- Blocked by: 2.4, 3.1, 3.4, 3.5
|
|
106
|
+
- Docs: `docs/how-to/agent-ui-blocks.md` (frontend wiring section), `docs/explanation/example-coverage.md` (capability row).
|
|
107
|
+
- Acceptance: AC13; recording of prompt → bar chart (from `ref`) → callback button loading → block replaced → follow-up `reply` button → new user message, saved under `/opt/cursor/artifacts/`.
|
|
108
|
+
|
|
109
|
+
- [ ] **Task 4.2**: example-backend enable, changelog, docs sweep
|
|
110
|
+
- Delivers: `example-backend` passes `uiBlocks: {hostActions: {exportDataset: {payload, handler}}, repair: true}` (TTL left at the unlimited default) with a handler that returns `{replace: "block", blocks}`; a `todoStats` tool calls `registerAiDataset` so a real prompt produces a `ref` chart; changelog entry; all reference/how-to/explanation pages cross-linked; rules regenerated.
|
|
111
|
+
- Files: `example-backend/src/server.ts`, `example-backend/src/ai/hostActions.ts`, `example-backend/src/ai/tools.ts`, `changelog/unreleased/agent-ui-blocks.md`, `docs/how-to/README.md`, `docs/reference/README.md`, `docs/explanation/README.md`, `.rulesync/rules/ui/00-ui.md` (BlocksView bullet) → `bun run rules`.
|
|
112
|
+
- Blocked by: 4.1, 3.2, 3.3
|
|
113
|
+
- Docs: as listed.
|
|
114
|
+
- Acceptance: AC14, AC15; `bun run website:build` green; `bun run rules:check` green.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Task List: Announcement Surfaces, Targeting, and Click Tracking
|
|
2
|
+
|
|
3
|
+
**Status:** Complete — Phase 4 verified; Taste in progress
|
|
4
|
+
**IP:** `docs/implementationPlans/announcements-surfaces.md`
|
|
5
|
+
**Parent IP:** `docs/implementationPlans/announcements.md`
|
|
6
|
+
**Created:** 2026-09-15
|
|
7
|
+
**Feature profile:** false
|
|
8
|
+
|
|
9
|
+
Supporting skills for every task: `mongoose-schema-safety` (schema/model work), `terreno-backend-api`, `terreno-ui`, `terreno-data-fetching`, `update-docs`, `verify-ui-changes` (tasks that touch `@terreno/ui` / example-frontend).
|
|
10
|
+
|
|
11
|
+
## Phase 1: Backend contracts
|
|
12
|
+
|
|
13
|
+
- [x] **Task 1.1**: Acknowledgement policy + plugin default
|
|
14
|
+
- Delivers: Per-announcement `acknowledgementPolicy` with consumer `defaultAcknowledgementPolicy`; `acknowledgementMode` and `requiresAcknowledgement` removed from schema/options; public DTO still exposes resolved `requiresAcknowledgement`
|
|
15
|
+
- Files: `announcements/src/models/announcement.ts`, `announcements/src/types.ts`, `announcements/src/pending.ts`, `announcements/src/announcementsApp.ts`, `announcements/src/tests/*.test.ts`, `example-backend/src/server.ts`
|
|
16
|
+
- Docs: `docs/reference/announcements.md` (plugin options + policy table)
|
|
17
|
+
- Blocked by: none
|
|
18
|
+
- Acceptance: Unit tests cover required / dismiss-only / omitted-field+default / leftover boolean `true` → required. Plugin option `acknowledgementMode` no longer compiles. `GET /pending` `current.requiresAcknowledgement` matches resolution. `bun test announcements/src/tests`
|
|
19
|
+
|
|
20
|
+
- [x] **Task 1.2**: Display mode, audience type, min build filters
|
|
21
|
+
- Delivers: `displayMode`, `audienceType`, `minBuildNumber` on `Announcement`; pending is interrupt-only; feed/help honor min build + audience callback; exported `matchAudienceByType`
|
|
22
|
+
- Files: `announcements/src/models/announcement.ts`, `announcements/src/types.ts`, `announcements/src/pending.ts`, `announcements/src/help.ts`, `announcements/src/announcementsApp.ts`, `announcements/src/index.ts`, `announcements/src/tests/pending.test.ts`, `announcements/src/tests/announcementsApp.test.ts`, `announcements/src/tests/help.test.ts`
|
|
23
|
+
- Docs: `docs/reference/announcements.md` (fields + query `version`)
|
|
24
|
+
- Blocked by: 1.1
|
|
25
|
+
- Acceptance: Pending omits `displayMode: "feed"`. Feed includes feed-only. `minBuildNumber: 10` hidden when `?version=9`, visible when `?version=10` or when `version` omitted. `matchAudienceByType` matrix: all/staff/patient. Schema field `description`s present. Missing new fields on old docs default modal + all.
|
|
26
|
+
|
|
27
|
+
- [x] **Task 1.3**: CTA click events
|
|
28
|
+
- Delivers: `AnnouncementClickEvent` model, `POST /announcements/:id/click`, admin list/read
|
|
29
|
+
- Files: `announcements/src/models/announcementClickEvent.ts`, `announcements/src/types.ts`, `announcements/src/announcementsApp.ts`, `announcements/src/tests/announcementsApp.test.ts`
|
|
30
|
+
- Docs: `docs/reference/announcements.md` (click route + model)
|
|
31
|
+
- Blocked by: 1.2
|
|
32
|
+
- Acceptance: Authenticated POST `{action:"primaryAction"}` inserts a row with version + optional platform. Repeat clicks insert another row. 400 on missing primaryAction or unknown action. 404 when announcement not visible. Admin GET lists events. Unique index not required.
|
|
33
|
+
|
|
34
|
+
- [x] **Task 1.4**: Admin config endpoint
|
|
35
|
+
- Delivers: `GET /announcements/config` returns the plugin `defaultAcknowledgementPolicy`
|
|
36
|
+
- Files: `announcements/src/announcementsApp.ts`, `announcements/src/tests/announcementsApp.test.ts`
|
|
37
|
+
- Docs: `docs/reference/announcements.md`
|
|
38
|
+
- Blocked by: 1.1
|
|
39
|
+
- Acceptance: Admin 200 `{ data: { defaultAcknowledgementPolicy } }`. Non-admin 403. Default in response is `"dismiss-only"` when the constructor omits the option.
|
|
40
|
+
|
|
41
|
+
## Phase 2: Consumer UI
|
|
42
|
+
|
|
43
|
+
- [x] **Task 2.1**: Banner surface + version query
|
|
44
|
+
- Delivers: `AnnouncementBanner`; navigator blocks only for `modal`; banner overlays children; pending/feed requests send build `version`
|
|
45
|
+
- Files: `ui/src/AnnouncementBanner.tsx`, `ui/src/AnnouncementBanner.test.tsx`, `ui/src/AnnouncementNavigator.tsx`, `ui/src/AnnouncementNavigator.test.tsx`, `ui/src/useAnnouncements.ts`, `ui/src/useAnnouncements.test.ts` (if present), `ui/src/index.tsx`
|
|
46
|
+
- Docs: `docs/how-to/product-announcements.md` (modal vs banner)
|
|
47
|
+
- Blocked by: 1.2
|
|
48
|
+
- Acceptance: Tests: empty queue renders children; modal hides children; banner keeps children and shows `AnnouncementBanner`. Query string includes `platform` and `version` when build number is a finite integer. Public type includes `displayMode`. Feed-only items never appear as `pending.current` (server contract; navigator still ignores unexpected `feed`).
|
|
49
|
+
|
|
50
|
+
- [x] **Task 2.2**: Client frequency caps
|
|
51
|
+
- Delivers: Session max, cooldown, skip-first-launch applied to interrupts before show
|
|
52
|
+
- Files: `ui/src/announcementFrequency.ts`, `ui/src/announcementFrequency.test.ts`, `ui/src/AnnouncementNavigator.tsx`, `ui/src/AnnouncementNavigator.test.tsx`
|
|
53
|
+
- Docs: `docs/how-to/product-announcements.md` (frequency props)
|
|
54
|
+
- Blocked by: 2.1
|
|
55
|
+
- Acceptance: With `maxInterruptionsPerSession: 1`, second pending item this session is not shown until remount of a new session helper. `skipFirstLaunch: true` skips on first launch then stores launched flag. `cooldownHours` skips when last interrupt is inside the window. Defaults: max 1 / session, cooldown off, skipFirstLaunch false. Caps do not filter `useAnnouncements` feed.
|
|
56
|
+
|
|
57
|
+
- [x] **Task 2.3**: Primary-action click tracking
|
|
58
|
+
- Delivers: Modal and banner primary buttons call `POST /announcements/:id/click` then open the URL
|
|
59
|
+
- Files: `ui/src/useAcknowledgeAnnouncement.ts`, `ui/src/AnnouncementScreen.tsx`, `ui/src/AnnouncementScreen.test.tsx`, `ui/src/AnnouncementBanner.tsx`, `ui/src/AnnouncementBanner.test.tsx`
|
|
60
|
+
- Docs: `docs/reference/announcements.md` (consumer hook)
|
|
61
|
+
- Blocked by: 1.3, 2.1
|
|
62
|
+
- Acceptance: Click mutation fires once per press. URL still opens if click POST fails (warn log, do not block navigation). No click POST when `primaryAction` is absent.
|
|
63
|
+
|
|
64
|
+
## Phase 3: Admin, example, docs
|
|
65
|
+
|
|
66
|
+
- [x] **Task 3.1**: Admin editor structured targeting
|
|
67
|
+
- Delivers: Selects for displayMode, audienceType, acknowledgementPolicy (from config), number field for minBuildNumber; list columns; audience JSON remains advanced
|
|
68
|
+
- Files: `admin-frontend/src/AnnouncementEditor.tsx`, `admin-frontend/src/AnnouncementEditor.test.tsx`, `admin-frontend/src/AnnouncementList.tsx`
|
|
69
|
+
- Docs: `docs/how-to/product-announcements.md` (admin fields)
|
|
70
|
+
- Blocked by: 1.2, 1.4
|
|
71
|
+
- Acceptance: Create form pre-fills policy from config. Save persists new fields (no `requiresAcknowledgement`). Tests cover create payload shape and edit omitting status (existing editor rule).
|
|
72
|
+
|
|
73
|
+
- [x] **Task 3.2**: Example app + architecture docs
|
|
74
|
+
- Delivers: Example backend `defaultAcknowledgementPolicy` + `matchAudienceByType` using `user.admin`; seeds one staff modal (required) and one patient banner (dismiss-only); example-frontend navigator frequency documented; parent IP pointer accurate
|
|
75
|
+
- Files: `example-backend/src/server.ts`, `example-backend/src/scripts/seed-announcements.ts` (and any seed caller), `example-frontend` layout using `AnnouncementNavigator`, `docs/reference/announcements.md`, `docs/how-to/product-announcements.md`, `docs/implementationPlans/announcements.md`, `announcements/README.md`
|
|
76
|
+
- Docs: listed files — Diátaxis in place, one minimal wiring example
|
|
77
|
+
- Blocked by: 2.2, 2.3, 3.1
|
|
78
|
+
- Acceptance: Seed idempotent. Docs tables match shipped options (no `acknowledgementMode`). How-to shows Flourish-style staff vs patient. `bun run website:build` if docs pages changed. Frontend verification: log in to example app, confirm modal vs banner per seed, capture artifacts under `/opt/cursor/artifacts/`.
|
|
79
|
+
|
|
80
|
+
## Phase 4: Admin launch overview
|
|
81
|
+
|
|
82
|
+
- [x] **Task 4.1**: Overview API
|
|
83
|
+
- Delivers: Admin-only `GET /announcements/overview?page=&limit=` with aggregate per-row metrics (impressions, acknowledgements, clicks across all event versions), status/total summaries, deterministic pagination, OpenAPI response schema, integration tests (metrics, totals, pagination, empty state, 401/403)
|
|
84
|
+
- Files: `announcements/src/overview.ts`, `announcements/src/types.ts`, `announcements/src/announcementsApp.ts`, `announcements/src/index.ts`, `announcements/src/tests/overview.test.ts`
|
|
85
|
+
- Docs: `docs/reference/announcements.md` (overview route + response shape)
|
|
86
|
+
- Blocked by: Phase 3
|
|
87
|
+
- Acceptance: Admin 200 with exact row metrics and totals; non-admin 403; unauth 401; deleted docs excluded; default limit 20 cap 100; `bun test announcements/src/tests/overview.test.ts`
|
|
88
|
+
|
|
89
|
+
- [x] **Task 4.2**: Admin overview UI
|
|
90
|
+
- Delivers: `@terreno/admin-frontend` overview screen with summary cards and metrics table backed by generated SDK hook for `/announcements/overview`
|
|
91
|
+
- Files: `admin-frontend/src/AnnouncementOverview.tsx`, tests, `admin-frontend/src/index.tsx`
|
|
92
|
+
- Docs: `docs/how-to/product-announcements.md` (admin overview)
|
|
93
|
+
- Blocked by: 4.1
|
|
94
|
+
- Acceptance: Admin can open overview, see totals cards and paginated rows with metrics; frontend verification artifacts captured
|
|
95
|
+
|
|
96
|
+
- [x] **Task 4.3**: Nav and media wiring
|
|
97
|
+
- Delivers: Grouped Announcements nav with overview + audit models; example-frontend admin route; launch seed with markdown, YouTube, screenshots, and tracked CTA
|
|
98
|
+
- Files: `announcements/src/announcementsApp.ts` (`adminContribution`), `admin-frontend/src/AdminShell.tsx`, `example-frontend/app/admin/announcements/`, `example-backend/src/scripts/seed-announcements.ts`, `website/static/img/announcements/`
|
|
99
|
+
- Docs: `docs/how-to/product-announcements.md`
|
|
100
|
+
- Blocked by: 4.2
|
|
101
|
+
- Acceptance: Overview reachable from the Announcements sidebar group in the example app; related audit pages share that group; seeded staff modal renders markdown with YouTube and screenshot media
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Task List: Product Update Announcements
|
|
2
|
+
|
|
3
|
+
**Status:** In progress — tracer bullet implemented
|
|
4
|
+
**IP:** `docs/implementationPlans/announcements.md`
|
|
5
|
+
**Created:** 2026-09-08
|
|
6
|
+
|
|
7
|
+
**Follow-up tasks (same PR):** [`docs/tasks/announcements-surfaces.md`](announcements-surfaces.md)
|
|
8
|
+
|
|
9
|
+
Structured task breakdown for automated implementation. Each task should be independently implementable and testable.
|
|
10
|
+
|
|
11
|
+
## Phase 1: `@terreno/announcements` package + API
|
|
12
|
+
|
|
13
|
+
- [x] **Task 1.1**: Scaffold `announcements/` workspace package
|
|
14
|
+
- Description: Add `announcements/package.json` (`@terreno/announcements`), `tsconfig.json`, `biome.jsonc`, `src/index.ts`. Register in root `package.json` workspaces and add `announcements:compile` / `announcements:test` scripts.
|
|
15
|
+
- Files: `announcements/package.json`, `announcements/tsconfig.json`, `announcements/src/index.ts`, root `package.json`
|
|
16
|
+
- Depends on: none
|
|
17
|
+
- Acceptance: `bun run announcements:compile` succeeds; package importable from workspace
|
|
18
|
+
|
|
19
|
+
- [x] **Task 1.2**: `Announcement` Mongoose model
|
|
20
|
+
- Description: Schema with all fields from IP (`title`, `body`, `status`, `version`, `priority`, `requiresAcknowledgement`, `audience`, `publishAt`, `expiresAt`, `platforms`, `primaryAction`, `publishedAt`, `archivedAt`). Indexes, plugins (`createdUpdated`, `isDeleted`, `findExactlyOne`), TypeScript document interface. Pre-save hook: when `status === "published"` and `title` or `body` modified, increment `version`.
|
|
21
|
+
- Files: `announcements/src/models/announcement.ts`, `announcements/src/types.ts`
|
|
22
|
+
- Depends on: 1.1
|
|
23
|
+
- Acceptance: Model validates enums, version bump hook covered by unit test
|
|
24
|
+
|
|
25
|
+
- [x] **Task 1.3**: `AnnouncementAcknowledgement` and `AnnouncementImpression` models
|
|
26
|
+
- Description: Schemas per IP. Compound unique index on ack `(userId, announcementId, version)`. Impression index on `(announcementId, viewedAt)`.
|
|
27
|
+
- Files: `announcements/src/models/announcementAcknowledgement.ts`, `announcements/src/models/announcementImpression.ts`
|
|
28
|
+
- Depends on: 1.1
|
|
29
|
+
- Acceptance: Models importable; indexes defined
|
|
30
|
+
|
|
31
|
+
- [x] **Task 1.4**: `AnnouncementsApp` plugin skeleton
|
|
32
|
+
- Description: Class implementing `TerrenoPlugin`. Constructor accepts `AnnouncementsOptions` (`basePath`, `matchAudience`, `acknowledgementMode`, `permissions`). `register()` mounts router; `adminContribution()` registers admin models and custom editor routes.
|
|
33
|
+
- Files: `announcements/src/announcementsApp.ts`
|
|
34
|
+
- Depends on: 1.2, 1.3
|
|
35
|
+
- Acceptance: Plugin registers with `TerrenoApp` in a smoke test
|
|
36
|
+
|
|
37
|
+
- [x] **Task 1.5**: Announcement admin CRUD via modelRouter
|
|
38
|
+
- Description: `modelRouter(Announcement)` at `/announcements` with IsAdmin permissions, queryFields (`status`, `priority`, `title`), default sort `-priority,-publishedAt`. OpenAPI via `createOpenApiBuilder`.
|
|
39
|
+
- Files: `announcements/src/announcementsApp.ts`
|
|
40
|
+
- Depends on: 1.4
|
|
41
|
+
- Acceptance: CRUD endpoints work; admin-only enforced
|
|
42
|
+
|
|
43
|
+
- [x] **Task 1.6**: `POST /announcements/:id/publish` and `POST /announcements/:id/archive`
|
|
44
|
+
- Description: Custom admin routes. Publish: only from `draft` (or re-publish rules documented), set `publishedAt`, honor `publishAt` scheduling. Archive: only from `published`, set `archivedAt`.
|
|
45
|
+
- Files: `announcements/src/announcementsApp.ts`
|
|
46
|
+
- Depends on: 1.5
|
|
47
|
+
- Acceptance: Status transitions validated; 400 on invalid transitions
|
|
48
|
+
|
|
49
|
+
- [x] **Task 1.7**: `GET /announcements/pending`
|
|
50
|
+
- Description: Filter published, in schedule window, platform match (from `User-Agent` or `?platform=` query), `matchAudience` callback, acknowledgement rules per `acknowledgementMode`. Sort by priority desc, publishedAt desc. Return `{ data: { current, remainingCount } }`.
|
|
51
|
+
- Files: `announcements/src/announcementsApp.ts`, `announcements/src/pending.ts` (pure filter helper for tests)
|
|
52
|
+
- Depends on: 1.4
|
|
53
|
+
- Acceptance: Unit tests for filter matrix; integration test with supertest
|
|
54
|
+
|
|
55
|
+
- [x] **Task 1.8**: `GET /announcements/feed`
|
|
56
|
+
- Description: Paginated list of published announcements (same visibility filters as pending except acknowledgement). Support `limit` + `page` or cursor.
|
|
57
|
+
- Files: `announcements/src/announcementsApp.ts`
|
|
58
|
+
- Depends on: 1.7
|
|
59
|
+
- Acceptance: Returns only visible announcements; pagination works
|
|
60
|
+
|
|
61
|
+
- [x] **Task 1.9**: `POST /announcements/:id/acknowledge` and `POST /announcements/:id/impression`
|
|
62
|
+
- Description: Ack: create acknowledgement for current announcement version (idempotent). Impression: create impression row with optional platform in body.
|
|
63
|
+
- Files: `announcements/src/announcementsApp.ts`
|
|
64
|
+
- Depends on: 1.4
|
|
65
|
+
- Acceptance: Duplicate ack same version returns 200 without duplicate row; impression creates row
|
|
66
|
+
|
|
67
|
+
- [x] **Task 1.10**: Acknowledgement + impression admin read routes
|
|
68
|
+
- Description: modelRouter read-only list/read for admin on both models with populatePaths for `announcementId` and `userId`.
|
|
69
|
+
- Files: `announcements/src/announcementsApp.ts`
|
|
70
|
+
- Depends on: 1.3
|
|
71
|
+
- Acceptance: Admin can list acks and impressions
|
|
72
|
+
|
|
73
|
+
- [x] **Task 1.11**: Package tests
|
|
74
|
+
- Description: `announcements/src/tests/` — pending logic, version bump, publish/archive, acknowledge idempotency, matchAudience callback, acknowledgementMode matrix.
|
|
75
|
+
- Files: `announcements/src/tests/*.test.ts`, `announcements/src/tests/bunSetup.ts`
|
|
76
|
+
- Depends on: 1.7, 1.9
|
|
77
|
+
- Acceptance: `bun run announcements:test` passes
|
|
78
|
+
|
|
79
|
+
## Phase 2: Markdown embeds (`@terreno/ui`)
|
|
80
|
+
|
|
81
|
+
- [x] **Task 2.1**: YouTube + Loom embed detection utilities
|
|
82
|
+
- Description: Pure functions: `isYouTubeUrl`, `isLoomUrl`, `toYouTubeEmbedUrl`, `toLoomEmbedUrl`. Handle youtu.be, youtube.com/watch, /embed/, Loom share URLs.
|
|
83
|
+
- Files: `ui/src/markdownEmbeds.ts`, `ui/src/markdownEmbeds.test.ts`
|
|
84
|
+
- Depends on: none
|
|
85
|
+
- Acceptance: Unit tests cover common URL shapes
|
|
86
|
+
|
|
87
|
+
- [x] **Task 2.2**: Integrate embeds into `MarkdownView`
|
|
88
|
+
- Description: Custom `rules` / link renderer in `react-native-markdown-display`: matching URLs render embed component (web: iframe in Box; native: WebView with sensible aspect ratio). Non-matching links unchanged.
|
|
89
|
+
- Files: `ui/src/MarkdownView.tsx`, optional `ui/src/MarkdownEmbed.tsx`
|
|
90
|
+
- Depends on: 2.1
|
|
91
|
+
- Acceptance: Render test or snapshot for YouTube + Loom markdown strings on web
|
|
92
|
+
|
|
93
|
+
## Phase 3: Consumer UI (`@terreno/ui` + `@terreno/rtk`)
|
|
94
|
+
|
|
95
|
+
- [x] **Task 3.1**: `useAnnouncements` hook
|
|
96
|
+
- Description: RTK endpoint injection for `GET /announcements/pending` and `GET /announcements/feed`. Returns `{ pending, feed, isLoading, error, refetch }`. Pattern from `useConsentForms`.
|
|
97
|
+
- Files: `ui/src/useAnnouncements.ts`
|
|
98
|
+
- Depends on: Phase 1
|
|
99
|
+
- Acceptance: Hook fetches and caches; tags for invalidation
|
|
100
|
+
|
|
101
|
+
- [x] **Task 3.2**: `useAcknowledgeAnnouncement` hook
|
|
102
|
+
- Description: Mutations for acknowledge + impression. Invalidates pending on success.
|
|
103
|
+
- Files: `ui/src/useAcknowledgeAnnouncement.ts`
|
|
104
|
+
- Depends on: Phase 1
|
|
105
|
+
- Acceptance: Mutation works; cache invalidated
|
|
106
|
+
|
|
107
|
+
- [x] **Task 3.3**: `AnnouncementScreen` component
|
|
108
|
+
- Description: Renders single announcement: title, MarkdownView body, primaryAction Button (opens URL), acknowledge vs dismiss per ack requirement. Calls impression on mount. Props: `announcement`, `onAcknowledge`, `onDismiss`, `isSubmitting`, `requiresAcknowledgement`.
|
|
109
|
+
- Files: `ui/src/AnnouncementScreen.tsx`, `ui/src/AnnouncementScreen.test.tsx`
|
|
110
|
+
- Depends on: 2.2, 3.2
|
|
111
|
+
- Acceptance: Ack button gated correctly; primary action navigates
|
|
112
|
+
|
|
113
|
+
- [x] **Task 3.4**: `AnnouncementNavigator` component
|
|
114
|
+
- Description: Mirror `ConsentNavigator`: loading spinner, error retry, auth pass-through on 401/403, single modal from pending.current, refetch after ack/dismiss until queue empty, then render children.
|
|
115
|
+
- Files: `ui/src/AnnouncementNavigator.tsx`, `ui/src/AnnouncementNavigator.test.tsx`
|
|
116
|
+
- Depends on: 3.1, 3.3
|
|
117
|
+
- Acceptance: Tests cover empty queue, single item, multi-item sequence
|
|
118
|
+
|
|
119
|
+
- [x] **Task 3.5**: Export from `@terreno/ui`
|
|
120
|
+
- Description: Export navigator, screen, hooks from `ui/src/index.tsx` and lazy boundary if needed.
|
|
121
|
+
- Files: `ui/src/index.tsx`
|
|
122
|
+
- Depends on: 3.4
|
|
123
|
+
- Acceptance: `import {AnnouncementNavigator} from "@terreno/ui"` works
|
|
124
|
+
|
|
125
|
+
## Phase 4: Admin UI (`@terreno/admin-frontend`)
|
|
126
|
+
|
|
127
|
+
- [x] **Task 4.1**: `AnnouncementList` component
|
|
128
|
+
- Description: DataTable with title, status, priority, version, publishedAt, expiresAt. Create button → editor. Uses admin API hooks.
|
|
129
|
+
- Files: `admin-frontend/src/AnnouncementList.tsx`
|
|
130
|
+
- Depends on: Phase 1
|
|
131
|
+
- Acceptance: Lists announcements; navigation works
|
|
132
|
+
|
|
133
|
+
- [x] **Task 4.2**: `AnnouncementEditor` component
|
|
134
|
+
- Description: Full editor per IP: MarkdownEditor for body, preview pane, scheduling fields, platforms multi-select, audience JSON field, primaryAction, requiresAcknowledgement, priority. Header actions: Save, Publish, Archive. Uses `useAdminApi`.
|
|
135
|
+
- Files: `admin-frontend/src/AnnouncementEditor.tsx`, `admin-frontend/src/AnnouncementEditor.test.tsx`
|
|
136
|
+
- Depends on: 4.1
|
|
137
|
+
- Acceptance: Create/edit/publish/archive flows work in isolation tests
|
|
138
|
+
|
|
139
|
+
- [x] **Task 4.3**: Wire adminContribution custom routes
|
|
140
|
+
- Description: In `AnnouncementsApp.adminContribution()`, point list/create/edit to `AnnouncementList` / `AnnouncementEditor` (same pattern as consent custom admin screens).
|
|
141
|
+
- Files: `announcements/src/announcementsApp.ts`, `admin-frontend/src/index.tsx`
|
|
142
|
+
- Depends on: 4.2
|
|
143
|
+
- Acceptance: Admin SPA shows custom screens for announcements model
|
|
144
|
+
|
|
145
|
+
## Phase 5: Example app + documentation
|
|
146
|
+
|
|
147
|
+
- [x] **Task 5.1**: Integrate into `example-backend`
|
|
148
|
+
- Description: Register `AnnouncementsApp` with sample `matchAudience` (e.g. pass all or filter on `audience.tier`). Seed one published announcement.
|
|
149
|
+
- Files: `example-backend/src/server.ts`, `example-backend/src/seed.ts` (or dedicated seed helper)
|
|
150
|
+
- Depends on: Phase 1
|
|
151
|
+
- Acceptance: OpenAPI includes announcement routes; seed idempotent
|
|
152
|
+
|
|
153
|
+
- [x] **Task 5.2**: Integrate into `example-frontend`
|
|
154
|
+
- Description: Wrap authenticated layout with `AnnouncementNavigator`. Add optional “What’s new” screen using feed hook. Regenerate SDK (`bun run sdk`).
|
|
155
|
+
- Files: `example-frontend/app/_layout.tsx`, optional `example-frontend/app/whats-new.tsx`
|
|
156
|
+
- Depends on: Phase 3, 5.1
|
|
157
|
+
- Acceptance: Modal appears for seeded announcement; ack clears queue
|
|
158
|
+
|
|
159
|
+
- [x] **Task 5.3**: Admin routes in example-frontend
|
|
160
|
+
- Description: Expo Router admin paths for announcement list/editor if not covered by admin-spa default model routing.
|
|
161
|
+
- Files: `example-frontend/app/admin/announcements/` or admin-spa equivalent
|
|
162
|
+
- Depends on: Phase 4, 5.1
|
|
163
|
+
- Acceptance: Admin can create and publish from example app
|
|
164
|
+
|
|
165
|
+
- [x] **Task 5.4**: Documentation
|
|
166
|
+
- Description: `docs/reference/announcements.md` (API + models), `docs/how-to/product-announcements.md` (consumer wiring, matchAudience, acknowledgementMode). Update package README.
|
|
167
|
+
- Files: `docs/reference/announcements.md`, `docs/how-to/product-announcements.md`, `announcements/README.md`
|
|
168
|
+
- Depends on: Phases 1–4
|
|
169
|
+
- Acceptance: Docs match shipped behavior; linked from relevant explanation pages if applicable
|
|
170
|
+
|
|
171
|
+
## Tracer bullet (minimum shippable slice)
|
|
172
|
+
|
|
173
|
+
For first Pick iteration, complete **Tasks 1.1–1.7, 1.9, 1.11, 3.1–3.4, 5.1–5.2** before Phase 4 admin polish if time-boxed — proves `pending → navigator → acknowledge` end-to-end.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Feature profile:** true
|
|
4
4
|
**IP:** [better-auth-strict-oauth-provider.md](../implementationPlans/better-auth-strict-oauth-provider.md)
|
|
5
|
-
**Issue:** https://github.com/
|
|
5
|
+
**Issue:** https://github.com/TerrenoLabs/terreno/issues/1218
|
|
6
6
|
|
|
7
7
|
## Durable contract
|
|
8
8
|
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Tasks: Charts and dashboard primitives
|
|
2
|
+
|
|
3
|
+
IP: [charts-and-dashboards.md](../implementationPlans/charts-and-dashboards.md)
|
|
4
|
+
**Closes:** https://github.com/TerrenoLabs/terreno/issues/1175
|
|
5
|
+
|
|
6
|
+
**Feature profile:** false (full IP)
|
|
7
|
+
|
|
8
|
+
## Phase 1 — Tracer (`LineChart`)
|
|
9
|
+
|
|
10
|
+
- [x] **Task 1.1**: Private scale/path/theme helpers
|
|
11
|
+
- Delivers: linear and band scales plus line/area/arc path strings from `{label, value}[]`; theme paint map from `useTheme`; no public d3 types
|
|
12
|
+
- Files: `ui/src/charts/types.ts`, `ui/src/charts/scales.ts`, `ui/src/charts/paths.ts`, `ui/src/charts/theme.ts`, `ui/src/charts/scales.test.ts`, `ui/src/charts/paths.test.ts`, `ui/package.json` (`d3-scale`, `d3-shape`, types)
|
|
13
|
+
- Blocked by: none
|
|
14
|
+
- Skills: `terreno-ui`, `update-docs`
|
|
15
|
+
- Docs: none yet (helpers are private); record the dependency choice in the IP (already decided)
|
|
16
|
+
- Acceptance: bun tests — known fixtures produce expected domain/range and path `d` containing the fixture points; empty input does not throw
|
|
17
|
+
|
|
18
|
+
- [x] **Task 1.2**: `LineChart` + frame (tooltip, legend, empty, loading)
|
|
19
|
+
- Delivers: public `LineChart` on owned SVG; overlay `Text` ticks; legend when `legendLabel` set; tooltip `{label}: {value}` on press (and hover on web); empty `Text`; `loading` `Spinner`; per-point `testID` / a11y labels
|
|
20
|
+
- Files: `ui/src/charts/ChartFrame.tsx`, `ui/src/LineChart.tsx`, `ui/src/LineChart.test.tsx`, `ui/src/index.tsx` (lazy export; may be a temporary direct export until 4.1), `ui/src/Common.ts` (TypeDoc props if that is the audit source)
|
|
21
|
+
- Blocked by: 1.1
|
|
22
|
+
- Skills: `terreno-ui`, `verify-ui-changes`
|
|
23
|
+
- Docs: stub `LineChart` in `docs/reference/ui.md` Display list so the tracer is documented when it lands
|
|
24
|
+
- Acceptance: bun tests — 3 points → 3 mark testIDs; empty data shows `emptyText`; `loading` shows spinner; press on a mark shows tooltip copy; `legendLabel` renders. `ui` compile green.
|
|
25
|
+
|
|
26
|
+
- [x] **Task 1.3**: `LineChart` demo story
|
|
27
|
+
- Delivers: demo story with default, empty, loading, and tooltip-able data; registered in `demoConfig.tsx`
|
|
28
|
+
- Files: `demo/stories/LineChart.stories.tsx`, `demo/demoConfig.tsx` (and story-config if that package requires a config module)
|
|
29
|
+
- Blocked by: 1.2
|
|
30
|
+
- Skills: `terreno-ui`, `verify-ui-changes`
|
|
31
|
+
- Docs: none beyond the story
|
|
32
|
+
- Acceptance: `bun run demo:compile` (or package equivalent) passes; story is reachable in `demoConfig`
|
|
33
|
+
|
|
34
|
+
## Phase 2 — Sibling charts
|
|
35
|
+
|
|
36
|
+
- [x] **Task 2.1**: `BarChart`
|
|
37
|
+
- Delivers: public `BarChart` on `ChartFrame`; one bar per point; same empty/loading/tooltip/legend/a11y contract as `LineChart`
|
|
38
|
+
- Files: `ui/src/BarChart.tsx`, `ui/src/BarChart.test.tsx`, `ui/src/index.tsx`, `demo/stories/BarChart.stories.tsx`, `demo/demoConfig.tsx`
|
|
39
|
+
- Blocked by: 1.2
|
|
40
|
+
- Skills: `terreno-ui`, `verify-ui-changes`, `update-docs`
|
|
41
|
+
- Docs: add `BarChart` to `docs/reference/ui.md`
|
|
42
|
+
- Acceptance: bun tests for mark count, empty, tooltip copy; demo story registered; compile green
|
|
43
|
+
|
|
44
|
+
- [x] **Task 2.2**: `AreaChart`
|
|
45
|
+
- Delivers: public `AreaChart` (filled path + line) on `ChartFrame`; same contract
|
|
46
|
+
- Files: `ui/src/AreaChart.tsx`, `ui/src/AreaChart.test.tsx`, `ui/src/index.tsx`, `demo/stories/AreaChart.stories.tsx`, `demo/demoConfig.tsx`
|
|
47
|
+
- Blocked by: 1.2
|
|
48
|
+
- Skills: `terreno-ui`, `verify-ui-changes`, `update-docs`
|
|
49
|
+
- Docs: add `AreaChart` to `docs/reference/ui.md`
|
|
50
|
+
- Acceptance: bun tests for area path presence / mark count, empty, tooltip; demo story registered
|
|
51
|
+
|
|
52
|
+
- [x] **Task 2.3**: `DonutChart`
|
|
53
|
+
- Delivers: public `DonutChart`; one slice per point; per-slice `color` override; legend is one row per slice (ignore `legendLabel`); tooltip on slice press/hover
|
|
54
|
+
- Files: `ui/src/DonutChart.tsx`, `ui/src/DonutChart.test.tsx`, `ui/src/index.tsx`, `demo/stories/DonutChart.stories.tsx`, `demo/demoConfig.tsx`
|
|
55
|
+
- Blocked by: 1.1
|
|
56
|
+
- Skills: `terreno-ui`, `verify-ui-changes`, `update-docs`
|
|
57
|
+
- Docs: add `DonutChart` to `docs/reference/ui.md`
|
|
58
|
+
- Acceptance: bun tests — N slices, color override on one slice, empty, tooltip copy; demo story registered
|
|
59
|
+
|
|
60
|
+
## Phase 3 — Dashboard grid
|
|
61
|
+
|
|
62
|
+
- [x] **Task 3.1**: `DashboardGrid`
|
|
63
|
+
- Delivers: eager public `DashboardGrid`; default columns `{sm: 1, md: 2, lg: 3}`; wraps children with gap; children remain `Card`s supplied by the caller
|
|
64
|
+
- Files: `ui/src/DashboardGrid.tsx`, `ui/src/DashboardGrid.test.tsx`, `ui/src/index.tsx` (eager export), `demo/stories/DashboardGrid.stories.tsx`, `demo/demoConfig.tsx`
|
|
65
|
+
- Blocked by: 1.2 (demo composition uses `LineChart`; grid component itself does not)
|
|
66
|
+
- Skills: `terreno-ui`, `verify-ui-changes`, `update-docs`
|
|
67
|
+
- Docs: add `DashboardGrid` to `docs/reference/ui.md` Layout list
|
|
68
|
+
- Acceptance: bun tests — default column map, custom `columns`, `gap`, child `testID`s still present; demo story shows a grid of `Card`+chart; compile green
|
|
69
|
+
|
|
70
|
+
## Phase 4 — Packaging and docs
|
|
71
|
+
|
|
72
|
+
- [x] **Task 4.1**: Lazy root boundary + import regression
|
|
73
|
+
- Delivers: `LineChart`, `BarChart`, `AreaChart`, `DonutChart` on `heavyOptionalExports`; `DashboardGrid` stays eager; root import does not evaluate chart implementation modules; subpath imports still work
|
|
74
|
+
- Files: `ui/src/lazyBoundaries/heavyOptionalExports.tsx`, `ui/src/index.tsx`, `ui/src/RootImportRegression.test.tsx`, `docs/reference/ui-performance.md` (list charts with other heavy widgets)
|
|
75
|
+
- Blocked by: 2.1, 2.2, 2.3, 3.1
|
|
76
|
+
- Skills: `terreno-ui`, `update-docs`
|
|
77
|
+
- Docs: `docs/reference/ui.md` performance section names the chart lazy exports
|
|
78
|
+
- Acceptance: `RootImportRegression` (or equivalent) fails if chart files load with the root import; `bun run performance:imports` does not regress beyond documented noise; subpath `import {LineChart} from "@terreno/ui/LineChart"` works
|
|
79
|
+
|
|
80
|
+
- [x] **Task 4.2**: Diátaxis + changelog + rules + seed
|
|
81
|
+
- Delivers: how-to (compose charts in a `DashboardGrid` of `Card`s), explanation (why owned SVG vs victory-native), reference complete, how-to/explanation README links, TypeDoc props, changelog fragment, ui rule export list, roadmap seed IP/task GitHub links, comms/b2b pointers if they still say “not yet written”
|
|
82
|
+
- Files: `docs/how-to/charts-and-dashboards.md`, `docs/how-to/README.md`, `docs/explanation/charts.md`, `docs/explanation/README.md`, `docs/reference/ui.md`, `docs/explanation/roadmap-seed-issues.md`, `docs/implementationPlans/comms-admin-dashboard.md` (link only), `.rulesync/rules/ui/00-ui.mdc`, `changelog/unreleased/charts-and-dashboards.md`; `bun run rules` / `skills:sync` if rulesync requires it; `bun run website:generate` if TypeDoc pages are generated
|
|
83
|
+
- Blocked by: 3.1, 4.1
|
|
84
|
+
- Skills: `update-docs`, `docs-audit`, `terreno-ui`
|
|
85
|
+
- Docs: the files listed above
|
|
86
|
+
- Acceptance: a stranger can copy the how-to example into a screen; explanation states the victory-native rejection; seed `Implementation plan` / `Tasks` are not `*(not yet written)*`; `bun run website:build` if the docs site is in the slice; changelog fragment `category: Added`
|
|
87
|
+
|
|
88
|
+
## Phase 5 — Rendered visual regression
|
|
89
|
+
|
|
90
|
+
- [x] **Task 5.1**: Chart visual gallery + compare command + review skill
|
|
91
|
+
- Delivers: easy-through-hard fixtures actually rendered in the demo; PNG goldens under `demo/rendered-snapshots/`; `bun run ui:charts:compare` / `ui:charts:update-snapshots`; `review-chart-visuals` skill
|
|
92
|
+
- Files: `demo/chartVisual/**`, `demo/app/demo/chart-visual-gallery.tsx`, `scripts/charts/compareChartImages.ts`, `scripts/charts/compareRenderedSnapshots.ts`, `demo/rendered-snapshots/*.png`, `.rulesync/skills/review-chart-visuals/SKILL.md`, `docs/how-to/compare-chart-rendered-snapshots.md`, `docs/explanation/charts.md`, `docs/reference/ui.md`
|
|
93
|
+
- Blocked by: 4.2
|
|
94
|
+
- Skills: `verify-ui-changes`, `review-chart-visuals`, `update-docs`, `update-agent-docs`
|
|
95
|
+
- Docs: how-to compare page; explanation + reference pointers; skill + `verify-ui-changes` hook
|
|
96
|
+
- Acceptance: catalog tests; fixture render tests; pixelmatch unit tests; compare against goldens is green; skill is in `skills.sh.json` groupings
|
|
97
|
+
|
|
98
|
+
## Phase 6 — Composition grammar (not this slice)
|
|
99
|
+
|
|
100
|
+
- [ ] **Task 6.1**: Declarative `Chart` children grammar (follow-up Pick)
|
|
101
|
+
- Delivers: `Chart`, `ChartTitle`, `ChartSubtitle`, `ChartCartesian`, `ChartPolar`, `ChartXAxis`, `ChartYAxis`, `ChartGrid`, `ChartLegend`, `ChartTooltip`, `ChartLine`, `ChartArea`, `ChartBar`, `ChartDonut`, `ChartDataLabels`, `ChartReferenceLine`, `ChartReferenceBand`; keyed rows + `dataKey`; facades additive `{label,value}`; tooltip overlay+footer; tokens+hex; grouped bars unless `stackId`
|
|
102
|
+
- Files: `ui/src/Chart*.tsx` (flat named exports, no barrel)
|
|
103
|
+
- Blocked by: 5.1
|
|
104
|
+
- Skills: `terreno-ui`, `review-chart-visuals`, `update-docs`
|
|
105
|
+
- Docs: how-to + reference rewritten for composition; visual goldens updated
|
|
106
|
+
- Acceptance: a complex titled/labeled/colored chart is composed only from Terreno chart children; `ui:charts:compare` stays green
|
|
107
|
+
|
|
108
|
+
## Verification mapping
|
|
109
|
+
|
|
110
|
+
| Criterion | Method |
|
|
111
|
+
|-----------|--------|
|
|
112
|
+
| Four chart types + grid export | compile + import tests |
|
|
113
|
+
| No victory-native | `ui/package.json` / grep |
|
|
114
|
+
| Single-series contract | bun tests + TypeDoc props |
|
|
115
|
+
| Tooltip + legend + empty/loading | bun tests + demo web exercise |
|
|
116
|
+
| Theme + overlay `Text` | unit theme map + render tests |
|
|
117
|
+
| Lazy charts | `RootImportRegression` / import benchmark |
|
|
118
|
+
| Demo + docs | registered stories; how-to/explanation/reference exist |
|
|
119
|
+
| Frontend proof | `verify-ui-changes` on demo stories; artifacts on the implementation PR |
|
|
120
|
+
| Rendered paint | `bun run ui:charts:compare` vs `demo/rendered-snapshots/` |
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Tasks: Compile pipeline dedup
|
|
2
|
+
|
|
3
|
+
IP: [compile-pipeline-dedup.md](../implementationPlans/compile-pipeline-dedup.md)
|
|
4
|
+
Slice: pipeline-ordering-dedup · Scan goal: reduce-cold-compile-time (305s → 214s)
|
|
5
|
+
|
|
6
|
+
Tracer-bullet order. Each task names files, acceptance, and verification.
|
|
7
|
+
|
|
8
|
+
## T0 — Capture baseline artifacts (blocking, no code change)
|
|
9
|
+
|
|
10
|
+
- **Files:** none (read-only).
|
|
11
|
+
- **Do:** `rm -rf */dist && bun run compile 2>&1 | tee /tmp/baseline-build.log`; copy every
|
|
12
|
+
package's `dist/` into a baseline snapshot dir for later `diff -r`.
|
|
13
|
+
- **Acceptance:** baseline build log + dist snapshot captured; note the cold time (best of
|
|
14
|
+
3 already recorded = 305s).
|
|
15
|
+
- **Verify:** snapshot dir exists with per-package `dist/`.
|
|
16
|
+
|
|
17
|
+
## T1 — Apply the three compile-script edits
|
|
18
|
+
|
|
19
|
+
- **Files:** `package.json`, `api/package.json`, `admin-backend/package.json`.
|
|
20
|
+
- **Do:**
|
|
21
|
+
- root `compile` → `bun run --filter '*' compile`
|
|
22
|
+
- `api` `compile` → `bun tsc`
|
|
23
|
+
- `admin-backend` `compile` → `bun tsc`
|
|
24
|
+
- **Acceptance:** the three scripts match the IP; `.github/scripts/compile-workspace-deps.js`
|
|
25
|
+
is untouched (`git diff --stat` excludes it).
|
|
26
|
+
- **Blockers:** none. **Docs:** none yet.
|
|
27
|
+
|
|
28
|
+
## T2 — Prove correctness: single-build, clean, dist-identical
|
|
29
|
+
|
|
30
|
+
- **Files:** none (verification).
|
|
31
|
+
- **Do:** `rm -rf */dist && bun run compile 2>&1 | tee /tmp/new-build.log`; then
|
|
32
|
+
`diff -r` each package's new `dist/` against the T0 snapshot.
|
|
33
|
+
- **Acceptance (IP criteria 1–3):**
|
|
34
|
+
- exit 0 from clean tree
|
|
35
|
+
- each buildable `@terreno/*` package appears once; **zero** `Compiling @terreno/... with
|
|
36
|
+
bun tsc` lines (that string only comes from `compile-workspace-deps.js`, which must not
|
|
37
|
+
run during the dev build)
|
|
38
|
+
- `diff -r` reports no differences in any `dist/`
|
|
39
|
+
- **Verify:** grep `/tmp/new-build.log` for per-package compile count and for
|
|
40
|
+
`compile-workspace-deps` output (expect none).
|
|
41
|
+
|
|
42
|
+
## T3 — Prove publish/CI unaffected
|
|
43
|
+
|
|
44
|
+
- **Files:** none (verification).
|
|
45
|
+
- **Do:** confirm `compile-workspace-deps.js` unchanged; re-read each caller
|
|
46
|
+
(`publish-on-tag.yml`, `.circleci/continue-config.yml`, `new-file-coverage.yml`,
|
|
47
|
+
`rtk-ci.yml`, `example-*-ci.yml`, `scripts/ci/*.sh`) and confirm each still calls the
|
|
48
|
+
script directly before its compile step.
|
|
49
|
+
- **Acceptance (IP criterion 5):** every publish/CI compile is preceded by a direct
|
|
50
|
+
`compile-workspace-deps.js` call; script content unchanged.
|
|
51
|
+
|
|
52
|
+
## T4 — Measure + docs
|
|
53
|
+
|
|
54
|
+
- **Files:** build/compile explanation doc (if the root `compile` contract is documented).
|
|
55
|
+
- **Do:** run the metric command best-of-3
|
|
56
|
+
(`find . -maxdepth 2 -name '*.tsbuildinfo' -not -path '*/node_modules/*' -delete; rm -rf */dist; time bun run compile`);
|
|
57
|
+
record min. Update the build doc to note reliance on Bun topological ordering (via
|
|
58
|
+
`update-docs` skill).
|
|
59
|
+
- **Acceptance (IP criteria 4, 6):** cold time recorded with delta vs 305s; `bun run lint`,
|
|
60
|
+
`bun run api:test`, `bun run ui:test` green.
|
|
61
|
+
- **Verify:** three timings recorded; lint/test exit 0.
|