@zonease/aiworker-cli 0.12.2 → 0.13.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 (117) hide show
  1. package/README.md +158 -350
  2. package/aiworker-bun.js +614 -694
  3. package/drizzle/worker/0000_polite_stellaris.sql +219 -0
  4. package/drizzle/worker/0001_red_lady_mastermind.sql +29 -0
  5. package/drizzle/worker/0002_concerned_slyde.sql +45 -0
  6. package/drizzle/worker/meta/0000_snapshot.json +1055 -194
  7. package/drizzle/worker/meta/0001_snapshot.json +1244 -222
  8. package/drizzle/worker/meta/0002_snapshot.json +1557 -273
  9. package/drizzle/worker/meta/_journal.json +6 -48
  10. package/official-apps/aiworker-hr/README.md +16 -0
  11. package/official-apps/aiworker-hr/capabilities/candidate-screen/prompt.md +3 -0
  12. package/official-apps/aiworker-hr/capabilities/candidate-screen/review.md +5 -0
  13. package/official-apps/aiworker-hr/capabilities/person-profile/prompt.md +3 -0
  14. package/official-apps/aiworker-hr/capabilities/person-profile/review.md +5 -0
  15. package/official-apps/aiworker-hr/dist/host-mounted.js +15677 -0
  16. package/official-apps/aiworker-hr/dist/index.js +15411 -0
  17. package/official-apps/aiworker-hr/dist/standalone.js +15451 -0
  18. package/official-apps/aiworker-hr/migrations/0001_hr.sql +2 -0
  19. package/official-apps/aiworker-hr/package.json +31 -0
  20. package/official-apps/aiworker-hr/packs/hr-recruiting/SOUL.md +7 -0
  21. package/official-apps/aiworker-hr/review/candidate-screen.md +5 -0
  22. package/official-apps/aiworker-hr/review/person-profile.md +5 -0
  23. package/official-apps/aiworker-hr/schemas/candidate-screen.schema.json +50 -0
  24. package/official-apps/aiworker-hr/schemas/person-profile.schema.json +50 -0
  25. package/official-apps/aiworker-hr/soul-app.manifest.json +374 -0
  26. package/official-apps/aiworker-hr/src/api.ts +1 -0
  27. package/official-apps/aiworker-hr/src/host-mounted.ts +308 -0
  28. package/official-apps/aiworker-hr/src/index.ts +152 -0
  29. package/official-apps/aiworker-hr/src/protocol/artifact.ts +2 -0
  30. package/official-apps/aiworker-hr/src/protocol/connectors.ts +2 -0
  31. package/official-apps/aiworker-hr/src/protocol/lifecycle.ts +2 -0
  32. package/official-apps/aiworker-hr/src/protocol/review.ts +2 -0
  33. package/official-apps/aiworker-hr/src/protocol/runtime.ts +2 -0
  34. package/official-apps/aiworker-hr/src/protocol/ui.ts +2 -0
  35. package/official-apps/aiworker-hr/src/standalone.ts +43 -0
  36. package/official-apps/aiworker-hr/src/ui/candidate-screen-preview.tsx +2 -0
  37. package/official-apps/aiworker-hr/src/ui/hr-route.tsx +1 -0
  38. package/official-apps/aiworker-hr/src/ui/people-widget.tsx +1 -0
  39. package/official-apps/aiworker-hr/src/ui/person-profile-preview.tsx +2 -0
  40. package/official-apps/aiworker-hr/src/ui/profile-panel.tsx +1 -0
  41. package/official-apps/aiworker-hr/src/ui/review-panel.tsx +1 -0
  42. package/official-apps/aiworker-hr/tsconfig.json +20 -0
  43. package/official-apps/aiworker-qa/README.md +14 -0
  44. package/official-apps/aiworker-qa/capabilities/regression-matrix/prompt.md +3 -0
  45. package/official-apps/aiworker-qa/capabilities/regression-matrix/review.md +5 -0
  46. package/official-apps/aiworker-qa/capabilities/release-gate/prompt.md +3 -0
  47. package/official-apps/aiworker-qa/capabilities/release-gate/review.md +5 -0
  48. package/official-apps/aiworker-qa/dist/host-mounted.js +15655 -0
  49. package/official-apps/aiworker-qa/dist/index.js +15395 -0
  50. package/official-apps/aiworker-qa/dist/standalone.js +15435 -0
  51. package/official-apps/aiworker-qa/migrations/0001_qa.sql +2 -0
  52. package/official-apps/aiworker-qa/package.json +31 -0
  53. package/official-apps/aiworker-qa/packs/qa-reviewer/SOUL.md +7 -0
  54. package/official-apps/aiworker-qa/review/regression-matrix.md +5 -0
  55. package/official-apps/aiworker-qa/review/release-gate.md +5 -0
  56. package/official-apps/aiworker-qa/schemas/regression-matrix.schema.json +50 -0
  57. package/official-apps/aiworker-qa/schemas/release-gate.schema.json +50 -0
  58. package/official-apps/aiworker-qa/soul-app.manifest.json +356 -0
  59. package/official-apps/aiworker-qa/src/api.ts +1 -0
  60. package/official-apps/aiworker-qa/src/host-mounted.ts +302 -0
  61. package/official-apps/aiworker-qa/src/index.ts +152 -0
  62. package/official-apps/aiworker-qa/src/protocol/artifact.ts +2 -0
  63. package/official-apps/aiworker-qa/src/protocol/connectors.ts +2 -0
  64. package/official-apps/aiworker-qa/src/protocol/lifecycle.ts +2 -0
  65. package/official-apps/aiworker-qa/src/protocol/review.ts +2 -0
  66. package/official-apps/aiworker-qa/src/protocol/runtime.ts +2 -0
  67. package/official-apps/aiworker-qa/src/protocol/ui.ts +2 -0
  68. package/official-apps/aiworker-qa/src/standalone.ts +43 -0
  69. package/official-apps/aiworker-qa/src/ui/qa-route.tsx +1 -0
  70. package/official-apps/aiworker-qa/src/ui/regression-matrix-preview.tsx +2 -0
  71. package/official-apps/aiworker-qa/src/ui/release-gate-preview.tsx +2 -0
  72. package/official-apps/aiworker-qa/src/ui/release-panel.tsx +1 -0
  73. package/official-apps/aiworker-qa/src/ui/release-review-panel.tsx +1 -0
  74. package/official-apps/aiworker-qa/src/ui/release-widget.tsx +1 -0
  75. package/official-apps/aiworker-qa/src/ui/review-panel.tsx +1 -0
  76. package/official-apps/aiworker-qa/tsconfig.json +20 -0
  77. package/package.json +5 -4
  78. package/web/worker/assets/index-ByOwFiyz.js +18 -0
  79. package/web/worker/assets/index-K-y56wrL.css +2 -0
  80. package/web/worker/assets/markdown-preview-DFe-rfff.js +29 -0
  81. package/web/worker/assets/people-workbench-V1Ajqfzv.js +1 -0
  82. package/web/worker/engine-icons/claude.svg +1 -0
  83. package/web/worker/engine-icons/cursor.svg +1 -0
  84. package/web/worker/engine-icons/gemini.svg +1 -0
  85. package/web/worker/engine-icons/hermesagent.svg +1 -0
  86. package/web/worker/engine-icons/openai.svg +1 -0
  87. package/web/worker/engine-icons/opencode.svg +1 -0
  88. package/web/worker/engine-icons/qwen.svg +1 -0
  89. package/web/worker/fonts/inter-latin-wght-normal.woff2 +0 -0
  90. package/web/worker/fonts/jetbrains-mono-latin-wght-normal.woff2 +0 -0
  91. package/web/worker/fonts/nunito-latin-wght-normal.woff2 +0 -0
  92. package/web/worker/index.html +8 -4
  93. package/web/worker/logo.svg +8 -0
  94. package/drizzle/fleet/0000_fine_havok.sql +0 -23
  95. package/drizzle/fleet/meta/0000_snapshot.json +0 -165
  96. package/drizzle/fleet/meta/_journal.json +0 -13
  97. package/drizzle/worker/0000_spooky_kat_farrell.sql +0 -112
  98. package/drizzle/worker/0001_secret_dagger.sql +0 -1
  99. package/drizzle/worker/0002_jazzy_moondragon.sql +0 -13
  100. package/drizzle/worker/0003_rare_cloak.sql +0 -7
  101. package/drizzle/worker/0004_daffy_thing.sql +0 -26
  102. package/drizzle/worker/0005_worthless_whiplash.sql +0 -20
  103. package/drizzle/worker/0006_fair_jetstream.sql +0 -34
  104. package/drizzle/worker/0007_solid_bromley.sql +0 -11
  105. package/drizzle/worker/0008_peaceful_titanium_man.sql +0 -14
  106. package/drizzle/worker/meta/0003_snapshot.json +0 -873
  107. package/drizzle/worker/meta/0004_snapshot.json +0 -1058
  108. package/drizzle/worker/meta/0005_snapshot.json +0 -1192
  109. package/drizzle/worker/meta/0006_snapshot.json +0 -1420
  110. package/drizzle/worker/meta/0007_snapshot.json +0 -1489
  111. package/drizzle/worker/meta/0008_snapshot.json +0 -1593
  112. package/web/fleet/assets/index-BTknRPEg.js +0 -1372
  113. package/web/fleet/assets/index-lu-9OhC0.css +0 -2
  114. package/web/fleet/favicon.svg +0 -4
  115. package/web/fleet/index.html +0 -14
  116. package/web/worker/assets/index-DuxsPbd7.js +0 -1382
  117. package/web/worker/assets/index-lu-9OhC0.css +0 -2
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": "6",
3
3
  "dialect": "sqlite",
4
- "id": "04e965fd-7c52-418b-bbc2-112abee2aa22",
5
- "prevId": "47185b92-db61-4024-92c8-2ca8997421bc",
4
+ "id": "99a5b39c-373e-432a-b864-cf03bed686c3",
5
+ "prevId": "f9522fbc-d212-4ada-b64f-556c361b389b",
6
6
  "tables": {
7
- "agent_tasks": {
8
- "name": "agent_tasks",
7
+ "artifacts": {
8
+ "name": "artifacts",
9
9
  "columns": {
10
10
  "id": {
11
11
  "name": "id",
@@ -14,150 +14,163 @@
14
14
  "notNull": true,
15
15
  "autoincrement": false
16
16
  },
17
- "prompt": {
18
- "name": "prompt",
19
- "type": "text",
20
- "primaryKey": false,
21
- "notNull": true,
22
- "autoincrement": false
23
- },
24
- "status": {
25
- "name": "status",
17
+ "workspace_id": {
18
+ "name": "workspace_id",
26
19
  "type": "text",
27
20
  "primaryKey": false,
28
21
  "notNull": true,
29
22
  "autoincrement": false
30
23
  },
31
- "conversation_id": {
32
- "name": "conversation_id",
24
+ "session_id": {
25
+ "name": "session_id",
33
26
  "type": "text",
34
27
  "primaryKey": false,
35
28
  "notNull": false,
36
29
  "autoincrement": false
37
30
  },
38
- "created_at": {
39
- "name": "created_at",
40
- "type": "text",
41
- "primaryKey": false,
42
- "notNull": true,
43
- "autoincrement": false
44
- },
45
- "finished_at": {
46
- "name": "finished_at",
31
+ "turn_id": {
32
+ "name": "turn_id",
47
33
  "type": "text",
48
34
  "primaryKey": false,
49
35
  "notNull": false,
50
36
  "autoincrement": false
51
37
  },
52
- "result": {
53
- "name": "result",
38
+ "invocation_id": {
39
+ "name": "invocation_id",
54
40
  "type": "text",
55
41
  "primaryKey": false,
56
42
  "notNull": false,
57
43
  "autoincrement": false
58
44
  },
59
- "error": {
60
- "name": "error",
45
+ "path": {
46
+ "name": "path",
61
47
  "type": "text",
62
48
  "primaryKey": false,
63
- "notNull": false,
64
- "autoincrement": false
65
- }
66
- },
67
- "indexes": {},
68
- "foreignKeys": {},
69
- "compositePrimaryKeys": {},
70
- "uniqueConstraints": {},
71
- "checkConstraints": {}
72
- },
73
- "conversations": {
74
- "name": "conversations",
75
- "columns": {
76
- "id": {
77
- "name": "id",
78
- "type": "text",
79
- "primaryKey": true,
80
49
  "notNull": true,
81
50
  "autoincrement": false
82
51
  },
83
- "task_id": {
84
- "name": "task_id",
85
- "type": "text",
86
- "primaryKey": false,
87
- "notNull": false,
88
- "autoincrement": false
89
- },
90
- "channel": {
91
- "name": "channel",
52
+ "kind": {
53
+ "name": "kind",
92
54
  "type": "text",
93
55
  "primaryKey": false,
94
56
  "notNull": true,
95
- "autoincrement": false
57
+ "autoincrement": false,
58
+ "default": "'file'"
96
59
  },
97
- "chat_id": {
98
- "name": "chat_id",
60
+ "title": {
61
+ "name": "title",
99
62
  "type": "text",
100
63
  "primaryKey": false,
101
64
  "notNull": true,
102
65
  "autoincrement": false
103
66
  },
104
- "thread_id": {
105
- "name": "thread_id",
106
- "type": "text",
107
- "primaryKey": false,
108
- "notNull": false,
109
- "autoincrement": false
110
- },
111
67
  "status": {
112
68
  "name": "status",
113
69
  "type": "text",
114
70
  "primaryKey": false,
115
71
  "notNull": true,
116
72
  "autoincrement": false,
117
- "default": "'open'"
73
+ "default": "'available'"
118
74
  },
119
- "summary": {
120
- "name": "summary",
75
+ "metadata_json": {
76
+ "name": "metadata_json",
121
77
  "type": "text",
122
78
  "primaryKey": false,
123
- "notNull": false,
79
+ "notNull": true,
124
80
  "autoincrement": false
125
81
  },
126
- "started_at": {
127
- "name": "started_at",
82
+ "created_at": {
83
+ "name": "created_at",
128
84
  "type": "text",
129
85
  "primaryKey": false,
130
86
  "notNull": true,
131
87
  "autoincrement": false
132
88
  },
133
- "last_active_at": {
134
- "name": "last_active_at",
89
+ "updated_at": {
90
+ "name": "updated_at",
135
91
  "type": "text",
136
92
  "primaryKey": false,
137
93
  "notNull": true,
138
94
  "autoincrement": false
95
+ }
96
+ },
97
+ "indexes": {
98
+ "artifacts_session_updated_at_idx": {
99
+ "name": "artifacts_session_updated_at_idx",
100
+ "columns": [
101
+ "session_id",
102
+ "updated_at"
103
+ ],
104
+ "isUnique": false
139
105
  },
140
- "closed_at": {
141
- "name": "closed_at",
142
- "type": "text",
143
- "primaryKey": false,
144
- "notNull": false,
145
- "autoincrement": false
106
+ "artifacts_status_updated_at_idx": {
107
+ "name": "artifacts_status_updated_at_idx",
108
+ "columns": [
109
+ "status",
110
+ "updated_at"
111
+ ],
112
+ "isUnique": false
113
+ },
114
+ "artifacts_workspace_updated_at_idx": {
115
+ "name": "artifacts_workspace_updated_at_idx",
116
+ "columns": [
117
+ "workspace_id",
118
+ "updated_at"
119
+ ],
120
+ "isUnique": false
146
121
  }
147
122
  },
148
- "indexes": {},
149
123
  "foreignKeys": {
150
- "conversations_task_id_agent_tasks_id_fk": {
151
- "name": "conversations_task_id_agent_tasks_id_fk",
152
- "tableFrom": "conversations",
153
- "tableTo": "agent_tasks",
124
+ "artifacts_workspace_id_workspaces_id_fk": {
125
+ "name": "artifacts_workspace_id_workspaces_id_fk",
126
+ "tableFrom": "artifacts",
127
+ "tableTo": "workspaces",
128
+ "columnsFrom": [
129
+ "workspace_id"
130
+ ],
131
+ "columnsTo": [
132
+ "id"
133
+ ],
134
+ "onDelete": "cascade",
135
+ "onUpdate": "no action"
136
+ },
137
+ "artifacts_session_id_sessions_id_fk": {
138
+ "name": "artifacts_session_id_sessions_id_fk",
139
+ "tableFrom": "artifacts",
140
+ "tableTo": "sessions",
141
+ "columnsFrom": [
142
+ "session_id"
143
+ ],
144
+ "columnsTo": [
145
+ "id"
146
+ ],
147
+ "onDelete": "set null",
148
+ "onUpdate": "no action"
149
+ },
150
+ "artifacts_turn_id_turns_id_fk": {
151
+ "name": "artifacts_turn_id_turns_id_fk",
152
+ "tableFrom": "artifacts",
153
+ "tableTo": "turns",
154
+ "columnsFrom": [
155
+ "turn_id"
156
+ ],
157
+ "columnsTo": [
158
+ "id"
159
+ ],
160
+ "onDelete": "set null",
161
+ "onUpdate": "no action"
162
+ },
163
+ "artifacts_invocation_id_engine_invocations_id_fk": {
164
+ "name": "artifacts_invocation_id_engine_invocations_id_fk",
165
+ "tableFrom": "artifacts",
166
+ "tableTo": "engine_invocations",
154
167
  "columnsFrom": [
155
- "task_id"
168
+ "invocation_id"
156
169
  ],
157
170
  "columnsTo": [
158
171
  "id"
159
172
  ],
160
- "onDelete": "no action",
173
+ "onDelete": "set null",
161
174
  "onUpdate": "no action"
162
175
  }
163
176
  },
@@ -165,8 +178,8 @@
165
178
  "uniqueConstraints": {},
166
179
  "checkConstraints": {}
167
180
  },
168
- "cron_jobs": {
169
- "name": "cron_jobs",
181
+ "engine_invocations": {
182
+ "name": "engine_invocations",
170
183
  "columns": {
171
184
  "id": {
172
185
  "name": "id",
@@ -175,331 +188,1341 @@
175
188
  "notNull": true,
176
189
  "autoincrement": false
177
190
  },
178
- "expression": {
179
- "name": "expression",
191
+ "session_id": {
192
+ "name": "session_id",
180
193
  "type": "text",
181
194
  "primaryKey": false,
182
195
  "notNull": true,
183
196
  "autoincrement": false
184
197
  },
185
- "prompt": {
186
- "name": "prompt",
198
+ "turn_id": {
199
+ "name": "turn_id",
187
200
  "type": "text",
188
201
  "primaryKey": false,
189
202
  "notNull": true,
190
203
  "autoincrement": false
191
204
  },
192
- "channel": {
193
- "name": "channel",
194
- "type": "text",
205
+ "seq": {
206
+ "name": "seq",
207
+ "type": "integer",
195
208
  "primaryKey": false,
196
209
  "notNull": true,
197
210
  "autoincrement": false
198
211
  },
199
- "chat_id": {
200
- "name": "chat_id",
212
+ "engine_id": {
213
+ "name": "engine_id",
201
214
  "type": "text",
202
215
  "primaryKey": false,
203
216
  "notNull": true,
204
217
  "autoincrement": false
205
218
  },
206
- "account_id": {
207
- "name": "account_id",
219
+ "engine_command": {
220
+ "name": "engine_command",
208
221
  "type": "text",
209
222
  "primaryKey": false,
210
- "notNull": true,
223
+ "notNull": false,
211
224
  "autoincrement": false
212
225
  },
213
- "enabled": {
214
- "name": "enabled",
215
- "type": "integer",
226
+ "status": {
227
+ "name": "status",
228
+ "type": "text",
216
229
  "primaryKey": false,
217
230
  "notNull": true,
218
231
  "autoincrement": false,
219
- "default": true
232
+ "default": "'queued'"
220
233
  },
221
- "last_run_at": {
222
- "name": "last_run_at",
234
+ "prompt": {
235
+ "name": "prompt",
223
236
  "type": "text",
224
237
  "primaryKey": false,
225
- "notNull": false,
238
+ "notNull": true,
226
239
  "autoincrement": false
227
240
  },
228
- "next_run_at": {
229
- "name": "next_run_at",
241
+ "summary": {
242
+ "name": "summary",
230
243
  "type": "text",
231
244
  "primaryKey": false,
232
245
  "notNull": false,
233
246
  "autoincrement": false
234
247
  },
235
- "created_at": {
236
- "name": "created_at",
248
+ "error": {
249
+ "name": "error",
237
250
  "type": "text",
238
251
  "primaryKey": false,
239
- "notNull": true,
252
+ "notNull": false,
240
253
  "autoincrement": false
241
254
  },
242
- "updated_at": {
243
- "name": "updated_at",
255
+ "metadata_json": {
256
+ "name": "metadata_json",
244
257
  "type": "text",
245
258
  "primaryKey": false,
246
259
  "notNull": true,
247
260
  "autoincrement": false
248
- }
249
- },
250
- "indexes": {},
251
- "foreignKeys": {},
252
- "compositePrimaryKeys": {},
253
- "uniqueConstraints": {},
254
- "checkConstraints": {}
255
- },
256
- "evolution_observations": {
257
- "name": "evolution_observations",
258
- "columns": {
259
- "id": {
260
- "name": "id",
261
- "type": "integer",
262
- "primaryKey": true,
263
- "notNull": true,
264
- "autoincrement": true
265
261
  },
266
- "conversation_id": {
267
- "name": "conversation_id",
262
+ "started_at": {
263
+ "name": "started_at",
268
264
  "type": "text",
269
265
  "primaryKey": false,
270
266
  "notNull": false,
271
267
  "autoincrement": false
272
268
  },
273
- "kind": {
274
- "name": "kind",
269
+ "finished_at": {
270
+ "name": "finished_at",
275
271
  "type": "text",
276
272
  "primaryKey": false,
277
- "notNull": true,
273
+ "notNull": false,
278
274
  "autoincrement": false
279
275
  },
280
- "payload": {
281
- "name": "payload",
276
+ "created_at": {
277
+ "name": "created_at",
282
278
  "type": "text",
283
279
  "primaryKey": false,
284
280
  "notNull": true,
285
281
  "autoincrement": false
286
282
  },
287
- "noticed_at": {
288
- "name": "noticed_at",
283
+ "updated_at": {
284
+ "name": "updated_at",
289
285
  "type": "text",
290
286
  "primaryKey": false,
291
287
  "notNull": true,
292
288
  "autoincrement": false
293
289
  }
294
290
  },
295
- "indexes": {},
296
- "foreignKeys": {},
291
+ "indexes": {
292
+ "engine_invocations_engine_updated_at_idx": {
293
+ "name": "engine_invocations_engine_updated_at_idx",
294
+ "columns": [
295
+ "engine_id",
296
+ "updated_at"
297
+ ],
298
+ "isUnique": false
299
+ },
300
+ "engine_invocations_session_seq_idx": {
301
+ "name": "engine_invocations_session_seq_idx",
302
+ "columns": [
303
+ "session_id",
304
+ "seq"
305
+ ],
306
+ "isUnique": false
307
+ },
308
+ "engine_invocations_status_updated_at_idx": {
309
+ "name": "engine_invocations_status_updated_at_idx",
310
+ "columns": [
311
+ "status",
312
+ "updated_at"
313
+ ],
314
+ "isUnique": false
315
+ },
316
+ "engine_invocations_turn_idx": {
317
+ "name": "engine_invocations_turn_idx",
318
+ "columns": [
319
+ "turn_id"
320
+ ],
321
+ "isUnique": false
322
+ }
323
+ },
324
+ "foreignKeys": {
325
+ "engine_invocations_session_id_sessions_id_fk": {
326
+ "name": "engine_invocations_session_id_sessions_id_fk",
327
+ "tableFrom": "engine_invocations",
328
+ "tableTo": "sessions",
329
+ "columnsFrom": [
330
+ "session_id"
331
+ ],
332
+ "columnsTo": [
333
+ "id"
334
+ ],
335
+ "onDelete": "cascade",
336
+ "onUpdate": "no action"
337
+ },
338
+ "engine_invocations_turn_id_turns_id_fk": {
339
+ "name": "engine_invocations_turn_id_turns_id_fk",
340
+ "tableFrom": "engine_invocations",
341
+ "tableTo": "turns",
342
+ "columnsFrom": [
343
+ "turn_id"
344
+ ],
345
+ "columnsTo": [
346
+ "id"
347
+ ],
348
+ "onDelete": "cascade",
349
+ "onUpdate": "no action"
350
+ }
351
+ },
297
352
  "compositePrimaryKeys": {},
298
353
  "uniqueConstraints": {},
299
354
  "checkConstraints": {}
300
355
  },
301
- "execution_logs": {
302
- "name": "execution_logs",
356
+ "files": {
357
+ "name": "files",
303
358
  "columns": {
304
359
  "id": {
305
360
  "name": "id",
306
- "type": "integer",
361
+ "type": "text",
307
362
  "primaryKey": true,
308
363
  "notNull": true,
309
- "autoincrement": true
364
+ "autoincrement": false
310
365
  },
311
- "conversation_id": {
312
- "name": "conversation_id",
366
+ "workspace_id": {
367
+ "name": "workspace_id",
313
368
  "type": "text",
314
369
  "primaryKey": false,
315
- "notNull": false,
370
+ "notNull": true,
316
371
  "autoincrement": false
317
372
  },
318
- "tool_name": {
319
- "name": "tool_name",
373
+ "path": {
374
+ "name": "path",
320
375
  "type": "text",
321
376
  "primaryKey": false,
322
377
  "notNull": true,
323
378
  "autoincrement": false
324
379
  },
325
- "params": {
326
- "name": "params",
380
+ "kind": {
381
+ "name": "kind",
327
382
  "type": "text",
328
383
  "primaryKey": false,
384
+ "notNull": true,
385
+ "autoincrement": false,
386
+ "default": "'file'"
387
+ },
388
+ "size": {
389
+ "name": "size",
390
+ "type": "integer",
391
+ "primaryKey": false,
329
392
  "notNull": false,
330
393
  "autoincrement": false
331
394
  },
332
- "result": {
333
- "name": "result",
334
- "type": "text",
395
+ "mtime": {
396
+ "name": "mtime",
397
+ "type": "integer",
335
398
  "primaryKey": false,
336
399
  "notNull": false,
337
400
  "autoincrement": false
338
401
  },
339
- "duration": {
340
- "name": "duration",
341
- "type": "integer",
402
+ "hash": {
403
+ "name": "hash",
404
+ "type": "text",
342
405
  "primaryKey": false,
343
406
  "notNull": false,
344
407
  "autoincrement": false
345
408
  },
409
+ "source": {
410
+ "name": "source",
411
+ "type": "text",
412
+ "primaryKey": false,
413
+ "notNull": true,
414
+ "autoincrement": false,
415
+ "default": "'user'"
416
+ },
346
417
  "created_at": {
347
418
  "name": "created_at",
348
419
  "type": "text",
349
420
  "primaryKey": false,
350
421
  "notNull": true,
351
422
  "autoincrement": false
423
+ },
424
+ "updated_at": {
425
+ "name": "updated_at",
426
+ "type": "text",
427
+ "primaryKey": false,
428
+ "notNull": true,
429
+ "autoincrement": false
430
+ }
431
+ },
432
+ "indexes": {
433
+ "files_kind_idx": {
434
+ "name": "files_kind_idx",
435
+ "columns": [
436
+ "kind"
437
+ ],
438
+ "isUnique": false
439
+ },
440
+ "files_workspace_path_idx": {
441
+ "name": "files_workspace_path_idx",
442
+ "columns": [
443
+ "workspace_id",
444
+ "path"
445
+ ],
446
+ "isUnique": true
447
+ },
448
+ "files_workspace_updated_at_idx": {
449
+ "name": "files_workspace_updated_at_idx",
450
+ "columns": [
451
+ "workspace_id",
452
+ "updated_at"
453
+ ],
454
+ "isUnique": false
455
+ }
456
+ },
457
+ "foreignKeys": {
458
+ "files_workspace_id_workspaces_id_fk": {
459
+ "name": "files_workspace_id_workspaces_id_fk",
460
+ "tableFrom": "files",
461
+ "tableTo": "workspaces",
462
+ "columnsFrom": [
463
+ "workspace_id"
464
+ ],
465
+ "columnsTo": [
466
+ "id"
467
+ ],
468
+ "onDelete": "cascade",
469
+ "onUpdate": "no action"
352
470
  }
353
471
  },
354
- "indexes": {},
355
- "foreignKeys": {},
356
472
  "compositePrimaryKeys": {},
357
473
  "uniqueConstraints": {},
358
474
  "checkConstraints": {}
359
475
  },
360
- "messages": {
361
- "name": "messages",
476
+ "lessons": {
477
+ "name": "lessons",
362
478
  "columns": {
363
479
  "id": {
364
480
  "name": "id",
365
- "type": "integer",
481
+ "type": "text",
366
482
  "primaryKey": true,
367
483
  "notNull": true,
368
- "autoincrement": true
484
+ "autoincrement": false
369
485
  },
370
- "conversation_id": {
371
- "name": "conversation_id",
486
+ "workspace_id": {
487
+ "name": "workspace_id",
372
488
  "type": "text",
373
489
  "primaryKey": false,
374
490
  "notNull": true,
375
491
  "autoincrement": false
376
492
  },
377
- "role": {
378
- "name": "role",
493
+ "source_review_id": {
494
+ "name": "source_review_id",
379
495
  "type": "text",
380
496
  "primaryKey": false,
381
- "notNull": true,
497
+ "notNull": false,
382
498
  "autoincrement": false
383
499
  },
384
- "content": {
385
- "name": "content",
500
+ "statement": {
501
+ "name": "statement",
386
502
  "type": "text",
387
503
  "primaryKey": false,
388
504
  "notNull": true,
389
505
  "autoincrement": false
390
506
  },
391
- "tool_calls": {
392
- "name": "tool_calls",
507
+ "evidence_json": {
508
+ "name": "evidence_json",
393
509
  "type": "text",
394
510
  "primaryKey": false,
395
- "notNull": false,
511
+ "notNull": true,
396
512
  "autoincrement": false
397
513
  },
398
- "tool_call_id": {
399
- "name": "tool_call_id",
514
+ "status": {
515
+ "name": "status",
400
516
  "type": "text",
401
517
  "primaryKey": false,
402
- "notNull": false,
403
- "autoincrement": false
518
+ "notNull": true,
519
+ "autoincrement": false,
520
+ "default": "'proposed'"
404
521
  },
405
- "tokens_in": {
406
- "name": "tokens_in",
407
- "type": "integer",
522
+ "created_at": {
523
+ "name": "created_at",
524
+ "type": "text",
408
525
  "primaryKey": false,
409
- "notNull": false,
526
+ "notNull": true,
410
527
  "autoincrement": false
411
528
  },
412
- "tokens_out": {
413
- "name": "tokens_out",
529
+ "updated_at": {
530
+ "name": "updated_at",
531
+ "type": "text",
532
+ "primaryKey": false,
533
+ "notNull": true,
534
+ "autoincrement": false
535
+ }
536
+ },
537
+ "indexes": {
538
+ "lessons_status_updated_at_idx": {
539
+ "name": "lessons_status_updated_at_idx",
540
+ "columns": [
541
+ "status",
542
+ "updated_at"
543
+ ],
544
+ "isUnique": false
545
+ },
546
+ "lessons_workspace_updated_at_idx": {
547
+ "name": "lessons_workspace_updated_at_idx",
548
+ "columns": [
549
+ "workspace_id",
550
+ "updated_at"
551
+ ],
552
+ "isUnique": false
553
+ }
554
+ },
555
+ "foreignKeys": {
556
+ "lessons_workspace_id_workspaces_id_fk": {
557
+ "name": "lessons_workspace_id_workspaces_id_fk",
558
+ "tableFrom": "lessons",
559
+ "tableTo": "workspaces",
560
+ "columnsFrom": [
561
+ "workspace_id"
562
+ ],
563
+ "columnsTo": [
564
+ "id"
565
+ ],
566
+ "onDelete": "cascade",
567
+ "onUpdate": "no action"
568
+ },
569
+ "lessons_source_review_id_reviews_id_fk": {
570
+ "name": "lessons_source_review_id_reviews_id_fk",
571
+ "tableFrom": "lessons",
572
+ "tableTo": "reviews",
573
+ "columnsFrom": [
574
+ "source_review_id"
575
+ ],
576
+ "columnsTo": [
577
+ "id"
578
+ ],
579
+ "onDelete": "set null",
580
+ "onUpdate": "no action"
581
+ }
582
+ },
583
+ "compositePrimaryKeys": {},
584
+ "uniqueConstraints": {},
585
+ "checkConstraints": {}
586
+ },
587
+ "reviews": {
588
+ "name": "reviews",
589
+ "columns": {
590
+ "id": {
591
+ "name": "id",
592
+ "type": "text",
593
+ "primaryKey": true,
594
+ "notNull": true,
595
+ "autoincrement": false
596
+ },
597
+ "workspace_id": {
598
+ "name": "workspace_id",
599
+ "type": "text",
600
+ "primaryKey": false,
601
+ "notNull": true,
602
+ "autoincrement": false
603
+ },
604
+ "session_id": {
605
+ "name": "session_id",
606
+ "type": "text",
607
+ "primaryKey": false,
608
+ "notNull": false,
609
+ "autoincrement": false
610
+ },
611
+ "turn_id": {
612
+ "name": "turn_id",
613
+ "type": "text",
614
+ "primaryKey": false,
615
+ "notNull": false,
616
+ "autoincrement": false
617
+ },
618
+ "artifact_id": {
619
+ "name": "artifact_id",
620
+ "type": "text",
621
+ "primaryKey": false,
622
+ "notNull": false,
623
+ "autoincrement": false
624
+ },
625
+ "verdict": {
626
+ "name": "verdict",
627
+ "type": "text",
628
+ "primaryKey": false,
629
+ "notNull": true,
630
+ "autoincrement": false,
631
+ "default": "'needs_review'"
632
+ },
633
+ "findings_json": {
634
+ "name": "findings_json",
635
+ "type": "text",
636
+ "primaryKey": false,
637
+ "notNull": true,
638
+ "autoincrement": false
639
+ },
640
+ "risks_json": {
641
+ "name": "risks_json",
642
+ "type": "text",
643
+ "primaryKey": false,
644
+ "notNull": true,
645
+ "autoincrement": false
646
+ },
647
+ "created_at": {
648
+ "name": "created_at",
649
+ "type": "text",
650
+ "primaryKey": false,
651
+ "notNull": true,
652
+ "autoincrement": false
653
+ }
654
+ },
655
+ "indexes": {
656
+ "reviews_artifact_created_at_idx": {
657
+ "name": "reviews_artifact_created_at_idx",
658
+ "columns": [
659
+ "artifact_id",
660
+ "created_at"
661
+ ],
662
+ "isUnique": false
663
+ },
664
+ "reviews_session_created_at_idx": {
665
+ "name": "reviews_session_created_at_idx",
666
+ "columns": [
667
+ "session_id",
668
+ "created_at"
669
+ ],
670
+ "isUnique": false
671
+ },
672
+ "reviews_workspace_created_at_idx": {
673
+ "name": "reviews_workspace_created_at_idx",
674
+ "columns": [
675
+ "workspace_id",
676
+ "created_at"
677
+ ],
678
+ "isUnique": false
679
+ }
680
+ },
681
+ "foreignKeys": {
682
+ "reviews_workspace_id_workspaces_id_fk": {
683
+ "name": "reviews_workspace_id_workspaces_id_fk",
684
+ "tableFrom": "reviews",
685
+ "tableTo": "workspaces",
686
+ "columnsFrom": [
687
+ "workspace_id"
688
+ ],
689
+ "columnsTo": [
690
+ "id"
691
+ ],
692
+ "onDelete": "cascade",
693
+ "onUpdate": "no action"
694
+ },
695
+ "reviews_session_id_sessions_id_fk": {
696
+ "name": "reviews_session_id_sessions_id_fk",
697
+ "tableFrom": "reviews",
698
+ "tableTo": "sessions",
699
+ "columnsFrom": [
700
+ "session_id"
701
+ ],
702
+ "columnsTo": [
703
+ "id"
704
+ ],
705
+ "onDelete": "set null",
706
+ "onUpdate": "no action"
707
+ },
708
+ "reviews_turn_id_turns_id_fk": {
709
+ "name": "reviews_turn_id_turns_id_fk",
710
+ "tableFrom": "reviews",
711
+ "tableTo": "turns",
712
+ "columnsFrom": [
713
+ "turn_id"
714
+ ],
715
+ "columnsTo": [
716
+ "id"
717
+ ],
718
+ "onDelete": "set null",
719
+ "onUpdate": "no action"
720
+ },
721
+ "reviews_artifact_id_artifacts_id_fk": {
722
+ "name": "reviews_artifact_id_artifacts_id_fk",
723
+ "tableFrom": "reviews",
724
+ "tableTo": "artifacts",
725
+ "columnsFrom": [
726
+ "artifact_id"
727
+ ],
728
+ "columnsTo": [
729
+ "id"
730
+ ],
731
+ "onDelete": "set null",
732
+ "onUpdate": "no action"
733
+ }
734
+ },
735
+ "compositePrimaryKeys": {},
736
+ "uniqueConstraints": {},
737
+ "checkConstraints": {}
738
+ },
739
+ "session_events": {
740
+ "name": "session_events",
741
+ "columns": {
742
+ "id": {
743
+ "name": "id",
414
744
  "type": "integer",
745
+ "primaryKey": true,
746
+ "notNull": true,
747
+ "autoincrement": true
748
+ },
749
+ "session_id": {
750
+ "name": "session_id",
751
+ "type": "text",
752
+ "primaryKey": false,
753
+ "notNull": true,
754
+ "autoincrement": false
755
+ },
756
+ "turn_id": {
757
+ "name": "turn_id",
758
+ "type": "text",
415
759
  "primaryKey": false,
416
760
  "notNull": false,
417
761
  "autoincrement": false
418
762
  },
419
- "rich_metadata": {
420
- "name": "rich_metadata",
763
+ "invocation_id": {
764
+ "name": "invocation_id",
421
765
  "type": "text",
422
766
  "primaryKey": false,
423
767
  "notNull": false,
424
768
  "autoincrement": false
425
769
  },
426
- "created_at": {
427
- "name": "created_at",
770
+ "seq": {
771
+ "name": "seq",
772
+ "type": "integer",
773
+ "primaryKey": false,
774
+ "notNull": true,
775
+ "autoincrement": false
776
+ },
777
+ "type": {
778
+ "name": "type",
779
+ "type": "text",
780
+ "primaryKey": false,
781
+ "notNull": true,
782
+ "autoincrement": false
783
+ },
784
+ "payload_json": {
785
+ "name": "payload_json",
786
+ "type": "text",
787
+ "primaryKey": false,
788
+ "notNull": true,
789
+ "autoincrement": false
790
+ },
791
+ "created_at": {
792
+ "name": "created_at",
793
+ "type": "text",
794
+ "primaryKey": false,
795
+ "notNull": true,
796
+ "autoincrement": false
797
+ }
798
+ },
799
+ "indexes": {
800
+ "session_events_session_created_at_idx": {
801
+ "name": "session_events_session_created_at_idx",
802
+ "columns": [
803
+ "session_id",
804
+ "created_at"
805
+ ],
806
+ "isUnique": false
807
+ },
808
+ "session_events_session_seq_idx": {
809
+ "name": "session_events_session_seq_idx",
810
+ "columns": [
811
+ "session_id",
812
+ "seq"
813
+ ],
814
+ "isUnique": false
815
+ },
816
+ "session_events_session_seq_unique_idx": {
817
+ "name": "session_events_session_seq_unique_idx",
818
+ "columns": [
819
+ "session_id",
820
+ "seq"
821
+ ],
822
+ "isUnique": true
823
+ }
824
+ },
825
+ "foreignKeys": {
826
+ "session_events_session_id_sessions_id_fk": {
827
+ "name": "session_events_session_id_sessions_id_fk",
828
+ "tableFrom": "session_events",
829
+ "tableTo": "sessions",
830
+ "columnsFrom": [
831
+ "session_id"
832
+ ],
833
+ "columnsTo": [
834
+ "id"
835
+ ],
836
+ "onDelete": "cascade",
837
+ "onUpdate": "no action"
838
+ },
839
+ "session_events_turn_id_turns_id_fk": {
840
+ "name": "session_events_turn_id_turns_id_fk",
841
+ "tableFrom": "session_events",
842
+ "tableTo": "turns",
843
+ "columnsFrom": [
844
+ "turn_id"
845
+ ],
846
+ "columnsTo": [
847
+ "id"
848
+ ],
849
+ "onDelete": "set null",
850
+ "onUpdate": "no action"
851
+ },
852
+ "session_events_invocation_id_engine_invocations_id_fk": {
853
+ "name": "session_events_invocation_id_engine_invocations_id_fk",
854
+ "tableFrom": "session_events",
855
+ "tableTo": "engine_invocations",
856
+ "columnsFrom": [
857
+ "invocation_id"
858
+ ],
859
+ "columnsTo": [
860
+ "id"
861
+ ],
862
+ "onDelete": "set null",
863
+ "onUpdate": "no action"
864
+ }
865
+ },
866
+ "compositePrimaryKeys": {},
867
+ "uniqueConstraints": {},
868
+ "checkConstraints": {}
869
+ },
870
+ "sessions": {
871
+ "name": "sessions",
872
+ "columns": {
873
+ "id": {
874
+ "name": "id",
875
+ "type": "text",
876
+ "primaryKey": true,
877
+ "notNull": true,
878
+ "autoincrement": false
879
+ },
880
+ "worker_id": {
881
+ "name": "worker_id",
882
+ "type": "text",
883
+ "primaryKey": false,
884
+ "notNull": true,
885
+ "autoincrement": false
886
+ },
887
+ "workspace_id": {
888
+ "name": "workspace_id",
889
+ "type": "text",
890
+ "primaryKey": false,
891
+ "notNull": true,
892
+ "autoincrement": false
893
+ },
894
+ "capability_template_id": {
895
+ "name": "capability_template_id",
896
+ "type": "text",
897
+ "primaryKey": false,
898
+ "notNull": true,
899
+ "autoincrement": false
900
+ },
901
+ "title": {
902
+ "name": "title",
903
+ "type": "text",
904
+ "primaryKey": false,
905
+ "notNull": true,
906
+ "autoincrement": false
907
+ },
908
+ "context": {
909
+ "name": "context",
910
+ "type": "text",
911
+ "primaryKey": false,
912
+ "notNull": true,
913
+ "autoincrement": false,
914
+ "default": "''"
915
+ },
916
+ "status": {
917
+ "name": "status",
918
+ "type": "text",
919
+ "primaryKey": false,
920
+ "notNull": true,
921
+ "autoincrement": false,
922
+ "default": "'active'"
923
+ },
924
+ "metadata_json": {
925
+ "name": "metadata_json",
926
+ "type": "text",
927
+ "primaryKey": false,
928
+ "notNull": true,
929
+ "autoincrement": false
930
+ },
931
+ "started_at": {
932
+ "name": "started_at",
933
+ "type": "text",
934
+ "primaryKey": false,
935
+ "notNull": false,
936
+ "autoincrement": false
937
+ },
938
+ "ended_at": {
939
+ "name": "ended_at",
940
+ "type": "text",
941
+ "primaryKey": false,
942
+ "notNull": false,
943
+ "autoincrement": false
944
+ },
945
+ "created_at": {
946
+ "name": "created_at",
947
+ "type": "text",
948
+ "primaryKey": false,
949
+ "notNull": true,
950
+ "autoincrement": false
951
+ },
952
+ "updated_at": {
953
+ "name": "updated_at",
954
+ "type": "text",
955
+ "primaryKey": false,
956
+ "notNull": true,
957
+ "autoincrement": false
958
+ }
959
+ },
960
+ "indexes": {
961
+ "sessions_capability_updated_at_idx": {
962
+ "name": "sessions_capability_updated_at_idx",
963
+ "columns": [
964
+ "capability_template_id",
965
+ "updated_at"
966
+ ],
967
+ "isUnique": false
968
+ },
969
+ "sessions_status_updated_at_idx": {
970
+ "name": "sessions_status_updated_at_idx",
971
+ "columns": [
972
+ "status",
973
+ "updated_at"
974
+ ],
975
+ "isUnique": false
976
+ },
977
+ "sessions_worker_updated_at_idx": {
978
+ "name": "sessions_worker_updated_at_idx",
979
+ "columns": [
980
+ "worker_id",
981
+ "updated_at"
982
+ ],
983
+ "isUnique": false
984
+ },
985
+ "sessions_workspace_updated_at_idx": {
986
+ "name": "sessions_workspace_updated_at_idx",
987
+ "columns": [
988
+ "workspace_id",
989
+ "updated_at"
990
+ ],
991
+ "isUnique": false
992
+ }
993
+ },
994
+ "foreignKeys": {
995
+ "sessions_worker_id_workers_id_fk": {
996
+ "name": "sessions_worker_id_workers_id_fk",
997
+ "tableFrom": "sessions",
998
+ "tableTo": "workers",
999
+ "columnsFrom": [
1000
+ "worker_id"
1001
+ ],
1002
+ "columnsTo": [
1003
+ "id"
1004
+ ],
1005
+ "onDelete": "cascade",
1006
+ "onUpdate": "no action"
1007
+ },
1008
+ "sessions_workspace_id_workspaces_id_fk": {
1009
+ "name": "sessions_workspace_id_workspaces_id_fk",
1010
+ "tableFrom": "sessions",
1011
+ "tableTo": "workspaces",
1012
+ "columnsFrom": [
1013
+ "workspace_id"
1014
+ ],
1015
+ "columnsTo": [
1016
+ "id"
1017
+ ],
1018
+ "onDelete": "cascade",
1019
+ "onUpdate": "no action"
1020
+ }
1021
+ },
1022
+ "compositePrimaryKeys": {},
1023
+ "uniqueConstraints": {},
1024
+ "checkConstraints": {}
1025
+ },
1026
+ "settings": {
1027
+ "name": "settings",
1028
+ "columns": {
1029
+ "key": {
1030
+ "name": "key",
1031
+ "type": "text",
1032
+ "primaryKey": true,
1033
+ "notNull": true,
1034
+ "autoincrement": false
1035
+ },
1036
+ "value_json": {
1037
+ "name": "value_json",
1038
+ "type": "text",
1039
+ "primaryKey": false,
1040
+ "notNull": true,
1041
+ "autoincrement": false
1042
+ },
1043
+ "updated_at": {
1044
+ "name": "updated_at",
1045
+ "type": "text",
1046
+ "primaryKey": false,
1047
+ "notNull": true,
1048
+ "autoincrement": false
1049
+ }
1050
+ },
1051
+ "indexes": {},
1052
+ "foreignKeys": {},
1053
+ "compositePrimaryKeys": {},
1054
+ "uniqueConstraints": {},
1055
+ "checkConstraints": {}
1056
+ },
1057
+ "soul_app_audit_events": {
1058
+ "name": "soul_app_audit_events",
1059
+ "columns": {
1060
+ "id": {
1061
+ "name": "id",
1062
+ "type": "integer",
1063
+ "primaryKey": true,
1064
+ "notNull": true,
1065
+ "autoincrement": true
1066
+ },
1067
+ "app_id": {
1068
+ "name": "app_id",
1069
+ "type": "text",
1070
+ "primaryKey": false,
1071
+ "notNull": true,
1072
+ "autoincrement": false
1073
+ },
1074
+ "action": {
1075
+ "name": "action",
1076
+ "type": "text",
1077
+ "primaryKey": false,
1078
+ "notNull": true,
1079
+ "autoincrement": false
1080
+ },
1081
+ "target_kind": {
1082
+ "name": "target_kind",
1083
+ "type": "text",
1084
+ "primaryKey": false,
1085
+ "notNull": true,
1086
+ "autoincrement": false
1087
+ },
1088
+ "target": {
1089
+ "name": "target",
1090
+ "type": "text",
1091
+ "primaryKey": false,
1092
+ "notNull": true,
1093
+ "autoincrement": false
1094
+ },
1095
+ "decision": {
1096
+ "name": "decision",
1097
+ "type": "text",
1098
+ "primaryKey": false,
1099
+ "notNull": true,
1100
+ "autoincrement": false
1101
+ },
1102
+ "reason": {
1103
+ "name": "reason",
1104
+ "type": "text",
1105
+ "primaryKey": false,
1106
+ "notNull": true,
1107
+ "autoincrement": false
1108
+ },
1109
+ "worker_id": {
1110
+ "name": "worker_id",
1111
+ "type": "text",
1112
+ "primaryKey": false,
1113
+ "notNull": false,
1114
+ "autoincrement": false
1115
+ },
1116
+ "workspace_id": {
1117
+ "name": "workspace_id",
1118
+ "type": "text",
1119
+ "primaryKey": false,
1120
+ "notNull": false,
1121
+ "autoincrement": false
1122
+ },
1123
+ "session_id": {
1124
+ "name": "session_id",
1125
+ "type": "text",
1126
+ "primaryKey": false,
1127
+ "notNull": false,
1128
+ "autoincrement": false
1129
+ },
1130
+ "operator_id": {
1131
+ "name": "operator_id",
1132
+ "type": "text",
1133
+ "primaryKey": false,
1134
+ "notNull": false,
1135
+ "autoincrement": false
1136
+ },
1137
+ "request_json": {
1138
+ "name": "request_json",
1139
+ "type": "text",
1140
+ "primaryKey": false,
1141
+ "notNull": true,
1142
+ "autoincrement": false
1143
+ },
1144
+ "created_at": {
1145
+ "name": "created_at",
1146
+ "type": "text",
1147
+ "primaryKey": false,
1148
+ "notNull": true,
1149
+ "autoincrement": false
1150
+ }
1151
+ },
1152
+ "indexes": {
1153
+ "soul_app_audit_app_created_at_idx": {
1154
+ "name": "soul_app_audit_app_created_at_idx",
1155
+ "columns": [
1156
+ "app_id",
1157
+ "created_at"
1158
+ ],
1159
+ "isUnique": false
1160
+ },
1161
+ "soul_app_audit_context_idx": {
1162
+ "name": "soul_app_audit_context_idx",
1163
+ "columns": [
1164
+ "workspace_id",
1165
+ "session_id"
1166
+ ],
1167
+ "isUnique": false
1168
+ },
1169
+ "soul_app_audit_target_idx": {
1170
+ "name": "soul_app_audit_target_idx",
1171
+ "columns": [
1172
+ "target_kind",
1173
+ "target"
1174
+ ],
1175
+ "isUnique": false
1176
+ }
1177
+ },
1178
+ "foreignKeys": {
1179
+ "soul_app_audit_events_app_id_soul_apps_id_fk": {
1180
+ "name": "soul_app_audit_events_app_id_soul_apps_id_fk",
1181
+ "tableFrom": "soul_app_audit_events",
1182
+ "tableTo": "soul_apps",
1183
+ "columnsFrom": [
1184
+ "app_id"
1185
+ ],
1186
+ "columnsTo": [
1187
+ "id"
1188
+ ],
1189
+ "onDelete": "cascade",
1190
+ "onUpdate": "no action"
1191
+ },
1192
+ "soul_app_audit_events_worker_id_workers_id_fk": {
1193
+ "name": "soul_app_audit_events_worker_id_workers_id_fk",
1194
+ "tableFrom": "soul_app_audit_events",
1195
+ "tableTo": "workers",
1196
+ "columnsFrom": [
1197
+ "worker_id"
1198
+ ],
1199
+ "columnsTo": [
1200
+ "id"
1201
+ ],
1202
+ "onDelete": "set null",
1203
+ "onUpdate": "no action"
1204
+ },
1205
+ "soul_app_audit_events_workspace_id_workspaces_id_fk": {
1206
+ "name": "soul_app_audit_events_workspace_id_workspaces_id_fk",
1207
+ "tableFrom": "soul_app_audit_events",
1208
+ "tableTo": "workspaces",
1209
+ "columnsFrom": [
1210
+ "workspace_id"
1211
+ ],
1212
+ "columnsTo": [
1213
+ "id"
1214
+ ],
1215
+ "onDelete": "set null",
1216
+ "onUpdate": "no action"
1217
+ },
1218
+ "soul_app_audit_events_session_id_sessions_id_fk": {
1219
+ "name": "soul_app_audit_events_session_id_sessions_id_fk",
1220
+ "tableFrom": "soul_app_audit_events",
1221
+ "tableTo": "sessions",
1222
+ "columnsFrom": [
1223
+ "session_id"
1224
+ ],
1225
+ "columnsTo": [
1226
+ "id"
1227
+ ],
1228
+ "onDelete": "set null",
1229
+ "onUpdate": "no action"
1230
+ }
1231
+ },
1232
+ "compositePrimaryKeys": {},
1233
+ "uniqueConstraints": {},
1234
+ "checkConstraints": {}
1235
+ },
1236
+ "soul_app_storage_records": {
1237
+ "name": "soul_app_storage_records",
1238
+ "columns": {
1239
+ "id": {
1240
+ "name": "id",
1241
+ "type": "text",
1242
+ "primaryKey": true,
1243
+ "notNull": true,
1244
+ "autoincrement": false
1245
+ },
1246
+ "app_id": {
1247
+ "name": "app_id",
1248
+ "type": "text",
1249
+ "primaryKey": false,
1250
+ "notNull": true,
1251
+ "autoincrement": false
1252
+ },
1253
+ "namespace": {
1254
+ "name": "namespace",
1255
+ "type": "text",
1256
+ "primaryKey": false,
1257
+ "notNull": true,
1258
+ "autoincrement": false
1259
+ },
1260
+ "key": {
1261
+ "name": "key",
1262
+ "type": "text",
1263
+ "primaryKey": false,
1264
+ "notNull": true,
1265
+ "autoincrement": false
1266
+ },
1267
+ "value_json": {
1268
+ "name": "value_json",
1269
+ "type": "text",
1270
+ "primaryKey": false,
1271
+ "notNull": true,
1272
+ "autoincrement": false
1273
+ },
1274
+ "worker_id": {
1275
+ "name": "worker_id",
1276
+ "type": "text",
1277
+ "primaryKey": false,
1278
+ "notNull": false,
1279
+ "autoincrement": false
1280
+ },
1281
+ "workspace_id": {
1282
+ "name": "workspace_id",
1283
+ "type": "text",
1284
+ "primaryKey": false,
1285
+ "notNull": false,
1286
+ "autoincrement": false
1287
+ },
1288
+ "session_id": {
1289
+ "name": "session_id",
1290
+ "type": "text",
1291
+ "primaryKey": false,
1292
+ "notNull": false,
1293
+ "autoincrement": false
1294
+ },
1295
+ "operator_id": {
1296
+ "name": "operator_id",
1297
+ "type": "text",
1298
+ "primaryKey": false,
1299
+ "notNull": false,
1300
+ "autoincrement": false
1301
+ },
1302
+ "created_at": {
1303
+ "name": "created_at",
1304
+ "type": "text",
1305
+ "primaryKey": false,
1306
+ "notNull": true,
1307
+ "autoincrement": false
1308
+ },
1309
+ "updated_at": {
1310
+ "name": "updated_at",
1311
+ "type": "text",
1312
+ "primaryKey": false,
1313
+ "notNull": true,
1314
+ "autoincrement": false
1315
+ }
1316
+ },
1317
+ "indexes": {
1318
+ "soul_app_storage_app_key_idx": {
1319
+ "name": "soul_app_storage_app_key_idx",
1320
+ "columns": [
1321
+ "app_id",
1322
+ "key"
1323
+ ],
1324
+ "isUnique": true
1325
+ },
1326
+ "soul_app_storage_app_updated_at_idx": {
1327
+ "name": "soul_app_storage_app_updated_at_idx",
1328
+ "columns": [
1329
+ "app_id",
1330
+ "updated_at"
1331
+ ],
1332
+ "isUnique": false
1333
+ },
1334
+ "soul_app_storage_namespace_idx": {
1335
+ "name": "soul_app_storage_namespace_idx",
1336
+ "columns": [
1337
+ "namespace"
1338
+ ],
1339
+ "isUnique": false
1340
+ },
1341
+ "soul_app_storage_workspace_idx": {
1342
+ "name": "soul_app_storage_workspace_idx",
1343
+ "columns": [
1344
+ "workspace_id"
1345
+ ],
1346
+ "isUnique": false
1347
+ }
1348
+ },
1349
+ "foreignKeys": {
1350
+ "soul_app_storage_records_app_id_soul_apps_id_fk": {
1351
+ "name": "soul_app_storage_records_app_id_soul_apps_id_fk",
1352
+ "tableFrom": "soul_app_storage_records",
1353
+ "tableTo": "soul_apps",
1354
+ "columnsFrom": [
1355
+ "app_id"
1356
+ ],
1357
+ "columnsTo": [
1358
+ "id"
1359
+ ],
1360
+ "onDelete": "cascade",
1361
+ "onUpdate": "no action"
1362
+ },
1363
+ "soul_app_storage_records_worker_id_workers_id_fk": {
1364
+ "name": "soul_app_storage_records_worker_id_workers_id_fk",
1365
+ "tableFrom": "soul_app_storage_records",
1366
+ "tableTo": "workers",
1367
+ "columnsFrom": [
1368
+ "worker_id"
1369
+ ],
1370
+ "columnsTo": [
1371
+ "id"
1372
+ ],
1373
+ "onDelete": "set null",
1374
+ "onUpdate": "no action"
1375
+ },
1376
+ "soul_app_storage_records_workspace_id_workspaces_id_fk": {
1377
+ "name": "soul_app_storage_records_workspace_id_workspaces_id_fk",
1378
+ "tableFrom": "soul_app_storage_records",
1379
+ "tableTo": "workspaces",
1380
+ "columnsFrom": [
1381
+ "workspace_id"
1382
+ ],
1383
+ "columnsTo": [
1384
+ "id"
1385
+ ],
1386
+ "onDelete": "set null",
1387
+ "onUpdate": "no action"
1388
+ },
1389
+ "soul_app_storage_records_session_id_sessions_id_fk": {
1390
+ "name": "soul_app_storage_records_session_id_sessions_id_fk",
1391
+ "tableFrom": "soul_app_storage_records",
1392
+ "tableTo": "sessions",
1393
+ "columnsFrom": [
1394
+ "session_id"
1395
+ ],
1396
+ "columnsTo": [
1397
+ "id"
1398
+ ],
1399
+ "onDelete": "set null",
1400
+ "onUpdate": "no action"
1401
+ }
1402
+ },
1403
+ "compositePrimaryKeys": {},
1404
+ "uniqueConstraints": {},
1405
+ "checkConstraints": {}
1406
+ },
1407
+ "soul_apps": {
1408
+ "name": "soul_apps",
1409
+ "columns": {
1410
+ "id": {
1411
+ "name": "id",
1412
+ "type": "text",
1413
+ "primaryKey": true,
1414
+ "notNull": true,
1415
+ "autoincrement": false
1416
+ },
1417
+ "name": {
1418
+ "name": "name",
1419
+ "type": "text",
1420
+ "primaryKey": false,
1421
+ "notNull": true,
1422
+ "autoincrement": false
1423
+ },
1424
+ "version": {
1425
+ "name": "version",
1426
+ "type": "text",
1427
+ "primaryKey": false,
1428
+ "notNull": true,
1429
+ "autoincrement": false
1430
+ },
1431
+ "protocol": {
1432
+ "name": "protocol",
1433
+ "type": "text",
1434
+ "primaryKey": false,
1435
+ "notNull": true,
1436
+ "autoincrement": false
1437
+ },
1438
+ "soul_id": {
1439
+ "name": "soul_id",
1440
+ "type": "text",
1441
+ "primaryKey": false,
1442
+ "notNull": true,
1443
+ "autoincrement": false
1444
+ },
1445
+ "status": {
1446
+ "name": "status",
1447
+ "type": "text",
1448
+ "primaryKey": false,
1449
+ "notNull": true,
1450
+ "autoincrement": false,
1451
+ "default": "'installed'"
1452
+ },
1453
+ "source_kind": {
1454
+ "name": "source_kind",
1455
+ "type": "text",
1456
+ "primaryKey": false,
1457
+ "notNull": true,
1458
+ "autoincrement": false
1459
+ },
1460
+ "source_ref": {
1461
+ "name": "source_ref",
1462
+ "type": "text",
1463
+ "primaryKey": false,
1464
+ "notNull": true,
1465
+ "autoincrement": false
1466
+ },
1467
+ "manifest_digest": {
1468
+ "name": "manifest_digest",
1469
+ "type": "text",
1470
+ "primaryKey": false,
1471
+ "notNull": true,
1472
+ "autoincrement": false
1473
+ },
1474
+ "manifest_json": {
1475
+ "name": "manifest_json",
1476
+ "type": "text",
1477
+ "primaryKey": false,
1478
+ "notNull": true,
1479
+ "autoincrement": false
1480
+ },
1481
+ "validation_issues_json": {
1482
+ "name": "validation_issues_json",
428
1483
  "type": "text",
429
1484
  "primaryKey": false,
430
1485
  "notNull": true,
431
1486
  "autoincrement": false
432
- }
433
- },
434
- "indexes": {},
435
- "foreignKeys": {
436
- "messages_conversation_id_conversations_id_fk": {
437
- "name": "messages_conversation_id_conversations_id_fk",
438
- "tableFrom": "messages",
439
- "tableTo": "conversations",
440
- "columnsFrom": [
441
- "conversation_id"
442
- ],
443
- "columnsTo": [
444
- "id"
445
- ],
446
- "onDelete": "cascade",
447
- "onUpdate": "no action"
448
- }
449
- },
450
- "compositePrimaryKeys": {},
451
- "uniqueConstraints": {},
452
- "checkConstraints": {}
453
- },
454
- "skill_bindings": {
455
- "name": "skill_bindings",
456
- "columns": {
457
- "id": {
458
- "name": "id",
459
- "type": "integer",
460
- "primaryKey": true,
461
- "notNull": true,
462
- "autoincrement": true
463
1487
  },
464
- "source": {
465
- "name": "source",
1488
+ "health_status": {
1489
+ "name": "health_status",
466
1490
  "type": "text",
467
1491
  "primaryKey": false,
468
1492
  "notNull": true,
469
- "autoincrement": false
1493
+ "autoincrement": false,
1494
+ "default": "'unknown'"
470
1495
  },
471
- "brain_name": {
472
- "name": "brain_name",
1496
+ "health_message": {
1497
+ "name": "health_message",
473
1498
  "type": "text",
474
1499
  "primaryKey": false,
475
1500
  "notNull": false,
476
1501
  "autoincrement": false
477
1502
  },
478
- "skill_name": {
479
- "name": "skill_name",
1503
+ "installed_at": {
1504
+ "name": "installed_at",
480
1505
  "type": "text",
481
1506
  "primaryKey": false,
482
1507
  "notNull": true,
483
1508
  "autoincrement": false
484
1509
  },
485
- "enabled": {
486
- "name": "enabled",
487
- "type": "integer",
1510
+ "enabled_at": {
1511
+ "name": "enabled_at",
1512
+ "type": "text",
488
1513
  "primaryKey": false,
489
- "notNull": true,
490
- "autoincrement": false,
491
- "default": true
1514
+ "notNull": false,
1515
+ "autoincrement": false
492
1516
  },
493
- "priority": {
494
- "name": "priority",
495
- "type": "integer",
1517
+ "disabled_at": {
1518
+ "name": "disabled_at",
1519
+ "type": "text",
496
1520
  "primaryKey": false,
497
- "notNull": true,
498
- "autoincrement": false,
499
- "default": 0
1521
+ "notNull": false,
1522
+ "autoincrement": false
500
1523
  },
501
- "config": {
502
- "name": "config",
1524
+ "last_healthcheck_at": {
1525
+ "name": "last_healthcheck_at",
503
1526
  "type": "text",
504
1527
  "primaryKey": false,
505
1528
  "notNull": false,
@@ -521,14 +1544,27 @@
521
1544
  }
522
1545
  },
523
1546
  "indexes": {
524
- "skill_bindings_source_brain_name_idx": {
525
- "name": "skill_bindings_source_brain_name_idx",
1547
+ "soul_apps_manifest_digest_idx": {
1548
+ "name": "soul_apps_manifest_digest_idx",
526
1549
  "columns": [
527
- "source",
528
- "brain_name",
529
- "skill_name"
1550
+ "manifest_digest"
530
1551
  ],
531
- "isUnique": true
1552
+ "isUnique": false
1553
+ },
1554
+ "soul_apps_soul_idx": {
1555
+ "name": "soul_apps_soul_idx",
1556
+ "columns": [
1557
+ "soul_id"
1558
+ ],
1559
+ "isUnique": false
1560
+ },
1561
+ "soul_apps_status_updated_at_idx": {
1562
+ "name": "soul_apps_status_updated_at_idx",
1563
+ "columns": [
1564
+ "status",
1565
+ "updated_at"
1566
+ ],
1567
+ "isUnique": false
532
1568
  }
533
1569
  },
534
1570
  "foreignKeys": {},
@@ -536,44 +1572,43 @@
536
1572
  "uniqueConstraints": {},
537
1573
  "checkConstraints": {}
538
1574
  },
539
- "skill_drafts": {
540
- "name": "skill_drafts",
1575
+ "turns": {
1576
+ "name": "turns",
541
1577
  "columns": {
542
1578
  "id": {
543
1579
  "name": "id",
544
- "type": "integer",
1580
+ "type": "text",
545
1581
  "primaryKey": true,
546
1582
  "notNull": true,
547
- "autoincrement": true
1583
+ "autoincrement": false
548
1584
  },
549
- "proposed_name": {
550
- "name": "proposed_name",
1585
+ "session_id": {
1586
+ "name": "session_id",
551
1587
  "type": "text",
552
1588
  "primaryKey": false,
553
1589
  "notNull": true,
554
1590
  "autoincrement": false
555
1591
  },
556
- "source": {
557
- "name": "source",
558
- "type": "text",
1592
+ "seq": {
1593
+ "name": "seq",
1594
+ "type": "integer",
559
1595
  "primaryKey": false,
560
1596
  "notNull": true,
561
1597
  "autoincrement": false
562
1598
  },
563
- "body_markdown": {
564
- "name": "body_markdown",
1599
+ "input": {
1600
+ "name": "input",
565
1601
  "type": "text",
566
1602
  "primaryKey": false,
567
1603
  "notNull": true,
568
1604
  "autoincrement": false
569
1605
  },
570
- "rationale": {
571
- "name": "rationale",
1606
+ "response": {
1607
+ "name": "response",
572
1608
  "type": "text",
573
1609
  "primaryKey": false,
574
- "notNull": true,
575
- "autoincrement": false,
576
- "default": "''"
1610
+ "notNull": false,
1611
+ "autoincrement": false
577
1612
  },
578
1613
  "status": {
579
1614
  "name": "status",
@@ -581,32 +1616,78 @@
581
1616
  "primaryKey": false,
582
1617
  "notNull": true,
583
1618
  "autoincrement": false,
584
- "default": "'pending'"
1619
+ "default": "'queued'"
585
1620
  },
586
- "created_at": {
587
- "name": "created_at",
1621
+ "error": {
1622
+ "name": "error",
1623
+ "type": "text",
1624
+ "primaryKey": false,
1625
+ "notNull": false,
1626
+ "autoincrement": false
1627
+ },
1628
+ "metadata_json": {
1629
+ "name": "metadata_json",
588
1630
  "type": "text",
589
1631
  "primaryKey": false,
590
1632
  "notNull": true,
591
1633
  "autoincrement": false
592
1634
  },
593
- "decided_at": {
594
- "name": "decided_at",
1635
+ "created_at": {
1636
+ "name": "created_at",
595
1637
  "type": "text",
596
1638
  "primaryKey": false,
597
- "notNull": false,
1639
+ "notNull": true,
598
1640
  "autoincrement": false
599
1641
  },
600
- "decided_by": {
601
- "name": "decided_by",
1642
+ "updated_at": {
1643
+ "name": "updated_at",
602
1644
  "type": "text",
603
1645
  "primaryKey": false,
604
- "notNull": false,
1646
+ "notNull": true,
605
1647
  "autoincrement": false
606
1648
  }
607
1649
  },
608
- "indexes": {},
609
- "foreignKeys": {},
1650
+ "indexes": {
1651
+ "turns_session_seq_idx": {
1652
+ "name": "turns_session_seq_idx",
1653
+ "columns": [
1654
+ "session_id",
1655
+ "seq"
1656
+ ],
1657
+ "isUnique": false
1658
+ },
1659
+ "turns_session_seq_unique_idx": {
1660
+ "name": "turns_session_seq_unique_idx",
1661
+ "columns": [
1662
+ "session_id",
1663
+ "seq"
1664
+ ],
1665
+ "isUnique": true
1666
+ },
1667
+ "turns_status_updated_at_idx": {
1668
+ "name": "turns_status_updated_at_idx",
1669
+ "columns": [
1670
+ "status",
1671
+ "updated_at"
1672
+ ],
1673
+ "isUnique": false
1674
+ }
1675
+ },
1676
+ "foreignKeys": {
1677
+ "turns_session_id_sessions_id_fk": {
1678
+ "name": "turns_session_id_sessions_id_fk",
1679
+ "tableFrom": "turns",
1680
+ "tableTo": "sessions",
1681
+ "columnsFrom": [
1682
+ "session_id"
1683
+ ],
1684
+ "columnsTo": [
1685
+ "id"
1686
+ ],
1687
+ "onDelete": "cascade",
1688
+ "onUpdate": "no action"
1689
+ }
1690
+ },
610
1691
  "compositePrimaryKeys": {},
611
1692
  "uniqueConstraints": {},
612
1693
  "checkConstraints": {}
@@ -799,6 +1880,209 @@
799
1880
  "compositePrimaryKeys": {},
800
1881
  "uniqueConstraints": {},
801
1882
  "checkConstraints": {}
1883
+ },
1884
+ "workers": {
1885
+ "name": "workers",
1886
+ "columns": {
1887
+ "id": {
1888
+ "name": "id",
1889
+ "type": "text",
1890
+ "primaryKey": true,
1891
+ "notNull": true,
1892
+ "autoincrement": false
1893
+ },
1894
+ "soul_id": {
1895
+ "name": "soul_id",
1896
+ "type": "text",
1897
+ "primaryKey": false,
1898
+ "notNull": true,
1899
+ "autoincrement": false
1900
+ },
1901
+ "name": {
1902
+ "name": "name",
1903
+ "type": "text",
1904
+ "primaryKey": false,
1905
+ "notNull": true,
1906
+ "autoincrement": false
1907
+ },
1908
+ "status": {
1909
+ "name": "status",
1910
+ "type": "text",
1911
+ "primaryKey": false,
1912
+ "notNull": true,
1913
+ "autoincrement": false,
1914
+ "default": "'active'"
1915
+ },
1916
+ "default_engine_id": {
1917
+ "name": "default_engine_id",
1918
+ "type": "text",
1919
+ "primaryKey": false,
1920
+ "notNull": false,
1921
+ "autoincrement": false
1922
+ },
1923
+ "metadata_json": {
1924
+ "name": "metadata_json",
1925
+ "type": "text",
1926
+ "primaryKey": false,
1927
+ "notNull": true,
1928
+ "autoincrement": false
1929
+ },
1930
+ "created_at": {
1931
+ "name": "created_at",
1932
+ "type": "text",
1933
+ "primaryKey": false,
1934
+ "notNull": true,
1935
+ "autoincrement": false
1936
+ },
1937
+ "updated_at": {
1938
+ "name": "updated_at",
1939
+ "type": "text",
1940
+ "primaryKey": false,
1941
+ "notNull": true,
1942
+ "autoincrement": false
1943
+ }
1944
+ },
1945
+ "indexes": {
1946
+ "workers_soul_idx": {
1947
+ "name": "workers_soul_idx",
1948
+ "columns": [
1949
+ "soul_id"
1950
+ ],
1951
+ "isUnique": false
1952
+ },
1953
+ "workers_status_updated_at_idx": {
1954
+ "name": "workers_status_updated_at_idx",
1955
+ "columns": [
1956
+ "status",
1957
+ "updated_at"
1958
+ ],
1959
+ "isUnique": false
1960
+ }
1961
+ },
1962
+ "foreignKeys": {},
1963
+ "compositePrimaryKeys": {},
1964
+ "uniqueConstraints": {},
1965
+ "checkConstraints": {}
1966
+ },
1967
+ "workspaces": {
1968
+ "name": "workspaces",
1969
+ "columns": {
1970
+ "id": {
1971
+ "name": "id",
1972
+ "type": "text",
1973
+ "primaryKey": true,
1974
+ "notNull": true,
1975
+ "autoincrement": false
1976
+ },
1977
+ "worker_id": {
1978
+ "name": "worker_id",
1979
+ "type": "text",
1980
+ "primaryKey": false,
1981
+ "notNull": true,
1982
+ "autoincrement": false
1983
+ },
1984
+ "name": {
1985
+ "name": "name",
1986
+ "type": "text",
1987
+ "primaryKey": false,
1988
+ "notNull": true,
1989
+ "autoincrement": false
1990
+ },
1991
+ "root_path": {
1992
+ "name": "root_path",
1993
+ "type": "text",
1994
+ "primaryKey": false,
1995
+ "notNull": true,
1996
+ "autoincrement": false
1997
+ },
1998
+ "type": {
1999
+ "name": "type",
2000
+ "type": "text",
2001
+ "primaryKey": false,
2002
+ "notNull": true,
2003
+ "autoincrement": false,
2004
+ "default": "'workspace'"
2005
+ },
2006
+ "status": {
2007
+ "name": "status",
2008
+ "type": "text",
2009
+ "primaryKey": false,
2010
+ "notNull": true,
2011
+ "autoincrement": false,
2012
+ "default": "'active'"
2013
+ },
2014
+ "source_pointers_json": {
2015
+ "name": "source_pointers_json",
2016
+ "type": "text",
2017
+ "primaryKey": false,
2018
+ "notNull": true,
2019
+ "autoincrement": false
2020
+ },
2021
+ "metadata_json": {
2022
+ "name": "metadata_json",
2023
+ "type": "text",
2024
+ "primaryKey": false,
2025
+ "notNull": true,
2026
+ "autoincrement": false
2027
+ },
2028
+ "created_at": {
2029
+ "name": "created_at",
2030
+ "type": "text",
2031
+ "primaryKey": false,
2032
+ "notNull": true,
2033
+ "autoincrement": false
2034
+ },
2035
+ "updated_at": {
2036
+ "name": "updated_at",
2037
+ "type": "text",
2038
+ "primaryKey": false,
2039
+ "notNull": true,
2040
+ "autoincrement": false
2041
+ }
2042
+ },
2043
+ "indexes": {
2044
+ "workspaces_root_path_idx": {
2045
+ "name": "workspaces_root_path_idx",
2046
+ "columns": [
2047
+ "root_path"
2048
+ ],
2049
+ "isUnique": true
2050
+ },
2051
+ "workspaces_status_updated_at_idx": {
2052
+ "name": "workspaces_status_updated_at_idx",
2053
+ "columns": [
2054
+ "status",
2055
+ "updated_at"
2056
+ ],
2057
+ "isUnique": false
2058
+ },
2059
+ "workspaces_worker_updated_at_idx": {
2060
+ "name": "workspaces_worker_updated_at_idx",
2061
+ "columns": [
2062
+ "worker_id",
2063
+ "updated_at"
2064
+ ],
2065
+ "isUnique": false
2066
+ }
2067
+ },
2068
+ "foreignKeys": {
2069
+ "workspaces_worker_id_workers_id_fk": {
2070
+ "name": "workspaces_worker_id_workers_id_fk",
2071
+ "tableFrom": "workspaces",
2072
+ "tableTo": "workers",
2073
+ "columnsFrom": [
2074
+ "worker_id"
2075
+ ],
2076
+ "columnsTo": [
2077
+ "id"
2078
+ ],
2079
+ "onDelete": "cascade",
2080
+ "onUpdate": "no action"
2081
+ }
2082
+ },
2083
+ "compositePrimaryKeys": {},
2084
+ "uniqueConstraints": {},
2085
+ "checkConstraints": {}
802
2086
  }
803
2087
  },
804
2088
  "views": {},