@vxil/cli 0.20.0 → 0.20.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/README.md CHANGED
@@ -23,7 +23,7 @@ export default defineConfig({
23
23
  features: {
24
24
  auth: { enabled: true },
25
25
  cms: { enabled: true, draftPublish: true },
26
- notifications: { enabled: true, provider: 'resend', fromEmail: 'noreply@example.app' },
26
+ notifications: { enabled: true, provider: 'resend', fromEmail: 'noreply@example.com' },
27
27
  },
28
28
  // (b) CMS schema-as-code — collections + fields, reconciled by `vxil push`
29
29
  cms: {
@@ -37,10 +37,12 @@ interface CdcRuleLike {
37
37
  export declare function validateCdcConfig(cdc: Record<string, CdcRuleLike> | undefined): string[];
38
38
  /** What a payload:'full' change-data rule must know about its target
39
39
  * collection's read gates. `readRoleFields`: fields with a non-empty
40
- * `readRoles`; `endUserAccess`: the collection's end-user access mode. */
40
+ * `readRoles`; `endUserAccess`: the collection's end-user access mode;
41
+ * `ownerField`: the end-user owner-scope field (null/absent = none). */
41
42
  export interface CdcCollectionGates {
42
43
  readRoleFields?: readonly string[];
43
44
  endUserAccess?: 'readwrite' | 'read' | 'none';
45
+ ownerField?: string | null;
44
46
  }
45
47
  /**
46
48
  * A `payload: 'full'` change-data rule inlines the stored row into a realtime
@@ -48,7 +50,9 @@ export interface CdcCollectionGates {
48
50
  * the read projection. So it must never target a collection whose reads are
49
51
  * gated: a field with `readRoles` (the frame would carry the gated value), or
50
52
  * an `endUserAccess` of 'read' / 'none' (the frame would bypass the
51
- * collection's end-user gate). Pure; one problem line per offending ENABLED
53
+ * collection's end-user gate), or an `ownerField` (end users read only their
54
+ * own rows, but the frame would carry every user's row to every subscriber —
55
+ * CDC-FULL-OWNER-SCOPED). Pure; one problem line per offending ENABLED
52
56
  * rule (an unknown collection is skipped). The safe shape is `payload: 'ids'`
53
57
  * and a re-read through the cms, where every gate applies.
54
58
  */