@cosmicdrift/kumiko-framework 0.269.1 → 0.270.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/README.md +5 -1
- package/package.json +3 -3
- package/src/__tests__/anonymous-access.integration.test.ts +1 -1
- package/src/__tests__/error-contract.integration.test.ts +1 -1
- package/src/__tests__/fixtures/migrate-db-raw/global-fetch.expected.ts +9 -0
- package/src/__tests__/fixtures/migrate-db-raw/global-fetch.input.ts +10 -0
- package/src/__tests__/fixtures/migrate-db-raw/global-select.expected.ts +6 -0
- package/src/__tests__/fixtures/migrate-db-raw/global-select.input.ts +12 -0
- package/src/__tests__/fixtures/migrate-db-raw/import-pruning.expected.ts +12 -0
- package/src/__tests__/fixtures/migrate-db-raw/import-pruning.input.ts +12 -0
- package/src/__tests__/fixtures/migrate-db-raw/manual-only.expected.ts +26 -0
- package/src/__tests__/fixtures/migrate-db-raw/manual-only.input.ts +26 -0
- package/src/__tests__/fixtures/migrate-db-raw/own-tenant-const-shorthand.expected.ts +10 -0
- package/src/__tests__/fixtures/migrate-db-raw/own-tenant-const-shorthand.input.ts +11 -0
- package/src/__tests__/fixtures/migrate-db-raw/own-tenant-event.expected.ts +9 -0
- package/src/__tests__/fixtures/migrate-db-raw/own-tenant-event.input.ts +15 -0
- package/src/__tests__/fixtures/migrate-open-to-all/manual-only.expected.ts +16 -0
- package/src/__tests__/fixtures/migrate-open-to-all/manual-only.input.ts +16 -0
- package/src/__tests__/fixtures/migrate-open-to-all/test-nested-shorthand.expected.ts +12 -0
- package/src/__tests__/fixtures/migrate-open-to-all/test-nested-shorthand.input.ts +12 -0
- package/src/__tests__/fixtures/migrate-open-to-all/test-simple.expected.ts +7 -0
- package/src/__tests__/fixtures/migrate-open-to-all/test-simple.input.ts +7 -0
- package/src/__tests__/full-stack.integration.test.ts +2 -2
- package/src/__tests__/migrate-db-raw-codemod.test.ts +132 -0
- package/src/__tests__/migrate-open-to-all-codemod.test.ts +84 -0
- package/src/__tests__/transition-guard.integration.test.ts +7 -7
- package/src/__tests__/upgrade-cli.test.ts +54 -0
- package/src/api/__tests__/api.test.ts +2 -2
- package/src/api/__tests__/body-limit.test.ts +1 -1
- package/src/api/__tests__/pii-leak-guard.integration.test.ts +2 -2
- package/src/api/__tests__/request-locale.integration.test.ts +1 -1
- package/src/api/__tests__/server-error-logging.test.ts +1 -1
- package/src/changes.json +10 -2
- package/src/db/__tests__/list-filter-field-access.integration.test.ts +1 -1
- package/src/derivatives/__tests__/derivatives-context.integration.test.ts +2 -2
- package/src/engine/__tests__/boot-validator-dashboard.test.ts +5 -5
- package/src/engine/__tests__/boot-validator-pii-retention.test.ts +1 -1
- package/src/engine/__tests__/boot-validator-projection-list.test.ts +17 -17
- package/src/engine/__tests__/boot-validator-query-output-schema.test.ts +18 -18
- package/src/engine/__tests__/boot-validator-query-refs.test.ts +3 -3
- package/src/engine/__tests__/boot-validator-s0-integration.test.ts +2 -2
- package/src/engine/__tests__/boot-validator.test.ts +18 -18
- package/src/engine/__tests__/build-app-schema.test.ts +10 -6
- package/src/engine/__tests__/build-config-feature-schema-secrets.test.ts +48 -0
- package/src/engine/__tests__/build-config-feature-schema.test.ts +34 -5
- package/src/engine/__tests__/engine.test.ts +39 -25
- package/src/engine/__tests__/entity-handlers.test.ts +19 -8
- package/src/engine/__tests__/entity-presave-wiring.integration.test.ts +2 -2
- package/src/engine/__tests__/extends-registrar.test.ts +3 -3
- package/src/engine/__tests__/feature-crud-shorthand.test.ts +9 -3
- package/src/engine/__tests__/feature-crud-verb-access.integration.test.ts +1 -1
- package/src/engine/__tests__/hook-phases.test.ts +5 -5
- package/src/engine/__tests__/lifecycle-hooks.test.ts +9 -3
- package/src/engine/__tests__/multiselect-filter.integration.test.ts +1 -1
- package/src/engine/__tests__/post-query-hook.test.ts +6 -2
- package/src/engine/__tests__/projection-detail-actions.test.ts +2 -2
- package/src/engine/__tests__/projection-detail-singleton.test.ts +3 -3
- package/src/engine/__tests__/projection-detail-tabs.test.ts +3 -3
- package/src/engine/__tests__/projection-list-filter.integration.test.ts +1 -1
- package/src/engine/__tests__/registry.test.ts +19 -13
- package/src/engine/__tests__/screen.test.ts +26 -20
- package/src/engine/boot-validator/__tests__/access-declarations.test.ts +5 -4
- package/src/engine/boot-validator/__tests__/parent-ref.test.ts +18 -6
- package/src/engine/boot-validator/access-declarations.ts +3 -5
- package/src/engine/boot-validator/nav.ts +4 -3
- package/src/engine/build-config-feature-schema.ts +9 -2
- package/src/engine/entity-handlers.ts +1 -1
- package/src/engine/feature-ast/__tests__/canonical-form.test.ts +3 -1
- package/src/engine/feature-ast/__tests__/parse-happy-path.test.ts +2 -2
- package/src/engine/feature-ast/__tests__/parse.test.ts +106 -4
- package/src/engine/feature-ast/__tests__/patcher.test.ts +3 -3
- package/src/engine/feature-ast/__tests__/read-optional-access-rule.test.ts +4 -4
- package/src/engine/feature-ast/__tests__/render-roundtrip.test.ts +5 -1
- package/src/engine/feature-ast/extractors/handlers.ts +16 -2
- package/src/engine/feature-ast/extractors/hooks.ts +25 -4
- package/src/engine/feature-ast/patcher.ts +15 -3
- package/src/engine/feature-ast/patterns.ts +4 -0
- package/src/engine/feature-ast/render.ts +3 -0
- package/src/engine/pattern-library/shared-fields.ts +7 -3
- package/src/entrypoint/__tests__/entrypoint-attach-dispatcher.integration.test.ts +1 -1
- package/src/entrypoint/__tests__/entrypoint-job-wiring.integration.test.ts +3 -3
- package/src/entrypoint/__tests__/split-deploy.integration.test.ts +1 -1
- package/src/es-ops/__tests__/runner.integration.test.ts +2 -2
- package/src/jobs/__tests__/job-event-trigger.integration.test.ts +2 -2
- package/src/jobs/__tests__/job-multi-trigger.integration.test.ts +2 -2
- package/src/jobs/__tests__/jobs.integration.test.ts +1 -1
- package/src/observability/__tests__/observability.integration.test.ts +7 -7
- package/src/pipeline/__tests__/archive-stream.integration.test.ts +2 -2
- package/src/pipeline/__tests__/dispatcher.test.ts +15 -15
- package/src/pipeline/__tests__/lifecycle-pipeline.test.ts +10 -10
- package/src/pipeline/__tests__/load-aggregate-query.integration.test.ts +1 -1
- package/src/pipeline/__tests__/post-query-hook.integration.test.ts +3 -3
- package/src/pipeline/__tests__/query-projection.integration.test.ts +3 -3
- package/src/scripts/codemod/migrate-db-raw.ts +397 -0
- package/src/scripts/codemod/migrate-open-to-all.ts +248 -0
- package/src/secrets/__tests__/contains-secret.test.ts +5 -5
- package/src/stack/__tests__/request-helper.integration.test.ts +3 -3
- package/src/stack/__tests__/setup-test-stack-jobs.integration.test.ts +1 -1
- package/src/testing/__tests__/e2e-generator.test.ts +19 -5
|
@@ -20,7 +20,7 @@ const pingFeature = defineFeature("reqhelp", (r) => {
|
|
|
20
20
|
isSuccess: true as const,
|
|
21
21
|
data: { note: event.payload.note, userId: event.user.id },
|
|
22
22
|
}),
|
|
23
|
-
{ access: { openToAll:
|
|
23
|
+
{ access: { openToAll: { reason: "test handler callable by any signed-in test user" } } },
|
|
24
24
|
);
|
|
25
25
|
|
|
26
26
|
r.writeHandler(
|
|
@@ -28,7 +28,7 @@ const pingFeature = defineFeature("reqhelp", (r) => {
|
|
|
28
28
|
z.object({}),
|
|
29
29
|
async () =>
|
|
30
30
|
writeFailure(new UnprocessableError("reqhelp-boom", { i18nKey: "errors.unprocessable" })),
|
|
31
|
-
{ access: { openToAll:
|
|
31
|
+
{ access: { openToAll: { reason: "test handler callable by any signed-in test user" } } },
|
|
32
32
|
);
|
|
33
33
|
|
|
34
34
|
r.queryHandler(
|
|
@@ -40,7 +40,7 @@ const pingFeature = defineFeature("reqhelp", (r) => {
|
|
|
40
40
|
}
|
|
41
41
|
return { id: query.payload.id, ok: true };
|
|
42
42
|
},
|
|
43
|
-
{ access: { openToAll:
|
|
43
|
+
{ access: { openToAll: { reason: "test handler callable by any signed-in test user" } } },
|
|
44
44
|
);
|
|
45
45
|
});
|
|
46
46
|
|
|
@@ -29,7 +29,7 @@ const manualDispatchFeature = defineFeature("manualdispatch", (r) => {
|
|
|
29
29
|
await jobRunner.dispatch("manualdispatch:job:record", { note: event.payload.note });
|
|
30
30
|
return { isSuccess: true as const, data: { id: 1, note: event.payload.note } };
|
|
31
31
|
},
|
|
32
|
-
{ access: { openToAll:
|
|
32
|
+
{ access: { openToAll: { reason: "test handler callable by any signed-in test user" } } },
|
|
33
33
|
);
|
|
34
34
|
r.job("record", { trigger: { manual: true }, runIn: "worker" }, async (payload) => {
|
|
35
35
|
jobRuns.push({ name: "manualdispatch:job:record", payload });
|
|
@@ -34,7 +34,11 @@ function createTasksFeature() {
|
|
|
34
34
|
return defineFeature("tasks", (r) => {
|
|
35
35
|
r.systemScope();
|
|
36
36
|
r.entity("task", taskEntity);
|
|
37
|
-
r.writeHandler(
|
|
37
|
+
r.writeHandler(
|
|
38
|
+
defineEntityCreateHandler("task", taskEntity, {
|
|
39
|
+
access: { openToAll: { reason: "test handler callable by any signed-in test user" } },
|
|
40
|
+
}),
|
|
41
|
+
);
|
|
38
42
|
r.screen({
|
|
39
43
|
id: "task-list",
|
|
40
44
|
type: "entityList",
|
|
@@ -105,7 +109,11 @@ describe("generateE2ESpec", () => {
|
|
|
105
109
|
const feature = defineFeature("events", (r) => {
|
|
106
110
|
r.systemScope();
|
|
107
111
|
r.entity("event", entity);
|
|
108
|
-
r.writeHandler(
|
|
112
|
+
r.writeHandler(
|
|
113
|
+
defineEntityCreateHandler("event", entity, {
|
|
114
|
+
access: { openToAll: { reason: "test handler callable by any signed-in test user" } },
|
|
115
|
+
}),
|
|
116
|
+
);
|
|
109
117
|
r.screen({
|
|
110
118
|
id: "event-edit",
|
|
111
119
|
type: "entityEdit",
|
|
@@ -165,7 +173,9 @@ describe("generateE2ESpec", () => {
|
|
|
165
173
|
r.systemScope();
|
|
166
174
|
r.entity("task", taskEntity);
|
|
167
175
|
r.writeHandler(
|
|
168
|
-
defineEntityCreateHandler("task", taskEntity, {
|
|
176
|
+
defineEntityCreateHandler("task", taskEntity, {
|
|
177
|
+
access: { openToAll: { reason: "test handler callable by any signed-in test user" } },
|
|
178
|
+
}),
|
|
169
179
|
);
|
|
170
180
|
r.screen({
|
|
171
181
|
id: "edit",
|
|
@@ -201,7 +211,9 @@ describe("generateE2ESpec", () => {
|
|
|
201
211
|
r.systemScope();
|
|
202
212
|
r.entity("contact", contactEntity);
|
|
203
213
|
r.writeHandler(
|
|
204
|
-
defineEntityCreateHandler("contact", contactEntity, {
|
|
214
|
+
defineEntityCreateHandler("contact", contactEntity, {
|
|
215
|
+
access: { openToAll: { reason: "test handler callable by any signed-in test user" } },
|
|
216
|
+
}),
|
|
205
217
|
);
|
|
206
218
|
r.screen({
|
|
207
219
|
id: "list",
|
|
@@ -225,7 +237,9 @@ describe("generateE2ESpec", () => {
|
|
|
225
237
|
r.systemScope();
|
|
226
238
|
r.entity("task", taskEntity);
|
|
227
239
|
r.writeHandler(
|
|
228
|
-
defineEntityCreateHandler("task", taskEntity, {
|
|
240
|
+
defineEntityCreateHandler("task", taskEntity, {
|
|
241
|
+
access: { openToAll: { reason: "test handler callable by any signed-in test user" } },
|
|
242
|
+
}),
|
|
229
243
|
);
|
|
230
244
|
r.screen({ id: "list", type: "entityList", entity: "task", columns: ["title"] });
|
|
231
245
|
r.screen({
|