@substrat-run/contract-tests 0.139.0 → 0.141.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 (106) hide show
  1. package/dist/attachment-text-suite.d.ts.map +1 -1
  2. package/dist/attachment-text-suite.js +12 -4
  3. package/dist/attachment-text-suite.js.map +1 -1
  4. package/dist/capability-attachment-suite.d.ts.map +1 -1
  5. package/dist/capability-attachment-suite.js +84 -4
  6. package/dist/capability-attachment-suite.js.map +1 -1
  7. package/dist/capability-expiry-suite.d.ts.map +1 -1
  8. package/dist/capability-expiry-suite.js +6 -2
  9. package/dist/capability-expiry-suite.js.map +1 -1
  10. package/dist/capability-suite.d.ts.map +1 -1
  11. package/dist/capability-suite.js +9 -0
  12. package/dist/capability-suite.js.map +1 -1
  13. package/dist/caused-by-suite.d.ts.map +1 -1
  14. package/dist/caused-by-suite.js +54 -10
  15. package/dist/caused-by-suite.js.map +1 -1
  16. package/dist/connect-link-suite.d.ts +19 -0
  17. package/dist/connect-link-suite.d.ts.map +1 -0
  18. package/dist/connect-link-suite.js +215 -0
  19. package/dist/connect-link-suite.js.map +1 -0
  20. package/dist/entity-state-migration-suite.d.ts +16 -0
  21. package/dist/entity-state-migration-suite.d.ts.map +1 -0
  22. package/dist/entity-state-migration-suite.js +305 -0
  23. package/dist/entity-state-migration-suite.js.map +1 -0
  24. package/dist/entity-state-module.d.ts +183 -0
  25. package/dist/entity-state-module.d.ts.map +1 -1
  26. package/dist/entity-state-module.js +139 -1
  27. package/dist/entity-state-module.js.map +1 -1
  28. package/dist/entity-state-suite.d.ts.map +1 -1
  29. package/dist/entity-state-suite.js +35 -12
  30. package/dist/entity-state-suite.js.map +1 -1
  31. package/dist/entity-trash-module.d.ts +439 -0
  32. package/dist/entity-trash-module.d.ts.map +1 -0
  33. package/dist/entity-trash-module.js +287 -0
  34. package/dist/entity-trash-module.js.map +1 -0
  35. package/dist/entity-trash-suite.d.ts +59 -0
  36. package/dist/entity-trash-suite.d.ts.map +1 -0
  37. package/dist/entity-trash-suite.js +568 -0
  38. package/dist/entity-trash-suite.js.map +1 -0
  39. package/dist/erasure-module.d.ts +259 -0
  40. package/dist/erasure-module.d.ts.map +1 -0
  41. package/dist/erasure-module.js +251 -0
  42. package/dist/erasure-module.js.map +1 -0
  43. package/dist/index.d.ts +13 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +13 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/job-run-suite.d.ts.map +1 -1
  48. package/dist/job-run-suite.js +29 -15
  49. package/dist/job-run-suite.js.map +1 -1
  50. package/dist/list-suite.d.ts.map +1 -1
  51. package/dist/list-suite.js +101 -1
  52. package/dist/list-suite.js.map +1 -1
  53. package/dist/membership-executor-suite.d.ts.map +1 -1
  54. package/dist/membership-executor-suite.js +60 -9
  55. package/dist/membership-executor-suite.js.map +1 -1
  56. package/dist/migration-comments-suite.d.ts +3 -0
  57. package/dist/migration-comments-suite.d.ts.map +1 -0
  58. package/dist/migration-comments-suite.js +92 -0
  59. package/dist/migration-comments-suite.js.map +1 -0
  60. package/dist/migration-comments.d.ts +3 -0
  61. package/dist/migration-comments.d.ts.map +1 -0
  62. package/dist/migration-comments.js +50 -0
  63. package/dist/migration-comments.js.map +1 -0
  64. package/dist/migration-digest-suite.d.ts +3 -0
  65. package/dist/migration-digest-suite.d.ts.map +1 -0
  66. package/dist/migration-digest-suite.js +175 -0
  67. package/dist/migration-digest-suite.js.map +1 -0
  68. package/dist/modules.d.ts +542 -0
  69. package/dist/modules.d.ts.map +1 -1
  70. package/dist/modules.js +167 -7
  71. package/dist/modules.js.map +1 -1
  72. package/dist/peer-suite.d.ts +2 -1
  73. package/dist/peer-suite.d.ts.map +1 -1
  74. package/dist/peer-suite.js +103 -1
  75. package/dist/peer-suite.js.map +1 -1
  76. package/dist/permission-suite.d.ts.map +1 -1
  77. package/dist/permission-suite.js +515 -2
  78. package/dist/permission-suite.js.map +1 -1
  79. package/dist/schedule-suite.d.ts +4 -1
  80. package/dist/schedule-suite.d.ts.map +1 -1
  81. package/dist/schedule-suite.js +150 -2
  82. package/dist/schedule-suite.js.map +1 -1
  83. package/dist/scope-host-suite.d.ts.map +1 -1
  84. package/dist/scope-host-suite.js +215 -2
  85. package/dist/scope-host-suite.js.map +1 -1
  86. package/dist/split-cases.d.ts +12 -0
  87. package/dist/split-cases.d.ts.map +1 -0
  88. package/dist/split-cases.js +59 -0
  89. package/dist/split-cases.js.map +1 -0
  90. package/dist/subject-erasure-suite.d.ts +6 -0
  91. package/dist/subject-erasure-suite.d.ts.map +1 -0
  92. package/dist/subject-erasure-suite.js +287 -0
  93. package/dist/subject-erasure-suite.js.map +1 -0
  94. package/dist/switch-audit-fault.d.ts +48 -0
  95. package/dist/switch-audit-fault.d.ts.map +1 -0
  96. package/dist/switch-audit-fault.js +80 -0
  97. package/dist/switch-audit-fault.js.map +1 -0
  98. package/dist/system-switch-suite.d.ts +2 -1
  99. package/dist/system-switch-suite.d.ts.map +1 -1
  100. package/dist/system-switch-suite.js +90 -0
  101. package/dist/system-switch-suite.js.map +1 -1
  102. package/dist/vertical-events-suite.d.ts +41 -0
  103. package/dist/vertical-events-suite.d.ts.map +1 -1
  104. package/dist/vertical-events-suite.js +55 -0
  105. package/dist/vertical-events-suite.js.map +1 -1
  106. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-trash-suite.js","sourceRoot":"","sources":["../src/entity-trash-suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * The fixture behind `subjectErasureContractSuite` (#2068): a module whose entities differ in
3
+ * exactly how an erasure reaches them, declared through `defineEntities` and turned into the
4
+ * manifest by `manifestEntities` — the path a vertical takes — so the suite exercises the
5
+ * derivation as well as the kernel.
6
+ *
7
+ * - `erperson` — blank, keyed by its own id: a nullable field becomes NULL, a NOT NULL one ''.
8
+ * - `ernote` — blank, keyed by a second column (`author`), and SEARCHABLE over its body, so the
9
+ * suite can see an erased word leave the index and the index's shadow tables.
10
+ * - `ersignup` — delete: its erasable `email` is in its `key`, so a blank would collide.
11
+ * - `errating` — custom: reached only through the note it rates, which the hook follows.
12
+ * - `erloose` — erasable and declaring nothing, so every receipt names it unreached.
13
+ * - `erbomb` — not erasable: the switchboard the suite uses to make the hook misbehave for ONE
14
+ * subject (throw, read the spine, read another module, run a PRAGMA, return a promise),
15
+ * so every other subject in every other suite is erased normally.
16
+ *
17
+ * `@test/erasure-other` owns one table and nothing erasable: the "another module" a hook must
18
+ * not reach.
19
+ *
20
+ * Every operation is a thin pass-through and checks nothing itself; the erasure is a staff
21
+ * verb, and the operations exist only to set up and read back the rows it acts on.
22
+ */
23
+ import { z } from 'zod';
24
+ import type { ModuleRegistration } from '@substrat-run/kernel';
25
+ export declare const erasureEntities: {
26
+ readonly erperson: {
27
+ readonly table: "er_people";
28
+ readonly fields: z.ZodObject<{
29
+ id: z.ZodString;
30
+ email: z.ZodNullable<z.ZodString>;
31
+ name: z.ZodString;
32
+ }, z.core.$strip>;
33
+ readonly erasable: readonly ["email", "name"];
34
+ readonly erasure: {
35
+ readonly subjects: readonly ["id"];
36
+ };
37
+ };
38
+ readonly ernote: {
39
+ readonly table: "er_notes";
40
+ readonly fields: z.ZodObject<{
41
+ id: z.ZodString;
42
+ author: z.ZodNullable<z.ZodString>;
43
+ editor: z.ZodNullable<z.ZodString>;
44
+ title: z.ZodNullable<z.ZodString>;
45
+ body: z.ZodString;
46
+ }, z.core.$strip>;
47
+ readonly erasable: readonly ["title", "body"];
48
+ readonly erasure: {
49
+ readonly subjects: readonly ["author", "editor"];
50
+ };
51
+ };
52
+ readonly ersignup: {
53
+ readonly table: "er_signups";
54
+ readonly fields: z.ZodObject<{
55
+ id: z.ZodString;
56
+ kind: z.ZodString;
57
+ email: z.ZodString;
58
+ }, z.core.$strip>;
59
+ readonly key: readonly ["kind", "email"];
60
+ readonly erasable: readonly ["email"];
61
+ readonly erasure: {
62
+ readonly subjects: readonly ["id"];
63
+ readonly mode: "delete";
64
+ };
65
+ };
66
+ readonly errating: {
67
+ readonly table: "er_ratings";
68
+ readonly fields: z.ZodObject<{
69
+ note_id: z.ZodString;
70
+ comment: z.ZodNullable<z.ZodString>;
71
+ }, z.core.$strip>;
72
+ readonly primaryKey: readonly ["note_id"];
73
+ readonly erasable: readonly ["comment"];
74
+ readonly erasure: {
75
+ readonly mode: "custom";
76
+ };
77
+ };
78
+ readonly erloose: {
79
+ readonly table: "er_loose";
80
+ readonly fields: z.ZodObject<{
81
+ id: z.ZodString;
82
+ memo: z.ZodNullable<z.ZodString>;
83
+ }, z.core.$strip>;
84
+ readonly erasable: readonly ["memo"];
85
+ };
86
+ readonly erbomb: {
87
+ readonly table: "er_bombs";
88
+ readonly fields: z.ZodObject<{
89
+ subject: z.ZodString;
90
+ kind: z.ZodString;
91
+ }, z.core.$strip>;
92
+ readonly primaryKey: readonly ["subject"];
93
+ };
94
+ };
95
+ export declare const erasureModManifest: {
96
+ id: string & z.$brand<"ModuleId">;
97
+ version: string;
98
+ kernelContract: string;
99
+ permissions: {
100
+ key: string & z.$brand<"PermissionKey">;
101
+ description: string;
102
+ }[];
103
+ events: {
104
+ emits: {
105
+ type: string;
106
+ schemaVersion: number;
107
+ }[];
108
+ consumes: {
109
+ type: string;
110
+ schemaVersion: number;
111
+ from?: string | undefined;
112
+ }[];
113
+ exports?: {
114
+ type: string;
115
+ schemaVersion: number;
116
+ readPermission: string & z.$brand<"PermissionKey">;
117
+ }[] | undefined;
118
+ };
119
+ migrations: {
120
+ journalDir: string;
121
+ compatibleFrom: string;
122
+ };
123
+ attachmentTargets: {
124
+ entityType: string;
125
+ readPermission: string & z.$brand<"PermissionKey">;
126
+ writePermission?: (string & z.$brand<"PermissionKey">) | undefined;
127
+ }[];
128
+ liveTargets?: {
129
+ entityType: string;
130
+ readPermission: string & z.$brand<"PermissionKey">;
131
+ }[] | undefined;
132
+ entityRelations?: {
133
+ entityType: string;
134
+ parentType: string;
135
+ }[] | undefined;
136
+ guards?: {
137
+ before: string;
138
+ predicate: string;
139
+ config: Record<string, unknown>;
140
+ }[] | undefined;
141
+ schedules?: {
142
+ operation: string;
143
+ cadence: {
144
+ everyMinutes: number;
145
+ };
146
+ input?: Record<string, unknown> | undefined;
147
+ permissions: (string & z.$brand<"PermissionKey">)[];
148
+ purge?: {
149
+ entityType: string;
150
+ } | undefined;
151
+ }[] | undefined;
152
+ peers?: {
153
+ vertical: string;
154
+ operations: string[];
155
+ permissions: (string & z.$brand<"PermissionKey">)[];
156
+ }[] | undefined;
157
+ freshness?: {
158
+ eventType: string;
159
+ within: {
160
+ hours: number;
161
+ };
162
+ }[] | undefined;
163
+ withdraws?: string[] | undefined;
164
+ entitlementKey: string;
165
+ envSpec?: {
166
+ key: string;
167
+ label?: string | undefined;
168
+ description: string;
169
+ placeholder?: string | undefined;
170
+ required: boolean;
171
+ secret: boolean;
172
+ default?: string | undefined;
173
+ group?: string | undefined;
174
+ }[] | undefined;
175
+ ownerGrants?: (string & z.$brand<"PermissionKey">)[] | undefined;
176
+ entitlements?: string[] | undefined;
177
+ provides?: string[] | undefined;
178
+ requires?: string[] | undefined;
179
+ api?: string | undefined;
180
+ searchables?: {
181
+ entityType: string;
182
+ fields: string[];
183
+ table?: string | undefined;
184
+ idColumn?: string | undefined;
185
+ tokenizer?: "prefix" | "substring" | undefined;
186
+ }[] | undefined;
187
+ lists?: {
188
+ entityType: string;
189
+ sortable: string[];
190
+ filterable?: string[] | undefined;
191
+ table?: string | undefined;
192
+ idColumn?: string | undefined;
193
+ }[] | undefined;
194
+ entityStates?: {
195
+ archivePermission?: (string & z.$brand<"PermissionKey">) | undefined;
196
+ trashPermission?: (string & z.$brand<"PermissionKey">) | undefined;
197
+ purgeAfterDays?: number | undefined;
198
+ table?: string | undefined;
199
+ idColumn?: string | undefined;
200
+ entityType: string;
201
+ }[] | undefined;
202
+ erasure?: {
203
+ tables: string[];
204
+ entities: {
205
+ entityType: string;
206
+ table: string;
207
+ mode: "blank" | "custom" | "delete" | "unreached";
208
+ subjects?: string[] | undefined;
209
+ fields: {
210
+ name: string;
211
+ blank: "" | null;
212
+ }[];
213
+ }[];
214
+ } | undefined;
215
+ ui?: {
216
+ routes?: {
217
+ path: string;
218
+ screen: string;
219
+ permission: string & z.$brand<"PermissionKey">;
220
+ }[] | undefined;
221
+ nav?: {
222
+ label: string;
223
+ icon?: string | undefined;
224
+ to: string;
225
+ permission: string & z.$brand<"PermissionKey">;
226
+ }[] | undefined;
227
+ entityViews?: {
228
+ entityType: string;
229
+ view: string;
230
+ }[] | undefined;
231
+ widgets?: {
232
+ slot: string;
233
+ component: string;
234
+ permission: string & z.$brand<"PermissionKey">;
235
+ }[] | undefined;
236
+ settingsPanels?: {
237
+ label: string;
238
+ component: string;
239
+ permission: string & z.$brand<"PermissionKey">;
240
+ }[] | undefined;
241
+ } | undefined;
242
+ };
243
+ export declare const erasureMod: ModuleRegistration;
244
+ export declare const erasureOtherMod: ModuleRegistration;
245
+ /**
246
+ * A module whose model claims a table its migrations never create — `er_other`, which belongs
247
+ * to `@test/erasure-other`. Registering it must be refused: its declared blank would otherwise
248
+ * run against another module's rows through the kernel's own handle.
249
+ */
250
+ export declare const erasureMisdeclaredMod: ModuleRegistration;
251
+ /**
252
+ * A module whose migration says `CREATE TABLE IF NOT EXISTS er_other` — `@test/erasure-other`'s
253
+ * table, which already exists — and whose model then declares an erasure on it. The migration
254
+ * text reads as a creation, so registration lets it through; the scope records nothing for it,
255
+ * and the erasure refuses. Not in `contractTestModules`: on every scope it would refuse every
256
+ * other suite's erasure. `adapter-sqlite/test/erasure-ownership.test.ts` mounts it alone.
257
+ */
258
+ export declare const erasureSquatterMod: ModuleRegistration;
259
+ //# sourceMappingURL=erasure-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erasure-module.d.ts","sourceRoot":"","sources":["../src/erasure-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,kBAAkB,EAAqC,MAAM,sBAAsB,CAAC;AAElG,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW7B,CAAC;AAqFH,eAAO,MAAM,UAAU,EAAE,kBA+BxB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,kBAY7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,kBAsBnC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAsBhC,CAAC"}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * The fixture behind `subjectErasureContractSuite` (#2068): a module whose entities differ in
3
+ * exactly how an erasure reaches them, declared through `defineEntities` and turned into the
4
+ * manifest by `manifestEntities` — the path a vertical takes — so the suite exercises the
5
+ * derivation as well as the kernel.
6
+ *
7
+ * - `erperson` — blank, keyed by its own id: a nullable field becomes NULL, a NOT NULL one ''.
8
+ * - `ernote` — blank, keyed by a second column (`author`), and SEARCHABLE over its body, so the
9
+ * suite can see an erased word leave the index and the index's shadow tables.
10
+ * - `ersignup` — delete: its erasable `email` is in its `key`, so a blank would collide.
11
+ * - `errating` — custom: reached only through the note it rates, which the hook follows.
12
+ * - `erloose` — erasable and declaring nothing, so every receipt names it unreached.
13
+ * - `erbomb` — not erasable: the switchboard the suite uses to make the hook misbehave for ONE
14
+ * subject (throw, read the spine, read another module, run a PRAGMA, return a promise),
15
+ * so every other subject in every other suite is erased normally.
16
+ *
17
+ * `@test/erasure-other` owns one table and nothing erasable: the "another module" a hook must
18
+ * not reach.
19
+ *
20
+ * Every operation is a thin pass-through and checks nothing itself; the erasure is a staff
21
+ * verb, and the operations exist only to set up and read back the rows it acts on.
22
+ */
23
+ import { z } from 'zod';
24
+ import { dataSubjectId, defineEntities, manifestEntities, moduleManifest } from '@substrat-run/contracts';
25
+ export const erasureEntities = defineEntities({
26
+ erperson: {
27
+ table: 'er_people',
28
+ fields: z.object({ id: z.string(), email: z.string().nullable(), name: z.string() }),
29
+ erasable: ['email', 'name'],
30
+ erasure: { subjects: ['id'] },
31
+ },
32
+ ernote: {
33
+ table: 'er_notes',
34
+ fields: z.object({
35
+ id: z.string(),
36
+ author: z.string().nullable(),
37
+ editor: z.string().nullable(),
38
+ title: z.string().nullable(),
39
+ body: z.string(),
40
+ }),
41
+ erasable: ['title', 'body'],
42
+ erasure: { subjects: ['author', 'editor'] },
43
+ },
44
+ ersignup: {
45
+ table: 'er_signups',
46
+ fields: z.object({ id: z.string(), kind: z.string(), email: z.string() }),
47
+ key: ['kind', 'email'],
48
+ erasable: ['email'],
49
+ erasure: { subjects: ['id'], mode: 'delete' },
50
+ },
51
+ errating: {
52
+ table: 'er_ratings',
53
+ fields: z.object({ note_id: z.string(), comment: z.string().nullable() }),
54
+ primaryKey: ['note_id'],
55
+ erasable: ['comment'],
56
+ erasure: { mode: 'custom' },
57
+ },
58
+ erloose: {
59
+ table: 'er_loose',
60
+ fields: z.object({ id: z.string(), memo: z.string().nullable() }),
61
+ erasable: ['memo'],
62
+ },
63
+ erbomb: {
64
+ table: 'er_bombs',
65
+ fields: z.object({ subject: z.string(), kind: z.string() }),
66
+ primaryKey: ['subject'],
67
+ },
68
+ });
69
+ export const erasureModManifest = moduleManifest.parse({
70
+ id: '@test/erasure',
71
+ version: '1.0.0',
72
+ kernelContract: '^0.0.1',
73
+ permissions: [],
74
+ events: { emits: [{ type: 'erasure.noted', schemaVersion: 1 }], consumes: [] },
75
+ migrations: { journalDir: './migrations', compatibleFrom: '1.0.0' },
76
+ entitlementKey: 'erasure',
77
+ ...manifestEntities(erasureEntities, {
78
+ searchables: [{ entityType: 'ernote', fields: ['body'] }],
79
+ }),
80
+ });
81
+ /** The tables `@test/erasure` owns, as its migration creates them. */
82
+ const ERASURE_DDL = `
83
+ CREATE TABLE er_people (id TEXT PRIMARY KEY, email TEXT, name TEXT NOT NULL);
84
+ CREATE TABLE er_notes (id TEXT PRIMARY KEY, author TEXT, editor TEXT, title TEXT, body TEXT NOT NULL);
85
+ CREATE TABLE er_signups (id TEXT PRIMARY KEY, kind TEXT NOT NULL, email TEXT NOT NULL, UNIQUE (kind, email));
86
+ CREATE TABLE er_ratings (note_id TEXT PRIMARY KEY, comment TEXT);
87
+ CREATE TABLE er_loose (id TEXT PRIMARY KEY, memo TEXT);
88
+ CREATE TABLE er_bombs (subject TEXT PRIMARY KEY, kind TEXT NOT NULL);
89
+ -- IF NOT EXISTS: the kit's wipe and restore paths replay this migration onto a store whose
90
+ -- tables were dropped and replayed, and a view is not a table they touch.
91
+ CREATE VIEW IF NOT EXISTS er_view AS SELECT id, memo FROM er_loose;
92
+ `;
93
+ /**
94
+ * The hook: a rating is the subject's when the note it rates was written by them. Idempotent —
95
+ * it touches only ratings still holding a comment — and synchronous, unless `er_bombs` tells it
96
+ * to misbehave for this subject.
97
+ */
98
+ const onSubjectErased = (ctx, { subjectId }) => {
99
+ const bomb = ctx.sql.query('SELECT kind FROM er_bombs WHERE subject = ?', [subjectId])[0];
100
+ // Looks before it writes: a hook's write makes the kernel switch the module's search indexes
101
+ // to secure-delete for the erasure, which an erasure holding nothing here need not do.
102
+ const held = ctx.sql.query(`SELECT note_id FROM er_ratings
103
+ WHERE comment IS NOT NULL AND note_id IN (SELECT id FROM er_notes WHERE author = ?)`, [subjectId]);
104
+ if (held.length > 0) {
105
+ ctx.sql.exec(`UPDATE er_ratings SET comment = NULL
106
+ WHERE comment IS NOT NULL AND note_id IN (SELECT id FROM er_notes WHERE author = ?)`, [subjectId]);
107
+ }
108
+ switch (bomb?.kind) {
109
+ case 'throw':
110
+ throw new Error('the hook failed half-way');
111
+ case 'spine':
112
+ ctx.sql.query('SELECT payload FROM _substrat_outbox');
113
+ break;
114
+ case 'foreign':
115
+ ctx.sql.query('SELECT * FROM er_other');
116
+ break;
117
+ case 'pragma':
118
+ ctx.sql.query('PRAGMA table_info(er_notes)');
119
+ break;
120
+ case 'chained':
121
+ ctx.sql.exec('UPDATE er_loose SET memo = NULL WHERE id = ?; DELETE FROM er_other', [subjectId]);
122
+ break;
123
+ case 'view':
124
+ // A view the module's own migration created is still not one of its tables.
125
+ ctx.sql.query('SELECT memo FROM er_view');
126
+ break;
127
+ case 'cte':
128
+ ctx.sql.query('WITH er_notes AS (SELECT secret AS body FROM er_other) SELECT body FROM er_notes');
129
+ break;
130
+ case 'comma':
131
+ ctx.sql.query('SELECT * FROM (SELECT 1 AS one) AS a, er_other');
132
+ break;
133
+ case 'async':
134
+ return Promise.resolve();
135
+ case 'generator':
136
+ // A generator hook: calling it returns an iterator and runs none of its body.
137
+ return (function* () {
138
+ ctx.sql.exec("UPDATE er_loose SET memo = 'never runs' WHERE id = ?", [subjectId]);
139
+ })();
140
+ case 'value':
141
+ return 1;
142
+ case 'async-write':
143
+ // Refused for returning a promise; its continuation then tries to write anyway.
144
+ return (async () => {
145
+ await Promise.resolve();
146
+ ctx.sql.exec("UPDATE er_loose SET memo = 'written after the erasure' WHERE id = ?", [subjectId]);
147
+ })();
148
+ case 'stash':
149
+ // Keeps the handle where a later operation can reach it.
150
+ globalThis.__erasureStash = ctx.sql;
151
+ break;
152
+ }
153
+ };
154
+ export const erasureMod = {
155
+ manifest: erasureModManifest,
156
+ migrations: [{ version: '0001-init', sql: ERASURE_DDL }],
157
+ operations: {
158
+ /** Write a fixture row: `{ sql, params }` against the module's own tables. */
159
+ 'erasure/put': ((ctx, input) => {
160
+ ctx.sql.exec(input.sql, input.params ?? []);
161
+ }),
162
+ /** Read rows back: `{ sql, params }`. */
163
+ 'erasure/read': ((ctx, input) => ctx.sql.query(input.sql, input.params ?? [])),
164
+ 'erasure/search': ((ctx, input) => ctx.search('ernote', input.term)),
165
+ /** Use a hook's `ctx.sql` that a hook stashed on a global, after its erasure finished. */
166
+ 'erasure/use-stash': ((_ctx, input) => {
167
+ const stash = globalThis.__erasureStash;
168
+ if (!stash)
169
+ throw new Error('nothing stashed');
170
+ stash.exec("UPDATE er_loose SET memo = 'written through a stashed handle' WHERE id = ?", [input.subject]);
171
+ }),
172
+ /** A classified event about the subject, so the spine half of a rolled-back erasure is visible. */
173
+ 'erasure/emit': ((ctx, input) => {
174
+ ctx.emit({
175
+ type: 'erasure.noted',
176
+ schemaVersion: 1,
177
+ entity: { entityType: 'erperson', entityId: input.subject },
178
+ piiClass: 'pseudonymous',
179
+ subjectId: dataSubjectId.parse(input.subject),
180
+ payload: { secret: input.secret },
181
+ });
182
+ }),
183
+ },
184
+ onSubjectErased,
185
+ };
186
+ export const erasureOtherMod = {
187
+ manifest: moduleManifest.parse({
188
+ id: '@test/erasure-other',
189
+ version: '1.0.0',
190
+ kernelContract: '^0.0.1',
191
+ permissions: [],
192
+ events: { emits: [], consumes: [] },
193
+ migrations: { journalDir: './migrations', compatibleFrom: '1.0.0' },
194
+ attachmentTargets: [],
195
+ entitlementKey: 'erasure-other',
196
+ }),
197
+ migrations: [{ version: '0001-init', sql: 'CREATE TABLE er_other (id TEXT PRIMARY KEY, secret TEXT);' }],
198
+ };
199
+ /**
200
+ * A module whose model claims a table its migrations never create — `er_other`, which belongs
201
+ * to `@test/erasure-other`. Registering it must be refused: its declared blank would otherwise
202
+ * run against another module's rows through the kernel's own handle.
203
+ */
204
+ export const erasureMisdeclaredMod = {
205
+ manifest: moduleManifest.parse({
206
+ id: '@test/erasure-misdeclared',
207
+ version: '1.0.0',
208
+ kernelContract: '^0.0.1',
209
+ permissions: [],
210
+ events: { emits: [], consumes: [] },
211
+ migrations: { journalDir: './migrations', compatibleFrom: '1.0.0' },
212
+ entitlementKey: 'erasure-misdeclared',
213
+ ...manifestEntities(defineEntities({
214
+ stolen: {
215
+ table: 'er_other',
216
+ fields: z.object({ id: z.string(), secret: z.string().nullable() }),
217
+ erasable: ['secret'],
218
+ erasure: { subjects: ['id'] },
219
+ },
220
+ }), {}),
221
+ }),
222
+ migrations: [{ version: '0001-init', sql: 'CREATE TABLE er_misdeclared_own (id TEXT PRIMARY KEY);' }],
223
+ };
224
+ /**
225
+ * A module whose migration says `CREATE TABLE IF NOT EXISTS er_other` — `@test/erasure-other`'s
226
+ * table, which already exists — and whose model then declares an erasure on it. The migration
227
+ * text reads as a creation, so registration lets it through; the scope records nothing for it,
228
+ * and the erasure refuses. Not in `contractTestModules`: on every scope it would refuse every
229
+ * other suite's erasure. `adapter-sqlite/test/erasure-ownership.test.ts` mounts it alone.
230
+ */
231
+ export const erasureSquatterMod = {
232
+ manifest: moduleManifest.parse({
233
+ id: '@test/erasure-squatter',
234
+ version: '1.0.0',
235
+ kernelContract: '^0.0.1',
236
+ permissions: [],
237
+ events: { emits: [], consumes: [] },
238
+ migrations: { journalDir: './migrations', compatibleFrom: '1.0.0' },
239
+ entitlementKey: 'erasure-squatter',
240
+ ...manifestEntities(defineEntities({
241
+ other: {
242
+ table: 'er_other',
243
+ fields: z.object({ id: z.string(), secret: z.string().nullable() }),
244
+ erasable: ['secret'],
245
+ erasure: { subjects: ['id'] },
246
+ },
247
+ }), {}),
248
+ }),
249
+ migrations: [{ version: '0001', sql: 'CREATE TABLE IF NOT EXISTS er_other (id TEXT PRIMARY KEY, secret TEXT);' }],
250
+ };
251
+ //# sourceMappingURL=erasure-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erasure-module.js","sourceRoot":"","sources":["../src/erasure-module.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -20,10 +20,17 @@ export { moduleLogContractSuite } from './module-log-suite.js';
20
20
  export { asyncLogContractSuite, type AsyncLogFixture } from './async-log-suite.js';
21
21
  export { idempotencyContractSuite } from './idempotency-suite.js';
22
22
  export { listContractSuite } from './list-suite.js';
23
+ export { migrationDigestContractSuite } from './migration-digest-suite.js';
23
24
  export { entityStateContractSuite } from './entity-state-suite.js';
25
+ export { entityStateMigrationContractSuite, type RawScopeAccess } from './entity-state-migration-suite.js';
24
26
  export { stateMod } from './entity-state-module.js';
27
+ export { trashMod, TRASH_MODULE_ID, TBOX_PURGE_DAYS } from './entity-trash-module.js';
28
+ export { entityTrashContractSuite } from './entity-trash-suite.js';
29
+ export { subjectErasureContractSuite, type RawScopeQuery } from './subject-erasure-suite.js';
30
+ export { erasureOtherMod, erasureSquatterMod } from './erasure-module.js';
25
31
  export { scheduleContractSuite } from './schedule-suite.js';
26
32
  export { inertScopeContractSuite } from './inert-scope-suite.js';
33
+ export { connectLinkContractSuite } from './connect-link-suite.js';
27
34
  export { causedByContractSuite, scopeCausedByContractSuite } from './caused-by-suite.js';
28
35
  export { causedByMod } from './caused-by-module.js';
29
36
  export { membershipExecutorContractSuite } from './membership-executor-suite.js';
@@ -35,6 +42,8 @@ export { jobRunContractSuite } from './job-run-suite.js';
35
42
  export { systemSwitchContractSuite } from './system-switch-suite.js';
36
43
  export { verticalEventsContractSuite, crmExportMod, crmExportModManifest, boardImportMod, boardImportModManifest, CRM_VERTICAL, BOARD_VERTICAL, type VerticalEventsFixture, } from './vertical-events-suite.js';
37
44
  export { peerContractSuite, verticalResolutionContractSuite } from './peer-suite.js';
45
+ export { adminRowFaultSql, switchRecordFaultSql } from './switch-audit-fault.js';
46
+ export type { AdminRowFault } from './switch-audit-fault.js';
38
47
  export { inputParseContractSuite } from './input-parse-suite.js';
39
48
  export { spineGuardContractSuite } from './spine-guard-suite.js';
40
49
  export { scopeRepointContractSuite } from './scope-repoint-suite.js';
@@ -48,7 +57,10 @@ export { nodeOnlySuite, declaredNodeOnlySuite } from './node-only-suite.js';
48
57
  export type { NodeOnlyOptions } from './node-only-suite.js';
49
58
  export { declareEntityChecks, declareNodeOnly, assertNodeOnly } from './conformance.js';
50
59
  export type { ConformanceDeclaration, DrivenConformance, DeclaredNodeOnlyConformance, AssertedNodeOnlyConformance, } from './conformance.js';
51
- export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, liveMod, liveModManifest, permMod, capMod, capModManifest, peerMod, peerModManifest, PEER_CALLER, PEER_LISTENER, scheduleMod, composedEngineMod, composerMod, jobsMod, testMod, freshnessMod, searchMod, searchModManifest, listDeclaredOps, listMod, listModManifest, parseMod, parseModManifest, spineParentMod, ownParentMod, PRE_GUARD_REFUSALS_DDL, } from './modules.js';
60
+ export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, liveMod, liveModManifest, permMod, capMod, capModManifest, peerMod, peerModManifest, PEER_CALLER, PEER_LISTENER, scheduleMod, composedEngineMod, composerMod, jobsMod, testMod, freshnessMod, searchMod, searchModManifest, listDeclaredOps, listMod, listModManifest, parseMod, parseModManifest, spineParentMod, journalFenceDropMod, journalWriteMod, spineDropMod, spineShadowMod, ownParentMod, PRE_GUARD_REFUSALS_DDL, } from './modules.js';
52
61
  export { connectorCalls, connectorTestFetch, resetConnectorCalls, type ConnectorCall, } from './connector-fixture.js';
53
62
  export { directoryRestoreSuite, type DirectoryRestoreHarness, type RestorableDirectory } from './directory-restore-suite.js';
63
+ export { SPLIT_CASES } from './split-cases.js';
64
+ export { migrationCommentsContractSuite } from './migration-comments-suite.js';
65
+ export { commentedDdlMod } from './migration-comments.js';
54
66
  //# sourceMappingURL=index.d.ts.map