@terreno/mcp 57.3.0 → 57.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/dist/bootstrap.d.ts +0 -18
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +10 -2428
- package/dist/bootstrap.js.map +1 -1
- package/dist/docs/guidelines/admin-frontend/guidelines/core.md +5 -1
- package/dist/docs/guidelines/api/skills/mongoose-schema-safety/SKILL.md +23 -10
- package/dist/docs/resources/syncdb.md +4 -1
- package/dist/docs/upgrades/57.4.0.md +140 -0
- package/dist/docs/versioned/next/README.md +3 -0
- package/dist/docs/versioned/next/explanation/README.md +4 -1
- package/dist/docs/versioned/next/explanation/admin-interface.md +20 -13
- package/dist/docs/versioned/next/explanation/charts.md +29 -0
- package/dist/docs/versioned/next/explanation/deployment-architecture-gcp.md +32 -0
- package/dist/docs/versioned/next/explanation/deployment-baseline.md +1 -1
- package/dist/docs/versioned/next/explanation/example-coverage.md +43 -0
- package/dist/docs/versioned/next/explanation/local-first-data.md +5 -2
- package/dist/docs/versioned/next/explanation/loop-engineering.md +9 -6
- package/dist/docs/versioned/next/explanation/model-router-actions.md +19 -2
- package/dist/docs/versioned/next/explanation/organizations.md +88 -0
- package/dist/docs/versioned/next/explanation/planning-plugins.md +114 -0
- package/dist/docs/versioned/next/explanation/positioning.md +3 -3
- package/dist/docs/versioned/next/explanation/repository-settings.md +6 -5
- package/dist/docs/versioned/next/explanation/roadmap-seed-issues.md +44 -34
- package/dist/docs/versioned/next/explanation/source-rules.md +1 -1
- package/dist/docs/versioned/next/explanation/static-analysis.md +76 -16
- package/dist/docs/versioned/next/how-to/README.md +10 -0
- package/dist/docs/versioned/next/how-to/add-gpt-chat-mascot.md +92 -0
- package/dist/docs/versioned/next/how-to/add-organizations.md +204 -0
- package/dist/docs/versioned/next/how-to/admin-add-model.md +9 -1
- package/dist/docs/versioned/next/how-to/admin-import-prebuilt.md +7 -1
- package/dist/docs/versioned/next/how-to/audit-log.md +85 -0
- package/dist/docs/versioned/next/how-to/background-jobs.md +296 -0
- package/dist/docs/versioned/next/how-to/build-admin-screens.md +42 -13
- package/dist/docs/versioned/next/how-to/charts-and-dashboards.md +37 -0
- package/dist/docs/versioned/next/how-to/circleci.md +136 -27
- package/dist/docs/versioned/next/how-to/compare-chart-rendered-snapshots.md +36 -0
- package/dist/docs/versioned/next/how-to/configure-better-auth.md +4 -0
- package/dist/docs/versioned/next/how-to/create-a-terreno-app.md +154 -0
- package/dist/docs/versioned/next/how-to/deploy-backend-to-cloud-run.md +2 -0
- package/dist/docs/versioned/next/how-to/github-actions-ci.md +4 -3
- package/dist/docs/versioned/next/how-to/github-issue-lifecycle.md +12 -8
- package/dist/docs/versioned/next/how-to/in-app-notifications.md +147 -0
- package/dist/docs/versioned/next/how-to/install-agent-skills.md +24 -12
- package/dist/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +19 -3
- package/dist/docs/versioned/next/how-to/product-announcements.md +155 -0
- package/dist/docs/versioned/next/how-to/run-mongodb-migrations.md +127 -0
- package/dist/docs/versioned/next/how-to/run-tests-locally.md +102 -0
- package/dist/docs/versioned/next/how-to/seed-a-database.md +7 -2
- package/dist/docs/versioned/next/implementationPlans/README.md +8 -5
- package/dist/docs/versioned/next/implementationPlans/admin-scripts-durable-jobs.md +44 -0
- package/dist/docs/versioned/next/implementationPlans/agent-ui-blocks.md +386 -0
- package/dist/docs/versioned/next/implementationPlans/agentic-sdlc-plugin.md +11 -8
- package/dist/docs/versioned/next/implementationPlans/announcements-surfaces.md +231 -0
- package/dist/docs/versioned/next/implementationPlans/announcements.md +289 -0
- package/dist/docs/versioned/next/implementationPlans/b2b-platform-program.md +3 -1
- package/dist/docs/versioned/next/implementationPlans/charts-and-dashboards.md +246 -0
- package/dist/docs/versioned/next/implementationPlans/comms-admin-dashboard.md +4 -3
- package/dist/docs/versioned/next/implementationPlans/create-terreno-app.md +177 -0
- package/dist/docs/versioned/next/implementationPlans/datatable-server-side-filtering.md +219 -0
- package/dist/docs/versioned/next/implementationPlans/examples-demo-coverage.md +17 -17
- package/dist/docs/versioned/next/implementationPlans/framework-audit-log.md +247 -0
- package/dist/docs/versioned/next/implementationPlans/gpt-chat-mascot.md +40 -0
- package/dist/docs/versioned/next/implementationPlans/job-queues.md +330 -0
- package/dist/docs/versioned/next/implementationPlans/knip-cleanup.md +136 -0
- package/dist/docs/versioned/next/implementationPlans/migrate-admin-to-syncdb.md +210 -0
- package/dist/docs/versioned/next/implementationPlans/mongodb-migrations-tooling.md +254 -0
- package/dist/docs/versioned/next/implementationPlans/notification-center.md +185 -0
- package/dist/docs/versioned/next/implementationPlans/org-management-ui.md +8 -3
- package/dist/docs/versioned/next/implementationPlans/positioning-django-rails-universal.md +1 -1
- package/dist/docs/versioned/next/reference/README.md +4 -0
- package/dist/docs/versioned/next/reference/admin-backend.md +83 -5
- package/dist/docs/versioned/next/reference/admin-config.md +7 -0
- package/dist/docs/versioned/next/reference/admin-frontend.md +178 -5
- package/dist/docs/versioned/next/reference/admin-spa.md +18 -1
- package/dist/docs/versioned/next/reference/ai.md +2 -0
- package/dist/docs/versioned/next/reference/announcements.md +179 -0
- package/dist/docs/versioned/next/reference/api.md +343 -4
- package/dist/docs/versioned/next/reference/comms.md +33 -0
- package/dist/docs/versioned/next/reference/create-terreno-app.md +44 -0
- package/dist/docs/versioned/next/reference/environment-variables.md +29 -0
- package/dist/docs/versioned/next/reference/jobs.md +319 -0
- package/dist/docs/versioned/next/reference/legacy/rtk.md +5 -1
- package/dist/docs/versioned/next/reference/lifecycle-plugin.md +29 -11
- package/dist/docs/versioned/next/reference/mcp-server.md +2 -43
- package/dist/docs/versioned/next/reference/scan-plugin.md +169 -0
- package/dist/docs/versioned/next/reference/syncdb.md +38 -12
- package/dist/docs/versioned/next/reference/test.md +57 -6
- package/dist/docs/versioned/next/reference/ui-performance.md +2 -1
- package/dist/docs/versioned/next/reference/ui.md +257 -3
- package/dist/docs/versioned/next/tasks/admin-scripts-durable-jobs.md +10 -0
- package/dist/docs/versioned/next/tasks/agent-ui-blocks.md +114 -0
- package/dist/docs/versioned/next/tasks/announcements-surfaces.md +101 -0
- package/dist/docs/versioned/next/tasks/announcements.md +173 -0
- package/dist/docs/versioned/next/tasks/charts-and-dashboards.md +120 -0
- package/dist/docs/versioned/next/tasks/create-terreno-app.md +82 -0
- package/dist/docs/versioned/next/tasks/datatable-server-side-filtering.md +87 -0
- package/dist/docs/versioned/next/tasks/examples-demo-coverage.md +123 -17
- package/dist/docs/versioned/next/tasks/framework-audit-log.md +86 -0
- package/dist/docs/versioned/next/tasks/gpt-chat-mascot.md +13 -0
- package/dist/docs/versioned/next/tasks/job-queues.md +144 -0
- package/dist/docs/versioned/next/tasks/knip-cleanup.md +146 -0
- package/dist/docs/versioned/next/tasks/migrate-admin-to-syncdb.md +209 -0
- package/dist/docs/versioned/next/tasks/mongodb-migrations-tooling.md +107 -0
- package/dist/docs/versioned/next/tasks/notification-center.md +102 -0
- package/dist/docs/versioned/next/tasks/org-management-ui.md +14 -14
- package/dist/docs/versioned/next/tutorials/README.md +1 -1
- package/dist/docs/versioned/next/tutorials/getting-started.md +62 -22
- package/dist/help/excerpt.d.ts +2 -0
- package/dist/help/excerpt.d.ts.map +1 -0
- package/dist/help/excerpt.js +8 -0
- package/dist/help/excerpt.js.map +1 -0
- package/dist/help/updateNotes.d.ts +42 -0
- package/dist/help/updateNotes.d.ts.map +1 -0
- package/dist/help/updateNotes.js +235 -0
- package/dist/help/updateNotes.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/local/tools/databaseQuery.d.ts +1 -0
- package/dist/local/tools/databaseQuery.d.ts.map +1 -1
- package/dist/local/tools/databaseQuery.js +1 -0
- package/dist/local/tools/databaseQuery.js.map +1 -1
- package/dist/packageGuidelines.d.ts +2 -2
- package/dist/packageGuidelines.d.ts.map +1 -1
- package/dist/packageGuidelines.js +2 -8
- package/dist/packageGuidelines.js.map +1 -1
- package/dist/resources.d.ts +3 -0
- package/dist/resources.d.ts.map +1 -1
- package/dist/resources.js +3 -0
- package/dist/resources.js.map +1 -1
- package/dist/search/chunker.d.ts +1 -0
- package/dist/search/chunker.d.ts.map +1 -1
- package/dist/search/chunker.js +1 -0
- package/dist/search/chunker.js.map +1 -1
- package/dist/search/docIndex.d.ts +1 -5
- package/dist/search/docIndex.d.ts.map +1 -1
- package/dist/search/docIndex.js +1 -0
- package/dist/search/docIndex.js.map +1 -1
- package/dist/search/docVersion.d.ts +2 -1
- package/dist/search/docVersion.d.ts.map +1 -1
- package/dist/search/docVersion.js +3 -1
- package/dist/search/docVersion.js.map +1 -1
- package/dist/tools.d.ts +2 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +113 -2
- package/dist/tools.js.map +1 -1
- package/package.json +28 -27
- package/src/docs/guidelines/admin-frontend/guidelines/core.md +5 -1
- package/src/docs/guidelines/api/skills/mongoose-schema-safety/SKILL.md +23 -10
- package/src/docs/resources/syncdb.md +4 -1
- package/src/docs/upgrades/57.4.0.md +140 -0
- package/src/docs/versioned/next/README.md +3 -0
- package/src/docs/versioned/next/explanation/README.md +4 -1
- package/src/docs/versioned/next/explanation/admin-interface.md +20 -13
- package/src/docs/versioned/next/explanation/charts.md +29 -0
- package/src/docs/versioned/next/explanation/deployment-architecture-gcp.md +32 -0
- package/src/docs/versioned/next/explanation/deployment-baseline.md +1 -1
- package/src/docs/versioned/next/explanation/example-coverage.md +43 -0
- package/src/docs/versioned/next/explanation/local-first-data.md +5 -2
- package/src/docs/versioned/next/explanation/loop-engineering.md +9 -6
- package/src/docs/versioned/next/explanation/model-router-actions.md +19 -2
- package/src/docs/versioned/next/explanation/organizations.md +88 -0
- package/src/docs/versioned/next/explanation/planning-plugins.md +114 -0
- package/src/docs/versioned/next/explanation/positioning.md +3 -3
- package/src/docs/versioned/next/explanation/repository-settings.md +6 -5
- package/src/docs/versioned/next/explanation/roadmap-seed-issues.md +44 -34
- package/src/docs/versioned/next/explanation/source-rules.md +1 -1
- package/src/docs/versioned/next/explanation/static-analysis.md +76 -16
- package/src/docs/versioned/next/how-to/README.md +10 -0
- package/src/docs/versioned/next/how-to/add-gpt-chat-mascot.md +92 -0
- package/src/docs/versioned/next/how-to/add-organizations.md +204 -0
- package/src/docs/versioned/next/how-to/admin-add-model.md +9 -1
- package/src/docs/versioned/next/how-to/admin-import-prebuilt.md +7 -1
- package/src/docs/versioned/next/how-to/audit-log.md +85 -0
- package/src/docs/versioned/next/how-to/background-jobs.md +296 -0
- package/src/docs/versioned/next/how-to/build-admin-screens.md +42 -13
- package/src/docs/versioned/next/how-to/charts-and-dashboards.md +37 -0
- package/src/docs/versioned/next/how-to/circleci.md +136 -27
- package/src/docs/versioned/next/how-to/compare-chart-rendered-snapshots.md +36 -0
- package/src/docs/versioned/next/how-to/configure-better-auth.md +4 -0
- package/src/docs/versioned/next/how-to/create-a-terreno-app.md +154 -0
- package/src/docs/versioned/next/how-to/deploy-backend-to-cloud-run.md +2 -0
- package/src/docs/versioned/next/how-to/github-actions-ci.md +4 -3
- package/src/docs/versioned/next/how-to/github-issue-lifecycle.md +12 -8
- package/src/docs/versioned/next/how-to/in-app-notifications.md +147 -0
- package/src/docs/versioned/next/how-to/install-agent-skills.md +24 -12
- package/src/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +19 -3
- package/src/docs/versioned/next/how-to/product-announcements.md +155 -0
- package/src/docs/versioned/next/how-to/run-mongodb-migrations.md +127 -0
- package/src/docs/versioned/next/how-to/run-tests-locally.md +102 -0
- package/src/docs/versioned/next/how-to/seed-a-database.md +7 -2
- package/src/docs/versioned/next/implementationPlans/README.md +8 -5
- package/src/docs/versioned/next/implementationPlans/admin-scripts-durable-jobs.md +44 -0
- package/src/docs/versioned/next/implementationPlans/agent-ui-blocks.md +386 -0
- package/src/docs/versioned/next/implementationPlans/agentic-sdlc-plugin.md +11 -8
- package/src/docs/versioned/next/implementationPlans/announcements-surfaces.md +231 -0
- package/src/docs/versioned/next/implementationPlans/announcements.md +289 -0
- package/src/docs/versioned/next/implementationPlans/b2b-platform-program.md +3 -1
- package/src/docs/versioned/next/implementationPlans/charts-and-dashboards.md +246 -0
- package/src/docs/versioned/next/implementationPlans/comms-admin-dashboard.md +4 -3
- package/src/docs/versioned/next/implementationPlans/create-terreno-app.md +177 -0
- package/src/docs/versioned/next/implementationPlans/datatable-server-side-filtering.md +219 -0
- package/src/docs/versioned/next/implementationPlans/examples-demo-coverage.md +17 -17
- package/src/docs/versioned/next/implementationPlans/framework-audit-log.md +247 -0
- package/src/docs/versioned/next/implementationPlans/gpt-chat-mascot.md +40 -0
- package/src/docs/versioned/next/implementationPlans/job-queues.md +330 -0
- package/src/docs/versioned/next/implementationPlans/knip-cleanup.md +136 -0
- package/src/docs/versioned/next/implementationPlans/migrate-admin-to-syncdb.md +210 -0
- package/src/docs/versioned/next/implementationPlans/mongodb-migrations-tooling.md +254 -0
- package/src/docs/versioned/next/implementationPlans/notification-center.md +185 -0
- package/src/docs/versioned/next/implementationPlans/org-management-ui.md +8 -3
- package/src/docs/versioned/next/implementationPlans/positioning-django-rails-universal.md +1 -1
- package/src/docs/versioned/next/reference/README.md +4 -0
- package/src/docs/versioned/next/reference/admin-backend.md +83 -5
- package/src/docs/versioned/next/reference/admin-config.md +7 -0
- package/src/docs/versioned/next/reference/admin-frontend.md +178 -5
- package/src/docs/versioned/next/reference/admin-spa.md +18 -1
- package/src/docs/versioned/next/reference/ai.md +2 -0
- package/src/docs/versioned/next/reference/announcements.md +179 -0
- package/src/docs/versioned/next/reference/api.md +343 -4
- package/src/docs/versioned/next/reference/comms.md +33 -0
- package/src/docs/versioned/next/reference/create-terreno-app.md +44 -0
- package/src/docs/versioned/next/reference/environment-variables.md +29 -0
- package/src/docs/versioned/next/reference/jobs.md +319 -0
- package/src/docs/versioned/next/reference/legacy/rtk.md +5 -1
- package/src/docs/versioned/next/reference/lifecycle-plugin.md +29 -11
- package/src/docs/versioned/next/reference/mcp-server.md +2 -43
- package/src/docs/versioned/next/reference/scan-plugin.md +169 -0
- package/src/docs/versioned/next/reference/syncdb.md +38 -12
- package/src/docs/versioned/next/reference/test.md +57 -6
- package/src/docs/versioned/next/reference/ui-performance.md +2 -1
- package/src/docs/versioned/next/reference/ui.md +257 -3
- package/src/docs/versioned/next/tasks/admin-scripts-durable-jobs.md +10 -0
- package/src/docs/versioned/next/tasks/agent-ui-blocks.md +114 -0
- package/src/docs/versioned/next/tasks/announcements-surfaces.md +101 -0
- package/src/docs/versioned/next/tasks/announcements.md +173 -0
- package/src/docs/versioned/next/tasks/charts-and-dashboards.md +120 -0
- package/src/docs/versioned/next/tasks/create-terreno-app.md +82 -0
- package/src/docs/versioned/next/tasks/datatable-server-side-filtering.md +87 -0
- package/src/docs/versioned/next/tasks/examples-demo-coverage.md +123 -17
- package/src/docs/versioned/next/tasks/framework-audit-log.md +86 -0
- package/src/docs/versioned/next/tasks/gpt-chat-mascot.md +13 -0
- package/src/docs/versioned/next/tasks/job-queues.md +144 -0
- package/src/docs/versioned/next/tasks/knip-cleanup.md +146 -0
- package/src/docs/versioned/next/tasks/migrate-admin-to-syncdb.md +209 -0
- package/src/docs/versioned/next/tasks/mongodb-migrations-tooling.md +107 -0
- package/src/docs/versioned/next/tasks/notification-center.md +102 -0
- package/src/docs/versioned/next/tasks/org-management-ui.md +14 -14
- package/src/docs/versioned/next/tutorials/README.md +1 -1
- package/src/docs/versioned/next/tutorials/getting-started.md +62 -22
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,44 +1,27 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@terreno/mcp",
|
|
3
|
-
"version": "57.3.0",
|
|
4
|
-
"description": "MCP server that gives coding agents Terreno docs, codegen tools, and prompts — part of Terreno, the batteries-included TypeScript framework for universal apps.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
2
|
"bin": {
|
|
8
3
|
"terreno-mcp": "./dist/index.js",
|
|
9
4
|
"terreno-mcp-local": "./dist/local/index.js"
|
|
10
5
|
},
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"dev": "bun --watch src/index.ts",
|
|
14
|
-
"start": "bun dist/index.js",
|
|
15
|
-
"lint": "biome check src/",
|
|
16
|
-
"lint:fix": "biome check --write src/",
|
|
17
|
-
"lint:unsafefix": "biome check --fix --unsafe src/",
|
|
18
|
-
"compile": "NODE_OPTIONS=--max-old-space-size=8192 bun run sync-ui-docs && NODE_OPTIONS=--max-old-space-size=8192 bun run sync-versioned-docs && NODE_OPTIONS=--max-old-space-size=8192 bun run sync-package-guidelines && NODE_OPTIONS=--max-old-space-size=8192 tsc && cp -r src/docs dist/",
|
|
19
|
-
"compile:watch": "tsc -w",
|
|
20
|
-
"sync-ui-docs": "cp ../demo/ui-types-documentation.json src/docs/ 2>/dev/null || true",
|
|
21
|
-
"sync-versioned-docs": "bun run scripts/sync-versioned-docs.ts",
|
|
22
|
-
"sync-package-guidelines": "bun run scripts/sync-package-guidelines.ts",
|
|
23
|
-
"test": "bun test --max-concurrency=1 src/",
|
|
24
|
-
"test:agent": "AGENT=1 bun test --only-failures --max-concurrency=1 src/",
|
|
25
|
-
"test:ci": "bun test --max-concurrency=1 src/",
|
|
26
|
-
"test:coverage": "bun run ../scripts/check-coverage.ts"
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/FlourishHealth/terreno/issues"
|
|
27
8
|
},
|
|
28
9
|
"dependencies": {
|
|
29
10
|
"@modelcontextprotocol/express": "^2.0.0",
|
|
30
11
|
"@modelcontextprotocol/node": "^2.0.0",
|
|
31
12
|
"@modelcontextprotocol/server": "^2.0.0",
|
|
32
13
|
"@sentry/bun": "^10.39.0",
|
|
33
|
-
"@terreno/api": "57.
|
|
14
|
+
"@terreno/api": "57.4.0",
|
|
34
15
|
"express": "^5.2.1",
|
|
35
16
|
"minisearch": "^7.2.0",
|
|
36
17
|
"mongoose": "9.7.4"
|
|
37
18
|
},
|
|
19
|
+
"description": "MCP server that gives coding agents Terreno docs, codegen tools, and prompts — part of Terreno, the batteries-included TypeScript framework for universal apps.",
|
|
38
20
|
"devDependencies": {
|
|
39
21
|
"@biomejs/biome": "^2.3.6",
|
|
40
22
|
"@types/bun": "^1.4.0",
|
|
41
23
|
"@types/node": "^25.3.0",
|
|
24
|
+
"chai": "^6.2.2",
|
|
42
25
|
"typescript": "~6.0.3"
|
|
43
26
|
},
|
|
44
27
|
"files": [
|
|
@@ -46,6 +29,7 @@
|
|
|
46
29
|
"dist",
|
|
47
30
|
"src/docs"
|
|
48
31
|
],
|
|
32
|
+
"homepage": "https://github.com/FlourishHealth/terreno#readme",
|
|
49
33
|
"keywords": [
|
|
50
34
|
"mcp",
|
|
51
35
|
"terreno",
|
|
@@ -54,15 +38,32 @@
|
|
|
54
38
|
"code-generation"
|
|
55
39
|
],
|
|
56
40
|
"license": "MIT",
|
|
41
|
+
"main": "dist/index.js",
|
|
42
|
+
"name": "@terreno/mcp",
|
|
57
43
|
"publishConfig": {
|
|
58
44
|
"access": "public"
|
|
59
45
|
},
|
|
60
|
-
"bugs": {
|
|
61
|
-
"url": "https://github.com/FlourishHealth/terreno/issues"
|
|
62
|
-
},
|
|
63
|
-
"homepage": "https://github.com/FlourishHealth/terreno#readme",
|
|
64
46
|
"repository": {
|
|
65
47
|
"type": "git",
|
|
66
48
|
"url": "git+ssh://git@github.com/FlourishHealth/terreno.git"
|
|
67
|
-
}
|
|
49
|
+
},
|
|
50
|
+
"scripts": {
|
|
51
|
+
"build": "NODE_OPTIONS=--max-old-space-size=8192 bun run sync-ui-docs && NODE_OPTIONS=--max-old-space-size=8192 bun run sync-versioned-docs && NODE_OPTIONS=--max-old-space-size=8192 bun run sync-package-guidelines && NODE_OPTIONS=--max-old-space-size=8192 tsc && cp -r src/docs dist/",
|
|
52
|
+
"compile": "NODE_OPTIONS=--max-old-space-size=8192 bun run sync-ui-docs && NODE_OPTIONS=--max-old-space-size=8192 bun run sync-versioned-docs && NODE_OPTIONS=--max-old-space-size=8192 bun run sync-package-guidelines && NODE_OPTIONS=--max-old-space-size=8192 tsc && cp -r src/docs dist/",
|
|
53
|
+
"compile:watch": "tsc -w",
|
|
54
|
+
"dev": "bun --watch src/index.ts",
|
|
55
|
+
"lint": "biome check src/",
|
|
56
|
+
"lint:fix": "biome check --write src/",
|
|
57
|
+
"lint:unsafefix": "biome check --fix --unsafe src/",
|
|
58
|
+
"start": "bun dist/index.js",
|
|
59
|
+
"sync-package-guidelines": "bun run scripts/sync-package-guidelines.ts",
|
|
60
|
+
"sync-ui-docs": "cp ../demo/ui-types-documentation.json src/docs/ 2>/dev/null || true",
|
|
61
|
+
"sync-versioned-docs": "bun run scripts/sync-versioned-docs.ts",
|
|
62
|
+
"test": "bun test --max-concurrency=1 src/",
|
|
63
|
+
"test:agent": "AGENT=1 bun test --only-failures --max-concurrency=1 src/",
|
|
64
|
+
"test:ci": "bun test --max-concurrency=1 src/",
|
|
65
|
+
"test:coverage": "bun run ../scripts/check-coverage.ts"
|
|
66
|
+
},
|
|
67
|
+
"type": "module",
|
|
68
|
+
"version": "57.4.0"
|
|
68
69
|
}
|
|
@@ -8,6 +8,10 @@ Read the architecture first:
|
|
|
8
8
|
Use `AdminProvider` + `AdminShellLayout`. Home is `AdminHome`. Generic models use
|
|
9
9
|
`AdminScreenRouter` on `[model]/index` (create is `[model]/create`, not `new`).
|
|
10
10
|
Custom screens need the same `name` on `AdminApp.customScreens` and
|
|
11
|
-
`widgets.screens`.
|
|
11
|
+
`widgets.screens`. String-`_id` model CRUD uses windowed syncdb when
|
|
12
|
+
`adminBroadcast` is enabled. Framework admin RPC uses host-bound
|
|
13
|
+
`adminRequest`; ObjectId/API-only compatibility CRUD keeps `useAdminApi` in
|
|
14
|
+
Terreno 57. Do not add new admin `injectEndpoints`; Terreno 58 removes that path
|
|
15
|
+
and the required `api` prop.
|
|
12
16
|
|
|
13
17
|
Agent workflow: skill `building-admin-interfaces`.
|
|
@@ -83,29 +83,40 @@ schema.statics = {
|
|
|
83
83
|
- Apply the standard plugins (`createdUpdatedPlugin`, `isDeletedPlugin`, `findOneOrNone`, `findExactlyOne`) on every new model. Most existing models go through `addDefaultPlugins`.
|
|
84
84
|
- `checkModelsStrict()` runs at non-prod startup (`server.ts`) and validates schema consistency — keep it passing.
|
|
85
85
|
|
|
86
|
+
## Migration files
|
|
87
|
+
|
|
88
|
+
Schema and data changes that must run once per environment belong in
|
|
89
|
+
`migrations/<YYYYMMDDHHmmss>-<slug>.ts` with required `up` and optional `down`.
|
|
90
|
+
Generate a draft with `terreno-migrate generate --dir ./migrations --models ./src/models.ts`,
|
|
91
|
+
then `terreno-migrate up --dir ./migrations --dry` before wet apply.
|
|
92
|
+
See [Run MongoDB migrations](../../../../docs/how-to/run-mongodb-migrations.md).
|
|
93
|
+
|
|
94
|
+
Admin **Scripts** (`ScriptRunner` + `BackgroundTask`) stay for one-off operator
|
|
95
|
+
tools. Do not use Scripts as the primary path for versioned schema backfills.
|
|
96
|
+
|
|
86
97
|
## Schema Change Risk Matrix
|
|
87
98
|
|
|
88
99
|
| Change Type | Risk Level | Required Mitigation |
|
|
89
100
|
|-------------|-----------|---------------------|
|
|
90
101
|
| Add optional field | Low | Safe to ship directly (still requires `description`) |
|
|
91
|
-
| Add required field | High | Must provide a default value, OR write a
|
|
102
|
+
| Add required field | High | Must provide a default value, OR write a versioned migration (`terreno-migrate generate` / `up`) with a backfill before wet apply |
|
|
92
103
|
| Remove field | Medium | Soft-remove first (mark optional, stop writing); hard-remove in next PR after deploys settle |
|
|
93
|
-
| Rename field | High | Three-step: add new → backfill → remove old (separate PRs) |
|
|
94
|
-
| Change field type | Critical | Treat as rename: new field + migration + remove old |
|
|
95
|
-
| Add index | Medium |
|
|
104
|
+
| Rename field | High | Three-step: add new → backfill migration → remove old (separate PRs) |
|
|
105
|
+
| Change field type | Critical | Treat as rename: new field + versioned migration + remove old |
|
|
106
|
+
| Add index | Medium | Prefer `terreno-migrate generate` for the index; build can slow writes on large collections — coordinate with ops |
|
|
96
107
|
| Remove index | Low | Safe to ship directly |
|
|
97
|
-
| Add unique index | High | Dedup
|
|
108
|
+
| Add unique index | High | Dedup in a versioned migration first; otherwise the index build fails on existing duplicates |
|
|
98
109
|
|
|
99
|
-
##
|
|
110
|
+
## One-off admin scripts
|
|
100
111
|
|
|
101
|
-
|
|
112
|
+
Ad-hoc operator tools (counts, reseeds, support fixes) still live as admin
|
|
113
|
+
Scripts using `ScriptRunner` and `BackgroundTask`:
|
|
102
114
|
|
|
103
115
|
```typescript
|
|
104
116
|
import type {ScriptContext, ScriptResult, ScriptRunner} from "@terreno/api";
|
|
105
117
|
|
|
106
118
|
export const run: ScriptRunner = async (wetRun, ctx) => {
|
|
107
119
|
const results: string[] = [];
|
|
108
|
-
// ... do work ...
|
|
109
120
|
if (wetRun) {
|
|
110
121
|
// commit changes
|
|
111
122
|
}
|
|
@@ -113,7 +124,9 @@ export const run: ScriptRunner = async (wetRun, ctx) => {
|
|
|
113
124
|
};
|
|
114
125
|
```
|
|
115
126
|
|
|
116
|
-
Always run with `wetRun = false` first
|
|
127
|
+
Always run with `wetRun = false` first. Use `ctx.checkCancellation()`,
|
|
128
|
+
`ctx.addLog()`, and `ctx.updateProgress()` for long-running tasks. Do not put
|
|
129
|
+
repeatable schema backfills here — use `migrations/` and `terreno-migrate`.
|
|
117
130
|
|
|
118
131
|
## Cross-Package Ripple
|
|
119
132
|
|
|
@@ -131,7 +144,7 @@ A schema change in one place often ripples:
|
|
|
131
144
|
- [ ] For a new model: all five types (`Document`, `Methods`, `Statics`, `Model`, `Schema`) created
|
|
132
145
|
- [ ] Statics/methods assigned directly on schema (`schema.statics = {...}`, `schema.methods = {...}`) — not `.static()` / `.method()`
|
|
133
146
|
- [ ] Other model type files checked — any model that populates this one updated if its shape changed
|
|
134
|
-
- [ ]
|
|
147
|
+
- [ ] Versioned migration written (`migrations/` + `terreno-migrate`) and dry-run verified for any backfill; unique-index dedup runs before the index is added
|
|
135
148
|
- [ ] `modelRouter` config updated (`queryFields`, `populatePaths`, `responseHandler`) if needed
|
|
136
149
|
- [ ] `AdminApp` `listFields` updated if the model is in the admin panel
|
|
137
150
|
- [ ] `bun run sdk` run from `example-frontend/` if the API response shape changed
|
|
@@ -36,7 +36,10 @@ const {create, update, remove} = useMutate("todos");
|
|
|
36
36
|
|
|
37
37
|
## What syncdb replaces
|
|
38
38
|
|
|
39
|
-
Do **not** use RTK Query `useGetXQuery` / `usePostXMutation` for synced
|
|
39
|
+
Do **not** use RTK Query `useGetXQuery` / `usePostXMutation` for synced
|
|
40
|
+
collections. Keep `bun run sdk` for non-synced routes such as auth/me and AI.
|
|
41
|
+
Built-in admin String-`_id` CRUD uses windowed syncdb; admin RPC uses its
|
|
42
|
+
host-bound fetch client; ObjectId compatibility CRUD remains RTK in Terreno 57.
|
|
40
43
|
|
|
41
44
|
Full reference: [docs/reference/syncdb.md](https://github.com/FlourishHealth/terreno/blob/master/docs/reference/syncdb.md)
|
|
42
45
|
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Upgrading to 57.4.0
|
|
2
|
+
|
|
3
|
+
**Action required:** Yes
|
|
4
|
+
**Affected packages:** @terreno/api, @terreno/ui, @terreno/admin-frontend, @terreno/admin-backend, @terreno/admin-spa, @terreno/announcements, @terreno/jobs, @terreno/mcp, @terreno/syncdb
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
|
|
8
|
+
Bump every `@terreno/*` package together to `57.4.0`. This minor on the Expo SDK 57 line adds charts and dashboards, in-app notifications, product announcements, optional organizations, a framework audit log, durable jobs, MongoDB migrations, windowed admin sync, `create-terreno-app`, and first publish of `@terreno/announcements`. Scaffolding moves off the MCP `terreno_bootstrap_app` tool. Admin RTK `useAdminApi` is deprecated for Terreno 58. No Expo upgrade is required if you are already on `57.x`.
|
|
9
|
+
|
|
10
|
+
## Breaking changes
|
|
11
|
+
|
|
12
|
+
None
|
|
13
|
+
|
|
14
|
+
## Deprecations
|
|
15
|
+
|
|
16
|
+
### `useAdminApi` and the required admin `api` prop
|
|
17
|
+
|
|
18
|
+
These still work in 57.4.0 and will be removed in Terreno **58**:
|
|
19
|
+
|
|
20
|
+
- `@terreno/admin-frontend` `useAdminApi` (RTK `injectEndpoints`)
|
|
21
|
+
- required `api` prop on admin screens for eligible String-`_id` collections
|
|
22
|
+
|
|
23
|
+
New admin RPC uses host-bound `adminRequest` / `bindAdminRequest`. Eligible String-`_id` model CRUD uses windowed `@terreno/syncdb` (`AdminProvider` `syncDb`, `sync: {adminBroadcast: true}`). Keep passing `api` only for ObjectId / API-only hosts.
|
|
24
|
+
|
|
25
|
+
See [migrate-rtk-to-syncdb.md](../../../docs/how-to/migrate-rtk-to-syncdb.md).
|
|
26
|
+
|
|
27
|
+
## Changed behavior
|
|
28
|
+
|
|
29
|
+
### Scaffold with `create-terreno-app`, not MCP `terreno_bootstrap_app`
|
|
30
|
+
|
|
31
|
+
**What changed**
|
|
32
|
+
|
|
33
|
+
The MCP tool `terreno_bootstrap_app` is gone. The only supported scaffold is `bunx create-terreno-app` / `npm create terreno-app`. MCP still offers `terreno_bootstrap_ai_rules` for editor rules after the CLI runs.
|
|
34
|
+
|
|
35
|
+
**Why**
|
|
36
|
+
|
|
37
|
+
Generated apps need a deployable full-stack tree, not an in-chat file dump.
|
|
38
|
+
|
|
39
|
+
**Migration**
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Before
|
|
43
|
+
# Call MCP tool terreno_bootstrap_app
|
|
44
|
+
|
|
45
|
+
# After
|
|
46
|
+
bunx create-terreno-app
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Admin host auth for native fetch RPC
|
|
50
|
+
|
|
51
|
+
**What changed**
|
|
52
|
+
|
|
53
|
+
`AdminProvider` accepts host-injected `credentials` and `getAuthHeaders`. Hosts that inject those use native `adminRequest`. Hosts that pass only `api` keep RTK `injectEndpoints`. The admin SPA uses cookie `same-origin` credentials; the example app sends a Bearer token.
|
|
54
|
+
|
|
55
|
+
**Migration**
|
|
56
|
+
|
|
57
|
+
Cookie hosts:
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
<AdminProvider credentials="same-origin" /* ... */>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Bearer hosts:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
<AdminProvider getAuthHeaders={async () => ({Authorization: `Bearer ${token}`})} /* ... */>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Hosts that only pass `api` do not need a change in 57.4.0.
|
|
70
|
+
|
|
71
|
+
### Admin HTTP scripts enqueue `admin/script` when `JobsApp` is registered
|
|
72
|
+
|
|
73
|
+
**What changed**
|
|
74
|
+
|
|
75
|
+
Admin panel HTTP script runs enqueue durable job `admin/script` when `JobsApp` is registered. The Scripts UI still polls `BackgroundTask`. If runner enqueue throws, the HTTP handler marks that `BackgroundTask` failed and returns 500. CLI script runs stay in-process.
|
|
76
|
+
|
|
77
|
+
**Migration**
|
|
78
|
+
|
|
79
|
+
If you register `JobsApp`, start a worker (`startWorker()`) so admin script runs execute. See [background-jobs.md](../../../docs/how-to/background-jobs.md).
|
|
80
|
+
|
|
81
|
+
### Combined `terreno-planning` plugin
|
|
82
|
+
|
|
83
|
+
**What changed**
|
|
84
|
+
|
|
85
|
+
The plugin now ships Terreno app, docs, upgrade, deployment, and verification skills with the lifecycle. Redundant `commit` and `create-pr` skills are removed in favor of Brew. Several unused Expo skills are no longer distributed. Plugin version is `2.12.0` after Taste re-verify and prepush gates.
|
|
86
|
+
|
|
87
|
+
**Migration**
|
|
88
|
+
|
|
89
|
+
Reinstall or update the `terreno-planning` plugin. Use Brew instead of the removed `commit` / `create-pr` skills.
|
|
90
|
+
|
|
91
|
+
## New capabilities
|
|
92
|
+
|
|
93
|
+
### Charts and dashboards
|
|
94
|
+
|
|
95
|
+
`@terreno/ui` ships `LineChart`, `BarChart`, `AreaChart`, `DonutChart`, and `DashboardGrid`. See [charts-and-dashboards.md](../../../docs/how-to/charts-and-dashboards.md).
|
|
96
|
+
|
|
97
|
+
### In-app notifications
|
|
98
|
+
|
|
99
|
+
Register `NotificationsApp`. Use `NotificationBell`, `NotificationInbox`, and `NotificationPreferences` from `@terreno/ui`. Inbox mutations use syncdb.
|
|
100
|
+
|
|
101
|
+
### Product announcements
|
|
102
|
+
|
|
103
|
+
`bun add @terreno/announcements` and register `AnnouncementsApp`. Frontend: `AnnouncementNavigator`. See [product-announcements.md](../../../docs/how-to/product-announcements.md).
|
|
104
|
+
|
|
105
|
+
### Optional organizations
|
|
106
|
+
|
|
107
|
+
Register `OrgsApp` for `Organization` / `Membership`, org context, and org-admin RBAC. Single-tenant apps stay unchanged.
|
|
108
|
+
|
|
109
|
+
### Audit log
|
|
110
|
+
|
|
111
|
+
Register `AuditApp` and set `audit: true` on `modelRouter`. See [audit-log.md](../../../docs/how-to/audit-log.md).
|
|
112
|
+
|
|
113
|
+
### Durable jobs
|
|
114
|
+
|
|
115
|
+
`@terreno/jobs` `JobsApp` with Mongo, GCP Cloud Tasks, or Vercel Queues runners. See [background-jobs.md](../../../docs/how-to/background-jobs.md).
|
|
116
|
+
|
|
117
|
+
### MongoDB migrations
|
|
118
|
+
|
|
119
|
+
`terreno-migrate` plus `TerrenoApp` `migrations.runOnStart`. Production wet apply requires `ALLOW_MIGRATIONS=true`.
|
|
120
|
+
|
|
121
|
+
### Windowed admin sync
|
|
122
|
+
|
|
123
|
+
Set `sync: {adminBroadcast: true}` and pass `syncDb` into `AdminProvider`. `GET /admin/config` includes `adminBroadcast` / `syncCollection`.
|
|
124
|
+
|
|
125
|
+
### `create-terreno-app`
|
|
126
|
+
|
|
127
|
+
Unscoped CLI published in lockstep. Generated scaffolds pin `^57.4.0` on Terreno dependencies.
|
|
128
|
+
|
|
129
|
+
### DataTable server-side filtering
|
|
130
|
+
|
|
131
|
+
Optional `onQueryChange` / `buildDataTableListQuery`. Admin tables adopt the same filter/search UI.
|
|
132
|
+
|
|
133
|
+
## Verification
|
|
134
|
+
|
|
135
|
+
- `bun add` every `@terreno/*` dependency to `57.4.0`, then `bun run compile` and `bun run lint` at the app root
|
|
136
|
+
- `cd <your frontend> && bun run sdk` after pulling `@terreno/api` (notifications, orgs, audit, migrations, jobs, announcements)
|
|
137
|
+
- Replace any `terreno_bootstrap_app` MCP usage with `bunx create-terreno-app`
|
|
138
|
+
- If you use admin RPC, inject `credentials` or `getAuthHeaders` (or keep `api` until Terreno 58)
|
|
139
|
+
- If you register `JobsApp`, confirm `startWorker()` so admin scripts and enqueued jobs run
|
|
140
|
+
- If you enable windowed admin, confirm `adminBroadcast` on the collection and a `Refresh` control on `AdminModelTable`
|
|
@@ -41,9 +41,11 @@ Canonical copy, language rules, and the Django/Rails comparison:
|
|
|
41
41
|
| [@terreno/admin-frontend](reference/admin-frontend.md) | Admin panel frontend screens for `@terreno/api` backends |
|
|
42
42
|
| [@terreno/admin-spa](reference/admin-spa.md) | Standalone admin SPA (Expo Router web) plus Express serve plugin |
|
|
43
43
|
| [@terreno/api-health](reference/api-health.md) | Health check plugin for `@terreno/api` |
|
|
44
|
+
| [@terreno/announcements](reference/announcements.md) | In-app product update announcements |
|
|
44
45
|
| [@terreno/comms](reference/comms.md) | Pluggable communications providers |
|
|
45
46
|
| [@terreno/feature-flags](reference/feature-flags.md) | Feature flags and A/B testing plugin for `@terreno/api` |
|
|
46
47
|
| [@terreno/mcp](reference/mcp-server.md) | MCP server that gives coding agents Terreno docs, codegen tools, and prompts |
|
|
48
|
+
| [create-terreno-app](reference/create-terreno-app.md) | CLI to scaffold a deployable full-stack Terreno app (`bunx create-terreno-app`) |
|
|
47
49
|
|
|
48
50
|
### Legacy
|
|
49
51
|
|
|
@@ -56,6 +58,7 @@ Canonical copy, language rules, and the Django/Rails comparison:
|
|
|
56
58
|
## Quick links
|
|
57
59
|
|
|
58
60
|
- [Getting started](tutorials/getting-started.md)
|
|
61
|
+
- [Create a Terreno app](how-to/create-a-terreno-app.md)
|
|
59
62
|
- [Positioning](explanation/positioning.md)
|
|
60
63
|
- [How admin interfaces are shaped](explanation/admin-interface.md)
|
|
61
64
|
- [Build admin screens](how-to/build-admin-screens.md)
|
|
@@ -11,11 +11,13 @@ Understanding-oriented documentation: concepts, architecture, and context.
|
|
|
11
11
|
## Contents
|
|
12
12
|
|
|
13
13
|
- [Local-first data](local-first-data.md) — Why the local store is the UI source of truth
|
|
14
|
+
- [Planning plugins](planning-plugins.md) — How the lifecycle and scan plugins divide discovery from delivery
|
|
14
15
|
- [Loop engineering](loop-engineering.md) — Fresh-invocation lifecycle, state, evidence, and orchestration boundaries
|
|
15
16
|
- [GitHub issue lifecycle](../how-to/github-issue-lifecycle.md) — Pick-ready issues and plan comments for Pick/Roast
|
|
16
17
|
- [Install agent skills](../how-to/install-agent-skills.md) — `npx skills add FlourishHealth/terreno`
|
|
17
18
|
- [AI-powered workflows](ai-workflows.md) — Autonomous documentation, testing, and maintenance workflows
|
|
18
19
|
- [Authentication architecture](authentication.md) — Better Auth, JWT, and optional MCP service tokens
|
|
20
|
+
- [Organization tenancy](organizations.md) — Optional Membership-backed tenancy, context, and isolation boundaries
|
|
19
21
|
- [Configuration system](configuration-system.md) — Runtime configuration with database persistence
|
|
20
22
|
- [Dependency management](dependency-management.md) — Catalog pins, exercise tests, fingerprint freeze
|
|
21
23
|
- [Modular API design](modular-api-design.md) — 🚧 Why TerrenoApp replaces setupServer
|
|
@@ -29,5 +31,6 @@ Understanding-oriented documentation: concepts, architecture, and context.
|
|
|
29
31
|
- [Admin plugin frontend widgets](admin-plugin-frontend.md) — Widget IDs from backend plugins
|
|
30
32
|
- [Consent admin migration](admin-consent-migration.md) — Which consent screens stay hand-written
|
|
31
33
|
- [Public roadmap process](roadmap-process.md) — GitHub roadmap vs Linear execution
|
|
34
|
+
- [Example app coverage](example-coverage.md) — Which framework capabilities the example apps exercise
|
|
32
35
|
- [Repository settings](repository-settings.md) — Maintainer GitHub settings that cannot be committed
|
|
33
|
-
- [
|
|
36
|
+
- [Why Terreno owns chart SVG](charts.md) — Owned `react-native-svg` vs victory-native
|
|
@@ -12,22 +12,25 @@ workflow (consent publish, comms message detail, password-on-create).
|
|
|
12
12
|
|
|
13
13
|
## Two hosts
|
|
14
14
|
|
|
15
|
-
| Host | When to use | Route prefix (`routeBase`) | API prefix (`apiBase`) |
|
|
16
|
-
| --- | --- | --- | --- |
|
|
17
|
-
| Embedded (`example-frontend/app/admin`) | Admin lives inside the product Expo app | `"/admin"` | `"/admin"` |
|
|
18
|
-
| Standalone (`@terreno/admin-spa`) | Same-origin console served by `AdminSpaServeApp` | `""` (SPA root; mount is `/console`) | `"/admin"` |
|
|
15
|
+
| Host | When to use | Route prefix (`routeBase`) | API prefix (`apiBase`) | Fetch auth |
|
|
16
|
+
| --- | --- | --- | --- | --- |
|
|
17
|
+
| Embedded (`example-frontend/app/admin`) | Admin lives inside the product Expo app | `"/admin"` | `"/admin"` | `getAuthHeaders` → Bearer, plus `apiOrigin` = RTK `baseUrl` so RPC does not hit the Expo origin |
|
|
18
|
+
| Standalone (`@terreno/admin-spa`) | Same-origin console served by `AdminSpaServeApp` | `""` (SPA root; mount is `/console`) | `"/admin"` | `credentials="same-origin"`; empty `getAuthHeaders`; omit `apiOrigin` |
|
|
19
19
|
|
|
20
20
|
`apiBase` is the HTTP path for `/config` and CRUD. `routeBase` is the Expo Router
|
|
21
21
|
prefix the sidebar concatenates onto `/{model.name}` and `/{screen.name}`. Mixing
|
|
22
|
-
them puts nav on the wrong URL.
|
|
22
|
+
them puts nav on the wrong URL. Embedded hosts must also set `apiOrigin` (the
|
|
23
|
+
backend origin, e.g. `http://localhost:4000`) on `AdminProvider`. Native `fetch`
|
|
24
|
+
RPC uses that origin to prefix `/admin/config` and `/rbac/roles`. Do not put the
|
|
25
|
+
origin in `apiBase` — that would rewrite in-app navigation.
|
|
23
26
|
|
|
24
27
|
## Screen kinds
|
|
25
28
|
|
|
26
29
|
| Kind | Source of truth | Frontend |
|
|
27
30
|
| --- | --- | --- |
|
|
28
|
-
| Model changelist / form | `modelRouter({admin: ...})` or plugin `adminContribution()` | `AdminScreenRouter` → `AdminModelTable` / `AdminModelForm` |
|
|
31
|
+
| Model changelist / form | `modelRouter({admin: ...})` or plugin `adminContribution()` | `AdminScreenRouter` → `AdminModelTable` / `AdminModelForm` (list filters live on `DataTable`, not a side drawer) |
|
|
29
32
|
| Custom screen | `AdminApp.customScreens` or plugin `customScreens` (`name` + `displayName`) | Matching `AdminProvider.widgets.screens[name]`, or a dedicated Expo route |
|
|
30
|
-
| Platform tool | Built-in (`scripts`, `roles`, `version`, `configuration`, audit log, feature flags) | Sidebar **Platform** section; visibility from `/admin/config.platformTools` |
|
|
33
|
+
| Platform tool | Built-in (`scripts`, `roles`, `version`, `configuration`, audit log, feature flags, jobs) | Sidebar **Platform** section; visibility from `/admin/config.platformTools` (jobs is lifted from `customScreens`) |
|
|
31
34
|
| Home widget | `AdminApp.home.slots` IDs | `AdminProvider.widgets.home` (built-ins already registered) |
|
|
32
35
|
|
|
33
36
|
`GET /admin/config` is caller-specific. Models and custom screens without read
|
|
@@ -41,12 +44,16 @@ app-level nav inside admin.
|
|
|
41
44
|
Order in the rail:
|
|
42
45
|
|
|
43
46
|
1. **Home** → `{routeBase}/`
|
|
44
|
-
2. **Models** grouped by `admin.group` (ungrouped models land in **General**)
|
|
45
|
-
3. **Screens**
|
|
46
|
-
4. **Platform** — Scripts (`/__scripts`),
|
|
47
|
+
2. **Models** grouped by `admin.group` (ungrouped models land in **General**). Custom screens with `group` render inside the matching group **before** model links for that group. A grouped screen with no models still gets its own group heading.
|
|
48
|
+
3. **Screens** — only `customScreens` **without** `group` (plus optional host extras)
|
|
49
|
+
4. **Platform** — Scripts (`/__scripts`), Migrations (`/__migrations` when
|
|
50
|
+
`migrations.enabled`), Roles, Version, Audit Log, Feature Flags, Jobs, Configuration
|
|
47
51
|
|
|
48
52
|
Audit log and Feature Flags are models, but the shell lifts them into Platform so
|
|
49
|
-
operators do not hunt for them among business collections.
|
|
53
|
+
operators do not hunt for them among business collections. The Platform Audit Log
|
|
54
|
+
row is `AuditEvent` when `AuditApp` is registered. `isAuditLogModel` also matches
|
|
55
|
+
legacy `AdminAuditLog`, `audit-log`, and `audit-events` names. Jobs is a custom
|
|
56
|
+
screen (`name: "jobs"`); the shell lifts it the same way.
|
|
50
57
|
|
|
51
58
|
Below 768px the rail becomes a hamburger drawer. The main column is a body-style
|
|
52
59
|
canvas (`neutral-050`). Nested `Page` screens use `color="transparent"` and
|
|
@@ -59,12 +66,12 @@ canvas (`neutral-050`). Nested `Page` screens use `color="transparent"` and
|
|
|
59
66
|
| Concern | Location |
|
|
60
67
|
| --- | --- |
|
|
61
68
|
| Which models appear | `modelRouter` `admin` block, or plugin `adminContribution()` |
|
|
62
|
-
| Extra non-CRUD pages | `AdminApp.customScreens` + `widgets.screens` with the **same** `name` |
|
|
69
|
+
| Extra non-CRUD pages | `AdminApp.customScreens` + `widgets.screens` with the **same** `name`. Optional `group` places the screen in that sidebar group (see **Models** above). |
|
|
63
70
|
| Home dashboard composition | `AdminApp.home.slots` |
|
|
64
71
|
| Field widgets | `admin.fieldOverrides.widget` + `widgets.fields` |
|
|
65
72
|
| Expo files | `app/admin/_layout.tsx` (shell once) or per-route shell in admin-spa |
|
|
66
73
|
| Dedicated extra segments (`/comms/:id`) | Explicit Expo files so `[model]/[id]` does not treat them as generic forms |
|
|
67
|
-
| Data fetching | `
|
|
74
|
+
| Data fetching | REST remains membership/search/sort/pagination. String `_id` models with `adminBroadcast` overlay TinyBase and write through syncdb when the host passes a window client + fetch auth. Framework RPC uses host-bound fetch; ObjectId/API-only CRUD keeps RTK compatibility in Terreno 57. |
|
|
68
75
|
|
|
69
76
|
## Related
|
|
70
77
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Why Terreno owns chart SVG
|
|
2
|
+
|
|
3
|
+
Terreno charts are drawn with `react-native-svg` and private `d3-scale` / `d3-shape` helpers inside `@terreno/ui`. Apps import `LineChart`, `BarChart`, `AreaChart`, and `DonutChart` — not d3 types and not a third-party chart API.
|
|
4
|
+
|
|
5
|
+
`victory-native` was rejected for this slice: Skia canvas fights Terreno theme fonts, bun tests, and accessibility. Owned SVG lets axis labels stay `@terreno/ui` `Text` (Nunito/Titillium) and lets hit targets stay clickable `Box`es with `testID`s.
|
|
6
|
+
|
|
7
|
+
`BarChart` grows each bar from the zero baseline (up for positives, down for negatives). A zero value draws no sliver; the press/hover hit stays at least 24px so the tooltip still works.
|
|
8
|
+
|
|
9
|
+
`DonutChart` uses `d3-shape` `arc` angles (`0` is 12 o'clock, clockwise). Slice press/hover hits use the same paint transform so the tooltip lands on the visible slice.
|
|
10
|
+
|
|
11
|
+
Axis ticks and donut legend labels use `Text` with `skipLinking`, matching `ChartFrame` tooltips, so a URL in `point.label` stays inert text instead of `Linking.openURL`.
|
|
12
|
+
|
|
13
|
+
Sizing flows one way: the frame stretches to the container (`alignSelf: stretch`), the plot
|
|
14
|
+
measures itself with `onLayout`, and the drawing is clipped to that measurement. Nothing inside a
|
|
15
|
+
chart may set its own min-content width, or the container would size to the chart and the chart
|
|
16
|
+
would size to the container. That is why x tick labels are absolutely positioned on their band
|
|
17
|
+
centers instead of laid out in a row, and why the plot column sets `minWidth: 0`.
|
|
18
|
+
|
|
19
|
+
Height works the same way: `height` is the whole chart, and the tick row, tooltip row, and legend
|
|
20
|
+
row come out of that budget. A chart therefore fits a fixed-height slot, and reserving the tooltip
|
|
21
|
+
row even when no tooltip is showing keeps hovering from reflowing the page.
|
|
22
|
+
|
|
23
|
+
`DashboardGrid` is layout only, so it stays on the eager root export. Chart implementations sit behind the same lazy root boundary as `GPTChat`. Cell width subtracts flex `gap` so `md`/`lg` column counts actually fit.
|
|
24
|
+
|
|
25
|
+
Chart paint is proven with **rendered PNG goldens**, not React test-renderer JSON.
|
|
26
|
+
`bun run ui:charts:compare` opens the demo gallery
|
|
27
|
+
(`/demo/chart-visual-gallery`), screenshots each fixture from easy to hard, and
|
|
28
|
+
pixel-diffs against `demo/rendered-snapshots/`. Agents use the `review-chart-visuals`
|
|
29
|
+
skill to read golden / actual / diff images when a compare fails.
|