@adminiumjs/manifest 0.3.34 → 0.3.36

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 (56) hide show
  1. package/dist/app-grants.d.ts +2 -2
  2. package/dist/app-grants.js +6 -6
  3. package/dist/app-grants.js.map +1 -1
  4. package/dist/automations.d.ts +117 -0
  5. package/dist/automations.d.ts.map +1 -1
  6. package/dist/automations.js +67 -5
  7. package/dist/automations.js.map +1 -1
  8. package/dist/change-guards.d.ts +82 -0
  9. package/dist/change-guards.d.ts.map +1 -0
  10. package/dist/change-guards.js +123 -0
  11. package/dist/change-guards.js.map +1 -0
  12. package/dist/index.d.ts +6 -3
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +6 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/outbox.d.ts +9 -9
  17. package/dist/outbox.js +1 -1
  18. package/dist/outbox.js.map +1 -1
  19. package/dist/page-board.d.ts +41 -5
  20. package/dist/page-board.d.ts.map +1 -1
  21. package/dist/page-board.js +54 -10
  22. package/dist/page-board.js.map +1 -1
  23. package/dist/public-access.d.ts +28 -2
  24. package/dist/public-access.d.ts.map +1 -1
  25. package/dist/public-access.js +31 -7
  26. package/dist/public-access.js.map +1 -1
  27. package/dist/removal.d.ts +55 -0
  28. package/dist/removal.d.ts.map +1 -0
  29. package/dist/removal.js +62 -0
  30. package/dist/removal.js.map +1 -0
  31. package/dist/roles.d.ts +168 -3
  32. package/dist/roles.d.ts.map +1 -1
  33. package/dist/roles.js +187 -10
  34. package/dist/roles.js.map +1 -1
  35. package/dist/schema.d.ts +759 -21
  36. package/dist/schema.d.ts.map +1 -1
  37. package/dist/schema.js +115 -25
  38. package/dist/schema.js.map +1 -1
  39. package/dist/shapes.d.ts.map +1 -1
  40. package/dist/shapes.js +31 -2
  41. package/dist/shapes.js.map +1 -1
  42. package/dist/state-actions.d.ts +110 -0
  43. package/dist/state-actions.d.ts.map +1 -1
  44. package/dist/state-actions.js +97 -0
  45. package/dist/state-actions.js.map +1 -1
  46. package/dist/states.d.ts +32 -0
  47. package/dist/states.d.ts.map +1 -1
  48. package/dist/states.js +1 -0
  49. package/dist/states.js.map +1 -1
  50. package/dist/steps.js +1 -1
  51. package/dist/steps.js.map +1 -1
  52. package/dist/words.d.ts +1 -1
  53. package/dist/words.d.ts.map +1 -1
  54. package/dist/words.js +111 -1
  55. package/dist/words.js.map +1 -1
  56. package/package.json +3 -3
@@ -0,0 +1,55 @@
1
+ /**
2
+ * What a table keeps of its removed rows, and a column whose earlier values
3
+ * staff never read back.
4
+ *
5
+ * `removal` (a table word, opt-in):
6
+ * - `reason: true | "required"`: every door a person removes a row through
7
+ * (the delete route, a bulk delete, the add-on kit's `remove`) takes a
8
+ * reason, written into the removal's audit entry; `"required"` refuses a
9
+ * removal without one. Every other removal (an undo, a cascade, a rule's or
10
+ * a move's delete) is recorded with no reason.
11
+ * - `history: true`: a removed row stays readable, through a row it linked to
12
+ * that the reader reads now (a deal's removed member, a job's cancelled
13
+ * visit), masked as a live read is, until an undo brings it back. Never on
14
+ * a private table: its rows are read by their own people only, and a
15
+ * removed row has nobody it belongs to any more.
16
+ *
17
+ * `history: "audit"` (a column rule): the column's earlier values stay out of
18
+ * record history, a rule's `{{was.<column>}}`, a removed row's history and
19
+ * live frames; only the audit log, which the install's owner reads, keeps
20
+ * them (a removed message's text).
21
+ */
22
+ import { z } from 'zod';
23
+ export declare const removalSchema: z.ZodObject<{
24
+ reason: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<"required">]>>;
25
+ history: z.ZodOptional<z.ZodLiteral<true>>;
26
+ }, z.core.$strict>;
27
+ export type RemovalRule = z.infer<typeof removalSchema>;
28
+ /** The longest reason a removal keeps, in characters. */
29
+ export declare const REMOVAL_REASON_MAX = 500;
30
+ /** The column rule's one value: earlier values kept for the audit log only. */
31
+ export declare const columnHistorySchema: z.ZodLiteral<"audit">;
32
+ interface RemovalTableShape {
33
+ ref: string;
34
+ private?: true | undefined;
35
+ removal?: RemovalRule | undefined;
36
+ columns: readonly {
37
+ ref: string;
38
+ type: string;
39
+ role?: string | undefined;
40
+ references?: unknown;
41
+ rules?: {
42
+ history?: 'audit' | undefined;
43
+ secret?: unknown;
44
+ } | undefined;
45
+ }[];
46
+ }
47
+ /** Everything wrong with the tables' `removal` words and their columns' `history` rules. */
48
+ export declare function removalIssues(tables: readonly RemovalTableShape[]): {
49
+ path: (string | number)[];
50
+ message: string;
51
+ }[];
52
+ /** The columns of a table whose earlier values only the audit log keeps. */
53
+ export declare function auditOnlyColumns(table: Pick<RemovalTableShape, 'columns'>): string[];
54
+ export {};
55
+ //# sourceMappingURL=removal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removal.d.ts","sourceRoot":"","sources":["../src/removal.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;kBAMmH,CAAC;AAC9I,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,uBAAqB,CAAC;AAEtD,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;YAAC,MAAM,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;CAC7K;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG;IAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAkBpH;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,MAAM,EAAE,CAEpF"}
@@ -0,0 +1,62 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ /**
3
+ * What a table keeps of its removed rows, and a column whose earlier values
4
+ * staff never read back.
5
+ *
6
+ * `removal` (a table word, opt-in):
7
+ * - `reason: true | "required"`: every door a person removes a row through
8
+ * (the delete route, a bulk delete, the add-on kit's `remove`) takes a
9
+ * reason, written into the removal's audit entry; `"required"` refuses a
10
+ * removal without one. Every other removal (an undo, a cascade, a rule's or
11
+ * a move's delete) is recorded with no reason.
12
+ * - `history: true`: a removed row stays readable, through a row it linked to
13
+ * that the reader reads now (a deal's removed member, a job's cancelled
14
+ * visit), masked as a live read is, until an undo brings it back. Never on
15
+ * a private table: its rows are read by their own people only, and a
16
+ * removed row has nobody it belongs to any more.
17
+ *
18
+ * `history: "audit"` (a column rule): the column's earlier values stay out of
19
+ * record history, a rule's `{{was.<column>}}`, a removed row's history and
20
+ * live frames; only the audit log, which the install's owner reads, keeps
21
+ * them (a removed message's text).
22
+ */
23
+ import { z } from 'zod';
24
+ export const removalSchema = z
25
+ .object({
26
+ reason: z.union([z.literal(true), z.literal('required')]).optional(),
27
+ history: z.literal(true).optional(),
28
+ })
29
+ .strict()
30
+ .refine((rule) => rule.reason !== undefined || rule.history !== undefined, { message: 'a removal rule says "reason", "history", or both' });
31
+ /** The longest reason a removal keeps, in characters. */
32
+ export const REMOVAL_REASON_MAX = 500;
33
+ /** The column rule's one value: earlier values kept for the audit log only. */
34
+ export const columnHistorySchema = z.literal('audit');
35
+ /** Everything wrong with the tables' `removal` words and their columns' `history` rules. */
36
+ export function removalIssues(tables) {
37
+ const out = [];
38
+ tables.forEach((table, t) => {
39
+ const at = (...rest) => ['requiredSchema', 'tables', t, ...rest];
40
+ if (table.removal?.history === true) {
41
+ if (table.private === true)
42
+ out.push({ path: at('removal', 'history'), message: 'a private table\'s rows are read by their own people only: its removed rows are kept for nobody' });
43
+ // Read through a row it linked to: a table with no link has no such row.
44
+ if (!table.columns.some((column) => column.type === 'fk' && column.references !== undefined)) {
45
+ out.push({ path: at('removal', 'history'), message: `a removed row is read through a row it linked to, and "${table.ref}" links to none` });
46
+ }
47
+ }
48
+ table.columns.forEach((column, c) => {
49
+ if (column.rules?.history === undefined)
50
+ return;
51
+ // How a row's history is found: its key is never left out of it.
52
+ if (column.role === 'pk')
53
+ out.push({ path: at('columns', c, 'rules', 'history'), message: 'a row\'s key is how its history is found: it is never kept for the audit log only' });
54
+ });
55
+ });
56
+ return out;
57
+ }
58
+ /** The columns of a table whose earlier values only the audit log keeps. */
59
+ export function auditOnlyColumns(table) {
60
+ return table.columns.filter((column) => column.rules?.history === 'audit').map((column) => column.ref);
61
+ }
62
+ //# sourceMappingURL=removal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removal.js","sourceRoot":"","sources":["../src/removal.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC,CAAC;AAG9I,yDAAyD;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAStD,4FAA4F;AAC5F,MAAM,UAAU,aAAa,CAAC,MAAoC;IAChE,MAAM,GAAG,GAAqD,EAAE,CAAC;IACjE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,EAAE,GAAG,CAAC,GAAG,IAAyB,EAAE,EAAE,CAAC,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACtF,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,iGAAiG,EAAE,CAAC,CAAC;YACrL,yEAAyE;YACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC7F,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,0DAA0D,KAAK,CAAC,GAAG,iBAAiB,EAAE,CAAC,CAAC;YAC9I,CAAC;QACH,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS;gBAAE,OAAO;YAChD,iEAAiE;YACjE,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,mFAAmF,EAAE,CAAC,CAAC;QACnL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,KAAyC;IACxE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzG,CAAC"}
package/dist/roles.d.ts CHANGED
@@ -21,8 +21,8 @@
21
21
  *
22
22
  * `readable` limits the role's READ of the table to some columns, the same
23
23
  * way: housekeeping reads a stay's room and dates, and none of its guest or
24
- * its money. The key and the table's links to other rows are always read (a
25
- * screen moves through them). A column the role may not read is not written
24
+ * its money. The key is always read; a link to another row only when it is
25
+ * listed, as any column (before 0.3.35 every link was read). A column the role may not read is not written
26
26
  * through it either, unless `writable` names it.
27
27
  *
28
28
  * `writableFrom` says which rows the update reaches at all, by the value a
@@ -62,11 +62,64 @@
62
62
  *
63
63
  * Each reach is its own whole test (its `while` and its `by` hold for it
64
64
  * alone), as two roles' reaches are.
65
+ *
66
+ * `notBy` on an update (or a delete) reach takes out the rows a staff column
67
+ * names the person in — of the row itself, or of the row one of its links
68
+ * names (`starter_id.user_id`): a sales manager changes her team's targets
69
+ * but never her own, whatever door the change comes through —
70
+ *
71
+ * ```json
72
+ * "rows": { "update": { "reach": "team", "notBy": "rep_id" } }
73
+ * ```
74
+ *
75
+ * It judges the person alone, never the people they lead, and it judges the
76
+ * row as the change leaves it too: nobody names themselves into it.
77
+ *
78
+ * `via` beside `by`, on a table whose rows are whoever's their parent is
79
+ * (`belongs: [{ "via": "deal_id" }]`), judges the row by a staff column of
80
+ * that PARENT and by nothing else: a sales manager reaches the visits of the
81
+ * deals somebody she leads OWNS, and not a visit on another team's deal, even
82
+ * where her rep helps on that deal or the visit names her rep —
83
+ *
84
+ * ```json
85
+ * "rows": { "read": { "reach": "team", "via": "deal_id", "by": "owner_id" } }
86
+ * ```
87
+ *
88
+ * Without it, a child row is reached by every way its table and its parent
89
+ * say (a helper listed on the deal, the visit's own rep), as before.
90
+ *
91
+ * `notThrough` on an update (or a delete) reach names a listing the reach
92
+ * does not count: a `through` way of the table, or of a row it hangs off
93
+ * (`via`, up to two links up), whose table is that listing. A helper listed
94
+ * on a deal reads it and its quotes and comments on them, and changes none
95
+ * of them; whoever covers for the deal's owner, and the owner, change them as
96
+ * before —
97
+ *
98
+ * ```json
99
+ * "rows": { "update": { "reach": "own", "notThrough": "deal_members" } }
100
+ * ```
101
+ *
102
+ * Every other way counts as it did: a staff column, another listing, the
103
+ * rows nobody owns.
65
104
  */
66
105
  import { z } from 'zod';
67
106
  import { type ColumnShape, type ReferenceIssue, type TableIndex } from './refs.js';
68
107
  /** How far one action reaches: the person's own rows, their teams', or every row (only `while` some value). */
69
108
  export declare const ROW_REACHES: readonly ["own", "team", "all"];
109
+ /** The most listings one reach's `notThrough` names. */
110
+ export declare const NOT_THROUGH_MAX = 4;
111
+ /**
112
+ * A person a row names: a staff column of the row (`rep_id`), or
113
+ * `<link>.<staff column>`, the staff column of the row one of its links names
114
+ * (`deal_id.owner_id`, the deal's owner).
115
+ */
116
+ export declare const personPathSchema: z.ZodString;
117
+ /**
118
+ * What is wrong with a person path on a table of the manifest, or null: the
119
+ * column is not there, holds no staff member, or (with a link) the first
120
+ * column links nowhere the manifest can read.
121
+ */
122
+ export declare function personPathIssue<C extends ColumnShape>(index: TableIndex<C>, table: string, path: string): string | null;
70
123
  export declare const rowReachSchema: z.ZodObject<{
71
124
  reach: z.ZodEnum<{
72
125
  own: "own";
@@ -79,8 +132,15 @@ export declare const rowReachSchema: z.ZodObject<{
79
132
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
80
133
  }, z.core.$strict>>;
81
134
  by: z.ZodOptional<z.ZodString>;
135
+ notBy: z.ZodOptional<z.ZodString>;
136
+ via: z.ZodOptional<z.ZodString>;
137
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
82
138
  }, z.core.$strict>;
83
139
  export type RowReach = z.infer<typeof rowReachSchema>;
140
+ /** The listings a reach's `notThrough` names, as a list, however it was written. */
141
+ export declare function notThroughList(reach: {
142
+ notThrough?: string | readonly string[] | undefined;
143
+ }): readonly string[];
84
144
  /** The actions a row limit narrows. A create makes a new row: it is held by the links and people it names. */
85
145
  export declare const ROW_LIMIT_ACTIONS: readonly ["read", "update", "delete"];
86
146
  /** The most reaches one action names. */
@@ -98,6 +158,9 @@ export declare const rowReachesSchema: z.ZodUnion<readonly [z.ZodObject<{
98
158
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
99
159
  }, z.core.$strict>>;
100
160
  by: z.ZodOptional<z.ZodString>;
161
+ notBy: z.ZodOptional<z.ZodString>;
162
+ via: z.ZodOptional<z.ZodString>;
163
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
101
164
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
102
165
  reach: z.ZodEnum<{
103
166
  own: "own";
@@ -110,6 +173,9 @@ export declare const rowReachesSchema: z.ZodUnion<readonly [z.ZodObject<{
110
173
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
111
174
  }, z.core.$strict>>;
112
175
  by: z.ZodOptional<z.ZodString>;
176
+ notBy: z.ZodOptional<z.ZodString>;
177
+ via: z.ZodOptional<z.ZodString>;
178
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
113
179
  }, z.core.$strict>>]>;
114
180
  export type RowReaches = z.infer<typeof rowReachesSchema>;
115
181
  /** An action's reaches as a list, whether the manifest wrote one or several. */
@@ -128,6 +194,9 @@ export declare const rowsLimitSchema: z.ZodObject<{
128
194
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
129
195
  }, z.core.$strict>>;
130
196
  by: z.ZodOptional<z.ZodString>;
197
+ notBy: z.ZodOptional<z.ZodString>;
198
+ via: z.ZodOptional<z.ZodString>;
199
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
131
200
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
132
201
  reach: z.ZodEnum<{
133
202
  own: "own";
@@ -140,6 +209,9 @@ export declare const rowsLimitSchema: z.ZodObject<{
140
209
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
141
210
  }, z.core.$strict>>;
142
211
  by: z.ZodOptional<z.ZodString>;
212
+ notBy: z.ZodOptional<z.ZodString>;
213
+ via: z.ZodOptional<z.ZodString>;
214
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
143
215
  }, z.core.$strict>>]>>;
144
216
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
145
217
  reach: z.ZodEnum<{
@@ -153,6 +225,9 @@ export declare const rowsLimitSchema: z.ZodObject<{
153
225
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
154
226
  }, z.core.$strict>>;
155
227
  by: z.ZodOptional<z.ZodString>;
228
+ notBy: z.ZodOptional<z.ZodString>;
229
+ via: z.ZodOptional<z.ZodString>;
230
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
156
231
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
157
232
  reach: z.ZodEnum<{
158
233
  own: "own";
@@ -165,6 +240,9 @@ export declare const rowsLimitSchema: z.ZodObject<{
165
240
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
166
241
  }, z.core.$strict>>;
167
242
  by: z.ZodOptional<z.ZodString>;
243
+ notBy: z.ZodOptional<z.ZodString>;
244
+ via: z.ZodOptional<z.ZodString>;
245
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
168
246
  }, z.core.$strict>>]>>;
169
247
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
170
248
  reach: z.ZodEnum<{
@@ -178,6 +256,9 @@ export declare const rowsLimitSchema: z.ZodObject<{
178
256
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
179
257
  }, z.core.$strict>>;
180
258
  by: z.ZodOptional<z.ZodString>;
259
+ notBy: z.ZodOptional<z.ZodString>;
260
+ via: z.ZodOptional<z.ZodString>;
261
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
181
262
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
182
263
  reach: z.ZodEnum<{
183
264
  own: "own";
@@ -190,6 +271,9 @@ export declare const rowsLimitSchema: z.ZodObject<{
190
271
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
191
272
  }, z.core.$strict>>;
192
273
  by: z.ZodOptional<z.ZodString>;
274
+ notBy: z.ZodOptional<z.ZodString>;
275
+ via: z.ZodOptional<z.ZodString>;
276
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
193
277
  }, z.core.$strict>>]>>;
194
278
  }, z.core.$strict>;
195
279
  export type RowsLimit = z.infer<typeof rowsLimitSchema>;
@@ -300,6 +384,9 @@ export declare const roleLimitSchema: z.ZodObject<{
300
384
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
301
385
  }, z.core.$strict>>;
302
386
  by: z.ZodOptional<z.ZodString>;
387
+ notBy: z.ZodOptional<z.ZodString>;
388
+ via: z.ZodOptional<z.ZodString>;
389
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
303
390
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
304
391
  reach: z.ZodEnum<{
305
392
  own: "own";
@@ -312,6 +399,9 @@ export declare const roleLimitSchema: z.ZodObject<{
312
399
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
313
400
  }, z.core.$strict>>;
314
401
  by: z.ZodOptional<z.ZodString>;
402
+ notBy: z.ZodOptional<z.ZodString>;
403
+ via: z.ZodOptional<z.ZodString>;
404
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
315
405
  }, z.core.$strict>>]>>;
316
406
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
317
407
  reach: z.ZodEnum<{
@@ -325,6 +415,9 @@ export declare const roleLimitSchema: z.ZodObject<{
325
415
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
326
416
  }, z.core.$strict>>;
327
417
  by: z.ZodOptional<z.ZodString>;
418
+ notBy: z.ZodOptional<z.ZodString>;
419
+ via: z.ZodOptional<z.ZodString>;
420
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
328
421
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
329
422
  reach: z.ZodEnum<{
330
423
  own: "own";
@@ -337,6 +430,9 @@ export declare const roleLimitSchema: z.ZodObject<{
337
430
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
338
431
  }, z.core.$strict>>;
339
432
  by: z.ZodOptional<z.ZodString>;
433
+ notBy: z.ZodOptional<z.ZodString>;
434
+ via: z.ZodOptional<z.ZodString>;
435
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
340
436
  }, z.core.$strict>>]>>;
341
437
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
342
438
  reach: z.ZodEnum<{
@@ -350,6 +446,9 @@ export declare const roleLimitSchema: z.ZodObject<{
350
446
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
351
447
  }, z.core.$strict>>;
352
448
  by: z.ZodOptional<z.ZodString>;
449
+ notBy: z.ZodOptional<z.ZodString>;
450
+ via: z.ZodOptional<z.ZodString>;
451
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
353
452
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
354
453
  reach: z.ZodEnum<{
355
454
  own: "own";
@@ -362,6 +461,9 @@ export declare const roleLimitSchema: z.ZodObject<{
362
461
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
363
462
  }, z.core.$strict>>;
364
463
  by: z.ZodOptional<z.ZodString>;
464
+ notBy: z.ZodOptional<z.ZodString>;
465
+ via: z.ZodOptional<z.ZodString>;
466
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
365
467
  }, z.core.$strict>>]>>;
366
468
  }, z.core.$strict>>;
367
469
  }, z.core.$strict>;
@@ -387,6 +489,9 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
387
489
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
388
490
  }, z.core.$strict>>;
389
491
  by: z.ZodOptional<z.ZodString>;
492
+ notBy: z.ZodOptional<z.ZodString>;
493
+ via: z.ZodOptional<z.ZodString>;
494
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
390
495
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
391
496
  reach: z.ZodEnum<{
392
497
  own: "own";
@@ -399,6 +504,9 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
399
504
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
400
505
  }, z.core.$strict>>;
401
506
  by: z.ZodOptional<z.ZodString>;
507
+ notBy: z.ZodOptional<z.ZodString>;
508
+ via: z.ZodOptional<z.ZodString>;
509
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
402
510
  }, z.core.$strict>>]>>;
403
511
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
404
512
  reach: z.ZodEnum<{
@@ -412,6 +520,9 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
412
520
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
413
521
  }, z.core.$strict>>;
414
522
  by: z.ZodOptional<z.ZodString>;
523
+ notBy: z.ZodOptional<z.ZodString>;
524
+ via: z.ZodOptional<z.ZodString>;
525
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
415
526
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
416
527
  reach: z.ZodEnum<{
417
528
  own: "own";
@@ -424,6 +535,9 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
424
535
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
425
536
  }, z.core.$strict>>;
426
537
  by: z.ZodOptional<z.ZodString>;
538
+ notBy: z.ZodOptional<z.ZodString>;
539
+ via: z.ZodOptional<z.ZodString>;
540
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
427
541
  }, z.core.$strict>>]>>;
428
542
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
429
543
  reach: z.ZodEnum<{
@@ -437,6 +551,9 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
437
551
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
438
552
  }, z.core.$strict>>;
439
553
  by: z.ZodOptional<z.ZodString>;
554
+ notBy: z.ZodOptional<z.ZodString>;
555
+ via: z.ZodOptional<z.ZodString>;
556
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
440
557
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
441
558
  reach: z.ZodEnum<{
442
559
  own: "own";
@@ -449,6 +566,9 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
449
566
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
450
567
  }, z.core.$strict>>;
451
568
  by: z.ZodOptional<z.ZodString>;
569
+ notBy: z.ZodOptional<z.ZodString>;
570
+ via: z.ZodOptional<z.ZodString>;
571
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
452
572
  }, z.core.$strict>>]>>;
453
573
  }, z.core.$strict>>;
454
574
  }, z.core.$strict>>;
@@ -461,6 +581,12 @@ export interface RoleShape {
461
581
  }
462
582
  /** Every `limits` problem across the app's roles. */
463
583
  export declare function roleLimitIssues<C extends ColumnShape>(roles: readonly RoleShape[], index: TableIndex<C>, rowTables?: RowTables): ReferenceIssue[];
584
+ /**
585
+ * The listings a table's rows are read through: the table of each of its
586
+ * `through` ways, and of the rows it hangs off (`via`), as far up as a row is
587
+ * followed ({@link BELONGS_VIA_MAX_STEPS} links).
588
+ */
589
+ export declare function listingsOf<C extends ColumnShape>(ref: string, index: TableIndex<C>, ways: (ref: string) => readonly BelongsWay[]): Set<string>;
464
590
  /** What the row checks read of a table beside its columns. */
465
591
  export interface BelongsTableShape {
466
592
  ref: string;
@@ -471,6 +597,8 @@ export interface BelongsTableShape {
471
597
  export interface RowTables {
472
598
  belongs: (ref: string) => boolean;
473
599
  privateTables: () => readonly string[];
600
+ /** A table's own ways, as written (none for a table with no `belongs`). */
601
+ ways?: (ref: string) => readonly BelongsWay[];
474
602
  }
475
603
  export declare function rowTablesOf(tables: readonly BelongsTableShape[]): RowTables;
476
604
  /**
@@ -516,6 +644,9 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
516
644
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
517
645
  }, z.core.$strict>>;
518
646
  by: z.ZodOptional<z.ZodString>;
647
+ notBy: z.ZodOptional<z.ZodString>;
648
+ via: z.ZodOptional<z.ZodString>;
649
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
519
650
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
520
651
  reach: z.ZodEnum<{
521
652
  own: "own";
@@ -528,6 +659,9 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
528
659
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
529
660
  }, z.core.$strict>>;
530
661
  by: z.ZodOptional<z.ZodString>;
662
+ notBy: z.ZodOptional<z.ZodString>;
663
+ via: z.ZodOptional<z.ZodString>;
664
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
531
665
  }, z.core.$strict>>]>>;
532
666
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
533
667
  reach: z.ZodEnum<{
@@ -541,6 +675,9 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
541
675
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
542
676
  }, z.core.$strict>>;
543
677
  by: z.ZodOptional<z.ZodString>;
678
+ notBy: z.ZodOptional<z.ZodString>;
679
+ via: z.ZodOptional<z.ZodString>;
680
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
544
681
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
545
682
  reach: z.ZodEnum<{
546
683
  own: "own";
@@ -553,6 +690,9 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
553
690
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
554
691
  }, z.core.$strict>>;
555
692
  by: z.ZodOptional<z.ZodString>;
693
+ notBy: z.ZodOptional<z.ZodString>;
694
+ via: z.ZodOptional<z.ZodString>;
695
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
556
696
  }, z.core.$strict>>]>>;
557
697
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
558
698
  reach: z.ZodEnum<{
@@ -566,6 +706,9 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
566
706
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
567
707
  }, z.core.$strict>>;
568
708
  by: z.ZodOptional<z.ZodString>;
709
+ notBy: z.ZodOptional<z.ZodString>;
710
+ via: z.ZodOptional<z.ZodString>;
711
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
569
712
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
570
713
  reach: z.ZodEnum<{
571
714
  own: "own";
@@ -578,6 +721,9 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
578
721
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
579
722
  }, z.core.$strict>>;
580
723
  by: z.ZodOptional<z.ZodString>;
724
+ notBy: z.ZodOptional<z.ZodString>;
725
+ via: z.ZodOptional<z.ZodString>;
726
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
581
727
  }, z.core.$strict>>]>>;
582
728
  }, z.core.$strict>>;
583
729
  }, z.core.$strict>>;
@@ -611,6 +757,9 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
611
757
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
612
758
  }, z.core.$strict>>;
613
759
  by: z.ZodOptional<z.ZodString>;
760
+ notBy: z.ZodOptional<z.ZodString>;
761
+ via: z.ZodOptional<z.ZodString>;
762
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
614
763
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
615
764
  reach: z.ZodEnum<{
616
765
  own: "own";
@@ -623,6 +772,9 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
623
772
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
624
773
  }, z.core.$strict>>;
625
774
  by: z.ZodOptional<z.ZodString>;
775
+ notBy: z.ZodOptional<z.ZodString>;
776
+ via: z.ZodOptional<z.ZodString>;
777
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
626
778
  }, z.core.$strict>>]>>;
627
779
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
628
780
  reach: z.ZodEnum<{
@@ -636,6 +788,9 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
636
788
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
637
789
  }, z.core.$strict>>;
638
790
  by: z.ZodOptional<z.ZodString>;
791
+ notBy: z.ZodOptional<z.ZodString>;
792
+ via: z.ZodOptional<z.ZodString>;
793
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
639
794
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
640
795
  reach: z.ZodEnum<{
641
796
  own: "own";
@@ -648,6 +803,9 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
648
803
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
649
804
  }, z.core.$strict>>;
650
805
  by: z.ZodOptional<z.ZodString>;
806
+ notBy: z.ZodOptional<z.ZodString>;
807
+ via: z.ZodOptional<z.ZodString>;
808
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
651
809
  }, z.core.$strict>>]>>;
652
810
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
653
811
  reach: z.ZodEnum<{
@@ -661,6 +819,9 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
661
819
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
662
820
  }, z.core.$strict>>;
663
821
  by: z.ZodOptional<z.ZodString>;
822
+ notBy: z.ZodOptional<z.ZodString>;
823
+ via: z.ZodOptional<z.ZodString>;
824
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
664
825
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
665
826
  reach: z.ZodEnum<{
666
827
  own: "own";
@@ -673,6 +834,9 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
673
834
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
674
835
  }, z.core.$strict>>;
675
836
  by: z.ZodOptional<z.ZodString>;
837
+ notBy: z.ZodOptional<z.ZodString>;
838
+ via: z.ZodOptional<z.ZodString>;
839
+ notThrough: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
676
840
  }, z.core.$strict>>]>>;
677
841
  }, z.core.$strict>>;
678
842
  }, z.core.$strict>>;
@@ -687,7 +851,8 @@ export declare function roleAddOnTableIssues(roles: readonly {
687
851
  * from under it, or lean on it and stop working: each is refused where it is
688
852
  * written. A private table's rows are read on the screen by the people they
689
853
  * belong to; nothing is kept from them elsewhere, nothing else is reached
690
- * through them, and nothing Adminium does by itself runs on them.
854
+ * through them but by those same people, and nothing Adminium does by itself
855
+ * runs on them.
691
856
  */
692
857
  export declare function privateShapeIssues(tables: readonly {
693
858
  ref: string;
@@ -1 +1 @@
1
- {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"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"}