@cosmicdrift/kumiko-framework 0.289.0 → 0.291.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.
- package/package.json +4 -4
- package/src/__tests__/field-access.integration.test.ts +7 -3
- package/src/__tests__/ownership-where-write-path.integration.test.ts +1 -1
- package/src/__tests__/ownership.integration.test.ts +1 -1
- package/src/__tests__/pii-personal-migration-report-codemod.test.ts +160 -0
- package/src/api/__tests__/server-boot-guards.test.ts +42 -0
- package/src/api/__tests__/server-error-logging.test.ts +168 -17
- package/src/api/request-context.ts +31 -0
- package/src/api/request-id-middleware.ts +2 -1
- package/src/api/routes.ts +35 -3
- package/src/api/server.ts +30 -4
- package/src/changes.json +69 -0
- package/src/crypto/__tests__/blind-index.test.ts +1 -1
- package/src/crypto/__tests__/event-pii.test.ts +110 -9
- package/src/crypto/__tests__/pii-field-encryption.test.ts +2 -2
- package/src/crypto/__tests__/subject-resolver.test.ts +25 -4
- package/src/crypto/subject-resolver.ts +25 -8
- package/src/db/__tests__/blind-index.integration.test.ts +1 -1
- package/src/db/__tests__/eagerload.integration.test.ts +12 -2
- package/src/db/__tests__/entity-field-encryption.test.ts +2 -2
- package/src/db/__tests__/event-store-executor-context.pii-roundtrip.test.ts +1 -1
- package/src/db/__tests__/event-store-executor-money-rehydrate.integration.test.ts +7 -2
- package/src/db/__tests__/event-store-executor-write-verbs.integration.test.ts +3 -1
- package/src/db/__tests__/event-store-executor.integration.test.ts +15 -5
- package/src/db/__tests__/list-filter-field-access.integration.test.ts +6 -2
- package/src/db/queries/shadow-swap.ts +35 -0
- package/src/engine/__tests__/boot-validator-action-wiring.test.ts +32 -0
- package/src/engine/__tests__/boot-validator-boot-check.test.ts +1 -1
- package/src/engine/__tests__/boot-validator-pii-retention.test.ts +148 -15
- package/src/engine/__tests__/boot-validator.test.ts +226 -0
- package/src/engine/__tests__/build-app-schema.test.ts +18 -0
- package/src/engine/__tests__/engine.test.ts +87 -0
- package/src/engine/__tests__/entity-presave-wiring.integration.test.ts +6 -2
- package/src/engine/__tests__/factories-long-text.test.ts +6 -1
- package/src/engine/__tests__/form-money-currency-types.test.ts +90 -0
- package/src/engine/boot-validator/__tests__/record-owned.test.ts +12 -2
- package/src/engine/boot-validator/action-wiring.ts +2 -1
- package/src/engine/boot-validator/entity-handler.ts +44 -0
- package/src/engine/boot-validator/index.ts +7 -2
- package/src/engine/boot-validator/pii-retention.ts +8 -0
- package/src/engine/boot-validator/screens.ts +54 -12
- package/src/engine/create-app.ts +54 -0
- package/src/engine/feature-config-events-jobs.ts +19 -0
- package/src/engine/index.ts +2 -0
- package/src/engine/qualified-name.ts +9 -0
- package/src/engine/screen-helpers.ts +1 -0
- package/src/event-store/__tests__/backfill-pii.integration.test.ts +32 -8
- package/src/event-store/__tests__/event-attribution.integration.test.ts +186 -0
- package/src/event-store/event-store.ts +23 -2
- package/src/i18n/required-surface-keys.ts +1 -0
- package/src/jobs/__tests__/job-last-success.integration.test.ts +135 -0
- package/src/jobs/index.ts +7 -1
- package/src/jobs/job-runner.ts +104 -6
- package/src/logging/utils.ts +14 -1
- package/src/observability/index.ts +1 -0
- package/src/observability/standard-metrics.ts +20 -0
- package/src/pipeline/__tests__/blind-index-rebuild-guard.integration.test.ts +96 -0
- package/src/pipeline/active-membership.ts +10 -4
- package/src/pipeline/append-event-core.ts +2 -11
- package/src/pipeline/dispatch-shared.ts +17 -5
- package/src/pipeline/event-dispatcher-delivery.ts +15 -3
- package/src/pipeline/projection-rebuild.ts +7 -0
- package/src/schema-cli.ts +21 -0
- package/src/scripts/codemod/pii-personal-migration.ts +242 -2
- package/src/stack/__tests__/ownership-boot-guard.integration.test.ts +1 -1
- package/src/testing/__tests__/e2e-generator.test.ts +50 -0
- package/src/testing/e2e-generator.ts +4 -3
- package/src/ui-types/index.ts +2 -0
|
@@ -36,6 +36,7 @@ import {
|
|
|
36
36
|
parseQn,
|
|
37
37
|
qn,
|
|
38
38
|
type Registry,
|
|
39
|
+
sectionFieldSpecs,
|
|
39
40
|
toKebab,
|
|
40
41
|
} from "../engine";
|
|
41
42
|
|
|
@@ -249,7 +250,7 @@ function collectRequiredEditFields(
|
|
|
249
250
|
const out: string[] = [];
|
|
250
251
|
for (const section of screen.layout.sections) {
|
|
251
252
|
if (!isFieldsEditSection(section)) continue;
|
|
252
|
-
for (const rawField of section
|
|
253
|
+
for (const rawField of sectionFieldSpecs(section)) {
|
|
253
254
|
const { field } = normalizeEditField(rawField);
|
|
254
255
|
const def = entity.fields[field];
|
|
255
256
|
if (def && "required" in def && def.required === true) {
|
|
@@ -287,7 +288,7 @@ function buildEditFillOps(
|
|
|
287
288
|
const ops: EditFillOp[] = [];
|
|
288
289
|
for (const section of screen.layout.sections) {
|
|
289
290
|
if (!isFieldsEditSection(section)) continue;
|
|
290
|
-
for (const raw of section
|
|
291
|
+
for (const raw of sectionFieldSpecs(section)) {
|
|
291
292
|
const { field } = normalizeEditField(raw);
|
|
292
293
|
const def = entity.fields[field];
|
|
293
294
|
if (!def) continue;
|
|
@@ -335,7 +336,7 @@ function pickIdentifyingForEdit(
|
|
|
335
336
|
|
|
336
337
|
for (const section of editScreen.layout.sections) {
|
|
337
338
|
if (!isFieldsEditSection(section)) continue;
|
|
338
|
-
for (const rawField of section
|
|
339
|
+
for (const rawField of sectionFieldSpecs(section)) {
|
|
339
340
|
const { field } = normalizeEditField(rawField);
|
|
340
341
|
if (entity.fields[field]?.type !== "text") continue;
|
|
341
342
|
if (columns && !columns.has(field)) continue;
|
package/src/ui-types/index.ts
CHANGED
|
@@ -25,6 +25,7 @@ export type { DerivedCellRoundingTarget } from "../engine/embedded-derived";
|
|
|
25
25
|
export { computeDerivedCellValue, roundDerivedCellValue } from "../engine/embedded-derived";
|
|
26
26
|
export type { ParsedRefTarget } from "../engine/parse-ref-target";
|
|
27
27
|
export { parseRefTarget } from "../engine/parse-ref-target";
|
|
28
|
+
export type { FieldsOrGroupsSection } from "../engine/screen-helpers";
|
|
28
29
|
export {
|
|
29
30
|
evalFieldCondition,
|
|
30
31
|
explicitListScreenId,
|
|
@@ -35,6 +36,7 @@ export {
|
|
|
35
36
|
normalizeEditField,
|
|
36
37
|
normalizeListColumn,
|
|
37
38
|
resolveNavParentScreen,
|
|
39
|
+
sectionFieldSpecs,
|
|
38
40
|
} from "../engine/screen-helpers";
|
|
39
41
|
// Entity + field types. EntityDefinition is the canonical shape that
|
|
40
42
|
// view-model builders iterate; FieldDefinition is the per-field union
|