@intx/db 0.1.2 → 0.2.2

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 (121) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +21 -2
  3. package/dist/asset-resolution.d.ts +52 -0
  4. package/dist/asset-resolution.js +66 -0
  5. package/dist/catalog-resolution.d.ts +76 -0
  6. package/dist/catalog-resolution.js +151 -0
  7. package/dist/client.d.ts +9 -0
  8. package/dist/client.js +18 -0
  9. package/dist/config.d.ts +11 -0
  10. package/dist/config.js +16 -0
  11. package/dist/connection.d.ts +3 -0
  12. package/dist/connection.js +23 -0
  13. package/dist/credential-resolution.d.ts +110 -0
  14. package/dist/credential-resolution.js +116 -0
  15. package/dist/grant-store.d.ts +3 -0
  16. package/dist/grant-store.js +37 -0
  17. package/dist/index.d.ts +13 -0
  18. package/dist/index.js +12 -0
  19. package/dist/migrate.d.ts +36 -0
  20. package/dist/migrate.js +135 -0
  21. package/dist/model-source-resolution.d.ts +69 -0
  22. package/dist/model-source-resolution.js +165 -0
  23. package/dist/parse-row.d.ts +193 -0
  24. package/dist/parse-row.js +141 -0
  25. package/dist/pg-error.d.ts +3 -0
  26. package/dist/pg-error.js +19 -0
  27. package/dist/pricing.d.ts +15 -0
  28. package/dist/pricing.js +24 -0
  29. package/dist/schema/agent-assets.d.ts +109 -0
  30. package/dist/schema/agent-assets.js +15 -0
  31. package/dist/schema/agents.d.ts +405 -0
  32. package/dist/schema/agents.js +57 -0
  33. package/dist/schema/assets.d.ts +143 -0
  34. package/{src/schema/assets.ts → dist/schema/assets.js} +7 -16
  35. package/dist/schema/auth.d.ts +606 -0
  36. package/dist/schema/auth.js +47 -0
  37. package/dist/schema/catalog.d.ts +794 -0
  38. package/dist/schema/catalog.js +102 -0
  39. package/dist/schema/column-types.d.ts +26 -0
  40. package/dist/schema/column-types.js +15 -0
  41. package/dist/schema/credentials.d.ts +305 -0
  42. package/{src/schema/credentials.ts → dist/schema/credentials.js} +16 -22
  43. package/dist/schema/git-tokens.d.ts +256 -0
  44. package/{src/schema/git-tokens.ts → dist/schema/git-tokens.js} +15 -38
  45. package/dist/schema/grants.d.ts +211 -0
  46. package/dist/schema/grants.js +24 -0
  47. package/dist/schema/index.d.ts +21 -0
  48. package/dist/schema/index.js +21 -0
  49. package/dist/schema/instances.d.ts +262 -0
  50. package/dist/schema/instances.js +39 -0
  51. package/dist/schema/messages.d.ts +414 -0
  52. package/dist/schema/messages.js +71 -0
  53. package/dist/schema/oauth-clients.d.ts +246 -0
  54. package/{src/schema/oauth-clients.ts → dist/schema/oauth-clients.js} +8 -14
  55. package/dist/schema/offerings.d.ts +160 -0
  56. package/dist/schema/offerings.js +18 -0
  57. package/dist/schema/principals.d.ts +128 -0
  58. package/{src/schema/principals.ts → dist/schema/principals.js} +7 -14
  59. package/dist/schema/providers.d.ts +220 -0
  60. package/{src/schema/providers.ts → dist/schema/providers.js} +5 -11
  61. package/dist/schema/roles.d.ts +242 -0
  62. package/dist/schema/roles.js +33 -0
  63. package/dist/schema/session-assets.d.ts +129 -0
  64. package/dist/schema/session-assets.js +28 -0
  65. package/dist/schema/sessions.d.ts +143 -0
  66. package/dist/schema/sessions.js +24 -0
  67. package/dist/schema/sidecar.d.ts +128 -0
  68. package/dist/schema/sidecar.js +18 -0
  69. package/dist/schema/tenants.d.ts +235 -0
  70. package/{src/schema/tenants.ts → dist/schema/tenants.js} +10 -27
  71. package/dist/schema/wallets.d.ts +354 -0
  72. package/dist/schema/wallets.js +41 -0
  73. package/dist/schema/workflow-deployments.d.ts +129 -0
  74. package/dist/schema/workflow-deployments.js +37 -0
  75. package/dist/tenant-hierarchy.d.ts +22 -0
  76. package/dist/tenant-hierarchy.js +55 -0
  77. package/migrations/0029_loose_warlock.sql +1 -0
  78. package/migrations/0030_session_asset_audit_split.sql +5 -0
  79. package/migrations/0031_gigantic_nicolaos.sql +68 -0
  80. package/migrations/0032_lethal_misty_knight.sql +1 -0
  81. package/migrations/0033_old_payback.sql +1 -0
  82. package/migrations/0034_sleepy_songbird.sql +11 -0
  83. package/migrations/0035_violet_giant_man.sql +3 -0
  84. package/migrations/0036_sharp_the_executioner.sql +2 -0
  85. package/migrations/meta/0029_snapshot.json +2664 -0
  86. package/migrations/meta/0030_snapshot.json +2670 -0
  87. package/migrations/meta/0031_snapshot.json +3100 -0
  88. package/migrations/meta/0032_snapshot.json +3106 -0
  89. package/migrations/meta/0033_snapshot.json +3112 -0
  90. package/migrations/meta/0034_snapshot.json +3198 -0
  91. package/migrations/meta/0035_snapshot.json +3225 -0
  92. package/migrations/meta/0036_snapshot.json +3237 -0
  93. package/migrations/meta/_journal.json +56 -0
  94. package/package.json +22 -11
  95. package/drizzle.config.ts +0 -23
  96. package/src/client.ts +0 -24
  97. package/src/config.ts +0 -19
  98. package/src/connection.ts +0 -27
  99. package/src/credential-resolution.ts +0 -378
  100. package/src/grant-store.ts +0 -51
  101. package/src/index.ts +0 -32
  102. package/src/migrate.test.ts +0 -35
  103. package/src/migrate.ts +0 -168
  104. package/src/parse-row.test.ts +0 -113
  105. package/src/parse-row.ts +0 -185
  106. package/src/schema/agent-assets.ts +0 -21
  107. package/src/schema/agents.ts +0 -49
  108. package/src/schema/auth.ts +0 -51
  109. package/src/schema/grants.ts +0 -26
  110. package/src/schema/index.ts +0 -19
  111. package/src/schema/instances.ts +0 -36
  112. package/src/schema/messages.ts +0 -108
  113. package/src/schema/offerings.ts +0 -20
  114. package/src/schema/roles.ts +0 -51
  115. package/src/schema/session-assets.ts +0 -49
  116. package/src/schema/sessions.ts +0 -26
  117. package/src/schema/sidecar.ts +0 -14
  118. package/src/schema/wallets.ts +0 -44
  119. package/src/tenant-hierarchy.ts +0 -34
  120. package/tsconfig.json +0 -4
  121. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,220 @@
1
+ export declare const provider: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "provider";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: "id";
7
+ tableName: "provider";
8
+ dataType: "string";
9
+ columnType: "PgText";
10
+ data: string;
11
+ driverParam: string;
12
+ notNull: true;
13
+ hasDefault: false;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: false;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {}>;
22
+ tenantId: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: "tenant_id";
24
+ tableName: "provider";
25
+ dataType: "string";
26
+ columnType: "PgText";
27
+ data: string;
28
+ driverParam: string;
29
+ notNull: true;
30
+ hasDefault: false;
31
+ isPrimaryKey: false;
32
+ isAutoincrement: false;
33
+ hasRuntimeDefault: false;
34
+ enumValues: [string, ...string[]];
35
+ baseColumn: never;
36
+ identity: undefined;
37
+ generated: undefined;
38
+ }, {}, {}>;
39
+ name: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: "name";
41
+ tableName: "provider";
42
+ dataType: "string";
43
+ columnType: "PgText";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: true;
47
+ hasDefault: false;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {}>;
56
+ plugin: import("drizzle-orm/pg-core").PgColumn<{
57
+ name: "plugin";
58
+ tableName: "provider";
59
+ dataType: "string";
60
+ columnType: "PgText";
61
+ data: string;
62
+ driverParam: string;
63
+ notNull: true;
64
+ hasDefault: false;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: [string, ...string[]];
69
+ baseColumn: never;
70
+ identity: undefined;
71
+ generated: undefined;
72
+ }, {}, {}>;
73
+ authorizationUrl: import("drizzle-orm/pg-core").PgColumn<{
74
+ name: "authorization_url";
75
+ tableName: "provider";
76
+ dataType: "string";
77
+ columnType: "PgText";
78
+ data: string;
79
+ driverParam: string;
80
+ notNull: false;
81
+ hasDefault: false;
82
+ isPrimaryKey: false;
83
+ isAutoincrement: false;
84
+ hasRuntimeDefault: false;
85
+ enumValues: [string, ...string[]];
86
+ baseColumn: never;
87
+ identity: undefined;
88
+ generated: undefined;
89
+ }, {}, {}>;
90
+ tokenUrl: import("drizzle-orm/pg-core").PgColumn<{
91
+ name: "token_url";
92
+ tableName: "provider";
93
+ dataType: "string";
94
+ columnType: "PgText";
95
+ data: string;
96
+ driverParam: string;
97
+ notNull: false;
98
+ hasDefault: false;
99
+ isPrimaryKey: false;
100
+ isAutoincrement: false;
101
+ hasRuntimeDefault: false;
102
+ enumValues: [string, ...string[]];
103
+ baseColumn: never;
104
+ identity: undefined;
105
+ generated: undefined;
106
+ }, {}, {}>;
107
+ userInfoUrl: import("drizzle-orm/pg-core").PgColumn<{
108
+ name: "user_info_url";
109
+ tableName: "provider";
110
+ dataType: "string";
111
+ columnType: "PgText";
112
+ data: string;
113
+ driverParam: string;
114
+ notNull: false;
115
+ hasDefault: false;
116
+ isPrimaryKey: false;
117
+ isAutoincrement: false;
118
+ hasRuntimeDefault: false;
119
+ enumValues: [string, ...string[]];
120
+ baseColumn: never;
121
+ identity: undefined;
122
+ generated: undefined;
123
+ }, {}, {}>;
124
+ scopes: import("drizzle-orm/pg-core").PgColumn<{
125
+ name: "scopes";
126
+ tableName: "provider";
127
+ dataType: "array";
128
+ columnType: "PgArray";
129
+ data: string[];
130
+ driverParam: string | string[];
131
+ notNull: false;
132
+ hasDefault: false;
133
+ isPrimaryKey: false;
134
+ isAutoincrement: false;
135
+ hasRuntimeDefault: false;
136
+ enumValues: [string, ...string[]];
137
+ baseColumn: import("drizzle-orm").Column<{
138
+ name: "scopes";
139
+ tableName: "provider";
140
+ dataType: "string";
141
+ columnType: "PgText";
142
+ data: string;
143
+ driverParam: string;
144
+ notNull: false;
145
+ hasDefault: false;
146
+ isPrimaryKey: false;
147
+ isAutoincrement: false;
148
+ hasRuntimeDefault: false;
149
+ enumValues: [string, ...string[]];
150
+ baseColumn: never;
151
+ identity: undefined;
152
+ generated: undefined;
153
+ }, {}, {}>;
154
+ identity: undefined;
155
+ generated: undefined;
156
+ }, {}, {
157
+ baseBuilder: import("drizzle-orm/pg-core").PgColumnBuilder<{
158
+ name: "scopes";
159
+ dataType: "string";
160
+ columnType: "PgText";
161
+ data: string;
162
+ enumValues: [string, ...string[]];
163
+ driverParam: string;
164
+ }, {}, {}, import("drizzle-orm").ColumnBuilderExtraConfig>;
165
+ size: undefined;
166
+ }>;
167
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "metadata";
169
+ tableName: "provider";
170
+ dataType: "json";
171
+ columnType: "PgJsonb";
172
+ data: unknown;
173
+ driverParam: unknown;
174
+ notNull: false;
175
+ hasDefault: false;
176
+ isPrimaryKey: false;
177
+ isAutoincrement: false;
178
+ hasRuntimeDefault: false;
179
+ enumValues: undefined;
180
+ baseColumn: never;
181
+ identity: undefined;
182
+ generated: undefined;
183
+ }, {}, {}>;
184
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
185
+ name: "created_at";
186
+ tableName: "provider";
187
+ dataType: "date";
188
+ columnType: "PgTimestamp";
189
+ data: Date;
190
+ driverParam: string;
191
+ notNull: true;
192
+ hasDefault: true;
193
+ isPrimaryKey: false;
194
+ isAutoincrement: false;
195
+ hasRuntimeDefault: false;
196
+ enumValues: undefined;
197
+ baseColumn: never;
198
+ identity: undefined;
199
+ generated: undefined;
200
+ }, {}, {}>;
201
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
202
+ name: "updated_at";
203
+ tableName: "provider";
204
+ dataType: "date";
205
+ columnType: "PgTimestamp";
206
+ data: Date;
207
+ driverParam: string;
208
+ notNull: true;
209
+ hasDefault: true;
210
+ isPrimaryKey: false;
211
+ isAutoincrement: false;
212
+ hasRuntimeDefault: false;
213
+ enumValues: undefined;
214
+ baseColumn: never;
215
+ identity: undefined;
216
+ generated: undefined;
217
+ }, {}, {}>;
218
+ };
219
+ dialect: "pg";
220
+ }>;
@@ -1,14 +1,10 @@
1
1
  import { jsonb, pgTable, text, timestamp, unique } from "drizzle-orm/pg-core";
2
-
3
- import { tenant } from "./tenants";
4
-
5
- export const provider = pgTable(
6
- "provider",
7
- {
2
+ import { tenant } from "./tenants.js";
3
+ export const provider = pgTable("provider", {
8
4
  id: text("id").primaryKey(),
9
5
  tenantId: text("tenant_id")
10
- .notNull()
11
- .references(() => tenant.id, { onDelete: "cascade" }),
6
+ .notNull()
7
+ .references(() => tenant.id, { onDelete: "cascade" }),
12
8
  name: text("name").notNull(),
13
9
  plugin: text("plugin").notNull(),
14
10
  authorizationUrl: text("authorization_url"),
@@ -18,6 +14,4 @@ export const provider = pgTable(
18
14
  metadata: jsonb("metadata"),
19
15
  createdAt: timestamp("created_at").notNull().defaultNow(),
20
16
  updatedAt: timestamp("updated_at").notNull().defaultNow(),
21
- },
22
- (t) => [unique("provider_tenant_name").on(t.tenantId, t.name)],
23
- );
17
+ }, (t) => [unique("provider_tenant_name").on(t.tenantId, t.name)]);
@@ -0,0 +1,242 @@
1
+ export declare const role: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "role";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: "id";
7
+ tableName: "role";
8
+ dataType: "string";
9
+ columnType: "PgText";
10
+ data: string;
11
+ driverParam: string;
12
+ notNull: true;
13
+ hasDefault: false;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: false;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {}>;
22
+ tenantId: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: "tenant_id";
24
+ tableName: "role";
25
+ dataType: "string";
26
+ columnType: "PgText";
27
+ data: string;
28
+ driverParam: string;
29
+ notNull: true;
30
+ hasDefault: false;
31
+ isPrimaryKey: false;
32
+ isAutoincrement: false;
33
+ hasRuntimeDefault: false;
34
+ enumValues: [string, ...string[]];
35
+ baseColumn: never;
36
+ identity: undefined;
37
+ generated: undefined;
38
+ }, {}, {}>;
39
+ name: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: "name";
41
+ tableName: "role";
42
+ dataType: "string";
43
+ columnType: "PgText";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: true;
47
+ hasDefault: false;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {}>;
56
+ description: import("drizzle-orm/pg-core").PgColumn<{
57
+ name: "description";
58
+ tableName: "role";
59
+ dataType: "string";
60
+ columnType: "PgText";
61
+ data: string;
62
+ driverParam: string;
63
+ notNull: false;
64
+ hasDefault: false;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: [string, ...string[]];
69
+ baseColumn: never;
70
+ identity: undefined;
71
+ generated: undefined;
72
+ }, {}, {}>;
73
+ isSystem: import("drizzle-orm/pg-core").PgColumn<{
74
+ name: "is_system";
75
+ tableName: "role";
76
+ dataType: "boolean";
77
+ columnType: "PgBoolean";
78
+ data: boolean;
79
+ driverParam: boolean;
80
+ notNull: true;
81
+ hasDefault: true;
82
+ isPrimaryKey: false;
83
+ isAutoincrement: false;
84
+ hasRuntimeDefault: false;
85
+ enumValues: undefined;
86
+ baseColumn: never;
87
+ identity: undefined;
88
+ generated: undefined;
89
+ }, {}, {}>;
90
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
91
+ name: "created_at";
92
+ tableName: "role";
93
+ dataType: "date";
94
+ columnType: "PgTimestamp";
95
+ data: Date;
96
+ driverParam: string;
97
+ notNull: true;
98
+ hasDefault: true;
99
+ isPrimaryKey: false;
100
+ isAutoincrement: false;
101
+ hasRuntimeDefault: false;
102
+ enumValues: undefined;
103
+ baseColumn: never;
104
+ identity: undefined;
105
+ generated: undefined;
106
+ }, {}, {}>;
107
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
108
+ name: "updated_at";
109
+ tableName: "role";
110
+ dataType: "date";
111
+ columnType: "PgTimestamp";
112
+ data: Date;
113
+ driverParam: string;
114
+ notNull: true;
115
+ hasDefault: true;
116
+ isPrimaryKey: false;
117
+ isAutoincrement: false;
118
+ hasRuntimeDefault: false;
119
+ enumValues: undefined;
120
+ baseColumn: never;
121
+ identity: undefined;
122
+ generated: undefined;
123
+ }, {}, {}>;
124
+ };
125
+ dialect: "pg";
126
+ }>;
127
+ export declare const agentRole: import("drizzle-orm/pg-core").PgTableWithColumns<{
128
+ name: "agent_role";
129
+ schema: undefined;
130
+ columns: {
131
+ agentId: import("drizzle-orm/pg-core").PgColumn<{
132
+ name: "agent_id";
133
+ tableName: "agent_role";
134
+ dataType: "string";
135
+ columnType: "PgText";
136
+ data: string;
137
+ driverParam: string;
138
+ notNull: true;
139
+ hasDefault: false;
140
+ isPrimaryKey: false;
141
+ isAutoincrement: false;
142
+ hasRuntimeDefault: false;
143
+ enumValues: [string, ...string[]];
144
+ baseColumn: never;
145
+ identity: undefined;
146
+ generated: undefined;
147
+ }, {}, {}>;
148
+ roleId: import("drizzle-orm/pg-core").PgColumn<{
149
+ name: "role_id";
150
+ tableName: "agent_role";
151
+ dataType: "string";
152
+ columnType: "PgText";
153
+ data: string;
154
+ driverParam: string;
155
+ notNull: true;
156
+ hasDefault: false;
157
+ isPrimaryKey: false;
158
+ isAutoincrement: false;
159
+ hasRuntimeDefault: false;
160
+ enumValues: [string, ...string[]];
161
+ baseColumn: never;
162
+ identity: undefined;
163
+ generated: undefined;
164
+ }, {}, {}>;
165
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
166
+ name: "created_at";
167
+ tableName: "agent_role";
168
+ dataType: "date";
169
+ columnType: "PgTimestamp";
170
+ data: Date;
171
+ driverParam: string;
172
+ notNull: true;
173
+ hasDefault: true;
174
+ isPrimaryKey: false;
175
+ isAutoincrement: false;
176
+ hasRuntimeDefault: false;
177
+ enumValues: undefined;
178
+ baseColumn: never;
179
+ identity: undefined;
180
+ generated: undefined;
181
+ }, {}, {}>;
182
+ };
183
+ dialect: "pg";
184
+ }>;
185
+ export declare const principalRole: import("drizzle-orm/pg-core").PgTableWithColumns<{
186
+ name: "principal_role";
187
+ schema: undefined;
188
+ columns: {
189
+ principalId: import("drizzle-orm/pg-core").PgColumn<{
190
+ name: "principal_id";
191
+ tableName: "principal_role";
192
+ dataType: "string";
193
+ columnType: "PgText";
194
+ data: string;
195
+ driverParam: string;
196
+ notNull: true;
197
+ hasDefault: false;
198
+ isPrimaryKey: false;
199
+ isAutoincrement: false;
200
+ hasRuntimeDefault: false;
201
+ enumValues: [string, ...string[]];
202
+ baseColumn: never;
203
+ identity: undefined;
204
+ generated: undefined;
205
+ }, {}, {}>;
206
+ roleId: import("drizzle-orm/pg-core").PgColumn<{
207
+ name: "role_id";
208
+ tableName: "principal_role";
209
+ dataType: "string";
210
+ columnType: "PgText";
211
+ data: string;
212
+ driverParam: string;
213
+ notNull: true;
214
+ hasDefault: false;
215
+ isPrimaryKey: false;
216
+ isAutoincrement: false;
217
+ hasRuntimeDefault: false;
218
+ enumValues: [string, ...string[]];
219
+ baseColumn: never;
220
+ identity: undefined;
221
+ generated: undefined;
222
+ }, {}, {}>;
223
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
224
+ name: "created_at";
225
+ tableName: "principal_role";
226
+ dataType: "date";
227
+ columnType: "PgTimestamp";
228
+ data: Date;
229
+ driverParam: string;
230
+ notNull: true;
231
+ hasDefault: true;
232
+ isPrimaryKey: false;
233
+ isAutoincrement: false;
234
+ hasRuntimeDefault: false;
235
+ enumValues: undefined;
236
+ baseColumn: never;
237
+ identity: undefined;
238
+ generated: undefined;
239
+ }, {}, {}>;
240
+ };
241
+ dialect: "pg";
242
+ }>;
@@ -0,0 +1,33 @@
1
+ import { boolean, pgTable, primaryKey, text, timestamp, } from "drizzle-orm/pg-core";
2
+ import { agent } from "./agents.js";
3
+ import { principal } from "./principals.js";
4
+ import { tenant } from "./tenants.js";
5
+ export const role = pgTable("role", {
6
+ id: text("id").primaryKey(),
7
+ tenantId: text("tenant_id")
8
+ .notNull()
9
+ .references(() => tenant.id, { onDelete: "cascade" }),
10
+ name: text("name").notNull(),
11
+ description: text("description"),
12
+ isSystem: boolean("is_system").notNull().default(false),
13
+ createdAt: timestamp("created_at").notNull().defaultNow(),
14
+ updatedAt: timestamp("updated_at").notNull().defaultNow(),
15
+ });
16
+ export const agentRole = pgTable("agent_role", {
17
+ agentId: text("agent_id")
18
+ .notNull()
19
+ .references(() => agent.id, { onDelete: "cascade" }),
20
+ roleId: text("role_id")
21
+ .notNull()
22
+ .references(() => role.id, { onDelete: "cascade" }),
23
+ createdAt: timestamp("created_at").notNull().defaultNow(),
24
+ }, (t) => [primaryKey({ columns: [t.agentId, t.roleId] })]);
25
+ export const principalRole = pgTable("principal_role", {
26
+ principalId: text("principal_id")
27
+ .notNull()
28
+ .references(() => principal.id, { onDelete: "cascade" }),
29
+ roleId: text("role_id")
30
+ .notNull()
31
+ .references(() => role.id, { onDelete: "cascade" }),
32
+ createdAt: timestamp("created_at").notNull().defaultNow(),
33
+ }, (t) => [primaryKey({ columns: [t.principalId, t.roleId] })]);
@@ -0,0 +1,129 @@
1
+ export type SessionAssetSource = "direct" | "resolved";
2
+ export declare const sessionAsset: import("drizzle-orm/pg-core").PgTableWithColumns<{
3
+ name: "session_asset";
4
+ schema: undefined;
5
+ columns: {
6
+ instanceId: import("drizzle-orm/pg-core").PgColumn<{
7
+ name: "instance_id";
8
+ tableName: "session_asset";
9
+ dataType: "string";
10
+ columnType: "PgText";
11
+ data: string;
12
+ driverParam: string;
13
+ notNull: true;
14
+ hasDefault: false;
15
+ isPrimaryKey: false;
16
+ isAutoincrement: false;
17
+ hasRuntimeDefault: false;
18
+ enumValues: [string, ...string[]];
19
+ baseColumn: never;
20
+ identity: undefined;
21
+ generated: undefined;
22
+ }, {}, {}>;
23
+ agentAssetId: import("drizzle-orm/pg-core").PgColumn<{
24
+ name: "agent_asset_id";
25
+ tableName: "session_asset";
26
+ dataType: "string";
27
+ columnType: "PgText";
28
+ data: string;
29
+ driverParam: string;
30
+ notNull: false;
31
+ hasDefault: false;
32
+ isPrimaryKey: false;
33
+ isAutoincrement: false;
34
+ hasRuntimeDefault: false;
35
+ enumValues: [string, ...string[]];
36
+ baseColumn: never;
37
+ identity: undefined;
38
+ generated: undefined;
39
+ }, {}, {}>;
40
+ mountPath: import("drizzle-orm/pg-core").PgColumn<{
41
+ name: "mount_path";
42
+ tableName: "session_asset";
43
+ dataType: "string";
44
+ columnType: "PgText";
45
+ data: string;
46
+ driverParam: string;
47
+ notNull: true;
48
+ hasDefault: false;
49
+ isPrimaryKey: false;
50
+ isAutoincrement: false;
51
+ hasRuntimeDefault: false;
52
+ enumValues: [string, ...string[]];
53
+ baseColumn: never;
54
+ identity: undefined;
55
+ generated: undefined;
56
+ }, {}, {}>;
57
+ assetPackSha: import("drizzle-orm/pg-core").PgColumn<{
58
+ name: "asset_pack_sha";
59
+ tableName: "session_asset";
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
+ sourceCommitSha: import("drizzle-orm/pg-core").PgColumn<{
75
+ name: "source_commit_sha";
76
+ tableName: "session_asset";
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
+ source: import("drizzle-orm/pg-core").PgColumn<{
92
+ name: "source";
93
+ tableName: "session_asset";
94
+ dataType: "string";
95
+ columnType: "PgText";
96
+ data: SessionAssetSource;
97
+ driverParam: string;
98
+ notNull: true;
99
+ hasDefault: false;
100
+ isPrimaryKey: false;
101
+ isAutoincrement: false;
102
+ hasRuntimeDefault: false;
103
+ enumValues: [string, ...string[]];
104
+ baseColumn: never;
105
+ identity: undefined;
106
+ generated: undefined;
107
+ }, {}, {
108
+ $type: SessionAssetSource;
109
+ }>;
110
+ materializedAt: import("drizzle-orm/pg-core").PgColumn<{
111
+ name: "materialized_at";
112
+ tableName: "session_asset";
113
+ dataType: "date";
114
+ columnType: "PgTimestamp";
115
+ data: Date;
116
+ driverParam: string;
117
+ notNull: true;
118
+ hasDefault: true;
119
+ isPrimaryKey: false;
120
+ isAutoincrement: false;
121
+ hasRuntimeDefault: false;
122
+ enumValues: undefined;
123
+ baseColumn: never;
124
+ identity: undefined;
125
+ generated: undefined;
126
+ }, {}, {}>;
127
+ };
128
+ dialect: "pg";
129
+ }>;
@@ -0,0 +1,28 @@
1
+ import { index, pgTable, primaryKey, text, timestamp, } from "drizzle-orm/pg-core";
2
+ import { agentAsset } from "./agent-assets.js";
3
+ import { agentInstance } from "./instances.js";
4
+ export const sessionAsset = pgTable("session_asset", {
5
+ instanceId: text("instance_id")
6
+ .notNull()
7
+ .references(() => agentInstance.id, { onDelete: "cascade" }),
8
+ // Nullable: resolver-derived materializations have no per-agent
9
+ // attachment row. Direct attachments carry the agent_asset id.
10
+ agentAssetId: text("agent_asset_id").references(() => agentAsset.id, {
11
+ onDelete: "cascade",
12
+ }),
13
+ mountPath: text("mount_path").notNull(),
14
+ assetPackSha: text("asset_pack_sha").notNull(),
15
+ sourceCommitSha: text("source_commit_sha").notNull(),
16
+ source: text("source").$type().notNull(),
17
+ materializedAt: timestamp("materialized_at").notNull().defaultNow(),
18
+ }, (t) => [
19
+ // (instanceId, mountPath) is the natural key: every materialized
20
+ // asset lands at a distinct mount path inside one instance, so
21
+ // this pair uniquely identifies a row regardless of whether the
22
+ // pack came from a direct attachment or a resolver-derived
23
+ // package-registry pick. Pre-split the PK was (instanceId,
24
+ // agentAssetId), but that column is now nullable for the
25
+ // resolved-source rows and Postgres rejects nullable PK columns.
26
+ primaryKey({ columns: [t.instanceId, t.mountPath] }),
27
+ index("session_asset_pack_sha_idx").on(t.assetPackSha),
28
+ ]);