@cosmicdrift/kumiko-framework 0.5.0 → 0.5.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @cosmicdrift/kumiko-framework
2
2
 
3
+ ## 0.5.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 4f0d781: fix(tenant): updateMemberRoles erlaubt "system"-Rolle (symmetrisch zu create)
8
+
9
+ Drift innerhalb des tenant-Features: `tenant:write:create` akzeptierte
10
+ `["system", "SystemAdmin"]`, `tenant:write:update-member-roles` aber
11
+ nur `["SystemAdmin"]`. Konsequenz: ops-tooling und seed-migrations
12
+ (`createSystemUser` mit `roles: ["system"]`) konnten den Handler nicht
13
+ aufrufen — `access_denied`.
14
+
15
+ Live entdeckt beim ersten Driver-Sample der es-ops Phase 1: publicstatus
16
+ seed `2026-05-20-fix-admin-roles.ts` rief `update-member-roles` via
17
+ `systemWriteAs` → access_denied → Pod CrashLoopBackOff.
18
+
19
+ Plus access-rule-Pinning-Test in `tenant.integration.ts`-scenario-7.
20
+
21
+ ## 0.5.1
22
+
23
+ ### Patch Changes
24
+
25
+ - 0e00015: fix(es-ops): path.resolve statt path.join für seedsDir → seed-files
26
+
27
+ Bun's `await import()` braucht absolute Pfade. Wenn der App-Author
28
+ `runProdApp({ seedsDir: "./seeds" })` setzt (relativ), würde
29
+ `path.join("./seeds", "foo.ts")` einen relativen Pfad liefern → Bun's
30
+ Import-Resolver such relativ zum `runner.ts`-Modul (nicht zum
31
+ `process.cwd()`) → `Cannot find module 'seeds/...' from '<runner-path>'`.
32
+
33
+ `path.resolve` löst gegen `process.cwd()` auf → absolute Pfade →
34
+ Import funktioniert. Aufgedeckt beim ersten Live-Boot der publicstatus-
35
+ Driver-Migration (Pod CrashLoopBackOff).
36
+
3
37
  ## 0.5.0
4
38
 
5
39
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-framework",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "Framework core — engine, pipeline, API, DB, and every other bit that makes Kumiko go.",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
@@ -163,7 +163,7 @@
163
163
  "zod": "^4.4.3"
164
164
  },
165
165
  "devDependencies": {
166
- "@cosmicdrift/kumiko-dispatcher-live": "0.5.0",
166
+ "@cosmicdrift/kumiko-dispatcher-live": "0.5.2",
167
167
  "@types/uuid": "^11.0.0",
168
168
  "bun-types": "^1.3.13",
169
169
  "drizzle-kit": "^0.31.10",
@@ -160,7 +160,12 @@ async function listSeedFiles(seedsDir: string): Promise<readonly SeedFileEntry[]
160
160
  .sort() // filename = chronologische ID (date-prefix-convention)
161
161
  .map((name) => ({
162
162
  id: name.replace(/\.(ts|mts|js)$/, ""),
163
- filePath: path.join(seedsDir, name),
163
+ // resolve, nicht join: Bun's await import() braucht absolute Pfade.
164
+ // Wenn seedsDir relativ ist (z.B. "./seeds" aus runProdApp-Option),
165
+ // wäre der join-Pfad auch relativ → Bun's import-resolver such
166
+ // relativ zum runner.ts-Modul, nicht zu process.cwd() → fail mit
167
+ // "Cannot find module 'seeds/...' from '<runner-path>'".
168
+ filePath: path.resolve(seedsDir, name),
164
169
  }));
165
170
  }
166
171