@shipfox/api-runners 5.0.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/CHANGELOG.md +80 -0
  3. package/dist/config.d.ts +5 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +54 -7
  6. package/dist/config.js.map +1 -1
  7. package/dist/core/demand.d.ts +6 -6
  8. package/dist/core/demand.d.ts.map +1 -1
  9. package/dist/core/demand.js +10 -10
  10. package/dist/core/demand.js.map +1 -1
  11. package/dist/core/entities/ephemeral-registration-token.d.ts +1 -1
  12. package/dist/core/entities/ephemeral-registration-token.d.ts.map +1 -1
  13. package/dist/core/entities/ephemeral-registration-token.js.map +1 -1
  14. package/dist/core/entities/provisioner-capability-snapshot.d.ts +13 -0
  15. package/dist/core/entities/provisioner-capability-snapshot.d.ts.map +1 -0
  16. package/dist/core/entities/provisioner-capability-snapshot.js +3 -0
  17. package/dist/core/entities/provisioner-capability-snapshot.js.map +1 -0
  18. package/dist/core/entities/provisioner-token.d.ts +10 -2
  19. package/dist/core/entities/provisioner-token.d.ts.map +1 -1
  20. package/dist/core/entities/provisioner-token.js.map +1 -1
  21. package/dist/core/entities/{provisioned-runner.d.ts → runner-instance.d.ts} +7 -6
  22. package/dist/core/entities/runner-instance.d.ts.map +1 -0
  23. package/dist/core/entities/runner-instance.js +3 -0
  24. package/dist/core/entities/runner-instance.js.map +1 -0
  25. package/dist/core/entities/runner-session.d.ts +4 -2
  26. package/dist/core/entities/runner-session.d.ts.map +1 -1
  27. package/dist/core/entities/runner-session.js.map +1 -1
  28. package/dist/core/ephemeral-registration-tokens.d.ts +5 -5
  29. package/dist/core/ephemeral-registration-tokens.d.ts.map +1 -1
  30. package/dist/core/ephemeral-registration-tokens.js +12 -12
  31. package/dist/core/ephemeral-registration-tokens.js.map +1 -1
  32. package/dist/core/errors.d.ts +16 -4
  33. package/dist/core/errors.d.ts.map +1 -1
  34. package/dist/core/errors.js +22 -4
  35. package/dist/core/errors.js.map +1 -1
  36. package/dist/core/index.d.ts +9 -5
  37. package/dist/core/index.d.ts.map +1 -1
  38. package/dist/core/index.js +6 -3
  39. package/dist/core/index.js.map +1 -1
  40. package/dist/core/job-executions.d.ts +2 -0
  41. package/dist/core/job-executions.d.ts.map +1 -1
  42. package/dist/core/job-executions.js +1 -2
  43. package/dist/core/job-executions.js.map +1 -1
  44. package/dist/core/maintenance.d.ts +1 -1
  45. package/dist/core/maintenance.d.ts.map +1 -1
  46. package/dist/core/maintenance.js +5 -5
  47. package/dist/core/maintenance.js.map +1 -1
  48. package/dist/core/provisioner-capability-snapshots.d.ts +5 -0
  49. package/dist/core/provisioner-capability-snapshots.d.ts.map +1 -0
  50. package/dist/core/provisioner-capability-snapshots.js +10 -0
  51. package/dist/core/provisioner-capability-snapshots.js.map +1 -0
  52. package/dist/core/provisioner-tokens.d.ts +10 -0
  53. package/dist/core/provisioner-tokens.d.ts.map +1 -1
  54. package/dist/core/provisioner-tokens.js +23 -1
  55. package/dist/core/provisioner-tokens.js.map +1 -1
  56. package/dist/core/rate-limit.d.ts.map +1 -1
  57. package/dist/core/rate-limit.js +2 -7
  58. package/dist/core/rate-limit.js.map +1 -1
  59. package/dist/core/runner-activation.d.ts +13 -0
  60. package/dist/core/runner-activation.d.ts.map +1 -0
  61. package/dist/core/runner-activation.js +36 -0
  62. package/dist/core/runner-activation.js.map +1 -0
  63. package/dist/core/runner-assignments.d.ts +6 -0
  64. package/dist/core/runner-assignments.d.ts.map +1 -0
  65. package/dist/core/runner-assignments.js +6 -0
  66. package/dist/core/runner-assignments.js.map +1 -0
  67. package/dist/core/runner-control-sessions.d.ts +46 -0
  68. package/dist/core/runner-control-sessions.d.ts.map +1 -0
  69. package/dist/core/runner-control-sessions.js +121 -0
  70. package/dist/core/runner-control-sessions.js.map +1 -0
  71. package/dist/core/runner-instances.d.ts +72 -0
  72. package/dist/core/runner-instances.d.ts.map +1 -0
  73. package/dist/core/runner-instances.js +165 -0
  74. package/dist/core/runner-instances.js.map +1 -0
  75. package/dist/core/runner-sessions.d.ts +8 -2
  76. package/dist/core/runner-sessions.d.ts.map +1 -1
  77. package/dist/core/runner-sessions.js +8 -5
  78. package/dist/core/runner-sessions.js.map +1 -1
  79. package/dist/db/db.d.ts +2698 -1054
  80. package/dist/db/db.d.ts.map +1 -1
  81. package/dist/db/db.js +9 -2
  82. package/dist/db/db.js.map +1 -1
  83. package/dist/db/ephemeral-registration-tokens.d.ts +2 -2
  84. package/dist/db/ephemeral-registration-tokens.d.ts.map +1 -1
  85. package/dist/db/ephemeral-registration-tokens.js +21 -21
  86. package/dist/db/ephemeral-registration-tokens.js.map +1 -1
  87. package/dist/db/index.d.ts +7 -4
  88. package/dist/db/index.d.ts.map +1 -1
  89. package/dist/db/index.js +5 -2
  90. package/dist/db/index.js.map +1 -1
  91. package/dist/db/job-executions.d.ts +6 -6
  92. package/dist/db/job-executions.d.ts.map +1 -1
  93. package/dist/db/job-executions.js +20 -19
  94. package/dist/db/job-executions.js.map +1 -1
  95. package/dist/db/provisioner-capability-snapshots.d.ts +21 -0
  96. package/dist/db/provisioner-capability-snapshots.d.ts.map +1 -0
  97. package/dist/db/provisioner-capability-snapshots.js +57 -0
  98. package/dist/db/provisioner-capability-snapshots.js.map +1 -0
  99. package/dist/db/provisioner-tokens.d.ts +7 -2
  100. package/dist/db/provisioner-tokens.d.ts.map +1 -1
  101. package/dist/db/provisioner-tokens.js +59 -10
  102. package/dist/db/provisioner-tokens.js.map +1 -1
  103. package/dist/db/reservations.d.ts +18 -0
  104. package/dist/db/reservations.d.ts.map +1 -1
  105. package/dist/db/reservations.js +88 -1
  106. package/dist/db/reservations.js.map +1 -1
  107. package/dist/db/runner-assignments.d.ts +7 -0
  108. package/dist/db/runner-assignments.d.ts.map +1 -0
  109. package/dist/db/runner-assignments.js +55 -0
  110. package/dist/db/runner-assignments.js.map +1 -0
  111. package/dist/db/runner-instances.d.ts +84 -0
  112. package/dist/db/runner-instances.d.ts.map +1 -0
  113. package/dist/db/runner-instances.js +497 -0
  114. package/dist/db/runner-instances.js.map +1 -0
  115. package/dist/db/runner-sessions.d.ts +5 -0
  116. package/dist/db/runner-sessions.d.ts.map +1 -1
  117. package/dist/db/runner-sessions.js +48 -2
  118. package/dist/db/runner-sessions.js.map +1 -1
  119. package/dist/db/schema/ephemeral-registration-tokens.d.ts +2 -2
  120. package/dist/db/schema/ephemeral-registration-tokens.js +3 -3
  121. package/dist/db/schema/ephemeral-registration-tokens.js.map +1 -1
  122. package/dist/db/schema/provisioner-capability-snapshots.d.ts +207 -0
  123. package/dist/db/schema/provisioner-capability-snapshots.d.ts.map +1 -0
  124. package/dist/db/schema/provisioner-capability-snapshots.js +38 -0
  125. package/dist/db/schema/provisioner-capability-snapshots.js.map +1 -0
  126. package/dist/db/schema/provisioner-tokens.d.ts +19 -1
  127. package/dist/db/schema/provisioner-tokens.d.ts.map +1 -1
  128. package/dist/db/schema/provisioner-tokens.js +29 -3
  129. package/dist/db/schema/provisioner-tokens.js.map +1 -1
  130. package/dist/db/schema/runner-activation-tokens.d.ts +161 -0
  131. package/dist/db/schema/runner-activation-tokens.d.ts.map +1 -0
  132. package/dist/db/schema/runner-activation-tokens.js +27 -0
  133. package/dist/db/schema/runner-activation-tokens.js.map +1 -0
  134. package/dist/db/schema/runner-control-sessions.d.ts +338 -0
  135. package/dist/db/schema/runner-control-sessions.d.ts.map +1 -0
  136. package/dist/db/schema/runner-control-sessions.js +52 -0
  137. package/dist/db/schema/runner-control-sessions.js.map +1 -0
  138. package/dist/db/schema/{provisioned-runners.d.ts → runner-instances.d.ts} +105 -34
  139. package/dist/db/schema/runner-instances.d.ts.map +1 -0
  140. package/dist/db/schema/{provisioned-runners.js → runner-instances.js} +23 -14
  141. package/dist/db/schema/runner-instances.js.map +1 -0
  142. package/dist/db/schema/runner-sessions.d.ts +39 -5
  143. package/dist/db/schema/runner-sessions.d.ts.map +1 -1
  144. package/dist/db/schema/runner-sessions.js +13 -6
  145. package/dist/db/schema/runner-sessions.js.map +1 -1
  146. package/dist/db/schema/running-job-executions.d.ts +2 -2
  147. package/dist/db/schema/running-job-executions.js +4 -4
  148. package/dist/db/schema/running-job-executions.js.map +1 -1
  149. package/dist/index.d.ts +6 -2
  150. package/dist/index.d.ts.map +1 -1
  151. package/dist/index.js +45 -39
  152. package/dist/index.js.map +1 -1
  153. package/dist/installation-provisioning.d.ts +14 -0
  154. package/dist/installation-provisioning.d.ts.map +1 -0
  155. package/dist/installation-provisioning.js +7 -0
  156. package/dist/installation-provisioning.js.map +1 -0
  157. package/dist/metrics/index.d.ts +1 -1
  158. package/dist/metrics/index.d.ts.map +1 -1
  159. package/dist/metrics/index.js +1 -1
  160. package/dist/metrics/index.js.map +1 -1
  161. package/dist/metrics/instance.d.ts +11 -7
  162. package/dist/metrics/instance.d.ts.map +1 -1
  163. package/dist/metrics/instance.js +13 -7
  164. package/dist/metrics/instance.js.map +1 -1
  165. package/dist/presentation/auth/index.d.ts +1 -0
  166. package/dist/presentation/auth/index.d.ts.map +1 -1
  167. package/dist/presentation/auth/index.js +1 -0
  168. package/dist/presentation/auth/index.js.map +1 -1
  169. package/dist/presentation/auth/provisioner-token-auth.d.ts.map +1 -1
  170. package/dist/presentation/auth/provisioner-token-auth.js +5 -1
  171. package/dist/presentation/auth/provisioner-token-auth.js.map +1 -1
  172. package/dist/presentation/auth/runner-control-session-auth.d.ts +4 -0
  173. package/dist/presentation/auth/runner-control-session-auth.d.ts.map +1 -0
  174. package/dist/presentation/auth/runner-control-session-auth.js +29 -0
  175. package/dist/presentation/auth/runner-control-session-auth.js.map +1 -0
  176. package/dist/presentation/auth/runner-registration-token-auth.d.ts +5 -1
  177. package/dist/presentation/auth/runner-registration-token-auth.d.ts.map +1 -1
  178. package/dist/presentation/auth/runner-registration-token-auth.js +21 -1
  179. package/dist/presentation/auth/runner-registration-token-auth.js.map +1 -1
  180. package/dist/presentation/dto/index.d.ts +1 -2
  181. package/dist/presentation/dto/index.d.ts.map +1 -1
  182. package/dist/presentation/dto/index.js +1 -2
  183. package/dist/presentation/dto/index.js.map +1 -1
  184. package/dist/presentation/dto/poll-demand.d.ts.map +1 -1
  185. package/dist/presentation/dto/poll-demand.js +7 -1
  186. package/dist/presentation/dto/poll-demand.js.map +1 -1
  187. package/dist/presentation/dto/provisioner-token.d.ts +1 -0
  188. package/dist/presentation/dto/provisioner-token.d.ts.map +1 -1
  189. package/dist/presentation/dto/provisioner-token.js +5 -1
  190. package/dist/presentation/dto/provisioner-token.js.map +1 -1
  191. package/dist/presentation/dto/{provisioned-runners.d.ts → runner-instances.d.ts} +9 -9
  192. package/dist/presentation/dto/runner-instances.d.ts.map +1 -0
  193. package/dist/presentation/dto/{provisioned-runners.js → runner-instances.js} +6 -6
  194. package/dist/presentation/dto/runner-instances.js.map +1 -0
  195. package/dist/presentation/index.d.ts +2 -2
  196. package/dist/presentation/index.d.ts.map +1 -1
  197. package/dist/presentation/index.js +2 -2
  198. package/dist/presentation/index.js.map +1 -1
  199. package/dist/presentation/inter-module.d.ts +5 -0
  200. package/dist/presentation/inter-module.d.ts.map +1 -0
  201. package/dist/presentation/inter-module.js +43 -0
  202. package/dist/presentation/inter-module.js.map +1 -0
  203. package/dist/presentation/routes/assign-runner-instances.d.ts +2 -0
  204. package/dist/presentation/routes/assign-runner-instances.d.ts.map +1 -0
  205. package/dist/presentation/routes/assign-runner-instances.js +40 -0
  206. package/dist/presentation/routes/assign-runner-instances.js.map +1 -0
  207. package/dist/presentation/routes/get-provisioner-me.d.ts.map +1 -1
  208. package/dist/presentation/routes/get-provisioner-me.js +5 -1
  209. package/dist/presentation/routes/get-provisioner-me.js.map +1 -1
  210. package/dist/presentation/routes/heartbeat.d.ts +2 -1
  211. package/dist/presentation/routes/heartbeat.d.ts.map +1 -1
  212. package/dist/presentation/routes/heartbeat.js +60 -50
  213. package/dist/presentation/routes/heartbeat.js.map +1 -1
  214. package/dist/presentation/routes/index.d.ts +3 -1
  215. package/dist/presentation/routes/index.d.ts.map +1 -1
  216. package/dist/presentation/routes/index.js +80 -51
  217. package/dist/presentation/routes/index.js.map +1 -1
  218. package/dist/presentation/routes/poll-demand.d.ts +2 -0
  219. package/dist/presentation/routes/poll-demand.d.ts.map +1 -1
  220. package/dist/presentation/routes/poll-demand.js +86 -45
  221. package/dist/presentation/routes/poll-demand.js.map +1 -1
  222. package/dist/presentation/routes/reconcile-runner-instances.d.ts +2 -0
  223. package/dist/presentation/routes/reconcile-runner-instances.d.ts.map +1 -0
  224. package/dist/presentation/routes/reconcile-runner-instances.js +27 -0
  225. package/dist/presentation/routes/reconcile-runner-instances.js.map +1 -0
  226. package/dist/presentation/routes/register.d.ts +2 -1
  227. package/dist/presentation/routes/register.d.ts.map +1 -1
  228. package/dist/presentation/routes/register.js +55 -52
  229. package/dist/presentation/routes/register.js.map +1 -1
  230. package/dist/presentation/routes/report-runner-instances.d.ts +2 -0
  231. package/dist/presentation/routes/report-runner-instances.d.ts.map +1 -0
  232. package/dist/presentation/routes/report-runner-instances.js +37 -0
  233. package/dist/presentation/routes/report-runner-instances.js.map +1 -0
  234. package/dist/presentation/routes/request-job.d.ts +2 -1
  235. package/dist/presentation/routes/request-job.d.ts.map +1 -1
  236. package/dist/presentation/routes/request-job.js +39 -36
  237. package/dist/presentation/routes/request-job.js.map +1 -1
  238. package/dist/presentation/routes/runner-enrollment.d.ts +8 -0
  239. package/dist/presentation/routes/runner-enrollment.d.ts.map +1 -0
  240. package/dist/presentation/routes/runner-enrollment.js +212 -0
  241. package/dist/presentation/routes/runner-enrollment.js.map +1 -0
  242. package/dist/temporal/activities/index.d.ts +2 -2
  243. package/dist/temporal/activities/index.d.ts.map +1 -1
  244. package/dist/temporal/activities/index.js +2 -2
  245. package/dist/temporal/activities/index.js.map +1 -1
  246. package/dist/temporal/activities/maintenance-activities.d.ts +1 -1
  247. package/dist/temporal/activities/maintenance-activities.d.ts.map +1 -1
  248. package/dist/temporal/activities/maintenance-activities.js +3 -3
  249. package/dist/temporal/activities/maintenance-activities.js.map +1 -1
  250. package/dist/temporal/workflows/index.bundle.js +3 -3
  251. package/dist/temporal/workflows/stuck-job-detector.js +2 -2
  252. package/dist/temporal/workflows/stuck-job-detector.js.map +1 -1
  253. package/dist/tsconfig.test.tsbuildinfo +1 -1
  254. package/drizzle/0000_initial.sql +91 -24
  255. package/drizzle/meta/0000_snapshot.json +392 -63
  256. package/package.json +21 -16
  257. package/src/config.test.ts +0 -26
  258. package/src/config.ts +48 -7
  259. package/src/core/demand.test.ts +29 -29
  260. package/src/core/demand.ts +22 -22
  261. package/src/core/entities/ephemeral-registration-token.ts +1 -1
  262. package/src/core/entities/provisioner-capability-snapshot.ts +12 -0
  263. package/src/core/entities/provisioner-token.ts +8 -2
  264. package/src/core/entities/{provisioned-runner.ts → runner-instance.ts} +6 -5
  265. package/src/core/entities/runner-session.ts +4 -2
  266. package/src/core/ephemeral-registration-tokens.test.ts +11 -11
  267. package/src/core/ephemeral-registration-tokens.ts +18 -20
  268. package/src/core/errors.ts +23 -4
  269. package/src/core/index.ts +37 -22
  270. package/src/core/job-executions.ts +3 -2
  271. package/src/core/maintenance.test.ts +13 -17
  272. package/src/core/maintenance.ts +5 -5
  273. package/src/core/provisioner-capability-snapshots.test.ts +35 -0
  274. package/src/core/provisioner-capability-snapshots.ts +12 -0
  275. package/src/core/provisioner-tokens.test.ts +20 -0
  276. package/src/core/provisioner-tokens.ts +33 -0
  277. package/src/core/rate-limit.test.ts +11 -27
  278. package/src/core/rate-limit.ts +3 -11
  279. package/src/core/runner-activation.ts +72 -0
  280. package/src/core/runner-assignments.ts +9 -0
  281. package/src/core/runner-control-sessions.ts +190 -0
  282. package/src/core/{provisioned-runners.test.ts → runner-instances.test.ts} +24 -24
  283. package/src/core/runner-instances.ts +301 -0
  284. package/src/core/runner-sessions.test.ts +112 -22
  285. package/src/core/runner-sessions.ts +25 -14
  286. package/src/db/db.ts +9 -2
  287. package/src/db/ephemeral-registration-tokens.test.ts +9 -9
  288. package/src/db/ephemeral-registration-tokens.ts +26 -26
  289. package/src/db/index.ts +30 -21
  290. package/src/db/job-executions.test.ts +13 -11
  291. package/src/db/job-executions.ts +33 -27
  292. package/src/db/provisioner-capability-snapshots.test.ts +175 -0
  293. package/src/db/provisioner-capability-snapshots.ts +130 -0
  294. package/src/db/provisioner-tokens.test.ts +139 -2
  295. package/src/db/provisioner-tokens.ts +123 -15
  296. package/src/db/reservations.test.ts +49 -0
  297. package/src/db/reservations.ts +146 -1
  298. package/src/db/runner-assignments.test.ts +163 -0
  299. package/src/db/runner-assignments.ts +115 -0
  300. package/src/db/{provisioned-runners.test.ts → runner-instances.test.ts} +442 -353
  301. package/src/db/runner-instances.ts +922 -0
  302. package/src/db/runner-sessions.test.ts +19 -6
  303. package/src/db/runner-sessions.ts +78 -2
  304. package/src/db/schema/ephemeral-registration-tokens.ts +4 -4
  305. package/src/db/schema/provisioner-capability-snapshots.ts +46 -0
  306. package/src/db/schema/provisioner-tokens.ts +33 -2
  307. package/src/db/schema/runner-activation-tokens.ts +22 -0
  308. package/src/db/schema/runner-control-sessions.ts +46 -0
  309. package/src/db/schema/{provisioned-runners.ts → runner-instances.ts} +28 -27
  310. package/src/db/schema/runner-sessions.ts +11 -7
  311. package/src/db/schema/running-job-executions.ts +5 -5
  312. package/src/index.test.ts +26 -0
  313. package/src/index.ts +38 -27
  314. package/src/installation-provisioning.ts +14 -0
  315. package/src/metrics/index.ts +5 -5
  316. package/src/metrics/instance.ts +25 -14
  317. package/src/presentation/auth/index.ts +4 -0
  318. package/src/presentation/auth/provisioner-token-auth.ts +8 -4
  319. package/src/presentation/auth/runner-control-session-auth.ts +31 -0
  320. package/src/presentation/auth/runner-registration-token-auth.ts +39 -3
  321. package/src/presentation/dto/index.ts +4 -8
  322. package/src/presentation/dto/poll-demand.ts +3 -1
  323. package/src/presentation/dto/provisioner-token.ts +5 -0
  324. package/src/presentation/dto/{provisioned-runners.ts → runner-instances.ts} +13 -15
  325. package/src/presentation/index.ts +2 -1
  326. package/src/presentation/inter-module.test.ts +15 -0
  327. package/src/presentation/inter-module.ts +53 -0
  328. package/src/presentation/routes/assign-runner-instances.ts +49 -0
  329. package/src/presentation/routes/get-provisioner-me.ts +3 -4
  330. package/src/presentation/routes/heartbeat.test.ts +4 -3
  331. package/src/presentation/routes/heartbeat.ts +67 -64
  332. package/src/presentation/routes/index.ts +91 -44
  333. package/src/presentation/routes/list-active-runners.test.ts +23 -23
  334. package/src/presentation/routes/manual-registration-tokens.test.ts +4 -3
  335. package/src/presentation/routes/poll-demand-release.test.ts +4 -4
  336. package/src/presentation/routes/poll-demand.test.ts +161 -22
  337. package/src/presentation/routes/poll-demand.ts +105 -45
  338. package/src/presentation/routes/provisioner-me.test.ts +37 -3
  339. package/src/presentation/routes/{reconcile-provisioned-runners.test.ts → reconcile-runner-instances.test.ts} +66 -61
  340. package/src/presentation/routes/reconcile-runner-instances.ts +30 -0
  341. package/src/presentation/routes/register.test.ts +9 -5
  342. package/src/presentation/routes/register.ts +61 -57
  343. package/src/presentation/routes/{report-provisioned-runners.test.ts → report-runner-instances.test.ts} +28 -28
  344. package/src/presentation/routes/{report-provisioned-runners.ts → report-runner-instances.ts} +14 -14
  345. package/src/presentation/routes/request-job.test.ts +5 -3
  346. package/src/presentation/routes/request-job.ts +41 -37
  347. package/src/presentation/routes/runner-enrollment.test.ts +319 -0
  348. package/src/presentation/routes/runner-enrollment.ts +196 -0
  349. package/src/temporal/activities/index.ts +2 -2
  350. package/src/temporal/activities/maintenance-activities.test.ts +7 -7
  351. package/src/temporal/activities/maintenance-activities.ts +3 -3
  352. package/src/temporal/workflows/stuck-job-detector.test.ts +3 -3
  353. package/src/temporal/workflows/stuck-job-detector.ts +2 -2
  354. package/test/env.ts +1 -3
  355. package/test/factories/ephemeral-registration-token.ts +2 -2
  356. package/test/factories/provisioner-token.ts +3 -1
  357. package/test/factories/runner-instance.ts +57 -0
  358. package/test/factories/runner-session.ts +3 -1
  359. package/test/fixtures/auth-inter-module.ts +30 -0
  360. package/test/globalSetup.ts +4 -1
  361. package/test/index.ts +2 -1
  362. package/tsconfig.build.tsbuildinfo +1 -1
  363. package/dist/core/entities/provisioned-runner.d.ts.map +0 -1
  364. package/dist/core/entities/provisioned-runner.js +0 -3
  365. package/dist/core/entities/provisioned-runner.js.map +0 -1
  366. package/dist/core/provisioned-runners.d.ts +0 -67
  367. package/dist/core/provisioned-runners.d.ts.map +0 -1
  368. package/dist/core/provisioned-runners.js +0 -162
  369. package/dist/core/provisioned-runners.js.map +0 -1
  370. package/dist/db/provisioned-runners.d.ts +0 -79
  371. package/dist/db/provisioned-runners.d.ts.map +0 -1
  372. package/dist/db/provisioned-runners.js +0 -466
  373. package/dist/db/provisioned-runners.js.map +0 -1
  374. package/dist/db/schema/provisioned-runners.d.ts.map +0 -1
  375. package/dist/db/schema/provisioned-runners.js.map +0 -1
  376. package/dist/presentation/dto/mint-registration-tokens.d.ts +0 -5
  377. package/dist/presentation/dto/mint-registration-tokens.d.ts.map +0 -1
  378. package/dist/presentation/dto/mint-registration-tokens.js +0 -19
  379. package/dist/presentation/dto/mint-registration-tokens.js.map +0 -1
  380. package/dist/presentation/dto/provisioned-runners.d.ts.map +0 -1
  381. package/dist/presentation/dto/provisioned-runners.js.map +0 -1
  382. package/dist/presentation/routes/mint-registration-tokens.d.ts +0 -2
  383. package/dist/presentation/routes/mint-registration-tokens.d.ts.map +0 -1
  384. package/dist/presentation/routes/mint-registration-tokens.js +0 -74
  385. package/dist/presentation/routes/mint-registration-tokens.js.map +0 -1
  386. package/dist/presentation/routes/reconcile-provisioned-runners.d.ts +0 -2
  387. package/dist/presentation/routes/reconcile-provisioned-runners.d.ts.map +0 -1
  388. package/dist/presentation/routes/reconcile-provisioned-runners.js +0 -27
  389. package/dist/presentation/routes/reconcile-provisioned-runners.js.map +0 -1
  390. package/dist/presentation/routes/report-provisioned-runners.d.ts +0 -2
  391. package/dist/presentation/routes/report-provisioned-runners.d.ts.map +0 -1
  392. package/dist/presentation/routes/report-provisioned-runners.js +0 -37
  393. package/dist/presentation/routes/report-provisioned-runners.js.map +0 -1
  394. package/src/core/provisioned-runners.ts +0 -301
  395. package/src/db/provisioned-runners.ts +0 -886
  396. package/src/presentation/dto/mint-registration-tokens.ts +0 -35
  397. package/src/presentation/routes/mint-registration-tokens.test.ts +0 -453
  398. package/src/presentation/routes/mint-registration-tokens.ts +0 -82
  399. package/src/presentation/routes/reconcile-provisioned-runners.ts +0 -30
  400. package/test/factories/provisioned-runner.ts +0 -78
@@ -1,5 +1,5 @@
1
1
  {
2
- "id": "669e6cda-3cb5-4614-aa46-8b5b62aacf40",
2
+ "id": "8d720b64-18a7-4afe-a026-b12f509aa356",
3
3
  "prevId": "00000000-0000-0000-0000-000000000000",
4
4
  "version": "7",
5
5
  "dialect": "postgresql",
@@ -33,8 +33,8 @@
33
33
  "primaryKey": false,
34
34
  "notNull": false
35
35
  },
36
- "provisioned_runner_id": {
37
- "name": "provisioned_runner_id",
36
+ "provider_runner_id": {
37
+ "name": "provider_runner_id",
38
38
  "type": "text",
39
39
  "primaryKey": false,
40
40
  "notNull": true
@@ -108,8 +108,8 @@
108
108
  "method": "btree",
109
109
  "with": {}
110
110
  },
111
- "runners_ephemeral_registration_tokens_active_provisioned_runner_idx": {
112
- "name": "runners_ephemeral_registration_tokens_active_provisioned_runner_idx",
111
+ "runners_ephemeral_registration_tokens_active_provider_runner_idx": {
112
+ "name": "runners_ephemeral_registration_tokens_active_provider_runner_idx",
113
113
  "columns": [
114
114
  {
115
115
  "expression": "workspace_id",
@@ -124,7 +124,7 @@
124
124
  "nulls": "last"
125
125
  },
126
126
  {
127
- "expression": "provisioned_runner_id",
127
+ "expression": "provider_runner_id",
128
128
  "isExpression": false,
129
129
  "asc": true,
130
130
  "nulls": "last"
@@ -517,8 +517,8 @@
517
517
  "checkConstraints": {},
518
518
  "isRLSEnabled": false
519
519
  },
520
- "public.runners_provisioned_runners": {
521
- "name": "runners_provisioned_runners",
520
+ "public.runners_runner_bootstrap_tokens": {
521
+ "name": "runners_runner_bootstrap_tokens",
522
522
  "schema": "",
523
523
  "columns": {
524
524
  "id": {
@@ -528,8 +528,8 @@
528
528
  "notNull": true,
529
529
  "default": "uuidv7()"
530
530
  },
531
- "workspace_id": {
532
- "name": "workspace_id",
531
+ "runner_instance_id": {
532
+ "name": "runner_instance_id",
533
533
  "type": "uuid",
534
534
  "primaryKey": false,
535
535
  "notNull": true
@@ -540,18 +540,227 @@
540
540
  "primaryKey": false,
541
541
  "notNull": true
542
542
  },
543
- "provisioned_runner_id": {
544
- "name": "provisioned_runner_id",
543
+ "hashed_token": {
544
+ "name": "hashed_token",
545
545
  "type": "text",
546
546
  "primaryKey": false,
547
547
  "notNull": true
548
548
  },
549
+ "prefix": { "name": "prefix", "type": "text", "primaryKey": false, "notNull": true },
550
+ "expires_at": {
551
+ "name": "expires_at",
552
+ "type": "timestamp with time zone",
553
+ "primaryKey": false,
554
+ "notNull": true
555
+ },
556
+ "consumed_at": {
557
+ "name": "consumed_at",
558
+ "type": "timestamp with time zone",
559
+ "primaryKey": false,
560
+ "notNull": false
561
+ },
562
+ "revoked_at": {
563
+ "name": "revoked_at",
564
+ "type": "timestamp with time zone",
565
+ "primaryKey": false,
566
+ "notNull": false
567
+ },
568
+ "created_at": {
569
+ "name": "created_at",
570
+ "type": "timestamp with time zone",
571
+ "primaryKey": false,
572
+ "notNull": true,
573
+ "default": "now()"
574
+ }
575
+ },
576
+ "indexes": {
577
+ "runners_runner_bootstrap_tokens_hashed_token_unique": {
578
+ "name": "runners_runner_bootstrap_tokens_hashed_token_unique",
579
+ "columns": [
580
+ { "expression": "hashed_token", "isExpression": false, "asc": true, "nulls": "last" }
581
+ ],
582
+ "isUnique": true,
583
+ "concurrently": false,
584
+ "method": "btree",
585
+ "with": {}
586
+ },
587
+ "runners_runner_bootstrap_tokens_runner_instance_idx": {
588
+ "name": "runners_runner_bootstrap_tokens_runner_instance_idx",
589
+ "columns": [
590
+ {
591
+ "expression": "runner_instance_id",
592
+ "isExpression": false,
593
+ "asc": true,
594
+ "nulls": "last"
595
+ }
596
+ ],
597
+ "isUnique": false,
598
+ "concurrently": false,
599
+ "method": "btree",
600
+ "with": {}
601
+ }
602
+ },
603
+ "foreignKeys": {},
604
+ "compositePrimaryKeys": {},
605
+ "uniqueConstraints": {},
606
+ "policies": {},
607
+ "checkConstraints": {},
608
+ "isRLSEnabled": false
609
+ },
610
+ "public.runners_runner_control_sessions": {
611
+ "name": "runners_runner_control_sessions",
612
+ "schema": "",
613
+ "columns": {
614
+ "id": {
615
+ "name": "id",
616
+ "type": "uuid",
617
+ "primaryKey": true,
618
+ "notNull": true,
619
+ "default": "uuidv7()"
620
+ },
621
+ "runner_instance_id": {
622
+ "name": "runner_instance_id",
623
+ "type": "uuid",
624
+ "primaryKey": false,
625
+ "notNull": true
626
+ },
627
+ "provisioner_id": {
628
+ "name": "provisioner_id",
629
+ "type": "uuid",
630
+ "primaryKey": false,
631
+ "notNull": true
632
+ },
633
+ "hashed_token": {
634
+ "name": "hashed_token",
635
+ "type": "text",
636
+ "primaryKey": false,
637
+ "notNull": true
638
+ },
639
+ "prefix": { "name": "prefix", "type": "text", "primaryKey": false, "notNull": true },
640
+ "expires_at": {
641
+ "name": "expires_at",
642
+ "type": "timestamp with time zone",
643
+ "primaryKey": false,
644
+ "notNull": true
645
+ },
646
+ "last_seen_at": {
647
+ "name": "last_seen_at",
648
+ "type": "timestamp with time zone",
649
+ "primaryKey": false,
650
+ "notNull": true,
651
+ "default": "now()"
652
+ },
653
+ "closed_at": {
654
+ "name": "closed_at",
655
+ "type": "timestamp with time zone",
656
+ "primaryKey": false,
657
+ "notNull": false
658
+ },
659
+ "close_reason": {
660
+ "name": "close_reason",
661
+ "type": "text",
662
+ "primaryKey": false,
663
+ "notNull": false
664
+ },
665
+ "created_at": {
666
+ "name": "created_at",
667
+ "type": "timestamp with time zone",
668
+ "primaryKey": false,
669
+ "notNull": true,
670
+ "default": "now()"
671
+ }
672
+ },
673
+ "indexes": {
674
+ "runners_runner_control_sessions_hashed_token_unique": {
675
+ "name": "runners_runner_control_sessions_hashed_token_unique",
676
+ "columns": [
677
+ { "expression": "hashed_token", "isExpression": false, "asc": true, "nulls": "last" }
678
+ ],
679
+ "isUnique": true,
680
+ "concurrently": false,
681
+ "method": "btree",
682
+ "with": {}
683
+ },
684
+ "runners_runner_control_sessions_active_runner_instance_unique": {
685
+ "name": "runners_runner_control_sessions_active_runner_instance_unique",
686
+ "columns": [
687
+ {
688
+ "expression": "runner_instance_id",
689
+ "isExpression": false,
690
+ "asc": true,
691
+ "nulls": "last"
692
+ }
693
+ ],
694
+ "isUnique": true,
695
+ "where": "\"closed_at\" is null",
696
+ "concurrently": false,
697
+ "method": "btree",
698
+ "with": {}
699
+ },
700
+ "runners_runner_control_sessions_runner_instance_idx": {
701
+ "name": "runners_runner_control_sessions_runner_instance_idx",
702
+ "columns": [
703
+ {
704
+ "expression": "runner_instance_id",
705
+ "isExpression": false,
706
+ "asc": true,
707
+ "nulls": "last"
708
+ }
709
+ ],
710
+ "isUnique": false,
711
+ "concurrently": false,
712
+ "method": "btree",
713
+ "with": {}
714
+ }
715
+ },
716
+ "foreignKeys": {},
717
+ "compositePrimaryKeys": {},
718
+ "uniqueConstraints": {},
719
+ "policies": {},
720
+ "checkConstraints": {},
721
+ "isRLSEnabled": false
722
+ },
723
+ "public.runners_runner_instances": {
724
+ "name": "runners_runner_instances",
725
+ "schema": "",
726
+ "columns": {
727
+ "id": {
728
+ "name": "id",
729
+ "type": "uuid",
730
+ "primaryKey": true,
731
+ "notNull": true,
732
+ "default": "uuidv7()"
733
+ },
734
+ "workspace_id": {
735
+ "name": "workspace_id",
736
+ "type": "uuid",
737
+ "primaryKey": false,
738
+ "notNull": false
739
+ },
740
+ "provisioner_id": {
741
+ "name": "provisioner_id",
742
+ "type": "uuid",
743
+ "primaryKey": false,
744
+ "notNull": true
745
+ },
746
+ "provider_runner_id": {
747
+ "name": "provider_runner_id",
748
+ "type": "text",
749
+ "primaryKey": false,
750
+ "notNull": false
751
+ },
549
752
  "reservation_id": {
550
753
  "name": "reservation_id",
551
754
  "type": "uuid",
552
755
  "primaryKey": false,
553
756
  "notNull": false
554
757
  },
758
+ "assigned_at": {
759
+ "name": "assigned_at",
760
+ "type": "timestamp with time zone",
761
+ "primaryKey": false,
762
+ "notNull": false
763
+ },
555
764
  "template_key": {
556
765
  "name": "template_key",
557
766
  "type": "text",
@@ -562,11 +771,12 @@
562
771
  "name": "labels",
563
772
  "type": "text[]",
564
773
  "primaryKey": false,
565
- "notNull": true
774
+ "notNull": true,
775
+ "default": "'{}'"
566
776
  },
567
777
  "state": {
568
778
  "name": "state",
569
- "type": "runners_provisioned_runner_state",
779
+ "type": "runners_provider_runner_state",
570
780
  "typeSchema": "public",
571
781
  "primaryKey": false,
572
782
  "notNull": true
@@ -589,6 +799,18 @@
589
799
  "primaryKey": false,
590
800
  "notNull": false
591
801
  },
802
+ "protocol_version": {
803
+ "name": "protocol_version",
804
+ "type": "text",
805
+ "primaryKey": false,
806
+ "notNull": false
807
+ },
808
+ "capabilities": {
809
+ "name": "capabilities",
810
+ "type": "jsonb",
811
+ "primaryKey": false,
812
+ "notNull": false
813
+ },
592
814
  "reported_at": {
593
815
  "name": "reported_at",
594
816
  "type": "timestamp with time zone",
@@ -647,15 +869,9 @@
647
869
  }
648
870
  },
649
871
  "indexes": {
650
- "runners_provisioned_runners_workspace_provisioner_runner_unique": {
651
- "name": "runners_provisioned_runners_workspace_provisioner_runner_unique",
872
+ "runners_runner_instances_provisioner_runner_unique": {
873
+ "name": "runners_runner_instances_provisioner_runner_unique",
652
874
  "columns": [
653
- {
654
- "expression": "workspace_id",
655
- "isExpression": false,
656
- "asc": true,
657
- "nulls": "last"
658
- },
659
875
  {
660
876
  "expression": "provisioner_id",
661
877
  "isExpression": false,
@@ -663,26 +879,21 @@
663
879
  "nulls": "last"
664
880
  },
665
881
  {
666
- "expression": "provisioned_runner_id",
882
+ "expression": "provider_runner_id",
667
883
  "isExpression": false,
668
884
  "asc": true,
669
885
  "nulls": "last"
670
886
  }
671
887
  ],
672
888
  "isUnique": true,
889
+ "where": "\"runners_runner_instances\".\"provider_runner_id\" is not null",
673
890
  "concurrently": false,
674
891
  "method": "btree",
675
892
  "with": {}
676
893
  },
677
- "runners_provisioned_runners_workspace_state_updated_idx": {
678
- "name": "runners_provisioned_runners_workspace_state_updated_idx",
894
+ "runners_runner_instances_workspace_state_updated_idx": {
895
+ "name": "runners_runner_instances_workspace_state_updated_idx",
679
896
  "columns": [
680
- {
681
- "expression": "workspace_id",
682
- "isExpression": false,
683
- "asc": true,
684
- "nulls": "last"
685
- },
686
897
  {
687
898
  "expression": "state",
688
899
  "isExpression": false,
@@ -701,8 +912,8 @@
701
912
  "method": "btree",
702
913
  "with": {}
703
914
  },
704
- "runners_provisioned_runners_stale_reaper_idx": {
705
- "name": "runners_provisioned_runners_stale_reaper_idx",
915
+ "runners_runner_instances_stale_reaper_idx": {
916
+ "name": "runners_runner_instances_stale_reaper_idx",
706
917
  "columns": [
707
918
  {
708
919
  "expression": "state",
@@ -721,12 +932,6 @@
721
932
  "isExpression": false,
722
933
  "asc": true,
723
934
  "nulls": "last"
724
- },
725
- {
726
- "expression": "workspace_id",
727
- "isExpression": false,
728
- "asc": true,
729
- "nulls": "last"
730
935
  }
731
936
  ],
732
937
  "isUnique": false,
@@ -734,36 +939,143 @@
734
939
  "method": "btree",
735
940
  "with": {}
736
941
  },
737
- "runners_provisioned_runners_active_template_counts_idx": {
738
- "name": "runners_provisioned_runners_active_template_counts_idx",
942
+ "runners_runner_instances_active_template_counts_idx": {
943
+ "name": "runners_runner_instances_active_template_counts_idx",
739
944
  "columns": [
740
945
  {
741
- "expression": "workspace_id",
946
+ "expression": "provisioner_id",
742
947
  "isExpression": false,
743
948
  "asc": true,
744
949
  "nulls": "last"
745
950
  },
746
951
  {
747
- "expression": "provisioner_id",
952
+ "expression": "state",
748
953
  "isExpression": false,
749
954
  "asc": true,
750
955
  "nulls": "last"
751
956
  },
752
957
  {
753
- "expression": "state",
958
+ "expression": "template_key",
959
+ "isExpression": false,
960
+ "asc": true,
961
+ "nulls": "last"
962
+ }
963
+ ],
964
+ "isUnique": false,
965
+ "where": "\"state\" in ('starting', 'running') and \"template_key\" is not null",
966
+ "concurrently": false,
967
+ "method": "btree",
968
+ "with": {}
969
+ }
970
+ },
971
+ "foreignKeys": {},
972
+ "compositePrimaryKeys": {},
973
+ "uniqueConstraints": {},
974
+ "policies": {},
975
+ "checkConstraints": {},
976
+ "isRLSEnabled": false
977
+ },
978
+ "public.runners_provisioner_capability_snapshots": {
979
+ "name": "runners_provisioner_capability_snapshots",
980
+ "schema": "",
981
+ "columns": {
982
+ "id": {
983
+ "name": "id",
984
+ "type": "uuid",
985
+ "primaryKey": true,
986
+ "notNull": true,
987
+ "default": "uuidv7()"
988
+ },
989
+ "workspace_id": {
990
+ "name": "workspace_id",
991
+ "type": "uuid",
992
+ "primaryKey": false,
993
+ "notNull": true
994
+ },
995
+ "provisioner_id": {
996
+ "name": "provisioner_id",
997
+ "type": "uuid",
998
+ "primaryKey": false,
999
+ "notNull": true
1000
+ },
1001
+ "template_key": {
1002
+ "name": "template_key",
1003
+ "type": "text",
1004
+ "primaryKey": false,
1005
+ "notNull": true
1006
+ },
1007
+ "labels": {
1008
+ "name": "labels",
1009
+ "type": "text[]",
1010
+ "primaryKey": false,
1011
+ "notNull": true
1012
+ },
1013
+ "available_slots": {
1014
+ "name": "available_slots",
1015
+ "type": "integer",
1016
+ "primaryKey": false,
1017
+ "notNull": true
1018
+ },
1019
+ "starting": {
1020
+ "name": "starting",
1021
+ "type": "integer",
1022
+ "primaryKey": false,
1023
+ "notNull": true
1024
+ },
1025
+ "running": {
1026
+ "name": "running",
1027
+ "type": "integer",
1028
+ "primaryKey": false,
1029
+ "notNull": true
1030
+ },
1031
+ "advertised_at": {
1032
+ "name": "advertised_at",
1033
+ "type": "timestamp with time zone",
1034
+ "primaryKey": false,
1035
+ "notNull": true,
1036
+ "default": "now()"
1037
+ },
1038
+ "created_at": {
1039
+ "name": "created_at",
1040
+ "type": "timestamp with time zone",
1041
+ "primaryKey": false,
1042
+ "notNull": true,
1043
+ "default": "now()"
1044
+ }
1045
+ },
1046
+ "indexes": {
1047
+ "runners_provisioner_capability_snapshots_workspace_active_idx": {
1048
+ "name": "runners_provisioner_capability_snapshots_workspace_active_idx",
1049
+ "columns": [
1050
+ {
1051
+ "expression": "workspace_id",
754
1052
  "isExpression": false,
755
1053
  "asc": true,
756
1054
  "nulls": "last"
757
1055
  },
758
1056
  {
759
- "expression": "template_key",
1057
+ "expression": "advertised_at",
1058
+ "isExpression": false,
1059
+ "asc": true,
1060
+ "nulls": "last"
1061
+ }
1062
+ ],
1063
+ "isUnique": false,
1064
+ "concurrently": false,
1065
+ "method": "btree",
1066
+ "with": {}
1067
+ },
1068
+ "runners_provisioner_capability_snapshots_provisioner_idx": {
1069
+ "name": "runners_provisioner_capability_snapshots_provisioner_idx",
1070
+ "columns": [
1071
+ {
1072
+ "expression": "provisioner_id",
760
1073
  "isExpression": false,
761
1074
  "asc": true,
762
1075
  "nulls": "last"
763
1076
  }
764
1077
  ],
765
1078
  "isUnique": false,
766
- "where": "\"state\" in ('starting', 'running') and \"template_key\" is not null",
767
1079
  "concurrently": false,
768
1080
  "method": "btree",
769
1081
  "with": {}
@@ -787,11 +1099,18 @@
787
1099
  "notNull": true,
788
1100
  "default": "uuidv7()"
789
1101
  },
1102
+ "scope": {
1103
+ "name": "scope",
1104
+ "type": "runners_provisioner_scope",
1105
+ "typeSchema": "public",
1106
+ "primaryKey": false,
1107
+ "notNull": true
1108
+ },
790
1109
  "workspace_id": {
791
1110
  "name": "workspace_id",
792
1111
  "type": "uuid",
793
1112
  "primaryKey": false,
794
- "notNull": true
1113
+ "notNull": false
795
1114
  },
796
1115
  "hashed_token": {
797
1116
  "name": "hashed_token",
@@ -904,7 +1223,12 @@
904
1223
  "compositePrimaryKeys": {},
905
1224
  "uniqueConstraints": {},
906
1225
  "policies": {},
907
- "checkConstraints": {},
1226
+ "checkConstraints": {
1227
+ "runners_provisioner_tokens_scope_workspace_ck": {
1228
+ "name": "runners_provisioner_tokens_scope_workspace_ck",
1229
+ "value": "(scope = 'workspace' AND workspace_id IS NOT NULL) OR (scope = 'installation' AND workspace_id IS NULL)"
1230
+ }
1231
+ },
908
1232
  "isRLSEnabled": false
909
1233
  },
910
1234
  "public.runners_rate_limits": {
@@ -1163,8 +1487,8 @@
1163
1487
  "primaryKey": false,
1164
1488
  "notNull": false
1165
1489
  },
1166
- "provisioned_runner_id": {
1167
- "name": "provisioned_runner_id",
1490
+ "provider_runner_id": {
1491
+ "name": "provider_runner_id",
1168
1492
  "type": "text",
1169
1493
  "primaryKey": false,
1170
1494
  "notNull": false
@@ -1243,8 +1567,8 @@
1243
1567
  "method": "btree",
1244
1568
  "with": {}
1245
1569
  },
1246
- "runners_runner_sessions_provisioned_runner_updated_idx": {
1247
- "name": "runners_runner_sessions_provisioned_runner_updated_idx",
1570
+ "runners_runner_sessions_provider_runner_updated_idx": {
1571
+ "name": "runners_runner_sessions_provider_runner_updated_idx",
1248
1572
  "columns": [
1249
1573
  {
1250
1574
  "expression": "workspace_id",
@@ -1259,7 +1583,7 @@
1259
1583
  "nulls": "last"
1260
1584
  },
1261
1585
  {
1262
- "expression": "provisioned_runner_id",
1586
+ "expression": "provider_runner_id",
1263
1587
  "isExpression": false,
1264
1588
  "asc": true,
1265
1589
  "nulls": "last"
@@ -1289,7 +1613,7 @@
1289
1613
  },
1290
1614
  "runners_runner_sessions_link_ck": {
1291
1615
  "name": "runners_runner_sessions_link_ck",
1292
- "value": "((\"runners_runner_sessions\".\"registration_token_kind\" = 'manual' AND \"runners_runner_sessions\".\"provisioner_id\" IS NULL AND \"runners_runner_sessions\".\"provisioned_runner_id\" IS NULL) OR (\"runners_runner_sessions\".\"registration_token_kind\" = 'ephemeral' AND \"runners_runner_sessions\".\"provisioner_id\" IS NOT NULL AND \"runners_runner_sessions\".\"provisioned_runner_id\" IS NOT NULL))"
1616
+ "value": "((\"runners_runner_sessions\".\"registration_token_kind\" = 'manual' AND \"runners_runner_sessions\".\"provisioner_id\" IS NULL AND \"runners_runner_sessions\".\"provider_runner_id\" IS NULL) OR (\"runners_runner_sessions\".\"registration_token_kind\" = 'ephemeral' AND \"runners_runner_sessions\".\"provisioner_id\" IS NOT NULL AND \"runners_runner_sessions\".\"provider_runner_id\" IS NOT NULL))"
1293
1617
  }
1294
1618
  },
1295
1619
  "isRLSEnabled": false
@@ -1353,8 +1677,8 @@
1353
1677
  "primaryKey": false,
1354
1678
  "notNull": false
1355
1679
  },
1356
- "provisioned_runner_id": {
1357
- "name": "provisioned_runner_id",
1680
+ "provider_runner_id": {
1681
+ "name": "provider_runner_id",
1358
1682
  "type": "text",
1359
1683
  "primaryKey": false,
1360
1684
  "notNull": false
@@ -1430,8 +1754,8 @@
1430
1754
  "method": "btree",
1431
1755
  "with": {}
1432
1756
  },
1433
- "runners_running_jobs_provisioned_runner_started_idx": {
1434
- "name": "runners_running_jobs_provisioned_runner_started_idx",
1757
+ "runners_running_jobs_provider_runner_started_idx": {
1758
+ "name": "runners_running_jobs_provider_runner_started_idx",
1435
1759
  "columns": [
1436
1760
  {
1437
1761
  "expression": "workspace_id",
@@ -1446,7 +1770,7 @@
1446
1770
  "nulls": "last"
1447
1771
  },
1448
1772
  {
1449
- "expression": "provisioned_runner_id",
1773
+ "expression": "provider_runner_id",
1450
1774
  "isExpression": false,
1451
1775
  "asc": true,
1452
1776
  "nulls": "last"
@@ -1480,7 +1804,7 @@
1480
1804
  "nulls": "last"
1481
1805
  },
1482
1806
  {
1483
- "expression": "provisioned_runner_id",
1807
+ "expression": "provider_runner_id",
1484
1808
  "isExpression": false,
1485
1809
  "asc": true,
1486
1810
  "nulls": "last"
@@ -1546,18 +1870,23 @@
1546
1870
  "checkConstraints": {
1547
1871
  "runners_running_jobs_link_ck": {
1548
1872
  "name": "runners_running_jobs_link_ck",
1549
- "value": "(\"runners_running_jobs\".\"provisioner_id\" IS NULL) = (\"runners_running_jobs\".\"provisioned_runner_id\" IS NULL)"
1873
+ "value": "(\"runners_running_jobs\".\"provisioner_id\" IS NULL) = (\"runners_running_jobs\".\"provider_runner_id\" IS NULL)"
1550
1874
  }
1551
1875
  },
1552
1876
  "isRLSEnabled": false
1553
1877
  }
1554
1878
  },
1555
1879
  "enums": {
1556
- "public.runners_provisioned_runner_state": {
1557
- "name": "runners_provisioned_runner_state",
1880
+ "public.runners_provider_runner_state": {
1881
+ "name": "runners_provider_runner_state",
1558
1882
  "schema": "public",
1559
1883
  "values": ["starting", "running", "stopping", "stopped", "failed", "terminated"]
1560
1884
  },
1885
+ "public.runners_provisioner_scope": {
1886
+ "name": "runners_provisioner_scope",
1887
+ "schema": "public",
1888
+ "values": ["workspace", "installation"]
1889
+ },
1561
1890
  "public.runners_runner_session_registration_token_kind": {
1562
1891
  "name": "runners_runner_session_registration_token_kind",
1563
1892
  "schema": "public",