@wopr-network/defcon 0.2.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 (243) hide show
  1. package/README.md +274 -0
  2. package/dist/api/router.d.ts +24 -0
  3. package/dist/api/router.js +44 -0
  4. package/dist/api/server.d.ts +13 -0
  5. package/dist/api/server.js +280 -0
  6. package/dist/api/wire-types.d.ts +46 -0
  7. package/dist/api/wire-types.js +5 -0
  8. package/dist/config/db-path.d.ts +1 -0
  9. package/dist/config/db-path.js +1 -0
  10. package/dist/config/exporter.d.ts +3 -0
  11. package/dist/config/exporter.js +87 -0
  12. package/dist/config/index.d.ts +4 -0
  13. package/dist/config/index.js +4 -0
  14. package/dist/config/seed-loader.d.ts +10 -0
  15. package/dist/config/seed-loader.js +108 -0
  16. package/dist/config/zod-schemas.d.ts +165 -0
  17. package/dist/config/zod-schemas.js +283 -0
  18. package/dist/cors.d.ts +8 -0
  19. package/dist/cors.js +21 -0
  20. package/dist/engine/constants.d.ts +1 -0
  21. package/dist/engine/constants.js +1 -0
  22. package/dist/engine/engine.d.ts +69 -0
  23. package/dist/engine/engine.js +485 -0
  24. package/dist/engine/event-emitter.d.ts +9 -0
  25. package/dist/engine/event-emitter.js +19 -0
  26. package/dist/engine/event-types.d.ts +105 -0
  27. package/dist/engine/event-types.js +1 -0
  28. package/dist/engine/flow-spawner.d.ts +8 -0
  29. package/dist/engine/flow-spawner.js +28 -0
  30. package/dist/engine/gate-command-validator.d.ts +6 -0
  31. package/dist/engine/gate-command-validator.js +46 -0
  32. package/dist/engine/gate-evaluator.d.ts +12 -0
  33. package/dist/engine/gate-evaluator.js +233 -0
  34. package/dist/engine/handlebars.d.ts +9 -0
  35. package/dist/engine/handlebars.js +51 -0
  36. package/dist/engine/index.d.ts +12 -0
  37. package/dist/engine/index.js +7 -0
  38. package/dist/engine/invocation-builder.d.ts +18 -0
  39. package/dist/engine/invocation-builder.js +58 -0
  40. package/dist/engine/on-enter.d.ts +8 -0
  41. package/dist/engine/on-enter.js +102 -0
  42. package/dist/engine/ssrf-guard.d.ts +22 -0
  43. package/dist/engine/ssrf-guard.js +159 -0
  44. package/dist/engine/state-machine.d.ts +12 -0
  45. package/dist/engine/state-machine.js +74 -0
  46. package/dist/execution/active-runner.d.ts +45 -0
  47. package/dist/execution/active-runner.js +165 -0
  48. package/dist/execution/admin-schemas.d.ts +116 -0
  49. package/dist/execution/admin-schemas.js +125 -0
  50. package/dist/execution/cli.d.ts +57 -0
  51. package/dist/execution/cli.js +498 -0
  52. package/dist/execution/handlers/admin.d.ts +67 -0
  53. package/dist/execution/handlers/admin.js +200 -0
  54. package/dist/execution/handlers/flow.d.ts +25 -0
  55. package/dist/execution/handlers/flow.js +289 -0
  56. package/dist/execution/handlers/query.d.ts +31 -0
  57. package/dist/execution/handlers/query.js +64 -0
  58. package/dist/execution/index.d.ts +4 -0
  59. package/dist/execution/index.js +3 -0
  60. package/dist/execution/mcp-helpers.d.ts +42 -0
  61. package/dist/execution/mcp-helpers.js +23 -0
  62. package/dist/execution/mcp-server.d.ts +33 -0
  63. package/dist/execution/mcp-server.js +1020 -0
  64. package/dist/execution/provision-worktree.d.ts +16 -0
  65. package/dist/execution/provision-worktree.js +123 -0
  66. package/dist/execution/tool-schemas.d.ts +40 -0
  67. package/dist/execution/tool-schemas.js +44 -0
  68. package/dist/gates/blocking-graph.d.ts +26 -0
  69. package/dist/gates/blocking-graph.js +102 -0
  70. package/dist/gates/test/bad-return-gate.d.ts +1 -0
  71. package/dist/gates/test/bad-return-gate.js +4 -0
  72. package/dist/gates/test/passing-gate.d.ts +2 -0
  73. package/dist/gates/test/passing-gate.js +3 -0
  74. package/dist/gates/test/slow-gate.d.ts +2 -0
  75. package/dist/gates/test/slow-gate.js +5 -0
  76. package/dist/gates/test/throwing-gate.d.ts +1 -0
  77. package/dist/gates/test/throwing-gate.js +3 -0
  78. package/dist/logger.d.ts +8 -0
  79. package/dist/logger.js +12 -0
  80. package/dist/main.d.ts +14 -0
  81. package/dist/main.js +28 -0
  82. package/dist/repositories/drizzle/entity.repo.d.ts +27 -0
  83. package/dist/repositories/drizzle/entity.repo.js +190 -0
  84. package/dist/repositories/drizzle/event.repo.d.ts +12 -0
  85. package/dist/repositories/drizzle/event.repo.js +24 -0
  86. package/dist/repositories/drizzle/flow.repo.d.ts +22 -0
  87. package/dist/repositories/drizzle/flow.repo.js +364 -0
  88. package/dist/repositories/drizzle/gate.repo.d.ts +16 -0
  89. package/dist/repositories/drizzle/gate.repo.js +98 -0
  90. package/dist/repositories/drizzle/index.d.ts +6 -0
  91. package/dist/repositories/drizzle/index.js +7 -0
  92. package/dist/repositories/drizzle/invocation.repo.d.ts +23 -0
  93. package/dist/repositories/drizzle/invocation.repo.js +199 -0
  94. package/dist/repositories/drizzle/schema.d.ts +1932 -0
  95. package/dist/repositories/drizzle/schema.js +155 -0
  96. package/dist/repositories/drizzle/transition-log.repo.d.ts +11 -0
  97. package/dist/repositories/drizzle/transition-log.repo.js +42 -0
  98. package/dist/repositories/interfaces.d.ts +321 -0
  99. package/dist/repositories/interfaces.js +2 -0
  100. package/dist/src/api/router.d.ts +24 -0
  101. package/dist/src/api/router.js +44 -0
  102. package/dist/src/api/server.d.ts +13 -0
  103. package/dist/src/api/server.js +280 -0
  104. package/dist/src/api/wire-types.d.ts +46 -0
  105. package/dist/src/api/wire-types.js +5 -0
  106. package/dist/src/config/db-path.d.ts +1 -0
  107. package/dist/src/config/db-path.js +1 -0
  108. package/dist/src/config/exporter.d.ts +3 -0
  109. package/dist/src/config/exporter.js +87 -0
  110. package/dist/src/config/index.d.ts +4 -0
  111. package/dist/src/config/index.js +4 -0
  112. package/dist/src/config/seed-loader.d.ts +14 -0
  113. package/dist/src/config/seed-loader.js +131 -0
  114. package/dist/src/config/zod-schemas.d.ts +165 -0
  115. package/dist/src/config/zod-schemas.js +283 -0
  116. package/dist/src/cors.d.ts +8 -0
  117. package/dist/src/cors.js +21 -0
  118. package/dist/src/engine/constants.d.ts +1 -0
  119. package/dist/src/engine/constants.js +1 -0
  120. package/dist/src/engine/engine.d.ts +69 -0
  121. package/dist/src/engine/engine.js +485 -0
  122. package/dist/src/engine/event-emitter.d.ts +9 -0
  123. package/dist/src/engine/event-emitter.js +19 -0
  124. package/dist/src/engine/event-types.d.ts +105 -0
  125. package/dist/src/engine/event-types.js +1 -0
  126. package/dist/src/engine/flow-spawner.d.ts +8 -0
  127. package/dist/src/engine/flow-spawner.js +28 -0
  128. package/dist/src/engine/gate-command-validator.d.ts +6 -0
  129. package/dist/src/engine/gate-command-validator.js +46 -0
  130. package/dist/src/engine/gate-evaluator.d.ts +12 -0
  131. package/dist/src/engine/gate-evaluator.js +233 -0
  132. package/dist/src/engine/handlebars.d.ts +9 -0
  133. package/dist/src/engine/handlebars.js +51 -0
  134. package/dist/src/engine/index.d.ts +12 -0
  135. package/dist/src/engine/index.js +7 -0
  136. package/dist/src/engine/invocation-builder.d.ts +18 -0
  137. package/dist/src/engine/invocation-builder.js +58 -0
  138. package/dist/src/engine/on-enter.d.ts +8 -0
  139. package/dist/src/engine/on-enter.js +102 -0
  140. package/dist/src/engine/ssrf-guard.d.ts +22 -0
  141. package/dist/src/engine/ssrf-guard.js +159 -0
  142. package/dist/src/engine/state-machine.d.ts +12 -0
  143. package/dist/src/engine/state-machine.js +74 -0
  144. package/dist/src/execution/active-runner.d.ts +45 -0
  145. package/dist/src/execution/active-runner.js +165 -0
  146. package/dist/src/execution/admin-schemas.d.ts +116 -0
  147. package/dist/src/execution/admin-schemas.js +125 -0
  148. package/dist/src/execution/cli.d.ts +57 -0
  149. package/dist/src/execution/cli.js +501 -0
  150. package/dist/src/execution/handlers/admin.d.ts +67 -0
  151. package/dist/src/execution/handlers/admin.js +200 -0
  152. package/dist/src/execution/handlers/flow.d.ts +25 -0
  153. package/dist/src/execution/handlers/flow.js +289 -0
  154. package/dist/src/execution/handlers/query.d.ts +31 -0
  155. package/dist/src/execution/handlers/query.js +64 -0
  156. package/dist/src/execution/index.d.ts +4 -0
  157. package/dist/src/execution/index.js +3 -0
  158. package/dist/src/execution/mcp-helpers.d.ts +42 -0
  159. package/dist/src/execution/mcp-helpers.js +23 -0
  160. package/dist/src/execution/mcp-server.d.ts +33 -0
  161. package/dist/src/execution/mcp-server.js +1020 -0
  162. package/dist/src/execution/provision-worktree.d.ts +16 -0
  163. package/dist/src/execution/provision-worktree.js +123 -0
  164. package/dist/src/execution/tool-schemas.d.ts +40 -0
  165. package/dist/src/execution/tool-schemas.js +44 -0
  166. package/dist/src/logger.d.ts +8 -0
  167. package/dist/src/logger.js +12 -0
  168. package/dist/src/main.d.ts +14 -0
  169. package/dist/src/main.js +28 -0
  170. package/dist/src/repositories/drizzle/entity.repo.d.ts +27 -0
  171. package/dist/src/repositories/drizzle/entity.repo.js +190 -0
  172. package/dist/src/repositories/drizzle/event.repo.d.ts +12 -0
  173. package/dist/src/repositories/drizzle/event.repo.js +24 -0
  174. package/dist/src/repositories/drizzle/flow.repo.d.ts +22 -0
  175. package/dist/src/repositories/drizzle/flow.repo.js +364 -0
  176. package/dist/src/repositories/drizzle/gate.repo.d.ts +16 -0
  177. package/dist/src/repositories/drizzle/gate.repo.js +98 -0
  178. package/dist/src/repositories/drizzle/index.d.ts +6 -0
  179. package/dist/src/repositories/drizzle/index.js +7 -0
  180. package/dist/src/repositories/drizzle/invocation.repo.d.ts +23 -0
  181. package/dist/src/repositories/drizzle/invocation.repo.js +199 -0
  182. package/dist/src/repositories/drizzle/schema.d.ts +1932 -0
  183. package/dist/src/repositories/drizzle/schema.js +155 -0
  184. package/dist/src/repositories/drizzle/transition-log.repo.d.ts +11 -0
  185. package/dist/src/repositories/drizzle/transition-log.repo.js +42 -0
  186. package/dist/src/repositories/interfaces.d.ts +321 -0
  187. package/dist/src/repositories/interfaces.js +2 -0
  188. package/dist/src/utils/redact.d.ts +2 -0
  189. package/dist/src/utils/redact.js +62 -0
  190. package/dist/utils/redact.d.ts +2 -0
  191. package/dist/utils/redact.js +62 -0
  192. package/drizzle/.gitkeep +0 -0
  193. package/drizzle/0000_simple_surge.sql +144 -0
  194. package/drizzle/0001_peaceful_marvel_apes.sql +18 -0
  195. package/drizzle/0002_add_invocations_created_at.sql +1 -0
  196. package/drizzle/0003_drop_integration_config.sql +1 -0
  197. package/drizzle/0004_add_flow_discipline.sql +2 -0
  198. package/drizzle/0004_lucky_silverclaw.sql +5 -0
  199. package/drizzle/0005_old_blue_shield.sql +2 -0
  200. package/drizzle/0006_solid_magik.sql +2 -0
  201. package/drizzle/0007_fancy_luke_cage.sql +1 -0
  202. package/drizzle/0008_thick_dark_beast.sql +1 -0
  203. package/drizzle/0009_brief_midnight.sql +1 -0
  204. package/drizzle/0010_amusing_bastion.sql +1 -0
  205. package/drizzle/meta/0000_snapshot.json +996 -0
  206. package/drizzle/meta/0004_snapshot.json +1008 -0
  207. package/drizzle/meta/0005_snapshot.json +1023 -0
  208. package/drizzle/meta/0006_snapshot.json +1037 -0
  209. package/drizzle/meta/0007_snapshot.json +1044 -0
  210. package/drizzle/meta/0008_snapshot.json +1051 -0
  211. package/drizzle/meta/0009_snapshot.json +1058 -0
  212. package/drizzle/meta/0010_snapshot.json +1065 -0
  213. package/drizzle/meta/_journal.json +83 -0
  214. package/gates/.gitkeep +0 -0
  215. package/gates/blocking-graph.d.ts +26 -0
  216. package/gates/blocking-graph.js +102 -0
  217. package/gates/blocking-graph.ts +121 -0
  218. package/gates/check-design-posted.sh +39 -0
  219. package/gates/check-merge.sh +51 -0
  220. package/gates/check-pr-capacity.sh +17 -0
  221. package/gates/check-review-ready.sh +47 -0
  222. package/gates/check-spec-posted.sh +34 -0
  223. package/gates/check-unblocked.sh +56 -0
  224. package/gates/ci-green.sh +9 -0
  225. package/gates/merge-queue.sh +14 -0
  226. package/gates/review-bots-ready.sh +9 -0
  227. package/gates/spec-posted.sh +31 -0
  228. package/gates/test/bad-return-gate.d.ts +1 -0
  229. package/gates/test/bad-return-gate.js +4 -0
  230. package/gates/test/bad-return-gate.ts +4 -0
  231. package/gates/test/passing-gate.d.ts +2 -0
  232. package/gates/test/passing-gate.js +3 -0
  233. package/gates/test/passing-gate.ts +5 -0
  234. package/gates/test/slow-gate.d.ts +2 -0
  235. package/gates/test/slow-gate.js +5 -0
  236. package/gates/test/slow-gate.ts +7 -0
  237. package/gates/test/throwing-gate.d.ts +1 -0
  238. package/gates/test/throwing-gate.js +3 -0
  239. package/gates/test/throwing-gate.ts +3 -0
  240. package/gates/test-fail.sh +2 -0
  241. package/gates/test-pass.sh +2 -0
  242. package/gates/timeout-gate-script.sh +3 -0
  243. package/package.json +64 -0
@@ -0,0 +1,996 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "b15e869c-8769-4bb5-9131-3653dac19964",
5
+ "prevId": "00000000-0000-0000-0000-000000000000",
6
+ "tables": {
7
+ "entities": {
8
+ "name": "entities",
9
+ "columns": {
10
+ "id": {
11
+ "name": "id",
12
+ "type": "text",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": false
16
+ },
17
+ "flow_id": {
18
+ "name": "flow_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "state": {
25
+ "name": "state",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true,
29
+ "autoincrement": false
30
+ },
31
+ "refs": {
32
+ "name": "refs",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": false,
36
+ "autoincrement": false
37
+ },
38
+ "artifacts": {
39
+ "name": "artifacts",
40
+ "type": "text",
41
+ "primaryKey": false,
42
+ "notNull": false,
43
+ "autoincrement": false
44
+ },
45
+ "claimed_by": {
46
+ "name": "claimed_by",
47
+ "type": "text",
48
+ "primaryKey": false,
49
+ "notNull": false,
50
+ "autoincrement": false
51
+ },
52
+ "claimed_at": {
53
+ "name": "claimed_at",
54
+ "type": "integer",
55
+ "primaryKey": false,
56
+ "notNull": false,
57
+ "autoincrement": false
58
+ },
59
+ "flow_version": {
60
+ "name": "flow_version",
61
+ "type": "integer",
62
+ "primaryKey": false,
63
+ "notNull": false,
64
+ "autoincrement": false
65
+ },
66
+ "created_at": {
67
+ "name": "created_at",
68
+ "type": "integer",
69
+ "primaryKey": false,
70
+ "notNull": false,
71
+ "autoincrement": false
72
+ },
73
+ "updated_at": {
74
+ "name": "updated_at",
75
+ "type": "integer",
76
+ "primaryKey": false,
77
+ "notNull": false,
78
+ "autoincrement": false
79
+ }
80
+ },
81
+ "indexes": {
82
+ "entities_flow_state_idx": {
83
+ "name": "entities_flow_state_idx",
84
+ "columns": [
85
+ "flow_id",
86
+ "state"
87
+ ],
88
+ "isUnique": false
89
+ },
90
+ "entities_claim_idx": {
91
+ "name": "entities_claim_idx",
92
+ "columns": [
93
+ "flow_id",
94
+ "state",
95
+ "claimed_by"
96
+ ],
97
+ "isUnique": false
98
+ }
99
+ },
100
+ "foreignKeys": {
101
+ "entities_flow_id_flow_definitions_id_fk": {
102
+ "name": "entities_flow_id_flow_definitions_id_fk",
103
+ "tableFrom": "entities",
104
+ "tableTo": "flow_definitions",
105
+ "columnsFrom": [
106
+ "flow_id"
107
+ ],
108
+ "columnsTo": [
109
+ "id"
110
+ ],
111
+ "onDelete": "no action",
112
+ "onUpdate": "no action"
113
+ }
114
+ },
115
+ "compositePrimaryKeys": {},
116
+ "uniqueConstraints": {},
117
+ "checkConstraints": {}
118
+ },
119
+ "entity_history": {
120
+ "name": "entity_history",
121
+ "columns": {
122
+ "id": {
123
+ "name": "id",
124
+ "type": "text",
125
+ "primaryKey": true,
126
+ "notNull": true,
127
+ "autoincrement": false
128
+ },
129
+ "entity_id": {
130
+ "name": "entity_id",
131
+ "type": "text",
132
+ "primaryKey": false,
133
+ "notNull": true,
134
+ "autoincrement": false
135
+ },
136
+ "from_state": {
137
+ "name": "from_state",
138
+ "type": "text",
139
+ "primaryKey": false,
140
+ "notNull": false,
141
+ "autoincrement": false
142
+ },
143
+ "to_state": {
144
+ "name": "to_state",
145
+ "type": "text",
146
+ "primaryKey": false,
147
+ "notNull": true,
148
+ "autoincrement": false
149
+ },
150
+ "trigger": {
151
+ "name": "trigger",
152
+ "type": "text",
153
+ "primaryKey": false,
154
+ "notNull": false,
155
+ "autoincrement": false
156
+ },
157
+ "invocation_id": {
158
+ "name": "invocation_id",
159
+ "type": "text",
160
+ "primaryKey": false,
161
+ "notNull": false,
162
+ "autoincrement": false
163
+ },
164
+ "timestamp": {
165
+ "name": "timestamp",
166
+ "type": "integer",
167
+ "primaryKey": false,
168
+ "notNull": true,
169
+ "autoincrement": false
170
+ }
171
+ },
172
+ "indexes": {
173
+ "entity_history_entity_ts_idx": {
174
+ "name": "entity_history_entity_ts_idx",
175
+ "columns": [
176
+ "entity_id",
177
+ "timestamp"
178
+ ],
179
+ "isUnique": false
180
+ }
181
+ },
182
+ "foreignKeys": {
183
+ "entity_history_entity_id_entities_id_fk": {
184
+ "name": "entity_history_entity_id_entities_id_fk",
185
+ "tableFrom": "entity_history",
186
+ "tableTo": "entities",
187
+ "columnsFrom": [
188
+ "entity_id"
189
+ ],
190
+ "columnsTo": [
191
+ "id"
192
+ ],
193
+ "onDelete": "no action",
194
+ "onUpdate": "no action"
195
+ }
196
+ },
197
+ "compositePrimaryKeys": {},
198
+ "uniqueConstraints": {},
199
+ "checkConstraints": {}
200
+ },
201
+ "events": {
202
+ "name": "events",
203
+ "columns": {
204
+ "id": {
205
+ "name": "id",
206
+ "type": "text",
207
+ "primaryKey": true,
208
+ "notNull": true,
209
+ "autoincrement": false
210
+ },
211
+ "type": {
212
+ "name": "type",
213
+ "type": "text",
214
+ "primaryKey": false,
215
+ "notNull": true,
216
+ "autoincrement": false
217
+ },
218
+ "entity_id": {
219
+ "name": "entity_id",
220
+ "type": "text",
221
+ "primaryKey": false,
222
+ "notNull": false,
223
+ "autoincrement": false
224
+ },
225
+ "flow_id": {
226
+ "name": "flow_id",
227
+ "type": "text",
228
+ "primaryKey": false,
229
+ "notNull": false,
230
+ "autoincrement": false
231
+ },
232
+ "payload": {
233
+ "name": "payload",
234
+ "type": "text",
235
+ "primaryKey": false,
236
+ "notNull": false,
237
+ "autoincrement": false
238
+ },
239
+ "emitted_at": {
240
+ "name": "emitted_at",
241
+ "type": "integer",
242
+ "primaryKey": false,
243
+ "notNull": true,
244
+ "autoincrement": false
245
+ }
246
+ },
247
+ "indexes": {
248
+ "events_type_emitted_idx": {
249
+ "name": "events_type_emitted_idx",
250
+ "columns": [
251
+ "type",
252
+ "emitted_at"
253
+ ],
254
+ "isUnique": false
255
+ }
256
+ },
257
+ "foreignKeys": {},
258
+ "compositePrimaryKeys": {},
259
+ "uniqueConstraints": {},
260
+ "checkConstraints": {}
261
+ },
262
+ "flow_definitions": {
263
+ "name": "flow_definitions",
264
+ "columns": {
265
+ "id": {
266
+ "name": "id",
267
+ "type": "text",
268
+ "primaryKey": true,
269
+ "notNull": true,
270
+ "autoincrement": false
271
+ },
272
+ "name": {
273
+ "name": "name",
274
+ "type": "text",
275
+ "primaryKey": false,
276
+ "notNull": true,
277
+ "autoincrement": false
278
+ },
279
+ "description": {
280
+ "name": "description",
281
+ "type": "text",
282
+ "primaryKey": false,
283
+ "notNull": false,
284
+ "autoincrement": false
285
+ },
286
+ "entity_schema": {
287
+ "name": "entity_schema",
288
+ "type": "text",
289
+ "primaryKey": false,
290
+ "notNull": false,
291
+ "autoincrement": false
292
+ },
293
+ "initial_state": {
294
+ "name": "initial_state",
295
+ "type": "text",
296
+ "primaryKey": false,
297
+ "notNull": true,
298
+ "autoincrement": false
299
+ },
300
+ "max_concurrent": {
301
+ "name": "max_concurrent",
302
+ "type": "integer",
303
+ "primaryKey": false,
304
+ "notNull": false,
305
+ "autoincrement": false,
306
+ "default": 0
307
+ },
308
+ "max_concurrent_per_repo": {
309
+ "name": "max_concurrent_per_repo",
310
+ "type": "integer",
311
+ "primaryKey": false,
312
+ "notNull": false,
313
+ "autoincrement": false,
314
+ "default": 0
315
+ },
316
+ "version": {
317
+ "name": "version",
318
+ "type": "integer",
319
+ "primaryKey": false,
320
+ "notNull": false,
321
+ "autoincrement": false,
322
+ "default": 1
323
+ },
324
+ "created_by": {
325
+ "name": "created_by",
326
+ "type": "text",
327
+ "primaryKey": false,
328
+ "notNull": false,
329
+ "autoincrement": false
330
+ },
331
+ "created_at": {
332
+ "name": "created_at",
333
+ "type": "integer",
334
+ "primaryKey": false,
335
+ "notNull": false,
336
+ "autoincrement": false
337
+ },
338
+ "updated_at": {
339
+ "name": "updated_at",
340
+ "type": "integer",
341
+ "primaryKey": false,
342
+ "notNull": false,
343
+ "autoincrement": false
344
+ }
345
+ },
346
+ "indexes": {
347
+ "flow_definitions_name_unique": {
348
+ "name": "flow_definitions_name_unique",
349
+ "columns": [
350
+ "name"
351
+ ],
352
+ "isUnique": true
353
+ }
354
+ },
355
+ "foreignKeys": {},
356
+ "compositePrimaryKeys": {},
357
+ "uniqueConstraints": {},
358
+ "checkConstraints": {}
359
+ },
360
+ "flow_versions": {
361
+ "name": "flow_versions",
362
+ "columns": {
363
+ "id": {
364
+ "name": "id",
365
+ "type": "text",
366
+ "primaryKey": true,
367
+ "notNull": true,
368
+ "autoincrement": false
369
+ },
370
+ "flow_id": {
371
+ "name": "flow_id",
372
+ "type": "text",
373
+ "primaryKey": false,
374
+ "notNull": true,
375
+ "autoincrement": false
376
+ },
377
+ "version": {
378
+ "name": "version",
379
+ "type": "integer",
380
+ "primaryKey": false,
381
+ "notNull": true,
382
+ "autoincrement": false
383
+ },
384
+ "snapshot": {
385
+ "name": "snapshot",
386
+ "type": "text",
387
+ "primaryKey": false,
388
+ "notNull": false,
389
+ "autoincrement": false
390
+ },
391
+ "changed_by": {
392
+ "name": "changed_by",
393
+ "type": "text",
394
+ "primaryKey": false,
395
+ "notNull": false,
396
+ "autoincrement": false
397
+ },
398
+ "change_reason": {
399
+ "name": "change_reason",
400
+ "type": "text",
401
+ "primaryKey": false,
402
+ "notNull": false,
403
+ "autoincrement": false
404
+ },
405
+ "created_at": {
406
+ "name": "created_at",
407
+ "type": "integer",
408
+ "primaryKey": false,
409
+ "notNull": false,
410
+ "autoincrement": false
411
+ }
412
+ },
413
+ "indexes": {
414
+ "flow_versions_flow_version_unique": {
415
+ "name": "flow_versions_flow_version_unique",
416
+ "columns": [
417
+ "flow_id",
418
+ "version"
419
+ ],
420
+ "isUnique": true
421
+ }
422
+ },
423
+ "foreignKeys": {
424
+ "flow_versions_flow_id_flow_definitions_id_fk": {
425
+ "name": "flow_versions_flow_id_flow_definitions_id_fk",
426
+ "tableFrom": "flow_versions",
427
+ "tableTo": "flow_definitions",
428
+ "columnsFrom": [
429
+ "flow_id"
430
+ ],
431
+ "columnsTo": [
432
+ "id"
433
+ ],
434
+ "onDelete": "no action",
435
+ "onUpdate": "no action"
436
+ }
437
+ },
438
+ "compositePrimaryKeys": {},
439
+ "uniqueConstraints": {},
440
+ "checkConstraints": {}
441
+ },
442
+ "gate_definitions": {
443
+ "name": "gate_definitions",
444
+ "columns": {
445
+ "id": {
446
+ "name": "id",
447
+ "type": "text",
448
+ "primaryKey": true,
449
+ "notNull": true,
450
+ "autoincrement": false
451
+ },
452
+ "name": {
453
+ "name": "name",
454
+ "type": "text",
455
+ "primaryKey": false,
456
+ "notNull": true,
457
+ "autoincrement": false
458
+ },
459
+ "type": {
460
+ "name": "type",
461
+ "type": "text",
462
+ "primaryKey": false,
463
+ "notNull": true,
464
+ "autoincrement": false
465
+ },
466
+ "command": {
467
+ "name": "command",
468
+ "type": "text",
469
+ "primaryKey": false,
470
+ "notNull": false,
471
+ "autoincrement": false
472
+ },
473
+ "function_ref": {
474
+ "name": "function_ref",
475
+ "type": "text",
476
+ "primaryKey": false,
477
+ "notNull": false,
478
+ "autoincrement": false
479
+ },
480
+ "api_config": {
481
+ "name": "api_config",
482
+ "type": "text",
483
+ "primaryKey": false,
484
+ "notNull": false,
485
+ "autoincrement": false
486
+ },
487
+ "timeout_ms": {
488
+ "name": "timeout_ms",
489
+ "type": "integer",
490
+ "primaryKey": false,
491
+ "notNull": false,
492
+ "autoincrement": false,
493
+ "default": 30000
494
+ }
495
+ },
496
+ "indexes": {
497
+ "gate_definitions_name_unique": {
498
+ "name": "gate_definitions_name_unique",
499
+ "columns": [
500
+ "name"
501
+ ],
502
+ "isUnique": true
503
+ }
504
+ },
505
+ "foreignKeys": {},
506
+ "compositePrimaryKeys": {},
507
+ "uniqueConstraints": {},
508
+ "checkConstraints": {}
509
+ },
510
+ "gate_results": {
511
+ "name": "gate_results",
512
+ "columns": {
513
+ "id": {
514
+ "name": "id",
515
+ "type": "text",
516
+ "primaryKey": true,
517
+ "notNull": true,
518
+ "autoincrement": false
519
+ },
520
+ "entity_id": {
521
+ "name": "entity_id",
522
+ "type": "text",
523
+ "primaryKey": false,
524
+ "notNull": true,
525
+ "autoincrement": false
526
+ },
527
+ "gate_id": {
528
+ "name": "gate_id",
529
+ "type": "text",
530
+ "primaryKey": false,
531
+ "notNull": true,
532
+ "autoincrement": false
533
+ },
534
+ "passed": {
535
+ "name": "passed",
536
+ "type": "integer",
537
+ "primaryKey": false,
538
+ "notNull": true,
539
+ "autoincrement": false
540
+ },
541
+ "output": {
542
+ "name": "output",
543
+ "type": "text",
544
+ "primaryKey": false,
545
+ "notNull": false,
546
+ "autoincrement": false
547
+ },
548
+ "evaluated_at": {
549
+ "name": "evaluated_at",
550
+ "type": "integer",
551
+ "primaryKey": false,
552
+ "notNull": false,
553
+ "autoincrement": false
554
+ }
555
+ },
556
+ "indexes": {},
557
+ "foreignKeys": {
558
+ "gate_results_entity_id_entities_id_fk": {
559
+ "name": "gate_results_entity_id_entities_id_fk",
560
+ "tableFrom": "gate_results",
561
+ "tableTo": "entities",
562
+ "columnsFrom": [
563
+ "entity_id"
564
+ ],
565
+ "columnsTo": [
566
+ "id"
567
+ ],
568
+ "onDelete": "no action",
569
+ "onUpdate": "no action"
570
+ },
571
+ "gate_results_gate_id_gate_definitions_id_fk": {
572
+ "name": "gate_results_gate_id_gate_definitions_id_fk",
573
+ "tableFrom": "gate_results",
574
+ "tableTo": "gate_definitions",
575
+ "columnsFrom": [
576
+ "gate_id"
577
+ ],
578
+ "columnsTo": [
579
+ "id"
580
+ ],
581
+ "onDelete": "no action",
582
+ "onUpdate": "no action"
583
+ }
584
+ },
585
+ "compositePrimaryKeys": {},
586
+ "uniqueConstraints": {},
587
+ "checkConstraints": {}
588
+ },
589
+ "integration_config": {
590
+ "name": "integration_config",
591
+ "columns": {
592
+ "id": {
593
+ "name": "id",
594
+ "type": "text",
595
+ "primaryKey": true,
596
+ "notNull": true,
597
+ "autoincrement": false
598
+ },
599
+ "capability": {
600
+ "name": "capability",
601
+ "type": "text",
602
+ "primaryKey": false,
603
+ "notNull": true,
604
+ "autoincrement": false
605
+ },
606
+ "adapter": {
607
+ "name": "adapter",
608
+ "type": "text",
609
+ "primaryKey": false,
610
+ "notNull": true,
611
+ "autoincrement": false
612
+ },
613
+ "config": {
614
+ "name": "config",
615
+ "type": "text",
616
+ "primaryKey": false,
617
+ "notNull": false,
618
+ "autoincrement": false
619
+ }
620
+ },
621
+ "indexes": {
622
+ "integration_config_capability_unique": {
623
+ "name": "integration_config_capability_unique",
624
+ "columns": [
625
+ "capability"
626
+ ],
627
+ "isUnique": true
628
+ }
629
+ },
630
+ "foreignKeys": {},
631
+ "compositePrimaryKeys": {},
632
+ "uniqueConstraints": {},
633
+ "checkConstraints": {}
634
+ },
635
+ "invocations": {
636
+ "name": "invocations",
637
+ "columns": {
638
+ "id": {
639
+ "name": "id",
640
+ "type": "text",
641
+ "primaryKey": true,
642
+ "notNull": true,
643
+ "autoincrement": false
644
+ },
645
+ "entity_id": {
646
+ "name": "entity_id",
647
+ "type": "text",
648
+ "primaryKey": false,
649
+ "notNull": true,
650
+ "autoincrement": false
651
+ },
652
+ "stage": {
653
+ "name": "stage",
654
+ "type": "text",
655
+ "primaryKey": false,
656
+ "notNull": true,
657
+ "autoincrement": false
658
+ },
659
+ "agent_role": {
660
+ "name": "agent_role",
661
+ "type": "text",
662
+ "primaryKey": false,
663
+ "notNull": false,
664
+ "autoincrement": false
665
+ },
666
+ "mode": {
667
+ "name": "mode",
668
+ "type": "text",
669
+ "primaryKey": false,
670
+ "notNull": true,
671
+ "autoincrement": false
672
+ },
673
+ "prompt": {
674
+ "name": "prompt",
675
+ "type": "text",
676
+ "primaryKey": false,
677
+ "notNull": true,
678
+ "autoincrement": false
679
+ },
680
+ "context": {
681
+ "name": "context",
682
+ "type": "text",
683
+ "primaryKey": false,
684
+ "notNull": false,
685
+ "autoincrement": false
686
+ },
687
+ "claimed_by": {
688
+ "name": "claimed_by",
689
+ "type": "text",
690
+ "primaryKey": false,
691
+ "notNull": false,
692
+ "autoincrement": false
693
+ },
694
+ "claimed_at": {
695
+ "name": "claimed_at",
696
+ "type": "integer",
697
+ "primaryKey": false,
698
+ "notNull": false,
699
+ "autoincrement": false
700
+ },
701
+ "started_at": {
702
+ "name": "started_at",
703
+ "type": "integer",
704
+ "primaryKey": false,
705
+ "notNull": false,
706
+ "autoincrement": false
707
+ },
708
+ "completed_at": {
709
+ "name": "completed_at",
710
+ "type": "integer",
711
+ "primaryKey": false,
712
+ "notNull": false,
713
+ "autoincrement": false
714
+ },
715
+ "failed_at": {
716
+ "name": "failed_at",
717
+ "type": "integer",
718
+ "primaryKey": false,
719
+ "notNull": false,
720
+ "autoincrement": false
721
+ },
722
+ "signal": {
723
+ "name": "signal",
724
+ "type": "text",
725
+ "primaryKey": false,
726
+ "notNull": false,
727
+ "autoincrement": false
728
+ },
729
+ "artifacts": {
730
+ "name": "artifacts",
731
+ "type": "text",
732
+ "primaryKey": false,
733
+ "notNull": false,
734
+ "autoincrement": false
735
+ },
736
+ "error": {
737
+ "name": "error",
738
+ "type": "text",
739
+ "primaryKey": false,
740
+ "notNull": false,
741
+ "autoincrement": false
742
+ },
743
+ "ttl_ms": {
744
+ "name": "ttl_ms",
745
+ "type": "integer",
746
+ "primaryKey": false,
747
+ "notNull": false,
748
+ "autoincrement": false,
749
+ "default": 1800000
750
+ }
751
+ },
752
+ "indexes": {
753
+ "invocations_entity_idx": {
754
+ "name": "invocations_entity_idx",
755
+ "columns": [
756
+ "entity_id"
757
+ ],
758
+ "isUnique": false
759
+ }
760
+ },
761
+ "foreignKeys": {
762
+ "invocations_entity_id_entities_id_fk": {
763
+ "name": "invocations_entity_id_entities_id_fk",
764
+ "tableFrom": "invocations",
765
+ "tableTo": "entities",
766
+ "columnsFrom": [
767
+ "entity_id"
768
+ ],
769
+ "columnsTo": [
770
+ "id"
771
+ ],
772
+ "onDelete": "no action",
773
+ "onUpdate": "no action"
774
+ }
775
+ },
776
+ "compositePrimaryKeys": {},
777
+ "uniqueConstraints": {},
778
+ "checkConstraints": {}
779
+ },
780
+ "state_definitions": {
781
+ "name": "state_definitions",
782
+ "columns": {
783
+ "id": {
784
+ "name": "id",
785
+ "type": "text",
786
+ "primaryKey": true,
787
+ "notNull": true,
788
+ "autoincrement": false
789
+ },
790
+ "flow_id": {
791
+ "name": "flow_id",
792
+ "type": "text",
793
+ "primaryKey": false,
794
+ "notNull": true,
795
+ "autoincrement": false
796
+ },
797
+ "name": {
798
+ "name": "name",
799
+ "type": "text",
800
+ "primaryKey": false,
801
+ "notNull": true,
802
+ "autoincrement": false
803
+ },
804
+ "agent_role": {
805
+ "name": "agent_role",
806
+ "type": "text",
807
+ "primaryKey": false,
808
+ "notNull": false,
809
+ "autoincrement": false
810
+ },
811
+ "model_tier": {
812
+ "name": "model_tier",
813
+ "type": "text",
814
+ "primaryKey": false,
815
+ "notNull": false,
816
+ "autoincrement": false
817
+ },
818
+ "mode": {
819
+ "name": "mode",
820
+ "type": "text",
821
+ "primaryKey": false,
822
+ "notNull": false,
823
+ "autoincrement": false,
824
+ "default": "'passive'"
825
+ },
826
+ "prompt_template": {
827
+ "name": "prompt_template",
828
+ "type": "text",
829
+ "primaryKey": false,
830
+ "notNull": false,
831
+ "autoincrement": false
832
+ },
833
+ "constraints": {
834
+ "name": "constraints",
835
+ "type": "text",
836
+ "primaryKey": false,
837
+ "notNull": false,
838
+ "autoincrement": false
839
+ }
840
+ },
841
+ "indexes": {
842
+ "state_definitions_flow_name_unique": {
843
+ "name": "state_definitions_flow_name_unique",
844
+ "columns": [
845
+ "flow_id",
846
+ "name"
847
+ ],
848
+ "isUnique": true
849
+ }
850
+ },
851
+ "foreignKeys": {
852
+ "state_definitions_flow_id_flow_definitions_id_fk": {
853
+ "name": "state_definitions_flow_id_flow_definitions_id_fk",
854
+ "tableFrom": "state_definitions",
855
+ "tableTo": "flow_definitions",
856
+ "columnsFrom": [
857
+ "flow_id"
858
+ ],
859
+ "columnsTo": [
860
+ "id"
861
+ ],
862
+ "onDelete": "no action",
863
+ "onUpdate": "no action"
864
+ }
865
+ },
866
+ "compositePrimaryKeys": {},
867
+ "uniqueConstraints": {},
868
+ "checkConstraints": {}
869
+ },
870
+ "transition_rules": {
871
+ "name": "transition_rules",
872
+ "columns": {
873
+ "id": {
874
+ "name": "id",
875
+ "type": "text",
876
+ "primaryKey": true,
877
+ "notNull": true,
878
+ "autoincrement": false
879
+ },
880
+ "flow_id": {
881
+ "name": "flow_id",
882
+ "type": "text",
883
+ "primaryKey": false,
884
+ "notNull": true,
885
+ "autoincrement": false
886
+ },
887
+ "from_state": {
888
+ "name": "from_state",
889
+ "type": "text",
890
+ "primaryKey": false,
891
+ "notNull": true,
892
+ "autoincrement": false
893
+ },
894
+ "to_state": {
895
+ "name": "to_state",
896
+ "type": "text",
897
+ "primaryKey": false,
898
+ "notNull": true,
899
+ "autoincrement": false
900
+ },
901
+ "trigger": {
902
+ "name": "trigger",
903
+ "type": "text",
904
+ "primaryKey": false,
905
+ "notNull": true,
906
+ "autoincrement": false
907
+ },
908
+ "gate_id": {
909
+ "name": "gate_id",
910
+ "type": "text",
911
+ "primaryKey": false,
912
+ "notNull": false,
913
+ "autoincrement": false
914
+ },
915
+ "condition": {
916
+ "name": "condition",
917
+ "type": "text",
918
+ "primaryKey": false,
919
+ "notNull": false,
920
+ "autoincrement": false
921
+ },
922
+ "priority": {
923
+ "name": "priority",
924
+ "type": "integer",
925
+ "primaryKey": false,
926
+ "notNull": false,
927
+ "autoincrement": false,
928
+ "default": 0
929
+ },
930
+ "spawn_flow": {
931
+ "name": "spawn_flow",
932
+ "type": "text",
933
+ "primaryKey": false,
934
+ "notNull": false,
935
+ "autoincrement": false
936
+ },
937
+ "spawn_template": {
938
+ "name": "spawn_template",
939
+ "type": "text",
940
+ "primaryKey": false,
941
+ "notNull": false,
942
+ "autoincrement": false
943
+ },
944
+ "created_at": {
945
+ "name": "created_at",
946
+ "type": "integer",
947
+ "primaryKey": false,
948
+ "notNull": false,
949
+ "autoincrement": false
950
+ }
951
+ },
952
+ "indexes": {},
953
+ "foreignKeys": {
954
+ "transition_rules_flow_id_flow_definitions_id_fk": {
955
+ "name": "transition_rules_flow_id_flow_definitions_id_fk",
956
+ "tableFrom": "transition_rules",
957
+ "tableTo": "flow_definitions",
958
+ "columnsFrom": [
959
+ "flow_id"
960
+ ],
961
+ "columnsTo": [
962
+ "id"
963
+ ],
964
+ "onDelete": "no action",
965
+ "onUpdate": "no action"
966
+ },
967
+ "transition_rules_gate_id_gate_definitions_id_fk": {
968
+ "name": "transition_rules_gate_id_gate_definitions_id_fk",
969
+ "tableFrom": "transition_rules",
970
+ "tableTo": "gate_definitions",
971
+ "columnsFrom": [
972
+ "gate_id"
973
+ ],
974
+ "columnsTo": [
975
+ "id"
976
+ ],
977
+ "onDelete": "no action",
978
+ "onUpdate": "no action"
979
+ }
980
+ },
981
+ "compositePrimaryKeys": {},
982
+ "uniqueConstraints": {},
983
+ "checkConstraints": {}
984
+ }
985
+ },
986
+ "views": {},
987
+ "enums": {},
988
+ "_meta": {
989
+ "schemas": {},
990
+ "tables": {},
991
+ "columns": {}
992
+ },
993
+ "internal": {
994
+ "indexes": {}
995
+ }
996
+ }