@cosmicdrift/kumiko-renderer-web 0.5.2 → 0.7.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 (2) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,86 @@
1
1
  # @cosmicdrift/kumiko-renderer-web
2
2
 
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 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).
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [bcf43b6]
12
+ - @cosmicdrift/kumiko-dispatcher-live@0.7.0
13
+ - @cosmicdrift/kumiko-headless@0.7.0
14
+ - @cosmicdrift/kumiko-renderer@0.7.0
15
+
16
+ ## 0.6.0
17
+
18
+ ### Minor Changes
19
+
20
+ - 8489d18: feat(es-ops): Phase 1.5 — tenantIdOverride + dry-run-validator + E2E-Test + Doku
21
+
22
+ Phase 1.5 schließt die Lücken aus Phase 1 die den ersten Driver-Use-Case
23
+ (publicstatus admin-roles) blockten. Siehe Retro:
24
+ `kumiko-platform/docs/plans/features/es-ops-phase1-retro.md` (PR #9).
25
+
26
+ **A1 — tenantIdOverride:**
27
+ `SeedMigrationContext.systemWriteAs(qn, payload, tenantIdOverride?)`.
28
+ Default SYSTEM_TENANT_ID (unverändert für System-scope-Aggregates wie
29
+ config-values). Mit override: `createSystemUser(tenantIdOverride)` als
30
+ Executor, damit der Event-Store-Executor den Aggregate-Stream im
31
+ richtigen Tenant findet. Fix für die `version_conflict`-Klasse-Bug
32
+ (Memory `feedback_event_store_tenant_consistency.md`).
33
+
34
+ **A2 — dry-run-validator:**
35
+ Runner parsed seed-files vor `migration.run()` per regex
36
+ `systemWriteAs\(["']([^"']+)["']`, sammelt handler-QNs, validiert
37
+ gegen `registry.getWriteHandler(qn)`. Fail-fast mit klarer Message
38
+
39
+ - Datei + QN statt zur Runtime "handler not found". Catched camelCase-
40
+ typos (kebab-case-vs-camelCase Drift) + andere QN-Drift zur Boot-Zeit.
41
+ runProdApp reicht den richtigen Registry rein (`registry` neu in
42
+ RunPendingSeedMigrationsArgs).
43
+
44
+ **A3 — E2E-Test:**
45
+ `packages/bundled-features/src/__tests__/es-ops-e2e.integration.ts`
46
+ mit `setupTestStack`-Pattern: tenant+config Features echt geladen,
47
+ echtes Membership-Aggregate via TenantHandlers.addMember im Demo-Tenant,
48
+ seed-migration ruft update-member-roles mit tenantIdOverride → write
49
+ geht durch, Marker landed, Event in Store, Read-Model aktualisiert.
50
+ Plus typo-Test: seed mit camelCase fail-t Dry-Run mit
51
+ `/dry-run found.*unknown handler-QN/`. **TDD-First**: ohne A1+A2 wäre
52
+ der test rot.
53
+
54
+ **A4 — Doku:**
55
+ `framework/src/es-ops/README.md` erweitert um „Wann brauche ich
56
+ tenantIdOverride?" + „Deployment-Anforderungen" (Docker COPY, Idempotenz,
57
+ Multi-Replica) + „Lokaler Smoke vor Push". Recipe-README + seed-files
58
+ auf neue API aktualisiert.
59
+
60
+ **A5 — Smoke-Skript-Template:**
61
+ `samples/recipes/seed-migration/scripts/smoke.ts` als copy-paste-Template
62
+ für App-Authors: Bun-runnable, offline (read-only, kein DB-Write),
63
+ validiert Module-Load + QN-Resolution + System-User-Access. Recipe-
64
+ README dokumentiert Pflicht-Pattern.
65
+
66
+ **Bonus-Fix:**
67
+ `tenant:write:create`-access auf `["system", "SystemAdmin"]` erweitert
68
+ (symmetrisch zu update-member-roles). Aufgedeckt durch Recipe-Smoke +
69
+ initial-tenants-Seed. Pinning-Test in `tenant.integration.ts` updated.
70
+
71
+ **Test-State:** 45/45 grün (Pre-Push). Typecheck clean. Biome clean.
72
+ as-cast-Audit clean. Guard-silent-skip clean. Recipe-Smoke clean.
73
+
74
+ **Folge-Step (separater PR):** publicstatus driver-sample reaktivieren
75
+ mit lokalem Pre-Push-Smoke gegen publicstatus' echtes Feature-Set.
76
+
77
+ ### Patch Changes
78
+
79
+ - Updated dependencies [8489d18]
80
+ - @cosmicdrift/kumiko-dispatcher-live@0.6.0
81
+ - @cosmicdrift/kumiko-headless@0.6.0
82
+ - @cosmicdrift/kumiko-renderer@0.6.0
83
+
3
84
  ## 0.5.2
4
85
 
5
86
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-renderer-web",
3
- "version": "0.5.2",
3
+ "version": "0.7.0",
4
4
  "description": "Web-platform bindings for @cosmicdrift/kumiko-renderer. HTML default-primitives, browser history-based navigation, EventSource-backed live events, and a one-call createKumikoApp that mounts the whole stack via react-dom.",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
@@ -16,9 +16,9 @@
16
16
  "./styles.css": "./src/styles.css"
17
17
  },
18
18
  "dependencies": {
19
- "@cosmicdrift/kumiko-dispatcher-live": "0.5.2",
20
- "@cosmicdrift/kumiko-headless": "0.5.2",
21
- "@cosmicdrift/kumiko-renderer": "0.5.2",
19
+ "@cosmicdrift/kumiko-dispatcher-live": "0.7.0",
20
+ "@cosmicdrift/kumiko-headless": "0.7.0",
21
+ "@cosmicdrift/kumiko-renderer": "0.7.0",
22
22
  "@radix-ui/react-dialog": "^1.1.15",
23
23
  "@radix-ui/react-dropdown-menu": "^2.1.16",
24
24
  "@radix-ui/react-label": "^2.1.8",