@cosmicdrift/kumiko-renderer-web 0.14.0 → 0.16.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 (36) hide show
  1. package/package.json +2 -2
  2. package/src/__tests__/avatar.test.tsx +1 -2
  3. package/src/__tests__/combobox.test.tsx +1 -2
  4. package/src/__tests__/config-edit.test.tsx +5 -8
  5. package/src/__tests__/create-app.test.tsx +30 -10
  6. package/src/__tests__/date-input.test.tsx +2 -3
  7. package/src/__tests__/default-app-shell.test.tsx +1 -2
  8. package/src/__tests__/dispatcher-context.test.tsx +1 -2
  9. package/src/__tests__/dispatcher-status-wiring.test.tsx +5 -6
  10. package/src/__tests__/kumiko-screen.test.tsx +2 -3
  11. package/src/__tests__/language-switcher.test.tsx +2 -3
  12. package/src/__tests__/money-input.test.tsx +8 -9
  13. package/src/__tests__/nav-base-path.test.tsx +1 -2
  14. package/src/__tests__/nav-search-params.test.tsx +1 -2
  15. package/src/__tests__/nav-tree.test.tsx +1 -2
  16. package/src/__tests__/nav.test.tsx +16 -9
  17. package/src/__tests__/primitives.test.tsx +53 -54
  18. package/src/__tests__/render-edit.test.tsx +3 -4
  19. package/src/__tests__/render-list-column-renderer.test.tsx +3 -4
  20. package/src/__tests__/render-list-debounce.test.tsx +9 -10
  21. package/src/__tests__/render-list.test.tsx +3 -4
  22. package/src/__tests__/sidebar.test.tsx +1 -2
  23. package/src/__tests__/theme-toggle.test.tsx +4 -5
  24. package/src/__tests__/toast.test.tsx +1 -2
  25. package/src/__tests__/tokens.test.ts +8 -0
  26. package/src/__tests__/use-form.test.tsx +6 -7
  27. package/src/__tests__/use-query-live.test.tsx +1 -2
  28. package/src/__tests__/use-query.test.tsx +7 -8
  29. package/src/__tests__/use-store.test.tsx +2 -3
  30. package/src/__tests__/visual-tree-integration.test.tsx +1 -2
  31. package/src/__tests__/workspace-shell.test.tsx +2 -4
  32. package/src/app/create-app.tsx +5 -3
  33. package/src/layout/__tests__/target-url.test.ts +36 -0
  34. package/src/layout/__tests__/visual-tree.test.tsx +33 -30
  35. package/src/lib/__tests__/cn.test.ts +12 -0
  36. package/CHANGELOG.md +0 -485
package/CHANGELOG.md DELETED
@@ -1,485 +0,0 @@
1
- # @cosmicdrift/kumiko-renderer-web
2
-
3
- ## 0.14.0
4
-
5
- ### Patch Changes
6
-
7
- - @cosmicdrift/kumiko-dispatcher-live@0.14.0
8
- - @cosmicdrift/kumiko-headless@0.14.0
9
- - @cosmicdrift/kumiko-renderer@0.14.0
10
-
11
- ## 0.13.0
12
-
13
- ### Patch Changes
14
-
15
- - @cosmicdrift/kumiko-headless@0.13.0
16
- - @cosmicdrift/kumiko-renderer@0.13.0
17
- - @cosmicdrift/kumiko-dispatcher-live@0.13.0
18
-
19
- ## 0.12.2
20
-
21
- ### Patch Changes
22
-
23
- - @cosmicdrift/kumiko-headless@0.12.2
24
- - @cosmicdrift/kumiko-renderer@0.12.2
25
- - @cosmicdrift/kumiko-dispatcher-live@0.12.2
26
-
27
- ## 0.12.1
28
-
29
- ### Patch Changes
30
-
31
- - @cosmicdrift/kumiko-headless@0.12.1
32
- - @cosmicdrift/kumiko-renderer@0.12.1
33
- - @cosmicdrift/kumiko-dispatcher-live@0.12.1
34
-
35
- ## 0.12.0
36
-
37
- ### Patch Changes
38
-
39
- - @cosmicdrift/kumiko-dispatcher-live@0.12.0
40
- - @cosmicdrift/kumiko-headless@0.12.0
41
- - @cosmicdrift/kumiko-renderer@0.12.0
42
-
43
- ## 0.11.2
44
-
45
- ### Patch Changes
46
-
47
- - @cosmicdrift/kumiko-headless@0.11.2
48
- - @cosmicdrift/kumiko-renderer@0.11.2
49
- - @cosmicdrift/kumiko-dispatcher-live@0.11.2
50
-
51
- ## 0.11.1
52
-
53
- ### Patch Changes
54
-
55
- - @cosmicdrift/kumiko-dispatcher-live@0.11.1
56
- - @cosmicdrift/kumiko-headless@0.11.1
57
- - @cosmicdrift/kumiko-renderer@0.11.1
58
-
59
- ## 0.11.0
60
-
61
- ### Patch Changes
62
-
63
- - @cosmicdrift/kumiko-headless@0.11.0
64
- - @cosmicdrift/kumiko-renderer@0.11.0
65
- - @cosmicdrift/kumiko-dispatcher-live@0.11.0
66
-
67
- ## 0.10.0
68
-
69
- ### Patch Changes
70
-
71
- - @cosmicdrift/kumiko-headless@0.10.0
72
- - @cosmicdrift/kumiko-renderer@0.10.0
73
- - @cosmicdrift/kumiko-dispatcher-live@0.10.0
74
-
75
- ## 0.9.0
76
-
77
- ### Patch Changes
78
-
79
- - @cosmicdrift/kumiko-headless@0.9.0
80
- - @cosmicdrift/kumiko-renderer@0.9.0
81
- - @cosmicdrift/kumiko-dispatcher-live@0.9.0
82
-
83
- ## 0.8.1
84
-
85
- ### Patch Changes
86
-
87
- - @cosmicdrift/kumiko-headless@0.8.1
88
- - @cosmicdrift/kumiko-renderer@0.8.1
89
- - @cosmicdrift/kumiko-dispatcher-live@0.8.1
90
-
91
- ## 0.8.0
92
-
93
- ### Patch Changes
94
-
95
- - @cosmicdrift/kumiko-headless@0.8.0
96
- - @cosmicdrift/kumiko-renderer@0.8.0
97
- - @cosmicdrift/kumiko-dispatcher-live@0.8.0
98
-
99
- ## 0.7.0
100
-
101
- ### Minor Changes
102
-
103
- - bcf43b6: es-ops: `SeedMembershipRow` exposes `streamTenantId` (stream-tenant aus `kumiko_events.v1`) neben dem payload-`tenantId`. Seed-Authors müssen den `kumiko_events`-JOIN nicht mehr selbst bauen — `m.streamTenantId` ist der korrekte Wert für `systemWriteAs`'s `tenantIdOverride` wenn das Aggregate von einem fremden Executor angelegt wurde (typisches `seedTenantMembership(by=systemAdmin)`-Pattern).
104
-
105
- ### Patch Changes
106
-
107
- - Updated dependencies [bcf43b6]
108
- - @cosmicdrift/kumiko-dispatcher-live@0.7.0
109
- - @cosmicdrift/kumiko-headless@0.7.0
110
- - @cosmicdrift/kumiko-renderer@0.7.0
111
-
112
- ## 0.6.0
113
-
114
- ### Minor Changes
115
-
116
- - 8489d18: feat(es-ops): Phase 1.5 — tenantIdOverride + dry-run-validator + E2E-Test + Doku
117
-
118
- Phase 1.5 schließt die Lücken aus Phase 1 die den ersten Driver-Use-Case
119
- (publicstatus admin-roles) blockten. Siehe Retro:
120
- `kumiko-platform/docs/plans/features/es-ops-phase1-retro.md` (PR #9).
121
-
122
- **A1 — tenantIdOverride:**
123
- `SeedMigrationContext.systemWriteAs(qn, payload, tenantIdOverride?)`.
124
- Default SYSTEM_TENANT_ID (unverändert für System-scope-Aggregates wie
125
- config-values). Mit override: `createSystemUser(tenantIdOverride)` als
126
- Executor, damit der Event-Store-Executor den Aggregate-Stream im
127
- richtigen Tenant findet. Fix für die `version_conflict`-Klasse-Bug
128
- (Memory `feedback_event_store_tenant_consistency.md`).
129
-
130
- **A2 — dry-run-validator:**
131
- Runner parsed seed-files vor `migration.run()` per regex
132
- `systemWriteAs\(["']([^"']+)["']`, sammelt handler-QNs, validiert
133
- gegen `registry.getWriteHandler(qn)`. Fail-fast mit klarer Message
134
-
135
- - Datei + QN statt zur Runtime "handler not found". Catched camelCase-
136
- typos (kebab-case-vs-camelCase Drift) + andere QN-Drift zur Boot-Zeit.
137
- runProdApp reicht den richtigen Registry rein (`registry` neu in
138
- RunPendingSeedMigrationsArgs).
139
-
140
- **A3 — E2E-Test:**
141
- `packages/bundled-features/src/__tests__/es-ops-e2e.integration.ts`
142
- mit `setupTestStack`-Pattern: tenant+config Features echt geladen,
143
- echtes Membership-Aggregate via TenantHandlers.addMember im Demo-Tenant,
144
- seed-migration ruft update-member-roles mit tenantIdOverride → write
145
- geht durch, Marker landed, Event in Store, Read-Model aktualisiert.
146
- Plus typo-Test: seed mit camelCase fail-t Dry-Run mit
147
- `/dry-run found.*unknown handler-QN/`. **TDD-First**: ohne A1+A2 wäre
148
- der test rot.
149
-
150
- **A4 — Doku:**
151
- `framework/src/es-ops/README.md` erweitert um „Wann brauche ich
152
- tenantIdOverride?" + „Deployment-Anforderungen" (Docker COPY, Idempotenz,
153
- Multi-Replica) + „Lokaler Smoke vor Push". Recipe-README + seed-files
154
- auf neue API aktualisiert.
155
-
156
- **A5 — Smoke-Skript-Template:**
157
- `samples/recipes/seed-migration/scripts/smoke.ts` als copy-paste-Template
158
- für App-Authors: Bun-runnable, offline (read-only, kein DB-Write),
159
- validiert Module-Load + QN-Resolution + System-User-Access. Recipe-
160
- README dokumentiert Pflicht-Pattern.
161
-
162
- **Bonus-Fix:**
163
- `tenant:write:create`-access auf `["system", "SystemAdmin"]` erweitert
164
- (symmetrisch zu update-member-roles). Aufgedeckt durch Recipe-Smoke +
165
- initial-tenants-Seed. Pinning-Test in `tenant.integration.ts` updated.
166
-
167
- **Test-State:** 45/45 grün (Pre-Push). Typecheck clean. Biome clean.
168
- as-cast-Audit clean. Guard-silent-skip clean. Recipe-Smoke clean.
169
-
170
- **Folge-Step (separater PR):** publicstatus driver-sample reaktivieren
171
- mit lokalem Pre-Push-Smoke gegen publicstatus' echtes Feature-Set.
172
-
173
- ### Patch Changes
174
-
175
- - Updated dependencies [8489d18]
176
- - @cosmicdrift/kumiko-dispatcher-live@0.6.0
177
- - @cosmicdrift/kumiko-headless@0.6.0
178
- - @cosmicdrift/kumiko-renderer@0.6.0
179
-
180
- ## 0.5.2
181
-
182
- ### Patch Changes
183
-
184
- - 4f0d781: fix(tenant): updateMemberRoles erlaubt "system"-Rolle (symmetrisch zu create)
185
-
186
- Drift innerhalb des tenant-Features: `tenant:write:create` akzeptierte
187
- `["system", "SystemAdmin"]`, `tenant:write:update-member-roles` aber
188
- nur `["SystemAdmin"]`. Konsequenz: ops-tooling und seed-migrations
189
- (`createSystemUser` mit `roles: ["system"]`) konnten den Handler nicht
190
- aufrufen — `access_denied`.
191
-
192
- Live entdeckt beim ersten Driver-Sample der es-ops Phase 1: publicstatus
193
- seed `2026-05-20-fix-admin-roles.ts` rief `update-member-roles` via
194
- `systemWriteAs` → access_denied → Pod CrashLoopBackOff.
195
-
196
- Plus access-rule-Pinning-Test in `tenant.integration.ts`-scenario-7.
197
-
198
- - Updated dependencies [4f0d781]
199
- - @cosmicdrift/kumiko-dispatcher-live@0.5.2
200
- - @cosmicdrift/kumiko-headless@0.5.2
201
- - @cosmicdrift/kumiko-renderer@0.5.2
202
-
203
- ## 0.5.1
204
-
205
- ### Patch Changes
206
-
207
- - 0e00015: fix(es-ops): path.resolve statt path.join für seedsDir → seed-files
208
-
209
- Bun's `await import()` braucht absolute Pfade. Wenn der App-Author
210
- `runProdApp({ seedsDir: "./seeds" })` setzt (relativ), würde
211
- `path.join("./seeds", "foo.ts")` einen relativen Pfad liefern → Bun's
212
- Import-Resolver such relativ zum `runner.ts`-Modul (nicht zum
213
- `process.cwd()`) → `Cannot find module 'seeds/...' from '<runner-path>'`.
214
-
215
- `path.resolve` löst gegen `process.cwd()` auf → absolute Pfade →
216
- Import funktioniert. Aufgedeckt beim ersten Live-Boot der publicstatus-
217
- Driver-Migration (Pod CrashLoopBackOff).
218
-
219
- - Updated dependencies [0e00015]
220
- - @cosmicdrift/kumiko-dispatcher-live@0.5.1
221
- - @cosmicdrift/kumiko-headless@0.5.1
222
- - @cosmicdrift/kumiko-renderer@0.5.1
223
-
224
- ## 0.5.0
225
-
226
- ### Minor Changes
227
-
228
- - 7ff69ab: feat(es-ops): Phase 1 — file-based seed-migrations
229
-
230
- Neues first-class Operations-Pattern fürs Framework. Liefert `seed-migrations`
231
- als drizzle-migrate-equivalent für Event-Sourcing-Aggregate-Updates die
232
- idempotent-Seeder nicht erfassen können (z.B. „Member hat schon eine
233
- Rolle, aber jetzt soll noch eine dazukommen").
234
-
235
- Public-API:
236
-
237
- - `runProdApp({ seedsDir })` — Auto-apply pending Migrations beim Boot
238
- - `SeedMigration`-Interface (default-Export einer `seeds/<id>.ts`-File)
239
- - `SeedMigrationContext` mit `systemWriteAs` (ruft existing write-handler
240
- als System-User) + Read-Helpers (`findUserByEmail`,
241
- `findMembershipsOfUser`, `findTenants`)
242
- - CLI: `bunx kumiko ops seed:new|status|apply`
243
- - Tracking-Table `kumiko_es_operations` mit `operation_type`-Discriminator
244
- (vorbereitet auf Phase 2+ Operations: projection-rebuild, event-replay,
245
- stream-migration, ...)
246
- - Env-Flags: `KUMIKO_SKIP_ES_OPS=1` (alle skippen für Recovery),
247
- `KUMIKO_SKIP_ES_OPS_<ID>=1` (einzelne kaputte skippen)
248
-
249
- Garantien: single-run via tracking, atomic via per-migration-Tx,
250
- chronological order via filename-prefix, fail-stop bei Failure (kein
251
- Partial-Apply), ES-konform via Handler-Dispatch.
252
-
253
- Sub-path-Export: `@cosmicdrift/kumiko-framework/es-ops`
254
-
255
- Plan-Doc: `kumiko-platform/docs/plans/features/es-ops.md`
256
- Recipe: `samples/recipes/seed-migration/`
257
- Driver-Use-Case: publicstatus admin-roles-drift (parallel-Branch
258
- `feat/es-ops-driver-admin-roles`).
259
-
260
- Phase 2+ skizziert + offen markiert — Implementation pro Use-Case.
261
-
262
- ### Patch Changes
263
-
264
- - Updated dependencies [7ff69ab]
265
- - @cosmicdrift/kumiko-dispatcher-live@0.5.0
266
- - @cosmicdrift/kumiko-headless@0.5.0
267
- - @cosmicdrift/kumiko-renderer@0.5.0
268
-
269
- ## 0.4.1
270
-
271
- ### Patch Changes
272
-
273
- - 010b410: feat(auth-email-password): "Bestätigungs-Mail erneut senden" im LoginScreen
274
-
275
- LoginScreen bietet bei reason=email_not_verified jetzt einen Resend-Link
276
- im Fehler-Banner — der existierende `requestEmailVerification`-Endpoint
277
- wird direkt aufgerufen, der Banner wechselt nach Erfolg zum Info-Variant
278
- ("Wir haben dir eine neue Bestätigungs-Mail geschickt.").
279
-
280
- UX-Details:
281
-
282
- - Bei 429 → inline-Hint "Bitte warte kurz und versuche es erneut."
283
- - Bei Netzwerk/sonstigen Fehlern → inline-Hint "Konnte nicht senden."
284
- - Anti-Typo-Gate: ändert der User die Email-Eingabe nach dem Login-Fail,
285
- verschwindet der Resend-Link — sonst würde Resend silent-success an die
286
- geänderte (potentiell typoed) Adresse gehen ohne User-Feedback.
287
- - Andere Failure-Codes (invalid_credentials etc.) zeigen weiterhin keinen
288
- Resend-Link.
289
-
290
- i18n: 4 neue Keys (DE+EN) im `auth.login.resend*`-Namespace, additive.
291
- Apps die ihre Translations override-en müssen nichts ändern.
292
-
293
- Additive UI-Feature — keine API-Breaks, keine Schema-Migration.
294
-
295
- - Updated dependencies [010b410]
296
- - @cosmicdrift/kumiko-dispatcher-live@0.4.1
297
- - @cosmicdrift/kumiko-headless@0.4.1
298
- - @cosmicdrift/kumiko-renderer@0.4.1
299
-
300
- ## 0.4.0
301
-
302
- ### Minor Changes
303
-
304
- - 825e7d2: Visual-Tree V.1.4 → V.1.6 — Feature-complete Editor + Folder-Hierarchy + Roving-tabindex.
305
-
306
- **V.1.4** — explicit `folder?: string` Schema-Field auf text-block-entity. Slug bleibt
307
- kebab-only validiert, Folder explizit gesetzt. Tree gruppiert via `groupBlocksByFolder`
308
- (ersetzt `groupBlocksBySlugPrefix`). `Subscribe<T>` Signature um optional `emitError`
309
- erweitert für explicit async-error-Pfade. ProviderBranch zeigt Error-Banner mit
310
- Retry-Button. Drift-Test pinnt seedTextBlock-vs-set.write Slug-Validation.
311
-
312
- **V.1.4b** — URL-State-Routing für Editor-Target via `nav.searchParams`. F5 + Back-Button
313
- stellen den Editor-State wieder her. Format: `?t=text-content:edit&a_slug=...&a_lang=...`.
314
- Plus `useDispatchTarget` hook ersetzt globalen `dispatchTarget` als empfohlenen Production-
315
- Pfad (legacy bleibt für Test-Hooks).
316
-
317
- **V.1.5** — Arrow-Key-Navigation (`<aside role="tree">`, ARIA-tree-Pattern) + SSE-driven
318
- Tree-Refresh. `ClientFeatureDefinition.treeEntities?: string[]` listet Entity-Namen pro
319
- Provider; live-events triggern provider-re-mount → Stale-Tree-state="stub"→"filled"
320
- flippt nach save automatisch.
321
-
322
- **V.1.5c+d** — Active-Node-Highlight (explicit blue + 2px border-l + scrollIntoView),
323
- VS-Code-Polish (compact spacing, focus-visible, folder-icon-color text-amber, indent-
324
- guides per ancestor-depth), Folder-Wrapper für legal-pages ("📁 Legal" + slug-first
325
- Verschachtelung) und text-content ("📁 Content").
326
-
327
- **V.1.6** — Multi-level Folder-Splitting (`folder="page/marketing"` → nested folders,
328
- walk-or-create-pattern, folder/leaf-collision-tolerant). Roving-tabindex (nur focused-
329
- treeitem hat tabIndex=0, Tab cyclt aus dem Tree raus).
330
-
331
- 35/35 kumiko check PASS, 13/13 group-blocks + 22/22 text-content integration tests grün.
332
- Browser + Keyboard lokal validated.
333
-
334
- **Breaking**: `TreeContext` Type entfernt (V.1.2 SR2-Rip — war nie genutzt). Provider sind
335
- session-bound: `TreeChildrenSubscribe = () => Subscribe<T>` statt `(ctx) => Subscribe<T>`.
336
-
337
- **V.1.7-Followups**: useEffect-deps in VisualTree-focus-init (Performance), Cancellation-
338
- Token in TreeProvider's fetch (emit-after-unmount-warning), inline-rename, drag-drop,
339
- file-icons per slug-extension, parent-jump bei ArrowLeft auf collapsed-item.
340
-
341
- ### Patch Changes
342
-
343
- - Updated dependencies [825e7d2]
344
- - @cosmicdrift/kumiko-dispatcher-live@0.4.0
345
- - @cosmicdrift/kumiko-headless@0.4.0
346
- - @cosmicdrift/kumiko-renderer@0.4.0
347
-
348
- ## 0.3.0
349
-
350
- ### Minor Changes
351
-
352
- - 0.3.0 bringt zwei neue Subsysteme (Step-Engine Tier-3 + Visual-Tree) plus
353
- eine AST-Codemod-Pipeline als Vorarbeit für den L2-AI-Layer.
354
-
355
- ### Breaking Changes
356
-
357
- - `skipTransitionGuard` → `unsafeSkipTransitionGuard` (Rename in
358
- feature-ast + engine). Der `unsafe`-Prefix macht die Tragweite des
359
- Casts sichtbar und ist konsistent zur `unsafeProjectionUpsert`- und
360
- `r.rawTable`-Konvention. Migration: 1:1-Ersetzung, keine Verhaltens-Änderung.
361
-
362
- ### Features
363
-
364
- - **Step-Engine M.4 — Tier-3 Workflow-Engine.** Neue Step-Vocabulary
365
- `wait`, `waitForEvent`, `retry` ermöglicht persistierte Long-Running-Flows
366
- über Job-Boundaries hinweg. Q7 Snapshot-at-Start hängt jedem Step-Run
367
- einen SHA-256-Fingerprint des Aggregat-Zustands an, sodass Replays
368
- deterministisch gegen den ursprünglichen Eingangszustand laufen.
369
- - **Visual-Tree V.1.x — Tree-API + Editor-Panel.** Neue `VisualTree`-
370
- Component plus TreeProvider-Pattern; erste TreeProviders für
371
- `text-content` und `legal-pages` (CMS-light + Impressum/Privacy).
372
- Fundament für den späteren No-Code-Designer (~3000 LOC, 98 Tests).
373
- - **Codemod-Pipeline.** AST-basierte Patcher-Module für strukturelle
374
- Feature-Edits — wird vom kommenden L2-AI-Layer als Tool-Surface
375
- verwendet, ist aber eigenständig nutzbar für ts-morph-style Migrationen.
376
- - **user-data-rights Sample-Recipe.** DSGVO Art. 15/17/18/20 vollständig
377
- als Sample-Recipe (`samples/recipes/`) inklusive README — zeigt die
378
- Export- und Forget-Pipeline gegen den `compliance-profiles`-Default
379
- (`eu-dsgvo`).
380
-
381
- ### Fixes
382
-
383
- - `tier-engine`: auto-default-tier-Hook benutzt jetzt `ctx.db.raw` für
384
- Event-Store-Operationen (#37, vorher: stiller Bug, 22 Tage live).
385
- - `engine`: unsafe-projection-upsert nutzt `as never` statt `as any` —
386
- schmaler Cast-Surface, weniger Compiler-Knebel.
387
- - `visual-tree`: runtime-isolation marker für client-konsumierte Files,
388
- damit der Multi-Entry-Build den richtigen Bundle-Split bekommt.
389
- - `feature-ast`: vollständiger `unsafeSkipTransitionGuard`-Rename (war
390
- in zwei Modulen noch der alte Name).
391
- - `framework`: Error-Reasons + `noConsole`-Lint + No-Date-API-Guard
392
- wieder push-ready.
393
-
394
- ### Library-Updates
395
-
396
- hono 4.12, jose 6.2, stripe 22.1, meilisearch 0.58, marked 18,
397
- bun-types 1.3.13, lucide-react 1.14, bullmq 5.76, ioredis 5.10,
398
- i18next 26.0, react + radix-ui-primitives auf aktuelle Minors.
399
-
400
- ### Patch Changes
401
-
402
- - Updated dependencies
403
- - @cosmicdrift/kumiko-dispatcher-live@0.3.0
404
- - @cosmicdrift/kumiko-headless@0.3.0
405
- - @cosmicdrift/kumiko-renderer@0.3.0
406
-
407
- ## 0.2.3
408
-
409
- ### Patch Changes
410
-
411
- - @cosmicdrift/kumiko-dispatcher-live@0.2.3
412
- - @cosmicdrift/kumiko-headless@0.2.3
413
- - @cosmicdrift/kumiko-renderer@0.2.3
414
-
415
- ## 0.2.2
416
-
417
- ### Patch Changes
418
-
419
- - 7a7da3e: Re-publish 0.2.1 → 0.2.2 mit korrekt aufgelösten cross-package-Versionen.
420
- 0.2.1 hatte `workspace:*` als Wert in den dependencies (npm publish ohne
421
- yarn-pack rewrite), Konsumenten bekamen "Workspace not found".
422
-
423
- publish-with-oidc.sh nutzt jetzt `yarn pack` (rewrited workspace:\*) +
424
- `npm publish <tarball>` (OIDC + provenance).
425
-
426
- - Updated dependencies [7a7da3e]
427
- - @cosmicdrift/kumiko-headless@0.2.2
428
- - @cosmicdrift/kumiko-dispatcher-live@0.2.2
429
- - @cosmicdrift/kumiko-renderer@0.2.2
430
-
431
- ## 0.2.1
432
-
433
- ### Patch Changes
434
-
435
- - 48b7f6a: CI: switch publish to npm-CLI with OIDC Trusted Publishing + provenance.
436
- No source changes — verifies the new publish path produces a verified-
437
- provenance attestation on npmjs.com instead of token-based publish.
438
- - Updated dependencies [48b7f6a]
439
- - @cosmicdrift/kumiko-headless@0.2.1
440
- - @cosmicdrift/kumiko-dispatcher-live@0.2.1
441
- - @cosmicdrift/kumiko-renderer@0.2.1
442
-
443
- ## 0.2.0
444
-
445
- ### Minor Changes
446
-
447
- - 6c70b6f: fix(tenant): seedTenant idempotent gegen Event-Store-Projection-Drift.
448
-
449
- Verhindert version_conflict beim App-Boot wenn Aggregat existiert aber
450
- Projection-Row fehlt (rebuild-drift, async-lag, manueller DB-Eingriff).
451
-
452
- ### Patch Changes
453
-
454
- - Updated dependencies [6c70b6f]
455
- - @cosmicdrift/kumiko-dispatcher-live@0.2.0
456
- - @cosmicdrift/kumiko-headless@0.2.0
457
- - @cosmicdrift/kumiko-renderer@0.2.0
458
-
459
- ## 0.1.0
460
-
461
- ### Minor Changes
462
-
463
- - 59ba6d7: Initial public release of Kumiko — AI-native backend builder.
464
-
465
- What ships in 0.1.0:
466
-
467
- - **Engine** (`@cosmicdrift/kumiko-framework`): `defineFeature`, `r.entity`, `r.writeHandler`, `r.queryHandler`, `r.projection`, `r.multiStreamProjection`, `r.hook`, `r.translations`, `r.crud`, `r.referenceData`, `r.screen`, `r.nav`, `r.authClaims`, full lifecycle pipeline with field-level access checks
468
- - **Pipeline** (`@cosmicdrift/kumiko-framework`): `createDispatcher`, JWT auth via jose, Zod schema validation, role-based access checks, command/write/query split
469
- - **DB** (`@cosmicdrift/kumiko-framework`): Drizzle helpers (`buildDrizzleTable`, `applyCursorQuery`), CRUD executor, Postgres dialect, optimistic locking, soft delete, multi-tenant scoping
470
- - **Event sourcing** (`@cosmicdrift/kumiko-framework`): aggregate streams, single + multi-stream projections, event upcasters, asOf queries, archive support, AsyncDaemon-pattern dispatcher
471
- - **Bundled features** (`@cosmicdrift/kumiko-bundled-features`): auth-email-password, sessions, tenants, users, jobs, secrets, file-provider-s3, mail-transport-smtp/inmemory, billing-foundation, cap-counter, channel-in-app, delivery, feature-toggles, legal-pages
472
- - **Renderer** (`@cosmicdrift/kumiko-renderer`, `@cosmicdrift/kumiko-renderer-web`): schema-driven CRUD UI for React + Expo Web, override paths, list debounce, theme tokens
473
- - **Headless** (`@cosmicdrift/kumiko-headless`): view-models for list/edit screens, locale-aware
474
- - **Dev server** (`@cosmicdrift/kumiko-dev-server`): `runDevApp`, `runProdApp`, `kumiko-build` for production bundles (client + server), Docker-ready
475
- - **Realtime** (`@cosmicdrift/kumiko-dispatcher-live`): SSE broadcast across tenants, Redis Pub/Sub backend
476
- - **CLI** (`bin/kumiko.ts`): interactive dev menu, test runners, check pipeline (Biome + TypeScript + 18 guards + Vitest)
477
-
478
- This is a pre-1.0 release — APIs may change between minor versions. Breaking changes will be documented per release.
479
-
480
- ### Patch Changes
481
-
482
- - Updated dependencies [59ba6d7]
483
- - @cosmicdrift/kumiko-dispatcher-live@0.1.0
484
- - @cosmicdrift/kumiko-headless@0.1.0
485
- - @cosmicdrift/kumiko-renderer@0.1.0