@minion-stack/db 0.3.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/crypto.d.ts +19 -0
  2. package/dist/crypto.d.ts.map +1 -0
  3. package/dist/crypto.js +65 -0
  4. package/dist/crypto.js.map +1 -0
  5. package/dist/crypto.test.d.ts +2 -0
  6. package/dist/crypto.test.d.ts.map +1 -0
  7. package/dist/crypto.test.js +23 -0
  8. package/dist/crypto.test.js.map +1 -0
  9. package/dist/pg/crypto.d.ts +1 -7
  10. package/dist/pg/crypto.d.ts.map +1 -1
  11. package/dist/pg/crypto.js +4 -41
  12. package/dist/pg/crypto.js.map +1 -1
  13. package/dist/pg/schema/agent-groups.d.ts +169 -0
  14. package/dist/pg/schema/agent-groups.d.ts.map +1 -0
  15. package/dist/pg/schema/agent-groups.js +21 -0
  16. package/dist/pg/schema/agent-groups.js.map +1 -0
  17. package/dist/pg/schema/builder.d.ts +1432 -0
  18. package/dist/pg/schema/builder.d.ts.map +1 -0
  19. package/dist/pg/schema/builder.js +160 -0
  20. package/dist/pg/schema/builder.js.map +1 -0
  21. package/dist/pg/schema/channels.d.ts +441 -0
  22. package/dist/pg/schema/channels.d.ts.map +1 -0
  23. package/dist/pg/schema/channels.js +62 -0
  24. package/dist/pg/schema/channels.js.map +1 -0
  25. package/dist/pg/schema/chat-messages.d.ts +184 -0
  26. package/dist/pg/schema/chat-messages.d.ts.map +1 -0
  27. package/dist/pg/schema/chat-messages.js +26 -0
  28. package/dist/pg/schema/chat-messages.js.map +1 -0
  29. package/dist/pg/schema/device-identities.d.ts +111 -0
  30. package/dist/pg/schema/device-identities.d.ts.map +1 -0
  31. package/dist/pg/schema/device-identities.js +11 -0
  32. package/dist/pg/schema/device-identities.js.map +1 -0
  33. package/dist/pg/schema/files.d.ts +162 -0
  34. package/dist/pg/schema/files.d.ts.map +1 -0
  35. package/dist/pg/schema/files.js +15 -0
  36. package/dist/pg/schema/files.js.map +1 -0
  37. package/dist/pg/schema/index.d.ts +19 -0
  38. package/dist/pg/schema/index.d.ts.map +1 -1
  39. package/dist/pg/schema/index.js +20 -0
  40. package/dist/pg/schema/index.js.map +1 -1
  41. package/dist/pg/schema/marketplace.d.ts +459 -0
  42. package/dist/pg/schema/marketplace.d.ts.map +1 -0
  43. package/dist/pg/schema/marketplace.js +42 -0
  44. package/dist/pg/schema/marketplace.js.map +1 -0
  45. package/dist/pg/schema/messages.d.ts +391 -0
  46. package/dist/pg/schema/messages.d.ts.map +1 -0
  47. package/dist/pg/schema/messages.js +44 -0
  48. package/dist/pg/schema/messages.js.map +1 -0
  49. package/dist/pg/schema/missions.d.ts +361 -0
  50. package/dist/pg/schema/missions.d.ts.map +1 -0
  51. package/dist/pg/schema/missions.js +48 -0
  52. package/dist/pg/schema/missions.js.map +1 -0
  53. package/dist/pg/schema/personal-agents.d.ts +285 -0
  54. package/dist/pg/schema/personal-agents.d.ts.map +1 -0
  55. package/dist/pg/schema/personal-agents.js +40 -0
  56. package/dist/pg/schema/personal-agents.js.map +1 -0
  57. package/dist/pg/schema/profiles.d.ts +17 -0
  58. package/dist/pg/schema/profiles.d.ts.map +1 -1
  59. package/dist/pg/schema/profiles.js +2 -0
  60. package/dist/pg/schema/profiles.js.map +1 -1
  61. package/dist/pg/schema/server-ops.d.ts +836 -0
  62. package/dist/pg/schema/server-ops.d.ts.map +1 -0
  63. package/dist/pg/schema/server-ops.js +88 -0
  64. package/dist/pg/schema/server-ops.js.map +1 -0
  65. package/dist/pg/schema/sessions.d.ts +395 -0
  66. package/dist/pg/schema/sessions.d.ts.map +1 -0
  67. package/dist/pg/schema/sessions.js +50 -0
  68. package/dist/pg/schema/sessions.js.map +1 -0
  69. package/dist/pg/schema/settings.d.ts +111 -0
  70. package/dist/pg/schema/settings.d.ts.map +1 -0
  71. package/dist/pg/schema/settings.js +17 -0
  72. package/dist/pg/schema/settings.js.map +1 -0
  73. package/dist/pg/schema/skills.d.ts +395 -0
  74. package/dist/pg/schema/skills.d.ts.map +1 -0
  75. package/dist/pg/schema/skills.js +45 -0
  76. package/dist/pg/schema/skills.js.map +1 -0
  77. package/dist/pg/schema/user-agents.d.ts +80 -0
  78. package/dist/pg/schema/user-agents.d.ts.map +1 -0
  79. package/dist/pg/schema/user-agents.js +21 -0
  80. package/dist/pg/schema/user-agents.js.map +1 -0
  81. package/dist/pg/schema/user-identities.d.ts +1 -1
  82. package/dist/pg/schema/user-preferences.d.ts +97 -0
  83. package/dist/pg/schema/user-preferences.d.ts.map +1 -0
  84. package/dist/pg/schema/user-preferences.js +19 -0
  85. package/dist/pg/schema/user-preferences.js.map +1 -0
  86. package/dist/pg/schema/workshop-saves.d.ts +145 -0
  87. package/dist/pg/schema/workshop-saves.d.ts.map +1 -0
  88. package/dist/pg/schema/workshop-saves.js +13 -0
  89. package/dist/pg/schema/workshop-saves.js.map +1 -0
  90. package/dist/pg/schema/workspace-membership.d.ts +83 -0
  91. package/dist/pg/schema/workspace-membership.d.ts.map +1 -0
  92. package/dist/pg/schema/workspace-membership.js +19 -0
  93. package/dist/pg/schema/workspace-membership.js.map +1 -0
  94. package/dist/schema/flows.d.ts +36 -0
  95. package/dist/schema/flows.d.ts.map +1 -1
  96. package/dist/schema/flows.js +2 -0
  97. package/dist/schema/flows.js.map +1 -1
  98. package/dist/schema/index.d.ts +2 -0
  99. package/dist/schema/index.d.ts.map +1 -1
  100. package/dist/schema/index.js +1 -0
  101. package/dist/schema/index.js.map +1 -1
  102. package/dist/schema/join-requests.d.ts +188 -0
  103. package/dist/schema/join-requests.d.ts.map +1 -0
  104. package/dist/schema/join-requests.js +35 -0
  105. package/dist/schema/join-requests.js.map +1 -0
  106. package/dist/schema/personal-agents.d.ts +1 -1
  107. package/dist/schema/reliability-events.d.ts +1 -1
  108. package/dist/schema/skill-execution-stats.d.ts +1 -1
  109. package/package.json +15 -12
  110. package/src/crypto.test.ts +33 -0
  111. package/src/crypto.ts +73 -0
  112. package/src/pg/crypto.ts +4 -44
  113. package/src/pg/schema/agent-groups.ts +30 -0
  114. package/src/pg/schema/builder.ts +205 -0
  115. package/src/pg/schema/channels.ts +77 -0
  116. package/src/pg/schema/chat-messages.ts +30 -0
  117. package/src/pg/schema/device-identities.ts +11 -0
  118. package/src/pg/schema/files.ts +19 -0
  119. package/src/pg/schema/index.ts +36 -0
  120. package/src/pg/schema/marketplace.ts +47 -0
  121. package/src/pg/schema/messages.ts +48 -0
  122. package/src/pg/schema/missions.ts +58 -0
  123. package/src/pg/schema/personal-agents.ts +44 -0
  124. package/src/pg/schema/profiles.ts +2 -0
  125. package/src/pg/schema/server-ops.ts +126 -0
  126. package/src/pg/schema/sessions.ts +60 -0
  127. package/src/pg/schema/settings.ts +21 -0
  128. package/src/pg/schema/skills.ts +65 -0
  129. package/src/pg/schema/user-agents.ts +25 -0
  130. package/src/pg/schema/user-preferences.ts +23 -0
  131. package/src/pg/schema/workshop-saves.ts +13 -0
  132. package/src/pg/schema/workspace-membership.ts +26 -0
  133. package/src/schema/flows.ts +2 -0
  134. package/src/schema/index.ts +2 -0
  135. package/src/schema/join-requests.ts +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-ops.d.ts","sourceRoot":"","sources":["../../../src/pg/schema/server-ops.ts"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDlC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa3B,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { pgTable, uuid, text, integer, bigint, boolean, timestamp, index, uniqueIndex, } from 'drizzle-orm/pg-core';
2
+ import { gateway } from './gateway.js';
3
+ /**
4
+ * Server/gateway provisioning + backup operations.
5
+ * Mirrors Turso `server_backups` / `server_provision_configs` / `backup_configs` / `config_snapshots`.
6
+ * FK remap: server_id → gateway_id (gateway.id via legacy_server_id),
7
+ * tenant_id → organizations.id (plain uuid soft-ref, RLS-enforced).
8
+ * Type remap: integer epoch → timestamptz, integer boolean-flags → boolean,
9
+ * size_bytes integer → bigint.
10
+ */
11
+ export const serverBackups = pgTable('server_backups', {
12
+ id: text('id').primaryKey(),
13
+ gatewayId: uuid('gateway_id')
14
+ .notNull()
15
+ .references(() => gateway.id, { onDelete: 'cascade' }),
16
+ tenantId: uuid('tenant_id').notNull(),
17
+ snapshotPath: text('snapshot_path').notNull(),
18
+ timestamp: timestamp('timestamp', { withTimezone: true }).notNull(),
19
+ sizeBytes: bigint('size_bytes', { mode: 'number' }),
20
+ status: text('status', { enum: ['running', 'complete', 'failed'] })
21
+ .notNull()
22
+ .default('running'),
23
+ createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
24
+ }, (t) => [
25
+ index('idx_server_backups_gateway').on(t.gatewayId),
26
+ index('idx_server_backups_tenant').on(t.tenantId),
27
+ ]);
28
+ export const serverProvisionConfigs = pgTable('server_provision_configs', {
29
+ id: text('id').primaryKey(),
30
+ gatewayId: uuid('gateway_id')
31
+ .notNull()
32
+ .references(() => gateway.id, { onDelete: 'cascade' }),
33
+ tenantId: uuid('tenant_id').notNull(),
34
+ // SSH connection
35
+ sshHost: text('ssh_host'),
36
+ sshUser: text('ssh_user').default('root'),
37
+ sshPort: integer('ssh_port').default(22),
38
+ // Credentials (encrypted)
39
+ apiKey: text('api_key'),
40
+ apiKeyIv: text('api_key_iv'),
41
+ // Agent config
42
+ agentName: text('agent_name'),
43
+ sandboxMode: text('sandbox_mode', { enum: ['non-main', 'always', 'never'] }).default('non-main'),
44
+ dmPolicy: text('dm_policy', { enum: ['pairing', 'solo', 'disabled'] }).default('pairing'),
45
+ // Install config
46
+ installMethod: text('install_method', { enum: ['package', 'source'] }).default('package'),
47
+ pkgManager: text('pkg_manager', { enum: ['npm', 'bun'] }).default('npm'),
48
+ // Gateway config
49
+ gatewayPort: integer('gateway_port').default(18789),
50
+ gatewayBind: text('gateway_bind', { enum: ['loopback', 'all'] }).default('loopback'),
51
+ // Channel toggles
52
+ enableWhatsapp: boolean('enable_whatsapp').default(false),
53
+ enableTelegram: boolean('enable_telegram').default(false),
54
+ enableDiscord: boolean('enable_discord').default(false),
55
+ // Provision state
56
+ phaseStatuses: text('phase_statuses').default('{}'),
57
+ lastProvisionAt: timestamp('last_provision_at', { withTimezone: true }),
58
+ // Timestamps
59
+ createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
60
+ updatedAt: timestamp('updated_at', { withTimezone: true }).notNull().defaultNow(),
61
+ }, (t) => [
62
+ uniqueIndex('provision_configs_uniq_gateway').on(t.gatewayId),
63
+ index('idx_provision_configs_tenant').on(t.tenantId),
64
+ ]);
65
+ export const backupConfigs = pgTable('backup_configs', {
66
+ id: text('id').primaryKey(),
67
+ tenantId: uuid('tenant_id').notNull(),
68
+ backupHost: text('backup_host'),
69
+ backupUser: text('backup_user').default('root'),
70
+ backupPort: integer('backup_port').default(22),
71
+ backupBasePath: text('backup_base_path').default('/mnt/agent-data/backups'),
72
+ schedule: text('schedule'),
73
+ retentionCount: integer('retention_count').default(7),
74
+ enabled: boolean('enabled').default(false),
75
+ createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
76
+ updatedAt: timestamp('updated_at', { withTimezone: true }).notNull().defaultNow(),
77
+ }, (t) => [index('idx_backup_configs_tenant').on(t.tenantId)]);
78
+ export const configSnapshots = pgTable('config_snapshots', {
79
+ id: text('id').primaryKey(),
80
+ tenantId: uuid('tenant_id').notNull(),
81
+ gatewayId: uuid('gateway_id')
82
+ .notNull()
83
+ .references(() => gateway.id, { onDelete: 'cascade' }),
84
+ configJson: text('config_json').notNull(),
85
+ configHash: text('config_hash').notNull(),
86
+ fetchedAt: timestamp('fetched_at', { withTimezone: true }).notNull(),
87
+ }, (t) => [uniqueIndex('idx_config_snapshots_gateway').on(t.gatewayId)]);
88
+ //# sourceMappingURL=server-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-ops.js","sourceRoot":"","sources":["../../../src/pg/schema/server-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,395 @@
1
+ /**
2
+ * Agent sessions + per-session task boards.
3
+ * Mirrors Turso `sessions` / `session_tasks`.
4
+ * FK remap: server_id → gateway_id, tenant_id → organizations.id (soft-ref),
5
+ * integer epoch timestamps → timestamptz.
6
+ */
7
+ export declare const sessions: import("drizzle-orm/pg-core").PgTableWithColumns<{
8
+ name: "sessions";
9
+ schema: undefined;
10
+ columns: {
11
+ id: import("drizzle-orm/pg-core").PgColumn<{
12
+ name: "id";
13
+ tableName: "sessions";
14
+ dataType: "string";
15
+ columnType: "PgText";
16
+ data: string;
17
+ driverParam: string;
18
+ notNull: true;
19
+ hasDefault: false;
20
+ isPrimaryKey: true;
21
+ isAutoincrement: false;
22
+ hasRuntimeDefault: false;
23
+ enumValues: [string, ...string[]];
24
+ baseColumn: never;
25
+ identity: undefined;
26
+ generated: undefined;
27
+ }, {}, {}>;
28
+ tenantId: import("drizzle-orm/pg-core").PgColumn<{
29
+ name: "tenant_id";
30
+ tableName: "sessions";
31
+ dataType: "string";
32
+ columnType: "PgUUID";
33
+ data: string;
34
+ driverParam: string;
35
+ notNull: true;
36
+ hasDefault: false;
37
+ isPrimaryKey: false;
38
+ isAutoincrement: false;
39
+ hasRuntimeDefault: false;
40
+ enumValues: undefined;
41
+ baseColumn: never;
42
+ identity: undefined;
43
+ generated: undefined;
44
+ }, {}, {}>;
45
+ gatewayId: import("drizzle-orm/pg-core").PgColumn<{
46
+ name: "gateway_id";
47
+ tableName: "sessions";
48
+ dataType: "string";
49
+ columnType: "PgUUID";
50
+ data: string;
51
+ driverParam: string;
52
+ notNull: true;
53
+ hasDefault: false;
54
+ isPrimaryKey: false;
55
+ isAutoincrement: false;
56
+ hasRuntimeDefault: false;
57
+ enumValues: undefined;
58
+ baseColumn: never;
59
+ identity: undefined;
60
+ generated: undefined;
61
+ }, {}, {}>;
62
+ agentId: import("drizzle-orm/pg-core").PgColumn<{
63
+ name: "agent_id";
64
+ tableName: "sessions";
65
+ dataType: "string";
66
+ columnType: "PgText";
67
+ data: string;
68
+ driverParam: string;
69
+ notNull: true;
70
+ hasDefault: false;
71
+ isPrimaryKey: false;
72
+ isAutoincrement: false;
73
+ hasRuntimeDefault: false;
74
+ enumValues: [string, ...string[]];
75
+ baseColumn: never;
76
+ identity: undefined;
77
+ generated: undefined;
78
+ }, {}, {}>;
79
+ sessionKey: import("drizzle-orm/pg-core").PgColumn<{
80
+ name: "session_key";
81
+ tableName: "sessions";
82
+ dataType: "string";
83
+ columnType: "PgText";
84
+ data: string;
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: [string, ...string[]];
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {}>;
96
+ status: import("drizzle-orm/pg-core").PgColumn<{
97
+ name: "status";
98
+ tableName: "sessions";
99
+ dataType: "string";
100
+ columnType: "PgText";
101
+ data: "running" | "thinking" | "idle" | "aborted" | "completed";
102
+ driverParam: string;
103
+ notNull: true;
104
+ hasDefault: true;
105
+ isPrimaryKey: false;
106
+ isAutoincrement: false;
107
+ hasRuntimeDefault: false;
108
+ enumValues: ["running", "thinking", "idle", "aborted", "completed"];
109
+ baseColumn: never;
110
+ identity: undefined;
111
+ generated: undefined;
112
+ }, {}, {}>;
113
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
114
+ name: "metadata";
115
+ tableName: "sessions";
116
+ dataType: "string";
117
+ columnType: "PgText";
118
+ data: string;
119
+ driverParam: string;
120
+ notNull: false;
121
+ hasDefault: false;
122
+ isPrimaryKey: false;
123
+ isAutoincrement: false;
124
+ hasRuntimeDefault: false;
125
+ enumValues: [string, ...string[]];
126
+ baseColumn: never;
127
+ identity: undefined;
128
+ generated: undefined;
129
+ }, {}, {}>;
130
+ startedAt: import("drizzle-orm/pg-core").PgColumn<{
131
+ name: "started_at";
132
+ tableName: "sessions";
133
+ dataType: "date";
134
+ columnType: "PgTimestamp";
135
+ data: Date;
136
+ driverParam: string;
137
+ notNull: false;
138
+ hasDefault: false;
139
+ isPrimaryKey: false;
140
+ isAutoincrement: false;
141
+ hasRuntimeDefault: false;
142
+ enumValues: undefined;
143
+ baseColumn: never;
144
+ identity: undefined;
145
+ generated: undefined;
146
+ }, {}, {}>;
147
+ endedAt: import("drizzle-orm/pg-core").PgColumn<{
148
+ name: "ended_at";
149
+ tableName: "sessions";
150
+ dataType: "date";
151
+ columnType: "PgTimestamp";
152
+ data: Date;
153
+ driverParam: string;
154
+ notNull: false;
155
+ hasDefault: false;
156
+ isPrimaryKey: false;
157
+ isAutoincrement: false;
158
+ hasRuntimeDefault: false;
159
+ enumValues: undefined;
160
+ baseColumn: never;
161
+ identity: undefined;
162
+ generated: undefined;
163
+ }, {}, {}>;
164
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
165
+ name: "created_at";
166
+ tableName: "sessions";
167
+ dataType: "date";
168
+ columnType: "PgTimestamp";
169
+ data: Date;
170
+ driverParam: string;
171
+ notNull: true;
172
+ hasDefault: true;
173
+ isPrimaryKey: false;
174
+ isAutoincrement: false;
175
+ hasRuntimeDefault: false;
176
+ enumValues: undefined;
177
+ baseColumn: never;
178
+ identity: undefined;
179
+ generated: undefined;
180
+ }, {}, {}>;
181
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
182
+ name: "updated_at";
183
+ tableName: "sessions";
184
+ dataType: "date";
185
+ columnType: "PgTimestamp";
186
+ data: Date;
187
+ driverParam: string;
188
+ notNull: true;
189
+ hasDefault: true;
190
+ isPrimaryKey: false;
191
+ isAutoincrement: false;
192
+ hasRuntimeDefault: false;
193
+ enumValues: undefined;
194
+ baseColumn: never;
195
+ identity: undefined;
196
+ generated: undefined;
197
+ }, {}, {}>;
198
+ };
199
+ dialect: "pg";
200
+ }>;
201
+ export declare const sessionTasks: import("drizzle-orm/pg-core").PgTableWithColumns<{
202
+ name: "session_tasks";
203
+ schema: undefined;
204
+ columns: {
205
+ id: import("drizzle-orm/pg-core").PgColumn<{
206
+ name: "id";
207
+ tableName: "session_tasks";
208
+ dataType: "string";
209
+ columnType: "PgText";
210
+ data: string;
211
+ driverParam: string;
212
+ notNull: true;
213
+ hasDefault: false;
214
+ isPrimaryKey: true;
215
+ isAutoincrement: false;
216
+ hasRuntimeDefault: false;
217
+ enumValues: [string, ...string[]];
218
+ baseColumn: never;
219
+ identity: undefined;
220
+ generated: undefined;
221
+ }, {}, {}>;
222
+ tenantId: import("drizzle-orm/pg-core").PgColumn<{
223
+ name: "tenant_id";
224
+ tableName: "session_tasks";
225
+ dataType: "string";
226
+ columnType: "PgUUID";
227
+ data: string;
228
+ driverParam: string;
229
+ notNull: true;
230
+ hasDefault: false;
231
+ isPrimaryKey: false;
232
+ isAutoincrement: false;
233
+ hasRuntimeDefault: false;
234
+ enumValues: undefined;
235
+ baseColumn: never;
236
+ identity: undefined;
237
+ generated: undefined;
238
+ }, {}, {}>;
239
+ gatewayId: import("drizzle-orm/pg-core").PgColumn<{
240
+ name: "gateway_id";
241
+ tableName: "session_tasks";
242
+ dataType: "string";
243
+ columnType: "PgUUID";
244
+ data: string;
245
+ driverParam: string;
246
+ notNull: true;
247
+ hasDefault: false;
248
+ isPrimaryKey: false;
249
+ isAutoincrement: false;
250
+ hasRuntimeDefault: false;
251
+ enumValues: undefined;
252
+ baseColumn: never;
253
+ identity: undefined;
254
+ generated: undefined;
255
+ }, {}, {}>;
256
+ sessionKey: import("drizzle-orm/pg-core").PgColumn<{
257
+ name: "session_key";
258
+ tableName: "session_tasks";
259
+ dataType: "string";
260
+ columnType: "PgText";
261
+ data: string;
262
+ driverParam: string;
263
+ notNull: true;
264
+ hasDefault: false;
265
+ isPrimaryKey: false;
266
+ isAutoincrement: false;
267
+ hasRuntimeDefault: false;
268
+ enumValues: [string, ...string[]];
269
+ baseColumn: never;
270
+ identity: undefined;
271
+ generated: undefined;
272
+ }, {}, {}>;
273
+ title: import("drizzle-orm/pg-core").PgColumn<{
274
+ name: "title";
275
+ tableName: "session_tasks";
276
+ dataType: "string";
277
+ columnType: "PgText";
278
+ data: string;
279
+ driverParam: string;
280
+ notNull: true;
281
+ hasDefault: false;
282
+ isPrimaryKey: false;
283
+ isAutoincrement: false;
284
+ hasRuntimeDefault: false;
285
+ enumValues: [string, ...string[]];
286
+ baseColumn: never;
287
+ identity: undefined;
288
+ generated: undefined;
289
+ }, {}, {}>;
290
+ description: import("drizzle-orm/pg-core").PgColumn<{
291
+ name: "description";
292
+ tableName: "session_tasks";
293
+ dataType: "string";
294
+ columnType: "PgText";
295
+ data: string;
296
+ driverParam: string;
297
+ notNull: false;
298
+ hasDefault: false;
299
+ isPrimaryKey: false;
300
+ isAutoincrement: false;
301
+ hasRuntimeDefault: false;
302
+ enumValues: [string, ...string[]];
303
+ baseColumn: never;
304
+ identity: undefined;
305
+ generated: undefined;
306
+ }, {}, {}>;
307
+ status: import("drizzle-orm/pg-core").PgColumn<{
308
+ name: "status";
309
+ tableName: "session_tasks";
310
+ dataType: "string";
311
+ columnType: "PgText";
312
+ data: "todo" | "backlog" | "in_progress" | "done";
313
+ driverParam: string;
314
+ notNull: true;
315
+ hasDefault: true;
316
+ isPrimaryKey: false;
317
+ isAutoincrement: false;
318
+ hasRuntimeDefault: false;
319
+ enumValues: ["backlog", "todo", "in_progress", "done"];
320
+ baseColumn: never;
321
+ identity: undefined;
322
+ generated: undefined;
323
+ }, {}, {}>;
324
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
325
+ name: "sort_order";
326
+ tableName: "session_tasks";
327
+ dataType: "number";
328
+ columnType: "PgInteger";
329
+ data: number;
330
+ driverParam: string | number;
331
+ notNull: true;
332
+ hasDefault: true;
333
+ isPrimaryKey: false;
334
+ isAutoincrement: false;
335
+ hasRuntimeDefault: false;
336
+ enumValues: undefined;
337
+ baseColumn: never;
338
+ identity: undefined;
339
+ generated: undefined;
340
+ }, {}, {}>;
341
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
342
+ name: "metadata";
343
+ tableName: "session_tasks";
344
+ dataType: "string";
345
+ columnType: "PgText";
346
+ data: string;
347
+ driverParam: string;
348
+ notNull: false;
349
+ hasDefault: false;
350
+ isPrimaryKey: false;
351
+ isAutoincrement: false;
352
+ hasRuntimeDefault: false;
353
+ enumValues: [string, ...string[]];
354
+ baseColumn: never;
355
+ identity: undefined;
356
+ generated: undefined;
357
+ }, {}, {}>;
358
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
359
+ name: "created_at";
360
+ tableName: "session_tasks";
361
+ dataType: "date";
362
+ columnType: "PgTimestamp";
363
+ data: Date;
364
+ driverParam: string;
365
+ notNull: true;
366
+ hasDefault: true;
367
+ isPrimaryKey: false;
368
+ isAutoincrement: false;
369
+ hasRuntimeDefault: false;
370
+ enumValues: undefined;
371
+ baseColumn: never;
372
+ identity: undefined;
373
+ generated: undefined;
374
+ }, {}, {}>;
375
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
376
+ name: "updated_at";
377
+ tableName: "session_tasks";
378
+ dataType: "date";
379
+ columnType: "PgTimestamp";
380
+ data: Date;
381
+ driverParam: string;
382
+ notNull: true;
383
+ hasDefault: true;
384
+ isPrimaryKey: false;
385
+ isAutoincrement: false;
386
+ hasRuntimeDefault: false;
387
+ enumValues: undefined;
388
+ baseColumn: never;
389
+ identity: undefined;
390
+ generated: undefined;
391
+ }, {}, {}>;
392
+ };
393
+ dialect: "pg";
394
+ }>;
395
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/pg/schema/sessions.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBpB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBxB,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { pgTable, uuid, text, integer, timestamp, index, uniqueIndex } from 'drizzle-orm/pg-core';
2
+ import { gateway } from './gateway.js';
3
+ /**
4
+ * Agent sessions + per-session task boards.
5
+ * Mirrors Turso `sessions` / `session_tasks`.
6
+ * FK remap: server_id → gateway_id, tenant_id → organizations.id (soft-ref),
7
+ * integer epoch timestamps → timestamptz.
8
+ */
9
+ export const sessions = pgTable('sessions', {
10
+ id: text('id').primaryKey(),
11
+ tenantId: uuid('tenant_id').notNull(),
12
+ gatewayId: uuid('gateway_id')
13
+ .notNull()
14
+ .references(() => gateway.id, { onDelete: 'cascade' }),
15
+ agentId: text('agent_id').notNull(),
16
+ sessionKey: text('session_key').notNull(),
17
+ status: text('status', { enum: ['running', 'thinking', 'idle', 'aborted', 'completed'] })
18
+ .notNull()
19
+ .default('idle'),
20
+ metadata: text('metadata'),
21
+ startedAt: timestamp('started_at', { withTimezone: true }),
22
+ endedAt: timestamp('ended_at', { withTimezone: true }),
23
+ createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
24
+ updatedAt: timestamp('updated_at', { withTimezone: true }).notNull().defaultNow(),
25
+ }, (t) => [
26
+ index('idx_sessions_tenant').on(t.tenantId),
27
+ index('idx_sessions_gateway').on(t.gatewayId),
28
+ uniqueIndex('sessions_uniq_key').on(t.tenantId, t.gatewayId, t.sessionKey),
29
+ ]);
30
+ export const sessionTasks = pgTable('session_tasks', {
31
+ id: text('id').primaryKey(),
32
+ tenantId: uuid('tenant_id').notNull(),
33
+ gatewayId: uuid('gateway_id')
34
+ .notNull()
35
+ .references(() => gateway.id, { onDelete: 'cascade' }),
36
+ sessionKey: text('session_key').notNull(),
37
+ title: text('title').notNull(),
38
+ description: text('description'),
39
+ status: text('status', { enum: ['backlog', 'todo', 'in_progress', 'done'] })
40
+ .notNull()
41
+ .default('backlog'),
42
+ sortOrder: integer('sort_order').notNull().default(0),
43
+ metadata: text('metadata'),
44
+ createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
45
+ updatedAt: timestamp('updated_at', { withTimezone: true }).notNull().defaultNow(),
46
+ }, (t) => [
47
+ index('idx_session_tasks_tenant').on(t.tenantId),
48
+ index('idx_session_tasks_gateway_session').on(t.gatewayId, t.sessionKey),
49
+ ]);
50
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/pg/schema/sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ /** Per-gateway config settings. Mirrors Turso `settings`. tenant_id → organizations.id. */
2
+ export declare const settings: import("drizzle-orm/pg-core").PgTableWithColumns<{
3
+ name: "settings";
4
+ schema: undefined;
5
+ columns: {
6
+ id: import("drizzle-orm/pg-core").PgColumn<{
7
+ name: "id";
8
+ tableName: "settings";
9
+ dataType: "string";
10
+ columnType: "PgUUID";
11
+ data: string;
12
+ driverParam: string;
13
+ notNull: true;
14
+ hasDefault: true;
15
+ isPrimaryKey: true;
16
+ isAutoincrement: false;
17
+ hasRuntimeDefault: false;
18
+ enumValues: undefined;
19
+ baseColumn: never;
20
+ identity: undefined;
21
+ generated: undefined;
22
+ }, {}, {}>;
23
+ tenantId: import("drizzle-orm/pg-core").PgColumn<{
24
+ name: "tenant_id";
25
+ tableName: "settings";
26
+ dataType: "string";
27
+ columnType: "PgUUID";
28
+ data: string;
29
+ driverParam: string;
30
+ notNull: true;
31
+ hasDefault: false;
32
+ isPrimaryKey: false;
33
+ isAutoincrement: false;
34
+ hasRuntimeDefault: false;
35
+ enumValues: undefined;
36
+ baseColumn: never;
37
+ identity: undefined;
38
+ generated: undefined;
39
+ }, {}, {}>;
40
+ gatewayId: import("drizzle-orm/pg-core").PgColumn<{
41
+ name: "gateway_id";
42
+ tableName: "settings";
43
+ dataType: "string";
44
+ columnType: "PgUUID";
45
+ data: string;
46
+ driverParam: string;
47
+ notNull: true;
48
+ hasDefault: false;
49
+ isPrimaryKey: false;
50
+ isAutoincrement: false;
51
+ hasRuntimeDefault: false;
52
+ enumValues: undefined;
53
+ baseColumn: never;
54
+ identity: undefined;
55
+ generated: undefined;
56
+ }, {}, {}>;
57
+ section: import("drizzle-orm/pg-core").PgColumn<{
58
+ name: "section";
59
+ tableName: "settings";
60
+ dataType: "string";
61
+ columnType: "PgText";
62
+ data: string;
63
+ driverParam: string;
64
+ notNull: true;
65
+ hasDefault: false;
66
+ isPrimaryKey: false;
67
+ isAutoincrement: false;
68
+ hasRuntimeDefault: false;
69
+ enumValues: [string, ...string[]];
70
+ baseColumn: never;
71
+ identity: undefined;
72
+ generated: undefined;
73
+ }, {}, {}>;
74
+ value: import("drizzle-orm/pg-core").PgColumn<{
75
+ name: "value";
76
+ tableName: "settings";
77
+ dataType: "string";
78
+ columnType: "PgText";
79
+ data: string;
80
+ driverParam: string;
81
+ notNull: true;
82
+ hasDefault: false;
83
+ isPrimaryKey: false;
84
+ isAutoincrement: false;
85
+ hasRuntimeDefault: false;
86
+ enumValues: [string, ...string[]];
87
+ baseColumn: never;
88
+ identity: undefined;
89
+ generated: undefined;
90
+ }, {}, {}>;
91
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
92
+ name: "updated_at";
93
+ tableName: "settings";
94
+ dataType: "date";
95
+ columnType: "PgTimestamp";
96
+ data: Date;
97
+ driverParam: string;
98
+ notNull: true;
99
+ hasDefault: true;
100
+ isPrimaryKey: false;
101
+ isAutoincrement: false;
102
+ hasRuntimeDefault: false;
103
+ enumValues: undefined;
104
+ baseColumn: never;
105
+ identity: undefined;
106
+ generated: undefined;
107
+ }, {}, {}>;
108
+ };
109
+ dialect: "pg";
110
+ }>;
111
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/pg/schema/settings.ts"],"names":[],"mappings":"AAGA,2FAA2F;AAC3F,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBpB,CAAC"}