@cosmicdrift/kumiko-server-runtime 0.388.0 → 0.390.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.
Files changed (55) hide show
  1. package/dist/boot/apply-boot-seeds.js +11 -8
  2. package/dist/boot/job-run-logger.js +1 -1
  3. package/dist/boot/shared-boot-steps.d.ts +8 -5
  4. package/dist/boot/shared-boot-steps.js +26 -16
  5. package/dist/boot/stream-tenant-backfill-on-boot.d.ts +27 -0
  6. package/dist/boot/stream-tenant-backfill-on-boot.js +161 -0
  7. package/dist/boot/wait-for-database.d.ts +2 -0
  8. package/dist/boot/wait-for-database.js +4 -3
  9. package/dist/boot/warn-row-level-security-off.d.ts +3 -0
  10. package/dist/boot/warn-row-level-security-off.js +6 -0
  11. package/dist/boot/worker-boot-core.d.ts +2 -1
  12. package/dist/boot/worker-boot-core.js +28 -5
  13. package/dist/boot/worker-metrics-server.js +2 -0
  14. package/dist/boot-options/demo-mode.d.ts +3 -3
  15. package/dist/boot-options/demo-mode.js +4 -1
  16. package/dist/boot-options/resolve-boot-options.d.ts +1 -0
  17. package/dist/boot-options/resolve-boot-options.js +2 -2
  18. package/dist/boot-options/seed-shortcuts.js +3 -1
  19. package/dist/boot-options/stack-boot-requirements.d.ts +1 -1
  20. package/dist/boot-options/stack-boot-requirements.js +1 -13
  21. package/dist/build-prod-bundle.js +13 -13
  22. package/dist/bundled-lists-table.d.ts +2 -0
  23. package/dist/bundled-lists-table.js +56 -0
  24. package/dist/compose-auth-options.d.ts +16 -0
  25. package/dist/compose-auth-options.js +49 -0
  26. package/dist/compose-features.d.ts +5 -17
  27. package/dist/compose-features.js +13 -53
  28. package/dist/extra-routes-deps.d.ts +5 -1
  29. package/dist/extra-routes-deps.js +1 -0
  30. package/dist/files-for-tenant.d.ts +3 -0
  31. package/dist/files-for-tenant.js +10 -0
  32. package/dist/renderer-web-fonts.js +3 -9
  33. package/dist/resolve-installed-package.d.ts +10 -0
  34. package/dist/resolve-installed-package.js +32 -0
  35. package/dist/resolve-tailwind-cli.d.ts +3 -8
  36. package/dist/resolve-tailwind-cli.js +8 -25
  37. package/dist/run-prod-app-boot-context.d.ts +2 -0
  38. package/dist/run-prod-app-boot-context.js +11 -9
  39. package/dist/run-prod-app-config.d.ts +2 -0
  40. package/dist/run-prod-app-config.js +3 -1
  41. package/dist/run-prod-app-connections.d.ts +2 -1
  42. package/dist/run-prod-app-connections.js +11 -7
  43. package/dist/run-prod-app-entrypoint.d.ts +1 -1
  44. package/dist/run-prod-app-entrypoint.js +6 -2
  45. package/dist/run-prod-app-handle.js +4 -1
  46. package/dist/run-prod-app-request-context.js +9 -2
  47. package/dist/run-prod-app-seeds.js +39 -24
  48. package/dist/run-prod-app-static-files.js +9 -1
  49. package/dist/run-prod-app.d.ts +19 -4
  50. package/dist/run-prod-app.js +7 -3
  51. package/dist/run-worker-app.d.ts +22 -4
  52. package/dist/run-worker-app.js +22 -4
  53. package/dist/seed-dispatcher.js +3 -1
  54. package/package.json +19 -8
  55. package/src/changes.json +92 -0
package/src/changes.json CHANGED
@@ -1,4 +1,96 @@
1
1
  [
2
+ {
3
+ "version": "0.390.0",
4
+ "type": "fix",
5
+ "title": "auth.admin seed admin is email-verified",
6
+ "detail": "Under emailVerificationMode strict the seeded admin failed login with email_not_verified."
7
+ },
8
+ {
9
+ "version": "0.390.0",
10
+ "type": "improvement",
11
+ "title": "runProdApp checks the row level security state at boot",
12
+ "detail": "RunProdAppOptions.rowLevelSecurity (\"off\" by default) sets the mode of every connection; the scaffolded server entry passes appConfig.rowLevelSecurity. With \"on\", boot fails when the database role has SUPERUSER or BYPASSRLS, because Postgres then skips every policy, and when a table with tenant_id lacks ENABLE, FORCE or one of the two kumiko policies; the message lists the tables. With \"off\", boot fails while any table still has row level security enabled and points to the DISABLE migration that kumiko-schema generate writes."
13
+ },
14
+ {
15
+ "version": "0.390.0",
16
+ "type": "fix",
17
+ "title": "demoAdminFromEnv seed account is email-verified",
18
+ "detail": "Under emailVerificationMode strict the seeded demo admin failed login with email_not_verified."
19
+ },
20
+ {
21
+ "version": "0.390.0",
22
+ "type": "improvement",
23
+ "title": "Wiring tests reset event-sourced tables through resetTestTables",
24
+ "detail": "The compose-features integration tests clear users, memberships and the event log with resetTestTables instead of deleting projection rows. Nothing changes for apps."
25
+ },
26
+ {
27
+ "version": "0.390.0",
28
+ "type": "improvement",
29
+ "title": "search \"none\" lets apps without a search backend run the stream-tenant backfill",
30
+ "detail": "The backfill deferred itself in every process without a search adapter, so apps with a searchable tenant entity but no search backend (for example publicstatus) never moved their legacy tenant streams.",
31
+ "migration": "Apps without a search backend set `search: \"none\"` on runProdApp and runWorkerApp, otherwise the stream-tenant backfill stays deferred."
32
+ },
33
+ {
34
+ "version": "0.389.0",
35
+ "type": "fix",
36
+ "title": "The renderer-web stylesheet fallback checks tailwindcss in node_modules",
37
+ "detail": "canResolveTailwindStylesheet looks for tailwindcss in the node_modules directories above the stylesheet, as Tailwind does, instead of asking Bun.resolveSync. On Bun 1.4.4 the resolver auto-installs tailwindcss next to a renderer copy in Bun's install cache, so a build without a node_modules tree took the fallback and then failed in Tailwind with \"Can't resolve 'tailwindcss'\". Such a build skips the fallback stylesheet again."
38
+ },
39
+ {
40
+ "version": "0.389.0",
41
+ "type": "improvement",
42
+ "title": "Package lookups no longer auto-install from the registry",
43
+ "detail": "The new @cosmicdrift/kumiko-server-runtime/resolve-installed-package export looks up node_modules before asking Bun.resolveSync, which installs missing packages from the registry since Bun 1.4.4. The prod build, the dev-server stylesheet lookup and the handbuch commands use it."
44
+ },
45
+ {
46
+ "version": "0.389.0",
47
+ "type": "improvement",
48
+ "title": "bundledLists sets one table block for every bundled list",
49
+ "detail": "composeFeatures takes bundledLists with a table block and an optional pinFirstColumn flag. The block is mixed into every entityList, projectionList and relatedList section of the bundled features, the foundation features user and tenant as well as the features an app mounts from @cosmicdrift/kumiko-bundled-features, before the boot validator runs. A key the screen sets itself wins, export is left out on relatedList sections, and pinFirstColumn pins the first visible column left where no column is pinned yet. grouping and totals are rejected in the shared block. App screens stay untouched. Features opt in with the new registrar method r.adoptsBundledLists(), which every bundled feature with lists calls and which feature packages such as Enterprise can call for their own lists; app features never do. No migration for apps. The option lives in AppConfig.bundledLists for the managed kumiko/schema.ts and in the run options of runProdApp, runDevApp and runWorkerApp, so kumiko check and the running app see the same screens."
50
+ },
51
+ {
52
+ "version": "0.389.0",
53
+ "type": "improvement",
54
+ "title": "Boot database backoff takes an injectable clock",
55
+ "detail": "The new databaseWait option on runProdApp and runWorkerApp swaps sleep, now and the log sink of the database, KMS and seed waits. A worker boot against an unreachable database is now tested to retry until the deadline, abort with the connection error and close its Redis clients."
56
+ },
57
+ {
58
+ "version": "0.389.0",
59
+ "type": "fix",
60
+ "title": "Default CSP covers inline scripts of HTML written after the build",
61
+ "detail": "At boot the hashes from csp-hashes.json are merged with the inline scripts found in the HTML files under staticDir, for the default CSP and for hostDispatch. Boot-rendered pages keep their inline scripts working without a custom securityHeaders.csp."
62
+ },
63
+ {
64
+ "version": "0.389.0",
65
+ "type": "fix",
66
+ "title": "Read-only demo mode blocks WebSocket upgrades",
67
+ "detail": "Upgrade requests count as mutating in the demo read-only gate and get 403 demo_read_only unless the route path is in allowedWritePaths. Socket routes in a read-only demo that need to stay open must be listed there."
68
+ },
69
+ {
70
+ "version": "0.389.0",
71
+ "type": "breaking",
72
+ "title": "BootOptionName drops demoMode, seeds and signals",
73
+ "detail": "No stack declared them in bootRequires, so their boot checks never ran. A name returns together with its check and a test once a stack needs it.",
74
+ "migration": "no known callers; remove \"demoMode\", \"seeds\" and \"signals\" from bootRequires options"
75
+ },
76
+ {
77
+ "version": "0.389.0",
78
+ "type": "improvement",
79
+ "title": "appOverrides work in runWorkerApp and runDevApp",
80
+ "detail": "Both boot functions take the same appOverrides option as runProdApp and share its merge, so worker-rendered mails and the dev server resolve the same tenant model, branding and SEO values as the API. The runSingleInstance:false warning names appOverrides next to mail, fileStorage and featureToggles."
81
+ },
82
+ {
83
+ "version": "0.389.0",
84
+ "type": "fix",
85
+ "title": "Boot seeds survive a short database outage",
86
+ "detail": "applyStandardBootSeeds re-runs the idempotent seed sequence with the database backoff on transient connection errors (ECONNREFUSED, connection class 08, too_many_connections) until the 90 second deadline. Non-transient errors still abort the boot at once."
87
+ },
88
+ {
89
+ "version": "0.389.0",
90
+ "type": "improvement",
91
+ "title": "filesForTenant in SystemWireDeps",
92
+ "detail": "The wire hook and the worker wireComponents receive filesForTenant, built from the AppContext after buildServer wired it. ApiEntrypoint and WorkerEntrypoint expose that context as entrypoint.context."
93
+ },
2
94
  {
3
95
  "version": "0.388.0",
4
96
  "type": "improvement",