@surveilr/bootstrap-sql 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/views.cjs ADDED
@@ -0,0 +1,2120 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc2) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc2 = __getOwnPropDesc(from, key)) || desc2.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // views.ts
21
+ var views_exports = {};
22
+ __export(views_exports, {
23
+ codeNotebookCellLatest: () => codeNotebookCellLatest,
24
+ codeNotebookCellVersions: () => codeNotebookCellVersions,
25
+ codeNotebookMigrationSql: () => codeNotebookMigrationSql,
26
+ codeNotebookSqlCellMigratable: () => codeNotebookSqlCellMigratable,
27
+ codeNotebookSqlCellMigratableNotExecuted: () => codeNotebookSqlCellMigratableNotExecuted,
28
+ codeNotebookSqlCellMigratableState: () => codeNotebookSqlCellMigratableState,
29
+ codeNotebookSqlCellMigratableVersion: () => codeNotebookSqlCellMigratableVersion,
30
+ consoleContentTabular: () => consoleContentTabular,
31
+ consoleInformationSchemaTable: () => consoleInformationSchemaTable,
32
+ consoleInformationSchemaTableColFkey: () => consoleInformationSchemaTableColFkey,
33
+ consoleInformationSchemaTableColIndex: () => consoleInformationSchemaTableColIndex,
34
+ consoleInformationSchemaView: () => consoleInformationSchemaView,
35
+ deviceGraphAnalytics: () => deviceGraphAnalytics,
36
+ deviceGraphCorrelations: () => deviceGraphCorrelations,
37
+ deviceGraphOverview: () => deviceGraphOverview,
38
+ emailMessagesWithTimezone: () => emailMessagesWithTimezone,
39
+ filesystemGraph: () => filesystemGraph,
40
+ imapGraph: () => imapGraph,
41
+ networkDeviceTopology: () => networkDeviceTopology,
42
+ orchestrationExecutionSuccessRateByType: () => orchestrationExecutionSuccessRateByType,
43
+ orchestrationExecutionsByType: () => orchestrationExecutionsByType,
44
+ orchestrationIssueRemediation: () => orchestrationIssueRemediation,
45
+ orchestrationLogsBySession: () => orchestrationLogsBySession,
46
+ orchestrationSessionByDevice: () => orchestrationSessionByDevice,
47
+ orchestrationSessionDuration: () => orchestrationSessionDuration,
48
+ orchestrationSessionScript: () => orchestrationSessionScript,
49
+ orchestrationSessionSummary: () => orchestrationSessionSummary,
50
+ orchestrationSuccessRate: () => orchestrationSuccessRate,
51
+ rssdStatisticsOverview: () => rssdStatisticsOverview,
52
+ rssdTableStatistic: () => rssdTableStatistic,
53
+ snmpCollectionSummary: () => snmpCollectionSummary,
54
+ snmpDeviceInventory: () => snmpDeviceInventory,
55
+ snmpOidPerformance: () => snmpOidPerformance,
56
+ uniformResourceFile: () => uniformResourceFile,
57
+ uniformResourceImap: () => uniformResourceImap,
58
+ uniformResourceImapContent: () => uniformResourceImapContent,
59
+ urIngestSessionFileIssue: () => urIngestSessionFileIssue,
60
+ urIngestSessionFilesStats: () => urIngestSessionFilesStats,
61
+ urIngestSessionFilesStatsLatest: () => urIngestSessionFilesStatsLatest,
62
+ urIngestSessionTasksStats: () => urIngestSessionTasksStats,
63
+ urIngestSessionTasksStatsLatest: () => urIngestSessionTasksStatsLatest
64
+ });
65
+ module.exports = __toCommonJS(views_exports);
66
+ var import_sqlite_core2 = require("drizzle-orm/sqlite-core");
67
+ var import_drizzle_orm2 = require("drizzle-orm");
68
+
69
+ // models.ts
70
+ var import_sqlite_core = require("drizzle-orm/sqlite-core");
71
+ var import_drizzle_orm = require("drizzle-orm");
72
+ var timestamptz = (0, import_sqlite_core.customType)({
73
+ dataType() {
74
+ return "TIMESTAMPTZ";
75
+ },
76
+ fromDriver(value) {
77
+ return value;
78
+ },
79
+ toDriver(value) {
80
+ return value;
81
+ }
82
+ });
83
+ var date = (0, import_sqlite_core.customType)({
84
+ dataType() {
85
+ return "DATE";
86
+ },
87
+ fromDriver(value) {
88
+ return value;
89
+ },
90
+ toDriver(value) {
91
+ return value;
92
+ }
93
+ });
94
+ var ulid = (0, import_sqlite_core.customType)({
95
+ dataType() {
96
+ return "ULID";
97
+ },
98
+ fromDriver(value) {
99
+ return value;
100
+ },
101
+ toDriver(value) {
102
+ return value;
103
+ }
104
+ });
105
+ var varchar = (0, import_sqlite_core.customType)({
106
+ dataType() {
107
+ return "VARCHAR";
108
+ },
109
+ fromDriver(value) {
110
+ return value;
111
+ },
112
+ toDriver(value) {
113
+ return value;
114
+ }
115
+ });
116
+ var textArray = (0, import_sqlite_core.customType)({
117
+ dataType() {
118
+ return "TEXT[]";
119
+ },
120
+ fromDriver(value) {
121
+ return JSON.parse(value);
122
+ },
123
+ toDriver(value) {
124
+ return JSON.stringify(value);
125
+ }
126
+ });
127
+ var housekeeping = {
128
+ createdAt: timestamptz("created_at").default(import_drizzle_orm.sql`CURRENT_TIMESTAMP`),
129
+ createdBy: (0, import_sqlite_core.text)("created_by").default("UNKNOWN"),
130
+ updatedAt: timestamptz("updated_at"),
131
+ updatedBy: (0, import_sqlite_core.text)("updated_by"),
132
+ deletedAt: timestamptz("deleted_at"),
133
+ deletedBy: (0, import_sqlite_core.text)("deleted_by"),
134
+ activityLog: (0, import_sqlite_core.text)("activity_log")
135
+ };
136
+ var sqleanDefine = (0, import_sqlite_core.sqliteTable)("sqlean_define", {
137
+ name: (0, import_sqlite_core.text)().primaryKey(),
138
+ type: (0, import_sqlite_core.text)(),
139
+ body: (0, import_sqlite_core.text)()
140
+ }, (table2) => []);
141
+ var checkJSON = (c) => (0, import_sqlite_core.check)(`${c.name}_check_valid_json`, import_drizzle_orm.sql`json_valid(${c}) OR ${c} IS NULL`);
142
+ var assuranceSchema = (0, import_sqlite_core.sqliteTable)("assurance_schema", {
143
+ assuranceSchemaId: varchar("assurance_schema_id").primaryKey().notNull(),
144
+ assuranceType: (0, import_sqlite_core.text)("assurance_type").notNull(),
145
+ code: (0, import_sqlite_core.text)().notNull(),
146
+ codeJson: (0, import_sqlite_core.text)("code_json", { mode: "json" }),
147
+ governance: (0, import_sqlite_core.text)(),
148
+ ...housekeeping
149
+ }, (table2) => [
150
+ checkJSON(table2.codeJson),
151
+ checkJSON(table2.governance)
152
+ ]);
153
+ var device = (0, import_sqlite_core.sqliteTable)("device", {
154
+ deviceId: varchar("device_id").primaryKey().notNull(),
155
+ name: (0, import_sqlite_core.text)().notNull(),
156
+ state: (0, import_sqlite_core.text)().notNull(),
157
+ boundary: (0, import_sqlite_core.text)().notNull(),
158
+ segmentation: (0, import_sqlite_core.text)(),
159
+ stateSysinfo: (0, import_sqlite_core.text)("state_sysinfo"),
160
+ elaboration: (0, import_sqlite_core.text)(),
161
+ ...housekeeping
162
+ }, (table2) => [
163
+ (0, import_sqlite_core.index)("idx_device__name__state").on(table2.name, table2.state),
164
+ (0, import_sqlite_core.unique)().on(table2.name, table2.state, table2.boundary),
165
+ checkJSON(table2.state),
166
+ checkJSON(table2.segmentation),
167
+ checkJSON(table2.stateSysinfo),
168
+ checkJSON(table2.elaboration)
169
+ ]);
170
+ var codeNotebookKernel = (0, import_sqlite_core.sqliteTable)("code_notebook_kernel", {
171
+ codeNotebookKernelId: varchar("code_notebook_kernel_id").primaryKey().notNull(),
172
+ kernelName: (0, import_sqlite_core.text)("kernel_name").notNull(),
173
+ description: (0, import_sqlite_core.text)(),
174
+ mimeType: (0, import_sqlite_core.text)("mime_type"),
175
+ fileExtn: (0, import_sqlite_core.text)("file_extn"),
176
+ elaboration: (0, import_sqlite_core.text)(),
177
+ governance: (0, import_sqlite_core.text)(),
178
+ ...housekeeping
179
+ }, (table2) => [
180
+ (0, import_sqlite_core.unique)().on(table2.kernelName),
181
+ checkJSON(table2.elaboration),
182
+ checkJSON(table2.governance)
183
+ ]);
184
+ var codeNotebookCell = (0, import_sqlite_core.sqliteTable)("code_notebook_cell", {
185
+ codeNotebookCellId: varchar("code_notebook_cell_id").primaryKey().notNull(),
186
+ notebookKernelId: varchar("notebook_kernel_id").notNull().references(
187
+ () => codeNotebookKernel.codeNotebookKernelId
188
+ ),
189
+ notebookName: (0, import_sqlite_core.text)("notebook_name").notNull(),
190
+ cellName: (0, import_sqlite_core.text)("cell_name").notNull(),
191
+ cellGovernance: (0, import_sqlite_core.text)("cell_governance"),
192
+ interpretableCode: (0, import_sqlite_core.text)("interpretable_code").notNull(),
193
+ interpretableCodeHash: (0, import_sqlite_core.text)("interpretable_code_hash").notNull(),
194
+ description: (0, import_sqlite_core.text)(),
195
+ arguments: (0, import_sqlite_core.text)(),
196
+ ...housekeeping
197
+ }, (table2) => [
198
+ (0, import_sqlite_core.unique)().on(table2.notebookName, table2.cellName, table2.interpretableCodeHash),
199
+ checkJSON(table2.cellGovernance),
200
+ checkJSON(table2.arguments)
201
+ ]);
202
+ var codeNotebookState = (0, import_sqlite_core.sqliteTable)("code_notebook_state", {
203
+ codeNotebookStateId: varchar("code_notebook_state_id").primaryKey().notNull(),
204
+ codeNotebookCellId: varchar("code_notebook_cell_id").notNull().references(
205
+ () => codeNotebookCell.codeNotebookCellId
206
+ ),
207
+ fromState: (0, import_sqlite_core.text)("from_state").notNull(),
208
+ toState: (0, import_sqlite_core.text)("to_state").notNull(),
209
+ transitionResult: (0, import_sqlite_core.text)("transition_result"),
210
+ transitionReason: (0, import_sqlite_core.text)("transition_reason"),
211
+ transitionedAt: timestamptz("transitioned_at"),
212
+ elaboration: (0, import_sqlite_core.text)(),
213
+ ...housekeeping
214
+ }, (table2) => [
215
+ (0, import_sqlite_core.unique)().on(table2.codeNotebookCellId, table2.fromState, table2.toState),
216
+ checkJSON(table2.transitionResult),
217
+ checkJSON(table2.elaboration)
218
+ ]);
219
+ var sqlpageFiles = (0, import_sqlite_core.sqliteTable)("sqlpage_files", {
220
+ path: (0, import_sqlite_core.text)().primaryKey().notNull(),
221
+ contents: (0, import_sqlite_core.text)().notNull(),
222
+ lastModified: (0, import_sqlite_core.numeric)("last_modified").default(import_drizzle_orm.sql`(CURRENT_TIMESTAMP)`)
223
+ }, (table2) => []);
224
+ var surveilrTableSize = (0, import_sqlite_core.sqliteTable)("surveilr_table_size", {
225
+ tableName: (0, import_sqlite_core.text)("table_name").primaryKey(),
226
+ tableSizeMb: (0, import_sqlite_core.real)("table_size_mb")
227
+ }, (table2) => []);
228
+ var sqlpageAideNavigation = (0, import_sqlite_core.sqliteTable)("sqlpage_aide_navigation", {
229
+ path: (0, import_sqlite_core.text)().notNull(),
230
+ caption: (0, import_sqlite_core.text)().notNull(),
231
+ namespace: (0, import_sqlite_core.text)().notNull(),
232
+ parentPath: (0, import_sqlite_core.text)("parent_path"),
233
+ siblingOrder: (0, import_sqlite_core.integer)("sibling_order"),
234
+ url: (0, import_sqlite_core.text)(),
235
+ title: (0, import_sqlite_core.text)(),
236
+ abbreviatedCaption: (0, import_sqlite_core.text)("abbreviated_caption"),
237
+ description: (0, import_sqlite_core.text)(),
238
+ elaboration: (0, import_sqlite_core.text)()
239
+ }, (table2) => [
240
+ (0, import_sqlite_core.unique)("unq_ns_path").on(table2.namespace, table2.parentPath, table2.path)
241
+ ]);
242
+ var partyType = (0, import_sqlite_core.sqliteTable)("party_type", {
243
+ partyTypeId: ulid("party_type_id").primaryKey().notNull(),
244
+ code: (0, import_sqlite_core.text)().notNull(),
245
+ value: (0, import_sqlite_core.text)().notNull(),
246
+ ...housekeeping
247
+ }, (table2) => [
248
+ (0, import_sqlite_core.unique)("unq_party_type_code").on(table2.code)
249
+ ]);
250
+ var party = (0, import_sqlite_core.sqliteTable)("party", {
251
+ partyId: varchar("party_id").primaryKey().notNull(),
252
+ partyTypeId: ulid("party_type_id").notNull().references(
253
+ () => partyType.partyTypeId
254
+ ).$type(),
255
+ // ULID
256
+ partyName: (0, import_sqlite_core.text)("party_name").notNull(),
257
+ elaboration: (0, import_sqlite_core.text)(),
258
+ ...housekeeping
259
+ }, (table2) => [
260
+ (0, import_sqlite_core.index)("idx_party__party_type_id__party_name").on(
261
+ table2.partyTypeId,
262
+ table2.partyName
263
+ )
264
+ ]);
265
+ var partyRelationType = (0, import_sqlite_core.sqliteTable)("party_relation_type", {
266
+ partyRelationTypeId: (0, import_sqlite_core.text)("party_relation_type_id").primaryKey().notNull().$type(),
267
+ // ULID
268
+ code: (0, import_sqlite_core.text)().notNull(),
269
+ value: (0, import_sqlite_core.text)().notNull(),
270
+ ...housekeeping
271
+ }, (table2) => [
272
+ (0, import_sqlite_core.unique)().on(table2.code)
273
+ ]);
274
+ var partyRelation = (0, import_sqlite_core.sqliteTable)("party_relation", {
275
+ partyRelationId: varchar("party_relation_id").primaryKey().notNull(),
276
+ partyId: (0, import_sqlite_core.text)("party_id").notNull().references(() => party.partyId),
277
+ relatedPartyId: (0, import_sqlite_core.text)("related_party_id").notNull().references(
278
+ () => party.partyId
279
+ ),
280
+ relationTypeId: (0, import_sqlite_core.text)("relation_type_id").notNull().references(
281
+ () => partyRelationType.partyRelationTypeId
282
+ ).$type(),
283
+ // ULID
284
+ elaboration: (0, import_sqlite_core.text)(),
285
+ ...housekeeping
286
+ }, (table2) => [
287
+ (0, import_sqlite_core.index)("idx_party_relation__party_id__related_party_id__relation_type_id").on(
288
+ table2.partyId,
289
+ table2.relatedPartyId,
290
+ table2.relationTypeId
291
+ ),
292
+ (0, import_sqlite_core.unique)().on(table2.partyId, table2.relatedPartyId, table2.relationTypeId),
293
+ checkJSON(table2.elaboration)
294
+ ]);
295
+ var genderType = (0, import_sqlite_core.sqliteTable)("gender_type", {
296
+ genderTypeId: ulid("gender_type_id").primaryKey().notNull(),
297
+ code: (0, import_sqlite_core.text)().notNull(),
298
+ value: (0, import_sqlite_core.text)().notNull(),
299
+ ...housekeeping
300
+ }, (table2) => [
301
+ (0, import_sqlite_core.unique)().on(table2.code)
302
+ ]);
303
+ var sexType = (0, import_sqlite_core.sqliteTable)("sex_type", {
304
+ sexTypeId: ulid("sex_type_id").primaryKey().notNull(),
305
+ code: (0, import_sqlite_core.text)().notNull(),
306
+ value: (0, import_sqlite_core.text)().notNull(),
307
+ ...housekeeping
308
+ }, (table2) => [
309
+ (0, import_sqlite_core.unique)().on(table2.code)
310
+ ]);
311
+ var personType = (0, import_sqlite_core.sqliteTable)("person_type", {
312
+ personTypeId: ulid("person_type_id").primaryKey().notNull(),
313
+ code: (0, import_sqlite_core.text)().notNull(),
314
+ value: (0, import_sqlite_core.text)().notNull(),
315
+ ...housekeeping
316
+ }, (table2) => [
317
+ (0, import_sqlite_core.unique)().on(table2.code)
318
+ ]);
319
+ var person = (0, import_sqlite_core.sqliteTable)("person", {
320
+ personId: ulid("person_id").primaryKey().notNull(),
321
+ partyId: (0, import_sqlite_core.text)("party_id").notNull().references(() => party.partyId),
322
+ personTypeId: ulid("person_type_id").notNull().references(
323
+ () => personType.personTypeId
324
+ ),
325
+ personFirstName: (0, import_sqlite_core.text)("person_first_name").notNull(),
326
+ personMiddleName: (0, import_sqlite_core.text)("person_middle_name"),
327
+ personLastName: (0, import_sqlite_core.text)("person_last_name").notNull(),
328
+ previousName: (0, import_sqlite_core.text)("previous_name"),
329
+ honorificPrefix: (0, import_sqlite_core.text)("honorific_prefix"),
330
+ honorificSuffix: (0, import_sqlite_core.text)("honorific_suffix"),
331
+ genderId: ulid("gender_id").notNull().references(
332
+ () => genderType.genderTypeId
333
+ ),
334
+ sexId: ulid("sex_id").notNull().references(() => sexType.sexTypeId),
335
+ elaboration: (0, import_sqlite_core.text)(),
336
+ ...housekeeping
337
+ }, (table2) => [
338
+ checkJSON(table2.elaboration)
339
+ ]);
340
+ var organization = (0, import_sqlite_core.sqliteTable)("organization", {
341
+ organizationId: ulid("organization_id").primaryKey().notNull(),
342
+ partyId: (0, import_sqlite_core.text)("party_id").notNull().references(() => party.partyId),
343
+ name: (0, import_sqlite_core.text)().notNull(),
344
+ alias: (0, import_sqlite_core.text)(),
345
+ description: (0, import_sqlite_core.text)(),
346
+ license: (0, import_sqlite_core.text)().notNull(),
347
+ federalTaxIdNum: (0, import_sqlite_core.text)("federal_tax_id_num"),
348
+ registrationDate: date("registration_date").notNull(),
349
+ elaboration: (0, import_sqlite_core.text)(),
350
+ ...housekeeping
351
+ }, (table2) => [
352
+ checkJSON(table2.elaboration)
353
+ ]);
354
+ var organizationRoleType = (0, import_sqlite_core.sqliteTable)("organization_role_type", {
355
+ organizationRoleTypeId: ulid("organization_role_type_id").primaryKey().notNull(),
356
+ code: (0, import_sqlite_core.text)().notNull(),
357
+ value: (0, import_sqlite_core.text)().notNull(),
358
+ ...housekeeping
359
+ }, (table2) => [
360
+ (0, import_sqlite_core.unique)().on(table2.code)
361
+ ]);
362
+ var organizationRole = (0, import_sqlite_core.sqliteTable)("organization_role", {
363
+ organizationRoleId: (0, import_sqlite_core.text)("organization_role_id").primaryKey().notNull(),
364
+ personId: (0, import_sqlite_core.text)("person_id").notNull().references(() => party.partyId),
365
+ organizationId: (0, import_sqlite_core.text)("organization_id").notNull().references(
366
+ () => party.partyId
367
+ ),
368
+ organizationRoleTypeId: ulid("organization_role_type_id").notNull().references(() => organizationRoleType.organizationRoleTypeId),
369
+ elaboration: (0, import_sqlite_core.text)(),
370
+ ...housekeeping
371
+ }, (table2) => [
372
+ (0, import_sqlite_core.index)(
373
+ "idx_organization_role__person_id__organization_id__organization_role_type_id"
374
+ ).on(table2.personId, table2.organizationId, table2.organizationRoleTypeId),
375
+ (0, import_sqlite_core.unique)().on(table2.personId, table2.organizationId, table2.organizationRoleTypeId),
376
+ checkJSON(table2.elaboration)
377
+ ]);
378
+ var devicePartyRelationship = (0, import_sqlite_core.sqliteTable)("device_party_relationship", {
379
+ devicePartyRelationshipId: (0, import_sqlite_core.text)("device_party_relationship_id").primaryKey().notNull(),
380
+ deviceId: (0, import_sqlite_core.text)("device_id").notNull().references(() => device.deviceId),
381
+ partyId: (0, import_sqlite_core.text)("party_id").notNull().references(() => party.partyId),
382
+ elaboration: (0, import_sqlite_core.text)(),
383
+ ...housekeeping
384
+ }, (table2) => [
385
+ (0, import_sqlite_core.index)("idx_device_party_relationship__device_id__party_id").on(
386
+ table2.deviceId,
387
+ table2.partyId
388
+ ),
389
+ (0, import_sqlite_core.unique)().on(table2.deviceId, table2.partyId),
390
+ checkJSON(table2.elaboration)
391
+ ]);
392
+ var behavior = (0, import_sqlite_core.sqliteTable)("behavior", {
393
+ behaviorId: varchar("behavior_id").primaryKey().notNull(),
394
+ deviceId: (0, import_sqlite_core.text)("device_id").notNull(),
395
+ behaviorName: (0, import_sqlite_core.text)("behavior_name").notNull(),
396
+ behaviorConfJson: (0, import_sqlite_core.text)("behavior_conf_json").notNull(),
397
+ assuranceSchemaId: (0, import_sqlite_core.text)("assurance_schema_id"),
398
+ governance: (0, import_sqlite_core.text)(),
399
+ ...housekeeping
400
+ }, (table2) => [
401
+ (0, import_sqlite_core.unique)().on(table2.deviceId, table2.behaviorName),
402
+ checkJSON(table2.behaviorConfJson),
403
+ checkJSON(table2.governance)
404
+ ]);
405
+ var urIngestResourcePathMatchRule = (0, import_sqlite_core.sqliteTable)(
406
+ "ur_ingest_resource_path_match_rule",
407
+ {
408
+ urIngestResourcePathMatchRuleId: (0, import_sqlite_core.text)(
409
+ "ur_ingest_resource_path_match_rule_id"
410
+ ).primaryKey().notNull(),
411
+ namespace: (0, import_sqlite_core.text)().notNull(),
412
+ regex: (0, import_sqlite_core.text)().notNull(),
413
+ flags: (0, import_sqlite_core.text)().notNull(),
414
+ nature: (0, import_sqlite_core.text)(),
415
+ priority: (0, import_sqlite_core.text)(),
416
+ description: (0, import_sqlite_core.text)(),
417
+ includeGlobPatterns: textArray("include_glob_patterns"),
418
+ excludeGlobPatterns: textArray("exclude_glob_patterns"),
419
+ elaboration: (0, import_sqlite_core.text)(),
420
+ ...housekeeping
421
+ },
422
+ (table2) => [
423
+ checkJSON(table2.elaboration),
424
+ (0, import_sqlite_core.unique)("unq_path_match_regex").on(table2.namespace, table2.regex)
425
+ ]
426
+ );
427
+ var urIngestResourcePathRewriteRule = (0, import_sqlite_core.sqliteTable)(
428
+ "ur_ingest_resource_path_rewrite_rule",
429
+ {
430
+ urIngestResourcePathRewriteRuleId: (0, import_sqlite_core.text)(
431
+ "ur_ingest_resource_path_rewrite_rule_id"
432
+ ).primaryKey().notNull(),
433
+ namespace: (0, import_sqlite_core.text)().notNull(),
434
+ regex: (0, import_sqlite_core.text)().notNull(),
435
+ replace: (0, import_sqlite_core.text)().notNull(),
436
+ priority: (0, import_sqlite_core.text)(),
437
+ description: (0, import_sqlite_core.text)(),
438
+ elaboration: (0, import_sqlite_core.text)(),
439
+ ...housekeeping
440
+ },
441
+ (table2) => [
442
+ (0, import_sqlite_core.unique)().on(table2.namespace, table2.regex, table2.replace),
443
+ checkJSON(table2.elaboration)
444
+ ]
445
+ );
446
+ var urIngestSession = (0, import_sqlite_core.sqliteTable)("ur_ingest_session", {
447
+ urIngestSessionId: (0, import_sqlite_core.text)("ur_ingest_session_id").primaryKey().notNull(),
448
+ deviceId: (0, import_sqlite_core.text)("device_id").notNull().references(() => device.deviceId),
449
+ behaviorId: (0, import_sqlite_core.text)("behavior_id").references(() => behavior.behaviorId),
450
+ behaviorJson: (0, import_sqlite_core.text)("behavior_json"),
451
+ ingestStartedAt: timestamptz("ingest_started_at").notNull(),
452
+ ingestFinishedAt: timestamptz("ingest_finished_at"),
453
+ sessionAgent: (0, import_sqlite_core.text)("session_agent").notNull(),
454
+ elaboration: (0, import_sqlite_core.text)(),
455
+ ...housekeeping
456
+ }, (table2) => [
457
+ (0, import_sqlite_core.unique)().on(table2.deviceId, table2.createdAt),
458
+ checkJSON(table2.behaviorJson),
459
+ checkJSON(table2.sessionAgent),
460
+ checkJSON(table2.elaboration)
461
+ ]);
462
+ var urIngestSessionFsPath = (0, import_sqlite_core.sqliteTable)("ur_ingest_session_fs_path", {
463
+ urIngestSessionFsPathId: (0, import_sqlite_core.text)("ur_ingest_session_fs_path_id").primaryKey().notNull(),
464
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
465
+ () => urIngestSession.urIngestSessionId
466
+ ),
467
+ rootPath: (0, import_sqlite_core.text)("root_path").notNull(),
468
+ includeGlobPatterns: textArray("include_glob_patterns"),
469
+ excludeGlobPatterns: textArray("exclude_glob_patterns"),
470
+ elaboration: (0, import_sqlite_core.text)(),
471
+ ...housekeeping
472
+ }, (table2) => [
473
+ (0, import_sqlite_core.index)("idx_ur_ingest_session_fs_path__ingest_session_id__root_path").on(
474
+ table2.ingestSessionId,
475
+ table2.rootPath
476
+ ),
477
+ (0, import_sqlite_core.unique)().on(table2.ingestSessionId, table2.rootPath, table2.createdAt),
478
+ checkJSON(table2.elaboration)
479
+ ]);
480
+ var uniformResource = (0, import_sqlite_core.sqliteTable)("uniform_resource", {
481
+ uniformResourceId: (0, import_sqlite_core.text)("uniform_resource_id").primaryKey().notNull(),
482
+ deviceId: (0, import_sqlite_core.text)("device_id").notNull().references(() => device.deviceId),
483
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
484
+ () => urIngestSession.urIngestSessionId
485
+ ),
486
+ ingestFsPathId: (0, import_sqlite_core.text)("ingest_fs_path_id").references(
487
+ () => urIngestSessionFsPath.urIngestSessionFsPathId
488
+ ),
489
+ ingestSessionImapAcctFolderMessage: (0, import_sqlite_core.text)(
490
+ "ingest_session_imap_acct_folder_message"
491
+ ).references(
492
+ () => urIngestSessionImapAcctFolderMessage.urIngestSessionImapAcctFolderMessageId
493
+ ),
494
+ ingestIssueAcctProjectId: (0, import_sqlite_core.text)("ingest_issue_acct_project_id").references(
495
+ () => urIngestSessionPlmAcctProject.urIngestSessionPlmAcctProjectId
496
+ ),
497
+ uri: (0, import_sqlite_core.text)().notNull(),
498
+ contentDigest: (0, import_sqlite_core.text)("content_digest").notNull(),
499
+ content: (0, import_sqlite_core.blob)(),
500
+ nature: (0, import_sqlite_core.text)(),
501
+ sizeBytes: (0, import_sqlite_core.integer)("size_bytes"),
502
+ lastModifiedAt: timestamptz("last_modified_at"),
503
+ contentFmBodyAttrs: (0, import_sqlite_core.text)("content_fm_body_attrs"),
504
+ frontmatter: (0, import_sqlite_core.text)(),
505
+ elaboration: (0, import_sqlite_core.text)(),
506
+ ...housekeeping
507
+ }, (table2) => [
508
+ (0, import_sqlite_core.index)("idx_uniform_resource__device_id__uri").on(table2.deviceId, table2.uri),
509
+ (0, import_sqlite_core.unique)().on(table2.deviceId, table2.contentDigest, table2.uri, table2.sizeBytes),
510
+ checkJSON(table2.contentFmBodyAttrs),
511
+ checkJSON(table2.frontmatter),
512
+ checkJSON(table2.elaboration)
513
+ ]);
514
+ var uniformResourceTransform = (0, import_sqlite_core.sqliteTable)("uniform_resource_transform", {
515
+ uniformResourceTransformId: (0, import_sqlite_core.text)("uniform_resource_transform_id").primaryKey().notNull(),
516
+ uniformResourceId: (0, import_sqlite_core.text)("uniform_resource_id").notNull().references(
517
+ () => uniformResource.uniformResourceId
518
+ ),
519
+ uri: (0, import_sqlite_core.text)().notNull(),
520
+ contentDigest: (0, import_sqlite_core.text)("content_digest").notNull(),
521
+ content: (0, import_sqlite_core.text)(),
522
+ nature: (0, import_sqlite_core.text)(),
523
+ sizeBytes: (0, import_sqlite_core.integer)("size_bytes"),
524
+ elaboration: (0, import_sqlite_core.text)(),
525
+ ...housekeeping
526
+ }, (table2) => [
527
+ (0, import_sqlite_core.index)("idx_uniform_resource_transform__uniform_resource_id__content_digest").on(table2.uniformResourceId, table2.contentDigest),
528
+ (0, import_sqlite_core.unique)().on(table2.uniformResourceId, table2.contentDigest, table2.nature, table2.sizeBytes),
529
+ checkJSON(table2.elaboration)
530
+ ]);
531
+ var urIngestSessionFsPathEntry = (0, import_sqlite_core.sqliteTable)(
532
+ "ur_ingest_session_fs_path_entry",
533
+ {
534
+ urIngestSessionFsPathEntryId: (0, import_sqlite_core.text)("ur_ingest_session_fs_path_entry_id").primaryKey().notNull(),
535
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
536
+ () => urIngestSession.urIngestSessionId
537
+ ),
538
+ ingestFsPathId: (0, import_sqlite_core.text)("ingest_fs_path_id").notNull().references(
539
+ () => urIngestSessionFsPath.urIngestSessionFsPathId
540
+ ),
541
+ uniformResourceId: (0, import_sqlite_core.text)("uniform_resource_id").references(
542
+ () => uniformResource.uniformResourceId
543
+ ),
544
+ filePathAbs: (0, import_sqlite_core.text)("file_path_abs").notNull(),
545
+ filePathRelParent: (0, import_sqlite_core.text)("file_path_rel_parent").notNull(),
546
+ filePathRel: (0, import_sqlite_core.text)("file_path_rel").notNull(),
547
+ fileBasename: (0, import_sqlite_core.text)("file_basename").notNull(),
548
+ fileExtn: (0, import_sqlite_core.text)("file_extn"),
549
+ capturedExecutable: (0, import_sqlite_core.text)("captured_executable"),
550
+ urStatus: (0, import_sqlite_core.text)("ur_status"),
551
+ urDiagnostics: (0, import_sqlite_core.text)("ur_diagnostics"),
552
+ urTransformations: (0, import_sqlite_core.text)("ur_transformations"),
553
+ elaboration: (0, import_sqlite_core.text)(),
554
+ ...housekeeping
555
+ },
556
+ (table2) => [
557
+ (0, import_sqlite_core.index)(
558
+ "idx_ur_ingest_session_fs_path_entry__ingest_session_id__file_path_abs"
559
+ ).on(table2.ingestSessionId, table2.filePathAbs),
560
+ (0, import_sqlite_core.unique)(
561
+ "uq_ur_ingest_session_fs_path_entry__ingest_session_id__ingest_fs_path_id__file_path_abs"
562
+ ).on(table2.ingestSessionId, table2.ingestFsPathId, table2.filePathAbs),
563
+ checkJSON(table2.capturedExecutable),
564
+ checkJSON(table2.urDiagnostics),
565
+ checkJSON(table2.urTransformations),
566
+ checkJSON(table2.elaboration)
567
+ ]
568
+ );
569
+ var urIngestSessionTask = (0, import_sqlite_core.sqliteTable)("ur_ingest_session_task", {
570
+ urIngestSessionTaskId: (0, import_sqlite_core.text)("ur_ingest_session_task_id").primaryKey().notNull(),
571
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
572
+ () => urIngestSession.urIngestSessionId
573
+ ),
574
+ uniformResourceId: (0, import_sqlite_core.text)("uniform_resource_id").references(
575
+ () => uniformResource.uniformResourceId
576
+ ),
577
+ capturedExecutable: (0, import_sqlite_core.text)("captured_executable").notNull(),
578
+ urStatus: (0, import_sqlite_core.text)("ur_status"),
579
+ urDiagnostics: (0, import_sqlite_core.text)("ur_diagnostics"),
580
+ urTransformations: (0, import_sqlite_core.text)("ur_transformations"),
581
+ elaboration: (0, import_sqlite_core.text)(),
582
+ ...housekeeping
583
+ }, (table2) => [
584
+ (0, import_sqlite_core.index)("idx_ur_ingest_session_task__ingest_session_id").on(
585
+ table2.ingestSessionId
586
+ ),
587
+ checkJSON(table2.capturedExecutable),
588
+ checkJSON(table2.urDiagnostics),
589
+ checkJSON(table2.urTransformations),
590
+ checkJSON(table2.elaboration)
591
+ ]);
592
+ var urIngestSessionImapAccount = (0, import_sqlite_core.sqliteTable)(
593
+ "ur_ingest_session_imap_account",
594
+ {
595
+ urIngestSessionImapAccountId: (0, import_sqlite_core.text)("ur_ingest_session_imap_account_id").primaryKey().notNull(),
596
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
597
+ () => urIngestSession.urIngestSessionId
598
+ ),
599
+ email: (0, import_sqlite_core.text)(),
600
+ password: (0, import_sqlite_core.text)(),
601
+ host: (0, import_sqlite_core.text)(),
602
+ elaboration: (0, import_sqlite_core.text)(),
603
+ ...housekeeping
604
+ },
605
+ (table2) => [
606
+ (0, import_sqlite_core.index)("idx_ur_ingest_session_imap_account__ingest_session_id__email").on(
607
+ table2.ingestSessionId,
608
+ table2.email
609
+ ),
610
+ (0, import_sqlite_core.unique)().on(table2.ingestSessionId, table2.email)
611
+ ]
612
+ );
613
+ var urIngestSessionImapAcctFolder = (0, import_sqlite_core.sqliteTable)(
614
+ "ur_ingest_session_imap_acct_folder",
615
+ {
616
+ urIngestSessionImapAcctFolderId: (0, import_sqlite_core.text)(
617
+ "ur_ingest_session_imap_acct_folder_id"
618
+ ).primaryKey().notNull(),
619
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
620
+ () => urIngestSession.urIngestSessionId
621
+ ),
622
+ ingestAccountId: (0, import_sqlite_core.text)("ingest_account_id").notNull().references(
623
+ () => urIngestSessionImapAccount.urIngestSessionImapAccountId
624
+ ),
625
+ folderName: (0, import_sqlite_core.text)("folder_name").notNull(),
626
+ includeSenders: textArray("include_senders"),
627
+ excludeSenders: textArray("exclude_senders"),
628
+ elaboration: (0, import_sqlite_core.text)(),
629
+ ...housekeeping
630
+ },
631
+ (table2) => [
632
+ (0, import_sqlite_core.index)(
633
+ "idx_ur_ingest_session_imap_acct_folder__ingest_session_id__folder_name"
634
+ ).on(table2.ingestSessionId, table2.folderName),
635
+ (0, import_sqlite_core.unique)().on(table2.ingestAccountId, table2.folderName)
636
+ ]
637
+ );
638
+ var urIngestSessionImapAcctFolderMessage = (0, import_sqlite_core.sqliteTable)(
639
+ "ur_ingest_session_imap_acct_folder_message",
640
+ {
641
+ urIngestSessionImapAcctFolderMessageId: (0, import_sqlite_core.text)(
642
+ "ur_ingest_session_imap_acct_folder_message_id"
643
+ ).primaryKey().notNull(),
644
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
645
+ () => urIngestSession.urIngestSessionId
646
+ ),
647
+ ingestImapAcctFolderId: (0, import_sqlite_core.text)("ingest_imap_acct_folder_id").notNull().references(
648
+ () => urIngestSessionImapAcctFolder.urIngestSessionImapAcctFolderId
649
+ ),
650
+ message: (0, import_sqlite_core.text)().notNull(),
651
+ messageId: (0, import_sqlite_core.text)("message_id").notNull(),
652
+ subject: (0, import_sqlite_core.text)().notNull(),
653
+ from: (0, import_sqlite_core.text)().notNull(),
654
+ cc: (0, import_sqlite_core.text)().notNull(),
655
+ bcc: (0, import_sqlite_core.text)().notNull(),
656
+ status: textArray().notNull(),
657
+ date: date(),
658
+ emailReferences: (0, import_sqlite_core.text)("email_references").notNull(),
659
+ ...housekeeping
660
+ },
661
+ (table2) => [
662
+ (0, import_sqlite_core.index)("idx_ur_ingest_session_imap_acct_folder_message__ingest_session_id").on(table2.ingestSessionId),
663
+ (0, import_sqlite_core.unique)().on(table2.message, table2.messageId),
664
+ checkJSON(table2.cc),
665
+ checkJSON(table2.bcc),
666
+ checkJSON(table2.emailReferences)
667
+ ]
668
+ );
669
+ var urIngestSessionPlmAccount = (0, import_sqlite_core.sqliteTable)(
670
+ "ur_ingest_session_plm_account",
671
+ {
672
+ urIngestSessionPlmAccountId: varchar("ur_ingest_session_plm_account_id").primaryKey().notNull(),
673
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
674
+ () => urIngestSession.urIngestSessionId
675
+ ),
676
+ provider: (0, import_sqlite_core.text)().notNull(),
677
+ orgName: (0, import_sqlite_core.text)("org_name").notNull(),
678
+ elaboration: (0, import_sqlite_core.text)(),
679
+ ...housekeeping
680
+ },
681
+ (table2) => [
682
+ (0, import_sqlite_core.unique)().on(table2.provider, table2.orgName),
683
+ checkJSON(table2.elaboration)
684
+ ]
685
+ );
686
+ var urIngestSessionPlmAcctProject = (0, import_sqlite_core.sqliteTable)(
687
+ "ur_ingest_session_plm_acct_project",
688
+ {
689
+ urIngestSessionPlmAcctProjectId: varchar(
690
+ "ur_ingest_session_plm_acct_project_id"
691
+ ).primaryKey().notNull(),
692
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
693
+ () => urIngestSession.urIngestSessionId
694
+ ),
695
+ ingestAccountId: (0, import_sqlite_core.text)("ingest_account_id").notNull().references(
696
+ () => urIngestSessionPlmAccount.urIngestSessionPlmAccountId
697
+ ),
698
+ parentProjectId: (0, import_sqlite_core.text)("parent_project_id"),
699
+ name: (0, import_sqlite_core.text)().notNull(),
700
+ description: (0, import_sqlite_core.text)(),
701
+ id: (0, import_sqlite_core.text)(),
702
+ key: (0, import_sqlite_core.text)(),
703
+ elaboration: (0, import_sqlite_core.text)(),
704
+ ...housekeeping
705
+ },
706
+ (table2) => [
707
+ (0, import_sqlite_core.unique)().on(table2.name, table2.description),
708
+ checkJSON(table2.elaboration)
709
+ ]
710
+ );
711
+ var urIngestSessionPlmUser = (0, import_sqlite_core.sqliteTable)("ur_ingest_session_plm_user", {
712
+ urIngestSessionPlmUserId: varchar("ur_ingest_session_plm_user_id").primaryKey().notNull(),
713
+ userId: (0, import_sqlite_core.text)("user_id").notNull(),
714
+ login: (0, import_sqlite_core.text)().notNull(),
715
+ email: (0, import_sqlite_core.text)(),
716
+ name: (0, import_sqlite_core.text)(),
717
+ url: (0, import_sqlite_core.text)().notNull(),
718
+ elaboration: (0, import_sqlite_core.text)(),
719
+ ...housekeeping
720
+ }, (table2) => [
721
+ (0, import_sqlite_core.unique)().on(table2.userId, table2.login),
722
+ checkJSON(table2.elaboration)
723
+ ]);
724
+ var urIngestSessionPlmIssueType = (0, import_sqlite_core.sqliteTable)(
725
+ "ur_ingest_session_plm_issue_type",
726
+ {
727
+ urIngestSessionPlmIssueTypeId: varchar("ur_ingest_session_plm_issue_type_id").primaryKey().notNull(),
728
+ avatarId: (0, import_sqlite_core.text)("avatar_id"),
729
+ description: (0, import_sqlite_core.text)().notNull(),
730
+ iconUrl: (0, import_sqlite_core.text)("icon_url").notNull(),
731
+ id: (0, import_sqlite_core.text)().notNull(),
732
+ name: (0, import_sqlite_core.text)().notNull(),
733
+ subtask: (0, import_sqlite_core.integer)().notNull(),
734
+ url: (0, import_sqlite_core.text)().notNull(),
735
+ elaboration: (0, import_sqlite_core.text)(),
736
+ ...housekeeping
737
+ },
738
+ (table2) => [
739
+ (0, import_sqlite_core.unique)().on(table2.id, table2.name),
740
+ checkJSON(table2.elaboration)
741
+ ]
742
+ );
743
+ var urIngestSessionPlmAcctProjectIssue = (0, import_sqlite_core.sqliteTable)(
744
+ "ur_ingest_session_plm_acct_project_issue",
745
+ {
746
+ urIngestSessionPlmAcctProjectIssueId: varchar(
747
+ "ur_ingest_session_plm_acct_project_issue_id"
748
+ ).primaryKey().notNull(),
749
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").notNull().references(
750
+ () => urIngestSession.urIngestSessionId
751
+ ),
752
+ urIngestSessionPlmAcctProjectId: (0, import_sqlite_core.text)(
753
+ "ur_ingest_session_plm_acct_project_id"
754
+ ).notNull().references(
755
+ () => urIngestSessionPlmAcctProject.urIngestSessionPlmAcctProjectId
756
+ ),
757
+ uniformResourceId: (0, import_sqlite_core.text)("uniform_resource_id").references(
758
+ () => uniformResource.uniformResourceId
759
+ ),
760
+ issueId: (0, import_sqlite_core.text)("issue_id").notNull(),
761
+ issueNumber: (0, import_sqlite_core.integer)("issue_number"),
762
+ parentIssueId: (0, import_sqlite_core.text)("parent_issue_id"),
763
+ title: (0, import_sqlite_core.text)().notNull(),
764
+ body: (0, import_sqlite_core.text)(),
765
+ bodyText: (0, import_sqlite_core.text)("body_text"),
766
+ bodyHtml: (0, import_sqlite_core.text)("body_html"),
767
+ state: (0, import_sqlite_core.text)().notNull(),
768
+ assignedTo: (0, import_sqlite_core.text)("assigned_to"),
769
+ user: (0, import_sqlite_core.text)().notNull().references(
770
+ () => urIngestSessionPlmUser.urIngestSessionPlmUserId
771
+ ),
772
+ url: (0, import_sqlite_core.text)().notNull(),
773
+ closedAt: (0, import_sqlite_core.text)("closed_at"),
774
+ issueTypeId: (0, import_sqlite_core.text)("issue_type_id").references(
775
+ () => urIngestSessionPlmIssueType.urIngestSessionPlmIssueTypeId
776
+ ),
777
+ timeEstimate: (0, import_sqlite_core.integer)("time_estimate"),
778
+ aggregateTimeEstimate: (0, import_sqlite_core.integer)("aggregate_time_estimate"),
779
+ timeOriginalEstimate: (0, import_sqlite_core.integer)("time_original_estimate"),
780
+ timeSpent: (0, import_sqlite_core.integer)("time_spent"),
781
+ aggregateTimeSpent: (0, import_sqlite_core.integer)("aggregate_time_spent"),
782
+ aggregateTimeOriginalEstimate: (0, import_sqlite_core.integer)("aggregate_time_original_estimate"),
783
+ workratio: (0, import_sqlite_core.integer)(),
784
+ currentProgress: (0, import_sqlite_core.integer)("current_progress"),
785
+ totalProgress: (0, import_sqlite_core.integer)("total_progress"),
786
+ resolutionName: (0, import_sqlite_core.text)("resolution_name"),
787
+ resolutionDate: (0, import_sqlite_core.text)("resolution_date"),
788
+ elaboration: (0, import_sqlite_core.text)(),
789
+ ...housekeeping
790
+ },
791
+ (table2) => [
792
+ (0, import_sqlite_core.unique)().on(table2.title, table2.issueId, table2.state, table2.assignedTo),
793
+ checkJSON(table2.elaboration)
794
+ ]
795
+ );
796
+ var urIngestSessionPlmAcctLabel = (0, import_sqlite_core.sqliteTable)(
797
+ "ur_ingest_session_plm_acct_label",
798
+ {
799
+ urIngestSessionPlmAcctLabelId: varchar("ur_ingest_session_plm_acct_label_id").primaryKey().notNull(),
800
+ urIngestSessionPlmAcctProjectId: (0, import_sqlite_core.text)(
801
+ "ur_ingest_session_plm_acct_project_id"
802
+ ).notNull().references(
803
+ () => urIngestSessionPlmAcctProject.urIngestSessionPlmAcctProjectId
804
+ ),
805
+ urIngestSessionPlmAcctProjectIssueId: (0, import_sqlite_core.text)(
806
+ "ur_ingest_session_plm_acct_project_issue_id"
807
+ ).notNull().references(
808
+ () => urIngestSessionPlmAcctProjectIssue.urIngestSessionPlmAcctProjectIssueId
809
+ ),
810
+ label: (0, import_sqlite_core.text)().notNull(),
811
+ elaboration: (0, import_sqlite_core.text)(),
812
+ ...housekeeping
813
+ },
814
+ (table2) => [
815
+ checkJSON(table2.elaboration)
816
+ ]
817
+ );
818
+ var urIngestSessionPlmMilestone = (0, import_sqlite_core.sqliteTable)(
819
+ "ur_ingest_session_plm_milestone",
820
+ {
821
+ urIngestSessionPlmMilestoneId: varchar("ur_ingest_session_plm_milestone_id").primaryKey().notNull(),
822
+ urIngestSessionPlmAcctProjectId: (0, import_sqlite_core.text)(
823
+ "ur_ingest_session_plm_acct_project_id"
824
+ ).notNull().references(
825
+ () => urIngestSessionPlmAcctProject.urIngestSessionPlmAcctProjectId
826
+ ),
827
+ title: (0, import_sqlite_core.text)().notNull(),
828
+ milestoneId: (0, import_sqlite_core.text)("milestone_id").notNull(),
829
+ url: (0, import_sqlite_core.text)().notNull(),
830
+ htmlUrl: (0, import_sqlite_core.text)("html_url").notNull(),
831
+ openIssues: (0, import_sqlite_core.integer)("open_issues"),
832
+ closedIssues: (0, import_sqlite_core.integer)("closed_issues"),
833
+ dueOn: timestamptz("due_on"),
834
+ closedAt: timestamptz("closed_at"),
835
+ elaboration: (0, import_sqlite_core.text)(),
836
+ ...housekeeping
837
+ },
838
+ (table2) => [
839
+ checkJSON(table2.elaboration)
840
+ ]
841
+ );
842
+ var urIngestSessionPlmAcctRelationship = (0, import_sqlite_core.sqliteTable)(
843
+ "ur_ingest_session_plm_acct_relationship",
844
+ {
845
+ urIngestSessionPlmAcctRelationshipId: varchar(
846
+ "ur_ingest_session_plm_acct_relationship_id"
847
+ ).primaryKey().notNull(),
848
+ urIngestSessionPlmAcctProjectIdPrime: (0, import_sqlite_core.text)(
849
+ "ur_ingest_session_plm_acct_project_id_prime"
850
+ ).notNull().references(
851
+ () => urIngestSessionPlmAcctProject.urIngestSessionPlmAcctProjectId
852
+ ),
853
+ urIngestSessionPlmAcctProjectIdRelated: (0, import_sqlite_core.text)(
854
+ "ur_ingest_session_plm_acct_project_id_related"
855
+ ).notNull(),
856
+ urIngestSessionPlmAcctProjectIssueIdPrime: (0, import_sqlite_core.text)(
857
+ "ur_ingest_session_plm_acct_project_issue_id_prime"
858
+ ).notNull().references(
859
+ () => urIngestSessionPlmAcctProjectIssue.urIngestSessionPlmAcctProjectIssueId
860
+ ),
861
+ urIngestSessionPlmAcctProjectIssueIdRelated: (0, import_sqlite_core.text)(
862
+ "ur_ingest_session_plm_acct_project_issue_id_related"
863
+ ).notNull(),
864
+ relationship: (0, import_sqlite_core.text)(),
865
+ elaboration: (0, import_sqlite_core.text)(),
866
+ ...housekeeping
867
+ },
868
+ (table2) => [
869
+ checkJSON(table2.elaboration)
870
+ ]
871
+ );
872
+ var urIngestSessionPlmComment = (0, import_sqlite_core.sqliteTable)(
873
+ "ur_ingest_session_plm_comment",
874
+ {
875
+ urIngestSessionPlmCommentId: varchar("ur_ingest_session_plm_comment_id").primaryKey().notNull(),
876
+ urIngestSessionPlmAcctProjectIssueId: (0, import_sqlite_core.text)(
877
+ "ur_ingest_session_plm_acct_project_issue_id"
878
+ ).notNull().references(
879
+ () => urIngestSessionPlmAcctProjectIssue.urIngestSessionPlmAcctProjectIssueId
880
+ ),
881
+ commentId: (0, import_sqlite_core.text)("comment_id").notNull(),
882
+ nodeId: (0, import_sqlite_core.text)("node_id").notNull(),
883
+ url: (0, import_sqlite_core.text)().notNull(),
884
+ body: (0, import_sqlite_core.text)(),
885
+ bodyText: (0, import_sqlite_core.text)("body_text"),
886
+ bodyHtml: (0, import_sqlite_core.text)("body_html"),
887
+ user: (0, import_sqlite_core.text)().notNull().references(
888
+ () => urIngestSessionPlmUser.urIngestSessionPlmUserId
889
+ ),
890
+ elaboration: (0, import_sqlite_core.text)(),
891
+ ...housekeeping
892
+ },
893
+ (table2) => [
894
+ (0, import_sqlite_core.unique)().on(table2.commentId, table2.url, table2.body),
895
+ checkJSON(table2.elaboration)
896
+ ]
897
+ );
898
+ var urIngestSessionPlmReaction = (0, import_sqlite_core.sqliteTable)(
899
+ "ur_ingest_session_plm_reaction",
900
+ {
901
+ urIngestSessionPlmReactionId: varchar("ur_ingest_session_plm_reaction_id").primaryKey().notNull(),
902
+ reactionId: (0, import_sqlite_core.text)("reaction_id").notNull(),
903
+ reactionType: (0, import_sqlite_core.text)("reaction_type").notNull(),
904
+ elaboration: (0, import_sqlite_core.text)(),
905
+ ...housekeeping
906
+ },
907
+ (table2) => [
908
+ (0, import_sqlite_core.unique)().on(table2.reactionType),
909
+ checkJSON(table2.elaboration)
910
+ ]
911
+ );
912
+ var urIngestSessionPlmIssueReaction = (0, import_sqlite_core.sqliteTable)(
913
+ "ur_ingest_session_plm_issue_reaction",
914
+ {
915
+ urIngestSessionPlmIssueReactionId: varchar(
916
+ "ur_ingest_session_plm_issue_reaction_id"
917
+ ).primaryKey().notNull(),
918
+ urIngestPlmReactionId: (0, import_sqlite_core.text)("ur_ingest_plm_reaction_id").notNull().references(() => urIngestSessionPlmReaction.urIngestSessionPlmReactionId),
919
+ urIngestPlmIssueId: (0, import_sqlite_core.text)("ur_ingest_plm_issue_id").notNull().references(
920
+ () => urIngestSessionPlmAcctProjectIssue.urIngestSessionPlmAcctProjectIssueId
921
+ ),
922
+ count: (0, import_sqlite_core.integer)().default(1),
923
+ elaboration: (0, import_sqlite_core.text)(),
924
+ ...housekeeping
925
+ },
926
+ (table2) => [
927
+ (0, import_sqlite_core.unique)().on(table2.urIngestPlmIssueId, table2.urIngestPlmReactionId),
928
+ checkJSON(table2.elaboration)
929
+ ]
930
+ );
931
+ var urIngestSessionAttachment = (0, import_sqlite_core.sqliteTable)("ur_ingest_session_attachment", {
932
+ urIngestSessionAttachmentId: (0, import_sqlite_core.text)("ur_ingest_session_attachment_id").primaryKey().notNull(),
933
+ uniformResourceId: (0, import_sqlite_core.text)("uniform_resource_id").references(
934
+ () => uniformResource.uniformResourceId
935
+ ),
936
+ name: (0, import_sqlite_core.text)(),
937
+ uri: (0, import_sqlite_core.text)().notNull(),
938
+ content: (0, import_sqlite_core.blob)(),
939
+ nature: (0, import_sqlite_core.text)(),
940
+ size: (0, import_sqlite_core.integer)(),
941
+ checksum: (0, import_sqlite_core.text)(),
942
+ elaboration: (0, import_sqlite_core.text)(),
943
+ ...housekeeping
944
+ }, (table2) => [
945
+ (0, import_sqlite_core.index)("idx_ur_ingest_session_attachment__uniform_resource_id__content").on(
946
+ table2.uniformResourceId,
947
+ table2.content
948
+ ),
949
+ (0, import_sqlite_core.unique)().on(table2.uniformResourceId, table2.checksum, table2.nature, table2.size)
950
+ ]);
951
+ var urIngestSessionUdiPgpSql = (0, import_sqlite_core.sqliteTable)("ur_ingest_session_udi_pgp_sql", {
952
+ urIngestSessionUdiPgpSqlId: (0, import_sqlite_core.text)("ur_ingest_session_udi_pgp_sql_id").primaryKey().notNull(),
953
+ sql: (0, import_sqlite_core.text)().notNull(),
954
+ nature: (0, import_sqlite_core.text)().notNull(),
955
+ content: (0, import_sqlite_core.blob)(),
956
+ behaviour: (0, import_sqlite_core.text)(),
957
+ queryError: (0, import_sqlite_core.text)("query_error"),
958
+ uniformResourceId: (0, import_sqlite_core.text)("uniform_resource_id").references(
959
+ () => uniformResource.uniformResourceId
960
+ ),
961
+ ingestSessionId: (0, import_sqlite_core.text)("ingest_session_id").references(
962
+ () => urIngestSession.urIngestSessionId
963
+ ),
964
+ ...housekeeping
965
+ }, (table2) => [
966
+ (0, import_sqlite_core.index)("idx_ur_ingest_session_udi_pgp_sql__ingest_session_id").on(
967
+ table2.ingestSessionId
968
+ ),
969
+ (0, import_sqlite_core.unique)().on(table2.sql, table2.ingestSessionId),
970
+ checkJSON(table2.behaviour)
971
+ ]);
972
+ var orchestrationNature = (0, import_sqlite_core.sqliteTable)("orchestration_nature", {
973
+ orchestrationNatureId: (0, import_sqlite_core.text)("orchestration_nature_id").primaryKey().notNull(),
974
+ nature: (0, import_sqlite_core.text)().notNull(),
975
+ elaboration: (0, import_sqlite_core.text)(),
976
+ ...housekeeping
977
+ }, (table2) => [
978
+ (0, import_sqlite_core.index)("idx_orchestration_nature__orchestration_nature_id__nature").on(
979
+ table2.orchestrationNatureId,
980
+ table2.nature
981
+ ),
982
+ (0, import_sqlite_core.unique)().on(table2.orchestrationNatureId, table2.nature)
983
+ ]);
984
+ var orchestrationSession = (0, import_sqlite_core.sqliteTable)("orchestration_session", {
985
+ orchestrationSessionId: (0, import_sqlite_core.text)("orchestration_session_id").primaryKey().notNull(),
986
+ deviceId: (0, import_sqlite_core.text)("device_id").notNull().references(() => device.deviceId),
987
+ orchestrationNatureId: (0, import_sqlite_core.text)("orchestration_nature_id").notNull().references(
988
+ () => orchestrationNature.orchestrationNatureId
989
+ ),
990
+ version: (0, import_sqlite_core.text)().notNull(),
991
+ orchStartedAt: timestamptz("orch_started_at"),
992
+ orchFinishedAt: timestamptz("orch_finished_at"),
993
+ elaboration: (0, import_sqlite_core.text)(),
994
+ argsJson: (0, import_sqlite_core.text)("args_json"),
995
+ diagnosticsJson: (0, import_sqlite_core.text)("diagnostics_json"),
996
+ diagnosticsMd: (0, import_sqlite_core.text)("diagnostics_md")
997
+ }, (table2) => [
998
+ checkJSON(table2.elaboration),
999
+ checkJSON(table2.argsJson),
1000
+ checkJSON(table2.diagnosticsJson)
1001
+ ]);
1002
+ var orchestrationSessionEntry = (0, import_sqlite_core.sqliteTable)("orchestration_session_entry", {
1003
+ orchestrationSessionEntryId: (0, import_sqlite_core.text)("orchestration_session_entry_id").primaryKey().notNull(),
1004
+ sessionId: (0, import_sqlite_core.text)("session_id").notNull().references(
1005
+ () => orchestrationSession.orchestrationSessionId
1006
+ ),
1007
+ ingestSrc: (0, import_sqlite_core.text)("ingest_src").notNull(),
1008
+ ingestTableName: (0, import_sqlite_core.text)("ingest_table_name"),
1009
+ elaboration: (0, import_sqlite_core.text)()
1010
+ }, (table2) => []);
1011
+ var orchestrationSessionState = (0, import_sqlite_core.sqliteTable)("orchestration_session_state", {
1012
+ orchestrationSessionStateId: (0, import_sqlite_core.text)("orchestration_session_state_id").primaryKey().notNull(),
1013
+ sessionId: (0, import_sqlite_core.text)("session_id").notNull().references(
1014
+ () => orchestrationSession.orchestrationSessionId
1015
+ ),
1016
+ sessionEntryId: (0, import_sqlite_core.text)("session_entry_id").references(
1017
+ () => orchestrationSessionEntry.orchestrationSessionEntryId
1018
+ ),
1019
+ fromState: (0, import_sqlite_core.text)("from_state").notNull(),
1020
+ toState: (0, import_sqlite_core.text)("to_state").notNull(),
1021
+ transitionResult: (0, import_sqlite_core.text)("transition_result"),
1022
+ transitionReason: (0, import_sqlite_core.text)("transition_reason"),
1023
+ transitionedAt: timestamptz("transitioned_at"),
1024
+ elaboration: (0, import_sqlite_core.text)()
1025
+ }, (table2) => [
1026
+ (0, import_sqlite_core.unique)().on(table2.orchestrationSessionStateId, table2.fromState, table2.toState)
1027
+ ]);
1028
+ var orchestrationSessionExec = (0, import_sqlite_core.sqliteTable)("orchestration_session_exec", {
1029
+ orchestrationSessionExecId: (0, import_sqlite_core.text)("orchestration_session_exec_id").primaryKey().notNull(),
1030
+ execNature: (0, import_sqlite_core.text)("exec_nature").notNull(),
1031
+ sessionId: (0, import_sqlite_core.text)("session_id").notNull().references(
1032
+ () => orchestrationSession.orchestrationSessionId
1033
+ ),
1034
+ sessionEntryId: (0, import_sqlite_core.text)("session_entry_id").references(
1035
+ () => orchestrationSessionEntry.orchestrationSessionEntryId
1036
+ ),
1037
+ parentExecId: (0, import_sqlite_core.text)("parent_exec_id"),
1038
+ namespace: (0, import_sqlite_core.text)(),
1039
+ execIdentity: (0, import_sqlite_core.text)("exec_identity"),
1040
+ execCode: (0, import_sqlite_core.text)("exec_code").notNull(),
1041
+ execStatus: (0, import_sqlite_core.integer)("exec_status").notNull(),
1042
+ inputText: (0, import_sqlite_core.text)("input_text"),
1043
+ execErrorText: (0, import_sqlite_core.text)("exec_error_text"),
1044
+ outputText: (0, import_sqlite_core.text)("output_text"),
1045
+ outputNature: (0, import_sqlite_core.text)("output_nature"),
1046
+ narrativeMd: (0, import_sqlite_core.text)("narrative_md"),
1047
+ elaboration: (0, import_sqlite_core.text)()
1048
+ }, (table2) => [
1049
+ (0, import_sqlite_core.foreignKey)(() => ({
1050
+ columns: [table2.parentExecId],
1051
+ foreignColumns: [table2.orchestrationSessionExecId],
1052
+ name: "orchestration_session_exec_parent_exec_id_orchestration_session_exec_orchestration_session_exec_id_fk"
1053
+ }))
1054
+ ]);
1055
+ var orchestrationSessionIssue = (0, import_sqlite_core.sqliteTable)("orchestration_session_issue", {
1056
+ orchestrationSessionIssueId: (0, import_sqlite_core.numeric)("orchestration_session_issue_id").primaryKey().notNull(),
1057
+ sessionId: (0, import_sqlite_core.text)("session_id").notNull().references(
1058
+ () => orchestrationSession.orchestrationSessionId
1059
+ ),
1060
+ sessionEntryId: (0, import_sqlite_core.text)("session_entry_id").references(
1061
+ () => orchestrationSessionEntry.orchestrationSessionEntryId
1062
+ ),
1063
+ issueType: (0, import_sqlite_core.text)("issue_type").notNull(),
1064
+ issueMessage: (0, import_sqlite_core.text)("issue_message").notNull(),
1065
+ issueRow: (0, import_sqlite_core.integer)("issue_row"),
1066
+ issueColumn: (0, import_sqlite_core.text)("issue_column"),
1067
+ invalidValue: (0, import_sqlite_core.text)("invalid_value"),
1068
+ remediation: (0, import_sqlite_core.text)(),
1069
+ elaboration: (0, import_sqlite_core.text)()
1070
+ }, (table2) => []);
1071
+ var orchestrationSessionIssueRelation = (0, import_sqlite_core.sqliteTable)(
1072
+ "orchestration_session_issue_relation",
1073
+ {
1074
+ orchestrationSessionIssueRelationId: (0, import_sqlite_core.numeric)(
1075
+ "orchestration_session_issue_relation_id"
1076
+ ).primaryKey().notNull(),
1077
+ issueIdPrime: (0, import_sqlite_core.numeric)("issue_id_prime").notNull().references(
1078
+ () => orchestrationSessionIssue.orchestrationSessionIssueId
1079
+ ),
1080
+ issueIdRel: (0, import_sqlite_core.text)("issue_id_rel").notNull(),
1081
+ relationshipNature: (0, import_sqlite_core.text)("relationship_nature").notNull(),
1082
+ elaboration: (0, import_sqlite_core.text)()
1083
+ },
1084
+ (table2) => []
1085
+ );
1086
+ var orchestrationSessionLog = (0, import_sqlite_core.sqliteTable)("orchestration_session_log", {
1087
+ orchestrationSessionLogId: (0, import_sqlite_core.numeric)("orchestration_session_log_id").primaryKey().notNull(),
1088
+ category: (0, import_sqlite_core.text)(),
1089
+ parentExecId: (0, import_sqlite_core.numeric)("parent_exec_id"),
1090
+ content: (0, import_sqlite_core.text)().notNull(),
1091
+ siblingOrder: (0, import_sqlite_core.integer)("sibling_order"),
1092
+ elaboration: (0, import_sqlite_core.text)()
1093
+ }, (table2) => [
1094
+ (0, import_sqlite_core.foreignKey)(() => ({
1095
+ columns: [table2.parentExecId],
1096
+ foreignColumns: [table2.orchestrationSessionLogId],
1097
+ name: "orchestration_session_log_parent_exec_id_orchestration_session_log_orchestration_session_log_id_fk"
1098
+ }))
1099
+ ]);
1100
+ var uniformResourceGraph = (0, import_sqlite_core.sqliteTable)("uniform_resource_graph", {
1101
+ name: (0, import_sqlite_core.text)().primaryKey().notNull(),
1102
+ elaboration: (0, import_sqlite_core.text)()
1103
+ }, (table2) => []);
1104
+ var uniformResourceEdge = (0, import_sqlite_core.sqliteTable)("uniform_resource_edge", {
1105
+ graphName: (0, import_sqlite_core.text)("graph_name").notNull().references(
1106
+ () => uniformResourceGraph.name
1107
+ ),
1108
+ nature: (0, import_sqlite_core.text)().notNull(),
1109
+ nodeId: (0, import_sqlite_core.text)("node_id").notNull(),
1110
+ uniformResourceId: (0, import_sqlite_core.text)("uniform_resource_id").notNull().references(
1111
+ () => uniformResource.uniformResourceId
1112
+ ),
1113
+ elaboration: (0, import_sqlite_core.text)()
1114
+ }, (table2) => [
1115
+ (0, import_sqlite_core.index)("idx_uniform_resource_edge__uniform_resource_id").on(
1116
+ table2.uniformResourceId
1117
+ ),
1118
+ (0, import_sqlite_core.unique)().on(table2.graphName, table2.nature, table2.nodeId, table2.uniformResourceId)
1119
+ ]);
1120
+ var surveilrOsqueryMsNode = (0, import_sqlite_core.sqliteTable)("surveilr_osquery_ms_node", {
1121
+ surveilrOsqueryMsNodeId: (0, import_sqlite_core.text)("surveilr_osquery_ms_node_id").primaryKey().notNull(),
1122
+ nodeKey: (0, import_sqlite_core.text)("node_key").notNull(),
1123
+ hostIdentifier: (0, import_sqlite_core.text)("host_identifier").notNull(),
1124
+ tlsCertSubject: (0, import_sqlite_core.text)("tls_cert_subject"),
1125
+ osVersion: (0, import_sqlite_core.text)("os_version").notNull(),
1126
+ platform: (0, import_sqlite_core.text)().notNull(),
1127
+ lastSeen: (0, import_sqlite_core.numeric)("last_seen").notNull(),
1128
+ status: (0, import_sqlite_core.text)().default("active").notNull(),
1129
+ osqueryVersion: (0, import_sqlite_core.text)("osquery_version"),
1130
+ osqueryBuildPlatform: (0, import_sqlite_core.text)("osquery_build_platform").notNull(),
1131
+ deviceId: (0, import_sqlite_core.text)("device_id").notNull().references(() => device.deviceId),
1132
+ behaviorId: (0, import_sqlite_core.text)("behavior_id").references(() => behavior.behaviorId),
1133
+ accelerate: (0, import_sqlite_core.integer)().default(60).notNull(),
1134
+ ...housekeeping
1135
+ }, (table2) => [
1136
+ (0, import_sqlite_core.index)("idx_surveilr_osquery_ms_node__node_key").on(table2.nodeKey),
1137
+ (0, import_sqlite_core.unique)().on(table2.hostIdentifier, table2.osVersion),
1138
+ (0, import_sqlite_core.unique)().on(table2.nodeKey)
1139
+ ]);
1140
+ var urIngestSessionOsqueryMsLog = (0, import_sqlite_core.sqliteTable)(
1141
+ "ur_ingest_session_osquery_ms_log",
1142
+ {
1143
+ urIngestSessionOsqueryMsLogId: (0, import_sqlite_core.text)("ur_ingest_session_osquery_ms_log_id").primaryKey().notNull(),
1144
+ nodeKey: (0, import_sqlite_core.text)("node_key").notNull().references(
1145
+ () => surveilrOsqueryMsNode.nodeKey
1146
+ ),
1147
+ logType: (0, import_sqlite_core.text)("log_type").notNull(),
1148
+ logData: (0, import_sqlite_core.text)("log_data").notNull(),
1149
+ appliedJqFilters: (0, import_sqlite_core.text)("applied_jq_filters"),
1150
+ ...housekeeping
1151
+ },
1152
+ (table2) => [
1153
+ (0, import_sqlite_core.unique)().on(table2.nodeKey, table2.logType, table2.logData)
1154
+ ]
1155
+ );
1156
+ var osqueryPolicy = (0, import_sqlite_core.sqliteTable)("osquery_policy", {
1157
+ osqueryPolicyId: (0, import_sqlite_core.text)("osquery_policy_id").primaryKey().notNull(),
1158
+ policyGroup: (0, import_sqlite_core.text)("policy_group"),
1159
+ policyName: (0, import_sqlite_core.text)("policy_name").notNull(),
1160
+ osqueryCode: (0, import_sqlite_core.text)("osquery_code").notNull(),
1161
+ policyDescription: (0, import_sqlite_core.text)("policy_description").notNull(),
1162
+ policyPassLabel: (0, import_sqlite_core.text)("policy_pass_label").default("Pass").notNull(),
1163
+ policyFailLabel: (0, import_sqlite_core.text)("policy_fail_label").default("Fail").notNull(),
1164
+ policyPassRemarks: (0, import_sqlite_core.text)("policy_pass_remarks"),
1165
+ policyFailRemarks: (0, import_sqlite_core.text)("policy_fail_remarks"),
1166
+ osqueryPlatforms: (0, import_sqlite_core.text)("osquery_platforms"),
1167
+ ...housekeeping
1168
+ }, (table2) => [
1169
+ (0, import_sqlite_core.unique)().on(table2.policyName, table2.osqueryCode)
1170
+ ]);
1171
+ var surveilrOsqueryMsDistributedQuery = (0, import_sqlite_core.sqliteTable)(
1172
+ "surveilr_osquery_ms_distributed_query",
1173
+ {
1174
+ queryId: (0, import_sqlite_core.text)("query_id").primaryKey().notNull(),
1175
+ nodeKey: (0, import_sqlite_core.text)("node_key").notNull().references(
1176
+ () => surveilrOsqueryMsNode.nodeKey
1177
+ ),
1178
+ queryName: (0, import_sqlite_core.text)("query_name").notNull(),
1179
+ querySql: (0, import_sqlite_core.text)("query_sql").notNull(),
1180
+ discoveryQuery: (0, import_sqlite_core.text)("discovery_query"),
1181
+ status: (0, import_sqlite_core.text)().notNull(),
1182
+ elaboration: (0, import_sqlite_core.text)(),
1183
+ interval: (0, import_sqlite_core.integer)().notNull(),
1184
+ ...housekeeping
1185
+ },
1186
+ (table2) => []
1187
+ );
1188
+ var surveilrOsqueryMsDistributedResult = (0, import_sqlite_core.sqliteTable)(
1189
+ "surveilr_osquery_ms_distributed_result",
1190
+ {
1191
+ surveilrOsqueryMsDistributedResultId: (0, import_sqlite_core.text)(
1192
+ "surveilr_osquery_ms_distributed_result_id"
1193
+ ).primaryKey().notNull(),
1194
+ queryId: (0, import_sqlite_core.text)("query_id").notNull().references(
1195
+ () => surveilrOsqueryMsDistributedQuery.queryId
1196
+ ),
1197
+ nodeKey: (0, import_sqlite_core.text)("node_key").notNull().references(
1198
+ () => surveilrOsqueryMsNode.nodeKey
1199
+ ),
1200
+ results: (0, import_sqlite_core.text)().notNull(),
1201
+ statusCode: (0, import_sqlite_core.integer)("status_code").notNull(),
1202
+ ...housekeeping
1203
+ },
1204
+ (table2) => []
1205
+ );
1206
+ var surveilrOsqueryMsCarve = (0, import_sqlite_core.sqliteTable)("surveilr_osquery_ms_carve", {
1207
+ surveilrOsqueryMsCarveId: (0, import_sqlite_core.text)("surveilr_osquery_ms_carve_id").primaryKey().notNull(),
1208
+ nodeKey: (0, import_sqlite_core.text)("node_key").notNull().references(
1209
+ () => surveilrOsqueryMsNode.nodeKey
1210
+ ),
1211
+ sessionId: (0, import_sqlite_core.text)("session_id").notNull(),
1212
+ carveGuid: (0, import_sqlite_core.text)("carve_guid").notNull(),
1213
+ carveSize: (0, import_sqlite_core.integer)("carve_size").notNull(),
1214
+ blockCount: (0, import_sqlite_core.integer)("block_count").notNull(),
1215
+ blockSize: (0, import_sqlite_core.integer)("block_size").notNull(),
1216
+ receivedBlocks: (0, import_sqlite_core.integer)("received_blocks").default(0).notNull(),
1217
+ carvePath: (0, import_sqlite_core.text)("carve_path"),
1218
+ status: (0, import_sqlite_core.text)().notNull(),
1219
+ startTime: (0, import_sqlite_core.numeric)("start_time").notNull(),
1220
+ completionTime: (0, import_sqlite_core.numeric)("completion_time"),
1221
+ elaboration: (0, import_sqlite_core.text)(),
1222
+ ...housekeeping
1223
+ }, (table2) => [
1224
+ (0, import_sqlite_core.unique)().on(table2.sessionId),
1225
+ (0, import_sqlite_core.unique)().on(table2.carveGuid)
1226
+ ]);
1227
+ var surveilrOsqueryMsCarvedExtractedFile = (0, import_sqlite_core.sqliteTable)(
1228
+ "surveilr_osquery_ms_carved_extracted_file",
1229
+ {
1230
+ surveilrOsqueryMsCarvedExtractedFileId: (0, import_sqlite_core.text)(
1231
+ "surveilr_osquery_ms_carved_extracted_file_id"
1232
+ ).primaryKey().notNull(),
1233
+ carveGuid: (0, import_sqlite_core.text)("carve_guid").notNull().references(
1234
+ () => surveilrOsqueryMsCarve.carveGuid
1235
+ ),
1236
+ path: (0, import_sqlite_core.text)().notNull(),
1237
+ sizeBytes: (0, import_sqlite_core.integer)("size_bytes").notNull(),
1238
+ contentDigest: (0, import_sqlite_core.text)("content_digest").notNull(),
1239
+ nature: (0, import_sqlite_core.text)(),
1240
+ extractedAt: timestamptz("extracted_at").notNull(),
1241
+ ...housekeeping
1242
+ },
1243
+ (table2) => [
1244
+ (0, import_sqlite_core.index)("idx_surveilr_osquery_ms_carved_extracted_file__path__carve_guid").on(
1245
+ table2.path,
1246
+ table2.carveGuid
1247
+ )
1248
+ ]
1249
+ );
1250
+ var surveilrSnmpDevice = (0, import_sqlite_core.sqliteTable)("surveilr_snmp_device", {
1251
+ surveilrSnmpDeviceId: (0, import_sqlite_core.text)("surveilr_snmp_device_id").primaryKey().notNull(),
1252
+ deviceKey: (0, import_sqlite_core.text)("device_key").notNull(),
1253
+ snmpHost: (0, import_sqlite_core.text)("snmp_host").notNull(),
1254
+ snmpPort: (0, import_sqlite_core.integer)("snmp_port").default(161).notNull(),
1255
+ snmpCommunity: (0, import_sqlite_core.text)("snmp_community").notNull(),
1256
+ snmpVersion: (0, import_sqlite_core.text)("snmp_version").default("2c").notNull(),
1257
+ snmpTimeout: (0, import_sqlite_core.integer)("snmp_timeout").default(5).notNull(),
1258
+ snmpRetries: (0, import_sqlite_core.integer)("snmp_retries").default(3).notNull(),
1259
+ deviceType: (0, import_sqlite_core.text)("device_type"),
1260
+ deviceDescription: (0, import_sqlite_core.text)("device_description"),
1261
+ lastSeen: (0, import_sqlite_core.numeric)("last_seen").notNull(),
1262
+ status: (0, import_sqlite_core.text)().default("active").notNull(),
1263
+ deviceId: (0, import_sqlite_core.text)("device_id").notNull().references(() => device.deviceId),
1264
+ behaviorId: (0, import_sqlite_core.text)("behavior_id").references(() => behavior.behaviorId),
1265
+ elaboration: (0, import_sqlite_core.text)(),
1266
+ ...housekeeping
1267
+ }, (table2) => [
1268
+ (0, import_sqlite_core.index)("idx_surveilr_snmp_device__device_key").on(table2.deviceKey),
1269
+ (0, import_sqlite_core.unique)().on(table2.snmpHost, table2.snmpPort),
1270
+ (0, import_sqlite_core.unique)().on(table2.deviceKey),
1271
+ checkJSON(table2.elaboration)
1272
+ ]);
1273
+ var surveilrSnmpCollection = (0, import_sqlite_core.sqliteTable)("surveilr_snmp_collection", {
1274
+ surveilrSnmpCollectionId: (0, import_sqlite_core.text)("surveilr_snmp_collection_id").primaryKey().notNull(),
1275
+ deviceKey: (0, import_sqlite_core.text)("device_key").notNull().references(
1276
+ () => surveilrSnmpDevice.deviceKey
1277
+ ),
1278
+ oid: (0, import_sqlite_core.text)().notNull(),
1279
+ oidValue: (0, import_sqlite_core.text)("oid_value").notNull(),
1280
+ oidType: (0, import_sqlite_core.text)("oid_type").notNull(),
1281
+ collectedAt: timestamptz("collected_at").notNull(),
1282
+ elaboration: (0, import_sqlite_core.text)(),
1283
+ ...housekeeping
1284
+ }, (table2) => [
1285
+ (0, import_sqlite_core.index)("idx_surveilr_snmp_collection__device_key__oid").on(
1286
+ table2.deviceKey,
1287
+ table2.oid
1288
+ ),
1289
+ (0, import_sqlite_core.index)("idx_surveilr_snmp_collection__collected_at").on(table2.collectedAt),
1290
+ checkJSON(table2.elaboration)
1291
+ ]);
1292
+ var surveilrFunctionDoc = (0, import_sqlite_core.sqliteTable)("surveilr_function_doc", {
1293
+ name: (0, import_sqlite_core.text)().primaryKey(),
1294
+ description: (0, import_sqlite_core.text)(),
1295
+ parameters: (0, import_sqlite_core.text)({ mode: "json" }),
1296
+ returnType: (0, import_sqlite_core.text)("return_type"),
1297
+ version: (0, import_sqlite_core.text)()
1298
+ }, (table2) => [
1299
+ checkJSON(table2.parameters)
1300
+ ]);
1301
+
1302
+ // views.ts
1303
+ var codeNotebookCellVersions = (0, import_sqlite_core2.sqliteView)("code_notebook_cell_versions").as((qb) => {
1304
+ return qb.select({
1305
+ notebookName: codeNotebookCell.notebookName,
1306
+ notebookKernelId: codeNotebookCell.notebookKernelId,
1307
+ cellName: codeNotebookCell.cellName,
1308
+ versions: import_drizzle_orm2.sql`COUNT(*) OVER(PARTITION BY ${codeNotebookCell.notebookName}, ${codeNotebookCell.cellName})`.as("versions"),
1309
+ codeNotebookCellId: codeNotebookCell.codeNotebookCellId
1310
+ }).from(codeNotebookCell).orderBy(codeNotebookCell.notebookName, codeNotebookCell.cellName);
1311
+ });
1312
+ var codeNotebookCellLatest = (0, import_sqlite_core2.sqliteView)("code_notebook_cell_latest").as((qb) => {
1313
+ return qb.select({
1314
+ codeNotebookCellId: codeNotebookCell.codeNotebookCellId,
1315
+ notebookKernelId: codeNotebookCell.notebookKernelId,
1316
+ notebookName: codeNotebookCell.notebookName,
1317
+ cellName: codeNotebookCell.cellName,
1318
+ interpretableCode: codeNotebookCell.interpretableCode,
1319
+ interpretableCodeHash: codeNotebookCell.interpretableCodeHash,
1320
+ description: codeNotebookCell.description,
1321
+ cellGovernance: codeNotebookCell.cellGovernance,
1322
+ arguments: codeNotebookCell.arguments,
1323
+ activityLog: codeNotebookCell.activityLog,
1324
+ versionTimestamp: import_drizzle_orm2.sql`COALESCE(${codeNotebookCell.updatedAt}, ${codeNotebookCell.createdAt})`.as("version_timestamp")
1325
+ }).from(codeNotebookCell).where(import_drizzle_orm2.sql`${codeNotebookCell.codeNotebookCellId} IN (
1326
+ SELECT code_notebook_cell_id
1327
+ FROM (
1328
+ SELECT code_notebook_cell_id,
1329
+ ROW_NUMBER() OVER (
1330
+ PARTITION BY code_notebook_cell_id
1331
+ ORDER BY COALESCE(updated_at, created_at) DESC
1332
+ ) AS rn
1333
+ FROM code_notebook_cell
1334
+ ) ranked WHERE rn = 1
1335
+ )`);
1336
+ });
1337
+ var codeNotebookSqlCellMigratableVersion = (0, import_sqlite_core2.sqliteView)("code_notebook_sql_cell_migratable_version").as((qb) => {
1338
+ return qb.select({
1339
+ codeNotebookCellId: codeNotebookCell.codeNotebookCellId,
1340
+ notebookName: codeNotebookCell.notebookName,
1341
+ cellName: codeNotebookCell.cellName,
1342
+ interpretableCode: codeNotebookCell.interpretableCode,
1343
+ interpretableCodeHash: codeNotebookCell.interpretableCodeHash,
1344
+ isIdempotent: import_drizzle_orm2.sql`CASE WHEN ${codeNotebookCell.cellName} LIKE '%_once_%' THEN FALSE ELSE TRUE END`.as("is_idempotent"),
1345
+ versionTimestamp: import_drizzle_orm2.sql`COALESCE(${codeNotebookCell.updatedAt}, ${codeNotebookCell.createdAt})`.as("version_timestamp")
1346
+ }).from(codeNotebookCell).where((0, import_drizzle_orm2.eq)(codeNotebookCell.notebookName, "ConstructionSqlNotebook")).orderBy(codeNotebookCell.cellName);
1347
+ });
1348
+ var codeNotebookSqlCellMigratable = (0, import_sqlite_core2.sqliteView)("code_notebook_sql_cell_migratable").as((qb) => {
1349
+ return qb.select({
1350
+ codeNotebookCellId: codeNotebookCell.codeNotebookCellId,
1351
+ notebookKernelId: codeNotebookCell.notebookKernelId,
1352
+ notebookName: codeNotebookCell.notebookName,
1353
+ cellName: codeNotebookCell.cellName,
1354
+ interpretableCode: codeNotebookCell.interpretableCode,
1355
+ interpretableCodeHash: codeNotebookCell.interpretableCodeHash,
1356
+ description: codeNotebookCell.description,
1357
+ cellGovernance: codeNotebookCell.cellGovernance,
1358
+ arguments: codeNotebookCell.arguments,
1359
+ activityLog: codeNotebookCell.activityLog,
1360
+ isIdempotent: import_drizzle_orm2.sql`CASE WHEN ${codeNotebookCell.cellName} LIKE '%_once_%' THEN FALSE ELSE TRUE END`.as("is_idempotent")
1361
+ }).from(codeNotebookCell).where((0, import_drizzle_orm2.eq)(codeNotebookCell.notebookName, "ConstructionSqlNotebook")).orderBy(codeNotebookCell.cellName);
1362
+ });
1363
+ var codeNotebookSqlCellMigratableState = (0, import_sqlite_core2.sqliteView)("code_notebook_sql_cell_migratable_state").as((qb) => {
1364
+ return qb.select({
1365
+ codeNotebookCellId: codeNotebookCell.codeNotebookCellId,
1366
+ notebookKernelId: codeNotebookCell.notebookKernelId,
1367
+ notebookName: codeNotebookCell.notebookName,
1368
+ cellName: codeNotebookCell.cellName,
1369
+ interpretableCode: codeNotebookCell.interpretableCode,
1370
+ interpretableCodeHash: codeNotebookCell.interpretableCodeHash,
1371
+ description: codeNotebookCell.description,
1372
+ cellGovernance: codeNotebookCell.cellGovernance,
1373
+ arguments: codeNotebookCell.arguments,
1374
+ activityLog: codeNotebookCell.activityLog,
1375
+ fromState: codeNotebookState.fromState,
1376
+ toState: codeNotebookState.toState,
1377
+ transitionReason: codeNotebookState.transitionReason,
1378
+ transitionResult: codeNotebookState.transitionResult,
1379
+ transitionedAt: codeNotebookState.transitionedAt
1380
+ }).from(codeNotebookCell).innerJoin(codeNotebookState, (0, import_drizzle_orm2.eq)(codeNotebookCell.codeNotebookCellId, codeNotebookState.codeNotebookCellId)).where((0, import_drizzle_orm2.eq)(codeNotebookCell.notebookName, "ConstructionSqlNotebook")).orderBy(codeNotebookCell.cellName);
1381
+ });
1382
+ var codeNotebookSqlCellMigratableNotExecuted = (0, import_sqlite_core2.sqliteView)("code_notebook_sql_cell_migratable_not_executed").as((qb) => {
1383
+ return qb.select({
1384
+ codeNotebookCellId: codeNotebookCell.codeNotebookCellId,
1385
+ notebookKernelId: codeNotebookCell.notebookKernelId,
1386
+ notebookName: codeNotebookCell.notebookName,
1387
+ cellName: codeNotebookCell.cellName,
1388
+ interpretableCode: codeNotebookCell.interpretableCode,
1389
+ interpretableCodeHash: codeNotebookCell.interpretableCodeHash,
1390
+ description: codeNotebookCell.description,
1391
+ cellGovernance: codeNotebookCell.cellGovernance,
1392
+ arguments: codeNotebookCell.arguments,
1393
+ activityLog: codeNotebookCell.activityLog
1394
+ }).from(codeNotebookCell).leftJoin(codeNotebookState, (0, import_drizzle_orm2.and)(
1395
+ (0, import_drizzle_orm2.eq)(codeNotebookCell.codeNotebookCellId, codeNotebookState.codeNotebookCellId),
1396
+ (0, import_drizzle_orm2.eq)(codeNotebookState.toState, "EXECUTED")
1397
+ )).where(
1398
+ (0, import_drizzle_orm2.and)(
1399
+ (0, import_drizzle_orm2.eq)(codeNotebookCell.notebookName, "ConstructionSqlNotebook"),
1400
+ import_drizzle_orm2.sql`${codeNotebookState.codeNotebookCellId} IS NULL`
1401
+ )
1402
+ ).orderBy(codeNotebookCell.cellName);
1403
+ });
1404
+ var codeNotebookMigrationSql = (0, import_sqlite_core2.sqliteView)("code_notebook_migration_sql", {}).as(import_drizzle_orm2.sql`
1405
+ SELECT 'BEGIN TRANSACTION;
1406
+
1407
+ ' ||
1408
+ 'CREATE TEMP TABLE IF NOT EXISTS "session_state_ephemeral" (
1409
+ "key" TEXT PRIMARY KEY NOT NULL,
1410
+ "value" TEXT NOT NULL
1411
+ );
1412
+
1413
+ ' ||
1414
+ GROUP_CONCAT(
1415
+ CASE
1416
+ -- Case 1: Non-idempotent and already executed
1417
+ WHEN c.is_idempotent = FALSE AND s.code_notebook_cell_id IS NOT NULL THEN
1418
+ '-- ' || c.notebook_name || '.' || c.cell_name || ' not included because it is non-idempotent and was already executed on ' || s.transitioned_at || '
1419
+
1420
+ '
1421
+ -- Case 2: Idempotent and not yet executed, idempotent and being reapplied, or non-idempotent and being run for the first time
1422
+ ELSE
1423
+ '-- ' || c.notebook_name || '.' || c.cell_name || '
1424
+ ' ||
1425
+ CASE
1426
+ -- First execution (non-idempotent or idempotent)
1427
+ WHEN s.code_notebook_cell_id IS NULL THEN
1428
+ '-- Executing for the first time.
1429
+ '
1430
+ -- Reapplying execution (idempotent)
1431
+ ELSE
1432
+ '-- Reapplying execution. Last executed on ' || s.transitioned_at || '
1433
+ '
1434
+ END ||
1435
+ c.interpretable_code || '
1436
+ ' ||
1437
+ 'INSERT INTO code_notebook_state (code_notebook_state_id, code_notebook_cell_id, from_state, to_state, transition_reason, created_at) ' ||
1438
+ 'VALUES (' ||
1439
+ '''' || c.code_notebook_cell_id || '__' || strftime('%Y%m%d%H%M%S', 'now') || '''' || ', ' ||
1440
+ '''' || c.code_notebook_cell_id || '''' || ', ' ||
1441
+ '''MIGRATION_CANDIDATE''' || ', ' ||
1442
+ '''EXECUTED''' || ', ' ||
1443
+ CASE
1444
+ WHEN s.code_notebook_cell_id IS NULL THEN '''Migration'''
1445
+ ELSE '''Reapplication'''
1446
+ END || ', ' ||
1447
+ 'CURRENT_TIMESTAMP' || ')' || '
1448
+ ' ||
1449
+ 'ON CONFLICT(code_notebook_cell_id, from_state, to_state) DO UPDATE SET updated_at = CURRENT_TIMESTAMP, ' ||
1450
+ 'transition_reason = ''Reapplied ' || datetime('now', 'localtime') || ''';' || '
1451
+ '
1452
+ END,
1453
+ '
1454
+ '
1455
+ ) || '
1456
+
1457
+ COMMIT;' as migration_sql
1458
+ FROM code_notebook_sql_cell_migratable c
1459
+ LEFT JOIN code_notebook_state s
1460
+ ON c.code_notebook_cell_id = s.code_notebook_cell_id AND s.to_state = 'EXECUTED'
1461
+ ORDER BY c.cell_name`);
1462
+ var imapGraph = (0, import_sqlite_core2.sqliteView)("imap_graph").as((qb) => {
1463
+ return qb.select({
1464
+ graphName: uniformResourceEdge.graphName,
1465
+ uniformResourceId: uniformResource.uniformResourceId,
1466
+ nature: uniformResource.nature,
1467
+ uri: uniformResource.uri,
1468
+ content: uniformResource.content,
1469
+ urIngestSessionImapAcctFolderMessageId: urIngestSessionImapAcctFolderMessage.urIngestSessionImapAcctFolderMessageId,
1470
+ ingestImapAcctFolderId: urIngestSessionImapAcctFolderMessage.ingestImapAcctFolderId,
1471
+ messageId: urIngestSessionImapAcctFolderMessage.messageId
1472
+ }).from(uniformResourceEdge).innerJoin(uniformResource, (0, import_drizzle_orm2.eq)(uniformResourceEdge.uniformResourceId, uniformResource.uniformResourceId)).innerJoin(urIngestSessionImapAcctFolderMessage, (0, import_drizzle_orm2.eq)(uniformResourceEdge.nodeId, urIngestSessionImapAcctFolderMessage.urIngestSessionImapAcctFolderMessageId)).where((0, import_drizzle_orm2.eq)(uniformResourceEdge.graphName, "imap"));
1473
+ });
1474
+ var filesystemGraph = (0, import_sqlite_core2.sqliteView)("filesystem_graph").as((qb) => {
1475
+ return qb.select({
1476
+ graphName: uniformResourceEdge.graphName,
1477
+ uniformResourceId: uniformResource.uniformResourceId,
1478
+ nature: uniformResource.nature,
1479
+ uri: uniformResource.uri,
1480
+ urIngestSessionFsPathId: urIngestSessionFsPath.urIngestSessionFsPathId,
1481
+ rootPath: urIngestSessionFsPath.rootPath
1482
+ }).from(uniformResourceEdge).innerJoin(uniformResource, (0, import_drizzle_orm2.eq)(uniformResourceEdge.uniformResourceId, uniformResource.uniformResourceId)).innerJoin(urIngestSessionFsPath, (0, import_drizzle_orm2.eq)(uniformResourceEdge.nodeId, urIngestSessionFsPath.urIngestSessionFsPathId)).where((0, import_drizzle_orm2.eq)(uniformResourceEdge.graphName, "filesystem"));
1483
+ });
1484
+ var consoleInformationSchemaTable = (0, import_sqlite_core2.sqliteView)("console_information_schema_table", {}).as(import_drizzle_orm2.sql`
1485
+ SELECT
1486
+ tbl.name AS table_name,
1487
+ col.name AS column_name,
1488
+ col.type AS data_type,
1489
+ CASE WHEN col.pk = 1 THEN 'Yes' ELSE 'No' END AS is_primary_key,
1490
+ CASE WHEN col."notnull" = 1 THEN 'Yes' ELSE 'No' END AS is_not_null,
1491
+ col.dflt_value AS default_value,
1492
+ 'console/info-schema/table.sql?name=' || tbl.name || '&stats=yes' as info_schema_web_ui_path,
1493
+ '[Content](console/info-schema/table.sql?name=' || tbl.name || '&stats=yes)' as info_schema_link_abbrev_md,
1494
+ '[' || tbl.name || ' (table) Schema](console/info-schema/table.sql?name=' || tbl.name || '&stats=yes)' as info_schema_link_full_md,
1495
+ 'console/content/table/' || tbl.name || '.sql?stats=yes' as content_web_ui_path,
1496
+ '[Content]($SITE_PREFIX_URL/console/content/table/' || tbl.name || '.sql?stats=yes)' as content_web_ui_link_abbrev_md,
1497
+ '[' || tbl.name || ' (table) Content](console/content/table/' || tbl.name || '.sql?stats=yes)' as content_web_ui_link_full_md,
1498
+ tbl.sql as sql_ddl
1499
+ FROM sqlite_master tbl
1500
+ JOIN pragma_table_info(tbl.name) col
1501
+ WHERE tbl.type = 'table' AND tbl.name NOT LIKE 'sqlite_%'
1502
+ `);
1503
+ var consoleInformationSchemaView = (0, import_sqlite_core2.sqliteView)("console_information_schema_view", {}).as(import_drizzle_orm2.sql`
1504
+ SELECT
1505
+ vw.name AS view_name,
1506
+ col.name AS column_name,
1507
+ col.type AS data_type,
1508
+ '/console/info-schema/view.sql?name=' || vw.name || '&stats=yes' as info_schema_web_ui_path,
1509
+ '[Content](console/info-schema/view.sql?name=' || vw.name || '&stats=yes)' as info_schema_link_abbrev_md,
1510
+ '[' || vw.name || ' (view) Schema](console/info-schema/view.sql?name=' || vw.name || '&stats=yes)' as info_schema_link_full_md,
1511
+ '/console/content/view/' || vw.name || '.sql?stats=yes' as content_web_ui_path,
1512
+ '[Content]($SITE_PREFIX_URL/console/content/view/' || vw.name || '.sql?stats=yes)' as content_web_ui_link_abbrev_md,
1513
+ '[' || vw.name || ' (view) Content](console/content/view/' || vw.name || '.sql?stats=yes)' as content_web_ui_link_full_md,
1514
+ vw.sql as sql_ddl
1515
+ FROM sqlite_master vw
1516
+ JOIN pragma_table_info(vw.name) col
1517
+ WHERE vw.type = 'view' AND vw.name NOT LIKE 'sqlite_%'
1518
+ `);
1519
+ var consoleContentTabular = (0, import_sqlite_core2.sqliteView)("console_content_tabular").as((qb) => {
1520
+ const tableQuery = qb.select({
1521
+ tabularNature: import_drizzle_orm2.sql`'table'`.as("tabular_nature"),
1522
+ tabularName: import_drizzle_orm2.sql`table_name`.as("tabular_name"),
1523
+ infoSchemaWebUiPath: import_drizzle_orm2.sql`info_schema_web_ui_path`.as("info_schema_web_ui_path"),
1524
+ infoSchemaLinkAbbrevMd: import_drizzle_orm2.sql`info_schema_link_abbrev_md`.as("info_schema_link_abbrev_md"),
1525
+ infoSchemaLinkFullMd: import_drizzle_orm2.sql`info_schema_link_full_md`.as("info_schema_link_full_md"),
1526
+ contentWebUiPath: import_drizzle_orm2.sql`content_web_ui_path`.as("content_web_ui_path"),
1527
+ contentWebUiLinkAbbrevMd: import_drizzle_orm2.sql`content_web_ui_link_abbrev_md`.as("content_web_ui_link_abbrev_md"),
1528
+ contentWebUiLinkFullMd: import_drizzle_orm2.sql`content_web_ui_link_full_md`.as("content_web_ui_link_full_md")
1529
+ }).from(consoleInformationSchemaTable);
1530
+ const viewQuery = qb.select({
1531
+ tabularNature: import_drizzle_orm2.sql`'view'`.as("tabular_nature"),
1532
+ tabularName: import_drizzle_orm2.sql`view_name`.as("tabular_name"),
1533
+ infoSchemaWebUiPath: import_drizzle_orm2.sql`info_schema_web_ui_path`.as("info_schema_web_ui_path"),
1534
+ infoSchemaLinkAbbrevMd: import_drizzle_orm2.sql`info_schema_link_abbrev_md`.as("info_schema_link_abbrev_md"),
1535
+ infoSchemaLinkFullMd: import_drizzle_orm2.sql`info_schema_link_full_md`.as("info_schema_link_full_md"),
1536
+ contentWebUiPath: import_drizzle_orm2.sql`content_web_ui_path`.as("content_web_ui_path"),
1537
+ contentWebUiLinkAbbrevMd: import_drizzle_orm2.sql`content_web_ui_link_abbrev_md`.as("content_web_ui_link_abbrev_md"),
1538
+ contentWebUiLinkFullMd: import_drizzle_orm2.sql`content_web_ui_link_full_md`.as("content_web_ui_link_full_md")
1539
+ }).from(consoleInformationSchemaView);
1540
+ return tableQuery.unionAll(viewQuery);
1541
+ });
1542
+ var consoleInformationSchemaTableColFkey = (0, import_sqlite_core2.sqliteView)("console_information_schema_table_col_fkey", {}).as(import_drizzle_orm2.sql`
1543
+ SELECT
1544
+ tbl.name AS table_name,
1545
+ f."from" AS column_name,
1546
+ f."from" || ' references ' || f."table" || '.' || f."to" AS foreign_key
1547
+ FROM sqlite_master tbl
1548
+ JOIN pragma_foreign_key_list(tbl.name) f
1549
+ WHERE tbl.type = 'table' AND tbl.name NOT LIKE 'sqlite_%'
1550
+ `);
1551
+ var consoleInformationSchemaTableColIndex = (0, import_sqlite_core2.sqliteView)("console_information_schema_table_col_index", {}).as(import_drizzle_orm2.sql`
1552
+ SELECT
1553
+ tbl.name AS table_name,
1554
+ pi.name AS column_name,
1555
+ idx.name AS index_name
1556
+ FROM sqlite_master tbl
1557
+ JOIN pragma_index_list(tbl.name) idx
1558
+ JOIN pragma_index_info(idx.name) pi
1559
+ WHERE tbl.type = 'table' AND tbl.name NOT LIKE 'sqlite_%'
1560
+ `);
1561
+ var rssdStatisticsOverview = (0, import_sqlite_core2.sqliteView)("rssd_statistics_overview").as((qb) => {
1562
+ return qb.select({
1563
+ dbSizeMb: import_drizzle_orm2.sql`(SELECT ROUND(page_count * page_size / (1024.0 * 1024), 2) FROM pragma_page_count(), pragma_page_size())`.as("db_size_mb"),
1564
+ dbSizeGb: import_drizzle_orm2.sql`(SELECT ROUND(page_count * page_size / (1024.0 * 1024 * 1024), 4) FROM pragma_page_count(), pragma_page_size())`.as("db_size_gb"),
1565
+ totalTables: import_drizzle_orm2.sql`(SELECT COUNT(*) FROM sqlite_master WHERE type = 'table')`.as("total_tables"),
1566
+ totalIndexes: import_drizzle_orm2.sql`(SELECT COUNT(*) FROM sqlite_master WHERE type = 'index')`.as("total_indexes"),
1567
+ totalRows: import_drizzle_orm2.sql`(SELECT SUM(tbl_rows) FROM (SELECT name, (SELECT COUNT(*) FROM sqlite_master sm WHERE sm.type='table' AND sm.name=t.name) AS tbl_rows FROM sqlite_master t WHERE type='table'))`.as("total_rows"),
1568
+ pageSize: import_drizzle_orm2.sql`(SELECT page_size FROM pragma_page_size())`.as("page_size"),
1569
+ totalPages: import_drizzle_orm2.sql`(SELECT page_count FROM pragma_page_count())`.as("total_pages")
1570
+ }).from(import_drizzle_orm2.sql`(SELECT 1) AS dummy`);
1571
+ });
1572
+ var rssdTableStatistic = (0, import_sqlite_core2.sqliteView)("rssd_table_statistic", {}).as(import_drizzle_orm2.sql`
1573
+ SELECT
1574
+ m.name AS table_name,
1575
+ (SELECT COUNT(*) FROM pragma_table_info(m.name)) AS total_columns,
1576
+ (SELECT COUNT(*) FROM pragma_index_list(m.name)) AS total_indexes,
1577
+ (SELECT COUNT(*) FROM pragma_foreign_key_list(m.name)) AS foreign_keys,
1578
+ (SELECT COUNT(*) FROM pragma_table_info(m.name) WHERE pk != 0) AS primary_keys,
1579
+ (SELECT table_size_mb FROM surveilr_table_size WHERE table_name = m.name) AS table_size_mb
1580
+ FROM sqlite_master m
1581
+ WHERE m.type = 'table'
1582
+ `);
1583
+ var uniformResourceFile = (0, import_sqlite_core2.sqliteView)("uniform_resource_file").as((qb) => {
1584
+ return qb.select({
1585
+ uniformResourceId: uniformResource.uniformResourceId,
1586
+ nature: uniformResource.nature,
1587
+ sourcePath: urIngestSessionFsPath.rootPath,
1588
+ filePathRel: urIngestSessionFsPathEntry.filePathRel,
1589
+ sizeBytes: uniformResource.sizeBytes
1590
+ }).from(uniformResource).leftJoin(
1591
+ uniformResourceEdge,
1592
+ (0, import_drizzle_orm2.and)(
1593
+ (0, import_drizzle_orm2.eq)(uniformResource.uniformResourceId, uniformResourceEdge.uniformResourceId),
1594
+ (0, import_drizzle_orm2.eq)(uniformResourceEdge.nature, "ingest_fs_path")
1595
+ )
1596
+ ).leftJoin(urIngestSessionFsPath, (0, import_drizzle_orm2.eq)(uniformResourceEdge.nodeId, urIngestSessionFsPath.urIngestSessionFsPathId)).leftJoin(urIngestSessionFsPathEntry, (0, import_drizzle_orm2.eq)(uniformResource.uniformResourceId, urIngestSessionFsPathEntry.uniformResourceId));
1597
+ });
1598
+ var uniformResourceImap = (0, import_sqlite_core2.sqliteView)("uniform_resource_imap").as((qb) => {
1599
+ return qb.select({
1600
+ uniformResourceId: uniformResource.uniformResourceId,
1601
+ graphName: uniformResourceGraph.name,
1602
+ urIngestSessionImapAccountId: urIngestSessionImapAccount.urIngestSessionImapAccountId,
1603
+ email: urIngestSessionImapAccount.email,
1604
+ host: urIngestSessionImapAccount.host,
1605
+ subject: urIngestSessionImapAcctFolderMessage.subject,
1606
+ from: urIngestSessionImapAcctFolderMessage.from,
1607
+ message: urIngestSessionImapAcctFolderMessage.message,
1608
+ date: urIngestSessionImapAcctFolderMessage.date,
1609
+ urIngestSessionImapAcctFolderId: urIngestSessionImapAcctFolder.urIngestSessionImapAcctFolderId,
1610
+ ingestAccountId: urIngestSessionImapAcctFolder.ingestAccountId,
1611
+ folderName: urIngestSessionImapAcctFolder.folderName,
1612
+ sizeBytes: uniformResource.sizeBytes,
1613
+ nature: uniformResource.nature,
1614
+ content: uniformResource.content
1615
+ }).from(uniformResource).innerJoin(uniformResourceEdge, (0, import_drizzle_orm2.eq)(uniformResourceEdge.uniformResourceId, uniformResource.uniformResourceId)).innerJoin(uniformResourceGraph, (0, import_drizzle_orm2.eq)(uniformResourceGraph.name, uniformResourceEdge.graphName)).innerJoin(urIngestSessionImapAcctFolderMessage, (0, import_drizzle_orm2.eq)(urIngestSessionImapAcctFolderMessage.urIngestSessionImapAcctFolderMessageId, uniformResourceEdge.nodeId)).innerJoin(urIngestSessionImapAcctFolder, (0, import_drizzle_orm2.eq)(urIngestSessionImapAcctFolderMessage.ingestImapAcctFolderId, urIngestSessionImapAcctFolder.urIngestSessionImapAcctFolderId)).leftJoin(urIngestSessionImapAccount, (0, import_drizzle_orm2.eq)(urIngestSessionImapAccount.urIngestSessionImapAccountId, urIngestSessionImapAcctFolder.ingestAccountId)).where((0, import_drizzle_orm2.and)(
1616
+ (0, import_drizzle_orm2.eq)(uniformResource.nature, "text"),
1617
+ (0, import_drizzle_orm2.eq)(uniformResourceGraph.name, "imap"),
1618
+ import_drizzle_orm2.sql`${uniformResource.ingestSessionImapAcctFolderMessage} IS NOT NULL`
1619
+ ));
1620
+ });
1621
+ var uniformResourceImapContent = (0, import_sqlite_core2.sqliteView)("uniform_resource_imap_content").as((qb) => {
1622
+ return qb.select({
1623
+ uniformResourceId: uniformResourceImap.uniformResourceId,
1624
+ baseId: import_drizzle_orm2.sql`base_ur.uniform_resource_id`.as("base_id"),
1625
+ extId: import_drizzle_orm2.sql`ext_ur.uniform_resource_id`.as("ext_id"),
1626
+ baseUri: import_drizzle_orm2.sql`base_ur.uri`.as("base_uri"),
1627
+ extUri: import_drizzle_orm2.sql`ext_ur.uri`.as("ext_uri"),
1628
+ baseNature: import_drizzle_orm2.sql`base_ur.nature`.as("base_nature"),
1629
+ extNature: import_drizzle_orm2.sql`ext_ur.nature`.as("ext_nature"),
1630
+ htmlContent: import_drizzle_orm2.sql`json_extract(part.value, '$.body.Html')`.as("html_content")
1631
+ }).from(uniformResourceImap).innerJoin(import_drizzle_orm2.sql`uniform_resource base_ur`, import_drizzle_orm2.sql`base_ur.uniform_resource_id = ${uniformResourceImap.uniformResourceId}`).innerJoin(import_drizzle_orm2.sql`uniform_resource ext_ur`, import_drizzle_orm2.sql`ext_ur.uri = base_ur.uri || '/json' AND ext_ur.nature = 'json'`).crossJoin(import_drizzle_orm2.sql`json_each(ext_ur.content, '$.parts') AS part`).where((0, import_drizzle_orm2.and)(
1632
+ import_drizzle_orm2.sql`ext_ur.nature = 'json'`,
1633
+ import_drizzle_orm2.sql`json_extract(part.value, '$.body.Html') IS NOT NULL`
1634
+ ));
1635
+ });
1636
+ var urIngestSessionFilesStats = (0, import_sqlite_core2.sqliteView)("ur_ingest_session_files_stats").as((qb) => {
1637
+ return qb.select({
1638
+ deviceId: device.deviceId,
1639
+ ingestSessionId: urIngestSession.urIngestSessionId,
1640
+ ingestSessionStartedAt: urIngestSession.ingestStartedAt,
1641
+ ingestSessionFinishedAt: urIngestSession.ingestFinishedAt,
1642
+ fileExtension: import_drizzle_orm2.sql`COALESCE(${urIngestSessionFsPathEntry.fileExtn}, '')`.as("file_extension"),
1643
+ ingestSessionFsPathId: urIngestSessionFsPath.urIngestSessionFsPathId,
1644
+ ingestSessionRootFsPath: urIngestSessionFsPath.rootPath,
1645
+ totalFileCount: (0, import_drizzle_orm2.count)(urIngestSessionFsPathEntry.uniformResourceId).as("total_file_count"),
1646
+ fileCountWithContent: (0, import_drizzle_orm2.sum)(import_drizzle_orm2.sql`CASE WHEN ${uniformResource.content} IS NOT NULL THEN 1 ELSE 0 END`).as("file_count_with_content"),
1647
+ fileCountWithFrontmatter: (0, import_drizzle_orm2.sum)(import_drizzle_orm2.sql`CASE WHEN ${uniformResource.frontmatter} IS NOT NULL THEN 1 ELSE 0 END`).as("file_count_with_frontmatter"),
1648
+ minFileSizeBytes: (0, import_drizzle_orm2.min)(uniformResource.sizeBytes).as("min_file_size_bytes"),
1649
+ averageFileSizeBytes: import_drizzle_orm2.sql`CAST(ROUND(AVG(${uniformResource.sizeBytes})) AS INTEGER)`.as("average_file_size_bytes"),
1650
+ maxFileSizeBytes: (0, import_drizzle_orm2.max)(uniformResource.sizeBytes).as("max_file_size_bytes"),
1651
+ oldestFileLastModifiedDatetime: (0, import_drizzle_orm2.min)(uniformResource.lastModifiedAt).as("oldest_file_last_modified_datetime"),
1652
+ youngestFileLastModifiedDatetime: (0, import_drizzle_orm2.max)(uniformResource.lastModifiedAt).as("youngest_file_last_modified_datetime")
1653
+ }).from(urIngestSession).innerJoin(device, (0, import_drizzle_orm2.eq)(urIngestSession.deviceId, device.deviceId)).leftJoin(urIngestSessionFsPath, (0, import_drizzle_orm2.eq)(urIngestSession.urIngestSessionId, urIngestSessionFsPath.ingestSessionId)).leftJoin(urIngestSessionFsPathEntry, (0, import_drizzle_orm2.eq)(urIngestSessionFsPath.urIngestSessionFsPathId, urIngestSessionFsPathEntry.ingestFsPathId)).leftJoin(uniformResource, (0, import_drizzle_orm2.eq)(urIngestSessionFsPathEntry.uniformResourceId, uniformResource.uniformResourceId)).groupBy(
1654
+ device.deviceId,
1655
+ urIngestSession.urIngestSessionId,
1656
+ urIngestSession.ingestStartedAt,
1657
+ urIngestSession.ingestFinishedAt,
1658
+ urIngestSessionFsPathEntry.fileExtn,
1659
+ urIngestSessionFsPath.rootPath
1660
+ ).orderBy(device.deviceId, urIngestSession.ingestFinishedAt, urIngestSessionFsPathEntry.fileExtn);
1661
+ });
1662
+ var urIngestSessionFilesStatsLatest = (0, import_sqlite_core2.sqliteView)("ur_ingest_session_files_stats_latest").as((qb) => {
1663
+ return qb.select({
1664
+ deviceId: urIngestSessionFilesStats.deviceId,
1665
+ ingestSessionId: urIngestSessionFilesStats.ingestSessionId,
1666
+ ingestSessionStartedAt: urIngestSessionFilesStats.ingestSessionStartedAt,
1667
+ ingestSessionFinishedAt: urIngestSessionFilesStats.ingestSessionFinishedAt,
1668
+ fileExtension: urIngestSessionFilesStats.fileExtension,
1669
+ ingestSessionFsPathId: urIngestSessionFilesStats.ingestSessionFsPathId,
1670
+ ingestSessionRootFsPath: urIngestSessionFilesStats.ingestSessionRootFsPath,
1671
+ totalFileCount: urIngestSessionFilesStats.totalFileCount,
1672
+ fileCountWithContent: urIngestSessionFilesStats.fileCountWithContent,
1673
+ fileCountWithFrontmatter: urIngestSessionFilesStats.fileCountWithFrontmatter,
1674
+ minFileSizeBytes: urIngestSessionFilesStats.minFileSizeBytes,
1675
+ averageFileSizeBytes: urIngestSessionFilesStats.averageFileSizeBytes,
1676
+ maxFileSizeBytes: urIngestSessionFilesStats.maxFileSizeBytes,
1677
+ oldestFileLastModifiedDatetime: urIngestSessionFilesStats.oldestFileLastModifiedDatetime,
1678
+ youngestFileLastModifiedDatetime: urIngestSessionFilesStats.youngestFileLastModifiedDatetime
1679
+ }).from(urIngestSessionFilesStats).where(import_drizzle_orm2.sql`${urIngestSessionFilesStats.ingestSessionId} IN (
1680
+ SELECT ${urIngestSession.urIngestSessionId}
1681
+ FROM ${urIngestSession}
1682
+ ORDER BY ${urIngestSession.ingestFinishedAt} DESC
1683
+ LIMIT 1
1684
+ )`);
1685
+ });
1686
+ var urIngestSessionTasksStats = (0, import_sqlite_core2.sqliteView)("ur_ingest_session_tasks_stats").as((qb) => {
1687
+ return qb.select({
1688
+ deviceId: device.deviceId,
1689
+ ingestSessionId: urIngestSession.urIngestSessionId,
1690
+ ingestSessionStartedAt: urIngestSession.ingestStartedAt,
1691
+ ingestSessionFinishedAt: urIngestSession.ingestFinishedAt,
1692
+ urStatus: import_drizzle_orm2.sql`COALESCE(${urIngestSessionTask.urStatus}, 'Ok')`.as("ur_status"),
1693
+ nature: import_drizzle_orm2.sql`COALESCE(${uniformResource.nature}, 'UNKNOWN')`.as("nature"),
1694
+ totalFileCount: (0, import_drizzle_orm2.count)(urIngestSessionTask.uniformResourceId).as("total_file_count"),
1695
+ fileCountWithContent: (0, import_drizzle_orm2.sum)(import_drizzle_orm2.sql`CASE WHEN ${uniformResource.content} IS NOT NULL THEN 1 ELSE 0 END`).as("file_count_with_content"),
1696
+ fileCountWithFrontmatter: (0, import_drizzle_orm2.sum)(import_drizzle_orm2.sql`CASE WHEN ${uniformResource.frontmatter} IS NOT NULL THEN 1 ELSE 0 END`).as("file_count_with_frontmatter"),
1697
+ minFileSizeBytes: (0, import_drizzle_orm2.min)(uniformResource.sizeBytes).as("min_file_size_bytes"),
1698
+ averageFileSizeBytes: import_drizzle_orm2.sql`CAST(ROUND(AVG(${uniformResource.sizeBytes})) AS INTEGER)`.as("average_file_size_bytes"),
1699
+ maxFileSizeBytes: (0, import_drizzle_orm2.max)(uniformResource.sizeBytes).as("max_file_size_bytes"),
1700
+ oldestFileLastModifiedDatetime: (0, import_drizzle_orm2.min)(uniformResource.lastModifiedAt).as("oldest_file_last_modified_datetime"),
1701
+ youngestFileLastModifiedDatetime: (0, import_drizzle_orm2.max)(uniformResource.lastModifiedAt).as("youngest_file_last_modified_datetime")
1702
+ }).from(urIngestSession).innerJoin(device, (0, import_drizzle_orm2.eq)(urIngestSession.deviceId, device.deviceId)).leftJoin(urIngestSessionTask, (0, import_drizzle_orm2.eq)(urIngestSession.urIngestSessionId, urIngestSessionTask.ingestSessionId)).leftJoin(uniformResource, (0, import_drizzle_orm2.eq)(urIngestSessionTask.uniformResourceId, uniformResource.uniformResourceId)).groupBy(
1703
+ device.deviceId,
1704
+ urIngestSession.urIngestSessionId,
1705
+ urIngestSession.ingestStartedAt,
1706
+ urIngestSession.ingestFinishedAt,
1707
+ urIngestSessionTask.capturedExecutable
1708
+ ).orderBy(device.deviceId, urIngestSession.ingestFinishedAt, urIngestSessionTask.urStatus);
1709
+ });
1710
+ var urIngestSessionTasksStatsLatest = (0, import_sqlite_core2.sqliteView)("ur_ingest_session_tasks_stats_latest").as((qb) => {
1711
+ return qb.select({
1712
+ deviceId: urIngestSessionTasksStats.deviceId,
1713
+ ingestSessionId: urIngestSessionTasksStats.ingestSessionId,
1714
+ ingestSessionStartedAt: urIngestSessionTasksStats.ingestSessionStartedAt,
1715
+ ingestSessionFinishedAt: urIngestSessionTasksStats.ingestSessionFinishedAt,
1716
+ urStatus: urIngestSessionTasksStats.urStatus,
1717
+ nature: urIngestSessionTasksStats.nature,
1718
+ totalFileCount: urIngestSessionTasksStats.totalFileCount,
1719
+ fileCountWithContent: urIngestSessionTasksStats.fileCountWithContent,
1720
+ fileCountWithFrontmatter: urIngestSessionTasksStats.fileCountWithFrontmatter,
1721
+ minFileSizeBytes: urIngestSessionTasksStats.minFileSizeBytes,
1722
+ averageFileSizeBytes: urIngestSessionTasksStats.averageFileSizeBytes,
1723
+ maxFileSizeBytes: urIngestSessionTasksStats.maxFileSizeBytes,
1724
+ oldestFileLastModifiedDatetime: urIngestSessionTasksStats.oldestFileLastModifiedDatetime,
1725
+ youngestFileLastModifiedDatetime: urIngestSessionTasksStats.youngestFileLastModifiedDatetime
1726
+ }).from(urIngestSessionTasksStats).where(import_drizzle_orm2.sql`${urIngestSessionTasksStats.ingestSessionId} IN (
1727
+ SELECT ${urIngestSession.urIngestSessionId}
1728
+ FROM ${urIngestSession}
1729
+ ORDER BY ${urIngestSession.ingestFinishedAt} DESC
1730
+ LIMIT 1
1731
+ )`);
1732
+ });
1733
+ var urIngestSessionFileIssue = (0, import_sqlite_core2.sqliteView)("ur_ingest_session_file_issue").as((qb) => {
1734
+ return qb.select({
1735
+ deviceId: urIngestSession.deviceId,
1736
+ urIngestSessionId: urIngestSession.urIngestSessionId,
1737
+ urIngestSessionFsPathId: urIngestSessionFsPath.urIngestSessionFsPathId,
1738
+ rootPath: urIngestSessionFsPath.rootPath,
1739
+ urIngestSessionFsPathEntryId: urIngestSessionFsPathEntry.urIngestSessionFsPathEntryId,
1740
+ filePathAbs: urIngestSessionFsPathEntry.filePathAbs,
1741
+ urStatus: urIngestSessionFsPathEntry.urStatus,
1742
+ urDiagnostics: urIngestSessionFsPathEntry.urDiagnostics
1743
+ }).from(urIngestSessionFsPathEntry).innerJoin(urIngestSessionFsPath, (0, import_drizzle_orm2.eq)(urIngestSessionFsPathEntry.ingestFsPathId, urIngestSessionFsPath.urIngestSessionFsPathId)).innerJoin(urIngestSession, (0, import_drizzle_orm2.eq)(urIngestSessionFsPath.ingestSessionId, urIngestSession.urIngestSessionId)).where(import_drizzle_orm2.sql`${urIngestSessionFsPathEntry.urStatus} IS NOT NULL`).groupBy(
1744
+ urIngestSession.deviceId,
1745
+ urIngestSession.urIngestSessionId,
1746
+ urIngestSessionFsPath.urIngestSessionFsPathId,
1747
+ urIngestSessionFsPath.rootPath,
1748
+ urIngestSessionFsPathEntry.urIngestSessionFsPathEntryId,
1749
+ urIngestSessionFsPathEntry.filePathAbs,
1750
+ urIngestSessionFsPathEntry.urStatus,
1751
+ urIngestSessionFsPathEntry.urDiagnostics
1752
+ );
1753
+ });
1754
+ var orchestrationSessionByDevice = (0, import_sqlite_core2.sqliteView)("orchestration_session_by_device").as((qb) => {
1755
+ return qb.select({
1756
+ deviceId: device.deviceId,
1757
+ deviceName: device.name,
1758
+ sessionCount: (0, import_drizzle_orm2.count)(orchestrationSession.orchestrationSessionId).as("session_count")
1759
+ }).from(orchestrationSession).innerJoin(device, (0, import_drizzle_orm2.eq)(orchestrationSession.deviceId, device.deviceId)).groupBy(device.deviceId, device.name);
1760
+ });
1761
+ var orchestrationSessionDuration = (0, import_sqlite_core2.sqliteView)("orchestration_session_duration").as((qb) => {
1762
+ return qb.select({
1763
+ orchestrationSessionId: orchestrationSession.orchestrationSessionId,
1764
+ orchestrationNature: orchestrationNature.nature,
1765
+ orchStartedAt: orchestrationSession.orchStartedAt,
1766
+ orchFinishedAt: orchestrationSession.orchFinishedAt,
1767
+ durationSeconds: import_drizzle_orm2.sql`(JULIANDAY(${orchestrationSession.orchFinishedAt}) - JULIANDAY(${orchestrationSession.orchStartedAt})) * 24 * 60 * 60`.as("duration_seconds")
1768
+ }).from(orchestrationSession).innerJoin(orchestrationNature, (0, import_drizzle_orm2.eq)(orchestrationSession.orchestrationNatureId, orchestrationNature.orchestrationNatureId)).where(import_drizzle_orm2.sql`${orchestrationSession.orchFinishedAt} IS NOT NULL`);
1769
+ });
1770
+ var orchestrationSuccessRate = (0, import_sqlite_core2.sqliteView)("orchestration_success_rate").as((qb) => {
1771
+ return qb.select({
1772
+ orchestrationNature: orchestrationNature.nature,
1773
+ totalSessions: (0, import_drizzle_orm2.count)().as("total_sessions"),
1774
+ successfulSessions: (0, import_drizzle_orm2.sum)(import_drizzle_orm2.sql`CASE WHEN ${orchestrationSessionState.toState} = 'surveilr_orch_completed' THEN 1 ELSE 0 END`).as("successful_sessions"),
1775
+ successRate: import_drizzle_orm2.sql`(CAST(SUM(CASE WHEN ${orchestrationSessionState.toState} = 'surveilr_orch_completed' THEN 1 ELSE 0 END) AS FLOAT) / COUNT(*)) * 100`.as("success_rate")
1776
+ }).from(orchestrationSession).innerJoin(orchestrationNature, (0, import_drizzle_orm2.eq)(orchestrationSession.orchestrationNatureId, orchestrationNature.orchestrationNatureId)).innerJoin(orchestrationSessionState, (0, import_drizzle_orm2.eq)(orchestrationSession.orchestrationSessionId, orchestrationSessionState.sessionId)).where(import_drizzle_orm2.sql`${orchestrationSessionState.toState} IN ('surveilr_orch_completed', 'surveilr_orch_failed')`).groupBy(orchestrationNature.nature);
1777
+ });
1778
+ var orchestrationSessionScript = (0, import_sqlite_core2.sqliteView)("orchestration_session_script").as((qb) => {
1779
+ return qb.select({
1780
+ orchestrationSessionId: orchestrationSession.orchestrationSessionId,
1781
+ orchestrationNature: orchestrationNature.nature,
1782
+ scriptCount: (0, import_drizzle_orm2.count)(orchestrationSessionEntry.orchestrationSessionEntryId).as("script_count")
1783
+ }).from(orchestrationSession).innerJoin(orchestrationNature, (0, import_drizzle_orm2.eq)(orchestrationSession.orchestrationNatureId, orchestrationNature.orchestrationNatureId)).innerJoin(orchestrationSessionEntry, (0, import_drizzle_orm2.eq)(orchestrationSession.orchestrationSessionId, orchestrationSessionEntry.sessionId)).groupBy(orchestrationSession.orchestrationSessionId, orchestrationNature.nature);
1784
+ });
1785
+ var orchestrationExecutionsByType = (0, import_sqlite_core2.sqliteView)("orchestration_executions_by_type").as((qb) => {
1786
+ return qb.select({
1787
+ execNature: orchestrationSessionExec.execNature,
1788
+ executionCount: (0, import_drizzle_orm2.count)(orchestrationSessionExec.orchestrationSessionExecId).as("execution_count")
1789
+ }).from(orchestrationSessionExec).groupBy(orchestrationSessionExec.execNature);
1790
+ });
1791
+ var orchestrationExecutionSuccessRateByType = (0, import_sqlite_core2.sqliteView)("orchestration_execution_success_rate_by_type").as((qb) => {
1792
+ return qb.select({
1793
+ execNature: orchestrationSessionExec.execNature,
1794
+ totalExecutions: (0, import_drizzle_orm2.count)().as("total_executions"),
1795
+ successfulExecutions: (0, import_drizzle_orm2.sum)(import_drizzle_orm2.sql`CASE WHEN ${orchestrationSessionExec.execStatus} = 0 THEN 1 ELSE 0 END`).as("successful_executions"),
1796
+ successRate: import_drizzle_orm2.sql`(CAST(SUM(CASE WHEN ${orchestrationSessionExec.execStatus} = 0 THEN 1 ELSE 0 END) AS FLOAT) / COUNT(*)) * 100`.as("success_rate")
1797
+ }).from(orchestrationSessionExec).groupBy(orchestrationSessionExec.execNature);
1798
+ });
1799
+ var orchestrationSessionSummary = (0, import_sqlite_core2.sqliteView)("orchestration_session_summary").as((qb) => {
1800
+ return qb.select({
1801
+ issueType: orchestrationSessionIssue.issueType,
1802
+ issueCount: (0, import_drizzle_orm2.count)(orchestrationSessionIssue.orchestrationSessionIssueId).as("issue_count")
1803
+ }).from(orchestrationSessionIssue).groupBy(orchestrationSessionIssue.issueType);
1804
+ });
1805
+ var orchestrationIssueRemediation = (0, import_sqlite_core2.sqliteView)("orchestration_issue_remediation").as((qb) => {
1806
+ return qb.select({
1807
+ orchestrationSessionIssueId: orchestrationSessionIssue.orchestrationSessionIssueId,
1808
+ issueType: orchestrationSessionIssue.issueType,
1809
+ issueMessage: orchestrationSessionIssue.issueMessage,
1810
+ remediation: orchestrationSessionIssue.remediation
1811
+ }).from(orchestrationSessionIssue).where(import_drizzle_orm2.sql`${orchestrationSessionIssue.remediation} IS NOT NULL`);
1812
+ });
1813
+ var orchestrationLogsBySession = (0, import_sqlite_core2.sqliteView)("orchestration_logs_by_session").as((qb) => {
1814
+ return qb.select({
1815
+ orchestrationSessionId: orchestrationSession.orchestrationSessionId,
1816
+ orchestrationNature: orchestrationNature.nature,
1817
+ category: orchestrationSessionLog.category,
1818
+ logCount: (0, import_drizzle_orm2.count)(orchestrationSessionLog.orchestrationSessionLogId).as("log_count")
1819
+ }).from(orchestrationSession).innerJoin(orchestrationNature, (0, import_drizzle_orm2.eq)(orchestrationSession.orchestrationNatureId, orchestrationNature.orchestrationNatureId)).innerJoin(orchestrationSessionExec, (0, import_drizzle_orm2.eq)(orchestrationSession.orchestrationSessionId, orchestrationSessionExec.sessionId)).innerJoin(orchestrationSessionLog, (0, import_drizzle_orm2.eq)(orchestrationSessionExec.orchestrationSessionExecId, orchestrationSessionLog.parentExecId)).groupBy(orchestrationSession.orchestrationSessionId, orchestrationNature.nature, orchestrationSessionLog.category);
1820
+ });
1821
+ var emailMessagesWithTimezone = (0, import_sqlite_core2.sqliteView)("email_messages_with_timezone", {}).as(import_drizzle_orm2.sql`
1822
+ SELECT
1823
+ m.*,
1824
+ -- Smart timezone conversion based on original timezone
1825
+ CASE
1826
+ -- If already IST (+0530), just extract the time
1827
+ WHEN date LIKE '%+0530%' THEN substr(date, 18, 8)
1828
+ -- If UTC (+0000), convert to IST
1829
+ WHEN date LIKE '%+0000%' THEN time(substr(date, 18, 8), '+5 hours', '+30 minutes')
1830
+ -- If EST (-0500), convert to IST
1831
+ WHEN date LIKE '%-0500%' THEN time(substr(date, 18, 8), '+10 hours', '+30 minutes')
1832
+ -- If PST (-0800), convert to IST
1833
+ WHEN date LIKE '%-0800%' THEN time(substr(date, 18, 8), '+13 hours', '+30 minutes')
1834
+ -- Default: assume UTC and convert
1835
+ ELSE time(substr(date, 18, 8), '+5 hours', '+30 minutes')
1836
+ END as ist_time,
1837
+
1838
+ -- Always show UTC time (convert from any timezone to UTC first)
1839
+ CASE
1840
+ WHEN date LIKE '%+0530%' THEN time(substr(date, 18, 8), '-5 hours', '-30 minutes')
1841
+ WHEN date LIKE '%+0000%' THEN substr(date, 18, 8)
1842
+ WHEN date LIKE '%-0500%' THEN time(substr(date, 18, 8), '+5 hours')
1843
+ WHEN date LIKE '%-0800%' THEN time(substr(date, 18, 8), '+8 hours')
1844
+ ELSE substr(date, 18, 8)
1845
+ END as utc_time,
1846
+
1847
+ -- Detect original timezone more accurately
1848
+ CASE
1849
+ WHEN date LIKE '%+0530%' THEN 'IST'
1850
+ WHEN date LIKE '%+0000%' THEN 'UTC'
1851
+ WHEN date LIKE '%-0500%' THEN 'EST'
1852
+ WHEN date LIKE '%-0800%' THEN 'PST'
1853
+ ELSE 'Unknown'
1854
+ END as detected_timezone
1855
+ FROM ur_ingest_session_imap_acct_folder_message m`);
1856
+ var deviceGraphOverview = (0, import_sqlite_core2.sqliteView)("device_graph_overview", {}).as(import_drizzle_orm2.sql`
1857
+ SELECT
1858
+ 'snmp_device' as device_type,
1859
+ sd.device_key as device_id,
1860
+ sd.snmp_host as primary_identifier,
1861
+ sd.device_type as device_category,
1862
+ sd.device_description as description,
1863
+ sd.status,
1864
+ sd.created_at,
1865
+ sd.updated_at,
1866
+ json_object(
1867
+ 'snmp_port', sd.snmp_port,
1868
+ 'snmp_community', sd.snmp_community,
1869
+ 'snmp_version', sd.snmp_version,
1870
+ 'snmp_timeout', sd.snmp_timeout,
1871
+ 'snmp_retries', sd.snmp_retries
1872
+ ) as device_metadata
1873
+ FROM surveilr_snmp_device sd
1874
+ WHERE sd.status = 'active'
1875
+
1876
+ UNION ALL
1877
+
1878
+ SELECT
1879
+ 'osquery_node' as device_type,
1880
+ osq.node_key as device_id,
1881
+ osq.host_identifier as primary_identifier,
1882
+ 'endpoint' as device_category,
1883
+ osq.os_version as description,
1884
+ osq.status,
1885
+ osq.created_at,
1886
+ osq.updated_at,
1887
+ json_object(
1888
+ 'last_seen', osq.last_seen,
1889
+ 'platform', osq.platform,
1890
+ 'osquery_version', osq.osquery_version,
1891
+ 'device_id', osq.device_id
1892
+ ) as device_metadata
1893
+ FROM surveilr_osquery_ms_node osq
1894
+ WHERE osq.status = 'active'`);
1895
+ var deviceGraphCorrelations = (0, import_sqlite_core2.sqliteView)("device_graph_correlations", {}).as(import_drizzle_orm2.sql`
1896
+ SELECT DISTINCT
1897
+ ure1.node_id as snmp_device_key,
1898
+ ure1.uniform_resource_id as osquery_node_key,
1899
+ CASE
1900
+ WHEN ure1.nature LIKE '%ip_address_match%' THEN 'IP Address Match'
1901
+ WHEN ure1.nature LIKE '%hostname_match%' THEN 'Hostname Match'
1902
+ WHEN ure1.nature LIKE '%mac_address_match%' THEN 'MAC Address Match'
1903
+ WHEN ure1.nature LIKE '%network_topology%' THEN 'Network Topology'
1904
+ WHEN ure1.nature LIKE '%manual%' THEN 'Manual'
1905
+ ELSE 'Unknown'
1906
+ END as correlation_type,
1907
+ CASE
1908
+ WHEN ure1.nature LIKE '%ip_address_match%' THEN 0.95
1909
+ WHEN ure1.nature LIKE '%hostname_match%' THEN 0.85
1910
+ WHEN ure1.nature LIKE '%mac_address_match%' THEN 0.90
1911
+ WHEN ure1.nature LIKE '%network_topology%' THEN 0.70
1912
+ WHEN ure1.nature LIKE '%manual%' THEN 1.0
1913
+ ELSE 0.5
1914
+ END as confidence_score,
1915
+ json_extract(ure1.elaboration, '$.snmp_host') as snmp_host,
1916
+ json_extract(ure1.elaboration, '$.correlation_method') as correlation_method,
1917
+ ure1.elaboration as evidence
1918
+ FROM uniform_resource_edge ure1
1919
+ WHERE ure1.graph_name = 'device_graph'
1920
+ AND ure1.nature LIKE 'snmp_to_osquery_%'
1921
+ ORDER BY ure1.node_id, ure1.uniform_resource_id`);
1922
+ var snmpDeviceInventory = (0, import_sqlite_core2.sqliteView)("snmp_device_inventory", {}).as(import_drizzle_orm2.sql`
1923
+ SELECT
1924
+ sd.device_key,
1925
+ sd.snmp_host,
1926
+ sd.snmp_port,
1927
+ sd.device_type,
1928
+ sd.device_description,
1929
+ sd.status,
1930
+ sd.created_at,
1931
+ COUNT(sc.surveilr_snmp_collection_id) as total_collections,
1932
+ MAX(sc.collected_at) as last_collection_time,
1933
+ COUNT(DISTINCT sc.oid) as unique_oids_collected,
1934
+ AVG(
1935
+ CASE
1936
+ WHEN sc.collected_at > datetime('now', '-1 hour') THEN 1
1937
+ ELSE 0
1938
+ END
1939
+ ) as recent_activity_score
1940
+ FROM surveilr_snmp_device sd
1941
+ LEFT JOIN surveilr_snmp_collection sc ON sd.device_key = sc.device_key
1942
+ GROUP BY sd.device_key, sd.snmp_host, sd.snmp_port, sd.device_type,
1943
+ sd.device_description, sd.status, sd.created_at
1944
+ ORDER BY sd.status, sd.snmp_host`);
1945
+ var snmpCollectionSummary = (0, import_sqlite_core2.sqliteView)("snmp_collection_summary", {}).as(import_drizzle_orm2.sql`
1946
+ SELECT
1947
+ sc.device_key,
1948
+ sd.snmp_host,
1949
+ sc.oid_type,
1950
+ COUNT(*) as collection_count,
1951
+ COUNT(DISTINCT sc.oid) as unique_oids,
1952
+ MIN(sc.collected_at) as first_collection,
1953
+ MAX(sc.collected_at) as latest_collection,
1954
+ COUNT(DISTINCT DATE(sc.collected_at)) as collection_days
1955
+ FROM surveilr_snmp_collection sc
1956
+ JOIN surveilr_snmp_device sd ON sc.device_key = sd.device_key
1957
+ GROUP BY sc.device_key, sd.snmp_host, sc.oid_type
1958
+ ORDER BY sd.snmp_host, sc.oid_type`);
1959
+ var networkDeviceTopology = (0, import_sqlite_core2.sqliteView)("network_device_topology", {}).as(import_drizzle_orm2.sql`
1960
+ SELECT
1961
+ sd.device_key,
1962
+ sd.snmp_host,
1963
+ sd.device_type,
1964
+ -- Extract network information from SNMP collections
1965
+ COALESCE(
1966
+ (SELECT sc.oid_value
1967
+ FROM surveilr_snmp_collection sc
1968
+ WHERE sc.device_key = sd.device_key
1969
+ AND sc.oid LIKE '%.1.3.6.1.2.1.1.1.%'
1970
+ LIMIT 1),
1971
+ 'Unknown'
1972
+ ) as system_description,
1973
+ COALESCE(
1974
+ (SELECT sc.oid_value
1975
+ FROM surveilr_snmp_collection sc
1976
+ WHERE sc.device_key = sd.device_key
1977
+ AND sc.oid LIKE '%.1.3.6.1.2.1.1.5.%'
1978
+ LIMIT 1),
1979
+ 'Unknown'
1980
+ ) as system_name,
1981
+ -- Count correlated devices
1982
+ (SELECT COUNT(*)
1983
+ FROM device_graph_correlations dgc
1984
+ WHERE dgc.snmp_device_key = sd.device_key
1985
+ ) as correlated_devices_count,
1986
+ sd.status,
1987
+ sd.created_at
1988
+ FROM surveilr_snmp_device sd
1989
+ WHERE sd.status = 'active'
1990
+ ORDER BY sd.snmp_host`);
1991
+ var deviceGraphAnalytics = (0, import_sqlite_core2.sqliteView)("device_graph_analytics", {}).as(import_drizzle_orm2.sql`
1992
+ SELECT
1993
+ 'summary' as metric_type,
1994
+ 'total_snmp_devices' as metric_name,
1995
+ COUNT(*) as metric_value,
1996
+ NULL as additional_info
1997
+ FROM surveilr_snmp_device
1998
+ WHERE status = 'active'
1999
+
2000
+ UNION ALL
2001
+
2002
+ SELECT
2003
+ 'summary' as metric_type,
2004
+ 'total_osquery_nodes' as metric_name,
2005
+ COUNT(*) as metric_value,
2006
+ NULL as additional_info
2007
+ FROM surveilr_osquery_ms_node
2008
+ WHERE status = 'active'
2009
+
2010
+ UNION ALL
2011
+
2012
+ SELECT
2013
+ 'summary' as metric_type,
2014
+ 'total_correlations' as metric_name,
2015
+ COUNT(*) as metric_value,
2016
+ NULL as additional_info
2017
+ FROM device_graph_correlations
2018
+
2019
+ UNION ALL
2020
+
2021
+ SELECT
2022
+ 'summary' as metric_type,
2023
+ 'correlation_types' as metric_name,
2024
+ COUNT(DISTINCT correlation_type) as metric_value,
2025
+ GROUP_CONCAT(DISTINCT correlation_type) as additional_info
2026
+ FROM device_graph_correlations
2027
+
2028
+ UNION ALL
2029
+
2030
+ SELECT
2031
+ 'correlation_by_type' as metric_type,
2032
+ correlation_type as metric_name,
2033
+ COUNT(*) as metric_value,
2034
+ printf('avg_confidence: %.2f', AVG(confidence_score)) as additional_info
2035
+ FROM device_graph_correlations
2036
+ GROUP BY correlation_type
2037
+
2038
+ UNION ALL
2039
+
2040
+ SELECT
2041
+ 'collection_stats' as metric_type,
2042
+ 'total_snmp_collections' as metric_name,
2043
+ COUNT(*) as metric_value,
2044
+ printf('unique_devices: %d', COUNT(DISTINCT device_key)) as additional_info
2045
+ FROM surveilr_snmp_collection
2046
+
2047
+ UNION ALL
2048
+
2049
+ SELECT
2050
+ 'collection_stats' as metric_type,
2051
+ 'collection_activity_last_24h' as metric_name,
2052
+ COUNT(*) as metric_value,
2053
+ printf('devices_active: %d', COUNT(DISTINCT device_key)) as additional_info
2054
+ FROM surveilr_snmp_collection
2055
+ WHERE collected_at > datetime('now', '-24 hours')`);
2056
+ var snmpOidPerformance = (0, import_sqlite_core2.sqliteView)("snmp_oid_performance", {}).as(import_drizzle_orm2.sql`
2057
+ SELECT
2058
+ sc.oid,
2059
+ sc.oid_type,
2060
+ COUNT(*) as total_collections,
2061
+ COUNT(DISTINCT sc.device_key) as devices_collecting,
2062
+ COUNT(DISTINCT DATE(sc.collected_at)) as collection_days,
2063
+ MIN(sc.collected_at) as first_seen,
2064
+ MAX(sc.collected_at) as last_seen,
2065
+ -- Calculate collection frequency (avoid nested aggregates)
2066
+ CAST(
2067
+ COUNT(*) * 1.0 /
2068
+ NULLIF(MAX(julianday(sc.collected_at)) - MIN(julianday(sc.collected_at)), 0)
2069
+ AS REAL) as avg_collections_per_day,
2070
+ -- Sample values for diversity analysis
2071
+ COUNT(DISTINCT sc.oid_value) as unique_values_count,
2072
+ GROUP_CONCAT(DISTINCT sc.oid_value) as sample_values
2073
+ FROM surveilr_snmp_collection sc
2074
+ GROUP BY sc.oid, sc.oid_type
2075
+ HAVING COUNT(*) > 0
2076
+ ORDER BY total_collections DESC, devices_collecting DESC`);
2077
+ // Annotate the CommonJS export names for ESM import in node:
2078
+ 0 && (module.exports = {
2079
+ codeNotebookCellLatest,
2080
+ codeNotebookCellVersions,
2081
+ codeNotebookMigrationSql,
2082
+ codeNotebookSqlCellMigratable,
2083
+ codeNotebookSqlCellMigratableNotExecuted,
2084
+ codeNotebookSqlCellMigratableState,
2085
+ codeNotebookSqlCellMigratableVersion,
2086
+ consoleContentTabular,
2087
+ consoleInformationSchemaTable,
2088
+ consoleInformationSchemaTableColFkey,
2089
+ consoleInformationSchemaTableColIndex,
2090
+ consoleInformationSchemaView,
2091
+ deviceGraphAnalytics,
2092
+ deviceGraphCorrelations,
2093
+ deviceGraphOverview,
2094
+ emailMessagesWithTimezone,
2095
+ filesystemGraph,
2096
+ imapGraph,
2097
+ networkDeviceTopology,
2098
+ orchestrationExecutionSuccessRateByType,
2099
+ orchestrationExecutionsByType,
2100
+ orchestrationIssueRemediation,
2101
+ orchestrationLogsBySession,
2102
+ orchestrationSessionByDevice,
2103
+ orchestrationSessionDuration,
2104
+ orchestrationSessionScript,
2105
+ orchestrationSessionSummary,
2106
+ orchestrationSuccessRate,
2107
+ rssdStatisticsOverview,
2108
+ rssdTableStatistic,
2109
+ snmpCollectionSummary,
2110
+ snmpDeviceInventory,
2111
+ snmpOidPerformance,
2112
+ uniformResourceFile,
2113
+ uniformResourceImap,
2114
+ uniformResourceImapContent,
2115
+ urIngestSessionFileIssue,
2116
+ urIngestSessionFilesStats,
2117
+ urIngestSessionFilesStatsLatest,
2118
+ urIngestSessionTasksStats,
2119
+ urIngestSessionTasksStatsLatest
2120
+ });