@cosmicdrift/kumiko-samples 0.354.1 → 0.356.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 (38) hide show
  1. package/package.json +1 -1
  2. package/packages/bundled-features/package.json +1 -1
  3. package/packages/bundled-features/src/agent-tools/agent-manifest.ts +2 -0
  4. package/packages/bundled-features/src/agent-tools/types.ts +2 -0
  5. package/packages/bundled-features/src/audit/escape-hatch-audit-sink.ts +2 -0
  6. package/packages/bundled-features/src/audit/handlers/resolve-audit-tenant.ts +8 -7
  7. package/packages/bundled-features/src/billing-foundation/consumer-protection/register-consent.ts +7 -12
  8. package/packages/bundled-features/src/billing-foundation/consumer-protection/register-termination.ts +13 -17
  9. package/packages/bundled-features/src/cap-overview/handlers/caps-usage.query.ts +12 -8
  10. package/packages/bundled-features/src/compliance-profiles/handlers/set-profile.write.ts +19 -36
  11. package/packages/bundled-features/src/custom-fields/handlers/define-system-field.write.ts +10 -17
  12. package/packages/bundled-features/src/custom-fields/handlers/delete-system-field.write.ts +5 -2
  13. package/packages/bundled-features/src/custom-fields/lib/define-or-resurrect.ts +12 -3
  14. package/packages/bundled-features/src/delivery/delivery-service.ts +1 -1
  15. package/packages/bundled-features/src/managed-pages/handlers/by-tenant-published.query.ts +1 -10
  16. package/packages/bundled-features/src/managed-pages/handlers/set.write.ts +9 -37
  17. package/packages/bundled-features/src/shared/index.ts +1 -0
  18. package/packages/bundled-features/src/shared/require-for-tenant.ts +18 -0
  19. package/packages/bundled-features/src/template-resolver/handlers/by-slug.query.ts +1 -10
  20. package/packages/bundled-features/src/template-resolver/handlers/by-tenant.query.ts +1 -10
  21. package/packages/bundled-features/src/template-resolver/handlers/collection-item.query.ts +0 -7
  22. package/packages/bundled-features/src/template-resolver/handlers/collection-list.query.ts +0 -7
  23. package/packages/bundled-features/src/template-resolver/handlers/collection-set.write.ts +6 -12
  24. package/packages/bundled-features/src/template-resolver/handlers/set.write.ts +7 -15
  25. package/packages/bundled-features/src/template-resolver/handlers/upsert-system.write.ts +7 -6
  26. package/packages/bundled-features/src/template-resolver/handlers/upsert-tenant.write.ts +7 -11
  27. package/packages/bundled-features/src/template-resolver/seeding.ts +1 -2
  28. package/packages/bundled-features/src/tenant/cancel-pending-invitation.ts +3 -1
  29. package/packages/bundled-features/src/tenant/handlers/remove-member.write.ts +22 -8
  30. package/packages/bundled-features/src/tenant/handlers/update-member-roles.write.ts +19 -11
  31. package/packages/bundled-features/src/tenant-lifecycle/feature.ts +1 -0
  32. package/packages/bundled-features/src/tenant-lifecycle/run-tenant-destroy.ts +5 -0
  33. package/packages/bundled-features/src/tenant-lifecycle/stages.ts +3 -0
  34. package/packages/bundled-features/src/tier-engine/handlers/set-tenant-tier.write.ts +9 -23
  35. package/packages/bundled-features/src/user-data-rights/feature.ts +2 -0
  36. package/packages/bundled-features/src/user-data-rights/run-export-jobs.ts +5 -0
  37. package/packages/bundled-features/src/user-data-rights/run-forget-cleanup.ts +11 -1
  38. package/packages/bundled-features/src/user-data-rights/run-user-export.ts +4 -1
@@ -1,3 +1,4 @@
1
+ import { createFallbackLogger, type Logger } from "@cosmicdrift/kumiko-framework/logging";
1
2
  // Forget-Cleanup-Runner (S2.U5b) — pure-Function Pipeline.
2
3
  //
3
4
  // After the grace period (S2.U5a sets gracePeriodEnd) this runner iterates
@@ -157,6 +158,7 @@ export interface RunForgetCleanupArgs {
157
158
  // systemUser.id); attributes+audits any EXT_USER_DATA usage's declared
158
159
  // escapeHatch when its delete hook calls ctx.db.unsafeRaw().
159
160
  readonly escapeHatchAuditSink?: EscapeHatchAuditSink;
161
+ readonly escapeHatchAuditLog?: Logger;
160
162
  readonly actor?: string;
161
163
  }
162
164
 
@@ -209,13 +211,18 @@ function buildHookDb(
209
211
  db: DbRunner,
210
212
  tenantId: TenantId,
211
213
  entry: HookEntry,
212
- args: { readonly escapeHatchAuditSink?: EscapeHatchAuditSink; readonly actor?: string },
214
+ args: {
215
+ readonly escapeHatchAuditSink?: EscapeHatchAuditSink;
216
+ readonly escapeHatchAuditLog?: Logger;
217
+ readonly actor?: string;
218
+ },
213
219
  ) {
214
220
  const report = createEscapeHatchReporter({
215
221
  handler: `${EXT_USER_DATA}:${entry.entityName}`,
216
222
  tenantId,
217
223
  actor: args.actor ?? UNATTRIBUTED_ACTOR,
218
224
  sink: args.escapeHatchAuditSink,
225
+ log: args.escapeHatchAuditLog ?? createFallbackLogger("user-data-rights"),
219
226
  });
220
227
  return createTenantDb(db, tenantId, "tenant", undefined, undefined, undefined, {
221
228
  unsafeRaw:
@@ -296,6 +303,7 @@ export async function runForgetCleanup(
296
303
  kms,
297
304
  searchAdapter: args.searchAdapter,
298
305
  escapeHatchAuditSink: args.escapeHatchAuditSink,
306
+ escapeHatchAuditLog: args.escapeHatchAuditLog,
299
307
  actor: args.actor,
300
308
  });
301
309
  hookCallsAttempted += userResult.hookCallsAttempted;
@@ -362,6 +370,7 @@ async function processUser(args: {
362
370
  kms?: KmsAdapter;
363
371
  searchAdapter?: SearchAdapter;
364
372
  escapeHatchAuditSink?: EscapeHatchAuditSink;
373
+ escapeHatchAuditLog?: Logger;
365
374
  actor?: string;
366
375
  }): Promise<ProcessUserResult> {
367
376
  const { db, registry, userId, hookEntries, buildStorageProvider, appTenantModel, kms } = args;
@@ -460,6 +469,7 @@ async function processUser(args: {
460
469
  {
461
470
  db: buildHookDb(tx, tenantId, entry, {
462
471
  escapeHatchAuditSink: args.escapeHatchAuditSink,
472
+ escapeHatchAuditLog: args.escapeHatchAuditLog,
463
473
  actor: args.actor,
464
474
  }),
465
475
  registry,
@@ -1,3 +1,4 @@
1
+ import { createFallbackLogger, type Logger } from "@cosmicdrift/kumiko-framework/logging";
1
2
  // User-Data-Export-Pipeline (S2.U3) — DSGVO Art. 15 (Auskunft) +
2
3
  // Art. 20 (Datenportabilität).
3
4
  //
@@ -62,6 +63,7 @@ export interface RunUserExportArgs {
62
63
  // systemUser.id); attributes+audits any EXT_USER_DATA usage's declared
63
64
  // escapeHatch when its export hook calls ctx.db.unsafeRaw().
64
65
  readonly escapeHatchAuditSink?: EscapeHatchAuditSink;
66
+ readonly escapeHatchAuditLog?: Logger;
65
67
  readonly actor?: string;
66
68
  }
67
69
 
@@ -110,13 +112,14 @@ function buildHookDb(
110
112
  db: DbRunner,
111
113
  tenantId: TenantId,
112
114
  entry: HookEntry,
113
- args: Pick<RunUserExportArgs, "escapeHatchAuditSink" | "actor">,
115
+ args: Pick<RunUserExportArgs, "escapeHatchAuditSink" | "escapeHatchAuditLog" | "actor">,
114
116
  ) {
115
117
  const report = createEscapeHatchReporter({
116
118
  handler: `${EXT_USER_DATA}:${entry.entityName}`,
117
119
  tenantId,
118
120
  actor: args.actor ?? UNATTRIBUTED_ACTOR,
119
121
  sink: args.escapeHatchAuditSink,
122
+ log: args.escapeHatchAuditLog ?? createFallbackLogger("user-data-rights"),
120
123
  });
121
124
  return createTenantDb(db, tenantId, "tenant", undefined, undefined, undefined, {
122
125
  unsafeRaw: