@covro/covro 0.0.0-stage → 0.1.0-dev.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.
Files changed (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +173 -2
  3. package/README.zh-CN.md +174 -0
  4. package/bin/covro.mjs +8 -0
  5. package/dist/cli/control.js +66 -0
  6. package/dist/cli/control.js.map +7 -0
  7. package/dist/cli/daemon.js +118 -0
  8. package/dist/cli/daemon.js.map +7 -0
  9. package/dist/cli/main.js +152 -0
  10. package/dist/cli/main.js.map +7 -0
  11. package/dist/cli/paths.js +60 -0
  12. package/dist/cli/paths.js.map +7 -0
  13. package/dist/cli/service.js +87 -0
  14. package/dist/cli/service.js.map +7 -0
  15. package/dist/codex/adapter.js +1195 -0
  16. package/dist/codex/adapter.js.map +7 -0
  17. package/dist/codex/auto-review.js +102 -0
  18. package/dist/codex/auto-review.js.map +7 -0
  19. package/dist/codex/compatibility.js +7 -0
  20. package/dist/codex/compatibility.js.map +7 -0
  21. package/dist/codex/mapping.js +210 -0
  22. package/dist/codex/mapping.js.map +7 -0
  23. package/dist/codex/permissions.js +51 -0
  24. package/dist/codex/permissions.js.map +7 -0
  25. package/dist/codex/thread-title-policy.js +52 -0
  26. package/dist/codex/thread-title-policy.js.map +7 -0
  27. package/dist/codex/thread-titles.js +259 -0
  28. package/dist/codex/thread-titles.js.map +7 -0
  29. package/dist/codex/transport.js +236 -0
  30. package/dist/codex/transport.js.map +7 -0
  31. package/dist/codex/turn-token-usage.js +46 -0
  32. package/dist/codex/turn-token-usage.js.map +7 -0
  33. package/dist/codex/types.js +1 -0
  34. package/dist/codex/types.js.map +7 -0
  35. package/dist/drizzle/0000_past_wildside.sql +45 -0
  36. package/dist/drizzle/0001_shocking_ender_wiggin.sql +2 -0
  37. package/dist/drizzle/0002_allow_parallel_threads.sql +1 -0
  38. package/dist/drizzle/0003_project_registrations.sql +11 -0
  39. package/dist/drizzle/0004_turn_usage.sql +6 -0
  40. package/dist/drizzle/meta/0000_snapshot.json +309 -0
  41. package/dist/drizzle/meta/0001_snapshot.json +323 -0
  42. package/dist/drizzle/meta/0002_snapshot.json +315 -0
  43. package/dist/drizzle/meta/0003_snapshot.json +381 -0
  44. package/dist/drizzle/meta/0004_snapshot.json +420 -0
  45. package/dist/drizzle/meta/_journal.json +41 -0
  46. package/dist/server/auth.js +47 -0
  47. package/dist/server/auth.js.map +7 -0
  48. package/dist/server/compaction.js +40 -0
  49. package/dist/server/compaction.js.map +7 -0
  50. package/dist/server/config-store.js +147 -0
  51. package/dist/server/config-store.js.map +7 -0
  52. package/dist/server/config.js +124 -0
  53. package/dist/server/config.js.map +7 -0
  54. package/dist/server/db/index.js +21 -0
  55. package/dist/server/db/index.js.map +7 -0
  56. package/dist/server/db/migrate.js +26 -0
  57. package/dist/server/db/migrate.js.map +7 -0
  58. package/dist/server/db/operations.js +201 -0
  59. package/dist/server/db/operations.js.map +7 -0
  60. package/dist/server/db/schema.js +99 -0
  61. package/dist/server/db/schema.js.map +7 -0
  62. package/dist/server/db/turn-usage.js +31 -0
  63. package/dist/server/db/turn-usage.js.map +7 -0
  64. package/dist/server/events.js +123 -0
  65. package/dist/server/events.js.map +7 -0
  66. package/dist/server/http.js +305 -0
  67. package/dist/server/http.js.map +7 -0
  68. package/dist/server/images.js +49 -0
  69. package/dist/server/images.js.map +7 -0
  70. package/dist/server/instance-lock.js +25 -0
  71. package/dist/server/instance-lock.js.map +7 -0
  72. package/dist/server/local-files.js +100 -0
  73. package/dist/server/local-files.js.map +7 -0
  74. package/dist/server/main.js +125 -0
  75. package/dist/server/main.js.map +7 -0
  76. package/dist/server/markdown.js +28 -0
  77. package/dist/server/markdown.js.map +7 -0
  78. package/dist/server/projection.js +348 -0
  79. package/dist/server/projection.js.map +7 -0
  80. package/dist/server/projects.js +230 -0
  81. package/dist/server/projects.js.map +7 -0
  82. package/dist/server/service.js +1221 -0
  83. package/dist/server/service.js.map +7 -0
  84. package/dist/server/snapshot.js +98 -0
  85. package/dist/server/snapshot.js.map +7 -0
  86. package/dist/server/thread-export.js +97 -0
  87. package/dist/server/thread-export.js.map +7 -0
  88. package/dist/server/websocket.js +126 -0
  89. package/dist/server/websocket.js.map +7 -0
  90. package/dist/shared/async-questions.js +39 -0
  91. package/dist/shared/async-questions.js.map +7 -0
  92. package/dist/shared/codex-compatibility.js +56 -0
  93. package/dist/shared/codex-compatibility.js.map +7 -0
  94. package/dist/shared/elicitation.js +314 -0
  95. package/dist/shared/elicitation.js.map +7 -0
  96. package/dist/shared/errors.js +24 -0
  97. package/dist/shared/errors.js.map +7 -0
  98. package/dist/shared/gateway-config.js +1 -0
  99. package/dist/shared/gateway-config.js.map +7 -0
  100. package/dist/shared/images.js +21 -0
  101. package/dist/shared/images.js.map +7 -0
  102. package/dist/shared/package.js +5 -0
  103. package/dist/shared/package.js.map +7 -0
  104. package/dist/shared/permissions.js +63 -0
  105. package/dist/shared/permissions.js.map +7 -0
  106. package/dist/shared/thread-name.js +14 -0
  107. package/dist/shared/thread-name.js.map +7 -0
  108. package/dist/shared/thread-summary.js +24 -0
  109. package/dist/shared/thread-summary.js.map +7 -0
  110. package/dist/shared/types.js +1 -0
  111. package/dist/shared/types.js.map +7 -0
  112. package/dist/shared/updates.js +7 -0
  113. package/dist/shared/updates.js.map +7 -0
  114. package/dist/shared/validation.js +116 -0
  115. package/dist/shared/validation.js.map +7 -0
  116. package/dist/shared/versions.js +36 -0
  117. package/dist/shared/versions.js.map +7 -0
  118. package/dist/update-worker.cjs +21968 -0
  119. package/dist/updates/files.js +54 -0
  120. package/dist/updates/files.js.map +7 -0
  121. package/dist/updates/manager.js +315 -0
  122. package/dist/updates/manager.js.map +7 -0
  123. package/dist/updates/registry.js +71 -0
  124. package/dist/updates/registry.js.map +7 -0
  125. package/dist/updates/transaction.js +96 -0
  126. package/dist/updates/transaction.js.map +7 -0
  127. package/dist/updates/worker.js +345 -0
  128. package/dist/updates/worker.js.map +7 -0
  129. package/dist/web/assets/index-BW9afH_Y.js +83 -0
  130. package/dist/web/assets/index-L3S1ZiO0.css +1 -0
  131. package/dist/web/covro.svg +6 -0
  132. package/dist/web/index.html +15 -0
  133. package/package.json +88 -4
@@ -0,0 +1,309 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "2994a2fb-d4ed-4e7c-9113-54091582473e",
5
+ "prevId": "00000000-0000-0000-0000-000000000000",
6
+ "tables": {
7
+ "execution_markers": {
8
+ "name": "execution_markers",
9
+ "columns": {
10
+ "operation_id": {
11
+ "name": "operation_id",
12
+ "type": "text",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": false
16
+ },
17
+ "thread_id": {
18
+ "name": "thread_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "turn_id": {
25
+ "name": "turn_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": false,
29
+ "autoincrement": false
30
+ },
31
+ "workspace_key": {
32
+ "name": "workspace_key",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": true,
36
+ "autoincrement": false
37
+ },
38
+ "codex_epoch": {
39
+ "name": "codex_epoch",
40
+ "type": "text",
41
+ "primaryKey": false,
42
+ "notNull": true,
43
+ "autoincrement": false
44
+ },
45
+ "state": {
46
+ "name": "state",
47
+ "type": "text",
48
+ "primaryKey": false,
49
+ "notNull": true,
50
+ "autoincrement": false
51
+ },
52
+ "created_at": {
53
+ "name": "created_at",
54
+ "type": "integer",
55
+ "primaryKey": false,
56
+ "notNull": true,
57
+ "autoincrement": false
58
+ },
59
+ "ended_at": {
60
+ "name": "ended_at",
61
+ "type": "integer",
62
+ "primaryKey": false,
63
+ "notNull": false,
64
+ "autoincrement": false
65
+ },
66
+ "reconciled_at": {
67
+ "name": "reconciled_at",
68
+ "type": "integer",
69
+ "primaryKey": false,
70
+ "notNull": false,
71
+ "autoincrement": false
72
+ },
73
+ "reconciliation_operation_id": {
74
+ "name": "reconciliation_operation_id",
75
+ "type": "text",
76
+ "primaryKey": false,
77
+ "notNull": false,
78
+ "autoincrement": false
79
+ }
80
+ },
81
+ "indexes": {
82
+ "execution_markers_active_thread": {
83
+ "name": "execution_markers_active_thread",
84
+ "columns": [
85
+ "thread_id"
86
+ ],
87
+ "isUnique": true,
88
+ "where": "\"execution_markers\".\"ended_at\" is null"
89
+ },
90
+ "execution_markers_active_workspace": {
91
+ "name": "execution_markers_active_workspace",
92
+ "columns": [
93
+ "workspace_key"
94
+ ],
95
+ "isUnique": true,
96
+ "where": "\"execution_markers\".\"ended_at\" is null"
97
+ }
98
+ },
99
+ "foreignKeys": {
100
+ "execution_markers_operation_id_operations_client_operation_id_fk": {
101
+ "name": "execution_markers_operation_id_operations_client_operation_id_fk",
102
+ "tableFrom": "execution_markers",
103
+ "tableTo": "operations",
104
+ "columnsFrom": [
105
+ "operation_id"
106
+ ],
107
+ "columnsTo": [
108
+ "client_operation_id"
109
+ ],
110
+ "onDelete": "no action",
111
+ "onUpdate": "no action"
112
+ },
113
+ "execution_markers_reconciliation_operation_id_operations_client_operation_id_fk": {
114
+ "name": "execution_markers_reconciliation_operation_id_operations_client_operation_id_fk",
115
+ "tableFrom": "execution_markers",
116
+ "tableTo": "operations",
117
+ "columnsFrom": [
118
+ "reconciliation_operation_id"
119
+ ],
120
+ "columnsTo": [
121
+ "client_operation_id"
122
+ ],
123
+ "onDelete": "no action",
124
+ "onUpdate": "no action"
125
+ }
126
+ },
127
+ "compositePrimaryKeys": {},
128
+ "uniqueConstraints": {},
129
+ "checkConstraints": {
130
+ "execution_markers_state_check": {
131
+ "name": "execution_markers_state_check",
132
+ "value": "\"execution_markers\".\"state\" in ('active', 'unknown', 'terminal', 'reconciled')"
133
+ }
134
+ }
135
+ },
136
+ "operations": {
137
+ "name": "operations",
138
+ "columns": {
139
+ "client_operation_id": {
140
+ "name": "client_operation_id",
141
+ "type": "text",
142
+ "primaryKey": true,
143
+ "notNull": true,
144
+ "autoincrement": false
145
+ },
146
+ "kind": {
147
+ "name": "kind",
148
+ "type": "text",
149
+ "primaryKey": false,
150
+ "notNull": true,
151
+ "autoincrement": false
152
+ },
153
+ "target": {
154
+ "name": "target",
155
+ "type": "text",
156
+ "primaryKey": false,
157
+ "notNull": true,
158
+ "autoincrement": false
159
+ },
160
+ "request_digest": {
161
+ "name": "request_digest",
162
+ "type": "text",
163
+ "primaryKey": false,
164
+ "notNull": true,
165
+ "autoincrement": false
166
+ },
167
+ "state": {
168
+ "name": "state",
169
+ "type": "text",
170
+ "primaryKey": false,
171
+ "notNull": true,
172
+ "autoincrement": false
173
+ },
174
+ "result": {
175
+ "name": "result",
176
+ "type": "text",
177
+ "primaryKey": false,
178
+ "notNull": false,
179
+ "autoincrement": false
180
+ },
181
+ "error": {
182
+ "name": "error",
183
+ "type": "text",
184
+ "primaryKey": false,
185
+ "notNull": false,
186
+ "autoincrement": false
187
+ },
188
+ "created_at": {
189
+ "name": "created_at",
190
+ "type": "integer",
191
+ "primaryKey": false,
192
+ "notNull": true,
193
+ "autoincrement": false
194
+ },
195
+ "updated_at": {
196
+ "name": "updated_at",
197
+ "type": "integer",
198
+ "primaryKey": false,
199
+ "notNull": true,
200
+ "autoincrement": false
201
+ }
202
+ },
203
+ "indexes": {
204
+ "operations_state_idx": {
205
+ "name": "operations_state_idx",
206
+ "columns": [
207
+ "state"
208
+ ],
209
+ "isUnique": false
210
+ }
211
+ },
212
+ "foreignKeys": {},
213
+ "compositePrimaryKeys": {},
214
+ "uniqueConstraints": {},
215
+ "checkConstraints": {
216
+ "operations_state_check": {
217
+ "name": "operations_state_check",
218
+ "value": "\"operations\".\"state\" in ('accepted', 'dispatching', 'acknowledged', 'failed', 'unknown')"
219
+ }
220
+ }
221
+ },
222
+ "preferences": {
223
+ "name": "preferences",
224
+ "columns": {
225
+ "key": {
226
+ "name": "key",
227
+ "type": "text",
228
+ "primaryKey": true,
229
+ "notNull": true,
230
+ "autoincrement": false
231
+ },
232
+ "value": {
233
+ "name": "value",
234
+ "type": "text",
235
+ "primaryKey": false,
236
+ "notNull": true,
237
+ "autoincrement": false
238
+ }
239
+ },
240
+ "indexes": {},
241
+ "foreignKeys": {},
242
+ "compositePrimaryKeys": {},
243
+ "uniqueConstraints": {},
244
+ "checkConstraints": {}
245
+ },
246
+ "thread_links": {
247
+ "name": "thread_links",
248
+ "columns": {
249
+ "thread_id": {
250
+ "name": "thread_id",
251
+ "type": "text",
252
+ "primaryKey": true,
253
+ "notNull": true,
254
+ "autoincrement": false
255
+ },
256
+ "project_id": {
257
+ "name": "project_id",
258
+ "type": "text",
259
+ "primaryKey": false,
260
+ "notNull": true,
261
+ "autoincrement": false
262
+ },
263
+ "cwd": {
264
+ "name": "cwd",
265
+ "type": "text",
266
+ "primaryKey": false,
267
+ "notNull": true,
268
+ "autoincrement": false
269
+ },
270
+ "source": {
271
+ "name": "source",
272
+ "type": "text",
273
+ "primaryKey": false,
274
+ "notNull": true,
275
+ "autoincrement": false
276
+ },
277
+ "managed_epoch": {
278
+ "name": "managed_epoch",
279
+ "type": "text",
280
+ "primaryKey": false,
281
+ "notNull": false,
282
+ "autoincrement": false
283
+ },
284
+ "updated_at": {
285
+ "name": "updated_at",
286
+ "type": "integer",
287
+ "primaryKey": false,
288
+ "notNull": true,
289
+ "autoincrement": false
290
+ }
291
+ },
292
+ "indexes": {},
293
+ "foreignKeys": {},
294
+ "compositePrimaryKeys": {},
295
+ "uniqueConstraints": {},
296
+ "checkConstraints": {}
297
+ }
298
+ },
299
+ "views": {},
300
+ "enums": {},
301
+ "_meta": {
302
+ "schemas": {},
303
+ "tables": {},
304
+ "columns": {}
305
+ },
306
+ "internal": {
307
+ "indexes": {}
308
+ }
309
+ }
@@ -0,0 +1,323 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "fed06b68-35b2-4b13-a673-e5eee74c5a6c",
5
+ "prevId": "2994a2fb-d4ed-4e7c-9113-54091582473e",
6
+ "tables": {
7
+ "execution_markers": {
8
+ "name": "execution_markers",
9
+ "columns": {
10
+ "operation_id": {
11
+ "name": "operation_id",
12
+ "type": "text",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": false
16
+ },
17
+ "thread_id": {
18
+ "name": "thread_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "turn_id": {
25
+ "name": "turn_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": false,
29
+ "autoincrement": false
30
+ },
31
+ "workspace_key": {
32
+ "name": "workspace_key",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": true,
36
+ "autoincrement": false
37
+ },
38
+ "codex_epoch": {
39
+ "name": "codex_epoch",
40
+ "type": "text",
41
+ "primaryKey": false,
42
+ "notNull": true,
43
+ "autoincrement": false
44
+ },
45
+ "state": {
46
+ "name": "state",
47
+ "type": "text",
48
+ "primaryKey": false,
49
+ "notNull": true,
50
+ "autoincrement": false
51
+ },
52
+ "created_at": {
53
+ "name": "created_at",
54
+ "type": "integer",
55
+ "primaryKey": false,
56
+ "notNull": true,
57
+ "autoincrement": false
58
+ },
59
+ "ended_at": {
60
+ "name": "ended_at",
61
+ "type": "integer",
62
+ "primaryKey": false,
63
+ "notNull": false,
64
+ "autoincrement": false
65
+ },
66
+ "reconciled_at": {
67
+ "name": "reconciled_at",
68
+ "type": "integer",
69
+ "primaryKey": false,
70
+ "notNull": false,
71
+ "autoincrement": false
72
+ },
73
+ "reconciliation_operation_id": {
74
+ "name": "reconciliation_operation_id",
75
+ "type": "text",
76
+ "primaryKey": false,
77
+ "notNull": false,
78
+ "autoincrement": false
79
+ }
80
+ },
81
+ "indexes": {
82
+ "execution_markers_active_thread": {
83
+ "name": "execution_markers_active_thread",
84
+ "columns": [
85
+ "thread_id"
86
+ ],
87
+ "isUnique": true,
88
+ "where": "\"execution_markers\".\"ended_at\" is null"
89
+ },
90
+ "execution_markers_active_workspace": {
91
+ "name": "execution_markers_active_workspace",
92
+ "columns": [
93
+ "workspace_key"
94
+ ],
95
+ "isUnique": true,
96
+ "where": "\"execution_markers\".\"ended_at\" is null"
97
+ }
98
+ },
99
+ "foreignKeys": {
100
+ "execution_markers_operation_id_operations_client_operation_id_fk": {
101
+ "name": "execution_markers_operation_id_operations_client_operation_id_fk",
102
+ "tableFrom": "execution_markers",
103
+ "tableTo": "operations",
104
+ "columnsFrom": [
105
+ "operation_id"
106
+ ],
107
+ "columnsTo": [
108
+ "client_operation_id"
109
+ ],
110
+ "onDelete": "no action",
111
+ "onUpdate": "no action"
112
+ },
113
+ "execution_markers_reconciliation_operation_id_operations_client_operation_id_fk": {
114
+ "name": "execution_markers_reconciliation_operation_id_operations_client_operation_id_fk",
115
+ "tableFrom": "execution_markers",
116
+ "tableTo": "operations",
117
+ "columnsFrom": [
118
+ "reconciliation_operation_id"
119
+ ],
120
+ "columnsTo": [
121
+ "client_operation_id"
122
+ ],
123
+ "onDelete": "no action",
124
+ "onUpdate": "no action"
125
+ }
126
+ },
127
+ "compositePrimaryKeys": {},
128
+ "uniqueConstraints": {},
129
+ "checkConstraints": {
130
+ "execution_markers_state_check": {
131
+ "name": "execution_markers_state_check",
132
+ "value": "\"execution_markers\".\"state\" in ('active', 'unknown', 'terminal', 'reconciled')"
133
+ }
134
+ }
135
+ },
136
+ "operations": {
137
+ "name": "operations",
138
+ "columns": {
139
+ "client_operation_id": {
140
+ "name": "client_operation_id",
141
+ "type": "text",
142
+ "primaryKey": true,
143
+ "notNull": true,
144
+ "autoincrement": false
145
+ },
146
+ "kind": {
147
+ "name": "kind",
148
+ "type": "text",
149
+ "primaryKey": false,
150
+ "notNull": true,
151
+ "autoincrement": false
152
+ },
153
+ "target": {
154
+ "name": "target",
155
+ "type": "text",
156
+ "primaryKey": false,
157
+ "notNull": true,
158
+ "autoincrement": false
159
+ },
160
+ "request_digest": {
161
+ "name": "request_digest",
162
+ "type": "text",
163
+ "primaryKey": false,
164
+ "notNull": true,
165
+ "autoincrement": false
166
+ },
167
+ "state": {
168
+ "name": "state",
169
+ "type": "text",
170
+ "primaryKey": false,
171
+ "notNull": true,
172
+ "autoincrement": false
173
+ },
174
+ "result": {
175
+ "name": "result",
176
+ "type": "text",
177
+ "primaryKey": false,
178
+ "notNull": false,
179
+ "autoincrement": false
180
+ },
181
+ "error": {
182
+ "name": "error",
183
+ "type": "text",
184
+ "primaryKey": false,
185
+ "notNull": false,
186
+ "autoincrement": false
187
+ },
188
+ "created_at": {
189
+ "name": "created_at",
190
+ "type": "integer",
191
+ "primaryKey": false,
192
+ "notNull": true,
193
+ "autoincrement": false
194
+ },
195
+ "updated_at": {
196
+ "name": "updated_at",
197
+ "type": "integer",
198
+ "primaryKey": false,
199
+ "notNull": true,
200
+ "autoincrement": false
201
+ },
202
+ "reconciled_at": {
203
+ "name": "reconciled_at",
204
+ "type": "integer",
205
+ "primaryKey": false,
206
+ "notNull": false,
207
+ "autoincrement": false
208
+ },
209
+ "reconciliation_decision": {
210
+ "name": "reconciliation_decision",
211
+ "type": "text",
212
+ "primaryKey": false,
213
+ "notNull": false,
214
+ "autoincrement": false
215
+ }
216
+ },
217
+ "indexes": {
218
+ "operations_state_idx": {
219
+ "name": "operations_state_idx",
220
+ "columns": [
221
+ "state"
222
+ ],
223
+ "isUnique": false
224
+ }
225
+ },
226
+ "foreignKeys": {},
227
+ "compositePrimaryKeys": {},
228
+ "uniqueConstraints": {},
229
+ "checkConstraints": {
230
+ "operations_state_check": {
231
+ "name": "operations_state_check",
232
+ "value": "\"operations\".\"state\" in ('accepted', 'dispatching', 'acknowledged', 'failed', 'unknown')"
233
+ }
234
+ }
235
+ },
236
+ "preferences": {
237
+ "name": "preferences",
238
+ "columns": {
239
+ "key": {
240
+ "name": "key",
241
+ "type": "text",
242
+ "primaryKey": true,
243
+ "notNull": true,
244
+ "autoincrement": false
245
+ },
246
+ "value": {
247
+ "name": "value",
248
+ "type": "text",
249
+ "primaryKey": false,
250
+ "notNull": true,
251
+ "autoincrement": false
252
+ }
253
+ },
254
+ "indexes": {},
255
+ "foreignKeys": {},
256
+ "compositePrimaryKeys": {},
257
+ "uniqueConstraints": {},
258
+ "checkConstraints": {}
259
+ },
260
+ "thread_links": {
261
+ "name": "thread_links",
262
+ "columns": {
263
+ "thread_id": {
264
+ "name": "thread_id",
265
+ "type": "text",
266
+ "primaryKey": true,
267
+ "notNull": true,
268
+ "autoincrement": false
269
+ },
270
+ "project_id": {
271
+ "name": "project_id",
272
+ "type": "text",
273
+ "primaryKey": false,
274
+ "notNull": true,
275
+ "autoincrement": false
276
+ },
277
+ "cwd": {
278
+ "name": "cwd",
279
+ "type": "text",
280
+ "primaryKey": false,
281
+ "notNull": true,
282
+ "autoincrement": false
283
+ },
284
+ "source": {
285
+ "name": "source",
286
+ "type": "text",
287
+ "primaryKey": false,
288
+ "notNull": true,
289
+ "autoincrement": false
290
+ },
291
+ "managed_epoch": {
292
+ "name": "managed_epoch",
293
+ "type": "text",
294
+ "primaryKey": false,
295
+ "notNull": false,
296
+ "autoincrement": false
297
+ },
298
+ "updated_at": {
299
+ "name": "updated_at",
300
+ "type": "integer",
301
+ "primaryKey": false,
302
+ "notNull": true,
303
+ "autoincrement": false
304
+ }
305
+ },
306
+ "indexes": {},
307
+ "foreignKeys": {},
308
+ "compositePrimaryKeys": {},
309
+ "uniqueConstraints": {},
310
+ "checkConstraints": {}
311
+ }
312
+ },
313
+ "views": {},
314
+ "enums": {},
315
+ "_meta": {
316
+ "schemas": {},
317
+ "tables": {},
318
+ "columns": {}
319
+ },
320
+ "internal": {
321
+ "indexes": {}
322
+ }
323
+ }