@nilsr0711/drydock 0.1.1 → 0.1.3

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 (198) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +6 -3
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +20 -0
  6. package/.next/standalone/.next/server/app/_global-error/page.js +2 -2
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
  17. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/adrs/page.js +2 -2
  20. package/.next/standalone/.next/server/app/adrs/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/adrs/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/api/cost/export/route.js +1 -0
  23. package/.next/standalone/.next/server/app/api/cost/export/route.js.nft.json +1 -0
  24. package/.next/standalone/.next/server/app/api/cost/export/route_client-reference-manifest.js +1 -0
  25. package/.next/standalone/.next/server/app/api/sse/dashboard/route.js +4 -0
  26. package/.next/standalone/.next/server/app/api/sse/dashboard/route.js.nft.json +1 -0
  27. package/.next/standalone/.next/server/app/api/sse/dashboard/route_client-reference-manifest.js +1 -0
  28. package/.next/standalone/.next/server/app/api/sse/jobs/[id]/route.js +2 -2
  29. package/.next/standalone/.next/server/app/api/sse/jobs/[id]/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/webhooks/[repoId]/route.js +1 -0
  31. package/.next/standalone/.next/server/app/api/webhooks/[repoId]/route.js.nft.json +1 -0
  32. package/.next/standalone/.next/server/app/api/webhooks/[repoId]/route_client-reference-manifest.js +1 -0
  33. package/.next/standalone/.next/server/app/costs/page.js +2 -2
  34. package/.next/standalone/.next/server/app/costs/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/costs/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/jobs/[id]/page.js +5 -2
  37. package/.next/standalone/.next/server/app/jobs/[id]/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/jobs/[id]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/needs-human/page.js +2 -2
  40. package/.next/standalone/.next/server/app/needs-human/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/needs-human/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/page.js +2 -2
  43. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/prompts/page.js +2 -2
  46. package/.next/standalone/.next/server/app/prompts/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/prompts/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/repos/[id]/page.js +2 -2
  49. package/.next/standalone/.next/server/app/repos/[id]/page.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/repos/[id]/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/settings/page.js +2 -2
  52. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app-paths-manifest.json +6 -3
  55. package/.next/standalone/.next/server/chunks/235.js +1 -0
  56. package/.next/standalone/.next/server/chunks/309.js +1 -0
  57. package/.next/standalone/.next/server/chunks/350.js +9 -0
  58. package/.next/standalone/.next/server/chunks/39.js +3 -0
  59. package/.next/standalone/.next/server/chunks/447.js +1 -0
  60. package/.next/standalone/.next/server/chunks/507.js +9 -0
  61. package/.next/standalone/.next/server/chunks/541.js +1 -0
  62. package/.next/standalone/.next/server/chunks/710.js +1 -0
  63. package/.next/standalone/.next/server/chunks/75.js +1 -0
  64. package/.next/standalone/.next/server/chunks/777.js +1 -0
  65. package/.next/standalone/.next/server/chunks/895.js +62 -0
  66. package/.next/standalone/.next/server/chunks/9.js +3 -0
  67. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  68. package/.next/standalone/.next/server/pages/500.html +1 -1
  69. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  71. package/.next/standalone/.next/static/chunks/0-539cfb6a78b205f0.js +1 -0
  72. package/.next/standalone/.next/static/chunks/66-a23941cbbf88d6cd.js +1 -0
  73. package/.next/standalone/.next/static/chunks/app/_global-error/page-abc1c30fe033f680.js +1 -0
  74. package/.next/standalone/.next/static/chunks/app/adrs/{page-881f748d299c703e.js → page-54954f500bc3e3c6.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/app/api/cost/export/route-abc1c30fe033f680.js +1 -0
  76. package/.next/standalone/.next/static/chunks/app/api/sse/dashboard/route-abc1c30fe033f680.js +1 -0
  77. package/.next/standalone/.next/static/chunks/app/api/sse/jobs/[id]/route-abc1c30fe033f680.js +1 -0
  78. package/.next/standalone/.next/static/chunks/app/api/webhooks/[repoId]/route-abc1c30fe033f680.js +1 -0
  79. package/.next/standalone/.next/static/chunks/app/costs/page-737c89e70adff98b.js +1 -0
  80. package/.next/standalone/.next/static/chunks/app/jobs/[id]/page-217e04f338b50a7e.js +1 -0
  81. package/.next/standalone/.next/static/chunks/app/layout-f6048a8c9f541e0d.js +1 -0
  82. package/.next/standalone/.next/static/chunks/app/needs-human/page-c047e3e842681979.js +1 -0
  83. package/.next/standalone/.next/static/chunks/app/page-382b7fef1f749214.js +1 -0
  84. package/.next/standalone/.next/static/chunks/app/prompts/page-9e32fb8f51e7873e.js +1 -0
  85. package/.next/standalone/.next/static/chunks/app/repos/[id]/page-55b03bdcf107eefe.js +1 -0
  86. package/.next/standalone/.next/static/chunks/app/settings/page-5b2b8683fa6afdf4.js +1 -0
  87. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-abc1c30fe033f680.js +1 -0
  88. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-abc1c30fe033f680.js +1 -0
  89. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-abc1c30fe033f680.js +1 -0
  90. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-abc1c30fe033f680.js +1 -0
  91. package/.next/standalone/.next/static/css/64af283f7f467bc0.css +3 -0
  92. package/.next/standalone/.next/static/g7t6i0qpogjrDGpmNgFei/_buildManifest.js +1 -0
  93. package/.next/standalone/drizzle/0013_true_red_wolf.sql +1 -0
  94. package/.next/standalone/drizzle/0014_dry_medusa.sql +1 -0
  95. package/.next/standalone/drizzle/0015_dapper_ben_grimm.sql +1 -0
  96. package/.next/standalone/drizzle/0016_charming_natasha_romanoff.sql +14 -0
  97. package/.next/standalone/drizzle/0017_free_warbound.sql +1 -0
  98. package/.next/standalone/drizzle/0018_confused_franklin_storm.sql +1 -0
  99. package/.next/standalone/drizzle/0019_uneven_meggan.sql +22 -0
  100. package/.next/standalone/drizzle/0020_chunky_meggan.sql +1 -0
  101. package/.next/standalone/drizzle/meta/0013_snapshot.json +1487 -0
  102. package/.next/standalone/drizzle/meta/0014_snapshot.json +1494 -0
  103. package/.next/standalone/drizzle/meta/0015_snapshot.json +1502 -0
  104. package/.next/standalone/drizzle/meta/0016_snapshot.json +1600 -0
  105. package/.next/standalone/drizzle/meta/0017_snapshot.json +1607 -0
  106. package/.next/standalone/drizzle/meta/0018_snapshot.json +1614 -0
  107. package/.next/standalone/drizzle/meta/0019_snapshot.json +1773 -0
  108. package/.next/standalone/drizzle/meta/0020_snapshot.json +1780 -0
  109. package/.next/standalone/drizzle/meta/_journal.json +56 -0
  110. package/.next/standalone/package.json +1 -1
  111. package/.next/static/chunks/0-539cfb6a78b205f0.js +1 -0
  112. package/.next/static/chunks/66-a23941cbbf88d6cd.js +1 -0
  113. package/.next/static/chunks/app/_global-error/page-abc1c30fe033f680.js +1 -0
  114. package/.next/static/chunks/app/adrs/{page-881f748d299c703e.js → page-54954f500bc3e3c6.js} +1 -1
  115. package/.next/static/chunks/app/api/cost/export/route-abc1c30fe033f680.js +1 -0
  116. package/.next/static/chunks/app/api/sse/dashboard/route-abc1c30fe033f680.js +1 -0
  117. package/.next/static/chunks/app/api/sse/jobs/[id]/route-abc1c30fe033f680.js +1 -0
  118. package/.next/static/chunks/app/api/webhooks/[repoId]/route-abc1c30fe033f680.js +1 -0
  119. package/.next/static/chunks/app/costs/page-737c89e70adff98b.js +1 -0
  120. package/.next/static/chunks/app/jobs/[id]/page-217e04f338b50a7e.js +1 -0
  121. package/.next/static/chunks/app/layout-f6048a8c9f541e0d.js +1 -0
  122. package/.next/static/chunks/app/needs-human/page-c047e3e842681979.js +1 -0
  123. package/.next/static/chunks/app/page-382b7fef1f749214.js +1 -0
  124. package/.next/static/chunks/app/prompts/page-9e32fb8f51e7873e.js +1 -0
  125. package/.next/static/chunks/app/repos/[id]/page-55b03bdcf107eefe.js +1 -0
  126. package/.next/static/chunks/app/settings/page-5b2b8683fa6afdf4.js +1 -0
  127. package/.next/static/chunks/next/dist/client/components/builtin/app-error-abc1c30fe033f680.js +1 -0
  128. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-abc1c30fe033f680.js +1 -0
  129. package/.next/static/chunks/next/dist/client/components/builtin/not-found-abc1c30fe033f680.js +1 -0
  130. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-abc1c30fe033f680.js +1 -0
  131. package/.next/static/css/64af283f7f467bc0.css +3 -0
  132. package/.next/static/g7t6i0qpogjrDGpmNgFei/_buildManifest.js +1 -0
  133. package/README.md +25 -12
  134. package/bin/drydock.mjs +132 -7
  135. package/drizzle/0013_true_red_wolf.sql +1 -0
  136. package/drizzle/0014_dry_medusa.sql +1 -0
  137. package/drizzle/0015_dapper_ben_grimm.sql +1 -0
  138. package/drizzle/0016_charming_natasha_romanoff.sql +14 -0
  139. package/drizzle/0017_free_warbound.sql +1 -0
  140. package/drizzle/0018_confused_franklin_storm.sql +1 -0
  141. package/drizzle/0019_uneven_meggan.sql +22 -0
  142. package/drizzle/0020_chunky_meggan.sql +1 -0
  143. package/drizzle/meta/0013_snapshot.json +1487 -0
  144. package/drizzle/meta/0014_snapshot.json +1494 -0
  145. package/drizzle/meta/0015_snapshot.json +1502 -0
  146. package/drizzle/meta/0016_snapshot.json +1600 -0
  147. package/drizzle/meta/0017_snapshot.json +1607 -0
  148. package/drizzle/meta/0018_snapshot.json +1614 -0
  149. package/drizzle/meta/0019_snapshot.json +1773 -0
  150. package/drizzle/meta/0020_snapshot.json +1780 -0
  151. package/drizzle/meta/_journal.json +56 -0
  152. package/package.json +1 -1
  153. package/.next/standalone/.next/server/chunks/152.js +0 -8
  154. package/.next/standalone/.next/server/chunks/21.js +0 -1
  155. package/.next/standalone/.next/server/chunks/441.js +0 -1
  156. package/.next/standalone/.next/server/chunks/633.js +0 -1
  157. package/.next/standalone/.next/server/chunks/706.js +0 -8
  158. package/.next/standalone/.next/server/chunks/753.js +0 -1
  159. package/.next/standalone/.next/server/chunks/774.js +0 -62
  160. package/.next/standalone/.next/server/chunks/859.js +0 -1
  161. package/.next/standalone/.next/static/chunks/602-2da35213db585d76.js +0 -1
  162. package/.next/standalone/.next/static/chunks/66-2a5c080641376f3a.js +0 -1
  163. package/.next/standalone/.next/static/chunks/app/_global-error/page-94dd6bc2d60a8443.js +0 -1
  164. package/.next/standalone/.next/static/chunks/app/api/sse/jobs/[id]/route-94dd6bc2d60a8443.js +0 -1
  165. package/.next/standalone/.next/static/chunks/app/costs/page-7aeb8fd8816090f7.js +0 -1
  166. package/.next/standalone/.next/static/chunks/app/jobs/[id]/page-23dddd5f27bc7c02.js +0 -1
  167. package/.next/standalone/.next/static/chunks/app/layout-6ad777543855c715.js +0 -1
  168. package/.next/standalone/.next/static/chunks/app/needs-human/page-abedbafec351380c.js +0 -1
  169. package/.next/standalone/.next/static/chunks/app/page-ebe54ab85fbcf147.js +0 -1
  170. package/.next/standalone/.next/static/chunks/app/prompts/page-3b9006a4513a173a.js +0 -1
  171. package/.next/standalone/.next/static/chunks/app/repos/[id]/page-16e031b6eab3ee05.js +0 -1
  172. package/.next/standalone/.next/static/chunks/app/settings/page-54d0967b6d9f734f.js +0 -1
  173. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-94dd6bc2d60a8443.js +0 -1
  174. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-94dd6bc2d60a8443.js +0 -1
  175. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-94dd6bc2d60a8443.js +0 -1
  176. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-94dd6bc2d60a8443.js +0 -1
  177. package/.next/standalone/.next/static/css/b4ec7103106db91b.css +0 -3
  178. package/.next/standalone/.next/static/iEqTV0p0ZoW-sr0JEYokX/_buildManifest.js +0 -1
  179. package/.next/static/chunks/602-2da35213db585d76.js +0 -1
  180. package/.next/static/chunks/66-2a5c080641376f3a.js +0 -1
  181. package/.next/static/chunks/app/_global-error/page-94dd6bc2d60a8443.js +0 -1
  182. package/.next/static/chunks/app/api/sse/jobs/[id]/route-94dd6bc2d60a8443.js +0 -1
  183. package/.next/static/chunks/app/costs/page-7aeb8fd8816090f7.js +0 -1
  184. package/.next/static/chunks/app/jobs/[id]/page-23dddd5f27bc7c02.js +0 -1
  185. package/.next/static/chunks/app/layout-6ad777543855c715.js +0 -1
  186. package/.next/static/chunks/app/needs-human/page-abedbafec351380c.js +0 -1
  187. package/.next/static/chunks/app/page-ebe54ab85fbcf147.js +0 -1
  188. package/.next/static/chunks/app/prompts/page-3b9006a4513a173a.js +0 -1
  189. package/.next/static/chunks/app/repos/[id]/page-16e031b6eab3ee05.js +0 -1
  190. package/.next/static/chunks/app/settings/page-54d0967b6d9f734f.js +0 -1
  191. package/.next/static/chunks/next/dist/client/components/builtin/app-error-94dd6bc2d60a8443.js +0 -1
  192. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-94dd6bc2d60a8443.js +0 -1
  193. package/.next/static/chunks/next/dist/client/components/builtin/not-found-94dd6bc2d60a8443.js +0 -1
  194. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-94dd6bc2d60a8443.js +0 -1
  195. package/.next/static/css/b4ec7103106db91b.css +0 -3
  196. package/.next/static/iEqTV0p0ZoW-sr0JEYokX/_buildManifest.js +0 -1
  197. /package/.next/standalone/.next/static/{iEqTV0p0ZoW-sr0JEYokX → g7t6i0qpogjrDGpmNgFei}/_ssgManifest.js +0 -0
  198. /package/.next/static/{iEqTV0p0ZoW-sr0JEYokX → g7t6i0qpogjrDGpmNgFei}/_ssgManifest.js +0 -0
@@ -0,0 +1,1614 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "31fe0803-8110-4e07-b5d9-a252d3741ad8",
5
+ "prevId": "76047e52-762d-4689-b5f7-f55c2b853f18",
6
+ "tables": {
7
+ "adrs": {
8
+ "name": "adrs",
9
+ "columns": {
10
+ "id": {
11
+ "name": "id",
12
+ "type": "integer",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": true
16
+ },
17
+ "job_id": {
18
+ "name": "job_id",
19
+ "type": "integer",
20
+ "primaryKey": false,
21
+ "notNull": false,
22
+ "autoincrement": false
23
+ },
24
+ "repo_id": {
25
+ "name": "repo_id",
26
+ "type": "integer",
27
+ "primaryKey": false,
28
+ "notNull": false,
29
+ "autoincrement": false
30
+ },
31
+ "file_path": {
32
+ "name": "file_path",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": true,
36
+ "autoincrement": false
37
+ },
38
+ "title": {
39
+ "name": "title",
40
+ "type": "text",
41
+ "primaryKey": false,
42
+ "notNull": true,
43
+ "autoincrement": false
44
+ },
45
+ "status": {
46
+ "name": "status",
47
+ "type": "text",
48
+ "primaryKey": false,
49
+ "notNull": true,
50
+ "autoincrement": false,
51
+ "default": "'pending_review'"
52
+ },
53
+ "created_at": {
54
+ "name": "created_at",
55
+ "type": "integer",
56
+ "primaryKey": false,
57
+ "notNull": true,
58
+ "autoincrement": false,
59
+ "default": "(unixepoch())"
60
+ }
61
+ },
62
+ "indexes": {},
63
+ "foreignKeys": {
64
+ "adrs_job_id_jobs_id_fk": {
65
+ "name": "adrs_job_id_jobs_id_fk",
66
+ "tableFrom": "adrs",
67
+ "tableTo": "jobs",
68
+ "columnsFrom": [
69
+ "job_id"
70
+ ],
71
+ "columnsTo": [
72
+ "id"
73
+ ],
74
+ "onDelete": "set null",
75
+ "onUpdate": "no action"
76
+ },
77
+ "adrs_repo_id_repos_id_fk": {
78
+ "name": "adrs_repo_id_repos_id_fk",
79
+ "tableFrom": "adrs",
80
+ "tableTo": "repos",
81
+ "columnsFrom": [
82
+ "repo_id"
83
+ ],
84
+ "columnsTo": [
85
+ "id"
86
+ ],
87
+ "onDelete": "cascade",
88
+ "onUpdate": "no action"
89
+ }
90
+ },
91
+ "compositePrimaryKeys": {},
92
+ "uniqueConstraints": {},
93
+ "checkConstraints": {}
94
+ },
95
+ "deployment_healing_sessions": {
96
+ "name": "deployment_healing_sessions",
97
+ "columns": {
98
+ "id": {
99
+ "name": "id",
100
+ "type": "integer",
101
+ "primaryKey": true,
102
+ "notNull": true,
103
+ "autoincrement": true
104
+ },
105
+ "job_id": {
106
+ "name": "job_id",
107
+ "type": "integer",
108
+ "primaryKey": false,
109
+ "notNull": true,
110
+ "autoincrement": false
111
+ },
112
+ "pr_number": {
113
+ "name": "pr_number",
114
+ "type": "integer",
115
+ "primaryKey": false,
116
+ "notNull": true,
117
+ "autoincrement": false
118
+ },
119
+ "platform": {
120
+ "name": "platform",
121
+ "type": "text",
122
+ "primaryKey": false,
123
+ "notNull": true,
124
+ "autoincrement": false
125
+ },
126
+ "commit_sha": {
127
+ "name": "commit_sha",
128
+ "type": "text",
129
+ "primaryKey": false,
130
+ "notNull": true,
131
+ "autoincrement": false
132
+ },
133
+ "status": {
134
+ "name": "status",
135
+ "type": "text",
136
+ "primaryKey": false,
137
+ "notNull": true,
138
+ "autoincrement": false,
139
+ "default": "'monitoring'"
140
+ },
141
+ "logs_excerpt": {
142
+ "name": "logs_excerpt",
143
+ "type": "text",
144
+ "primaryKey": false,
145
+ "notNull": false,
146
+ "autoincrement": false
147
+ },
148
+ "followup_pr_number": {
149
+ "name": "followup_pr_number",
150
+ "type": "integer",
151
+ "primaryKey": false,
152
+ "notNull": false,
153
+ "autoincrement": false
154
+ },
155
+ "created_at": {
156
+ "name": "created_at",
157
+ "type": "integer",
158
+ "primaryKey": false,
159
+ "notNull": true,
160
+ "autoincrement": false,
161
+ "default": "(unixepoch())"
162
+ },
163
+ "updated_at": {
164
+ "name": "updated_at",
165
+ "type": "integer",
166
+ "primaryKey": false,
167
+ "notNull": true,
168
+ "autoincrement": false,
169
+ "default": "(unixepoch())"
170
+ }
171
+ },
172
+ "indexes": {
173
+ "deployment_healing_job_idx": {
174
+ "name": "deployment_healing_job_idx",
175
+ "columns": [
176
+ "job_id"
177
+ ],
178
+ "isUnique": false
179
+ },
180
+ "deployment_healing_job_sha_unique": {
181
+ "name": "deployment_healing_job_sha_unique",
182
+ "columns": [
183
+ "job_id",
184
+ "commit_sha"
185
+ ],
186
+ "isUnique": true
187
+ }
188
+ },
189
+ "foreignKeys": {
190
+ "deployment_healing_sessions_job_id_jobs_id_fk": {
191
+ "name": "deployment_healing_sessions_job_id_jobs_id_fk",
192
+ "tableFrom": "deployment_healing_sessions",
193
+ "tableTo": "jobs",
194
+ "columnsFrom": [
195
+ "job_id"
196
+ ],
197
+ "columnsTo": [
198
+ "id"
199
+ ],
200
+ "onDelete": "cascade",
201
+ "onUpdate": "no action"
202
+ }
203
+ },
204
+ "compositePrimaryKeys": {},
205
+ "uniqueConstraints": {},
206
+ "checkConstraints": {}
207
+ },
208
+ "followup_issues": {
209
+ "name": "followup_issues",
210
+ "columns": {
211
+ "id": {
212
+ "name": "id",
213
+ "type": "integer",
214
+ "primaryKey": true,
215
+ "notNull": true,
216
+ "autoincrement": true
217
+ },
218
+ "job_id": {
219
+ "name": "job_id",
220
+ "type": "integer",
221
+ "primaryKey": false,
222
+ "notNull": false,
223
+ "autoincrement": false
224
+ },
225
+ "gh_issue_number": {
226
+ "name": "gh_issue_number",
227
+ "type": "integer",
228
+ "primaryKey": false,
229
+ "notNull": true,
230
+ "autoincrement": false
231
+ },
232
+ "title": {
233
+ "name": "title",
234
+ "type": "text",
235
+ "primaryKey": false,
236
+ "notNull": true,
237
+ "autoincrement": false
238
+ },
239
+ "created_at": {
240
+ "name": "created_at",
241
+ "type": "integer",
242
+ "primaryKey": false,
243
+ "notNull": true,
244
+ "autoincrement": false,
245
+ "default": "(unixepoch())"
246
+ }
247
+ },
248
+ "indexes": {},
249
+ "foreignKeys": {
250
+ "followup_issues_job_id_jobs_id_fk": {
251
+ "name": "followup_issues_job_id_jobs_id_fk",
252
+ "tableFrom": "followup_issues",
253
+ "tableTo": "jobs",
254
+ "columnsFrom": [
255
+ "job_id"
256
+ ],
257
+ "columnsTo": [
258
+ "id"
259
+ ],
260
+ "onDelete": "set null",
261
+ "onUpdate": "no action"
262
+ }
263
+ },
264
+ "compositePrimaryKeys": {},
265
+ "uniqueConstraints": {},
266
+ "checkConstraints": {}
267
+ },
268
+ "healing_attempts": {
269
+ "name": "healing_attempts",
270
+ "columns": {
271
+ "id": {
272
+ "name": "id",
273
+ "type": "integer",
274
+ "primaryKey": true,
275
+ "notNull": true,
276
+ "autoincrement": true
277
+ },
278
+ "session_id": {
279
+ "name": "session_id",
280
+ "type": "integer",
281
+ "primaryKey": false,
282
+ "notNull": true,
283
+ "autoincrement": false
284
+ },
285
+ "fingerprint": {
286
+ "name": "fingerprint",
287
+ "type": "text",
288
+ "primaryKey": false,
289
+ "notNull": true,
290
+ "autoincrement": false
291
+ },
292
+ "category": {
293
+ "name": "category",
294
+ "type": "text",
295
+ "primaryKey": false,
296
+ "notNull": true,
297
+ "autoincrement": false
298
+ },
299
+ "check_name": {
300
+ "name": "check_name",
301
+ "type": "text",
302
+ "primaryKey": false,
303
+ "notNull": true,
304
+ "autoincrement": false
305
+ },
306
+ "status": {
307
+ "name": "status",
308
+ "type": "text",
309
+ "primaryKey": false,
310
+ "notNull": true,
311
+ "autoincrement": false,
312
+ "default": "'repairing'"
313
+ },
314
+ "before_sha": {
315
+ "name": "before_sha",
316
+ "type": "text",
317
+ "primaryKey": false,
318
+ "notNull": false,
319
+ "autoincrement": false
320
+ },
321
+ "after_sha": {
322
+ "name": "after_sha",
323
+ "type": "text",
324
+ "primaryKey": false,
325
+ "notNull": false,
326
+ "autoincrement": false
327
+ },
328
+ "created_at": {
329
+ "name": "created_at",
330
+ "type": "integer",
331
+ "primaryKey": false,
332
+ "notNull": true,
333
+ "autoincrement": false,
334
+ "default": "(unixepoch())"
335
+ }
336
+ },
337
+ "indexes": {
338
+ "healing_attempts_session_idx": {
339
+ "name": "healing_attempts_session_idx",
340
+ "columns": [
341
+ "session_id"
342
+ ],
343
+ "isUnique": false
344
+ },
345
+ "healing_attempts_fingerprint_idx": {
346
+ "name": "healing_attempts_fingerprint_idx",
347
+ "columns": [
348
+ "session_id",
349
+ "fingerprint"
350
+ ],
351
+ "isUnique": false
352
+ }
353
+ },
354
+ "foreignKeys": {
355
+ "healing_attempts_session_id_healing_sessions_id_fk": {
356
+ "name": "healing_attempts_session_id_healing_sessions_id_fk",
357
+ "tableFrom": "healing_attempts",
358
+ "tableTo": "healing_sessions",
359
+ "columnsFrom": [
360
+ "session_id"
361
+ ],
362
+ "columnsTo": [
363
+ "id"
364
+ ],
365
+ "onDelete": "cascade",
366
+ "onUpdate": "no action"
367
+ }
368
+ },
369
+ "compositePrimaryKeys": {},
370
+ "uniqueConstraints": {},
371
+ "checkConstraints": {}
372
+ },
373
+ "healing_sessions": {
374
+ "name": "healing_sessions",
375
+ "columns": {
376
+ "id": {
377
+ "name": "id",
378
+ "type": "integer",
379
+ "primaryKey": true,
380
+ "notNull": true,
381
+ "autoincrement": true
382
+ },
383
+ "job_id": {
384
+ "name": "job_id",
385
+ "type": "integer",
386
+ "primaryKey": false,
387
+ "notNull": true,
388
+ "autoincrement": false
389
+ },
390
+ "pr_number": {
391
+ "name": "pr_number",
392
+ "type": "integer",
393
+ "primaryKey": false,
394
+ "notNull": true,
395
+ "autoincrement": false
396
+ },
397
+ "head_sha": {
398
+ "name": "head_sha",
399
+ "type": "text",
400
+ "primaryKey": false,
401
+ "notNull": true,
402
+ "autoincrement": false
403
+ },
404
+ "status": {
405
+ "name": "status",
406
+ "type": "text",
407
+ "primaryKey": false,
408
+ "notNull": true,
409
+ "autoincrement": false,
410
+ "default": "'triaging'"
411
+ },
412
+ "created_at": {
413
+ "name": "created_at",
414
+ "type": "integer",
415
+ "primaryKey": false,
416
+ "notNull": true,
417
+ "autoincrement": false,
418
+ "default": "(unixepoch())"
419
+ },
420
+ "updated_at": {
421
+ "name": "updated_at",
422
+ "type": "integer",
423
+ "primaryKey": false,
424
+ "notNull": true,
425
+ "autoincrement": false,
426
+ "default": "(unixepoch())"
427
+ }
428
+ },
429
+ "indexes": {
430
+ "healing_sessions_job_idx": {
431
+ "name": "healing_sessions_job_idx",
432
+ "columns": [
433
+ "job_id"
434
+ ],
435
+ "isUnique": false
436
+ },
437
+ "healing_sessions_pr_sha_idx": {
438
+ "name": "healing_sessions_pr_sha_idx",
439
+ "columns": [
440
+ "pr_number",
441
+ "head_sha"
442
+ ],
443
+ "isUnique": false
444
+ }
445
+ },
446
+ "foreignKeys": {
447
+ "healing_sessions_job_id_jobs_id_fk": {
448
+ "name": "healing_sessions_job_id_jobs_id_fk",
449
+ "tableFrom": "healing_sessions",
450
+ "tableTo": "jobs",
451
+ "columnsFrom": [
452
+ "job_id"
453
+ ],
454
+ "columnsTo": [
455
+ "id"
456
+ ],
457
+ "onDelete": "cascade",
458
+ "onUpdate": "no action"
459
+ }
460
+ },
461
+ "compositePrimaryKeys": {},
462
+ "uniqueConstraints": {},
463
+ "checkConstraints": {}
464
+ },
465
+ "issue_subtasks": {
466
+ "name": "issue_subtasks",
467
+ "columns": {
468
+ "id": {
469
+ "name": "id",
470
+ "type": "integer",
471
+ "primaryKey": true,
472
+ "notNull": true,
473
+ "autoincrement": true
474
+ },
475
+ "repo_id": {
476
+ "name": "repo_id",
477
+ "type": "integer",
478
+ "primaryKey": false,
479
+ "notNull": true,
480
+ "autoincrement": false
481
+ },
482
+ "issue_number": {
483
+ "name": "issue_number",
484
+ "type": "integer",
485
+ "primaryKey": false,
486
+ "notNull": true,
487
+ "autoincrement": false
488
+ },
489
+ "ordinal": {
490
+ "name": "ordinal",
491
+ "type": "integer",
492
+ "primaryKey": false,
493
+ "notNull": true,
494
+ "autoincrement": false
495
+ },
496
+ "title": {
497
+ "name": "title",
498
+ "type": "text",
499
+ "primaryKey": false,
500
+ "notNull": true,
501
+ "autoincrement": false
502
+ },
503
+ "status": {
504
+ "name": "status",
505
+ "type": "text",
506
+ "primaryKey": false,
507
+ "notNull": true,
508
+ "autoincrement": false,
509
+ "default": "'pending'"
510
+ },
511
+ "body_hash": {
512
+ "name": "body_hash",
513
+ "type": "text",
514
+ "primaryKey": false,
515
+ "notNull": true,
516
+ "autoincrement": false
517
+ },
518
+ "created_at": {
519
+ "name": "created_at",
520
+ "type": "integer",
521
+ "primaryKey": false,
522
+ "notNull": true,
523
+ "autoincrement": false,
524
+ "default": "(unixepoch())"
525
+ }
526
+ },
527
+ "indexes": {
528
+ "issue_subtasks_issue_idx": {
529
+ "name": "issue_subtasks_issue_idx",
530
+ "columns": [
531
+ "repo_id",
532
+ "issue_number"
533
+ ],
534
+ "isUnique": false
535
+ },
536
+ "issue_subtasks_issue_ordinal_unique": {
537
+ "name": "issue_subtasks_issue_ordinal_unique",
538
+ "columns": [
539
+ "repo_id",
540
+ "issue_number",
541
+ "ordinal"
542
+ ],
543
+ "isUnique": true
544
+ }
545
+ },
546
+ "foreignKeys": {
547
+ "issue_subtasks_repo_id_repos_id_fk": {
548
+ "name": "issue_subtasks_repo_id_repos_id_fk",
549
+ "tableFrom": "issue_subtasks",
550
+ "tableTo": "repos",
551
+ "columnsFrom": [
552
+ "repo_id"
553
+ ],
554
+ "columnsTo": [
555
+ "id"
556
+ ],
557
+ "onDelete": "cascade",
558
+ "onUpdate": "no action"
559
+ }
560
+ },
561
+ "compositePrimaryKeys": {},
562
+ "uniqueConstraints": {},
563
+ "checkConstraints": {}
564
+ },
565
+ "issues": {
566
+ "name": "issues",
567
+ "columns": {
568
+ "id": {
569
+ "name": "id",
570
+ "type": "integer",
571
+ "primaryKey": true,
572
+ "notNull": true,
573
+ "autoincrement": true
574
+ },
575
+ "repo_id": {
576
+ "name": "repo_id",
577
+ "type": "integer",
578
+ "primaryKey": false,
579
+ "notNull": true,
580
+ "autoincrement": false
581
+ },
582
+ "number": {
583
+ "name": "number",
584
+ "type": "integer",
585
+ "primaryKey": false,
586
+ "notNull": true,
587
+ "autoincrement": false
588
+ },
589
+ "title": {
590
+ "name": "title",
591
+ "type": "text",
592
+ "primaryKey": false,
593
+ "notNull": true,
594
+ "autoincrement": false
595
+ },
596
+ "labels": {
597
+ "name": "labels",
598
+ "type": "text",
599
+ "primaryKey": false,
600
+ "notNull": true,
601
+ "autoincrement": false,
602
+ "default": "'[]'"
603
+ },
604
+ "state": {
605
+ "name": "state",
606
+ "type": "text",
607
+ "primaryKey": false,
608
+ "notNull": true,
609
+ "autoincrement": false,
610
+ "default": "'open'"
611
+ },
612
+ "priority": {
613
+ "name": "priority",
614
+ "type": "integer",
615
+ "primaryKey": false,
616
+ "notNull": true,
617
+ "autoincrement": false,
618
+ "default": 0
619
+ },
620
+ "triage_hash": {
621
+ "name": "triage_hash",
622
+ "type": "text",
623
+ "primaryKey": false,
624
+ "notNull": false,
625
+ "autoincrement": false
626
+ },
627
+ "triaged_at": {
628
+ "name": "triaged_at",
629
+ "type": "integer",
630
+ "primaryKey": false,
631
+ "notNull": false,
632
+ "autoincrement": false
633
+ },
634
+ "decomposed_hash": {
635
+ "name": "decomposed_hash",
636
+ "type": "text",
637
+ "primaryKey": false,
638
+ "notNull": false,
639
+ "autoincrement": false
640
+ },
641
+ "synced_at": {
642
+ "name": "synced_at",
643
+ "type": "integer",
644
+ "primaryKey": false,
645
+ "notNull": true,
646
+ "autoincrement": false,
647
+ "default": "(unixepoch())"
648
+ }
649
+ },
650
+ "indexes": {
651
+ "issues_repo_number_unique": {
652
+ "name": "issues_repo_number_unique",
653
+ "columns": [
654
+ "repo_id",
655
+ "number"
656
+ ],
657
+ "isUnique": true
658
+ },
659
+ "issues_repo_priority_idx": {
660
+ "name": "issues_repo_priority_idx",
661
+ "columns": [
662
+ "repo_id",
663
+ "priority"
664
+ ],
665
+ "isUnique": false
666
+ }
667
+ },
668
+ "foreignKeys": {
669
+ "issues_repo_id_repos_id_fk": {
670
+ "name": "issues_repo_id_repos_id_fk",
671
+ "tableFrom": "issues",
672
+ "tableTo": "repos",
673
+ "columnsFrom": [
674
+ "repo_id"
675
+ ],
676
+ "columnsTo": [
677
+ "id"
678
+ ],
679
+ "onDelete": "cascade",
680
+ "onUpdate": "no action"
681
+ }
682
+ },
683
+ "compositePrimaryKeys": {},
684
+ "uniqueConstraints": {},
685
+ "checkConstraints": {}
686
+ },
687
+ "job_events": {
688
+ "name": "job_events",
689
+ "columns": {
690
+ "id": {
691
+ "name": "id",
692
+ "type": "integer",
693
+ "primaryKey": true,
694
+ "notNull": true,
695
+ "autoincrement": true
696
+ },
697
+ "job_id": {
698
+ "name": "job_id",
699
+ "type": "integer",
700
+ "primaryKey": false,
701
+ "notNull": true,
702
+ "autoincrement": false
703
+ },
704
+ "ts": {
705
+ "name": "ts",
706
+ "type": "integer",
707
+ "primaryKey": false,
708
+ "notNull": true,
709
+ "autoincrement": false,
710
+ "default": "(unixepoch())"
711
+ },
712
+ "type": {
713
+ "name": "type",
714
+ "type": "text",
715
+ "primaryKey": false,
716
+ "notNull": true,
717
+ "autoincrement": false
718
+ },
719
+ "payload": {
720
+ "name": "payload",
721
+ "type": "text",
722
+ "primaryKey": false,
723
+ "notNull": true,
724
+ "autoincrement": false,
725
+ "default": "'{}'"
726
+ }
727
+ },
728
+ "indexes": {
729
+ "job_events_job_ts_idx": {
730
+ "name": "job_events_job_ts_idx",
731
+ "columns": [
732
+ "job_id",
733
+ "ts"
734
+ ],
735
+ "isUnique": false
736
+ }
737
+ },
738
+ "foreignKeys": {
739
+ "job_events_job_id_jobs_id_fk": {
740
+ "name": "job_events_job_id_jobs_id_fk",
741
+ "tableFrom": "job_events",
742
+ "tableTo": "jobs",
743
+ "columnsFrom": [
744
+ "job_id"
745
+ ],
746
+ "columnsTo": [
747
+ "id"
748
+ ],
749
+ "onDelete": "cascade",
750
+ "onUpdate": "no action"
751
+ }
752
+ },
753
+ "compositePrimaryKeys": {},
754
+ "uniqueConstraints": {},
755
+ "checkConstraints": {}
756
+ },
757
+ "jobs": {
758
+ "name": "jobs",
759
+ "columns": {
760
+ "id": {
761
+ "name": "id",
762
+ "type": "integer",
763
+ "primaryKey": true,
764
+ "notNull": true,
765
+ "autoincrement": true
766
+ },
767
+ "repo_id": {
768
+ "name": "repo_id",
769
+ "type": "integer",
770
+ "primaryKey": false,
771
+ "notNull": true,
772
+ "autoincrement": false
773
+ },
774
+ "issue_number": {
775
+ "name": "issue_number",
776
+ "type": "integer",
777
+ "primaryKey": false,
778
+ "notNull": true,
779
+ "autoincrement": false
780
+ },
781
+ "status": {
782
+ "name": "status",
783
+ "type": "text",
784
+ "primaryKey": false,
785
+ "notNull": true,
786
+ "autoincrement": false,
787
+ "default": "'queued'"
788
+ },
789
+ "branch": {
790
+ "name": "branch",
791
+ "type": "text",
792
+ "primaryKey": false,
793
+ "notNull": false,
794
+ "autoincrement": false
795
+ },
796
+ "pr_number": {
797
+ "name": "pr_number",
798
+ "type": "integer",
799
+ "primaryKey": false,
800
+ "notNull": false,
801
+ "autoincrement": false
802
+ },
803
+ "session_id": {
804
+ "name": "session_id",
805
+ "type": "text",
806
+ "primaryKey": false,
807
+ "notNull": false,
808
+ "autoincrement": false
809
+ },
810
+ "agent": {
811
+ "name": "agent",
812
+ "type": "text",
813
+ "primaryKey": false,
814
+ "notNull": true,
815
+ "autoincrement": false,
816
+ "default": "'claude'"
817
+ },
818
+ "started_at": {
819
+ "name": "started_at",
820
+ "type": "integer",
821
+ "primaryKey": false,
822
+ "notNull": false,
823
+ "autoincrement": false
824
+ },
825
+ "finished_at": {
826
+ "name": "finished_at",
827
+ "type": "integer",
828
+ "primaryKey": false,
829
+ "notNull": false,
830
+ "autoincrement": false
831
+ },
832
+ "model": {
833
+ "name": "model",
834
+ "type": "text",
835
+ "primaryKey": false,
836
+ "notNull": false,
837
+ "autoincrement": false
838
+ },
839
+ "max_turns": {
840
+ "name": "max_turns",
841
+ "type": "integer",
842
+ "primaryKey": false,
843
+ "notNull": true,
844
+ "autoincrement": false,
845
+ "default": 40
846
+ },
847
+ "total_input_tokens": {
848
+ "name": "total_input_tokens",
849
+ "type": "integer",
850
+ "primaryKey": false,
851
+ "notNull": true,
852
+ "autoincrement": false,
853
+ "default": 0
854
+ },
855
+ "total_output_tokens": {
856
+ "name": "total_output_tokens",
857
+ "type": "integer",
858
+ "primaryKey": false,
859
+ "notNull": true,
860
+ "autoincrement": false,
861
+ "default": 0
862
+ },
863
+ "cost_usd": {
864
+ "name": "cost_usd",
865
+ "type": "real",
866
+ "primaryKey": false,
867
+ "notNull": true,
868
+ "autoincrement": false,
869
+ "default": 0
870
+ },
871
+ "ci_retry_count": {
872
+ "name": "ci_retry_count",
873
+ "type": "integer",
874
+ "primaryKey": false,
875
+ "notNull": true,
876
+ "autoincrement": false,
877
+ "default": 0
878
+ },
879
+ "error_message": {
880
+ "name": "error_message",
881
+ "type": "text",
882
+ "primaryKey": false,
883
+ "notNull": false,
884
+ "autoincrement": false
885
+ },
886
+ "attempts": {
887
+ "name": "attempts",
888
+ "type": "integer",
889
+ "primaryKey": false,
890
+ "notNull": true,
891
+ "autoincrement": false,
892
+ "default": 0
893
+ },
894
+ "lease_token": {
895
+ "name": "lease_token",
896
+ "type": "text",
897
+ "primaryKey": false,
898
+ "notNull": false,
899
+ "autoincrement": false
900
+ },
901
+ "lease_expires_at": {
902
+ "name": "lease_expires_at",
903
+ "type": "integer",
904
+ "primaryKey": false,
905
+ "notNull": false,
906
+ "autoincrement": false
907
+ },
908
+ "worker_id": {
909
+ "name": "worker_id",
910
+ "type": "text",
911
+ "primaryKey": false,
912
+ "notNull": false,
913
+ "autoincrement": false
914
+ },
915
+ "available_at": {
916
+ "name": "available_at",
917
+ "type": "integer",
918
+ "primaryKey": false,
919
+ "notNull": false,
920
+ "autoincrement": false
921
+ },
922
+ "dedupe_key": {
923
+ "name": "dedupe_key",
924
+ "type": "text",
925
+ "primaryKey": false,
926
+ "notNull": false,
927
+ "autoincrement": false
928
+ },
929
+ "created_at": {
930
+ "name": "created_at",
931
+ "type": "integer",
932
+ "primaryKey": false,
933
+ "notNull": true,
934
+ "autoincrement": false,
935
+ "default": "(unixepoch())"
936
+ }
937
+ },
938
+ "indexes": {
939
+ "jobs_repo_idx": {
940
+ "name": "jobs_repo_idx",
941
+ "columns": [
942
+ "repo_id"
943
+ ],
944
+ "isUnique": false
945
+ },
946
+ "jobs_status_idx": {
947
+ "name": "jobs_status_idx",
948
+ "columns": [
949
+ "status"
950
+ ],
951
+ "isUnique": false
952
+ },
953
+ "jobs_lease_idx": {
954
+ "name": "jobs_lease_idx",
955
+ "columns": [
956
+ "lease_expires_at"
957
+ ],
958
+ "isUnique": false
959
+ },
960
+ "jobs_dedupe_active_unique": {
961
+ "name": "jobs_dedupe_active_unique",
962
+ "columns": [
963
+ "dedupe_key"
964
+ ],
965
+ "isUnique": true,
966
+ "where": "\"jobs\".\"dedupe_key\" is not null and \"jobs\".\"status\" not in ('merged', 'aborted')"
967
+ }
968
+ },
969
+ "foreignKeys": {
970
+ "jobs_repo_id_repos_id_fk": {
971
+ "name": "jobs_repo_id_repos_id_fk",
972
+ "tableFrom": "jobs",
973
+ "tableTo": "repos",
974
+ "columnsFrom": [
975
+ "repo_id"
976
+ ],
977
+ "columnsTo": [
978
+ "id"
979
+ ],
980
+ "onDelete": "cascade",
981
+ "onUpdate": "no action"
982
+ }
983
+ },
984
+ "compositePrimaryKeys": {},
985
+ "uniqueConstraints": {},
986
+ "checkConstraints": {}
987
+ },
988
+ "pr_questions": {
989
+ "name": "pr_questions",
990
+ "columns": {
991
+ "id": {
992
+ "name": "id",
993
+ "type": "integer",
994
+ "primaryKey": true,
995
+ "notNull": true,
996
+ "autoincrement": true
997
+ },
998
+ "job_id": {
999
+ "name": "job_id",
1000
+ "type": "integer",
1001
+ "primaryKey": false,
1002
+ "notNull": true,
1003
+ "autoincrement": false
1004
+ },
1005
+ "pr_number": {
1006
+ "name": "pr_number",
1007
+ "type": "integer",
1008
+ "primaryKey": false,
1009
+ "notNull": true,
1010
+ "autoincrement": false
1011
+ },
1012
+ "question": {
1013
+ "name": "question",
1014
+ "type": "text",
1015
+ "primaryKey": false,
1016
+ "notNull": true,
1017
+ "autoincrement": false
1018
+ },
1019
+ "answer": {
1020
+ "name": "answer",
1021
+ "type": "text",
1022
+ "primaryKey": false,
1023
+ "notNull": false,
1024
+ "autoincrement": false
1025
+ },
1026
+ "status": {
1027
+ "name": "status",
1028
+ "type": "text",
1029
+ "primaryKey": false,
1030
+ "notNull": true,
1031
+ "autoincrement": false,
1032
+ "default": "'answering'"
1033
+ },
1034
+ "error_message": {
1035
+ "name": "error_message",
1036
+ "type": "text",
1037
+ "primaryKey": false,
1038
+ "notNull": false,
1039
+ "autoincrement": false
1040
+ },
1041
+ "created_at": {
1042
+ "name": "created_at",
1043
+ "type": "integer",
1044
+ "primaryKey": false,
1045
+ "notNull": true,
1046
+ "autoincrement": false,
1047
+ "default": "(unixepoch())"
1048
+ },
1049
+ "updated_at": {
1050
+ "name": "updated_at",
1051
+ "type": "integer",
1052
+ "primaryKey": false,
1053
+ "notNull": true,
1054
+ "autoincrement": false,
1055
+ "default": "(unixepoch())"
1056
+ }
1057
+ },
1058
+ "indexes": {
1059
+ "pr_questions_job_idx": {
1060
+ "name": "pr_questions_job_idx",
1061
+ "columns": [
1062
+ "job_id"
1063
+ ],
1064
+ "isUnique": false
1065
+ }
1066
+ },
1067
+ "foreignKeys": {
1068
+ "pr_questions_job_id_jobs_id_fk": {
1069
+ "name": "pr_questions_job_id_jobs_id_fk",
1070
+ "tableFrom": "pr_questions",
1071
+ "tableTo": "jobs",
1072
+ "columnsFrom": [
1073
+ "job_id"
1074
+ ],
1075
+ "columnsTo": [
1076
+ "id"
1077
+ ],
1078
+ "onDelete": "cascade",
1079
+ "onUpdate": "no action"
1080
+ }
1081
+ },
1082
+ "compositePrimaryKeys": {},
1083
+ "uniqueConstraints": {},
1084
+ "checkConstraints": {}
1085
+ },
1086
+ "prompt_templates": {
1087
+ "name": "prompt_templates",
1088
+ "columns": {
1089
+ "id": {
1090
+ "name": "id",
1091
+ "type": "integer",
1092
+ "primaryKey": true,
1093
+ "notNull": true,
1094
+ "autoincrement": true
1095
+ },
1096
+ "repo_id": {
1097
+ "name": "repo_id",
1098
+ "type": "integer",
1099
+ "primaryKey": false,
1100
+ "notNull": false,
1101
+ "autoincrement": false
1102
+ },
1103
+ "name": {
1104
+ "name": "name",
1105
+ "type": "text",
1106
+ "primaryKey": false,
1107
+ "notNull": true,
1108
+ "autoincrement": false
1109
+ },
1110
+ "content": {
1111
+ "name": "content",
1112
+ "type": "text",
1113
+ "primaryKey": false,
1114
+ "notNull": true,
1115
+ "autoincrement": false
1116
+ },
1117
+ "version": {
1118
+ "name": "version",
1119
+ "type": "integer",
1120
+ "primaryKey": false,
1121
+ "notNull": true,
1122
+ "autoincrement": false,
1123
+ "default": 1
1124
+ },
1125
+ "updated_at": {
1126
+ "name": "updated_at",
1127
+ "type": "integer",
1128
+ "primaryKey": false,
1129
+ "notNull": true,
1130
+ "autoincrement": false,
1131
+ "default": "(unixepoch())"
1132
+ }
1133
+ },
1134
+ "indexes": {},
1135
+ "foreignKeys": {
1136
+ "prompt_templates_repo_id_repos_id_fk": {
1137
+ "name": "prompt_templates_repo_id_repos_id_fk",
1138
+ "tableFrom": "prompt_templates",
1139
+ "tableTo": "repos",
1140
+ "columnsFrom": [
1141
+ "repo_id"
1142
+ ],
1143
+ "columnsTo": [
1144
+ "id"
1145
+ ],
1146
+ "onDelete": "cascade",
1147
+ "onUpdate": "no action"
1148
+ }
1149
+ },
1150
+ "compositePrimaryKeys": {},
1151
+ "uniqueConstraints": {},
1152
+ "checkConstraints": {}
1153
+ },
1154
+ "repos": {
1155
+ "name": "repos",
1156
+ "columns": {
1157
+ "id": {
1158
+ "name": "id",
1159
+ "type": "integer",
1160
+ "primaryKey": true,
1161
+ "notNull": true,
1162
+ "autoincrement": true
1163
+ },
1164
+ "path": {
1165
+ "name": "path",
1166
+ "type": "text",
1167
+ "primaryKey": false,
1168
+ "notNull": true,
1169
+ "autoincrement": false
1170
+ },
1171
+ "name": {
1172
+ "name": "name",
1173
+ "type": "text",
1174
+ "primaryKey": false,
1175
+ "notNull": true,
1176
+ "autoincrement": false
1177
+ },
1178
+ "default_branch": {
1179
+ "name": "default_branch",
1180
+ "type": "text",
1181
+ "primaryKey": false,
1182
+ "notNull": true,
1183
+ "autoincrement": false,
1184
+ "default": "'main'"
1185
+ },
1186
+ "queue_label": {
1187
+ "name": "queue_label",
1188
+ "type": "text",
1189
+ "primaryKey": false,
1190
+ "notNull": true,
1191
+ "autoincrement": false,
1192
+ "default": "'drydock:queue'"
1193
+ },
1194
+ "working_label": {
1195
+ "name": "working_label",
1196
+ "type": "text",
1197
+ "primaryKey": false,
1198
+ "notNull": true,
1199
+ "autoincrement": false,
1200
+ "default": "'drydock:working'"
1201
+ },
1202
+ "needs_human_label": {
1203
+ "name": "needs_human_label",
1204
+ "type": "text",
1205
+ "primaryKey": false,
1206
+ "notNull": true,
1207
+ "autoincrement": false,
1208
+ "default": "'drydock:needs-human'"
1209
+ },
1210
+ "default_model": {
1211
+ "name": "default_model",
1212
+ "type": "text",
1213
+ "primaryKey": false,
1214
+ "notNull": true,
1215
+ "autoincrement": false,
1216
+ "default": "'claude-opus-4-7'"
1217
+ },
1218
+ "agent": {
1219
+ "name": "agent",
1220
+ "type": "text",
1221
+ "primaryKey": false,
1222
+ "notNull": true,
1223
+ "autoincrement": false,
1224
+ "default": "'claude'"
1225
+ },
1226
+ "platform": {
1227
+ "name": "platform",
1228
+ "type": "text",
1229
+ "primaryKey": false,
1230
+ "notNull": true,
1231
+ "autoincrement": false,
1232
+ "default": "'github'"
1233
+ },
1234
+ "api_base_url": {
1235
+ "name": "api_base_url",
1236
+ "type": "text",
1237
+ "primaryKey": false,
1238
+ "notNull": false,
1239
+ "autoincrement": false
1240
+ },
1241
+ "api_token": {
1242
+ "name": "api_token",
1243
+ "type": "text",
1244
+ "primaryKey": false,
1245
+ "notNull": false,
1246
+ "autoincrement": false
1247
+ },
1248
+ "daily_cost_limit_usd": {
1249
+ "name": "daily_cost_limit_usd",
1250
+ "type": "real",
1251
+ "primaryKey": false,
1252
+ "notNull": true,
1253
+ "autoincrement": false,
1254
+ "default": 10
1255
+ },
1256
+ "adr_gating": {
1257
+ "name": "adr_gating",
1258
+ "type": "integer",
1259
+ "primaryKey": false,
1260
+ "notNull": true,
1261
+ "autoincrement": false,
1262
+ "default": false
1263
+ },
1264
+ "sequential": {
1265
+ "name": "sequential",
1266
+ "type": "integer",
1267
+ "primaryKey": false,
1268
+ "notNull": true,
1269
+ "autoincrement": false,
1270
+ "default": true
1271
+ },
1272
+ "auto_triage_enabled": {
1273
+ "name": "auto_triage_enabled",
1274
+ "type": "integer",
1275
+ "primaryKey": false,
1276
+ "notNull": true,
1277
+ "autoincrement": false,
1278
+ "default": false
1279
+ },
1280
+ "auto_process_enabled": {
1281
+ "name": "auto_process_enabled",
1282
+ "type": "integer",
1283
+ "primaryKey": false,
1284
+ "notNull": true,
1285
+ "autoincrement": false,
1286
+ "default": false
1287
+ },
1288
+ "auto_heal_ci": {
1289
+ "name": "auto_heal_ci",
1290
+ "type": "integer",
1291
+ "primaryKey": false,
1292
+ "notNull": true,
1293
+ "autoincrement": false,
1294
+ "default": false
1295
+ },
1296
+ "auto_review_feedback": {
1297
+ "name": "auto_review_feedback",
1298
+ "type": "integer",
1299
+ "primaryKey": false,
1300
+ "notNull": true,
1301
+ "autoincrement": false,
1302
+ "default": false
1303
+ },
1304
+ "auto_resolve_merge_conflicts": {
1305
+ "name": "auto_resolve_merge_conflicts",
1306
+ "type": "integer",
1307
+ "primaryKey": false,
1308
+ "notNull": true,
1309
+ "autoincrement": false,
1310
+ "default": false
1311
+ },
1312
+ "include_progress_replies": {
1313
+ "name": "include_progress_replies",
1314
+ "type": "integer",
1315
+ "primaryKey": false,
1316
+ "notNull": true,
1317
+ "autoincrement": false,
1318
+ "default": false
1319
+ },
1320
+ "auto_decompose": {
1321
+ "name": "auto_decompose",
1322
+ "type": "integer",
1323
+ "primaryKey": false,
1324
+ "notNull": true,
1325
+ "autoincrement": false,
1326
+ "default": false
1327
+ },
1328
+ "verify_pr": {
1329
+ "name": "verify_pr",
1330
+ "type": "integer",
1331
+ "primaryKey": false,
1332
+ "notNull": true,
1333
+ "autoincrement": false,
1334
+ "default": false
1335
+ },
1336
+ "auto_heal_deployments": {
1337
+ "name": "auto_heal_deployments",
1338
+ "type": "integer",
1339
+ "primaryKey": false,
1340
+ "notNull": true,
1341
+ "autoincrement": false,
1342
+ "default": false
1343
+ },
1344
+ "deployment_platform": {
1345
+ "name": "deployment_platform",
1346
+ "type": "text",
1347
+ "primaryKey": false,
1348
+ "notNull": false,
1349
+ "autoincrement": false
1350
+ },
1351
+ "trusted_reviewers": {
1352
+ "name": "trusted_reviewers",
1353
+ "type": "text",
1354
+ "primaryKey": false,
1355
+ "notNull": true,
1356
+ "autoincrement": false,
1357
+ "default": "'[]'"
1358
+ },
1359
+ "ignored_bots": {
1360
+ "name": "ignored_bots",
1361
+ "type": "text",
1362
+ "primaryKey": false,
1363
+ "notNull": true,
1364
+ "autoincrement": false,
1365
+ "default": "'[\"dependabot[bot]\",\"github-actions[bot]\",\"codecov[bot]\"]'"
1366
+ },
1367
+ "ready_labels": {
1368
+ "name": "ready_labels",
1369
+ "type": "text",
1370
+ "primaryKey": false,
1371
+ "notNull": true,
1372
+ "autoincrement": false,
1373
+ "default": "'[\"ready\",\"ready-for-agent\",\"ready-to-work\"]'"
1374
+ },
1375
+ "blocking_labels": {
1376
+ "name": "blocking_labels",
1377
+ "type": "text",
1378
+ "primaryKey": false,
1379
+ "notNull": true,
1380
+ "autoincrement": false,
1381
+ "default": "'[\"blocked\",\"question\",\"needs-human\",\"needs-discussion\",\"wontfix\",\"duplicate\",\"invalid\"]'"
1382
+ },
1383
+ "auto_label_whitelist": {
1384
+ "name": "auto_label_whitelist",
1385
+ "type": "text",
1386
+ "primaryKey": false,
1387
+ "notNull": true,
1388
+ "autoincrement": false,
1389
+ "default": "'[\"bug\",\"enhancement\",\"documentation\",\"ready\"]'"
1390
+ },
1391
+ "priority_authors": {
1392
+ "name": "priority_authors",
1393
+ "type": "text",
1394
+ "primaryKey": false,
1395
+ "notNull": true,
1396
+ "autoincrement": false,
1397
+ "default": "'[]'"
1398
+ },
1399
+ "min_author_association": {
1400
+ "name": "min_author_association",
1401
+ "type": "text",
1402
+ "primaryKey": false,
1403
+ "notNull": true,
1404
+ "autoincrement": false,
1405
+ "default": "'approved'"
1406
+ },
1407
+ "max_attempts": {
1408
+ "name": "max_attempts",
1409
+ "type": "integer",
1410
+ "primaryKey": false,
1411
+ "notNull": true,
1412
+ "autoincrement": false,
1413
+ "default": 3
1414
+ },
1415
+ "max_job_minutes": {
1416
+ "name": "max_job_minutes",
1417
+ "type": "integer",
1418
+ "primaryKey": false,
1419
+ "notNull": false,
1420
+ "autoincrement": false
1421
+ },
1422
+ "max_ci_wait_minutes": {
1423
+ "name": "max_ci_wait_minutes",
1424
+ "type": "integer",
1425
+ "primaryKey": false,
1426
+ "notNull": false,
1427
+ "autoincrement": false
1428
+ },
1429
+ "max_job_cost_usd": {
1430
+ "name": "max_job_cost_usd",
1431
+ "type": "real",
1432
+ "primaryKey": false,
1433
+ "notNull": false,
1434
+ "autoincrement": false
1435
+ },
1436
+ "agent_instructions": {
1437
+ "name": "agent_instructions",
1438
+ "type": "text",
1439
+ "primaryKey": false,
1440
+ "notNull": false,
1441
+ "autoincrement": false
1442
+ },
1443
+ "created_at": {
1444
+ "name": "created_at",
1445
+ "type": "integer",
1446
+ "primaryKey": false,
1447
+ "notNull": true,
1448
+ "autoincrement": false,
1449
+ "default": "(unixepoch())"
1450
+ }
1451
+ },
1452
+ "indexes": {},
1453
+ "foreignKeys": {},
1454
+ "compositePrimaryKeys": {},
1455
+ "uniqueConstraints": {},
1456
+ "checkConstraints": {}
1457
+ },
1458
+ "review_feedback_items": {
1459
+ "name": "review_feedback_items",
1460
+ "columns": {
1461
+ "id": {
1462
+ "name": "id",
1463
+ "type": "integer",
1464
+ "primaryKey": true,
1465
+ "notNull": true,
1466
+ "autoincrement": true
1467
+ },
1468
+ "job_id": {
1469
+ "name": "job_id",
1470
+ "type": "integer",
1471
+ "primaryKey": false,
1472
+ "notNull": true,
1473
+ "autoincrement": false
1474
+ },
1475
+ "pr_number": {
1476
+ "name": "pr_number",
1477
+ "type": "integer",
1478
+ "primaryKey": false,
1479
+ "notNull": true,
1480
+ "autoincrement": false
1481
+ },
1482
+ "thread_id": {
1483
+ "name": "thread_id",
1484
+ "type": "text",
1485
+ "primaryKey": false,
1486
+ "notNull": true,
1487
+ "autoincrement": false
1488
+ },
1489
+ "reviewer": {
1490
+ "name": "reviewer",
1491
+ "type": "text",
1492
+ "primaryKey": false,
1493
+ "notNull": true,
1494
+ "autoincrement": false
1495
+ },
1496
+ "classification": {
1497
+ "name": "classification",
1498
+ "type": "text",
1499
+ "primaryKey": false,
1500
+ "notNull": true,
1501
+ "autoincrement": false
1502
+ },
1503
+ "status": {
1504
+ "name": "status",
1505
+ "type": "text",
1506
+ "primaryKey": false,
1507
+ "notNull": true,
1508
+ "autoincrement": false,
1509
+ "default": "'pending'"
1510
+ },
1511
+ "attempts": {
1512
+ "name": "attempts",
1513
+ "type": "integer",
1514
+ "primaryKey": false,
1515
+ "notNull": true,
1516
+ "autoincrement": false,
1517
+ "default": 0
1518
+ },
1519
+ "detail": {
1520
+ "name": "detail",
1521
+ "type": "text",
1522
+ "primaryKey": false,
1523
+ "notNull": false,
1524
+ "autoincrement": false
1525
+ },
1526
+ "created_at": {
1527
+ "name": "created_at",
1528
+ "type": "integer",
1529
+ "primaryKey": false,
1530
+ "notNull": true,
1531
+ "autoincrement": false,
1532
+ "default": "(unixepoch())"
1533
+ },
1534
+ "updated_at": {
1535
+ "name": "updated_at",
1536
+ "type": "integer",
1537
+ "primaryKey": false,
1538
+ "notNull": true,
1539
+ "autoincrement": false,
1540
+ "default": "(unixepoch())"
1541
+ }
1542
+ },
1543
+ "indexes": {
1544
+ "review_feedback_job_idx": {
1545
+ "name": "review_feedback_job_idx",
1546
+ "columns": [
1547
+ "job_id"
1548
+ ],
1549
+ "isUnique": false
1550
+ },
1551
+ "review_feedback_job_thread_unique": {
1552
+ "name": "review_feedback_job_thread_unique",
1553
+ "columns": [
1554
+ "job_id",
1555
+ "thread_id"
1556
+ ],
1557
+ "isUnique": true
1558
+ }
1559
+ },
1560
+ "foreignKeys": {
1561
+ "review_feedback_items_job_id_jobs_id_fk": {
1562
+ "name": "review_feedback_items_job_id_jobs_id_fk",
1563
+ "tableFrom": "review_feedback_items",
1564
+ "tableTo": "jobs",
1565
+ "columnsFrom": [
1566
+ "job_id"
1567
+ ],
1568
+ "columnsTo": [
1569
+ "id"
1570
+ ],
1571
+ "onDelete": "cascade",
1572
+ "onUpdate": "no action"
1573
+ }
1574
+ },
1575
+ "compositePrimaryKeys": {},
1576
+ "uniqueConstraints": {},
1577
+ "checkConstraints": {}
1578
+ },
1579
+ "settings": {
1580
+ "name": "settings",
1581
+ "columns": {
1582
+ "key": {
1583
+ "name": "key",
1584
+ "type": "text",
1585
+ "primaryKey": true,
1586
+ "notNull": true,
1587
+ "autoincrement": false
1588
+ },
1589
+ "value": {
1590
+ "name": "value",
1591
+ "type": "text",
1592
+ "primaryKey": false,
1593
+ "notNull": true,
1594
+ "autoincrement": false
1595
+ }
1596
+ },
1597
+ "indexes": {},
1598
+ "foreignKeys": {},
1599
+ "compositePrimaryKeys": {},
1600
+ "uniqueConstraints": {},
1601
+ "checkConstraints": {}
1602
+ }
1603
+ },
1604
+ "views": {},
1605
+ "enums": {},
1606
+ "_meta": {
1607
+ "schemas": {},
1608
+ "tables": {},
1609
+ "columns": {}
1610
+ },
1611
+ "internal": {
1612
+ "indexes": {}
1613
+ }
1614
+ }