@baochunli/flakes 0.0.4 → 0.0.6

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 (275) hide show
  1. package/dist/commands/host.d.ts.map +1 -1
  2. package/dist/commands/host.js +76 -2
  3. package/dist/commands/host.js.map +1 -1
  4. package/dist/commands/projects.d.ts +4 -0
  5. package/dist/commands/projects.d.ts.map +1 -0
  6. package/dist/commands/projects.js +133 -0
  7. package/dist/commands/projects.js.map +1 -0
  8. package/dist/commands/runs.d.ts.map +1 -1
  9. package/dist/commands/runs.js +5 -1
  10. package/dist/commands/runs.js.map +1 -1
  11. package/dist/commands/runtime.d.ts +0 -1
  12. package/dist/commands/runtime.d.ts.map +1 -1
  13. package/dist/commands/runtime.js +2 -280
  14. package/dist/commands/runtime.js.map +1 -1
  15. package/dist/commands/server.d.ts.map +1 -1
  16. package/dist/commands/server.js +0 -6
  17. package/dist/commands/server.js.map +1 -1
  18. package/dist/config-example.js +1 -1
  19. package/dist/config-example.js.map +1 -1
  20. package/dist/host-config.d.ts +1 -6
  21. package/dist/host-config.d.ts.map +1 -1
  22. package/dist/host-config.js +10 -28
  23. package/dist/host-config.js.map +1 -1
  24. package/dist/host-runner.d.ts +3 -0
  25. package/dist/host-runner.d.ts.map +1 -1
  26. package/dist/host-runner.js +18 -6
  27. package/dist/host-runner.js.map +1 -1
  28. package/dist/host-runtime.d.ts.map +1 -1
  29. package/dist/host-runtime.js +92 -2
  30. package/dist/host-runtime.js.map +1 -1
  31. package/dist/host-transport.js +2 -5
  32. package/dist/host-transport.js.map +1 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +19 -28
  35. package/dist/index.js.map +1 -1
  36. package/dist/node_modules/@flakes/auth/package.json +1 -1
  37. package/dist/node_modules/@flakes/console/.output/nitro.json +1 -1
  38. package/dist/node_modules/@flakes/console/.output/public/assets/DocumentationPage-CGIcMKwf.js +1 -0
  39. package/dist/node_modules/@flakes/console/.output/public/assets/ProjectsPage-ByTl4Kyy.js +1 -0
  40. package/dist/node_modules/@flakes/console/.output/public/assets/RunPage-5MmbVpaE.js +3 -0
  41. package/dist/node_modules/@flakes/console/.output/public/assets/RunsPage-fbDKP9kM.js +1 -0
  42. package/dist/node_modules/@flakes/console/.output/public/assets/SandboxesLens-DPG87mUE.js +1 -0
  43. package/dist/node_modules/@flakes/console/.output/public/assets/SandboxesPage-DIpzR_Ef.js +1 -0
  44. package/dist/node_modules/@flakes/console/.output/public/assets/TranscriptPage-mCgSqfv0.js +1 -0
  45. package/dist/node_modules/@flakes/console/.output/public/assets/_-CM2hE2sZ.js +1 -0
  46. package/dist/node_modules/@flakes/console/.output/public/assets/_runId-3ZZOAqUK.js +2 -0
  47. package/dist/node_modules/@flakes/console/.output/public/assets/_taskId-cy4RxW8Y.js +2 -0
  48. package/dist/node_modules/@flakes/console/.output/public/assets/account-BWoGGXJw.js +1 -0
  49. package/dist/node_modules/@flakes/console/.output/public/assets/account-forms-Dq70JDyg.js +1 -0
  50. package/dist/node_modules/@flakes/console/.output/public/assets/arrow-right-QzVbRzF_.js +1 -0
  51. package/dist/node_modules/@flakes/console/.output/public/assets/auth-layout-BFusNq3W.js +1 -0
  52. package/dist/node_modules/@flakes/console/.output/public/assets/bits-CTGNpp-v.js +1 -0
  53. package/dist/node_modules/@flakes/console/.output/public/assets/card-37qs8AAd.js +1 -0
  54. package/dist/node_modules/@flakes/console/.output/public/assets/circle-alert-CM0SVfzc.js +1 -0
  55. package/dist/node_modules/@flakes/console/.output/public/assets/circle-check-CzwcEElH.js +1 -0
  56. package/dist/node_modules/@flakes/console/.output/public/assets/circle-x-C_sOQVNQ.js +1 -0
  57. package/dist/node_modules/@flakes/console/.output/public/assets/device-BajR3eSF.js +1 -0
  58. package/dist/node_modules/@flakes/console/.output/public/assets/documentation-6ao_Ux6x.js +1 -0
  59. package/dist/node_modules/@flakes/console/.output/public/assets/{external-link-BW8lpiMR.js → external-link-BWhbbPgy.js} +1 -1
  60. package/dist/node_modules/@flakes/console/.output/public/assets/{file-text-DMdy8OfN.js → file-text-DLxLJ7P1.js} +1 -1
  61. package/dist/node_modules/@flakes/console/.output/public/assets/forgot-password-DOKn8_7P.js +1 -0
  62. package/dist/node_modules/@flakes/console/.output/public/assets/inbox-BVu38EN6.js +1 -0
  63. package/dist/node_modules/@flakes/console/.output/public/assets/{lib-DtfURcG3.js → lib-COfgMmRR.js} +3 -3
  64. package/dist/node_modules/@flakes/console/.output/public/assets/link-ll3nLBSM.js +1 -0
  65. package/dist/node_modules/@flakes/console/.output/public/assets/{lock-D4OhqEPW.js → lock-Ck2SfQA2.js} +1 -1
  66. package/dist/node_modules/@flakes/console/.output/public/assets/main-DVO9gWzi.js +1215 -0
  67. package/dist/node_modules/@flakes/console/.output/public/assets/matchContext-puEkI9BI.js +1 -0
  68. package/dist/node_modules/@flakes/console/.output/public/assets/otp-verification-qolVtiom.js +20 -0
  69. package/dist/node_modules/@flakes/console/.output/public/assets/projects-n5LSsNi3.js +2 -0
  70. package/dist/node_modules/@flakes/console/.output/public/assets/react-B8IZ02wI.js +1 -0
  71. package/dist/node_modules/@flakes/console/.output/public/assets/react-dom-ki7NpxV4.js +1 -0
  72. package/dist/node_modules/@flakes/console/.output/public/assets/redirect-Cu9zBy04.js +1 -0
  73. package/dist/node_modules/@flakes/console/.output/public/assets/reset-password-D-OlZeHQ.js +1 -0
  74. package/dist/node_modules/@flakes/console/.output/public/assets/runs-BB9ogobQ.js +2 -0
  75. package/dist/node_modules/@flakes/console/.output/public/assets/sandboxes-BIimz5FI.js +2 -0
  76. package/dist/node_modules/@flakes/console/.output/public/assets/{save-1uf5fQff.js → save-Bte_1tnN.js} +1 -1
  77. package/dist/node_modules/@flakes/console/.output/public/assets/security-DdQNcp6k.js +1 -0
  78. package/dist/node_modules/@flakes/console/.output/public/assets/signin-BoZiVxyq.js +1 -0
  79. package/dist/node_modules/@flakes/console/.output/public/assets/signin-form-tTBWDjhi.js +1 -0
  80. package/dist/node_modules/@flakes/console/.output/public/assets/signup-CBSszmUC.js +1 -0
  81. package/dist/node_modules/@flakes/console/.output/public/assets/styles-B8OXOvkO.css +2 -0
  82. package/dist/node_modules/@flakes/console/.output/public/assets/table-WMIs2m3R.js +1 -0
  83. package/dist/node_modules/@flakes/console/.output/public/assets/tiny-invariant-CO5X59di.js +1 -0
  84. package/dist/node_modules/@flakes/console/.output/public/assets/user-Bt9z7sSI.js +1 -0
  85. package/dist/node_modules/@flakes/console/.output/public/assets/utils-CBxvVKOM.js +1 -0
  86. package/dist/node_modules/@flakes/console/.output/public/assets/x-Bdsfqbi3.js +1 -0
  87. package/dist/node_modules/@flakes/console/.output/server/{_-DwPiGKLE.mjs → _-BGsKgsbF.mjs} +3 -3
  88. package/dist/node_modules/@flakes/console/.output/server/{_-C-u135Pp.mjs → _-DtPMXzt0.mjs} +3 -3
  89. package/dist/node_modules/@flakes/console/.output/server/_chunks/ProjectsPage.mjs +588 -0
  90. package/dist/node_modules/@flakes/console/.output/server/_chunks/RunPage.mjs +13 -7
  91. package/dist/node_modules/@flakes/console/.output/server/_chunks/RunsPage.mjs +43 -13
  92. package/dist/node_modules/@flakes/console/.output/server/_chunks/SandboxesLens.mjs +1 -1
  93. package/dist/node_modules/@flakes/console/.output/server/_chunks/SandboxesPage.mjs +253 -18
  94. package/dist/node_modules/@flakes/console/.output/server/_chunks/TranscriptPage.mjs +2 -3
  95. package/dist/node_modules/@flakes/console/.output/server/_chunks/bits.mjs +1 -1
  96. package/dist/node_modules/@flakes/console/.output/server/_chunks/button.mjs +461 -3
  97. package/dist/node_modules/@flakes/console/.output/server/_chunks/card.mjs +1 -1
  98. package/dist/node_modules/@flakes/console/.output/server/_chunks/project-navigation.mjs +79 -0
  99. package/dist/node_modules/@flakes/console/.output/server/_chunks/router.mjs +193 -111
  100. package/dist/node_modules/@flakes/console/.output/server/_chunks/table.mjs +1 -1
  101. package/dist/node_modules/@flakes/console/.output/server/_libs/lucide-react.mjs +178 -1
  102. package/dist/node_modules/@flakes/console/.output/server/{_runId-Cag5UaYU.mjs → _runId-P1u-vfcm.mjs} +2 -2
  103. package/dist/node_modules/@flakes/console/.output/server/{_runId-CJ5_8uS8.mjs → _runId-vO4tlCOP.mjs} +3 -3
  104. package/dist/node_modules/@flakes/console/.output/server/_ssr/{App-CwFtUgAz.mjs → App-C-XaVKoO.mjs} +118 -64
  105. package/dist/node_modules/@flakes/console/.output/server/_ssr/{DocumentationPage-CtBAQbzy.mjs → DocumentationPage-BR2KosFz.mjs} +3 -3
  106. package/dist/node_modules/@flakes/console/.output/server/_ssr/ProjectsPage-BUrep1wl.mjs +590 -0
  107. package/dist/node_modules/@flakes/console/.output/server/_ssr/{RunPage-CatpnkFy.mjs → RunPage-BHs-v0LU.mjs} +14 -7
  108. package/dist/node_modules/@flakes/console/.output/server/_ssr/{RunsPage-BmLTih8Z.mjs → RunsPage-iTNYVwL0.mjs} +44 -13
  109. package/dist/node_modules/@flakes/console/.output/server/_ssr/SandboxesPage-C1Z6dVce.mjs +423 -0
  110. package/dist/node_modules/@flakes/console/.output/server/_ssr/{TranscriptPage-DaSIDCKk.mjs → TranscriptPage-BcomoTls.mjs} +3 -3
  111. package/dist/node_modules/@flakes/console/.output/server/_ssr/{account-DzluYS58.mjs → account-Cp0s_IQK.mjs} +2 -2
  112. package/dist/node_modules/@flakes/console/.output/server/_ssr/account-forms-CsothyLo.mjs +1 -1
  113. package/dist/node_modules/@flakes/console/.output/server/_ssr/device-CRZl7dGv.mjs +1 -1
  114. package/dist/node_modules/@flakes/console/.output/server/_ssr/documentation-BnxmM-Yo.mjs +210 -0
  115. package/dist/node_modules/@flakes/console/.output/server/_ssr/{documentation-PC93pMWl.mjs → documentation-Cgyr3VKK.mjs} +3 -3
  116. package/dist/node_modules/@flakes/console/.output/server/_ssr/{hooks-COIYuQzf.mjs → hooks-CsVtQ1m-.mjs} +178 -6
  117. package/dist/node_modules/@flakes/console/.output/server/_ssr/project-navigation-DI77TL9a.mjs +79 -0
  118. package/dist/node_modules/@flakes/console/.output/server/_ssr/projects-R9sxR_t4.mjs +5 -0
  119. package/dist/node_modules/@flakes/console/.output/server/_ssr/reset-password-SmmTixcr.mjs +1 -1
  120. package/dist/node_modules/@flakes/console/.output/server/_ssr/{router-elhBqT5k.mjs → router-CobdI6gO.mjs} +49 -41
  121. package/dist/node_modules/@flakes/console/.output/server/_ssr/runs-D8MHe3QU.mjs +19 -0
  122. package/dist/node_modules/@flakes/console/.output/server/_ssr/{runs-CBkO-RO8.mjs → runs-mTxbc_pm.mjs} +17 -5
  123. package/dist/node_modules/@flakes/console/.output/server/_ssr/{sandboxes-qSX_pfUJ.mjs → sandboxes-B2z_9JyU.mjs} +2 -2
  124. package/dist/node_modules/@flakes/console/.output/server/_ssr/{sandboxes-BIAgn8pu2.mjs → sandboxes-r0y6Ihg6.mjs} +3 -3
  125. package/dist/node_modules/@flakes/console/.output/server/_ssr/signin-form-CQDi-0A5.mjs +1 -1
  126. package/dist/node_modules/@flakes/console/.output/server/_ssr/ssr.mjs +2 -2
  127. package/dist/node_modules/@flakes/console/.output/server/{_tanstack-start-manifest_v-CR_hZXXv.mjs → _tanstack-start-manifest_v-DpAwCFK9.mjs} +53 -46
  128. package/dist/node_modules/@flakes/console/.output/server/{_taskId-BaezvY0w.mjs → _taskId-Cz9xwj5L.mjs} +2 -2
  129. package/dist/node_modules/@flakes/console/.output/server/{_taskId-Da7kHKj9.mjs → _taskId-wQsG2CQj.mjs} +3 -3
  130. package/dist/node_modules/@flakes/console/package.json +1 -1
  131. package/dist/node_modules/@flakes/control-plane/dist/client-access.d.ts +17 -0
  132. package/dist/node_modules/@flakes/control-plane/dist/client-access.d.ts.map +1 -1
  133. package/dist/node_modules/@flakes/control-plane/dist/client-access.js +12 -0
  134. package/dist/node_modules/@flakes/control-plane/dist/client-access.js.map +1 -1
  135. package/dist/node_modules/@flakes/control-plane/dist/host-pool-matching.d.ts +24 -1
  136. package/dist/node_modules/@flakes/control-plane/dist/host-pool-matching.d.ts.map +1 -1
  137. package/dist/node_modules/@flakes/control-plane/dist/host-pool-matching.js +87 -3
  138. package/dist/node_modules/@flakes/control-plane/dist/host-pool-matching.js.map +1 -1
  139. package/dist/node_modules/@flakes/control-plane/dist/host-stream.d.ts.map +1 -1
  140. package/dist/node_modules/@flakes/control-plane/dist/host-stream.js +150 -40
  141. package/dist/node_modules/@flakes/control-plane/dist/host-stream.js.map +1 -1
  142. package/dist/node_modules/@flakes/control-plane/dist/routes/hosts.d.ts.map +1 -1
  143. package/dist/node_modules/@flakes/control-plane/dist/routes/hosts.js +219 -0
  144. package/dist/node_modules/@flakes/control-plane/dist/routes/hosts.js.map +1 -1
  145. package/dist/node_modules/@flakes/control-plane/dist/routes/projects.d.ts +3 -0
  146. package/dist/node_modules/@flakes/control-plane/dist/routes/projects.d.ts.map +1 -0
  147. package/dist/node_modules/@flakes/control-plane/dist/routes/projects.js +226 -0
  148. package/dist/node_modules/@flakes/control-plane/dist/routes/projects.js.map +1 -0
  149. package/dist/node_modules/@flakes/control-plane/dist/routes/runs.d.ts.map +1 -1
  150. package/dist/node_modules/@flakes/control-plane/dist/routes/runs.js +93 -6
  151. package/dist/node_modules/@flakes/control-plane/dist/routes/runs.js.map +1 -1
  152. package/dist/node_modules/@flakes/control-plane/dist/routes/sandboxes.js +48 -3
  153. package/dist/node_modules/@flakes/control-plane/dist/routes/sandboxes.js.map +1 -1
  154. package/dist/node_modules/@flakes/control-plane/dist/routes/tasks.js +2 -2
  155. package/dist/node_modules/@flakes/control-plane/dist/routes/tasks.js.map +1 -1
  156. package/dist/node_modules/@flakes/control-plane/dist/scheduler.d.ts +2 -0
  157. package/dist/node_modules/@flakes/control-plane/dist/scheduler.d.ts.map +1 -1
  158. package/dist/node_modules/@flakes/control-plane/dist/scheduler.js +53 -21
  159. package/dist/node_modules/@flakes/control-plane/dist/scheduler.js.map +1 -1
  160. package/dist/node_modules/@flakes/control-plane/dist/server.d.ts.map +1 -1
  161. package/dist/node_modules/@flakes/control-plane/dist/server.js +2 -0
  162. package/dist/node_modules/@flakes/control-plane/dist/server.js.map +1 -1
  163. package/dist/node_modules/@flakes/control-plane/dist/types.d.ts +2 -0
  164. package/dist/node_modules/@flakes/control-plane/dist/types.d.ts.map +1 -1
  165. package/dist/node_modules/@flakes/control-plane/package.json +1 -1
  166. package/dist/node_modules/@flakes/core/dist/config.d.ts.map +1 -1
  167. package/dist/node_modules/@flakes/core/dist/config.js +6 -2
  168. package/dist/node_modules/@flakes/core/dist/config.js.map +1 -1
  169. package/dist/node_modules/@flakes/core/dist/ids.d.ts +4 -0
  170. package/dist/node_modules/@flakes/core/dist/ids.d.ts.map +1 -1
  171. package/dist/node_modules/@flakes/core/dist/ids.js +2 -0
  172. package/dist/node_modules/@flakes/core/dist/ids.js.map +1 -1
  173. package/dist/node_modules/@flakes/core/dist/runtime.d.ts +1 -1
  174. package/dist/node_modules/@flakes/core/dist/schemas.d.ts +11 -0
  175. package/dist/node_modules/@flakes/core/dist/schemas.d.ts.map +1 -1
  176. package/dist/node_modules/@flakes/core/dist/schemas.js +10 -0
  177. package/dist/node_modules/@flakes/core/dist/schemas.js.map +1 -1
  178. package/dist/node_modules/@flakes/core/package.json +1 -1
  179. package/dist/node_modules/@flakes/harness-agent/package.json +1 -1
  180. package/dist/node_modules/@flakes/harness-sdk/package.json +1 -1
  181. package/dist/node_modules/@flakes/pi-agent/package.json +1 -1
  182. package/dist/node_modules/@flakes/protocol/dist/index.d.ts +1 -1
  183. package/dist/node_modules/@flakes/protocol/dist/index.d.ts.map +1 -1
  184. package/dist/node_modules/@flakes/protocol/dist/index.js +1 -1
  185. package/dist/node_modules/@flakes/protocol/dist/index.js.map +1 -1
  186. package/dist/node_modules/@flakes/protocol/dist/v1.d.ts +317 -0
  187. package/dist/node_modules/@flakes/protocol/dist/v1.d.ts.map +1 -1
  188. package/dist/node_modules/@flakes/protocol/dist/v1.js +50 -1
  189. package/dist/node_modules/@flakes/protocol/dist/v1.js.map +1 -1
  190. package/dist/node_modules/@flakes/protocol/package.json +1 -1
  191. package/dist/node_modules/@flakes/sandbox-runtime/dist/transport.js +3 -6
  192. package/dist/node_modules/@flakes/sandbox-runtime/dist/transport.js.map +1 -1
  193. package/dist/node_modules/@flakes/sandbox-runtime/package.json +1 -1
  194. package/dist/node_modules/@flakes/store/dist/artifacts-events-store.d.ts.map +1 -1
  195. package/dist/node_modules/@flakes/store/dist/artifacts-events-store.js +10 -0
  196. package/dist/node_modules/@flakes/store/dist/artifacts-events-store.js.map +1 -1
  197. package/dist/node_modules/@flakes/store/dist/host-provisioning-limits.d.ts +2 -1
  198. package/dist/node_modules/@flakes/store/dist/host-provisioning-limits.d.ts.map +1 -1
  199. package/dist/node_modules/@flakes/store/dist/host-provisioning-limits.js +1 -0
  200. package/dist/node_modules/@flakes/store/dist/host-provisioning-limits.js.map +1 -1
  201. package/dist/node_modules/@flakes/store/dist/kysely-store.d.ts +2 -2
  202. package/dist/node_modules/@flakes/store/dist/kysely-store.d.ts.map +1 -1
  203. package/dist/node_modules/@flakes/store/dist/kysely-store.js +2 -2
  204. package/dist/node_modules/@flakes/store/dist/kysely-store.js.map +1 -1
  205. package/dist/node_modules/@flakes/store/dist/managed-sandbox-instances-store.d.ts +14 -2
  206. package/dist/node_modules/@flakes/store/dist/managed-sandbox-instances-store.d.ts.map +1 -1
  207. package/dist/node_modules/@flakes/store/dist/managed-sandbox-instances-store.js +567 -9
  208. package/dist/node_modules/@flakes/store/dist/managed-sandbox-instances-store.js.map +1 -1
  209. package/dist/node_modules/@flakes/store/dist/mappers.d.ts +10 -2
  210. package/dist/node_modules/@flakes/store/dist/mappers.d.ts.map +1 -1
  211. package/dist/node_modules/@flakes/store/dist/mappers.js +46 -0
  212. package/dist/node_modules/@flakes/store/dist/mappers.js.map +1 -1
  213. package/dist/node_modules/@flakes/store/dist/projects-store.d.ts +42 -0
  214. package/dist/node_modules/@flakes/store/dist/projects-store.d.ts.map +1 -0
  215. package/dist/node_modules/@flakes/store/dist/projects-store.js +376 -0
  216. package/dist/node_modules/@flakes/store/dist/projects-store.js.map +1 -0
  217. package/dist/node_modules/@flakes/store/dist/runs-store.d.ts.map +1 -1
  218. package/dist/node_modules/@flakes/store/dist/runs-store.js +7 -2
  219. package/dist/node_modules/@flakes/store/dist/runs-store.js.map +1 -1
  220. package/dist/node_modules/@flakes/store/dist/schema.js +72 -0
  221. package/dist/node_modules/@flakes/store/dist/schema.js.map +1 -1
  222. package/dist/node_modules/@flakes/store/dist/store-base.d.ts +14 -12
  223. package/dist/node_modules/@flakes/store/dist/store-base.d.ts.map +1 -1
  224. package/dist/node_modules/@flakes/store/dist/tables.d.ts +41 -1
  225. package/dist/node_modules/@flakes/store/dist/tables.d.ts.map +1 -1
  226. package/dist/node_modules/@flakes/store/dist/tasks-store.d.ts.map +1 -1
  227. package/dist/node_modules/@flakes/store/dist/tasks-store.js +9 -2
  228. package/dist/node_modules/@flakes/store/dist/tasks-store.js.map +1 -1
  229. package/dist/node_modules/@flakes/store/dist/types.d.ts +189 -2
  230. package/dist/node_modules/@flakes/store/dist/types.d.ts.map +1 -1
  231. package/dist/node_modules/@flakes/store/package.json +1 -1
  232. package/package.json +1 -1
  233. package/dist/node_modules/@flakes/console/.output/public/assets/DocumentationPage-DM-ZYPgQ.js +0 -1
  234. package/dist/node_modules/@flakes/console/.output/public/assets/RunPage-i03UqHYF.js +0 -3
  235. package/dist/node_modules/@flakes/console/.output/public/assets/RunsPage-u8qbeAoV.js +0 -1
  236. package/dist/node_modules/@flakes/console/.output/public/assets/SandboxesLens-BUQQWmH6.js +0 -1
  237. package/dist/node_modules/@flakes/console/.output/public/assets/SandboxesPage-D8D_5kXP.js +0 -1
  238. package/dist/node_modules/@flakes/console/.output/public/assets/TranscriptPage-ChoFjiPI.js +0 -1
  239. package/dist/node_modules/@flakes/console/.output/public/assets/_-C4ecJpHe.js +0 -1
  240. package/dist/node_modules/@flakes/console/.output/public/assets/_runId-BZXYFY32.js +0 -2
  241. package/dist/node_modules/@flakes/console/.output/public/assets/_taskId-C28oHEU_.js +0 -2
  242. package/dist/node_modules/@flakes/console/.output/public/assets/account-B4wDEC7t.js +0 -1
  243. package/dist/node_modules/@flakes/console/.output/public/assets/account-forms-BLo66Mqa.js +0 -1
  244. package/dist/node_modules/@flakes/console/.output/public/assets/arrow-right-BMW8fJP5.js +0 -1
  245. package/dist/node_modules/@flakes/console/.output/public/assets/auth-layout-DiUSgtaY.js +0 -1
  246. package/dist/node_modules/@flakes/console/.output/public/assets/bits-Cv0Te4iz.js +0 -1
  247. package/dist/node_modules/@flakes/console/.output/public/assets/card-DSG3_teC.js +0 -1
  248. package/dist/node_modules/@flakes/console/.output/public/assets/circle-check-B0gtb8OH.js +0 -1
  249. package/dist/node_modules/@flakes/console/.output/public/assets/device-NrLWypMd.js +0 -1
  250. package/dist/node_modules/@flakes/console/.output/public/assets/dist-BtPw3IIV.js +0 -1
  251. package/dist/node_modules/@flakes/console/.output/public/assets/documentation-NRDmcDud.js +0 -1
  252. package/dist/node_modules/@flakes/console/.output/public/assets/forgot-password--3Mujc8s.js +0 -1
  253. package/dist/node_modules/@flakes/console/.output/public/assets/link-BsixJinJ.js +0 -1
  254. package/dist/node_modules/@flakes/console/.output/public/assets/main-KBvz0mSQ.js +0 -1055
  255. package/dist/node_modules/@flakes/console/.output/public/assets/matchContext-tJ0VTv5m.js +0 -1
  256. package/dist/node_modules/@flakes/console/.output/public/assets/otp-verification-BSXwS5bo.js +0 -20
  257. package/dist/node_modules/@flakes/console/.output/public/assets/react-DtOYBmep.js +0 -1
  258. package/dist/node_modules/@flakes/console/.output/public/assets/react-dom-DrIU40PY.js +0 -1
  259. package/dist/node_modules/@flakes/console/.output/public/assets/redirect-BEm0VK76.js +0 -1
  260. package/dist/node_modules/@flakes/console/.output/public/assets/reset-password-C7SbNx2J.js +0 -1
  261. package/dist/node_modules/@flakes/console/.output/public/assets/runs-xD4ynllK.js +0 -2
  262. package/dist/node_modules/@flakes/console/.output/public/assets/sandboxes-Cfr1Y2Dn.js +0 -2
  263. package/dist/node_modules/@flakes/console/.output/public/assets/security-CCThSJae.js +0 -1
  264. package/dist/node_modules/@flakes/console/.output/public/assets/signin-CYeR3TaY.js +0 -1
  265. package/dist/node_modules/@flakes/console/.output/public/assets/signin-form-Bp22jPob.js +0 -1
  266. package/dist/node_modules/@flakes/console/.output/public/assets/signup-DHhPfohX.js +0 -1
  267. package/dist/node_modules/@flakes/console/.output/public/assets/styles-8wEqfToJ.css +0 -2
  268. package/dist/node_modules/@flakes/console/.output/public/assets/table-DptQuuuq.js +0 -1
  269. package/dist/node_modules/@flakes/console/.output/public/assets/user-DK27uFod.js +0 -1
  270. package/dist/node_modules/@flakes/console/.output/public/assets/utils-CEE0-YEp.js +0 -1
  271. package/dist/node_modules/@flakes/console/.output/public/assets/x-fKvnmCoQ.js +0 -1
  272. package/dist/node_modules/@flakes/console/.output/server/_chunks/utils.mjs +0 -285
  273. package/dist/node_modules/@flakes/console/.output/server/_ssr/SandboxesPage-Dlq0Ga24.mjs +0 -187
  274. package/dist/node_modules/@flakes/console/.output/server/_ssr/documentation-Bf0VPrnt.mjs +0 -210
  275. package/dist/node_modules/@flakes/console/.output/server/_ssr/runs-BzfGldVd.mjs +0 -12
@@ -0,0 +1,376 @@
1
+ import { ProjectIdSchema } from "@flakes/core";
2
+ import { sql } from "kysely";
3
+ import { HOST_PROVISIONING_QUOTAS, HostProvisioningQuotaError, } from "./host-provisioning-limits.js";
4
+ import { toJson } from "./json.js";
5
+ import { mapHost, mapHostProjectBinding, mapProject } from "./mappers.js";
6
+ import { SandboxIdentitiesStore } from "./sandbox-identities-store.js";
7
+ /** Store layer for owner-scoped projects and host project placement metadata. */
8
+ export class ProjectsStore extends SandboxIdentitiesStore {
9
+ /** Creates an owner-scoped project with an immutable project key. */
10
+ async createProject(input) {
11
+ const now = this.nowIso();
12
+ const row = await this.db
13
+ .insertInto("projects")
14
+ .values({
15
+ project_id: input.projectId ?? this.createProjectId(),
16
+ owner_kind: input.ownerKind,
17
+ owner_id: input.ownerId,
18
+ owner_key: input.ownerKey,
19
+ project_key: input.projectKey,
20
+ name: input.name,
21
+ status: "active",
22
+ metadata_json: toJson(input.metadata),
23
+ archived_at: null,
24
+ created_at: now,
25
+ updated_at: now,
26
+ })
27
+ .returningAll()
28
+ .executeTakeFirstOrThrow();
29
+ return mapProject(row);
30
+ }
31
+ /** Returns one owner-scoped project by immutable key. */
32
+ async getProject(input) {
33
+ const row = await this.db
34
+ .selectFrom("projects")
35
+ .selectAll()
36
+ .where("owner_key", "=", input.ownerKey)
37
+ .where("project_key", "=", input.projectKey)
38
+ .executeTakeFirst();
39
+ return row ? mapProject(row) : undefined;
40
+ }
41
+ /** Returns one owner-scoped project by durable ID. */
42
+ async getProjectById(input) {
43
+ const row = await this.db
44
+ .selectFrom("projects")
45
+ .selectAll()
46
+ .where("owner_key", "=", input.ownerKey)
47
+ .where("project_id", "=", input.projectId)
48
+ .executeTakeFirst();
49
+ return row ? mapProject(row) : undefined;
50
+ }
51
+ /** Lists projects for one owner in immutable key order. */
52
+ async listProjects(input) {
53
+ let query = this.db
54
+ .selectFrom("projects")
55
+ .selectAll()
56
+ .where("owner_key", "=", input.ownerKey)
57
+ .orderBy("project_key");
58
+ if (input.status !== undefined) {
59
+ query = query.where("status", "=", input.status);
60
+ }
61
+ return (await query.execute()).map(mapProject);
62
+ }
63
+ /** Updates mutable project display fields without changing the project key. */
64
+ async updateProject(input) {
65
+ const row = await this.db
66
+ .updateTable("projects")
67
+ .set({
68
+ ...(input.name === undefined ? {} : { name: input.name }),
69
+ ...(input.metadata === undefined
70
+ ? {}
71
+ : { metadata_json: toJson(input.metadata) }),
72
+ updated_at: this.nowIso(),
73
+ })
74
+ .where("owner_key", "=", input.ownerKey)
75
+ .where("project_key", "=", input.projectKey)
76
+ .returningAll()
77
+ .executeTakeFirst();
78
+ return row ? mapProject(row) : undefined;
79
+ }
80
+ /** Archives one project without deleting it. */
81
+ async archiveProject(input) {
82
+ const now = this.nowIso();
83
+ const row = await this.db
84
+ .updateTable("projects")
85
+ .set({
86
+ status: "archived",
87
+ archived_at: now,
88
+ updated_at: now,
89
+ })
90
+ .where("owner_key", "=", input.ownerKey)
91
+ .where("project_key", "=", input.projectKey)
92
+ .returningAll()
93
+ .executeTakeFirst();
94
+ return row ? mapProject(row) : undefined;
95
+ }
96
+ /** Stores the console-managed host-local root for project workspaces. */
97
+ async setHostProjectWorkspaceRoot(input) {
98
+ const row = await this.db
99
+ .updateTable("hosts")
100
+ .set({
101
+ project_workspace_root: validateAbsoluteHostPath(input.projectWorkspaceRoot),
102
+ updated_at: this.nowIso(),
103
+ })
104
+ .where("owner_key", "=", input.ownerKey)
105
+ .where("host_id", "=", input.hostId)
106
+ .returningAll()
107
+ .executeTakeFirst();
108
+ return row ? mapHost(row) : undefined;
109
+ }
110
+ /** Upserts one project binding for an owned host. */
111
+ async upsertHostProjectBinding(input) {
112
+ return this.withTransaction(async (trx) => {
113
+ const host = await trx
114
+ .selectFrom("hosts")
115
+ .select(["owner_kind", "owner_id", "owner_key"])
116
+ .where("owner_key", "=", input.ownerKey)
117
+ .where("host_id", "=", input.hostId)
118
+ .forUpdate()
119
+ .executeTakeFirst();
120
+ if (!host) {
121
+ throw new Error("host not found");
122
+ }
123
+ const project = await trx
124
+ .selectFrom("projects")
125
+ .select(["project_id"])
126
+ .where("owner_key", "=", input.ownerKey)
127
+ .where("project_key", "=", input.projectKey)
128
+ .executeTakeFirst();
129
+ if (!project) {
130
+ throw new Error("project not found");
131
+ }
132
+ const existing = await trx
133
+ .selectFrom("host_project_bindings")
134
+ .select("binding_id")
135
+ .where("owner_key", "=", input.ownerKey)
136
+ .where("host_id", "=", input.hostId)
137
+ .where("project_id", "=", project.project_id)
138
+ .executeTakeFirst();
139
+ if (existing === undefined) {
140
+ const activeCount = await trx
141
+ .selectFrom("host_project_bindings as binding")
142
+ .innerJoin("projects as project", (join) => join
143
+ .onRef("project.project_id", "=", "binding.project_id")
144
+ .onRef("project.owner_key", "=", "binding.owner_key"))
145
+ .select(sql `count(*)::text`.as("count"))
146
+ .where("binding.owner_key", "=", input.ownerKey)
147
+ .where("binding.host_id", "=", input.hostId)
148
+ .where("project.status", "=", "active")
149
+ .executeTakeFirst();
150
+ if (Number(activeCount?.count ?? "0") >=
151
+ HOST_PROVISIONING_QUOTAS.maxHostProjectBindingsPerHost) {
152
+ throw new HostProvisioningQuotaError("host_project_binding_quota_exceeded", "host project binding quota exceeded", {
153
+ limit: HOST_PROVISIONING_QUOTAS.maxHostProjectBindingsPerHost,
154
+ });
155
+ }
156
+ }
157
+ const now = this.nowIso();
158
+ const allowedPoolKeys = normalizeAllowedPoolKeys(input.allowedPoolKeys);
159
+ const row = await trx
160
+ .insertInto("host_project_bindings")
161
+ .values({
162
+ binding_id: this.idGenerator.createId("host_project_binding"),
163
+ owner_kind: host.owner_kind,
164
+ owner_id: host.owner_id,
165
+ owner_key: host.owner_key,
166
+ host_id: input.hostId,
167
+ project_id: project.project_id,
168
+ allowed_pool_keys_json: toJson(allowedPoolKeys),
169
+ availability: "unknown",
170
+ unavailable_reason: null,
171
+ last_validated_at: null,
172
+ metadata_json: toJson(input.metadata),
173
+ created_at: now,
174
+ updated_at: now,
175
+ })
176
+ .onConflict((oc) => oc.columns(["owner_key", "host_id", "project_id"]).doUpdateSet({
177
+ allowed_pool_keys_json: toJson(allowedPoolKeys),
178
+ availability: "unknown",
179
+ unavailable_reason: null,
180
+ last_validated_at: null,
181
+ metadata_json: toJson(input.metadata),
182
+ updated_at: now,
183
+ }))
184
+ .returning("binding_id")
185
+ .executeTakeFirstOrThrow();
186
+ return this.getHostProjectBindingById(trx, row.binding_id);
187
+ });
188
+ }
189
+ /** Lists project bindings for one owned host. */
190
+ async listHostProjectBindings(input) {
191
+ const rows = await this.db
192
+ .selectFrom("host_project_bindings")
193
+ .innerJoin("projects", "projects.project_id", "host_project_bindings.project_id")
194
+ .selectAll("host_project_bindings")
195
+ .select("projects.project_key")
196
+ .where("host_project_bindings.owner_key", "=", input.ownerKey)
197
+ .where("host_project_bindings.host_id", "=", input.hostId)
198
+ .orderBy("host_project_bindings.created_at")
199
+ .orderBy("host_project_bindings.binding_id")
200
+ .execute();
201
+ return rows.map(mapHostProjectBinding);
202
+ }
203
+ /** Updates host-reported availability for one project binding. */
204
+ async updateHostProjectBindingAvailability(input) {
205
+ const now = this.nowIso();
206
+ const row = await this.db
207
+ .updateTable("host_project_bindings")
208
+ .set({
209
+ availability: input.availability,
210
+ unavailable_reason: input.availability === "unavailable"
211
+ ? (boundedUnavailableReason(input.unavailableReason) ?? null)
212
+ : null,
213
+ last_validated_at: now,
214
+ updated_at: now,
215
+ })
216
+ .where("owner_key", "=", input.ownerKey)
217
+ .where("host_id", "=", input.hostId)
218
+ .where("binding_id", "=", input.bindingId)
219
+ .returning("binding_id")
220
+ .executeTakeFirst();
221
+ return row
222
+ ? this.getHostProjectBindingById(this.db, row.binding_id)
223
+ : undefined;
224
+ }
225
+ /** Resets current snapshot bindings and marks omitted bindings unavailable. */
226
+ async markHostProjectBindingSnapshotOmissions(input) {
227
+ return this.withTransaction(async (trx) => {
228
+ if (!(await this.hostStreamFenceStillCurrent(trx, input.streamFence, {
229
+ requireSnapshotAcknowledged: true,
230
+ }))) {
231
+ return { status: "stale_stream" };
232
+ }
233
+ const now = this.nowIso();
234
+ const activeBindingIds = uniqueStrings(input.activeBindingIds);
235
+ if (activeBindingIds.length > 0) {
236
+ await trx
237
+ .updateTable("host_project_bindings")
238
+ .set({
239
+ availability: "unknown",
240
+ unavailable_reason: null,
241
+ last_validated_at: null,
242
+ updated_at: now,
243
+ })
244
+ .where("owner_key", "=", input.streamFence.ownerKey)
245
+ .where("host_id", "=", input.streamFence.hostId)
246
+ .where("binding_id", "in", activeBindingIds)
247
+ .execute();
248
+ }
249
+ let query = trx
250
+ .updateTable("host_project_bindings")
251
+ .set({
252
+ availability: "unavailable",
253
+ unavailable_reason: boundedUnavailableReason(input.unavailableReason),
254
+ last_validated_at: now,
255
+ updated_at: now,
256
+ })
257
+ .where("owner_key", "=", input.streamFence.ownerKey)
258
+ .where("host_id", "=", input.streamFence.hostId);
259
+ if (activeBindingIds.length > 0) {
260
+ query = query.where("binding_id", "not in", activeBindingIds);
261
+ }
262
+ await query.execute();
263
+ return { status: "applied" };
264
+ });
265
+ }
266
+ /** Records one host validation report for the bindings sent on a fenced stream. */
267
+ async recordHostProjectBindingValidationReport(input) {
268
+ return this.withTransaction(async (trx) => {
269
+ if (!(await this.hostStreamFenceStillCurrent(trx, input.streamFence, {
270
+ requireSnapshotAcknowledged: true,
271
+ }))) {
272
+ return { status: "stale_stream" };
273
+ }
274
+ const expectedBindingIds = uniqueStrings(input.expectedBindingIds);
275
+ const expected = new Set(expectedBindingIds);
276
+ const reportedBindingIds = input.bindings.map((binding) => binding.bindingId);
277
+ const uniqueReportedBindingIds = uniqueStrings(reportedBindingIds);
278
+ if (uniqueReportedBindingIds.length !== reportedBindingIds.length) {
279
+ return { status: "rejected" };
280
+ }
281
+ if (uniqueReportedBindingIds.some((bindingId) => !expected.has(bindingId))) {
282
+ return { status: "rejected" };
283
+ }
284
+ const checkedBindingIds = uniqueStrings([
285
+ ...expectedBindingIds,
286
+ ...uniqueReportedBindingIds,
287
+ ]);
288
+ if (checkedBindingIds.length > 0) {
289
+ const rows = await trx
290
+ .selectFrom("host_project_bindings")
291
+ .select("binding_id")
292
+ .where("owner_key", "=", input.streamFence.ownerKey)
293
+ .where("host_id", "=", input.streamFence.hostId)
294
+ .where("binding_id", "in", checkedBindingIds)
295
+ .forUpdate()
296
+ .execute();
297
+ if (rows.length !== checkedBindingIds.length) {
298
+ return { status: "rejected" };
299
+ }
300
+ }
301
+ const now = this.nowIso();
302
+ const reportByBindingId = new Map(input.bindings.map((binding) => [binding.bindingId, binding]));
303
+ for (const binding of input.bindings) {
304
+ await trx
305
+ .updateTable("host_project_bindings")
306
+ .set({
307
+ availability: binding.availability,
308
+ unavailable_reason: binding.availability === "unavailable"
309
+ ? (boundedUnavailableReason(binding.unavailableReason) ?? null)
310
+ : null,
311
+ last_validated_at: now,
312
+ updated_at: now,
313
+ })
314
+ .where("owner_key", "=", input.streamFence.ownerKey)
315
+ .where("host_id", "=", input.streamFence.hostId)
316
+ .where("binding_id", "=", binding.bindingId)
317
+ .execute();
318
+ }
319
+ const omittedBindingIds = expectedBindingIds.filter((bindingId) => !reportByBindingId.has(bindingId));
320
+ if (omittedBindingIds.length > 0) {
321
+ await trx
322
+ .updateTable("host_project_bindings")
323
+ .set({
324
+ availability: "unavailable",
325
+ unavailable_reason: boundedUnavailableReason(input.omittedUnavailableReason),
326
+ last_validated_at: now,
327
+ updated_at: now,
328
+ })
329
+ .where("owner_key", "=", input.streamFence.ownerKey)
330
+ .where("host_id", "=", input.streamFence.hostId)
331
+ .where("binding_id", "in", omittedBindingIds)
332
+ .execute();
333
+ }
334
+ return { status: "applied" };
335
+ });
336
+ }
337
+ createProjectId() {
338
+ return ProjectIdSchema.parse(this.idGenerator.createId("project"));
339
+ }
340
+ async getHostProjectBindingById(executor, bindingId) {
341
+ const row = await executor
342
+ .selectFrom("host_project_bindings")
343
+ .innerJoin("projects", "projects.project_id", "host_project_bindings.project_id")
344
+ .selectAll("host_project_bindings")
345
+ .select("projects.project_key")
346
+ .where("host_project_bindings.binding_id", "=", bindingId)
347
+ .executeTakeFirstOrThrow();
348
+ return mapHostProjectBinding(row);
349
+ }
350
+ }
351
+ function normalizeAllowedPoolKeys(poolKeys) {
352
+ const normalized = [...new Set(poolKeys.map((key) => key.trim()))];
353
+ if (normalized.length === 0 || normalized.some((key) => key.length === 0)) {
354
+ throw new Error("host project binding requires at least one pool key");
355
+ }
356
+ return normalized;
357
+ }
358
+ function validateAbsoluteHostPath(path) {
359
+ const value = path.trim();
360
+ if (!(value.startsWith("/") ||
361
+ /^[A-Za-z]:[\\/]/.test(value) ||
362
+ value.startsWith("\\\\"))) {
363
+ throw new Error("project workspace root must be an absolute path");
364
+ }
365
+ return value;
366
+ }
367
+ function boundedUnavailableReason(reason) {
368
+ if (reason === undefined) {
369
+ return undefined;
370
+ }
371
+ return reason.slice(0, 256);
372
+ }
373
+ function uniqueStrings(values) {
374
+ return [...new Set(values)];
375
+ }
376
+ //# sourceMappingURL=projects-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects-store.js","sourceRoot":"","sources":["../src/projects-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runs-store.d.ts","sourceRoot":"","sources":["../src/runs-store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,QAAQ,EACR,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,yDAAyD;AACzD,8BAAsB,SAAU,SAAQ,SAAS;IAC/C,8EAA8E;IACxE,SAAS,CAAC,KAAK,EAAE,cAAc;IA8CrC,oFAAoF;IAC9E,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoDtE,kEAAkE;IAC5D,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAwC7D,qEAAqE;YACvD,gBAAgB;IAoB9B,6BAA6B;IACvB,MAAM,CAAC,KAAK,EAAE,MAAM;IAS1B,gFAAgF;IAC1E,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;YAkI/C,mBAAmB;IAcjC,yDAAyD;IACnD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAShD,4CAA4C;IACtC,WAAW,CAAC,KAAK,EAAE,gBAAgB;CAY1C"}
1
+ {"version":3,"file":"runs-store.d.ts","sourceRoot":"","sources":["../src/runs-store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,QAAQ,EACR,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,yDAAyD;AACzD,8BAAsB,SAAU,SAAQ,SAAS;IAC/C,8EAA8E;IACxE,SAAS,CAAC,KAAK,EAAE,cAAc;IA4CrC,oFAAoF;IAC9E,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqDtE,kEAAkE;IAC5D,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA2C7D,qEAAqE;YACvD,gBAAgB;IAoB9B,6BAA6B;IACvB,MAAM,CAAC,KAAK,EAAE,MAAM;IAS1B,gFAAgF;IAC1E,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;YAkI/C,mBAAmB;IAcjC,yDAAyD;IACnD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAShD,4CAA4C;IACtC,WAAW,CAAC,KAAK,EAAE,gBAAgB;CAY1C"}
@@ -16,8 +16,7 @@ export class RunsStore extends StoreBase {
16
16
  .where("idempotency_key", "=", input.idempotencyKey)
17
17
  .executeTakeFirst();
18
18
  if (existing) {
19
- if (existing.submission_digest !== (input.submissionDigest ?? null) ||
20
- !sameOwnerFields(mapRun(existing), owner)) {
19
+ if (!sameIdempotentRun(mapRun(existing), input)) {
21
20
  throw new Error("idempotency key reused with a different submission");
22
21
  }
23
22
  return mapRun(existing);
@@ -28,6 +27,7 @@ export class RunsStore extends StoreBase {
28
27
  .insertInto("runs")
29
28
  .values({
30
29
  run_id: input.runId,
30
+ project_id: input.projectId ?? null,
31
31
  name: input.name,
32
32
  state: "CREATED",
33
33
  owner_kind: owner.ownerKind,
@@ -55,6 +55,7 @@ export class RunsStore extends StoreBase {
55
55
  .insertInto("runs")
56
56
  .values({
57
57
  run_id: input.runId,
58
+ project_id: input.projectId ?? null,
58
59
  name: input.name,
59
60
  state: "CREATED",
60
61
  owner_kind: owner.ownerKind,
@@ -109,6 +110,9 @@ export class RunsStore extends StoreBase {
109
110
  if (input.state !== undefined) {
110
111
  query = query.where("state", "=", input.state);
111
112
  }
113
+ if (input.projectId !== undefined) {
114
+ query = query.where("project_id", "=", input.projectId);
115
+ }
112
116
  if (input.cursor !== undefined) {
113
117
  const { createdAt, runId } = input.cursor;
114
118
  query = query.where(({ eb, or, and }) => or([
@@ -318,6 +322,7 @@ export class RunsStore extends StoreBase {
318
322
  function sameIdempotentRun(run, input) {
319
323
  return (input.idempotencyKey !== undefined &&
320
324
  sameOwnerFields(run, input) &&
325
+ run.projectId === input.projectId &&
321
326
  run.idempotencyKey === input.idempotencyKey &&
322
327
  run.submissionDigest === input.submissionDigest);
323
328
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runs-store.js","sourceRoot":"","sources":["../src/runs-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAY5C,yDAAyD;AACzD,MAAM,OAAgB,SAAU,SAAQ,SAAS;IAC/C,8EAA8E;IAC9E,KAAK,CAAC,SAAS,CAAC,KAAqB;QACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;iBAC3B,UAAU,CAAC,MAAM,CAAC;iBAClB,SAAS,EAAE;iBACX,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;iBACvC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC;iBACnD,gBAAgB,EAAE,CAAC;YAEtB,IAAI,QAAQ,EAAE,CAAC;gBACb,IACE,QAAQ,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC;oBAC/D,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,EACzC,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,EAAE;aACV,UAAU,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC;YACN,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,SAAS,EAAE,KAAK,CAAC,QAAQ;YACzB,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;YACvC,eAAe,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;YAC7C,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI;YACjD,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;SACtC,CAAC;aACD,OAAO,EAAE,CAAC;QAEb,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,YAAY,CAAC,KAAqB;QACtC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,EAAE;iBACV,UAAU,CAAC,MAAM,CAAC;iBAClB,MAAM,CAAC;gBACN,MAAM,EAAE,KAAK,CAAC,KAAK;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO;gBACvB,SAAS,EAAE,KAAK,CAAC,QAAQ;gBACzB,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACvC,eAAe,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;gBAC7C,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI;gBACjD,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;aACtC,CAAC;iBACD,OAAO,EAAE,CAAC;YAEb,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;aACpD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBAC9C,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE;gBAC9C,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,CAAC;gBACpD,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,qBAAqB,EAAE;gBACpD,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC;QACzD,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE;aAChB,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;aACvC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;aAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC1B,oDAAoD;aACnD,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEpB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CACtC,EAAE,CAAC;gBACD,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC;gBAChC,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;aAClE,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,GAAG,GAAG;YACN,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;SAC9C,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI;YAChC,CAAC,CAAC;gBACE,IAAI;gBACJ,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;aAC7D;YACH,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,CAAC;IAED,qEAAqE;IAC7D,KAAK,CAAC,gBAAgB,CAAC,MAAgB;QAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkC,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACvB,UAAU,CAAC,OAAO,CAAC;aACnB,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC5B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;aACpD,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC;aAC7B,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC7B,OAAO,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;aACtB,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC;aAC3B,gBAAgB,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,MAAM,GAAG;iBAClB,UAAU,CAAC,MAAM,CAAC;iBAClB,SAAS,EAAE;iBACX,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;iBACjC,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC3B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,CAAC;YAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAC/D,GAAG,EACH,KAAK,CAAC,KAAK,CACZ,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,GAAG;iBAC7B,UAAU,CAAC,aAAa,CAAC;iBACzB,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,2BAA2B,CAAC;iBAChE,MAAM,CAAC;gBACN,sBAAsB;gBACtB,uBAAuB;gBACvB,2BAA2B;aAC5B,CAAC;iBACD,KAAK,CAAC,oBAAoB,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;iBAC7C,KAAK,CAAC,oBAAoB,EAAE,GAAG,EAAE,MAAM,CAAC;iBACxC,OAAO,CAAC,sBAAsB,CAAC;iBAC/B,OAAO,EAAE,CAAC;YACb,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,GAAG;qBACrB,UAAU,CAAC,MAAM,CAAC;qBAClB,SAAS,EAAE;qBACX,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;qBACjC,uBAAuB,EAAE,CAAC;gBAC7B,OAAO;oBACL,MAAM,EAAE,aAAa;oBACrB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;oBACnB,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC/C,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;qBAC/B,CAAC,CAAC;oBACH,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC7C,OAAO,EAAE,KAAK,CAAC,QAAQ;wBACvB,QAAQ,EAAE,KAAK,CAAC,SAAS;wBACzB,WAAW,EAAE,KAAK,CAAC,aAAa;qBACjC,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,GAAG;iBACxB,UAAU,CAAC,MAAM,CAAC;iBAClB,SAAS,EAAE;iBACX,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;iBACjC,uBAAuB,EAAE,CAAC;YAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,GAAG;iBACtB,WAAW,CAAC,MAAM,CAAC;iBACnB,GAAG,CAAC;gBACH,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB,CAAC;iBACD,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;iBACjC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;iBACxC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;iBAC9B,gBAAgB,EAAE,CAAC;YAEtB,IAAI,OAAO,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,GAAG;qBACrB,UAAU,CAAC,MAAM,CAAC;qBAClB,SAAS,EAAE;qBACX,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;qBACjC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;oBACxC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3D,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,GAAG;iBACN,UAAU,CAAC,qBAAqB,CAAC;iBACjC,MAAM,CAAC;gBACN,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC7C,MAAM,EAAE,KAAK,CAAC,KAAK;gBACnB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC/B,IAAI,EAAE,WAAW;gBACjB,aAAa,EAAE,YAAY,CAAC;oBAC1B,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC;gBACF,gBAAgB,EAAE,SAAS,CAAC,OAAO;gBACnC,cAAc,EAAE,aAAa;gBAC7B,MAAM,EAAE,WAAW;gBACnB,cAAc,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC9C,WAAW,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;gBACtC,UAAU,EAAE,GAAG;gBACf,YAAY,EAAE,GAAG;aAClB,CAAC;iBACD,OAAO,EAAE,CAAC;YAEb,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAE5C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,GAAG;qBACA,UAAU,CAAC,MAAM,CAAC;qBAClB,SAAS,EAAE;qBACX,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;qBACjC,uBAAuB,EAAE;gBAC5B,GAAG;qBACA,UAAU,CAAC,qBAAqB,CAAC;qBACjC,SAAS,EAAE;qBACX,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;qBACjC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC;qBAC/B,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,aAAa,CAAC;qBAC3C,uBAAuB,EAAE;aAC7B,CAAC,CAAC;YACH,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC;gBACtB,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC;aAC3C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAAqB;QACrD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;aACtB,UAAU,CAAC,MAAM,CAAC;aAClB,SAAS,EAAE;aACX,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;aACvC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC;aACnD,gBAAgB,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aACzB,UAAU,CAAC,MAAM,CAAC;aAClB,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC;aAC3B,gBAAgB,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,WAAW,CAAC,KAAuB;QACvC,MAAM,IAAI,CAAC,EAAE;aACV,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC;YACN,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;YACjC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACzC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;SACtC,CAAC;aACD,OAAO,EAAE,CAAC;IACf,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,GAAa,EAAE,KAAqB;IAC7D,OAAO,CACL,KAAK,CAAC,cAAc,KAAK,SAAS;QAClC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC;QAC3B,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;QAC3C,GAAG,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,GAAa,EACb,KAAiE;IAEjE,OAAO,CACL,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QACjC,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"runs-store.js","sourceRoot":"","sources":["../src/runs-store.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,31 @@ export async function initializeStoreSchema(database) {
4
4
  await sql.raw(STORE_SCHEMA_SQL).execute(database);
5
5
  }
6
6
  const STORE_SCHEMA_SQL = `
7
+ create table if not exists projects (
8
+ project_id text primary key,
9
+ owner_kind text not null
10
+ check (owner_kind = 'user'),
11
+ owner_id text not null,
12
+ owner_key text not null,
13
+ project_key text not null,
14
+ name text not null,
15
+ status text not null
16
+ check (status in ('active', 'archived')),
17
+ metadata_json text,
18
+ archived_at text,
19
+ created_at text not null,
20
+ updated_at text not null
21
+ );
22
+
23
+ create unique index if not exists projects_owner_key_unique
24
+ on projects (owner_key, project_key);
25
+
26
+ create index if not exists projects_owner_status_idx
27
+ on projects (owner_key, status, project_key);
28
+
7
29
  create table if not exists runs (
8
30
  run_id text primary key,
31
+ project_id text,
9
32
  name text not null,
10
33
  state text not null,
11
34
  owner_kind text not null,
@@ -60,6 +83,7 @@ create table if not exists agents (
60
83
  create table if not exists tasks (
61
84
  task_id text primary key,
62
85
  run_id text not null references runs(run_id) on delete cascade,
86
+ project_id text,
63
87
  owner_kind text not null,
64
88
  owner_id text not null,
65
89
  owner_key text not null,
@@ -549,6 +573,7 @@ create table if not exists hosts (
549
573
  name text not null,
550
574
  status text not null
551
575
  check (status in ('created', 'offline', 'online', 'disabled')),
576
+ project_workspace_root text,
552
577
  last_seen_at text,
553
578
  connection_id text,
554
579
  stream_generation integer not null default 0,
@@ -582,9 +607,40 @@ alter table hosts
582
607
  alter table hosts
583
608
  add column if not exists matchlock_version text;
584
609
 
610
+ alter table hosts
611
+ add column if not exists project_workspace_root text;
612
+
585
613
  create index if not exists hosts_owner_status_idx
586
614
  on hosts (owner_key, status, host_id);
587
615
 
616
+ create table if not exists host_project_bindings (
617
+ binding_id text primary key,
618
+ owner_kind text not null
619
+ check (owner_kind = 'user'),
620
+ owner_id text not null,
621
+ owner_key text not null,
622
+ host_id text not null
623
+ references hosts(host_id)
624
+ on delete cascade,
625
+ project_id text not null
626
+ references projects(project_id)
627
+ on delete restrict,
628
+ allowed_pool_keys_json text not null,
629
+ availability text not null default 'unknown'
630
+ check (availability in ('unknown', 'available', 'unavailable')),
631
+ unavailable_reason text,
632
+ last_validated_at text,
633
+ metadata_json text,
634
+ created_at text not null,
635
+ updated_at text not null
636
+ );
637
+
638
+ create unique index if not exists host_project_bindings_owner_host_project_unique
639
+ on host_project_bindings (owner_key, host_id, project_id);
640
+
641
+ create index if not exists host_project_bindings_owner_host_idx
642
+ on host_project_bindings (owner_key, host_id, binding_id);
643
+
588
644
  create table if not exists host_credentials (
589
645
  host_credential_id text primary key,
590
646
  host_id text not null
@@ -659,6 +715,7 @@ create table if not exists managed_sandbox_instances (
659
715
  check (owner_kind = 'user'),
660
716
  owner_id text not null default 'legacy',
661
717
  owner_key text not null default 'legacy:unknown',
718
+ project_id text,
662
719
  host_id text not null default 'legacy:unknown',
663
720
  host_pool_id text,
664
721
  pool_id text not null,
@@ -683,6 +740,9 @@ alter table managed_sandbox_instances
683
740
  alter table managed_sandbox_instances
684
741
  add column if not exists owner_key text not null default 'legacy:unknown';
685
742
 
743
+ alter table managed_sandbox_instances
744
+ add column if not exists project_id text;
745
+
686
746
  alter table managed_sandbox_instances
687
747
  add column if not exists host_id text not null default 'legacy:unknown';
688
748
 
@@ -735,6 +795,8 @@ create table if not exists provisioning_leases (
735
795
  check (owner_kind = 'user'),
736
796
  owner_id text not null,
737
797
  owner_key text not null,
798
+ project_id text,
799
+ host_project_binding_id text,
738
800
  host_id text not null
739
801
  references hosts(host_id)
740
802
  on delete cascade,
@@ -773,9 +835,15 @@ create table if not exists provisioning_leases (
773
835
  check (host_pool_id is not null and sandbox_id is not null)
774
836
  );
775
837
 
838
+ alter table provisioning_leases
839
+ add column if not exists host_project_binding_id text;
840
+
776
841
  alter table provisioning_leases
777
842
  add column if not exists demand_task_id text;
778
843
 
844
+ alter table provisioning_leases
845
+ add column if not exists project_id text;
846
+
779
847
  alter table provisioning_leases
780
848
  add column if not exists provider_resource_id text;
781
849
 
@@ -1137,6 +1205,7 @@ create table if not exists placement_decisions (
1137
1205
  append_order bigint generated by default as identity not null,
1138
1206
  run_id text not null references runs(run_id) on delete cascade,
1139
1207
  task_id text not null references tasks(task_id) on delete cascade,
1208
+ project_id text,
1140
1209
  owner_kind text not null,
1141
1210
  owner_id text not null,
1142
1211
  owner_key text not null,
@@ -1178,9 +1247,11 @@ $$;
1178
1247
  alter table if exists runs add column if not exists owner_kind text;
1179
1248
  alter table if exists runs add column if not exists owner_id text;
1180
1249
  alter table if exists runs add column if not exists owner_key text;
1250
+ alter table if exists runs add column if not exists project_id text;
1181
1251
  alter table if exists tasks add column if not exists owner_kind text;
1182
1252
  alter table if exists tasks add column if not exists owner_id text;
1183
1253
  alter table if exists tasks add column if not exists owner_key text;
1254
+ alter table if exists tasks add column if not exists project_id text;
1184
1255
  alter table if exists tasks add column if not exists runtime_json text;
1185
1256
  alter table if exists saved_tasks add column if not exists runtime_json text;
1186
1257
  alter table if exists task_live_state add column if not exists live_idle_expires_at text;
@@ -1192,6 +1263,7 @@ alter table if exists artifacts add column if not exists owner_key text;
1192
1263
  alter table if exists placement_decisions add column if not exists owner_kind text;
1193
1264
  alter table if exists placement_decisions add column if not exists owner_id text;
1194
1265
  alter table if exists placement_decisions add column if not exists owner_key text;
1266
+ alter table if exists placement_decisions add column if not exists project_id text;
1195
1267
 
1196
1268
  delete from placement_decisions
1197
1269
  where owner_kind is null