@adminiumjs/manifest 0.3.33 → 0.3.35

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 +5 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +5 -2
  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 +109 -3
  32. package/dist/roles.d.ts.map +1 -1
  33. package/dist/roles.js +119 -9
  34. package/dist/roles.js.map +1 -1
  35. package/dist/schema.d.ts +698 -20
  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 +104 -1
  55. package/dist/words.js.map +1 -1
  56. package/package.json +2 -2
@@ -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,48 @@
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.
65
90
  */
66
91
  import { z } from 'zod';
67
92
  import { type ColumnShape, type ReferenceIssue, type TableIndex } from './refs.js';
68
93
  /** How far one action reaches: the person's own rows, their teams', or every row (only `while` some value). */
69
94
  export declare const ROW_REACHES: readonly ["own", "team", "all"];
95
+ /**
96
+ * A person a row names: a staff column of the row (`rep_id`), or
97
+ * `<link>.<staff column>`, the staff column of the row one of its links names
98
+ * (`deal_id.owner_id`, the deal's owner).
99
+ */
100
+ export declare const personPathSchema: z.ZodString;
101
+ /**
102
+ * What is wrong with a person path on a table of the manifest, or null: the
103
+ * column is not there, holds no staff member, or (with a link) the first
104
+ * column links nowhere the manifest can read.
105
+ */
106
+ export declare function personPathIssue<C extends ColumnShape>(index: TableIndex<C>, table: string, path: string): string | null;
70
107
  export declare const rowReachSchema: z.ZodObject<{
71
108
  reach: z.ZodEnum<{
72
109
  own: "own";
@@ -79,6 +116,8 @@ export declare const rowReachSchema: z.ZodObject<{
79
116
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
80
117
  }, z.core.$strict>>;
81
118
  by: z.ZodOptional<z.ZodString>;
119
+ notBy: z.ZodOptional<z.ZodString>;
120
+ via: z.ZodOptional<z.ZodString>;
82
121
  }, z.core.$strict>;
83
122
  export type RowReach = z.infer<typeof rowReachSchema>;
84
123
  /** The actions a row limit narrows. A create makes a new row: it is held by the links and people it names. */
@@ -98,6 +137,8 @@ export declare const rowReachesSchema: z.ZodUnion<readonly [z.ZodObject<{
98
137
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
99
138
  }, z.core.$strict>>;
100
139
  by: z.ZodOptional<z.ZodString>;
140
+ notBy: z.ZodOptional<z.ZodString>;
141
+ via: z.ZodOptional<z.ZodString>;
101
142
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
102
143
  reach: z.ZodEnum<{
103
144
  own: "own";
@@ -110,6 +151,8 @@ export declare const rowReachesSchema: z.ZodUnion<readonly [z.ZodObject<{
110
151
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
111
152
  }, z.core.$strict>>;
112
153
  by: z.ZodOptional<z.ZodString>;
154
+ notBy: z.ZodOptional<z.ZodString>;
155
+ via: z.ZodOptional<z.ZodString>;
113
156
  }, z.core.$strict>>]>;
114
157
  export type RowReaches = z.infer<typeof rowReachesSchema>;
115
158
  /** An action's reaches as a list, whether the manifest wrote one or several. */
@@ -128,6 +171,8 @@ export declare const rowsLimitSchema: z.ZodObject<{
128
171
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
129
172
  }, z.core.$strict>>;
130
173
  by: z.ZodOptional<z.ZodString>;
174
+ notBy: z.ZodOptional<z.ZodString>;
175
+ via: z.ZodOptional<z.ZodString>;
131
176
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
132
177
  reach: z.ZodEnum<{
133
178
  own: "own";
@@ -140,6 +185,8 @@ export declare const rowsLimitSchema: z.ZodObject<{
140
185
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
141
186
  }, z.core.$strict>>;
142
187
  by: z.ZodOptional<z.ZodString>;
188
+ notBy: z.ZodOptional<z.ZodString>;
189
+ via: z.ZodOptional<z.ZodString>;
143
190
  }, z.core.$strict>>]>>;
144
191
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
145
192
  reach: z.ZodEnum<{
@@ -153,6 +200,8 @@ export declare const rowsLimitSchema: z.ZodObject<{
153
200
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
154
201
  }, z.core.$strict>>;
155
202
  by: z.ZodOptional<z.ZodString>;
203
+ notBy: z.ZodOptional<z.ZodString>;
204
+ via: z.ZodOptional<z.ZodString>;
156
205
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
157
206
  reach: z.ZodEnum<{
158
207
  own: "own";
@@ -165,6 +214,8 @@ export declare const rowsLimitSchema: z.ZodObject<{
165
214
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
166
215
  }, z.core.$strict>>;
167
216
  by: z.ZodOptional<z.ZodString>;
217
+ notBy: z.ZodOptional<z.ZodString>;
218
+ via: z.ZodOptional<z.ZodString>;
168
219
  }, z.core.$strict>>]>>;
169
220
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
170
221
  reach: z.ZodEnum<{
@@ -178,6 +229,8 @@ export declare const rowsLimitSchema: z.ZodObject<{
178
229
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
179
230
  }, z.core.$strict>>;
180
231
  by: z.ZodOptional<z.ZodString>;
232
+ notBy: z.ZodOptional<z.ZodString>;
233
+ via: z.ZodOptional<z.ZodString>;
181
234
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
182
235
  reach: z.ZodEnum<{
183
236
  own: "own";
@@ -190,6 +243,8 @@ export declare const rowsLimitSchema: z.ZodObject<{
190
243
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
191
244
  }, z.core.$strict>>;
192
245
  by: z.ZodOptional<z.ZodString>;
246
+ notBy: z.ZodOptional<z.ZodString>;
247
+ via: z.ZodOptional<z.ZodString>;
193
248
  }, z.core.$strict>>]>>;
194
249
  }, z.core.$strict>;
195
250
  export type RowsLimit = z.infer<typeof rowsLimitSchema>;
@@ -300,6 +355,8 @@ export declare const roleLimitSchema: z.ZodObject<{
300
355
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
301
356
  }, z.core.$strict>>;
302
357
  by: z.ZodOptional<z.ZodString>;
358
+ notBy: z.ZodOptional<z.ZodString>;
359
+ via: z.ZodOptional<z.ZodString>;
303
360
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
304
361
  reach: z.ZodEnum<{
305
362
  own: "own";
@@ -312,6 +369,8 @@ export declare const roleLimitSchema: z.ZodObject<{
312
369
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
313
370
  }, z.core.$strict>>;
314
371
  by: z.ZodOptional<z.ZodString>;
372
+ notBy: z.ZodOptional<z.ZodString>;
373
+ via: z.ZodOptional<z.ZodString>;
315
374
  }, z.core.$strict>>]>>;
316
375
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
317
376
  reach: z.ZodEnum<{
@@ -325,6 +384,8 @@ export declare const roleLimitSchema: z.ZodObject<{
325
384
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
326
385
  }, z.core.$strict>>;
327
386
  by: z.ZodOptional<z.ZodString>;
387
+ notBy: z.ZodOptional<z.ZodString>;
388
+ via: z.ZodOptional<z.ZodString>;
328
389
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
329
390
  reach: z.ZodEnum<{
330
391
  own: "own";
@@ -337,6 +398,8 @@ export declare const roleLimitSchema: z.ZodObject<{
337
398
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
338
399
  }, z.core.$strict>>;
339
400
  by: z.ZodOptional<z.ZodString>;
401
+ notBy: z.ZodOptional<z.ZodString>;
402
+ via: z.ZodOptional<z.ZodString>;
340
403
  }, z.core.$strict>>]>>;
341
404
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
342
405
  reach: z.ZodEnum<{
@@ -350,6 +413,8 @@ export declare const roleLimitSchema: z.ZodObject<{
350
413
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
351
414
  }, z.core.$strict>>;
352
415
  by: z.ZodOptional<z.ZodString>;
416
+ notBy: z.ZodOptional<z.ZodString>;
417
+ via: z.ZodOptional<z.ZodString>;
353
418
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
354
419
  reach: z.ZodEnum<{
355
420
  own: "own";
@@ -362,6 +427,8 @@ export declare const roleLimitSchema: z.ZodObject<{
362
427
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
363
428
  }, z.core.$strict>>;
364
429
  by: z.ZodOptional<z.ZodString>;
430
+ notBy: z.ZodOptional<z.ZodString>;
431
+ via: z.ZodOptional<z.ZodString>;
365
432
  }, z.core.$strict>>]>>;
366
433
  }, z.core.$strict>>;
367
434
  }, z.core.$strict>;
@@ -387,6 +454,8 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
387
454
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
388
455
  }, z.core.$strict>>;
389
456
  by: z.ZodOptional<z.ZodString>;
457
+ notBy: z.ZodOptional<z.ZodString>;
458
+ via: z.ZodOptional<z.ZodString>;
390
459
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
391
460
  reach: z.ZodEnum<{
392
461
  own: "own";
@@ -399,6 +468,8 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
399
468
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
400
469
  }, z.core.$strict>>;
401
470
  by: z.ZodOptional<z.ZodString>;
471
+ notBy: z.ZodOptional<z.ZodString>;
472
+ via: z.ZodOptional<z.ZodString>;
402
473
  }, z.core.$strict>>]>>;
403
474
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
404
475
  reach: z.ZodEnum<{
@@ -412,6 +483,8 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
412
483
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
413
484
  }, z.core.$strict>>;
414
485
  by: z.ZodOptional<z.ZodString>;
486
+ notBy: z.ZodOptional<z.ZodString>;
487
+ via: z.ZodOptional<z.ZodString>;
415
488
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
416
489
  reach: z.ZodEnum<{
417
490
  own: "own";
@@ -424,6 +497,8 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
424
497
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
425
498
  }, z.core.$strict>>;
426
499
  by: z.ZodOptional<z.ZodString>;
500
+ notBy: z.ZodOptional<z.ZodString>;
501
+ via: z.ZodOptional<z.ZodString>;
427
502
  }, z.core.$strict>>]>>;
428
503
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
429
504
  reach: z.ZodEnum<{
@@ -437,6 +512,8 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
437
512
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
438
513
  }, z.core.$strict>>;
439
514
  by: z.ZodOptional<z.ZodString>;
515
+ notBy: z.ZodOptional<z.ZodString>;
516
+ via: z.ZodOptional<z.ZodString>;
440
517
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
441
518
  reach: z.ZodEnum<{
442
519
  own: "own";
@@ -449,6 +526,8 @@ export declare const roleLimitsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
449
526
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
450
527
  }, z.core.$strict>>;
451
528
  by: z.ZodOptional<z.ZodString>;
529
+ notBy: z.ZodOptional<z.ZodString>;
530
+ via: z.ZodOptional<z.ZodString>;
452
531
  }, z.core.$strict>>]>>;
453
532
  }, z.core.$strict>>;
454
533
  }, z.core.$strict>>;
@@ -471,6 +550,8 @@ export interface BelongsTableShape {
471
550
  export interface RowTables {
472
551
  belongs: (ref: string) => boolean;
473
552
  privateTables: () => readonly string[];
553
+ /** A table's own ways, as written (none for a table with no `belongs`). */
554
+ ways?: (ref: string) => readonly BelongsWay[];
474
555
  }
475
556
  export declare function rowTablesOf(tables: readonly BelongsTableShape[]): RowTables;
476
557
  /**
@@ -516,6 +597,8 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
516
597
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
517
598
  }, z.core.$strict>>;
518
599
  by: z.ZodOptional<z.ZodString>;
600
+ notBy: z.ZodOptional<z.ZodString>;
601
+ via: z.ZodOptional<z.ZodString>;
519
602
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
520
603
  reach: z.ZodEnum<{
521
604
  own: "own";
@@ -528,6 +611,8 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
528
611
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
529
612
  }, z.core.$strict>>;
530
613
  by: z.ZodOptional<z.ZodString>;
614
+ notBy: z.ZodOptional<z.ZodString>;
615
+ via: z.ZodOptional<z.ZodString>;
531
616
  }, z.core.$strict>>]>>;
532
617
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
533
618
  reach: z.ZodEnum<{
@@ -541,6 +626,8 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
541
626
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
542
627
  }, z.core.$strict>>;
543
628
  by: z.ZodOptional<z.ZodString>;
629
+ notBy: z.ZodOptional<z.ZodString>;
630
+ via: z.ZodOptional<z.ZodString>;
544
631
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
545
632
  reach: z.ZodEnum<{
546
633
  own: "own";
@@ -553,6 +640,8 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
553
640
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
554
641
  }, z.core.$strict>>;
555
642
  by: z.ZodOptional<z.ZodString>;
643
+ notBy: z.ZodOptional<z.ZodString>;
644
+ via: z.ZodOptional<z.ZodString>;
556
645
  }, z.core.$strict>>]>>;
557
646
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
558
647
  reach: z.ZodEnum<{
@@ -566,6 +655,8 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
566
655
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
567
656
  }, z.core.$strict>>;
568
657
  by: z.ZodOptional<z.ZodString>;
658
+ notBy: z.ZodOptional<z.ZodString>;
659
+ via: z.ZodOptional<z.ZodString>;
569
660
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
570
661
  reach: z.ZodEnum<{
571
662
  own: "own";
@@ -578,6 +669,8 @@ export declare const roleAddOnTableSchema: z.ZodObject<{
578
669
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
579
670
  }, z.core.$strict>>;
580
671
  by: z.ZodOptional<z.ZodString>;
672
+ notBy: z.ZodOptional<z.ZodString>;
673
+ via: z.ZodOptional<z.ZodString>;
581
674
  }, z.core.$strict>>]>>;
582
675
  }, z.core.$strict>>;
583
676
  }, z.core.$strict>>;
@@ -611,6 +704,8 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
611
704
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
612
705
  }, z.core.$strict>>;
613
706
  by: z.ZodOptional<z.ZodString>;
707
+ notBy: z.ZodOptional<z.ZodString>;
708
+ via: z.ZodOptional<z.ZodString>;
614
709
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
615
710
  reach: z.ZodEnum<{
616
711
  own: "own";
@@ -623,6 +718,8 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
623
718
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
624
719
  }, z.core.$strict>>;
625
720
  by: z.ZodOptional<z.ZodString>;
721
+ notBy: z.ZodOptional<z.ZodString>;
722
+ via: z.ZodOptional<z.ZodString>;
626
723
  }, z.core.$strict>>]>>;
627
724
  update: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
628
725
  reach: z.ZodEnum<{
@@ -636,6 +733,8 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
636
733
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
637
734
  }, z.core.$strict>>;
638
735
  by: z.ZodOptional<z.ZodString>;
736
+ notBy: z.ZodOptional<z.ZodString>;
737
+ via: z.ZodOptional<z.ZodString>;
639
738
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
640
739
  reach: z.ZodEnum<{
641
740
  own: "own";
@@ -648,6 +747,8 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
648
747
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
649
748
  }, z.core.$strict>>;
650
749
  by: z.ZodOptional<z.ZodString>;
750
+ notBy: z.ZodOptional<z.ZodString>;
751
+ via: z.ZodOptional<z.ZodString>;
651
752
  }, z.core.$strict>>]>>;
652
753
  delete: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
653
754
  reach: z.ZodEnum<{
@@ -661,6 +762,8 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
661
762
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
662
763
  }, z.core.$strict>>;
663
764
  by: z.ZodOptional<z.ZodString>;
765
+ notBy: z.ZodOptional<z.ZodString>;
766
+ via: z.ZodOptional<z.ZodString>;
664
767
  }, z.core.$strict>, z.ZodArray<z.ZodObject<{
665
768
  reach: z.ZodEnum<{
666
769
  own: "own";
@@ -673,6 +776,8 @@ export declare const roleAddOnTablesSchema: z.ZodArray<z.ZodObject<{
673
776
  in: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
674
777
  }, z.core.$strict>>;
675
778
  by: z.ZodOptional<z.ZodString>;
779
+ notBy: z.ZodOptional<z.ZodString>;
780
+ via: z.ZodOptional<z.ZodString>;
676
781
  }, z.core.$strict>>]>>;
677
782
  }, z.core.$strict>>;
678
783
  }, z.core.$strict>>;
@@ -687,7 +792,8 @@ export declare function roleAddOnTableIssues(roles: readonly {
687
792
  * from under it, or lean on it and stop working: each is refused where it is
688
793
  * written. A private table's rows are read on the screen by the people they
689
794
  * belong to; nothing is kept from them elsewhere, nothing else is reached
690
- * through them, and nothing Adminium does by itself runs on them.
795
+ * through them but by those same people, and nothing Adminium does by itself
796
+ * runs on them.
691
797
  */
692
798
  export declare function privateShapeIssues(tables: readonly {
693
799
  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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"}