@cosmicdrift/kumiko-framework 0.234.0 → 0.235.1
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/package.json +3 -3
- package/src/__tests__/unprocessable-error-details-reason-codemod.test.ts +205 -0
- package/src/api/server.ts +3 -0
- package/src/changes.json +8 -0
- package/src/db/__tests__/list-row-meta-drift.test.ts +15 -0
- package/src/db/queries/event-consumer.ts +20 -5
- package/src/engine/__tests__/boot-validator.test.ts +114 -0
- package/src/engine/__tests__/build-app-schema.test.ts +48 -1
- package/src/engine/__tests__/build-config-feature-schema-secrets.test.ts +140 -0
- package/src/engine/boot-validator/entity-list-screens.ts +13 -1
- package/src/engine/boot-validator/i18n-keys.ts +13 -5
- package/src/engine/boot-validator/screens.ts +25 -1
- package/src/engine/build-app-schema.ts +14 -0
- package/src/engine/build-config-feature-schema.ts +216 -44
- package/src/engine/index.ts +2 -0
- package/src/engine/registry-validate.ts +16 -0
- package/src/engine/registry.ts +2 -0
- package/src/engine/types/index.ts +2 -0
- package/src/i18n/index.ts +1 -0
- package/src/i18n/required-surface-keys.ts +11 -0
- package/src/i18n/settings-hub-keys.ts +28 -0
- package/src/jobs/__tests__/jobs.integration.test.ts +127 -0
- package/src/jobs/job-runner.ts +37 -2
- package/src/pipeline/__tests__/event-dispatcher-start-from.integration.test.ts +176 -0
- package/src/pipeline/event-dispatcher-delivery.ts +1 -1
- package/src/pipeline/event-dispatcher.ts +6 -0
- package/src/pipeline/multi-stream-apply-context.ts +4 -4
- package/src/scripts/codemod/unprocessable-error-details-reason.ts +273 -0
- package/src/testing/e2e-generator.ts +3 -0
- package/src/ui-types/index.ts +4 -0
- package/src/ui-types/list-row-meta.ts +25 -0
|
@@ -112,6 +112,9 @@ export function generateE2ESpec(
|
|
|
112
112
|
// pro Field geschrieben, ohne CRUD-Zustand zu generieren wäre der
|
|
113
113
|
// Spec wertlos. Branding/SMTP/etc. sind Author-spezifisch.
|
|
114
114
|
if (screen.type === "configEdit") continue;
|
|
115
|
+
// secretsEdit: dito — writes go through secrets:write:set with
|
|
116
|
+
// plaintext values the generator has no author-defined test data for.
|
|
117
|
+
if (screen.type === "secretsEdit") continue;
|
|
115
118
|
// projectionList: query-getrieben, Author-spezifische Projection —
|
|
116
119
|
// kein generischer CRUD-Spec ableitbar (wie actionForm/configEdit).
|
|
117
120
|
if (screen.type === "projectionList") continue;
|
package/src/ui-types/index.ts
CHANGED
|
@@ -93,6 +93,8 @@ export type {
|
|
|
93
93
|
ScreenFilter,
|
|
94
94
|
ScreenFilterOp,
|
|
95
95
|
ScreenSlots,
|
|
96
|
+
SecretsEditScreenDefinition,
|
|
97
|
+
SecretsEditSection,
|
|
96
98
|
ToolbarAction,
|
|
97
99
|
} from "../engine/types/screen";
|
|
98
100
|
export type { TargetRef } from "../engine/types/target-ref";
|
|
@@ -105,3 +107,5 @@ export type {
|
|
|
105
107
|
QualifiedContentCollection,
|
|
106
108
|
WorkspaceSchema,
|
|
107
109
|
} from "./app-schema";
|
|
110
|
+
export type { ListRowMetaColumnType } from "./list-row-meta";
|
|
111
|
+
export { LIST_ROW_META_COLUMNS } from "./list-row-meta";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Base row-meta columns (id/tenantId/version/insertedAt/modifiedAt/
|
|
2
|
+
// insertedById/modifiedById) exist on every entity table without being
|
|
3
|
+
// declared entity fields (see rowMetaFieldNames in db/table-builder.ts).
|
|
4
|
+
// computeListViewModel needs a type + sortable hint per column when a screen
|
|
5
|
+
// picks one of these as a list column (e.g. a SystemAdmin cross-tenant view
|
|
6
|
+
// exposing tenantId). This stays a plain string map instead of importing
|
|
7
|
+
// db/table-builder directly, so headless (client bundle) doesn't pull
|
|
8
|
+
// drizzle in through this type-only subpath. list-row-meta-drift.test.ts
|
|
9
|
+
// guards the key set against drift from rowMetaFieldNames(false).
|
|
10
|
+
//
|
|
11
|
+
// Deliberately excludes the softDelete-only columns (isDeleted/deletedAt/
|
|
12
|
+
// deletedById) — this is also the SAME set the boot-validator's entityList
|
|
13
|
+
// column checks accept, so a softDelete column stays a boot-time error
|
|
14
|
+
// instead of a renderer-side throw (see screens.ts / entity-list-screens.ts).
|
|
15
|
+
export type ListRowMetaColumnType = "text" | "number" | "timestamp";
|
|
16
|
+
|
|
17
|
+
export const LIST_ROW_META_COLUMNS: Readonly<Record<string, ListRowMetaColumnType>> = {
|
|
18
|
+
id: "text",
|
|
19
|
+
tenantId: "text",
|
|
20
|
+
version: "number",
|
|
21
|
+
insertedAt: "timestamp",
|
|
22
|
+
modifiedAt: "timestamp",
|
|
23
|
+
insertedById: "text",
|
|
24
|
+
modifiedById: "text",
|
|
25
|
+
};
|