@headless-lms/adapter-db 0.1.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 (115) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_virtual/_rolldown/runtime.js +13 -0
  3. package/dist/client.d.ts +17 -0
  4. package/dist/client.js +11 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +22 -0
  7. package/dist/index.js +22 -0
  8. package/dist/migrate.d.ts +7 -0
  9. package/dist/migrate.js +27 -0
  10. package/dist/migrate.js.map +1 -0
  11. package/dist/repositories/assets.d.ts +17 -0
  12. package/dist/repositories/assets.js +90 -0
  13. package/dist/repositories/assets.js.map +1 -0
  14. package/dist/repositories/automations.d.ts +30 -0
  15. package/dist/repositories/automations.js +165 -0
  16. package/dist/repositories/automations.js.map +1 -0
  17. package/dist/repositories/content.d.ts +52 -0
  18. package/dist/repositories/content.js +350 -0
  19. package/dist/repositories/content.js.map +1 -0
  20. package/dist/repositories/credentials.d.ts +25 -0
  21. package/dist/repositories/credentials.js +86 -0
  22. package/dist/repositories/credentials.js.map +1 -0
  23. package/dist/repositories/dashboard.d.ts +14 -0
  24. package/dist/repositories/dashboard.js +55 -0
  25. package/dist/repositories/dashboard.js.map +1 -0
  26. package/dist/repositories/discussion.d.ts +31 -0
  27. package/dist/repositories/discussion.js +201 -0
  28. package/dist/repositories/discussion.js.map +1 -0
  29. package/dist/repositories/entitlements.d.ts +23 -0
  30. package/dist/repositories/entitlements.js +129 -0
  31. package/dist/repositories/entitlements.js.map +1 -0
  32. package/dist/repositories/identity.d.ts +17 -0
  33. package/dist/repositories/identity.js +44 -0
  34. package/dist/repositories/identity.js.map +1 -0
  35. package/dist/repositories/integrations.d.ts +18 -0
  36. package/dist/repositories/integrations.js +65 -0
  37. package/dist/repositories/integrations.js.map +1 -0
  38. package/dist/repositories/learn.d.ts +19 -0
  39. package/dist/repositories/learn.js +54 -0
  40. package/dist/repositories/learn.js.map +1 -0
  41. package/dist/repositories/members.d.ts +16 -0
  42. package/dist/repositories/members.js +116 -0
  43. package/dist/repositories/members.js.map +1 -0
  44. package/dist/repositories/org-user-profile.d.ts +92 -0
  45. package/dist/repositories/org-user-profile.js +16 -0
  46. package/dist/repositories/org-user-profile.js.map +1 -0
  47. package/dist/repositories/organizations.d.ts +33 -0
  48. package/dist/repositories/organizations.js +198 -0
  49. package/dist/repositories/organizations.js.map +1 -0
  50. package/dist/repositories/outbox.d.ts +24 -0
  51. package/dist/repositories/outbox.js +56 -0
  52. package/dist/repositories/outbox.js.map +1 -0
  53. package/dist/repositories/pg-errors.d.ts +11 -0
  54. package/dist/repositories/pg-errors.js +15 -0
  55. package/dist/repositories/pg-errors.js.map +1 -0
  56. package/dist/repositories/progress.d.ts +18 -0
  57. package/dist/repositories/progress.js +59 -0
  58. package/dist/repositories/progress.js.map +1 -0
  59. package/dist/repositories/settings.d.ts +22 -0
  60. package/dist/repositories/settings.js +73 -0
  61. package/dist/repositories/settings.js.map +1 -0
  62. package/dist/repositories/students.d.ts +15 -0
  63. package/dist/repositories/students.js +83 -0
  64. package/dist/repositories/students.js.map +1 -0
  65. package/dist/schema/assets.d.ts +181 -0
  66. package/dist/schema/assets.js +24 -0
  67. package/dist/schema/assets.js.map +1 -0
  68. package/dist/schema/automations.d.ts +364 -0
  69. package/dist/schema/automations.js +42 -0
  70. package/dist/schema/automations.js.map +1 -0
  71. package/dist/schema/better-auth.d.ts +2311 -0
  72. package/dist/schema/better-auth.js +156 -0
  73. package/dist/schema/better-auth.js.map +1 -0
  74. package/dist/schema/content.d.ts +966 -0
  75. package/dist/schema/content.js +163 -0
  76. package/dist/schema/content.js.map +1 -0
  77. package/dist/schema/credentials.d.ts +113 -0
  78. package/dist/schema/credentials.js +15 -0
  79. package/dist/schema/credentials.js.map +1 -0
  80. package/dist/schema/discussion.d.ts +399 -0
  81. package/dist/schema/discussion.js +89 -0
  82. package/dist/schema/discussion.js.map +1 -0
  83. package/dist/schema/drift.d.ts +9 -0
  84. package/dist/schema/drift.js +1 -0
  85. package/dist/schema/entitlements.d.ts +147 -0
  86. package/dist/schema/entitlements.js +30 -0
  87. package/dist/schema/entitlements.js.map +1 -0
  88. package/dist/schema/identity.d.ts +130 -0
  89. package/dist/schema/identity.js +16 -0
  90. package/dist/schema/identity.js.map +1 -0
  91. package/dist/schema/index.d.ts +18 -0
  92. package/dist/schema/index.js +43 -0
  93. package/dist/schema/index.js.map +1 -0
  94. package/dist/schema/integrations.d.ts +149 -0
  95. package/dist/schema/integrations.js +25 -0
  96. package/dist/schema/integrations.js.map +1 -0
  97. package/dist/schema/organizations.d.ts +416 -0
  98. package/dist/schema/organizations.js +58 -0
  99. package/dist/schema/organizations.js.map +1 -0
  100. package/dist/schema/outbox.d.ts +166 -0
  101. package/dist/schema/outbox.js +19 -0
  102. package/dist/schema/outbox.js.map +1 -0
  103. package/dist/schema/progress.d.ts +166 -0
  104. package/dist/schema/progress.js +30 -0
  105. package/dist/schema/progress.js.map +1 -0
  106. package/dist/schema/settings.d.ts +115 -0
  107. package/dist/schema/settings.js +19 -0
  108. package/dist/schema/settings.js.map +1 -0
  109. package/dist/unit-of-work.d.ts +13 -0
  110. package/dist/unit-of-work.js +16 -0
  111. package/dist/unit-of-work.js.map +1 -0
  112. package/drizzle/0000_baseline.sql +526 -0
  113. package/drizzle/meta/0000_snapshot.json +3925 -0
  114. package/drizzle/meta/_journal.json +13 -0
  115. package/package.json +56 -0
@@ -0,0 +1,364 @@
1
+ import { DomainEvent } from "@headless-lms/core/shared/ports";
2
+ //#region src/schema/automations.d.ts
3
+ declare const automations: import("drizzle-orm/pg-core").PgTableWithColumns<{
4
+ name: "automations";
5
+ schema: undefined;
6
+ columns: {
7
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
8
+ name: "org_id";
9
+ tableName: "automations";
10
+ dataType: "string";
11
+ columnType: "PgText";
12
+ data: string;
13
+ driverParam: string;
14
+ notNull: true;
15
+ hasDefault: false;
16
+ isPrimaryKey: false;
17
+ isAutoincrement: false;
18
+ hasRuntimeDefault: false;
19
+ enumValues: [string, ...string[]];
20
+ baseColumn: never;
21
+ identity: undefined;
22
+ generated: undefined;
23
+ }, {}, {}>;
24
+ id: import("drizzle-orm/pg-core").PgColumn<{
25
+ name: "id";
26
+ tableName: "automations";
27
+ dataType: "string";
28
+ columnType: "PgText";
29
+ data: string;
30
+ driverParam: string;
31
+ notNull: true;
32
+ hasDefault: true;
33
+ isPrimaryKey: false;
34
+ isAutoincrement: false;
35
+ hasRuntimeDefault: true;
36
+ enumValues: [string, ...string[]];
37
+ baseColumn: never;
38
+ identity: undefined;
39
+ generated: undefined;
40
+ }, {}, {}>;
41
+ name: import("drizzle-orm/pg-core").PgColumn<{
42
+ name: "name";
43
+ tableName: "automations";
44
+ dataType: "string";
45
+ columnType: "PgText";
46
+ data: string;
47
+ driverParam: string;
48
+ notNull: true;
49
+ hasDefault: false;
50
+ isPrimaryKey: false;
51
+ isAutoincrement: false;
52
+ hasRuntimeDefault: false;
53
+ enumValues: [string, ...string[]];
54
+ baseColumn: never;
55
+ identity: undefined;
56
+ generated: undefined;
57
+ }, {}, {}>;
58
+ description: import("drizzle-orm/pg-core").PgColumn<{
59
+ name: "description";
60
+ tableName: "automations";
61
+ dataType: "string";
62
+ columnType: "PgText";
63
+ data: string;
64
+ driverParam: string;
65
+ notNull: false;
66
+ hasDefault: false;
67
+ isPrimaryKey: false;
68
+ isAutoincrement: false;
69
+ hasRuntimeDefault: false;
70
+ enumValues: [string, ...string[]];
71
+ baseColumn: never;
72
+ identity: undefined;
73
+ generated: undefined;
74
+ }, {}, {}>;
75
+ trigger: import("drizzle-orm/pg-core").PgColumn<{
76
+ name: "trigger";
77
+ tableName: "automations";
78
+ dataType: "string";
79
+ columnType: "PgText";
80
+ data: string;
81
+ driverParam: string;
82
+ notNull: true;
83
+ hasDefault: false;
84
+ isPrimaryKey: false;
85
+ isAutoincrement: false;
86
+ hasRuntimeDefault: false;
87
+ enumValues: [string, ...string[]];
88
+ baseColumn: never;
89
+ identity: undefined;
90
+ generated: undefined;
91
+ }, {}, {}>;
92
+ actions: import("drizzle-orm/pg-core").PgColumn<{
93
+ name: "actions";
94
+ tableName: "automations";
95
+ dataType: "json";
96
+ columnType: "PgJsonb";
97
+ data: {
98
+ type: string;
99
+ input: Record<string, import("@headless-lms/core/types").JsonValue>;
100
+ }[];
101
+ driverParam: unknown;
102
+ notNull: true;
103
+ hasDefault: false;
104
+ isPrimaryKey: false;
105
+ isAutoincrement: false;
106
+ hasRuntimeDefault: false;
107
+ enumValues: undefined;
108
+ baseColumn: never;
109
+ identity: undefined;
110
+ generated: undefined;
111
+ }, {}, {
112
+ $type: {
113
+ type: string;
114
+ input: Record<string, import("@headless-lms/core/types").JsonValue>;
115
+ }[];
116
+ }>;
117
+ enabled: import("drizzle-orm/pg-core").PgColumn<{
118
+ name: "enabled";
119
+ tableName: "automations";
120
+ dataType: "boolean";
121
+ columnType: "PgBoolean";
122
+ data: boolean;
123
+ driverParam: boolean;
124
+ notNull: true;
125
+ hasDefault: true;
126
+ isPrimaryKey: false;
127
+ isAutoincrement: false;
128
+ hasRuntimeDefault: false;
129
+ enumValues: undefined;
130
+ baseColumn: never;
131
+ identity: undefined;
132
+ generated: undefined;
133
+ }, {}, {}>;
134
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
135
+ name: "created_at";
136
+ tableName: "automations";
137
+ dataType: "date";
138
+ columnType: "PgTimestamp";
139
+ data: Date;
140
+ driverParam: string;
141
+ notNull: true;
142
+ hasDefault: true;
143
+ isPrimaryKey: false;
144
+ isAutoincrement: false;
145
+ hasRuntimeDefault: false;
146
+ enumValues: undefined;
147
+ baseColumn: never;
148
+ identity: undefined;
149
+ generated: undefined;
150
+ }, {}, {}>;
151
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
152
+ name: "updated_at";
153
+ tableName: "automations";
154
+ dataType: "date";
155
+ columnType: "PgTimestamp";
156
+ data: Date;
157
+ driverParam: string;
158
+ notNull: true;
159
+ hasDefault: true;
160
+ isPrimaryKey: false;
161
+ isAutoincrement: false;
162
+ hasRuntimeDefault: false;
163
+ enumValues: undefined;
164
+ baseColumn: never;
165
+ identity: undefined;
166
+ generated: undefined;
167
+ }, {}, {}>;
168
+ };
169
+ dialect: "pg";
170
+ }>;
171
+ declare const automationRuns: import("drizzle-orm/pg-core").PgTableWithColumns<{
172
+ name: "automation_runs";
173
+ schema: undefined;
174
+ columns: {
175
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
176
+ name: "org_id";
177
+ tableName: "automation_runs";
178
+ dataType: "string";
179
+ columnType: "PgText";
180
+ data: string;
181
+ driverParam: string;
182
+ notNull: true;
183
+ hasDefault: false;
184
+ isPrimaryKey: false;
185
+ isAutoincrement: false;
186
+ hasRuntimeDefault: false;
187
+ enumValues: [string, ...string[]];
188
+ baseColumn: never;
189
+ identity: undefined;
190
+ generated: undefined;
191
+ }, {}, {}>;
192
+ id: import("drizzle-orm/pg-core").PgColumn<{
193
+ name: "id";
194
+ tableName: "automation_runs";
195
+ dataType: "string";
196
+ columnType: "PgText";
197
+ data: string;
198
+ driverParam: string;
199
+ notNull: true;
200
+ hasDefault: true;
201
+ isPrimaryKey: false;
202
+ isAutoincrement: false;
203
+ hasRuntimeDefault: true;
204
+ enumValues: [string, ...string[]];
205
+ baseColumn: never;
206
+ identity: undefined;
207
+ generated: undefined;
208
+ }, {}, {}>;
209
+ automationId: import("drizzle-orm/pg-core").PgColumn<{
210
+ name: "automation_id";
211
+ tableName: "automation_runs";
212
+ dataType: "string";
213
+ columnType: "PgText";
214
+ data: string;
215
+ driverParam: string;
216
+ notNull: true;
217
+ hasDefault: false;
218
+ isPrimaryKey: false;
219
+ isAutoincrement: false;
220
+ hasRuntimeDefault: false;
221
+ enumValues: [string, ...string[]];
222
+ baseColumn: never;
223
+ identity: undefined;
224
+ generated: undefined;
225
+ }, {}, {}>;
226
+ trigger: import("drizzle-orm/pg-core").PgColumn<{
227
+ name: "trigger";
228
+ tableName: "automation_runs";
229
+ dataType: "string";
230
+ columnType: "PgText";
231
+ data: string;
232
+ driverParam: string;
233
+ notNull: true;
234
+ hasDefault: false;
235
+ isPrimaryKey: false;
236
+ isAutoincrement: false;
237
+ hasRuntimeDefault: false;
238
+ enumValues: [string, ...string[]];
239
+ baseColumn: never;
240
+ identity: undefined;
241
+ generated: undefined;
242
+ }, {}, {}>;
243
+ eventId: import("drizzle-orm/pg-core").PgColumn<{
244
+ name: "event_id";
245
+ tableName: "automation_runs";
246
+ dataType: "string";
247
+ columnType: "PgText";
248
+ data: string;
249
+ driverParam: string;
250
+ notNull: true;
251
+ hasDefault: false;
252
+ isPrimaryKey: false;
253
+ isAutoincrement: false;
254
+ hasRuntimeDefault: false;
255
+ enumValues: [string, ...string[]];
256
+ baseColumn: never;
257
+ identity: undefined;
258
+ generated: undefined;
259
+ }, {}, {}>;
260
+ event: import("drizzle-orm/pg-core").PgColumn<{
261
+ name: "event";
262
+ tableName: "automation_runs";
263
+ dataType: "json";
264
+ columnType: "PgJsonb";
265
+ data: DomainEvent<unknown, string, number>;
266
+ driverParam: unknown;
267
+ notNull: true;
268
+ hasDefault: false;
269
+ isPrimaryKey: false;
270
+ isAutoincrement: false;
271
+ hasRuntimeDefault: false;
272
+ enumValues: undefined;
273
+ baseColumn: never;
274
+ identity: undefined;
275
+ generated: undefined;
276
+ }, {}, {
277
+ $type: DomainEvent<unknown, string, number>;
278
+ }>;
279
+ status: import("drizzle-orm/pg-core").PgColumn<{
280
+ name: "status";
281
+ tableName: "automation_runs";
282
+ dataType: "string";
283
+ columnType: "PgText";
284
+ data: "running" | "completed" | "failed";
285
+ driverParam: string;
286
+ notNull: true;
287
+ hasDefault: false;
288
+ isPrimaryKey: false;
289
+ isAutoincrement: false;
290
+ hasRuntimeDefault: false;
291
+ enumValues: ["running", "completed", "failed"];
292
+ baseColumn: never;
293
+ identity: undefined;
294
+ generated: undefined;
295
+ }, {}, {}>;
296
+ actionResults: import("drizzle-orm/pg-core").PgColumn<{
297
+ name: "action_results";
298
+ tableName: "automation_runs";
299
+ dataType: "json";
300
+ columnType: "PgJsonb";
301
+ data: {
302
+ index: number;
303
+ type: string;
304
+ status: "completed" | "failed";
305
+ error?: string | undefined;
306
+ }[];
307
+ driverParam: unknown;
308
+ notNull: true;
309
+ hasDefault: true;
310
+ isPrimaryKey: false;
311
+ isAutoincrement: false;
312
+ hasRuntimeDefault: false;
313
+ enumValues: undefined;
314
+ baseColumn: never;
315
+ identity: undefined;
316
+ generated: undefined;
317
+ }, {}, {
318
+ $type: {
319
+ index: number;
320
+ type: string;
321
+ status: "completed" | "failed";
322
+ error?: string | undefined;
323
+ }[];
324
+ }>;
325
+ startedAt: import("drizzle-orm/pg-core").PgColumn<{
326
+ name: "started_at";
327
+ tableName: "automation_runs";
328
+ dataType: "date";
329
+ columnType: "PgTimestamp";
330
+ data: Date;
331
+ driverParam: string;
332
+ notNull: true;
333
+ hasDefault: false;
334
+ isPrimaryKey: false;
335
+ isAutoincrement: false;
336
+ hasRuntimeDefault: false;
337
+ enumValues: undefined;
338
+ baseColumn: never;
339
+ identity: undefined;
340
+ generated: undefined;
341
+ }, {}, {}>;
342
+ finishedAt: import("drizzle-orm/pg-core").PgColumn<{
343
+ name: "finished_at";
344
+ tableName: "automation_runs";
345
+ dataType: "date";
346
+ columnType: "PgTimestamp";
347
+ data: Date;
348
+ driverParam: string;
349
+ notNull: false;
350
+ hasDefault: false;
351
+ isPrimaryKey: false;
352
+ isAutoincrement: false;
353
+ hasRuntimeDefault: false;
354
+ enumValues: undefined;
355
+ baseColumn: never;
356
+ identity: undefined;
357
+ generated: undefined;
358
+ }, {}, {}>;
359
+ };
360
+ dialect: "pg";
361
+ }>;
362
+ //#endregion
363
+ export { automationRuns, automations };
364
+ //# sourceMappingURL=automations.d.ts.map
@@ -0,0 +1,42 @@
1
+ import { organizations } from "./organizations.js";
2
+ import { boolean, index, jsonb, pgTable, primaryKey, text, timestamp, uniqueIndex } from "drizzle-orm/pg-core";
3
+ import { genId } from "@headless-lms/core/shared/id";
4
+ //#region src/schema/automations.ts
5
+ const automations = pgTable("automations", {
6
+ orgId: text("org_id").notNull().references(() => organizations.id),
7
+ id: text("id").notNull().$defaultFn(() => genId("automation")),
8
+ name: text("name").notNull(),
9
+ description: text("description"),
10
+ trigger: text("trigger").notNull(),
11
+ actions: jsonb("actions").$type().notNull(),
12
+ enabled: boolean("enabled").notNull().default(true),
13
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
14
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow()
15
+ }, (t) => ({
16
+ pk: primaryKey({ columns: [t.orgId, t.id] }),
17
+ triggerIdx: index("automations_org_trigger_idx").on(t.orgId, t.trigger)
18
+ }));
19
+ const automationRuns = pgTable("automation_runs", {
20
+ orgId: text("org_id").notNull().references(() => organizations.id),
21
+ id: text("id").notNull().$defaultFn(() => genId("automationRun")),
22
+ automationId: text("automation_id").notNull(),
23
+ trigger: text("trigger").notNull(),
24
+ eventId: text("event_id").notNull(),
25
+ event: jsonb("event").$type().notNull(),
26
+ status: text("status", { enum: [
27
+ "running",
28
+ "completed",
29
+ "failed"
30
+ ] }).notNull(),
31
+ actionResults: jsonb("action_results").$type().notNull().default([]),
32
+ startedAt: timestamp("started_at", { withTimezone: true }).notNull(),
33
+ finishedAt: timestamp("finished_at", { withTimezone: true })
34
+ }, (t) => ({
35
+ pk: primaryKey({ columns: [t.orgId, t.id] }),
36
+ automationIdx: index("automation_runs_org_automation_idx").on(t.orgId, t.automationId),
37
+ eventDedupeIdx: uniqueIndex("automation_runs_org_automation_event_idx").on(t.orgId, t.automationId, t.eventId)
38
+ }));
39
+ //#endregion
40
+ export { automationRuns, automations };
41
+
42
+ //# sourceMappingURL=automations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automations.js","names":[],"sources":["../../src/schema/automations.ts"],"sourcesContent":["// automations tables — org-scoped automation definitions and their run\n// history. `automations.actions` and `automation_runs.action_results` are\n// ordered jsonb blobs (contract types owned by @headless-lms/core/types); a run's\n// `event` is the triggering DomainEvent snapshot, stored verbatim.\nimport { pgTable, text, boolean, jsonb, timestamp, primaryKey, index, uniqueIndex } from 'drizzle-orm/pg-core';\nimport { genId } from '@headless-lms/core/shared/id';\nimport { organizations } from './organizations.js';\nimport type {\n Automation,\n AutomationAction,\n AutomationActionResult,\n AutomationRun,\n} from '@headless-lms/core/schemas';\nimport type { DomainEvent } from '@headless-lms/core/shared/ports';\nimport type { Expect, NoDrift } from './drift.js';\n\nexport const automations = pgTable(\n 'automations',\n {\n orgId: text('org_id')\n .notNull()\n .references(() => organizations.id),\n id: text('id')\n .notNull()\n .$defaultFn(() => genId('automation')),\n name: text('name').notNull(),\n description: text('description'),\n trigger: text('trigger').notNull(),\n actions: jsonb('actions').$type<AutomationAction[]>().notNull(),\n enabled: boolean('enabled').notNull().default(true),\n createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),\n updatedAt: timestamp('updated_at', { withTimezone: true }).notNull().defaultNow(),\n },\n (t) => ({\n pk: primaryKey({ columns: [t.orgId, t.id] }),\n triggerIdx: index('automations_org_trigger_idx').on(t.orgId, t.trigger),\n }),\n);\n\nexport const automationRuns = pgTable(\n 'automation_runs',\n {\n orgId: text('org_id')\n .notNull()\n .references(() => organizations.id),\n id: text('id')\n .notNull()\n .$defaultFn(() => genId('automationRun')),\n automationId: text('automation_id').notNull(),\n trigger: text('trigger').notNull(),\n // At-least-once dedupe key for the triggering event; DB-internal, not part of the domain `AutomationRun` type.\n eventId: text('event_id').notNull(),\n event: jsonb('event').$type<DomainEvent>().notNull(),\n status: text('status', { enum: ['running', 'completed', 'failed'] }).notNull(),\n actionResults: jsonb('action_results').$type<AutomationActionResult[]>().notNull().default([]),\n startedAt: timestamp('started_at', { withTimezone: true }).notNull(),\n finishedAt: timestamp('finished_at', { withTimezone: true }),\n },\n (t) => ({\n pk: primaryKey({ columns: [t.orgId, t.id] }),\n automationIdx: index('automation_runs_org_automation_idx').on(t.orgId, t.automationId),\n eventDedupeIdx: uniqueIndex('automation_runs_org_automation_event_idx').on(\n t.orgId,\n t.automationId,\n t.eventId,\n ),\n }),\n);\n\ntype _AutomationsDrift = Expect<NoDrift<typeof automations.$inferSelect, Automation>>;\ntype _AutomationRunsDrift = Expect<NoDrift<typeof automationRuns.$inferSelect, AutomationRun>>;\n"],"mappings":";;;;AAgBA,MAAa,cAAc,QACzB,eACA;CACE,OAAO,KAAK,QAAQ,CAAC,CAClB,QAAQ,CAAC,CACT,iBAAiB,cAAc,EAAE;CACpC,IAAI,KAAK,IAAI,CAAC,CACX,QAAQ,CAAC,CACT,iBAAiB,MAAM,YAAY,CAAC;CACvC,MAAM,KAAK,MAAM,CAAC,CAAC,QAAQ;CAC3B,aAAa,KAAK,aAAa;CAC/B,SAAS,KAAK,SAAS,CAAC,CAAC,QAAQ;CACjC,SAAS,MAAM,SAAS,CAAC,CAAC,MAA0B,CAAC,CAAC,QAAQ;CAC9D,SAAS,QAAQ,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI;CAClD,WAAW,UAAU,cAAc,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW;CAChF,WAAW,UAAU,cAAc,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW;AAClF,IACC,OAAO;CACN,IAAI,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CAC3C,YAAY,MAAM,6BAA6B,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO;AACxE,EACF;AAEA,MAAa,iBAAiB,QAC5B,mBACA;CACE,OAAO,KAAK,QAAQ,CAAC,CAClB,QAAQ,CAAC,CACT,iBAAiB,cAAc,EAAE;CACpC,IAAI,KAAK,IAAI,CAAC,CACX,QAAQ,CAAC,CACT,iBAAiB,MAAM,eAAe,CAAC;CAC1C,cAAc,KAAK,eAAe,CAAC,CAAC,QAAQ;CAC5C,SAAS,KAAK,SAAS,CAAC,CAAC,QAAQ;CAEjC,SAAS,KAAK,UAAU,CAAC,CAAC,QAAQ;CAClC,OAAO,MAAM,OAAO,CAAC,CAAC,MAAmB,CAAC,CAAC,QAAQ;CACnD,QAAQ,KAAK,UAAU,EAAE,MAAM;EAAC;EAAW;EAAa;CAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ;CAC7E,eAAe,MAAM,gBAAgB,CAAC,CAAC,MAAgC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CAC7F,WAAW,UAAU,cAAc,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,QAAQ;CACnE,YAAY,UAAU,eAAe,EAAE,cAAc,KAAK,CAAC;AAC7D,IACC,OAAO;CACN,IAAI,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;CAC3C,eAAe,MAAM,oCAAoC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY;CACrF,gBAAgB,YAAY,0CAA0C,CAAC,CAAC,GACtE,EAAE,OACF,EAAE,cACF,EAAE,OACJ;AACF,EACF"}