@terreno/mcp 0.23.0 → 0.23.1

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.
Files changed (1015) hide show
  1. package/dist/docs/versioned/0.23.0/README.md +29 -0
  2. package/dist/docs/versioned/0.23.0/explanation/README.md +13 -0
  3. package/dist/docs/versioned/0.23.0/explanation/ai-workflows.md +270 -0
  4. package/dist/docs/versioned/0.23.0/explanation/authentication.md +438 -0
  5. package/dist/docs/versioned/0.23.0/explanation/configuration-system.md +428 -0
  6. package/dist/docs/versioned/0.23.0/explanation/dependency-management.md +192 -0
  7. package/dist/docs/versioned/0.23.0/explanation/gcp-hosting-architecture.md +319 -0
  8. package/dist/docs/versioned/0.23.0/explanation/model-router-actions.md +156 -0
  9. package/dist/docs/versioned/0.23.0/explanation/modular-api-design.md +228 -0
  10. package/dist/docs/versioned/0.23.0/how-to/README.md +20 -0
  11. package/dist/docs/versioned/0.23.0/how-to/add-feature-flags.md +115 -0
  12. package/dist/docs/versioned/0.23.0/how-to/add-github-oauth.md +316 -0
  13. package/dist/docs/versioned/0.23.0/how-to/configure-better-auth.md +296 -0
  14. package/dist/docs/versioned/0.23.0/how-to/create-a-model.md +165 -0
  15. package/dist/docs/versioned/0.23.0/how-to/deploy-to-gcp.md +244 -0
  16. package/dist/docs/versioned/0.23.0/how-to/upgrade-banner.md +172 -0
  17. package/dist/docs/versioned/0.23.0/how-to/websocket-integration.md +416 -0
  18. package/dist/docs/versioned/0.23.0/implementationPlans/IP_TEMPLATE.md +47 -0
  19. package/dist/docs/versioned/0.23.0/implementationPlans/ModularAPI.md +844 -0
  20. package/dist/docs/versioned/0.23.0/implementationPlans/PLAN_INDEX.md +21 -0
  21. package/dist/docs/versioned/0.23.0/implementationPlans/README.md +42 -0
  22. package/dist/docs/versioned/0.23.0/implementationPlans/admin-improvements.md +577 -0
  23. package/dist/docs/versioned/0.23.0/implementationPlans/admin-only-research.md +258 -0
  24. package/dist/docs/versioned/0.23.0/implementationPlans/admin-only.md +616 -0
  25. package/dist/docs/versioned/0.23.0/implementationPlans/admin-script-runner.md +107 -0
  26. package/dist/docs/versioned/0.23.0/implementationPlans/admin-ui-v2-django-parity.md +204 -0
  27. package/dist/docs/versioned/0.23.0/implementationPlans/consent-forms.md +417 -0
  28. package/dist/docs/versioned/0.23.0/implementationPlans/design-blend-skill.md +188 -0
  29. package/dist/docs/versioned/0.23.0/implementationPlans/docs-site-and-versioning.md +138 -0
  30. package/dist/docs/versioned/0.23.0/implementationPlans/feature-flags-openfeature.md +545 -0
  31. package/dist/docs/versioned/0.23.0/implementationPlans/feature-flags.md +310 -0
  32. package/dist/docs/versioned/0.23.0/implementationPlans/mcp-boost-parity.md +246 -0
  33. package/dist/docs/versioned/0.23.0/implementationPlans/model-router-actions.md +639 -0
  34. package/dist/docs/versioned/0.23.0/implementationPlans/model-router-mcp.md +186 -0
  35. package/dist/docs/versioned/0.23.0/implementationPlans/offline-mode.md +311 -0
  36. package/dist/docs/versioned/0.23.0/implementationPlans/syncdb-local-first.md +591 -0
  37. package/dist/docs/versioned/0.23.0/implementationPlans/terreno-langfuse-integration.md +145 -0
  38. package/dist/docs/versioned/0.23.0/implementationPlans/upgrade-banner.md +275 -0
  39. package/dist/docs/versioned/0.23.0/reference/README.md +22 -0
  40. package/dist/docs/versioned/0.23.0/reference/admin-backend.md +122 -0
  41. package/dist/docs/versioned/0.23.0/reference/admin-frontend.md +205 -0
  42. package/dist/docs/versioned/0.23.0/reference/api-health.md +81 -0
  43. package/dist/docs/versioned/0.23.0/reference/api.md +1205 -0
  44. package/dist/docs/versioned/0.23.0/reference/components/README.mdx +65 -0
  45. package/dist/docs/versioned/0.23.0/reference/components/accordion.mdx +37 -0
  46. package/dist/docs/versioned/0.23.0/reference/components/addressfield.mdx +26 -0
  47. package/dist/docs/versioned/0.23.0/reference/components/ai-suggestion-box.mdx +26 -0
  48. package/dist/docs/versioned/0.23.0/reference/components/avatar.mdx +35 -0
  49. package/dist/docs/versioned/0.23.0/reference/components/badge.mdx +38 -0
  50. package/dist/docs/versioned/0.23.0/reference/components/banner.mdx +26 -0
  51. package/dist/docs/versioned/0.23.0/reference/components/boolean-field.mdx +36 -0
  52. package/dist/docs/versioned/0.23.0/reference/components/box.mdx +26 -0
  53. package/dist/docs/versioned/0.23.0/reference/components/button.mdx +44 -0
  54. package/dist/docs/versioned/0.23.0/reference/components/card.mdx +26 -0
  55. package/dist/docs/versioned/0.23.0/reference/components/checkbox.mdx +30 -0
  56. package/dist/docs/versioned/0.23.0/reference/components/consentformscreen.mdx +26 -0
  57. package/dist/docs/versioned/0.23.0/reference/components/custom-select-field.mdx +36 -0
  58. package/dist/docs/versioned/0.23.0/reference/components/datatable.mdx +44 -0
  59. package/dist/docs/versioned/0.23.0/reference/components/date-time-field.mdx +49 -0
  60. package/dist/docs/versioned/0.23.0/reference/components/email-field.mdx +43 -0
  61. package/dist/docs/versioned/0.23.0/reference/components/emoji-selector.mdx +26 -0
  62. package/dist/docs/versioned/0.23.0/reference/components/field.mdx +26 -0
  63. package/dist/docs/versioned/0.23.0/reference/components/height-field.mdx +45 -0
  64. package/dist/docs/versioned/0.23.0/reference/components/icon.mdx +31 -0
  65. package/dist/docs/versioned/0.23.0/reference/components/iconbutton.mdx +42 -0
  66. package/dist/docs/versioned/0.23.0/reference/components/inner-modal-content.mdx +41 -0
  67. package/dist/docs/versioned/0.23.0/reference/components/markdown-editor-field.mdx +50 -0
  68. package/dist/docs/versioned/0.23.0/reference/components/markdownview.mdx +37 -0
  69. package/dist/docs/versioned/0.23.0/reference/components/multiselect-field.mdx +36 -0
  70. package/dist/docs/versioned/0.23.0/reference/components/number-field.mdx +46 -0
  71. package/dist/docs/versioned/0.23.0/reference/components/page.mdx +46 -0
  72. package/dist/docs/versioned/0.23.0/reference/components/pagination.mdx +30 -0
  73. package/dist/docs/versioned/0.23.0/reference/components/password-field.mdx +26 -0
  74. package/dist/docs/versioned/0.23.0/reference/components/phone-number-field.mdx +44 -0
  75. package/dist/docs/versioned/0.23.0/reference/components/radio-field.mdx +31 -0
  76. package/dist/docs/versioned/0.23.0/reference/components/sectiondivider.mdx +26 -0
  77. package/dist/docs/versioned/0.23.0/reference/components/segmented-control.mdx +34 -0
  78. package/dist/docs/versioned/0.23.0/reference/components/select-field.mdx +26 -0
  79. package/dist/docs/versioned/0.23.0/reference/components/selectbadge.mdx +35 -0
  80. package/dist/docs/versioned/0.23.0/reference/components/side-drawer.mdx +34 -0
  81. package/dist/docs/versioned/0.23.0/reference/components/sidebar-navigation-non-expo.mdx +35 -0
  82. package/dist/docs/versioned/0.23.0/reference/components/signature-field.mdx +35 -0
  83. package/dist/docs/versioned/0.23.0/reference/components/slider.mdx +43 -0
  84. package/dist/docs/versioned/0.23.0/reference/components/spinner.mdx +29 -0
  85. package/dist/docs/versioned/0.23.0/reference/components/table-badge.mdx +32 -0
  86. package/dist/docs/versioned/0.23.0/reference/components/table-boolean.mdx +29 -0
  87. package/dist/docs/versioned/0.23.0/reference/components/table-date.mdx +30 -0
  88. package/dist/docs/versioned/0.23.0/reference/components/table-icon-button.mdx +28 -0
  89. package/dist/docs/versioned/0.23.0/reference/components/table-number.mdx +30 -0
  90. package/dist/docs/versioned/0.23.0/reference/components/table-text.mdx +30 -0
  91. package/dist/docs/versioned/0.23.0/reference/components/table-title.mdx +28 -0
  92. package/dist/docs/versioned/0.23.0/reference/components/table.mdx +38 -0
  93. package/dist/docs/versioned/0.23.0/reference/components/tap-to-edit.mdx +26 -0
  94. package/dist/docs/versioned/0.23.0/reference/components/text-area.mdx +50 -0
  95. package/dist/docs/versioned/0.23.0/reference/components/text-field.mdx +52 -0
  96. package/dist/docs/versioned/0.23.0/reference/components/theme.mdx +26 -0
  97. package/dist/docs/versioned/0.23.0/reference/components/toast.mdx +26 -0
  98. package/dist/docs/versioned/0.23.0/reference/components/tooltip.mdx +30 -0
  99. package/dist/docs/versioned/0.23.0/reference/components/userinactivity.mdx +32 -0
  100. package/dist/docs/versioned/0.23.0/reference/environment-variables.md +382 -0
  101. package/dist/docs/versioned/0.23.0/reference/feature-flags.md +304 -0
  102. package/dist/docs/versioned/0.23.0/reference/generated/README.md +17 -0
  103. package/dist/docs/versioned/0.23.0/reference/generated/api/README.md +282 -0
  104. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/APIError.md +96 -0
  105. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/BetterAuthApp.md +84 -0
  106. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/CachingSecretProvider.md +118 -0
  107. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/CompositeSecretProvider.md +79 -0
  108. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/ConfigurationApp.md +94 -0
  109. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/ConsentApp.md +74 -0
  110. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/DateOnly.md +123 -0
  111. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/EnvSecretProvider.md +64 -0
  112. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/GcpSecretProvider.md +76 -0
  113. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +577 -0
  114. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/RealtimeApp.md +112 -0
  115. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/TaskCancelledError.md +23 -0
  116. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/TerrenoApp.md +262 -0
  117. package/dist/docs/versioned/0.23.0/reference/generated/api/classes/VersionCheckPlugin.md +43 -0
  118. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/AdminOwnerTransformer.md +47 -0
  119. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/OwnerQueryFilter.md +11 -0
  120. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addAuthRoutes.md +19 -0
  121. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addGitHubAuthRoutes.md +31 -0
  122. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addMeRoutes.md +19 -0
  123. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addPopulateToQuery.md +15 -0
  124. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/addQuerySubscription.md +26 -0
  125. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/apiErrorMiddleware.md +23 -0
  126. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/apiFallthroughErrorMiddleware.md +26 -0
  127. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/apiUnauthorizedMiddleware.md +23 -0
  128. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/applyRequestContextToSentry.md +11 -0
  129. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/assertNoActionCollisions.md +21 -0
  130. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/asyncHandler.md +15 -0
  131. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/authenticateMiddleware.md +11 -0
  132. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/baseUserPlugin.md +11 -0
  133. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/buildQuerySchemaFromFields.md +30 -0
  134. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/checkModelsStrict.md +21 -0
  135. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/checkPermissions.md +29 -0
  136. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/clearQueryStore.md +7 -0
  137. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/clearRealtimeRegistry.md +7 -0
  138. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/computeQueryId.md +18 -0
  139. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/configurationPlugin.md +48 -0
  140. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/configureOpenApiValidator.md +28 -0
  141. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +35 -0
  142. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createBetterAuth.md +13 -0
  143. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createBetterAuthSessionMiddleware.md +18 -0
  144. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createFeatureFlaggedLogger.md +53 -0
  145. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createModelValidators.md +74 -0
  146. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createOpenApiBuilder.md +39 -0
  147. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createRouter.md +19 -0
  148. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createRouterWithAuth.md +19 -0
  149. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createScopedLogger.md +53 -0
  150. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createScriptArgs.md +33 -0
  151. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createValidator.md +29 -0
  152. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/createdUpdatedPlugin.md +11 -0
  153. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/cronjob.md +19 -0
  154. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/defaultResponseHandler.md +32 -0
  155. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/defineCollectionAction.md +25 -0
  156. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/defineInstanceAction.md +29 -0
  157. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/envConfigurationPlugin.md +11 -0
  158. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/errorMessage.md +13 -0
  159. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/errorStack.md +13 -0
  160. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/errorsPlugin.md +11 -0
  161. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findExactlyOne.md +25 -0
  162. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findOneOrNone.md +24 -0
  163. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findOneOrNoneFor.md +37 -0
  164. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findRegistryEntryByCollection.md +13 -0
  165. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +13 -0
  166. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/firebaseJWTPlugin.md +11 -0
  167. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/fixMixedFields.md +21 -0
  168. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/flattenToDotPaths.md +24 -0
  169. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/formatLogContextSuffix.md +17 -0
  170. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/generateTokens.md +35 -0
  171. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getAPIErrorBody.md +11 -0
  172. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getBetterAuthSession.md +13 -0
  173. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentLogContext.md +9 -0
  174. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentRequestContext.md +8 -0
  175. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentRequestContextAttributes.md +15 -0
  176. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getDisableExternalErrorTracking.md +15 -0
  177. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getMongoClientFromMongoose.md +7 -0
  178. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getOpenApiSpecForModel.md +29 -0
  179. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getOpenApiValidatorConfig.md +7 -0
  180. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getQuerySubscriptionsForCollection.md +14 -0
  181. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getRealtimeRegistry.md +7 -0
  182. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getRequestContextFromAttributes.md +11 -0
  183. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getSchemaFromModel.md +25 -0
  184. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/getSessionIdFromJwtPayload.md +11 -0
  185. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/githubUserPlugin.md +22 -0
  186. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/hasBetterAuthSession.md +13 -0
  187. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/installRealtimeSocketHandlers.md +27 -0
  188. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isAPIError.md +11 -0
  189. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isDeletedPlugin.md +15 -0
  190. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isDisabledPlugin.md +15 -0
  191. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isOpenApiValidatorConfigured.md +8 -0
  192. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/isValidObjectId.md +11 -0
  193. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/jsonResponseRequestIdMiddleware.md +24 -0
  194. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/logRequests.md +19 -0
  195. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/matchesQuery.md +23 -0
  196. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/modelRouter.md +83 -0
  197. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/mongooseErrorToAPIError.md +13 -0
  198. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/mountBetterAuthRoutes.md +21 -0
  199. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/openApiCompatMiddleware.md +22 -0
  200. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/openApiEtagMiddleware.md +23 -0
  201. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/parseScriptArgs.md +35 -0
  202. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/patchAppUse.md +17 -0
  203. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/permissionMiddleware.md +21 -0
  204. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/registerActionRoutes.md +25 -0
  205. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/registerRealtime.md +14 -0
  206. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/removeAllSocketQueries.md +13 -0
  207. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/removeQuerySubscription.md +17 -0
  208. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/requestContextMiddleware.md +26 -0
  209. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/resetOpenApiValidatorConfig.md +9 -0
  210. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/runActionPermissions.md +33 -0
  211. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/runWithRequestContext.md +38 -0
  212. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/runWithRequestContextAttributes.md +25 -0
  213. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/sendToGoogleChat.md +25 -0
  214. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/sendToSlack.md +29 -0
  215. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/sendToZoom.md +67 -0
  216. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/sentryAppVersionMiddleware.md +26 -0
  217. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/serialize.md +25 -0
  218. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setRequestContext.md +11 -0
  219. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupAuth.md +15 -0
  220. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupBetterAuthUserSync.md +21 -0
  221. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupEnvironment.md +5 -0
  222. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupGitHubAuth.md +22 -0
  223. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/setupLogging.md +11 -0
  224. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/signupUser.md +23 -0
  225. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/startChangeStreamWatcher.md +21 -0
  226. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/stopChangeStreamWatcher.md +7 -0
  227. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/syncBetterAuthUser.md +19 -0
  228. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/syncConsents.md +45 -0
  229. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/timeout.md +11 -0
  230. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/transform.md +29 -0
  231. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/unpopulate.md +21 -0
  232. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/updateRequestContextFromRequest.md +15 -0
  233. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/upsertPlugin.md +23 -0
  234. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateActionRequest.md +35 -0
  235. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateModelRequestBody.md +30 -0
  236. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateQueryParams.md +23 -0
  237. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateRequestBody.md +26 -0
  238. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/validateResponseData.md +32 -0
  239. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/wrapActionResponse.md +19 -0
  240. package/dist/docs/versioned/0.23.0/reference/generated/api/functions/wrapScript.md +15 -0
  241. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/APIErrorConstructor.md +93 -0
  242. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ActionContext.md +49 -0
  243. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/AsyncHandlerOptions.md +32 -0
  244. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/AuthOptions.md +47 -0
  245. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +141 -0
  246. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskMethods.md +55 -0
  247. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskModel.md +51 -0
  248. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskStatics.md +19 -0
  249. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BaseUser.md +11 -0
  250. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthAppOptions.md +11 -0
  251. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthConfig.md +74 -0
  252. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthOAuthProvider.md +13 -0
  253. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthSession.md +43 -0
  254. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthSessionData.md +13 -0
  255. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthUser.md +43 -0
  256. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CachingSecretProviderOptions.md +9 -0
  257. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ChangeStreamConfig.md +41 -0
  258. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CollectionActionConfig.md +123 -0
  259. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigRegistration.md +23 -0
  260. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +51 -0
  261. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationMetaResponse.md +7 -0
  262. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationModel.md +166 -0
  263. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationPermissions.md +45 -0
  264. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationPluginOptions.md +30 -0
  265. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationStatics.md +107 -0
  266. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentAppOptions.md +85 -0
  267. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormCheckbox.md +17 -0
  268. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormDefinition.md +83 -0
  269. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormDocument.md +123 -0
  270. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormModel.md +79 -0
  271. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormStatics.md +55 -0
  272. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseDocument.md +105 -0
  273. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseMethods.md +1 -0
  274. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseModel.md +79 -0
  275. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseStatics.md +55 -0
  276. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateBetterAuthOptions.md +17 -0
  277. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateFeatureFlaggedLoggerOptions.md +29 -0
  278. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateScopedLoggerOptions.md +18 -0
  279. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateValidatorOptions.md +25 -0
  280. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/CreatedDeleted.md +27 -0
  281. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/DocumentSubscription.md +17 -0
  282. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +30 -0
  283. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +30 -0
  284. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +9 -0
  285. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/GenerateTokensOptions.md +5 -0
  286. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/GitHubAuthOptions.md +74 -0
  287. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/GitHubUserFields.md +33 -0
  288. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/HasUpsert.md +27 -0
  289. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/InstanceActionConfig.md +127 -0
  290. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/IsDeleted.md +7 -0
  291. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/JSONArray.md +7 -0
  292. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/JSONObject.md +3 -0
  293. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/JwtSessionPayload.md +19 -0
  294. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/LogContextFields.md +41 -0
  295. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/LoggingOptions.md +73 -0
  296. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterOptions.md +524 -0
  297. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterRegistration.md +33 -0
  298. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterValidationOptions.md +89 -0
  299. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/MongoClientLike.md +11 -0
  300. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiBuildResult.md +34 -0
  301. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiMiddleware.md +98 -0
  302. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiParameter.md +66 -0
  303. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiResponse.md +43 -0
  304. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiSchema.md +62 -0
  305. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +89 -0
  306. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiValidatorConfig.md +94 -0
  307. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/PopulatePath.md +17 -0
  308. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/QuerySubscription.md +25 -0
  309. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/QueryValidatorOptions.md +31 -0
  310. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RESTPermissions.md +35 -0
  311. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeAppOptions.md +62 -0
  312. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeConfig.md +44 -0
  313. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeEvent.md +57 -0
  314. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +41 -0
  315. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeSocketLike.md +94 -0
  316. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +71 -0
  317. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/RequestContext.md +59 -0
  318. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScopedLogger.md +100 -0
  319. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptArgDef.md +60 -0
  320. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptArgs.md +121 -0
  321. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptContext.md +67 -0
  322. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptResult.md +11 -0
  323. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/SecretFieldMeta.md +29 -0
  324. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/SecretProvider.md +35 -0
  325. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/SyncConsentsOptions.md +15 -0
  326. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/SyncConsentsResult.md +23 -0
  327. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoAppOptions.md +112 -0
  328. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoPlugin.md +78 -0
  329. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoRequestLogEntry.md +13 -0
  330. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoTransformer.md +49 -0
  331. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/User.md +26 -0
  332. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/UserModel.md +113 -0
  333. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionCheckResponse.md +37 -0
  334. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionConfigDocument.md +65 -0
  335. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionConfigModel.md +51 -0
  336. package/dist/docs/versioned/0.23.0/reference/generated/api/interfaces/WrapScriptOptions.md +27 -0
  337. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/AddRoutes.md +15 -0
  338. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/AuthProvider.md +5 -0
  339. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/BetterAuthInstance.md +3 -0
  340. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigType.md +1 -0
  341. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigurationPostUpdateHook.md +24 -0
  342. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigurationPreUpdateHook.md +20 -0
  343. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConsentFormMethods.md +1 -0
  344. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConsentFormType.md +1 -0
  345. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/DeepPartial.md +9 -0
  346. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/GooseRESTOptions.md +7 -0
  347. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/JSONPrimitive.md +1 -0
  348. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/JSONValue.md +1 -0
  349. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/PathValue.md +19 -0
  350. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/Paths.md +15 -0
  351. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/PermissionMethod.md +25 -0
  352. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/RESTMethod.md +17 -0
  353. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/RequestContextAttributes.md +1 -0
  354. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ScriptArgValue.md +3 -0
  355. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/ScriptRunner.md +15 -0
  356. package/dist/docs/versioned/0.23.0/reference/generated/api/type-aliases/VersionCheckStatus.md +1 -0
  357. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/ACTION_NAME_PATTERN.md +1 -0
  358. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/BackgroundTask.md +1 -0
  359. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/Config.md +244 -0
  360. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/ConsentForm.md +1 -0
  361. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/ConsentResponse.md +1 -0
  362. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/MAX_DOCUMENT_SUBSCRIPTIONS.md +1 -0
  363. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/MAX_MODEL_SUBSCRIPTIONS.md +4 -0
  364. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/MAX_QUERY_SUBSCRIPTIONS.md +1 -0
  365. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/Permissions.md +109 -0
  366. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/REQUEST_CONTEXT_ATTRIBUTE_NAMES.md +39 -0
  367. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/VersionConfig.md +1 -0
  368. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/consentResponsePopulatePaths.md +3 -0
  369. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/gooseRestRouter.md +85 -0
  370. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/logger.md +109 -0
  371. package/dist/docs/versioned/0.23.0/reference/generated/api/variables/winstonLogger.md +1 -0
  372. package/dist/docs/versioned/0.23.0/reference/generated/rtk/README.md +126 -0
  373. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/buildOptimisticCreateItem.md +17 -0
  374. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/configureOfflineMutationEndpoints.md +13 -0
  375. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/createBetterAuthClient.md +30 -0
  376. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/createOfflineMiddleware.md +41 -0
  377. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/createSessionApi.md +21 -0
  378. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/createStorageAdapter.md +17 -0
  379. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/generateAuthSlice.md +35 -0
  380. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/generateBetterAuthSlice.md +87 -0
  381. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/generateProfileEndpoints.md +35 -0
  382. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/generateTags.md +15 -0
  383. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getAuthToken.md +5 -0
  384. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getBaseQuery.md +23 -0
  385. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getFriendlyExpirationInfo.md +5 -0
  386. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getRealtimeSocket.md +7 -0
  387. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/getTokenExpirationTimes.md +5 -0
  388. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/isNetworkFetchError.md +14 -0
  389. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/isWebsocketsDebugEnabled.md +5 -0
  390. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/logAuth.md +11 -0
  391. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/logSocket.md +15 -0
  392. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/populateId.md +23 -0
  393. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/realtimeDocument.md +37 -0
  394. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/realtimeList.md +43 -0
  395. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/refreshAuthToken.md +5 -0
  396. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/registerTerrenoDevStore.md +14 -0
  397. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/resolveBaseUrls.md +28 -0
  398. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/resolveFeatureFlagsOptions.md +14 -0
  399. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthError.md +13 -0
  400. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthIsAuthenticated.md +13 -0
  401. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthIsLoading.md +13 -0
  402. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthState.md +13 -0
  403. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthUser.md +13 -0
  404. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthUserId.md +13 -0
  405. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectConflicts.md +13 -0
  406. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectCurrentUserId.md +11 -0
  407. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsAuthenticating.md +11 -0
  408. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsOnline.md +13 -0
  409. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsOnlineSafe.md +15 -0
  410. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsSyncing.md +13 -0
  411. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectLastTokenRefreshTimestamp.md +11 -0
  412. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectOfflineQueue.md +13 -0
  413. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/selectQueueLength.md +13 -0
  414. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/setRealtimeDebug.md +13 -0
  415. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/setRealtimeSocket.md +27 -0
  416. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldDeferOfflineMutation.md +18 -0
  417. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldReplayQueuedMutation.md +18 -0
  418. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldShowStillThereModal.md +5 -0
  419. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useFeatureFlags.md +15 -0
  420. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useOfflineStatus.md +16 -0
  421. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useRealtimeDebug.md +18 -0
  422. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useSelectCurrentUserId.md +5 -0
  423. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useSelectIsAuthenticating.md +5 -0
  424. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useServerStatus.md +26 -0
  425. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useSocketConnection.md +19 -0
  426. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useSyncConnection.md +32 -0
  427. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +19 -0
  428. package/dist/docs/versioned/0.23.0/reference/generated/rtk/functions/useUpgradeCheck.md +30 -0
  429. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BaseUrls.md +17 -0
  430. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +31 -0
  431. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthClientInterface.md +23 -0
  432. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthSession.md +43 -0
  433. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthSessionData.md +13 -0
  434. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthState.md +49 -0
  435. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthUser.md +43 -0
  436. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ConflictRecord.md +47 -0
  437. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/EmailSignupRequest.md +15 -0
  438. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ExpoConstantsShape.md +29 -0
  439. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +23 -0
  440. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/GoogleLoginRequest.md +5 -0
  441. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ListResponse.md +35 -0
  442. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +15 -0
  443. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineState.md +23 -0
  444. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineStatus.md +87 -0
  445. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/QueuedMutation.md +55 -0
  446. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/RealtimeEvent.md +58 -0
  447. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ResetPasswordRequest.md +15 -0
  448. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ServerStatusOptions.md +31 -0
  449. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/SocketConnection.md +11 -0
  450. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/StorageAdapter.md +53 -0
  451. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/TerrenoFlagDefinition.md +19 -0
  452. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseFeatureFlagsOptions.md +50 -0
  453. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +87 -0
  454. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsOptions.md +41 -0
  455. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsResult.md +33 -0
  456. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UserResponse.md +17 -0
  457. package/dist/docs/versioned/0.23.0/reference/generated/rtk/interfaces/VersionCheckResponse.md +39 -0
  458. package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthClient.md +3 -0
  459. package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthOAuthProvider.md +3 -0
  460. package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthSlice.md +3 -0
  461. package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/EmailLoginRequest.md +1 -0
  462. package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/RootState.md +1 -0
  463. package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/ServerStatus.md +1 -0
  464. package/dist/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/TerrenoFlagConfiguration.md +1 -0
  465. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/AUTH_DEBUG.md +1 -0
  466. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/IsWeb.md +1 -0
  467. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/LOGOUT_ACTION_TYPE.md +1 -0
  468. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/SAME_ORIGIN_SENTINEL.md +5 -0
  469. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/TOKEN_REFRESHED_SUCCESS.md +1 -0
  470. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/addConflict.md +1 -0
  471. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/baseTasksUrl.md +1 -0
  472. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/baseUrl.md +1 -0
  473. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/baseWebsocketsUrl.md +1 -0
  474. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/clearConflicts.md +1 -0
  475. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/clearQueue.md +1 -0
  476. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/dequeue.md +1 -0
  477. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/dismissConflict.md +1 -0
  478. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/emptySplitApi.md +1 -0
  479. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/enqueue.md +1 -0
  480. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/offlineReducer.md +1 -0
  481. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/offlineSlice.md +1 -0
  482. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/selectUndismissedConflicts.md +1 -0
  483. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/setOnlineStatus.md +1 -0
  484. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/setSyncing.md +1 -0
  485. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/staggeredBaseQuery.md +1 -0
  486. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/useGetVersionCheckQuery.md +1 -0
  487. package/dist/docs/versioned/0.23.0/reference/generated/rtk/variables/useLazyGetVersionCheckQuery.md +1 -0
  488. package/dist/docs/versioned/0.23.0/reference/mcp-server.md +586 -0
  489. package/dist/docs/versioned/0.23.0/reference/rtk.md +439 -0
  490. package/dist/docs/versioned/0.23.0/reference/ui.md +418 -0
  491. package/dist/docs/versioned/0.23.0/tasks/admin-improvements.md +429 -0
  492. package/dist/docs/versioned/0.23.0/tasks/admin-only.md +221 -0
  493. package/dist/docs/versioned/0.23.0/tasks/admin-script-runner.md +50 -0
  494. package/dist/docs/versioned/0.23.0/tasks/admin-ui-v2-django-parity.md +135 -0
  495. package/dist/docs/versioned/0.23.0/tasks/consent-forms.md +193 -0
  496. package/dist/docs/versioned/0.23.0/tasks/design-blend-skill.md +147 -0
  497. package/dist/docs/versioned/0.23.0/tasks/feature-flags-openfeature.md +77 -0
  498. package/dist/docs/versioned/0.23.0/tasks/feature-flags.md +23 -0
  499. package/dist/docs/versioned/0.23.0/tasks/model-router-actions.md +46 -0
  500. package/dist/docs/versioned/0.23.0/tasks/model-router-mcp.md +105 -0
  501. package/dist/docs/versioned/0.23.0/tasks/offline-mode.md +139 -0
  502. package/dist/docs/versioned/0.23.0/tasks/syncdb-local-first.md +117 -0
  503. package/dist/docs/versioned/0.23.0/tasks/upgrade-banner.md +73 -0
  504. package/dist/docs/versioned/0.23.0/tutorials/README.md +7 -0
  505. package/dist/docs/versioned/0.23.0/tutorials/getting-started.md +44 -0
  506. package/dist/docs/versioned/next/reference/environment-variables.md +7 -3
  507. package/dist/docs/versioned/next/reference/rtk.md +11 -4
  508. package/package.json +3 -3
  509. package/src/docs/versioned/0.23.0/README.md +29 -0
  510. package/src/docs/versioned/0.23.0/explanation/README.md +13 -0
  511. package/src/docs/versioned/0.23.0/explanation/ai-workflows.md +270 -0
  512. package/src/docs/versioned/0.23.0/explanation/authentication.md +438 -0
  513. package/src/docs/versioned/0.23.0/explanation/configuration-system.md +428 -0
  514. package/src/docs/versioned/0.23.0/explanation/dependency-management.md +192 -0
  515. package/src/docs/versioned/0.23.0/explanation/gcp-hosting-architecture.md +319 -0
  516. package/src/docs/versioned/0.23.0/explanation/model-router-actions.md +156 -0
  517. package/src/docs/versioned/0.23.0/explanation/modular-api-design.md +228 -0
  518. package/src/docs/versioned/0.23.0/how-to/README.md +20 -0
  519. package/src/docs/versioned/0.23.0/how-to/add-feature-flags.md +115 -0
  520. package/src/docs/versioned/0.23.0/how-to/add-github-oauth.md +316 -0
  521. package/src/docs/versioned/0.23.0/how-to/configure-better-auth.md +296 -0
  522. package/src/docs/versioned/0.23.0/how-to/create-a-model.md +165 -0
  523. package/src/docs/versioned/0.23.0/how-to/deploy-to-gcp.md +244 -0
  524. package/src/docs/versioned/0.23.0/how-to/upgrade-banner.md +172 -0
  525. package/src/docs/versioned/0.23.0/how-to/websocket-integration.md +416 -0
  526. package/src/docs/versioned/0.23.0/implementationPlans/IP_TEMPLATE.md +47 -0
  527. package/src/docs/versioned/0.23.0/implementationPlans/ModularAPI.md +844 -0
  528. package/src/docs/versioned/0.23.0/implementationPlans/PLAN_INDEX.md +21 -0
  529. package/src/docs/versioned/0.23.0/implementationPlans/README.md +42 -0
  530. package/src/docs/versioned/0.23.0/implementationPlans/admin-improvements.md +577 -0
  531. package/src/docs/versioned/0.23.0/implementationPlans/admin-only-research.md +258 -0
  532. package/src/docs/versioned/0.23.0/implementationPlans/admin-only.md +616 -0
  533. package/src/docs/versioned/0.23.0/implementationPlans/admin-script-runner.md +107 -0
  534. package/src/docs/versioned/0.23.0/implementationPlans/admin-ui-v2-django-parity.md +204 -0
  535. package/src/docs/versioned/0.23.0/implementationPlans/consent-forms.md +417 -0
  536. package/src/docs/versioned/0.23.0/implementationPlans/design-blend-skill.md +188 -0
  537. package/src/docs/versioned/0.23.0/implementationPlans/docs-site-and-versioning.md +138 -0
  538. package/src/docs/versioned/0.23.0/implementationPlans/feature-flags-openfeature.md +545 -0
  539. package/src/docs/versioned/0.23.0/implementationPlans/feature-flags.md +310 -0
  540. package/src/docs/versioned/0.23.0/implementationPlans/mcp-boost-parity.md +246 -0
  541. package/src/docs/versioned/0.23.0/implementationPlans/model-router-actions.md +639 -0
  542. package/src/docs/versioned/0.23.0/implementationPlans/model-router-mcp.md +186 -0
  543. package/src/docs/versioned/0.23.0/implementationPlans/offline-mode.md +311 -0
  544. package/src/docs/versioned/0.23.0/implementationPlans/syncdb-local-first.md +591 -0
  545. package/src/docs/versioned/0.23.0/implementationPlans/terreno-langfuse-integration.md +145 -0
  546. package/src/docs/versioned/0.23.0/implementationPlans/upgrade-banner.md +275 -0
  547. package/src/docs/versioned/0.23.0/reference/README.md +22 -0
  548. package/src/docs/versioned/0.23.0/reference/admin-backend.md +122 -0
  549. package/src/docs/versioned/0.23.0/reference/admin-frontend.md +205 -0
  550. package/src/docs/versioned/0.23.0/reference/api-health.md +81 -0
  551. package/src/docs/versioned/0.23.0/reference/api.md +1205 -0
  552. package/src/docs/versioned/0.23.0/reference/components/README.mdx +65 -0
  553. package/src/docs/versioned/0.23.0/reference/components/accordion.mdx +37 -0
  554. package/src/docs/versioned/0.23.0/reference/components/addressfield.mdx +26 -0
  555. package/src/docs/versioned/0.23.0/reference/components/ai-suggestion-box.mdx +26 -0
  556. package/src/docs/versioned/0.23.0/reference/components/avatar.mdx +35 -0
  557. package/src/docs/versioned/0.23.0/reference/components/badge.mdx +38 -0
  558. package/src/docs/versioned/0.23.0/reference/components/banner.mdx +26 -0
  559. package/src/docs/versioned/0.23.0/reference/components/boolean-field.mdx +36 -0
  560. package/src/docs/versioned/0.23.0/reference/components/box.mdx +26 -0
  561. package/src/docs/versioned/0.23.0/reference/components/button.mdx +44 -0
  562. package/src/docs/versioned/0.23.0/reference/components/card.mdx +26 -0
  563. package/src/docs/versioned/0.23.0/reference/components/checkbox.mdx +30 -0
  564. package/src/docs/versioned/0.23.0/reference/components/consentformscreen.mdx +26 -0
  565. package/src/docs/versioned/0.23.0/reference/components/custom-select-field.mdx +36 -0
  566. package/src/docs/versioned/0.23.0/reference/components/datatable.mdx +44 -0
  567. package/src/docs/versioned/0.23.0/reference/components/date-time-field.mdx +49 -0
  568. package/src/docs/versioned/0.23.0/reference/components/email-field.mdx +43 -0
  569. package/src/docs/versioned/0.23.0/reference/components/emoji-selector.mdx +26 -0
  570. package/src/docs/versioned/0.23.0/reference/components/field.mdx +26 -0
  571. package/src/docs/versioned/0.23.0/reference/components/height-field.mdx +45 -0
  572. package/src/docs/versioned/0.23.0/reference/components/icon.mdx +31 -0
  573. package/src/docs/versioned/0.23.0/reference/components/iconbutton.mdx +42 -0
  574. package/src/docs/versioned/0.23.0/reference/components/inner-modal-content.mdx +41 -0
  575. package/src/docs/versioned/0.23.0/reference/components/markdown-editor-field.mdx +50 -0
  576. package/src/docs/versioned/0.23.0/reference/components/markdownview.mdx +37 -0
  577. package/src/docs/versioned/0.23.0/reference/components/multiselect-field.mdx +36 -0
  578. package/src/docs/versioned/0.23.0/reference/components/number-field.mdx +46 -0
  579. package/src/docs/versioned/0.23.0/reference/components/page.mdx +46 -0
  580. package/src/docs/versioned/0.23.0/reference/components/pagination.mdx +30 -0
  581. package/src/docs/versioned/0.23.0/reference/components/password-field.mdx +26 -0
  582. package/src/docs/versioned/0.23.0/reference/components/phone-number-field.mdx +44 -0
  583. package/src/docs/versioned/0.23.0/reference/components/radio-field.mdx +31 -0
  584. package/src/docs/versioned/0.23.0/reference/components/sectiondivider.mdx +26 -0
  585. package/src/docs/versioned/0.23.0/reference/components/segmented-control.mdx +34 -0
  586. package/src/docs/versioned/0.23.0/reference/components/select-field.mdx +26 -0
  587. package/src/docs/versioned/0.23.0/reference/components/selectbadge.mdx +35 -0
  588. package/src/docs/versioned/0.23.0/reference/components/side-drawer.mdx +34 -0
  589. package/src/docs/versioned/0.23.0/reference/components/sidebar-navigation-non-expo.mdx +35 -0
  590. package/src/docs/versioned/0.23.0/reference/components/signature-field.mdx +35 -0
  591. package/src/docs/versioned/0.23.0/reference/components/slider.mdx +43 -0
  592. package/src/docs/versioned/0.23.0/reference/components/spinner.mdx +29 -0
  593. package/src/docs/versioned/0.23.0/reference/components/table-badge.mdx +32 -0
  594. package/src/docs/versioned/0.23.0/reference/components/table-boolean.mdx +29 -0
  595. package/src/docs/versioned/0.23.0/reference/components/table-date.mdx +30 -0
  596. package/src/docs/versioned/0.23.0/reference/components/table-icon-button.mdx +28 -0
  597. package/src/docs/versioned/0.23.0/reference/components/table-number.mdx +30 -0
  598. package/src/docs/versioned/0.23.0/reference/components/table-text.mdx +30 -0
  599. package/src/docs/versioned/0.23.0/reference/components/table-title.mdx +28 -0
  600. package/src/docs/versioned/0.23.0/reference/components/table.mdx +38 -0
  601. package/src/docs/versioned/0.23.0/reference/components/tap-to-edit.mdx +26 -0
  602. package/src/docs/versioned/0.23.0/reference/components/text-area.mdx +50 -0
  603. package/src/docs/versioned/0.23.0/reference/components/text-field.mdx +52 -0
  604. package/src/docs/versioned/0.23.0/reference/components/theme.mdx +26 -0
  605. package/src/docs/versioned/0.23.0/reference/components/toast.mdx +26 -0
  606. package/src/docs/versioned/0.23.0/reference/components/tooltip.mdx +30 -0
  607. package/src/docs/versioned/0.23.0/reference/components/userinactivity.mdx +32 -0
  608. package/src/docs/versioned/0.23.0/reference/environment-variables.md +382 -0
  609. package/src/docs/versioned/0.23.0/reference/feature-flags.md +304 -0
  610. package/src/docs/versioned/0.23.0/reference/generated/README.md +17 -0
  611. package/src/docs/versioned/0.23.0/reference/generated/api/README.md +282 -0
  612. package/src/docs/versioned/0.23.0/reference/generated/api/classes/APIError.md +96 -0
  613. package/src/docs/versioned/0.23.0/reference/generated/api/classes/BetterAuthApp.md +84 -0
  614. package/src/docs/versioned/0.23.0/reference/generated/api/classes/CachingSecretProvider.md +118 -0
  615. package/src/docs/versioned/0.23.0/reference/generated/api/classes/CompositeSecretProvider.md +79 -0
  616. package/src/docs/versioned/0.23.0/reference/generated/api/classes/ConfigurationApp.md +94 -0
  617. package/src/docs/versioned/0.23.0/reference/generated/api/classes/ConsentApp.md +74 -0
  618. package/src/docs/versioned/0.23.0/reference/generated/api/classes/DateOnly.md +123 -0
  619. package/src/docs/versioned/0.23.0/reference/generated/api/classes/EnvSecretProvider.md +64 -0
  620. package/src/docs/versioned/0.23.0/reference/generated/api/classes/GcpSecretProvider.md +76 -0
  621. package/src/docs/versioned/0.23.0/reference/generated/api/classes/OpenApiMiddlewareBuilder.md +577 -0
  622. package/src/docs/versioned/0.23.0/reference/generated/api/classes/RealtimeApp.md +112 -0
  623. package/src/docs/versioned/0.23.0/reference/generated/api/classes/TaskCancelledError.md +23 -0
  624. package/src/docs/versioned/0.23.0/reference/generated/api/classes/TerrenoApp.md +262 -0
  625. package/src/docs/versioned/0.23.0/reference/generated/api/classes/VersionCheckPlugin.md +43 -0
  626. package/src/docs/versioned/0.23.0/reference/generated/api/functions/AdminOwnerTransformer.md +47 -0
  627. package/src/docs/versioned/0.23.0/reference/generated/api/functions/OwnerQueryFilter.md +11 -0
  628. package/src/docs/versioned/0.23.0/reference/generated/api/functions/addAuthRoutes.md +19 -0
  629. package/src/docs/versioned/0.23.0/reference/generated/api/functions/addGitHubAuthRoutes.md +31 -0
  630. package/src/docs/versioned/0.23.0/reference/generated/api/functions/addMeRoutes.md +19 -0
  631. package/src/docs/versioned/0.23.0/reference/generated/api/functions/addPopulateToQuery.md +15 -0
  632. package/src/docs/versioned/0.23.0/reference/generated/api/functions/addQuerySubscription.md +26 -0
  633. package/src/docs/versioned/0.23.0/reference/generated/api/functions/apiErrorMiddleware.md +23 -0
  634. package/src/docs/versioned/0.23.0/reference/generated/api/functions/apiFallthroughErrorMiddleware.md +26 -0
  635. package/src/docs/versioned/0.23.0/reference/generated/api/functions/apiUnauthorizedMiddleware.md +23 -0
  636. package/src/docs/versioned/0.23.0/reference/generated/api/functions/applyRequestContextToSentry.md +11 -0
  637. package/src/docs/versioned/0.23.0/reference/generated/api/functions/assertNoActionCollisions.md +21 -0
  638. package/src/docs/versioned/0.23.0/reference/generated/api/functions/asyncHandler.md +15 -0
  639. package/src/docs/versioned/0.23.0/reference/generated/api/functions/authenticateMiddleware.md +11 -0
  640. package/src/docs/versioned/0.23.0/reference/generated/api/functions/baseUserPlugin.md +11 -0
  641. package/src/docs/versioned/0.23.0/reference/generated/api/functions/buildQuerySchemaFromFields.md +30 -0
  642. package/src/docs/versioned/0.23.0/reference/generated/api/functions/checkModelsStrict.md +21 -0
  643. package/src/docs/versioned/0.23.0/reference/generated/api/functions/checkPermissions.md +29 -0
  644. package/src/docs/versioned/0.23.0/reference/generated/api/functions/clearQueryStore.md +7 -0
  645. package/src/docs/versioned/0.23.0/reference/generated/api/functions/clearRealtimeRegistry.md +7 -0
  646. package/src/docs/versioned/0.23.0/reference/generated/api/functions/computeQueryId.md +18 -0
  647. package/src/docs/versioned/0.23.0/reference/generated/api/functions/configurationPlugin.md +48 -0
  648. package/src/docs/versioned/0.23.0/reference/generated/api/functions/configureOpenApiValidator.md +28 -0
  649. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createActionOpenApiMiddleware.md +35 -0
  650. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createBetterAuth.md +13 -0
  651. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createBetterAuthSessionMiddleware.md +18 -0
  652. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createFeatureFlaggedLogger.md +53 -0
  653. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createModelValidators.md +74 -0
  654. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createOpenApiBuilder.md +39 -0
  655. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createRouter.md +19 -0
  656. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createRouterWithAuth.md +19 -0
  657. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createScopedLogger.md +53 -0
  658. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createScriptArgs.md +33 -0
  659. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createValidator.md +29 -0
  660. package/src/docs/versioned/0.23.0/reference/generated/api/functions/createdUpdatedPlugin.md +11 -0
  661. package/src/docs/versioned/0.23.0/reference/generated/api/functions/cronjob.md +19 -0
  662. package/src/docs/versioned/0.23.0/reference/generated/api/functions/defaultResponseHandler.md +32 -0
  663. package/src/docs/versioned/0.23.0/reference/generated/api/functions/defineCollectionAction.md +25 -0
  664. package/src/docs/versioned/0.23.0/reference/generated/api/functions/defineInstanceAction.md +29 -0
  665. package/src/docs/versioned/0.23.0/reference/generated/api/functions/envConfigurationPlugin.md +11 -0
  666. package/src/docs/versioned/0.23.0/reference/generated/api/functions/errorMessage.md +13 -0
  667. package/src/docs/versioned/0.23.0/reference/generated/api/functions/errorStack.md +13 -0
  668. package/src/docs/versioned/0.23.0/reference/generated/api/functions/errorsPlugin.md +11 -0
  669. package/src/docs/versioned/0.23.0/reference/generated/api/functions/findExactlyOne.md +25 -0
  670. package/src/docs/versioned/0.23.0/reference/generated/api/functions/findOneOrNone.md +24 -0
  671. package/src/docs/versioned/0.23.0/reference/generated/api/functions/findOneOrNoneFor.md +37 -0
  672. package/src/docs/versioned/0.23.0/reference/generated/api/functions/findRegistryEntryByCollection.md +13 -0
  673. package/src/docs/versioned/0.23.0/reference/generated/api/functions/findRegistryEntryByRoutePath.md +13 -0
  674. package/src/docs/versioned/0.23.0/reference/generated/api/functions/firebaseJWTPlugin.md +11 -0
  675. package/src/docs/versioned/0.23.0/reference/generated/api/functions/fixMixedFields.md +21 -0
  676. package/src/docs/versioned/0.23.0/reference/generated/api/functions/flattenToDotPaths.md +24 -0
  677. package/src/docs/versioned/0.23.0/reference/generated/api/functions/formatLogContextSuffix.md +17 -0
  678. package/src/docs/versioned/0.23.0/reference/generated/api/functions/generateTokens.md +35 -0
  679. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getAPIErrorBody.md +11 -0
  680. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getBetterAuthSession.md +13 -0
  681. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentLogContext.md +9 -0
  682. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentRequestContext.md +8 -0
  683. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getCurrentRequestContextAttributes.md +15 -0
  684. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getDisableExternalErrorTracking.md +15 -0
  685. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getMongoClientFromMongoose.md +7 -0
  686. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getOpenApiSpecForModel.md +29 -0
  687. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getOpenApiValidatorConfig.md +7 -0
  688. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getQuerySubscriptionsForCollection.md +14 -0
  689. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getRealtimeRegistry.md +7 -0
  690. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getRequestContextFromAttributes.md +11 -0
  691. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getSchemaFromModel.md +25 -0
  692. package/src/docs/versioned/0.23.0/reference/generated/api/functions/getSessionIdFromJwtPayload.md +11 -0
  693. package/src/docs/versioned/0.23.0/reference/generated/api/functions/githubUserPlugin.md +22 -0
  694. package/src/docs/versioned/0.23.0/reference/generated/api/functions/hasBetterAuthSession.md +13 -0
  695. package/src/docs/versioned/0.23.0/reference/generated/api/functions/installRealtimeSocketHandlers.md +27 -0
  696. package/src/docs/versioned/0.23.0/reference/generated/api/functions/isAPIError.md +11 -0
  697. package/src/docs/versioned/0.23.0/reference/generated/api/functions/isDeletedPlugin.md +15 -0
  698. package/src/docs/versioned/0.23.0/reference/generated/api/functions/isDisabledPlugin.md +15 -0
  699. package/src/docs/versioned/0.23.0/reference/generated/api/functions/isOpenApiValidatorConfigured.md +8 -0
  700. package/src/docs/versioned/0.23.0/reference/generated/api/functions/isValidObjectId.md +11 -0
  701. package/src/docs/versioned/0.23.0/reference/generated/api/functions/jsonResponseRequestIdMiddleware.md +24 -0
  702. package/src/docs/versioned/0.23.0/reference/generated/api/functions/logRequests.md +19 -0
  703. package/src/docs/versioned/0.23.0/reference/generated/api/functions/matchesQuery.md +23 -0
  704. package/src/docs/versioned/0.23.0/reference/generated/api/functions/modelRouter.md +83 -0
  705. package/src/docs/versioned/0.23.0/reference/generated/api/functions/mongooseErrorToAPIError.md +13 -0
  706. package/src/docs/versioned/0.23.0/reference/generated/api/functions/mountBetterAuthRoutes.md +21 -0
  707. package/src/docs/versioned/0.23.0/reference/generated/api/functions/openApiCompatMiddleware.md +22 -0
  708. package/src/docs/versioned/0.23.0/reference/generated/api/functions/openApiEtagMiddleware.md +23 -0
  709. package/src/docs/versioned/0.23.0/reference/generated/api/functions/parseScriptArgs.md +35 -0
  710. package/src/docs/versioned/0.23.0/reference/generated/api/functions/patchAppUse.md +17 -0
  711. package/src/docs/versioned/0.23.0/reference/generated/api/functions/permissionMiddleware.md +21 -0
  712. package/src/docs/versioned/0.23.0/reference/generated/api/functions/registerActionRoutes.md +25 -0
  713. package/src/docs/versioned/0.23.0/reference/generated/api/functions/registerRealtime.md +14 -0
  714. package/src/docs/versioned/0.23.0/reference/generated/api/functions/removeAllSocketQueries.md +13 -0
  715. package/src/docs/versioned/0.23.0/reference/generated/api/functions/removeQuerySubscription.md +17 -0
  716. package/src/docs/versioned/0.23.0/reference/generated/api/functions/requestContextMiddleware.md +26 -0
  717. package/src/docs/versioned/0.23.0/reference/generated/api/functions/resetOpenApiValidatorConfig.md +9 -0
  718. package/src/docs/versioned/0.23.0/reference/generated/api/functions/runActionPermissions.md +33 -0
  719. package/src/docs/versioned/0.23.0/reference/generated/api/functions/runWithRequestContext.md +38 -0
  720. package/src/docs/versioned/0.23.0/reference/generated/api/functions/runWithRequestContextAttributes.md +25 -0
  721. package/src/docs/versioned/0.23.0/reference/generated/api/functions/sendToGoogleChat.md +25 -0
  722. package/src/docs/versioned/0.23.0/reference/generated/api/functions/sendToSlack.md +29 -0
  723. package/src/docs/versioned/0.23.0/reference/generated/api/functions/sendToZoom.md +67 -0
  724. package/src/docs/versioned/0.23.0/reference/generated/api/functions/sentryAppVersionMiddleware.md +26 -0
  725. package/src/docs/versioned/0.23.0/reference/generated/api/functions/serialize.md +25 -0
  726. package/src/docs/versioned/0.23.0/reference/generated/api/functions/setRequestContext.md +11 -0
  727. package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupAuth.md +15 -0
  728. package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupBetterAuthUserSync.md +21 -0
  729. package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupEnvironment.md +5 -0
  730. package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupGitHubAuth.md +22 -0
  731. package/src/docs/versioned/0.23.0/reference/generated/api/functions/setupLogging.md +11 -0
  732. package/src/docs/versioned/0.23.0/reference/generated/api/functions/signupUser.md +23 -0
  733. package/src/docs/versioned/0.23.0/reference/generated/api/functions/startChangeStreamWatcher.md +21 -0
  734. package/src/docs/versioned/0.23.0/reference/generated/api/functions/stopChangeStreamWatcher.md +7 -0
  735. package/src/docs/versioned/0.23.0/reference/generated/api/functions/syncBetterAuthUser.md +19 -0
  736. package/src/docs/versioned/0.23.0/reference/generated/api/functions/syncConsents.md +45 -0
  737. package/src/docs/versioned/0.23.0/reference/generated/api/functions/timeout.md +11 -0
  738. package/src/docs/versioned/0.23.0/reference/generated/api/functions/transform.md +29 -0
  739. package/src/docs/versioned/0.23.0/reference/generated/api/functions/unpopulate.md +21 -0
  740. package/src/docs/versioned/0.23.0/reference/generated/api/functions/updateRequestContextFromRequest.md +15 -0
  741. package/src/docs/versioned/0.23.0/reference/generated/api/functions/upsertPlugin.md +23 -0
  742. package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateActionRequest.md +35 -0
  743. package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateModelRequestBody.md +30 -0
  744. package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateQueryParams.md +23 -0
  745. package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateRequestBody.md +26 -0
  746. package/src/docs/versioned/0.23.0/reference/generated/api/functions/validateResponseData.md +32 -0
  747. package/src/docs/versioned/0.23.0/reference/generated/api/functions/wrapActionResponse.md +19 -0
  748. package/src/docs/versioned/0.23.0/reference/generated/api/functions/wrapScript.md +15 -0
  749. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/APIErrorConstructor.md +93 -0
  750. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ActionContext.md +49 -0
  751. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/AsyncHandlerOptions.md +32 -0
  752. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/AuthOptions.md +47 -0
  753. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskDocument.md +141 -0
  754. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskMethods.md +55 -0
  755. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskModel.md +51 -0
  756. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BackgroundTaskStatics.md +19 -0
  757. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BaseUser.md +11 -0
  758. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthAppOptions.md +11 -0
  759. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthConfig.md +74 -0
  760. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthOAuthProvider.md +13 -0
  761. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthSession.md +43 -0
  762. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthSessionData.md +13 -0
  763. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/BetterAuthUser.md +43 -0
  764. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CachingSecretProviderOptions.md +9 -0
  765. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ChangeStreamConfig.md +41 -0
  766. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CollectionActionConfig.md +123 -0
  767. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigRegistration.md +23 -0
  768. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationAppOptions.md +51 -0
  769. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationMetaResponse.md +7 -0
  770. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationModel.md +166 -0
  771. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationPermissions.md +45 -0
  772. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationPluginOptions.md +30 -0
  773. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConfigurationStatics.md +107 -0
  774. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentAppOptions.md +85 -0
  775. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormCheckbox.md +17 -0
  776. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormDefinition.md +83 -0
  777. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormDocument.md +123 -0
  778. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormModel.md +79 -0
  779. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentFormStatics.md +55 -0
  780. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseDocument.md +105 -0
  781. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseMethods.md +1 -0
  782. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseModel.md +79 -0
  783. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ConsentResponseStatics.md +55 -0
  784. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateBetterAuthOptions.md +17 -0
  785. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateFeatureFlaggedLoggerOptions.md +29 -0
  786. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateScopedLoggerOptions.md +18 -0
  787. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreateValidatorOptions.md +25 -0
  788. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/CreatedDeleted.md +27 -0
  789. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/DocumentSubscription.md +17 -0
  790. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/FindExactlyOnePlugin.md +30 -0
  791. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/FindOneOrNonePlugin.md +30 -0
  792. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/GcpSecretProviderOptions.md +9 -0
  793. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/GenerateTokensOptions.md +5 -0
  794. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/GitHubAuthOptions.md +74 -0
  795. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/GitHubUserFields.md +33 -0
  796. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/HasUpsert.md +27 -0
  797. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/InstanceActionConfig.md +127 -0
  798. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/IsDeleted.md +7 -0
  799. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/JSONArray.md +7 -0
  800. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/JSONObject.md +3 -0
  801. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/JwtSessionPayload.md +19 -0
  802. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/LogContextFields.md +41 -0
  803. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/LoggingOptions.md +73 -0
  804. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterOptions.md +524 -0
  805. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterRegistration.md +33 -0
  806. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ModelRouterValidationOptions.md +89 -0
  807. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/MongoClientLike.md +11 -0
  808. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiBuildResult.md +34 -0
  809. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiMiddleware.md +98 -0
  810. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiParameter.md +66 -0
  811. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiResponse.md +43 -0
  812. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiSchema.md +62 -0
  813. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiSchemaProperty.md +89 -0
  814. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/OpenApiValidatorConfig.md +94 -0
  815. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/PopulatePath.md +17 -0
  816. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/QuerySubscription.md +25 -0
  817. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/QueryValidatorOptions.md +31 -0
  818. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RESTPermissions.md +35 -0
  819. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeAppOptions.md +62 -0
  820. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeConfig.md +44 -0
  821. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeEvent.md +57 -0
  822. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeRegistryEntry.md +41 -0
  823. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RealtimeSocketLike.md +94 -0
  824. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RequestBodyValidatorOptions.md +71 -0
  825. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/RequestContext.md +59 -0
  826. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScopedLogger.md +100 -0
  827. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptArgDef.md +60 -0
  828. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptArgs.md +121 -0
  829. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptContext.md +67 -0
  830. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/ScriptResult.md +11 -0
  831. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/SecretFieldMeta.md +29 -0
  832. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/SecretProvider.md +35 -0
  833. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/SyncConsentsOptions.md +15 -0
  834. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/SyncConsentsResult.md +23 -0
  835. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoAppOptions.md +112 -0
  836. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoPlugin.md +78 -0
  837. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoRequestLogEntry.md +13 -0
  838. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/TerrenoTransformer.md +49 -0
  839. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/User.md +26 -0
  840. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/UserModel.md +113 -0
  841. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionCheckResponse.md +37 -0
  842. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionConfigDocument.md +65 -0
  843. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/VersionConfigModel.md +51 -0
  844. package/src/docs/versioned/0.23.0/reference/generated/api/interfaces/WrapScriptOptions.md +27 -0
  845. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/AddRoutes.md +15 -0
  846. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/AuthProvider.md +5 -0
  847. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/BetterAuthInstance.md +3 -0
  848. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigType.md +1 -0
  849. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigurationPostUpdateHook.md +24 -0
  850. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConfigurationPreUpdateHook.md +20 -0
  851. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConsentFormMethods.md +1 -0
  852. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ConsentFormType.md +1 -0
  853. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/DeepPartial.md +9 -0
  854. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/GooseRESTOptions.md +7 -0
  855. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/JSONPrimitive.md +1 -0
  856. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/JSONValue.md +1 -0
  857. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/PathValue.md +19 -0
  858. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/Paths.md +15 -0
  859. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/PermissionMethod.md +25 -0
  860. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/RESTMethod.md +17 -0
  861. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/RequestContextAttributes.md +1 -0
  862. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ScriptArgValue.md +3 -0
  863. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/ScriptRunner.md +15 -0
  864. package/src/docs/versioned/0.23.0/reference/generated/api/type-aliases/VersionCheckStatus.md +1 -0
  865. package/src/docs/versioned/0.23.0/reference/generated/api/variables/ACTION_NAME_PATTERN.md +1 -0
  866. package/src/docs/versioned/0.23.0/reference/generated/api/variables/BackgroundTask.md +1 -0
  867. package/src/docs/versioned/0.23.0/reference/generated/api/variables/Config.md +244 -0
  868. package/src/docs/versioned/0.23.0/reference/generated/api/variables/ConsentForm.md +1 -0
  869. package/src/docs/versioned/0.23.0/reference/generated/api/variables/ConsentResponse.md +1 -0
  870. package/src/docs/versioned/0.23.0/reference/generated/api/variables/MAX_DOCUMENT_SUBSCRIPTIONS.md +1 -0
  871. package/src/docs/versioned/0.23.0/reference/generated/api/variables/MAX_MODEL_SUBSCRIPTIONS.md +4 -0
  872. package/src/docs/versioned/0.23.0/reference/generated/api/variables/MAX_QUERY_SUBSCRIPTIONS.md +1 -0
  873. package/src/docs/versioned/0.23.0/reference/generated/api/variables/Permissions.md +109 -0
  874. package/src/docs/versioned/0.23.0/reference/generated/api/variables/REQUEST_CONTEXT_ATTRIBUTE_NAMES.md +39 -0
  875. package/src/docs/versioned/0.23.0/reference/generated/api/variables/VersionConfig.md +1 -0
  876. package/src/docs/versioned/0.23.0/reference/generated/api/variables/consentResponsePopulatePaths.md +3 -0
  877. package/src/docs/versioned/0.23.0/reference/generated/api/variables/gooseRestRouter.md +85 -0
  878. package/src/docs/versioned/0.23.0/reference/generated/api/variables/logger.md +109 -0
  879. package/src/docs/versioned/0.23.0/reference/generated/api/variables/winstonLogger.md +1 -0
  880. package/src/docs/versioned/0.23.0/reference/generated/rtk/README.md +126 -0
  881. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/buildOptimisticCreateItem.md +17 -0
  882. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/configureOfflineMutationEndpoints.md +13 -0
  883. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/createBetterAuthClient.md +30 -0
  884. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/createOfflineMiddleware.md +41 -0
  885. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/createSessionApi.md +21 -0
  886. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/createStorageAdapter.md +17 -0
  887. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/generateAuthSlice.md +35 -0
  888. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/generateBetterAuthSlice.md +87 -0
  889. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/generateProfileEndpoints.md +35 -0
  890. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/generateTags.md +15 -0
  891. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getAuthToken.md +5 -0
  892. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getBaseQuery.md +23 -0
  893. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getFriendlyExpirationInfo.md +5 -0
  894. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getRealtimeSocket.md +7 -0
  895. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/getTokenExpirationTimes.md +5 -0
  896. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/isNetworkFetchError.md +14 -0
  897. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/isWebsocketsDebugEnabled.md +5 -0
  898. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/logAuth.md +11 -0
  899. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/logSocket.md +15 -0
  900. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/populateId.md +23 -0
  901. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/realtimeDocument.md +37 -0
  902. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/realtimeList.md +43 -0
  903. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/refreshAuthToken.md +5 -0
  904. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/registerTerrenoDevStore.md +14 -0
  905. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/resolveBaseUrls.md +28 -0
  906. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/resolveFeatureFlagsOptions.md +14 -0
  907. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthError.md +13 -0
  908. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthIsAuthenticated.md +13 -0
  909. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthIsLoading.md +13 -0
  910. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthState.md +13 -0
  911. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthUser.md +13 -0
  912. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectBetterAuthUserId.md +13 -0
  913. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectConflicts.md +13 -0
  914. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectCurrentUserId.md +11 -0
  915. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsAuthenticating.md +11 -0
  916. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsOnline.md +13 -0
  917. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsOnlineSafe.md +15 -0
  918. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectIsSyncing.md +13 -0
  919. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectLastTokenRefreshTimestamp.md +11 -0
  920. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectOfflineQueue.md +13 -0
  921. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/selectQueueLength.md +13 -0
  922. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/setRealtimeDebug.md +13 -0
  923. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/setRealtimeSocket.md +27 -0
  924. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldDeferOfflineMutation.md +18 -0
  925. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldReplayQueuedMutation.md +18 -0
  926. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/shouldShowStillThereModal.md +5 -0
  927. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useFeatureFlags.md +15 -0
  928. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useOfflineStatus.md +16 -0
  929. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useRealtimeDebug.md +18 -0
  930. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useSelectCurrentUserId.md +5 -0
  931. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useSelectIsAuthenticating.md +5 -0
  932. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useServerStatus.md +26 -0
  933. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useSocketConnection.md +19 -0
  934. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useSyncConnection.md +32 -0
  935. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useTerrenoFeatureFlags.md +19 -0
  936. package/src/docs/versioned/0.23.0/reference/generated/rtk/functions/useUpgradeCheck.md +30 -0
  937. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BaseUrls.md +17 -0
  938. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthClientConfig.md +31 -0
  939. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthClientInterface.md +23 -0
  940. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthSession.md +43 -0
  941. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthSessionData.md +13 -0
  942. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthState.md +49 -0
  943. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/BetterAuthUser.md +43 -0
  944. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ConflictRecord.md +47 -0
  945. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/EmailSignupRequest.md +15 -0
  946. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ExpoConstantsShape.md +29 -0
  947. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/GenerateBetterAuthSliceConfig.md +23 -0
  948. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/GoogleLoginRequest.md +5 -0
  949. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ListResponse.md +35 -0
  950. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineMiddlewareConfig.md +15 -0
  951. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineState.md +23 -0
  952. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/OfflineStatus.md +87 -0
  953. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/QueuedMutation.md +55 -0
  954. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/RealtimeEvent.md +58 -0
  955. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ResetPasswordRequest.md +15 -0
  956. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/ServerStatusOptions.md +31 -0
  957. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/SocketConnection.md +11 -0
  958. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/StorageAdapter.md +53 -0
  959. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/TerrenoFlagDefinition.md +19 -0
  960. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseFeatureFlagsOptions.md +50 -0
  961. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseSocketConnectionOptions.md +87 -0
  962. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsOptions.md +41 -0
  963. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UseTerrenoFeatureFlagsResult.md +33 -0
  964. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/UserResponse.md +17 -0
  965. package/src/docs/versioned/0.23.0/reference/generated/rtk/interfaces/VersionCheckResponse.md +39 -0
  966. package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthClient.md +3 -0
  967. package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthOAuthProvider.md +3 -0
  968. package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/BetterAuthSlice.md +3 -0
  969. package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/EmailLoginRequest.md +1 -0
  970. package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/RootState.md +1 -0
  971. package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/ServerStatus.md +1 -0
  972. package/src/docs/versioned/0.23.0/reference/generated/rtk/type-aliases/TerrenoFlagConfiguration.md +1 -0
  973. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/AUTH_DEBUG.md +1 -0
  974. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/IsWeb.md +1 -0
  975. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/LOGOUT_ACTION_TYPE.md +1 -0
  976. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/SAME_ORIGIN_SENTINEL.md +5 -0
  977. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/TOKEN_REFRESHED_SUCCESS.md +1 -0
  978. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/addConflict.md +1 -0
  979. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/baseTasksUrl.md +1 -0
  980. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/baseUrl.md +1 -0
  981. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/baseWebsocketsUrl.md +1 -0
  982. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/clearConflicts.md +1 -0
  983. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/clearQueue.md +1 -0
  984. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/dequeue.md +1 -0
  985. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/dismissConflict.md +1 -0
  986. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/emptySplitApi.md +1 -0
  987. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/enqueue.md +1 -0
  988. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/offlineReducer.md +1 -0
  989. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/offlineSlice.md +1 -0
  990. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/selectUndismissedConflicts.md +1 -0
  991. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/setOnlineStatus.md +1 -0
  992. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/setSyncing.md +1 -0
  993. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/staggeredBaseQuery.md +1 -0
  994. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/useGetVersionCheckQuery.md +1 -0
  995. package/src/docs/versioned/0.23.0/reference/generated/rtk/variables/useLazyGetVersionCheckQuery.md +1 -0
  996. package/src/docs/versioned/0.23.0/reference/mcp-server.md +586 -0
  997. package/src/docs/versioned/0.23.0/reference/rtk.md +439 -0
  998. package/src/docs/versioned/0.23.0/reference/ui.md +418 -0
  999. package/src/docs/versioned/0.23.0/tasks/admin-improvements.md +429 -0
  1000. package/src/docs/versioned/0.23.0/tasks/admin-only.md +221 -0
  1001. package/src/docs/versioned/0.23.0/tasks/admin-script-runner.md +50 -0
  1002. package/src/docs/versioned/0.23.0/tasks/admin-ui-v2-django-parity.md +135 -0
  1003. package/src/docs/versioned/0.23.0/tasks/consent-forms.md +193 -0
  1004. package/src/docs/versioned/0.23.0/tasks/design-blend-skill.md +147 -0
  1005. package/src/docs/versioned/0.23.0/tasks/feature-flags-openfeature.md +77 -0
  1006. package/src/docs/versioned/0.23.0/tasks/feature-flags.md +23 -0
  1007. package/src/docs/versioned/0.23.0/tasks/model-router-actions.md +46 -0
  1008. package/src/docs/versioned/0.23.0/tasks/model-router-mcp.md +105 -0
  1009. package/src/docs/versioned/0.23.0/tasks/offline-mode.md +139 -0
  1010. package/src/docs/versioned/0.23.0/tasks/syncdb-local-first.md +117 -0
  1011. package/src/docs/versioned/0.23.0/tasks/upgrade-banner.md +73 -0
  1012. package/src/docs/versioned/0.23.0/tutorials/README.md +7 -0
  1013. package/src/docs/versioned/0.23.0/tutorials/getting-started.md +44 -0
  1014. package/src/docs/versioned/next/reference/environment-variables.md +7 -3
  1015. package/src/docs/versioned/next/reference/rtk.md +11 -4
@@ -0,0 +1,221 @@
1
+ # Task List: Admin-Only — Serve Admin SPA From a Terreno Backend
2
+
3
+ *Structured task breakdown for automated implementation. Each task should be independently implementable and testable.*
4
+
5
+ See: `docs/implementationPlans/admin-only.md` for full plan.
6
+
7
+ ## Phase 0: admin-frontend prop split (prerequisite — verified blocker)
8
+
9
+ - [ ] **Task 0.1**: Split `baseUrl` → `apiBase` + `routeBase` across admin-frontend
10
+ - Description: Add optional `apiBase` and `routeBase` props alongside the existing `baseUrl` to every exported admin-frontend component. Internally resolve `const apiBase = props.apiBase ?? props.baseUrl; const routeBase = props.routeBase ?? props.baseUrl;`. Replace each occurrence: `useAdminConfig(api, baseUrl)` → `useAdminConfig(api, apiBase)`; `useAdminApi(api, baseUrl, modelName)` → `useAdminApi(api, apiBase, modelName)`; every `router.push(\`${baseUrl}/...\`)` and `href: \`${baseUrl}/...\`` → use `routeBase` instead.
11
+ - Files: `admin-frontend/src/AdminModelList.tsx`, `AdminModelTable.tsx`, `AdminModelForm.tsx`, `AdminRefField.tsx`, `AdminScriptList.tsx`, `AdminVersionConfig.tsx`, `ConfigurationScreen.tsx`, `useAdminConfig.tsx`, `useAdminApi.ts`, `AdminScriptRunModal.tsx` (if it references baseUrl)
12
+ - Depends on: none
13
+ - Acceptance: `bun run admin-frontend:lint` + `bun run admin-frontend:compile` pass. Type-check passes.
14
+
15
+ - [ ] **Task 0.2**: Tests for prop split
16
+ - Description: Add a focused test asserting that when `apiBase="/admin"` + `routeBase="/console"` are passed, `useAdminConfig` is called with `/admin` and `router.push` is invoked with `/console/${modelName}`. Also assert backward-compat: `baseUrl="/admin"` alone still works (both internally default to `/admin`).
17
+ - Files: `admin-frontend/src/AdminModelList.test.tsx`, `AdminModelTable.test.tsx`
18
+ - Depends on: 0.1
19
+ - Acceptance: `bun run admin-frontend:test` passes with new assertions.
20
+
21
+ - [ ] **Task 0.3**: Verify embedded admin still works
22
+ - Description: Run `example-frontend` against `example-backend`. Log in as admin, navigate to `/admin`, click through a model. Verify no regression. No code change expected — this is a verification step.
23
+ - Files: (manual)
24
+ - Depends on: 0.1
25
+ - Acceptance: All embedded admin flows in example-frontend render and function identically to pre-Phase 0.
26
+
27
+ ## Phase 1: Package scaffolding
28
+
29
+ - [ ] **Task 1.1**: Create `admin-spa/` workspace package files
30
+ - Description: Create `package.json` (`@terreno/admin-spa`, version 0.13.0, deps mirror needed runtime: `@terreno/admin-frontend`, `@terreno/rtk`, `@terreno/ui`, `expo`, `expo-router`, `react`, `react-native-web`, `redux-persist`, `better-auth`; peer dep `@terreno/api`; dev deps mirror `example-frontend`). Add `tsconfig.json` (extends Expo preset, covers `app/`, `store/`, `components/`), `tsconfig.server.json` (covers `src/`, outputs `src/dist/`), `biome.jsonc` and `bunfig.toml` copied from `admin-frontend`, `babel.config.js` and `metro.config.js` copied from `example-frontend` (with workspace path adjustments), `app.json` with `web.output: "static"` and `extra.BASE_URL: "__SAME_ORIGIN__"`.
31
+ - Files: `admin-spa/package.json`, `admin-spa/tsconfig.json`, `admin-spa/tsconfig.server.json`, `admin-spa/biome.jsonc`, `admin-spa/bunfig.toml`, `admin-spa/babel.config.js`, `admin-spa/metro.config.js`, `admin-spa/app.json`, `admin-spa/.gitignore` (must include `dist/`, `store/openApiSdk.ts`, `src/dist/`)
32
+ - Depends on: none
33
+ - Acceptance: `bun install` from root succeeds; `bun run --filter '@terreno/admin-spa' compile` is a no-op (succeeds with no source yet).
34
+
35
+ - [ ] **Task 1.2**: Register workspace in root and add scripts
36
+ - Description: Add `"admin-spa"` to `workspaces` array in root `package.json`. Add `admin-spa:compile`, `admin-spa:lint`, `admin-spa:test`, `admin-spa:build`, `admin-spa:sdk` scripts mirroring the admin-backend/admin-frontend convention.
37
+ - Files: `package.json` (root)
38
+ - Depends on: 1.1
39
+ - Acceptance: `bun install` resolves admin-spa; `bun run admin-spa:lint` runs (even with no source).
40
+
41
+ - [ ] **Task 1.3**: Stub server-side plugin entry
42
+ - Description: Create `src/index.ts` exporting `AdminSpaServeApp` (stub class implementing `TerrenoPlugin` with empty `register()`). Create `src/appConfig.ts` with `AdminSpaAppConfig` interface and `DEFAULT_APP_CONFIG`. Run `tsc -p tsconfig.server.json` and verify `src/dist/` is produced.
43
+ - Files: `admin-spa/src/index.ts`, `admin-spa/src/appConfig.ts`
44
+ - Depends on: 1.1
45
+ - Acceptance: `bun run --filter '@terreno/admin-spa' compile` outputs `src/dist/index.js` and `src/dist/appConfig.js`.
46
+
47
+ - [ ] **Task 1.4**: Stub Expo Router app entry
48
+ - Description: Create minimal `app/_layout.tsx` (just `<Stack/>`) and `app/index.tsx` rendering a `<Box>Hello admin</Box>` from `@terreno/ui`. Goal: verify the static export pipeline works end-to-end before adding real logic.
49
+ - Files: `admin-spa/app/_layout.tsx`, `admin-spa/app/index.tsx`
50
+ - Depends on: 1.1
51
+ - Acceptance: `bun run --filter '@terreno/admin-spa' build:web` produces `dist/index.html`, `dist/_expo/...`, no errors. Open `dist/index.html` in a browser → "Hello admin" renders.
52
+
53
+ ## Phase 2: Same-origin BASE_URL support
54
+
55
+ - [ ] **Task 2.1**: Add `__SAME_ORIGIN__` sentinel to `@terreno/rtk`
56
+ - Description: Add `export const SAME_ORIGIN_SENTINEL = "__SAME_ORIGIN__";` to `rtk/src/constants.ts`. Modify `resolveBaseUrls` signature to accept optional `windowOrigin?: string`. When `baseFromExtra === SAME_ORIGIN_SENTINEL` and `windowOrigin` (or `globalThis.location?.origin`) is set, return `{baseUrl: origin, baseTasksUrl: `${origin}/tasks`, baseWebsocketsUrl: `${origin.replace(/^http/, "ws")}/`}`. Module-level call passes `globalThis.location?.origin` (with safe `typeof` check).
57
+ - Files: `rtk/src/constants.ts`
58
+ - Depends on: none
59
+ - Acceptance: Existing tests pass; new sentinel-aware path returns expected URLs.
60
+
61
+ - [ ] **Task 2.2**: Tests for same-origin sentinel
62
+ - Description: Add tests to `rtk/src/constants.test.ts` covering: (a) sentinel + `windowOrigin: "https://api.example.com"` → `https://...` + `wss://...`; (b) sentinel + `windowOrigin: "http://localhost:4000"` → `http://...` + `ws://...`; (c) sentinel + no window origin → falls back to existing resolution; (d) non-sentinel BASE_URL is unchanged; (e) sentinel + isDev=true behaves the same as production for the sentinel path.
63
+ - Files: `rtk/src/constants.test.ts`
64
+ - Depends on: 2.1
65
+ - Acceptance: `bun run rtk:test` passes including new cases.
66
+
67
+ ## Phase 3: Express plugin
68
+
69
+ - [ ] **Task 3.1**: Implement `AdminSpaServeApp.register()`
70
+ - Description: Implement `src/serve.ts`: resolve `basePath` (default `/console`), `distDir` (default `path.resolve(__dirname, "../../dist")` so it works from `src/dist/serve.js`), merged `appConfig`. Register three Express handlers: `express.static` for `_expo/` and `assets/` with `{immutable: true, maxAge: "365d"}`, `GET ${basePath}/app-config.json` returning JSON with `Cache-Control: no-store`, `GET ${basePath}{/*splat}` returning `index.html` with `Cache-Control: no-store`. Log at info level on mount.
71
+ - Files: `admin-spa/src/serve.ts`, `admin-spa/src/index.ts` (export)
72
+ - Depends on: 1.3
73
+ - Acceptance: `bun run admin-spa:compile` produces `src/dist/serve.js`; manual import from Node ESM works.
74
+
75
+ - [ ] **Task 3.2**: Plugin unit tests
76
+ - Description: Add `src/serve.test.ts` using `supertest`. Create a tmpdir with stub `index.html` ("STUB-SPA"), `_expo/static/js/web/foo.abc123.js` ("CONTENT"), and `assets/foo.png` (any bytes). Construct an Express app and register the plugin with `distDir` pointing at the tmpdir. Cases: `GET /console/` → 200 + STUB-SPA + `Cache-Control: no-store`; `GET /console/users` → 200 + STUB-SPA (fallback); `GET /console/users/abc123` → 200 + STUB-SPA; `GET /console/_expo/static/js/web/foo.abc123.js` → 200 + CONTENT + cache headers; `GET /console/app-config.json` → 200 + JSON with `brandName: "Terreno Admin"` (default) + `Cache-Control: no-store`; `GET /console/app-config.json` with custom appConfig → returns merged config; `GET /unrelated` → 404 (plugin doesn't catch outside `basePath`); custom `basePath: "/admin-ui"` works.
77
+ - Files: `admin-spa/src/serve.test.ts`
78
+ - Depends on: 3.1
79
+ - Acceptance: `bun run admin-spa:test` passes all cases.
80
+
81
+ ## Phase 4: SPA — gates and auth
82
+
83
+ - [ ] **Task 4.1**: AppConfigGate component
84
+ - Description: Create `components/AppConfigGate.tsx`. Uses React context to expose `AdminSpaAppConfig`. On mount, fetches `./app-config.json` (relative to current URL — so `/console/app-config.json` when mounted at `/console`). Defines defaults to merge with response. Renders a centered `<Spinner>` with `testID="admin-spa-app-config-loading"` while loading. Errors → renders a `<Text>` with retry button. Exposes `useAppConfig()` hook.
85
+ - Files: `admin-spa/components/AppConfigGate.tsx`
86
+ - Depends on: 1.4, 3.1
87
+ - Acceptance: Build succeeds; importing `useAppConfig` outside the gate throws a clear error.
88
+
89
+ - [ ] **Task 4.2**: StoreProvider component (replaces "factory function" pattern)
90
+ - Description: Create `components/StoreProvider.tsx`. Reads `useAppConfig()`. Inside the component body, memo-builds `authClient = createAuthClient({baseURL: window.location.origin, basePath: appConfig.authBasePath ?? "/api/auth"})` using `better-auth/react` **directly** (NOT `@terreno/rtk`'s factory — that one is RN-targeted with the expo plugin). Builds `{betterAuthReducer, middleware, selectors} = generateBetterAuthSlice(authClient)`, then `store = configureStore({reducer: {betterAuth: betterAuthReducer, [openapi.reducerPath]: openapi.reducer}, middleware: (gdm) => gdm().concat(openapi.middleware, ...middleware)})`, then `persistor = persistStore(store)`. Wraps children: `<Provider store={store}><PersistGate loading={<Spinner testID="admin-spa-persist-loading"/>} persistor={persistor}>{children}</PersistGate></Provider>`. The `loading` prop is **required** — without it, AdminGate flashes the login screen during rehydration.
91
+ - Files: `admin-spa/components/StoreProvider.tsx`, `admin-spa/store/sdk.ts` (re-exports `emptySplitApi as openapi` from `@terreno/rtk` with tag types)
92
+ - Depends on: 4.1, 6.1
93
+ - Acceptance: Build succeeds; type-check passes; no `expo-secure-store` import surfaces in the bundle (since this is web-only).
94
+
95
+ - [ ] **Task 4.3**: AdminGate component
96
+ - Description: Create `components/AdminGate.tsx`. Wraps children. On mount, calls `authClient.getSession()`. Uses `useSelectIsAuthenticated`. Renders spinner with `testID="admin-spa-admin-gate-loading"` while loading. If unauth and not on `/login`, `router.replace("/login")`. If auth + `user.admin !== true` and not on `/forbidden`, `router.replace("/forbidden")`. If auth + admin and on `/login` or `/forbidden`, `router.replace("/")`. Otherwise pass through.
97
+ - Files: `admin-spa/components/AdminGate.tsx`
98
+ - Depends on: 4.2
99
+ - Acceptance: Build succeeds; gate logic verifiable via unit test of selector behavior (`bun test`).
100
+
101
+ - [ ] **Task 4.4**: Login screen
102
+ - Description: Create `app/login.tsx`. Reads `useAppConfig().providers`. Renders form with `TextField` (email) + `TextField` (password, type="password") + `Button` ("Sign in") calling `authClient.signIn.email({email, password})`. For each provider in `providers` that isn't `"email"`, renders a `SocialLoginButton`. Handles loading, error display. On success, `router.replace("/")`. testIDs as listed in IP.
103
+ - Files: `admin-spa/app/login.tsx`
104
+ - Depends on: 4.3
105
+ - Acceptance: Rendering the SPA logged-out shows the login form; clicking submit attempts the better-auth signIn (verifiable by mock in unit test).
106
+
107
+ - [ ] **Task 4.5**: Forbidden screen + signout
108
+ - Description: Create `app/forbidden.tsx`. Renders `<Page>` with heading "Admins only" and explanation text. Includes a "Sign out" button calling `authClient.signOut()` then `router.replace("/login")`.
109
+ - Files: `admin-spa/app/forbidden.tsx`
110
+ - Depends on: 4.3
111
+ - Acceptance: Build succeeds; testID on screen root.
112
+
113
+ - [ ] **Task 4.6**: Root layout assembly (correct provider order)
114
+ - Description: Update `app/_layout.tsx`. Order: `<AppConfigGate><StoreProvider><TerrenoProvider><AdminGate><Stack screenOptions={{headerShown: false}}>...</Stack></AdminGate></TerrenoProvider></StoreProvider></AppConfigGate>`. AppConfigGate is outermost because it has no Redux dependency and its result is needed to build the store. StoreProvider includes Provider + PersistGate. TerrenoProvider is inside Provider so theme hooks can read store state. AdminGate is innermost so it sees fully-hydrated state.
115
+ - Files: `admin-spa/app/_layout.tsx`
116
+ - Depends on: 4.1, 4.2, 4.3, 4.4, 4.5
117
+ - Acceptance: `bun run admin-spa:build` succeeds with no Metro errors. Sequential render: loading splash → (rehydrating) spinner → (unauth) login OR (admin) model list. No login flash for authenticated admins.
118
+
119
+ ## Phase 5: Wire admin screens
120
+
121
+ All screens pass `apiBase={appConfig.adminApiBasePath ?? "/admin"}` AND `routeBase=""` so navigation stays inside the SPA's `/console` root. Depends on Phase 0.
122
+
123
+ - [ ] **Task 5.1**: Model list screen
124
+ - Description: `app/index.tsx` renders `<AdminModelList api={terrenoApi} apiBase={apiBase} routeBase={routeBase} />`. Get values from `useAppConfig()`: `const apiBase = appConfig.adminApiBasePath ?? "/admin"; const routeBase = "";`.
125
+ - Files: `admin-spa/app/index.tsx`
126
+ - Depends on: 4.6, 0.1
127
+ - Acceptance: After login, model list renders models from `${apiBase}/config`. Clicking a model card calls `router.push("/${modelName}")` (relative to SPA root), NOT `/admin/${modelName}`.
128
+
129
+ - [ ] **Task 5.2**: Model table + form routes
130
+ - Description: Create `app/[model]/_layout.tsx` (`<Stack/>`), `app/[model]/index.tsx` (renders `<AdminModelTable>`), `app/[model]/[id].tsx` (renders `<AdminModelForm id={id}>`), `app/[model]/create.tsx` (renders `<AdminModelForm>`). Use `useLocalSearchParams()` for params. Handle the `__scripts` and `version-config` sentinels like example-frontend does.
131
+ - Files: `admin-spa/app/[model]/_layout.tsx`, `admin-spa/app/[model]/index.tsx`, `admin-spa/app/[model]/[id].tsx`, `admin-spa/app/[model]/create.tsx`
132
+ - Depends on: 5.1
133
+ - Acceptance: Navigating to `/console/Users` shows the table; clicking a row opens the form.
134
+
135
+ - [ ] **Task 5.3**: Configuration + scripts + version-config screens
136
+ - Description: Create `app/configuration.tsx`, `app/scripts.tsx`, `app/version-config.tsx` wrapping the corresponding `@terreno/admin-frontend` screens (`ConfigurationScreen`, `AdminScriptList`, `AdminVersionConfig`).
137
+ - Files: `admin-spa/app/configuration.tsx`, `admin-spa/app/scripts.tsx`, `admin-spa/app/version-config.tsx`
138
+ - Depends on: 5.1
139
+ - Acceptance: Each screen renders without errors.
140
+
141
+ - [ ] **Task 5.4**: Not-found + Expo Router conventions
142
+ - Description: Create `app/+not-found.tsx` rendering a friendly 404 with link back to `/`. Add `app/+html.tsx` if needed for static export head config (favicon, viewport).
143
+ - Files: `admin-spa/app/+not-found.tsx`, `admin-spa/app/+html.tsx`
144
+ - Depends on: 4.6
145
+ - Acceptance: Visiting `/console/nonexistent` shows the 404 screen.
146
+
147
+ ## Phase 6: SDK glue (no codegen by default)
148
+
149
+ Admin endpoints are runtime-injected by `admin-frontend/src/useAdminApi.ts` — codegen is unnecessary for the admin flow itself.
150
+
151
+ - [ ] **Task 6.1**: Hand-written `store/sdk.ts`
152
+ - Description: Create `store/sdk.ts` that re-exports `emptySplitApi as openapi` from `@terreno/rtk` and uses `.enhanceEndpoints({addTagTypes: ["admin-models", "admin-version-config", "admin-scripts", "profile"]})`. Export `const terrenoApi = openapi` for consumers.
153
+ - Files: `admin-spa/store/sdk.ts`
154
+ - Depends on: 1.1
155
+ - Acceptance: `bun run --filter '@terreno/admin-spa' compile` passes; importing `terrenoApi` from `store/sdk` works in app code.
156
+
157
+ - [ ] **Task 6.2 (optional)**: Codegen config for consumers wanting extended SDKs
158
+ - Description: Create `openapi-config.ts` pointing at `http://localhost:4000/openapi.json`. Document in README as optional — not part of the standard build.
159
+ - Files: `admin-spa/openapi-config.ts`, `admin-spa/README.md` section
160
+ - Depends on: 6.1
161
+ - Acceptance: Running `bun run --filter '@terreno/admin-spa' sdk` against a live backend regenerates `store/openApiSdk.ts` with all endpoints.
162
+
163
+ ## Phase 7: Example backend integration
164
+
165
+ - [ ] **Task 7.1**: Add admin-spa dep to example-backend
166
+ - Description: Add `"@terreno/admin-spa": "workspace:*"` to `example-backend/package.json` dependencies.
167
+ - Files: `example-backend/package.json`
168
+ - Depends on: 1.2
169
+ - Acceptance: `bun install` resolves.
170
+
171
+ - [ ] **Task 7.2**: Register plugin in example-backend
172
+ - Description: In `example-backend/src/server.ts`, import `AdminSpaServeApp`. Register it (gated on `process.env.ADMIN_SPA_ENABLED === "true"`) with `basePath: "/console"`, `appConfig: {brandName: "Terreno Example", primaryColor: "#7C3AED", providers: ["email", "google"]}`.
173
+ - Files: `example-backend/src/server.ts`
174
+ - Depends on: 7.1, 3.1
175
+ - Acceptance: With `ADMIN_SPA_ENABLED=true AUTH_PROVIDER=better-auth bun run backend:dev`, server starts and logs "Admin SPA mounted at /console/".
176
+
177
+ - [ ] **Task 7.3**: Manual smoke test
178
+ - Description: Start the backend with the env flags above. Open `http://localhost:4000/console/`. Confirm: (a) login screen renders with brand name "Terreno Example"; (b) sign in with an admin user → redirects to admin list; (c) clicking a model opens the table; (d) editing a row works; (e) `app-config.json` GET returns the configured shape; (f) non-admin user → forbidden screen. Document any gaps found.
179
+ - Files: (manual)
180
+ - Depends on: 7.2, 5.x complete
181
+ - Acceptance: All six checks pass.
182
+
183
+ ## Phase 8: Docs and rules
184
+
185
+ - [ ] **Task 8.1**: README for admin-spa
186
+ - Description: Write `admin-spa/README.md`. Sections: overview, install, register with backend, customizing app-config, regenerating SDK, comparison with embedded admin-frontend usage.
187
+ - Files: `admin-spa/README.md`
188
+ - Depends on: 7.3
189
+ - Acceptance: Reading the README is sufficient for a new consumer to add admin to their backend.
190
+
191
+ - [ ] **Task 8.2**: rulesync rule file
192
+ - Description: Author `.claude/rules/admin-spa/00-admin-spa.md` matching the shape of `.claude/rules/admin-frontend/00-admin-frontend.md`. Run `bun run rules` to regenerate `rulesync.jsonc` artifacts. Verify the rule appears in any AI consumer config files generated.
193
+ - Files: `.claude/rules/admin-spa/00-admin-spa.md`, plus regenerated rulesync artifacts
194
+ - Depends on: 8.1
195
+ - Acceptance: `bun run rules:check` passes (no diff after a clean regen).
196
+
197
+ - [ ] **Task 8.3**: Update CLAUDE.local.md and admin-backend README
198
+ - Description: Add admin-spa to the packages list in `CLAUDE.local.md`. Add a "Standalone admin SPA" pointer to `admin-backend/README.md`.
199
+ - Files: `CLAUDE.local.md`, `admin-backend/README.md`
200
+ - Depends on: 8.1
201
+ - Acceptance: Both files mention admin-spa and reference the IP.
202
+
203
+ - [ ] **Task 8.5**: Publish CI job
204
+ - Description: Add an `admin-spa` publish job to `.github/workflows/publish-on-tag.yml` mirroring the existing 8 publish jobs. Job must: `bun install` → `bun run admin-spa:build` → `bun run admin-spa:compile` → `bun publish --filter '@terreno/admin-spa'`. Without this, tagged releases publish an empty `dist/`.
205
+ - Files: `.github/workflows/publish-on-tag.yml`
206
+ - Depends on: 8.1
207
+ - Acceptance: Dry-run the workflow on a feature branch; verify the tarball contains `src/dist/`, `dist/index.html`, and at least one file in `dist/_expo/`.
208
+
209
+ - [ ] **Task 8.6**: CI smoke test
210
+ - Description: New job (or extension of existing E2E workflow). Boots example-backend with `ADMIN_SPA_ENABLED=true AUTH_PROVIDER=better-auth` after running `bun run --filter '@terreno/admin-spa' build:web`. curl `/console/`, `/console/app-config.json`, and one `/console/_expo/static/js/web/*.js` asset. Assert 200s + correct cache headers. Catches path-rewrite regressions in CI.
211
+ - Files: `.github/workflows/admin-spa-smoke.yml` (new) or update an existing test workflow
212
+ - Depends on: 7.2, 3.1
213
+ - Acceptance: Workflow passes on a clean run; mutating the rewrite list in `serve.ts` to omit `_expo` causes a CI failure.
214
+
215
+ ## Optional Phases
216
+
217
+ - [ ] **Task 9.1 (optional)**: Playwright E2E
218
+ - Description: Add `e2e/admin-spa.spec.ts` to example-frontend with three tests: anonymous user sees login screen, admin can log in and view model list, non-admin gets forbidden screen.
219
+ - Files: `example-frontend/e2e/admin-spa.spec.ts`, plus testIDs already added in Phase 4
220
+ - Depends on: 7.3
221
+ - Acceptance: `bun run --filter '@terreno/example-frontend' e2e -- admin-spa.spec.ts` passes locally with backend running.
@@ -0,0 +1,50 @@
1
+ # Task List: Admin Script Runner
2
+
3
+ *Companion to **Admin UI v2 — Django-parity** (`docs/tasks/admin-ui-v2-django-parity.md`). Script runner ships as part of the same admin stack; this list tracks script-specific deliverables.*
4
+
5
+ **Status:** Complete — implementation lives in `@terreno/api`, `@terreno/admin-backend`, `@terreno/admin-frontend`, and `admin-spa`. See **`docs/implementationPlans/admin-script-runner.md`**.
6
+
7
+ See: `docs/implementationPlans/admin-script-runner.md` for the full plan.
8
+
9
+ ## Phase A: Types and persistence (`@terreno/api`)
10
+
11
+ - [x] **Task A.1**: `ScriptResult`, `ScriptContext`, `ScriptRunner`, `TaskCancelledError`
12
+ - Files: `api/src/scriptRunner.ts`
13
+ - Acceptance: Typed runner signature; context supports logs, progress, cancellation check.
14
+
15
+ - [x] **Task A.2**: `BackgroundTask` Mongoose model
16
+ - Files: `api/src/scriptRunner.ts`
17
+ - Acceptance: Used by AdminApp for script runs; indexes and methods (`addLog`, `updateProgress`, `checkCancellation` static).
18
+
19
+ ## Phase B: HTTP surface (`@terreno/admin-backend`)
20
+
21
+ - [x] **Task B.1**: Mount `{basePath}/scripts` router when `AdminOptions.scripts` non-empty
22
+ - Files: `admin-backend/src/adminApp.ts`
23
+ - Acceptance: Routes covered by `adminApp.test.ts`; `/admin/config` OpenAPI schema includes `scripts` array (see example-backend `openapi.test.ts` snapshot). Per-script `POST …/run` paths may not appear as separate paths in merged consumer OpenAPI; behavior is verified in admin-backend tests.
24
+
25
+ - [x] **Task B.2**: Implement run → create task → async `runner(wetRun, ctx)` → terminal status
26
+ - Acceptance: Tests in `admin-backend/src/adminApp.test.ts` (happy path, 403, 404, failure, cancel, wetRun query).
27
+
28
+ - [x] **Task B.3**: Include `scripts: { name, description }[]` in `GET /admin/config`
29
+ - Acceptance: `adminApp.test.ts` / `adminApp.models.test.ts` assertions.
30
+
31
+ ## Phase C: Admin frontend
32
+
33
+ - [x] **Task C.1**: `useAdminScripts` — RTK mutations/queries for run, get task, cancel
34
+ - Files: `admin-frontend/src/useAdminScripts.ts`, isolated hook tests.
35
+
36
+ - [x] **Task C.2**: `AdminScriptRunModal` + `AdminScriptList`
37
+ - Files: `AdminScriptRunModal.tsx`, `AdminScriptList.tsx`, tests + isolated specs.
38
+
39
+ - [x] **Task C.3**: Shell nav + home **`scriptRunner`** widget
40
+ - Files: `AdminShell.tsx`, `AdminHome.tsx`, `AdminHome.test.tsx`
41
+ - Acceptance: Widget can live in `navGlobal` / other slots; tests ensure it does not incorrectly mount inside `main` when only `navGlobal` lists it (see Admin UI v2 home tests).
42
+
43
+ ## Phase D: `admin-spa` + example-backend
44
+
45
+ - [x] **Task D.1**: Routes for scripts screen (`/__scripts`, dedicated `scripts` route)
46
+ - Files: `admin-spa/app/[model]/index.tsx`, `admin-spa/app/scripts.tsx`.
47
+
48
+ - [x] **Task D.2**: Example scripts (count, sync consents, seed flags)
49
+ - Files: `example-backend/src/server.ts`
50
+ - Acceptance: Scripts appear in config; runnable against dev server.
@@ -0,0 +1,135 @@
1
+ # Task List: Admin UI v2 — Django-Parity Admin (Config-Driven Shell)
2
+
3
+ *Structured task breakdown for automated implementation. Each task should be independently implementable and testable.*
4
+
5
+ **Status:** All phases below are complete. See `docs/implementationPlans/admin-ui-v2-django-parity.md` for acceptance criteria (also marked complete) and verification pointers.
6
+
7
+ **Companion:** **Admin script runner** — `docs/implementationPlans/admin-script-runner.md` + `docs/tasks/admin-script-runner.md` (same delivery; documents `/admin/scripts/*`, `BackgroundTask`, and UI).
8
+
9
+ See: `docs/implementationPlans/admin-ui-v2-django-parity.md` for full plan.
10
+
11
+ ## Phase 1: Admin config contract (backend)
12
+
13
+ - [x] **Task 1.1**: Extend `AdminConfigResponse` / `GET /admin/config` for schema v2
14
+ - Description: Add `schemaVersion`, per-model `group`, `listDisplay`, `listDisplayLinks`, `sortableFields`, `searchFields`, `filters` (typed: boolean, choice, text, dateRange, ref), `fieldsets`, `readonlyFields`, `hiddenFields`, declared `actions` (sync vs `background: true`), `permissions` (`create`/`update`/`delete` booleans), `pageSize`, `realtime`, `home` with **`title` + `slots`** (`navGlobal?`, `contentTop?`, `main?`, `sidebar?` — each an ordered `string[]` of widget ids; Django template-block analogue). Optionally accept legacy `home.widgets[]` for migration → normalize into `slots.main` + `recentActivity` forced last in `sidebar`. Include `customScreens`, existing `scripts`. Preserve v1 config fields for backward compatibility.
15
+ - Files: `admin-backend/src/adminApp.ts`, `admin-backend/src/index.ts` (exports if needed), tests under `admin-backend/src/*.test.ts`
16
+ - Depends on: none
17
+ - Acceptance: Typed response; tests assert v1 fields still present; new fields optional-safe for old clients.
18
+
19
+ - [x] **Task 1.2**: Document OpenAPI for extended config
20
+ - Description: Ensure generated OpenAPI documents the new response shape (or manual `openApiBuilder` attachment on config route if required).
21
+ - Files: `admin-backend/src/adminApp.ts`
22
+ - Depends on: 1.1
23
+ - Acceptance: `openapi.json` from a test server includes `/admin/config` response schema additions.
24
+
25
+ ## Phase 2: Bulk patch + background tasks (backend)
26
+
27
+ - [x] **Task 2.1**: Implement `POST {basePath}{routePath}/bulk-patch`
28
+ - Description: Body `{ ids: string[]; patch: Record<string, unknown> }`. Enforce **max 1000** ids. Allowlist patch keys per model from config (or from schema paths). Use `updateMany` / batched updates with per-id validation where needed. Return `{ updated: number; failures?: ... }`.
29
+ - Files: `admin-backend/src/adminApp.ts`, new helper module if >300 LOC, tests
30
+ - Depends on: 1.1
31
+ - Acceptance: Tests for cap, unknown keys rejected, partial failure reporting; `IsAdmin` only.
32
+
33
+ - [x] **Task 2.2**: Implement `POST /admin/background-tasks` (name finalized in code)
34
+ - Description: Map prototype `background: true` actions to enqueue `BackgroundTask` (or existing script runner) with `kind`, target route, ids, metadata. Return `{ taskId }`. Reuse logging/error patterns from script routes.
35
+ - Files: `admin-backend/src/adminApp.ts`, tests
36
+ - Depends on: 1.1, 2.1 (shared validation helpers optional)
37
+ - Acceptance: Test covers enqueue + 403 non-admin; OpenAPI entry exists.
38
+
39
+ ## Phase 3: modelRouter metadata parity (backend / examples)
40
+
41
+ - [x] **Task 3.1**: Align `modelRouter` registration options with config lists
42
+ - Description: For each model exposed in `example-backend` (or chosen demo), set `queryFields`, `sort`, `defaultLimit`/`maxLimit`, `responseHandler` for hidden fields, and `permissions.delete: []` for DotPhrase-style demo.
43
+ - Files: `example-backend/src/**`, any consumer `AdminApp` registration
44
+ - Depends on: 1.1
45
+ - Acceptance: List queries accept filters used in UI; delete disabled where specified.
46
+
47
+ ## Phase 4: Admin frontend — shell + navigation
48
+
49
+ - [x] **Task 4.1**: Admin shell (sidebar groups, screens, tools, user footer)
50
+ - Description: New layout components using `@terreno/ui`; consume config for groups and `customScreens`; support `apiBase`/`routeBase` from prior admin-spa work.
51
+ - Files: `admin-frontend/src/**` (new shell module + exports in `index.tsx`)
52
+ - Depends on: 1.1
53
+ - Acceptance: Lint/compile; story or test renders grouped nav from mock config.
54
+
55
+ - [x] **Task 4.2**: Top bar breadcrumbs + contextual actions
56
+ - Description: Match prototype routes (home, list, form, tool, screen); “Add {singular}” when `permissions.create !== false`.
57
+ - Files: `admin-frontend/src/**`
58
+ - Depends on: 4.1
59
+ - Acceptance: Unit test for breadcrumb labels from route + model meta.
60
+
61
+ ## Phase 5: Admin frontend — list (changelist)
62
+
63
+ - [x] **Task 5.1**: List view v2 — search, filters, sort, pagination
64
+ - Description: Wire `DataTable` to server sort/page; debounced search; typed filters mapped to query params; `listDisplayLinks` drives link columns; inline boolean uses PATCH.
65
+ - Files: `admin-frontend/src/AdminModelTable.tsx`, hooks, types
66
+ - Depends on: 1.1, 3.1, 4.1
67
+ - Acceptance: Tests with MSW or harness for query serialization; loading/error/empty states.
68
+
69
+ - [x] **Task 5.2**: Bulk selection + action menu
70
+ - Description: Sync actions call `bulk-patch`; confirm modals for `confirm` strings; background actions call enqueue endpoint; cap selection client-side at 1000 with user-visible message.
71
+ - Files: `admin-frontend/src/AdminModelTable.tsx`, possibly `AdminScriptRunModal.tsx` reuse
72
+ - Depends on: 2.1, 2.2, 5.1
73
+ - Acceptance: Tests for confirm + request bodies.
74
+
75
+ ## Phase 6: Admin frontend — form (change view)
76
+
77
+ - [x] **Task 6.1**: Fieldsets + readonly + exclude/hidden fields
78
+ - Description: Render `fieldsets` with `Accordion`/`Card`; readonly fields not submitted; hidden fields omitted from form and detail panels as specified.
79
+ - Files: `admin-frontend/src/AdminModelForm.tsx`, types
80
+ - Depends on: 1.1, 4.1
81
+ - Acceptance: Test that PATCH body excludes readonly keys.
82
+
83
+ - [x] **Task 6.2**: Autocomplete ref picker
84
+ - Description: Debounced fetch against referenced model list endpoint; keyboard/accessibility basics.
85
+ - Files: `admin-frontend/src/AdminRefField.tsx` or new component, tests
86
+ - Depends on: 5.1 (shared debounce util optional)
87
+ - Acceptance: Unit test uses mock list API.
88
+
89
+ ## Phase 7: Home dashboard widgets
90
+
91
+ - [x] **Task 7.1**: Widget registry + **`home.slots`** layout
92
+ - Description: Implement built-ins: `modelStats`, `modelsGrid`, `feature-flags-overrides` (or generic “quick toggles” plugin slot), `versionConfig` summary, `scriptRunner`, `recentActivity`. Render regions in order: **`navGlobal`** (horizontal strip) → **`contentTop`** (full-width above grid) → **`main` | `sidebar`** (two-column). Enforce **`recentActivity` last within `sidebar`** when present. Validate unknown widget ids in dev.
93
+ - Files: `admin-frontend/src/**` (new `AdminHome.tsx` or similar), exports
94
+ - Depends on: 1.1, 4.1
95
+ - Acceptance: Tests: (1) `scriptRunner` only in `navGlobal` does not mount inside `main` model grid; (2) `recentActivity` is last in `sidebar` when configured.
96
+
97
+ ## Phase 8: admin-spa + example integration
98
+
99
+ - [x] **Task 8.1**: Wire new shell + routes in `admin-spa`
100
+ - Description: Routes for home v2, list, form, tools, deep links to plugin URLs for screens; regenerate admin SDK if needed.
101
+ - Files: `admin-spa/app/**`, `admin-spa/store/**`
102
+ - Depends on: 4.x–7.x
103
+ - Acceptance: `bun run admin-spa:compile` / smoke script; manual checklist in plan.
104
+
105
+ - [x] **Task 8.2**: Example-backend registration + seed
106
+ - Description: Register illustrative models + `AdminApp` config entries matching v2 demo shape (subset acceptable).
107
+ - Files: `example-backend/**`
108
+ - Depends on: 3.1
109
+ - Acceptance: Running example + admin-spa exercises list/form/home.
110
+
111
+ ## Phase 9 (last): Audit log + recent actions
112
+
113
+ - [x] **Task 9.1**: `AdminAuditLog` model + persistence (consumer or example-backend)
114
+ - Description: Schema with descriptions, indexes on `created`, `modelName`, `actorId`. Optional TTL for retention.
115
+ - Files: `example-backend/src/models/**` (or consumer app), types
116
+ - Depends on: 8.2 (demo path)
117
+ - Acceptance: Model compiles; `checkModelsStrict` happy in non-prod.
118
+
119
+ - [x] **Task 9.2**: `modelRouter` or read-only list route for audit entries
120
+ - Description: `GET` list with pagination, `IsAdmin`, sort `-created`. Consider create-only via internal hooks (no public POST from browser) — prefer server-side logging middleware writing entries.
121
+ - Files: `example-backend/src/api/**`, tests
122
+ - Depends on: 9.1
123
+ - Acceptance: supertest list route returns inserted fixture rows.
124
+
125
+ - [x] **Task 9.3**: Emit audit rows from admin mutations
126
+ - Description: Hook `postUpdate`/`postCreate`/`postDelete` on registered admin models or central middleware in `AdminApp` to write `AdminAuditLog` with verb + label resolution.
127
+ - Files: `admin-backend/src/adminApp.ts` and/or example-backend hooks
128
+ - Depends on: 9.2
129
+ - Acceptance: `onAdminAudit` fires after POST/PATCH/DELETE on admin model routes — **`admin-backend/src/adminApp.models.test.ts`** (`describe("AdminApp onAdminAudit")`). Consumer persistence: `example-backend/src/server.ts` (`AdminAuditLog.create` in `onAdminAudit`).
130
+
131
+ - [x] **Task 9.4**: Home `recentActivity` widget backed by API
132
+ - Description: Fetch latest N audit rows; render as the **final widget in `home.slots.sidebar`**; empty/error states.
133
+ - Files: `admin-frontend/src/**` (home widget), `useAdminApi` or dedicated hook
134
+ - Depends on: 7.1, 9.3
135
+ - Acceptance: UI or integration test shows `recentActivity` below other **sidebar** widgets when multiple sidebar ids are configured.
@@ -0,0 +1,193 @@
1
+ # Task List: Consent Forms System
2
+
3
+ *Structured task breakdown for automated implementation. Each task should be independently implementable and testable.*
4
+
5
+ ## Phase 1: Models + API
6
+
7
+ - [ ] **Task 1.1**: ConsentForm Mongoose model
8
+ - Description: Create ConsentForm schema with all fields (title, slug, version, order, type, content map, defaultLocale, active, captureSignature, requireScrollToBottom, checkboxes with confirmationPrompt, agreeButtonText, allowDecline, declineButtonText, required). Add compound index on {slug, version}, plugins (createdUpdated, isDeleted), and TypeScript types. Every field must have a `description` property.
9
+ - Files: `api/src/models/consentForm.ts`, `api/src/types/consentForm.ts`
10
+ - Depends on: none
11
+ - Acceptance: Model can be imported, schema validates correctly, indexes created
12
+
13
+ - [ ] **Task 1.2**: ConsentResponse Mongoose model
14
+ - Description: Create ConsentResponse schema with all fields (userId, consentFormId, agreed, agreedAt, checkboxValues map, locale, signature, signedAt, ipAddress, userAgent, contentSnapshot, formVersionSnapshot). Add index on {userId, consentFormId}, plugins, and TypeScript types. Every field must have a `description` property.
15
+ - Files: `api/src/models/consentResponse.ts`, `api/src/types/consentResponse.ts`
16
+ - Depends on: none
17
+ - Acceptance: Model can be imported, schema validates correctly, indexes created
18
+
19
+ - [ ] **Task 1.3**: ConsentApp plugin skeleton
20
+ - Description: Create ConsentApp class implementing TerrenoPlugin. Accept config options (auditTrail, aiConfig, resolveConsentForms callback, supportedLocales). Register method mounts all consent routes on the Express app.
21
+ - Files: `api/src/consentApp.ts`, `api/src/types/consentApp.ts`
22
+ - Depends on: 1.1, 1.2
23
+ - Acceptance: Plugin can be registered with TerrenoApp, config validated
24
+
25
+ - [ ] **Task 1.4**: ConsentForm CRUD routes via modelRouter
26
+ - Description: Register ConsentForm modelRouter at `/consent-forms` with IsAdmin permissions for all operations, queryFields (slug, type, active, version), sorting by order. Include validation.
27
+ - Files: `api/src/consentApp.ts`
28
+ - Depends on: 1.3
29
+ - Acceptance: CRUD endpoints work, OpenAPI spec generated, admin-only access enforced
30
+
31
+ - [ ] **Task 1.5**: ConsentResponse read routes via modelRouter
32
+ - Description: Register ConsentResponse modelRouter at `/consent-responses` with IsAdmin permissions. Disable create/update/delete (empty arrays). Enable list and read with populatePaths for consentFormId.
33
+ - Files: `api/src/consentApp.ts`
34
+ - Depends on: 1.3
35
+ - Acceptance: Admin can list and read responses, create/update/delete blocked
36
+
37
+ - [ ] **Task 1.6**: GET /consents/pending endpoint
38
+ - Description: Custom route that: (1) fetches all active consent forms with highest version per slug, (2) runs resolveConsentForms callback to filter by user, (3) fetches user's existing ConsentResponses, (4) filters to forms where user hasn't responded to current version, (5) returns ordered by `order` field. Include OpenAPI docs via createOpenApiBuilder.
39
+ - Files: `api/src/consentApp.ts`
40
+ - Depends on: 1.3
41
+ - Acceptance: Returns only pending forms for authenticated user, respects resolver callback, ordered correctly, handles no-pending case
42
+
43
+ - [ ] **Task 1.7**: POST /consents/respond endpoint
44
+ - Description: Custom route that creates a ConsentResponse. Validates: consentFormId exists and is active, required checkboxes are all true, signature provided if captureSignature is true. If auditTrail enabled, captures req IP, user agent, form content snapshot for the user's locale, and form version. Include OpenAPI docs.
45
+ - Files: `api/src/consentApp.ts`
46
+ - Depends on: 1.3
47
+ - Acceptance: Creates response with all validations, stores audit data when enabled, returns 400 on validation failures
48
+
49
+ - [ ] **Task 1.8**: POST /consent-forms/:id/publish endpoint
50
+ - Description: Custom admin-only route that: (1) reads the consent form by id, (2) creates a new document with same fields but incremented version, (3) sets new document as active, (4) deactivates previous active version of same slug. Include OpenAPI docs.
51
+ - Files: `api/src/consentApp.ts`
52
+ - Depends on: 1.4
53
+ - Acceptance: New version created with incremented version, old version deactivated, returns new document
54
+
55
+ - [ ] **Task 1.9**: GET /consents/audit/:userId endpoint
56
+ - Description: Admin-only endpoint that returns all ConsentResponses for a userId, populated with ConsentForm data, sorted by agreedAt descending. Only registers the route when auditTrail option is true. Include OpenAPI docs.
57
+ - Files: `api/src/consentApp.ts`
58
+ - Depends on: 1.7
59
+ - Acceptance: Returns full history with populated forms, 404 when auditTrail not enabled, admin-only
60
+
61
+ - [ ] **Task 1.10**: Export ConsentApp from @terreno/api
62
+ - Description: Export ConsentApp class, ConsentForm model, ConsentResponse model, and all related types from api package index.ts.
63
+ - Files: `api/src/index.ts`
64
+ - Depends on: 1.3
65
+ - Acceptance: `import {ConsentApp, ConsentForm, ConsentResponse} from "@terreno/api"` works
66
+
67
+ - [ ] **Task 1.11**: ConsentApp unit tests
68
+ - Description: Test all endpoints: CRUD operations on consent forms, pending logic (version checking, resolver callback filtering, ordering), respond (validation of required checkboxes, signature, audit trail data), publish (version increment, deactivation of old), audit endpoint (populated responses, disabled when auditTrail false). Use supertest and bun test.
69
+ - Files: `api/src/consentApp.test.ts`
70
+ - Depends on: 1.6, 1.7, 1.8, 1.9
71
+ - Acceptance: All tests pass, covers happy paths and edge cases (no pending forms, expired versions, missing required fields)
72
+
73
+ ## Phase 2: Admin UI
74
+
75
+ - [ ] **Task 2.1**: MarkdownEditor component in ui
76
+ - Description: Split-pane component with textarea on left and MarkdownView preview on right. Props: value, onChange, placeholder, title, disabled, testID. Responsive — stacks vertically on mobile using mediaQueryLargerThan. Uses Box for layout, TextField (multiline) for editing, MarkdownView for preview.
77
+ - Files: `ui/src/MarkdownEditor.tsx`, `ui/src/MarkdownEditor.test.tsx`, `ui/src/index.tsx`
78
+ - Depends on: none
79
+ - Acceptance: Component renders, textarea edits update preview in real-time, responsive layout works, exported from @terreno/ui
80
+
81
+ - [ ] **Task 2.2**: ConsentFormEditor component in admin-frontend
82
+ - Description: Custom form for creating/editing consent forms. Sections: (1) Basic fields — title (TextField), slug (TextField), type (SelectField with enum options), order (NumberField), required (BooleanField), active (BooleanField). (2) Form behavior — captureSignature (BooleanField), requireScrollToBottom (BooleanField). (3) Button config — agreeButtonText (TextField), allowDecline (BooleanField), declineButtonText (TextField, shown when allowDecline true). (4) Locale tabs — tab per supportedLocale, each with MarkdownEditor for content. (5) Checkbox list builder — add/remove rows with label (TextField), required (BooleanField), confirmationPrompt (TextField, optional). (6) "Publish New Version" button in edit mode header. Uses useAdminApi for CRUD operations.
83
+ - Files: `admin-frontend/src/ConsentFormEditor.tsx`
84
+ - Depends on: 2.1
85
+ - Acceptance: Can create and edit consent forms with all fields, locale tabs switch content, checkbox builder works, publish button creates new version
86
+
87
+ - [ ] **Task 2.3**: ConsentFormList component in admin-frontend
88
+ - Description: Table view for consent forms using DataTable. Columns: title, type, version, active (boolean), order, created. Row click navigates to editor. Create button in header. Uses useAdminApi for list query.
89
+ - Files: `admin-frontend/src/ConsentFormList.tsx`
90
+ - Depends on: none
91
+ - Acceptance: Lists forms with correct columns, pagination works, navigation to editor works, create button works
92
+
93
+ - [ ] **Task 2.4**: ConsentResponseViewer component in admin-frontend
94
+ - Description: Read-only detail view for a consent response using Page layout. Shows: form title (populated from consentFormId), userId, agreed status (Badge), agreedAt (formatted with Luxon), locale, checkbox values (list of label + checked/unchecked), signature (rendered as Image from base64 if present), audit trail section (ipAddress, userAgent, contentSnapshot rendered via MarkdownView, formVersionSnapshot) — only shown if audit fields are populated.
95
+ - Files: `admin-frontend/src/ConsentResponseViewer.tsx`
96
+ - Depends on: none
97
+ - Acceptance: Displays all response fields, signature renders correctly, audit section conditional
98
+
99
+ - [ ] **Task 2.5**: Export admin consent components
100
+ - Description: Export ConsentFormEditor, ConsentFormList, ConsentResponseViewer from admin-frontend index.tsx.
101
+ - Files: `admin-frontend/src/index.tsx`
102
+ - Depends on: 2.2, 2.3, 2.4
103
+ - Acceptance: All three components importable from `@terreno/admin-frontend`
104
+
105
+ ## Phase 3: ConsentNavigator
106
+
107
+ - [ ] **Task 3.1**: useConsentForms hook
108
+ - Description: Hook that accepts an RTK API instance and injects a `getPendingConsents` query endpoint targeting GET /consents/pending. Fetches on mount. Detects device locale via expo-localization or navigator.language. Returns `{forms, isLoading, error, refetch}`. Uses the dynamic endpoint injection pattern from useAdminApi.
109
+ - Files: `ui/src/useConsentForms.ts`
110
+ - Depends on: Phase 1
111
+ - Acceptance: Hook fetches pending forms, handles loading/error states, detects device locale, cache tagged for invalidation
112
+
113
+ - [ ] **Task 3.2**: useSubmitConsent hook
114
+ - Description: Hook that accepts an RTK API instance and injects a `submitConsentResponse` mutation endpoint targeting POST /consents/respond. Returns `{submit, isSubmitting, error}`. On success, invalidates the pending consents cache tag. Accepts `{consentFormId, agreed, checkboxValues, signature, locale}`.
115
+ - Files: `ui/src/useSubmitConsent.ts`
116
+ - Depends on: Phase 1
117
+ - Acceptance: Hook submits response, invalidates pending forms cache on success, returns error on failure
118
+
119
+ - [ ] **Task 3.3**: ConsentFormScreen component
120
+ - Description: Full-screen component rendering a single consent form. Layout: (1) Page with title from form.title, no back button. (2) Scrollable MarkdownView with content from form.content[locale] (fallback to form.defaultLocale). (3) Scroll-to-bottom tracking — when requireScrollToBottom is true, track scroll position and enable agree button only when scrolled to bottom. (4) Checkboxes section — render each form.checkboxes item as CheckBox. When checkbox has confirmationPrompt, show Modal with that text on toggle, require confirm before changing. (5) SignatureField when captureSignature is true. (6) Footer with agree Button (disabled until all requirements met: scroll, required checkboxes, signature). Optional decline Button when allowDecline is true. Props: form, locale, onAgree, onDecline, isSubmitting.
121
+ - Files: `ui/src/ConsentFormScreen.tsx`
122
+ - Depends on: 3.2
123
+ - Acceptance: All form configurations render correctly, requirements gate the agree button, confirmation modals work, decline button appears conditionally
124
+
125
+ - [ ] **Task 3.4**: ConsentNavigator component
126
+ - Description: Inline wrapper component. Props: api (RTK API instance), children, onError (optional callback). On mount, calls useConsentForms to fetch pending forms. States: (1) Loading — show Spinner centered. (2) Pending forms — render ConsentFormScreen for forms[currentIndex]. On agree, call useSubmitConsent then advance currentIndex. On decline (optional forms only), advance currentIndex. When all forms completed, refetch pending to confirm empty, then render children. (3) No pending forms — render children immediately. (4) Error — show ErrorPage with retry, call onError if provided.
127
+ - Files: `ui/src/ConsentNavigator.tsx`
128
+ - Depends on: 3.1, 3.3
129
+ - Acceptance: Blocks children when consents pending, shows forms in order, renders children when complete, handles errors gracefully
130
+
131
+ - [ ] **Task 3.5**: Export consent components from ui
132
+ - Description: Export ConsentNavigator, ConsentFormScreen, useConsentForms, useSubmitConsent from ui/src/index.tsx.
133
+ - Files: `ui/src/index.tsx`
134
+ - Depends on: 3.4
135
+ - Acceptance: All components importable from `@terreno/ui`
136
+
137
+ - [ ] **Task 3.6**: ConsentNavigator tests
138
+ - Description: Test cases: (1) No pending forms — children render immediately. (2) Pending forms — shows ConsentFormScreen, not children. (3) Completing all forms — children render after last form agreed. (4) Decline on optional form (required: false) — skips to next form. (5) Loading state — shows spinner. (6) Error state — shows error page. Use renderWithTheme and mock API responses.
139
+ - Files: `ui/src/ConsentNavigator.test.tsx`
140
+ - Depends on: 3.4
141
+ - Acceptance: All test cases pass
142
+
143
+ ## Phase 4: AI Generation
144
+
145
+ - [ ] **Task 4.1**: POST /consent-forms/generate endpoint
146
+ - Description: Backend endpoint that uses @terreno/ai's AIService (or direct Claude API call if AIService doesn't fit) to generate consent form markdown. Accepts `{type, description, locale}`. System prompt instructs AI to generate a legally-appropriate consent form in markdown format for the given type. Only registered when aiConfig is provided in ConsentApp options. Returns `{data: {content: string}}`. Include OpenAPI docs.
147
+ - Files: `api/src/consentApp.ts`
148
+ - Depends on: 1.3
149
+ - Acceptance: Generates reasonable consent markdown, returns 404 when aiConfig not set, admin-only
150
+
151
+ - [ ] **Task 4.2**: POST /consent-forms/translate endpoint
152
+ - Description: Backend endpoint that uses AI to translate consent markdown from one locale to another. Accepts `{content, fromLocale, toLocale}`. System prompt instructs AI to translate preserving all markdown formatting, legal terminology accuracy, and document structure. Only registered when aiConfig is provided. Returns `{data: {content: string}}`. Include OpenAPI docs.
153
+ - Files: `api/src/consentApp.ts`
154
+ - Depends on: 1.3
155
+ - Acceptance: Translates content preserving markdown formatting, admin-only, 404 when aiConfig not set
156
+
157
+ - [ ] **Task 4.3**: AI generate button in ConsentFormEditor
158
+ - Description: Add "Generate with AI" Button to the editor that opens a Modal with: type SelectField (pre-filled from form type), description TextField (multiline, placeholder "Describe the consent form you need..."), locale display (current tab's locale). On submit, calls POST /consent-forms/generate via injected RTK mutation, populates the MarkdownEditor for current locale with response. Shows loading state on button. Only visible when the backend supports AI (check for endpoint availability or pass as prop).
159
+ - Files: `admin-frontend/src/ConsentFormEditor.tsx`
160
+ - Depends on: 2.2, 4.1
161
+ - Acceptance: Generate button visible, modal works, generated content populates editor, loading state shown
162
+
163
+ - [ ] **Task 4.4**: Translate button in ConsentFormEditor
164
+ - Description: Add "Translate from [defaultLocale]" Button on each non-default locale tab. On click, calls POST /consent-forms/translate with the default locale's content and target locale. Populates the MarkdownEditor for that locale tab with the translated content. Shows loading state. Confirms overwrite if content already exists in that locale.
165
+ - Files: `admin-frontend/src/ConsentFormEditor.tsx`
166
+ - Depends on: 2.2, 4.2
167
+ - Acceptance: Translate button visible per non-default locale tab, translated content populates editor, overwrite confirmation works
168
+
169
+ ## Phase 5: Example App + Docs
170
+
171
+ - [ ] **Task 5.1**: Integrate ConsentApp into example-backend
172
+ - Description: Register ConsentApp plugin in example-backend/src/server.ts. Configure with auditTrail: true, supportedLocales: ["en", "es"], and a simple resolveConsentForms that returns all forms. Add CLAUDE_API_KEY to .env.example for AI features. Register ConsentForm and ConsentResponse in AdminApp models array.
173
+ - Files: `example-backend/src/server.ts`
174
+ - Depends on: Phase 1
175
+ - Acceptance: Backend serves all consent endpoints, shows in OpenAPI spec, admin can manage forms
176
+
177
+ - [ ] **Task 5.2**: Integrate ConsentNavigator into example-frontend
178
+ - Description: Wrap the authenticated app content (inside tabs layout or root layout after auth check) with ConsentNavigator component, passing the terrenoApi instance. Regenerate SDK with `bun run sdk` to include consent endpoints.
179
+ - Files: `example-frontend/app/_layout.tsx` or `example-frontend/app/(tabs)/_layout.tsx`, `example-frontend/store/sdk.ts`
180
+ - Depends on: Phase 3, 5.1
181
+ - Acceptance: Consent flow blocks app when forms are pending, passes through when none, SDK includes consent types
182
+
183
+ - [ ] **Task 5.3**: Add consent admin screens to example-frontend
184
+ - Description: Add admin routes using Expo Router file-based routing: (1) `app/admin/consent-forms/index.tsx` — ConsentFormList, (2) `app/admin/consent-forms/create.tsx` — ConsentFormEditor mode="create", (3) `app/admin/consent-forms/[id].tsx` — ConsentFormEditor mode="edit", (4) `app/admin/consent-responses/index.tsx` — AdminModelTable for responses, (5) `app/admin/consent-responses/[id].tsx` — ConsentResponseViewer.
185
+ - Files: `example-frontend/app/admin/consent-forms/index.tsx`, `example-frontend/app/admin/consent-forms/create.tsx`, `example-frontend/app/admin/consent-forms/[id].tsx`, `example-frontend/app/admin/consent-responses/index.tsx`, `example-frontend/app/admin/consent-responses/[id].tsx`
186
+ - Depends on: Phase 2, 5.1
187
+ - Acceptance: Admin can create/edit/publish consent forms, view responses, full CRUD flow works
188
+
189
+ - [ ] **Task 5.4**: Seed example consent forms
190
+ - Description: Add a seed script that creates two sample consent forms: (1) Terms of Service (type: "agreement", required: true, requireScrollToBottom: true, captureSignature: true, order: 1), (2) Privacy Policy (type: "privacy", required: true, requireScrollToBottom: true, order: 2). Both with English content and active: true. Script should be idempotent (check if forms exist before creating).
191
+ - Files: `example-backend/src/seed.ts` or `example-backend/src/scripts/seedConsents.ts`
192
+ - Depends on: 5.1
193
+ - Acceptance: Running seed creates sample forms, re-running doesn't duplicate, example app shows consent flow