@kky42/pievo-server 2.3.0 → 2.4.2

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 (199) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/MachinesModal-CSbnrUER.js +1 -0
  3. package/.output/public/assets/SignIn-0Tjqs-Ma.js +1 -0
  4. package/.output/public/assets/actionUi-DpwGIGpw.js +1 -0
  5. package/.output/public/assets/app-CaZpuwOS.css +2 -0
  6. package/.output/public/assets/index-CaS_SmDq.js +10 -0
  7. package/.output/public/assets/invite._token-Btg_0aLp.js +1 -0
  8. package/.output/public/assets/invite._token-KMD2JAgE.js +1 -0
  9. package/.output/public/assets/lifecycleUi-C7dwHtbw.js +1 -0
  10. package/.output/public/assets/loops._loopId-D5usF3DO.js +67 -0
  11. package/.output/public/assets/loops._loopId_.runs._runId-DRCgXaCq.js +3 -0
  12. package/.output/public/assets/preload-helper-DsxECZIS.js +5 -0
  13. package/.output/public/assets/routes-CtFgwdgW.js +1 -0
  14. package/.output/public/assets/routes-LDbnnQ3f.js +1 -0
  15. package/.output/public/assets/t._teamId-D41xcbsF.js +1 -0
  16. package/.output/public/assets/t._teamId-DUena1pV.js +1 -0
  17. package/.output/public/assets/ui-Do4gqMyP.js +1 -0
  18. package/.output/server/_libs/@base-ui/react+[...].mjs +4130 -4130
  19. package/.output/server/_libs/@tanstack/react-router+[...].mjs +1 -1
  20. package/.output/server/_libs/drizzle-orm+postgres.mjs +28 -1
  21. package/.output/server/_ssr/DashboardView-C2LdV6J0.mjs +914 -0
  22. package/.output/server/_ssr/{notifyFns-DuPR1zd7.mjs → MachinesModal-BjkcVjjx.mjs} +55 -35
  23. package/.output/server/_ssr/{SignIn-RmpWm9uy.mjs → SignIn-DEGrvJvb.mjs} +10 -24
  24. package/.output/server/_ssr/SocialLinks-Cm4H8pUJ.mjs +1044 -0
  25. package/.output/server/_ssr/{actionUi-BN55TNYE.mjs → actionUi-DJBWuNwr.mjs} +3 -3
  26. package/.output/server/_ssr/{artifactFiles-BCaIIrrT.mjs → artifactFiles-DtpRidFZ.mjs} +7 -8
  27. package/.output/server/_ssr/{artifactKind-BW0isV8L.mjs → artifactKind-FBYbgSuf.mjs} +27 -2
  28. package/.output/server/_ssr/artifacts-BR3jj0NC.mjs +2 -0
  29. package/.output/server/_ssr/{auth-30Z4lV1w.mjs → auth-C0zoZCGe.mjs} +16 -19
  30. package/.output/server/_ssr/boot-CdOO4xOo.mjs +2 -0
  31. package/.output/server/_ssr/{boot-3BNKujyp.mjs → boot-sNlIkoLe.mjs} +1331 -3927
  32. package/.output/server/_ssr/{bun-sqlite-dialect-BW9W1_Ps-_7tfuNRi.mjs → bun-sqlite-dialect-BW9W1_Ps-DmlZWqO7.mjs} +2 -2
  33. package/.output/server/_ssr/{d1-sqlite-dialect-BLC8LXE6-ucDUbeBk.mjs → d1-sqlite-dialect-BLC8LXE6-CCNzqZwZ.mjs} +2 -2
  34. package/.output/server/_ssr/db-CwLD-5w1.mjs +2 -0
  35. package/.output/server/_ssr/{dist-Cd6nlLlO.mjs → dist-B3SxDOpW.mjs} +2 -2
  36. package/.output/server/_ssr/{factory-CWWwV7XZ.mjs → factory-Dv3Zopis.mjs} +2 -2
  37. package/.output/server/_ssr/invite._token-CJ6-H-s3.mjs +20 -0
  38. package/.output/server/_ssr/{invite._token-SdWXemIc.mjs → invite._token-dLKDJKVs.mjs} +9 -17
  39. package/.output/server/_ssr/{invite._token-BKlz0R2f.mjs → invite._token-l1SjouDz.mjs} +6 -15
  40. package/.output/server/_ssr/{kysely-adapter-C8iS51DB.mjs → kysely-adapter-nL7WKSgw.mjs} +1 -1
  41. package/.output/server/_ssr/{lifecycleUi-DgBQAYzp.mjs → lifecycleUi-Dad3hvhm.mjs} +11 -11
  42. package/.output/server/_ssr/logger-B8m8F1Qu.mjs +2 -0
  43. package/.output/server/_ssr/loopApi-BKyFB4KM.mjs +342 -0
  44. package/.output/server/_ssr/{adapters-BoLkOf1T.mjs → loopProjection-B8a829ij.mjs} +25 -55
  45. package/.output/server/_ssr/loops._loopId-DS16Phmq.mjs +1271 -0
  46. package/.output/server/_ssr/{loops._loopId_.runs._runId-PUGBrD5q.mjs → loops._loopId_.runs._runId-BEJI6iK5.mjs} +23 -74
  47. package/.output/server/_ssr/{loops._loopId_.runs._runId-Ymy4lwee.mjs → loops._loopId_.runs._runId-CduETLqH.mjs} +4 -5
  48. package/.output/server/_ssr/{machineFns-BZ9puxDt.mjs → machineFns-ByMsgG12.mjs} +3 -5
  49. package/.output/server/_ssr/{node-sqlite-dialect-D_3JmkMo.mjs → node-sqlite-dialect-CjNineno.mjs} +2 -2
  50. package/.output/server/_ssr/router-CXyrnvx-.mjs +565 -0
  51. package/.output/server/_ssr/{routes-ClZEdsnB.mjs → routes-BulNEUEE.mjs} +6 -10
  52. package/.output/server/_ssr/{routes-ComqHvCL.mjs → routes-DD94baie.mjs} +3 -3
  53. package/.output/server/_ssr/{routes-D5jJJ-30.mjs → routes-Wjexi35W.mjs} +6 -6
  54. package/.output/server/_ssr/runDiff-Ba8Lg1vg.mjs +2 -0
  55. package/.output/server/_ssr/ssr.mjs +60 -100
  56. package/.output/server/_ssr/store-Cujtg2QE.mjs +2 -0
  57. package/.output/server/_ssr/{t._teamId-BgHV_KFP.mjs → t._teamId-1CreIlPV.mjs} +7 -11
  58. package/.output/server/_ssr/{t._teamId-DDERNgfn.mjs → t._teamId-Bd6-zZsy.mjs} +4 -4
  59. package/.output/server/_ssr/{t._teamId-DRJvKHZn.mjs → t._teamId-COuMKQ4r.mjs} +7 -7
  60. package/.output/server/_ssr/{teamFns-Bp81UO-x.mjs → teamFns-H438WnZC.mjs} +12 -30
  61. package/.output/server/_ssr/{teamFns-bm82twd5.mjs → teamFns-j2JKjorZ.mjs} +2 -2
  62. package/.output/server/_ssr/tokens-DgG_Syq3.mjs +2 -0
  63. package/.output/server/_ssr/{ui-Ww2tTM2u.mjs → ui-D5KWstlb.mjs} +26 -48
  64. package/.output/server/{_tanstack-start-manifest_v-DwKENYCN.mjs → _tanstack-start-manifest_v-3H7yBKLz.mjs} +25 -35
  65. package/{drizzle/0000_round_marauders.sql → .output/server/drizzle/0000_baseline.sql} +102 -44
  66. package/.output/server/drizzle/meta/_journal.json +3 -115
  67. package/.output/server/index.mjs +83 -132
  68. package/{.output/server/drizzle/0000_round_marauders.sql → drizzle/0000_baseline.sql} +102 -44
  69. package/drizzle/meta/_journal.json +3 -115
  70. package/package.json +2 -11
  71. package/scripts/pievo-server.mjs +3 -1
  72. package/scripts/server-cli-lib.mjs +23 -16
  73. package/.output/public/assets/CodeField-dOzyFQNH.js +0 -34
  74. package/.output/public/assets/LoopView-DjVHUyrR.js +0 -59
  75. package/.output/public/assets/Modal-CCRvx959.js +0 -1
  76. package/.output/public/assets/SignIn-Qxw5zDFq.js +0 -1
  77. package/.output/public/assets/actionUi-CXxhzYe2.js +0 -1
  78. package/.output/public/assets/app-D1cij_NJ.css +0 -2
  79. package/.output/public/assets/artifactView-Cd5wWPil.js +0 -66
  80. package/.output/public/assets/index-BRN_CQ8U.js +0 -12
  81. package/.output/public/assets/invite._token-BIxr8DlP.js +0 -1
  82. package/.output/public/assets/invite._token-j2BTCeG1.js +0 -1
  83. package/.output/public/assets/jsx-runtime-BseJUIpC.js +0 -1
  84. package/.output/public/assets/lifecycleUi-Qy_8beQK.js +0 -1
  85. package/.output/public/assets/loopApi-CT1mMhlb.js +0 -3
  86. package/.output/public/assets/loops._loopId-BRBQzioy.js +0 -4
  87. package/.output/public/assets/loops._loopId_.runs._runId-CMnOJkem.js +0 -3
  88. package/.output/public/assets/notifyFns-DYD4EKaG.js +0 -1
  89. package/.output/public/assets/preload-helper-DFkkpP6W.js +0 -3
  90. package/.output/public/assets/routes-3nuEJGdo.js +0 -1
  91. package/.output/public/assets/routes-DORLim-C.js +0 -1
  92. package/.output/public/assets/t._teamId-F5f4K8kd.js +0 -1
  93. package/.output/public/assets/t._teamId-XfE_S1Fo.js +0 -1
  94. package/.output/public/assets/ui-Dhsx6SW0.js +0 -1
  95. package/.output/public/assets/useRouter-DsjH8G0p.js +0 -1
  96. package/.output/server/_libs/@codemirror/autocomplete+[...].mjs +0 -19713
  97. package/.output/server/_libs/@codemirror/lang-css+[...].mjs +0 -2636
  98. package/.output/server/_libs/@codemirror/lang-html+[...].mjs +0 -2247
  99. package/.output/server/_libs/@codemirror/lang-json+[...].mjs +0 -79
  100. package/.output/server/_libs/@reduxjs/toolkit+[...].mjs +0 -1736
  101. package/.output/server/_libs/@uiw/codemirror-extensions-basic-setup+[...].mjs +0 -76
  102. package/.output/server/_libs/babel__runtime.mjs +0 -30
  103. package/.output/server/_libs/clsx.mjs +0 -16
  104. package/.output/server/_libs/codemirror__commands.mjs +0 -1725
  105. package/.output/server/_libs/codemirror__lint.mjs +0 -565
  106. package/.output/server/_libs/codemirror__search.mjs +0 -1138
  107. package/.output/server/_libs/codemirror__theme-one-dark.mjs +0 -161
  108. package/.output/server/_libs/d3-array.mjs +0 -231
  109. package/.output/server/_libs/d3-color.mjs +0 -330
  110. package/.output/server/_libs/d3-format.mjs +0 -252
  111. package/.output/server/_libs/d3-interpolate.mjs +0 -163
  112. package/.output/server/_libs/d3-path.mjs +0 -77
  113. package/.output/server/_libs/d3-scale+[...].mjs +0 -1907
  114. package/.output/server/_libs/d3-shape.mjs +0 -818
  115. package/.output/server/_libs/decimal.js-light.mjs +0 -884
  116. package/.output/server/_libs/dom-serializer+[...].mjs +0 -708
  117. package/.output/server/_libs/domhandler.mjs +0 -461
  118. package/.output/server/_libs/domutils.mjs +0 -868
  119. package/.output/server/_libs/es-toolkit.mjs +0 -1737
  120. package/.output/server/_libs/eventemitter3.mjs +0 -236
  121. package/.output/server/_libs/html-dom-parser+htmlparser2.mjs +0 -1560
  122. package/.output/server/_libs/html-react-parser+[...].mjs +0 -1360
  123. package/.output/server/_libs/react-is.mjs +0 -48
  124. package/.output/server/_libs/react-redux+[...].mjs +0 -205
  125. package/.output/server/_libs/recharts+victory-vendor.mjs +0 -17303
  126. package/.output/server/_libs/uiw__codemirror-themes.mjs +0 -32
  127. package/.output/server/_libs/uiw__react-codemirror.mjs +0 -354
  128. package/.output/server/_ssr/CodeField-B7oOmmwH.mjs +0 -143
  129. package/.output/server/_ssr/DashboardView-BF7PciP7.mjs +0 -2736
  130. package/.output/server/_ssr/LoopPlaybook-DC7QVvPY.mjs +0 -2105
  131. package/.output/server/_ssr/LoopView-DwSrm9Ja.mjs +0 -1300
  132. package/.output/server/_ssr/Modal-MaCG52Pv.mjs +0 -49
  133. package/.output/server/_ssr/artifactView-iuPsp5aa.mjs +0 -304
  134. package/.output/server/_ssr/artifacts-jQ-bfdhI.mjs +0 -2
  135. package/.output/server/_ssr/boot-CsEFT53K.mjs +0 -2
  136. package/.output/server/_ssr/db-CXownd1H.mjs +0 -2
  137. package/.output/server/_ssr/invite._token-CWl6kipD.mjs +0 -28
  138. package/.output/server/_ssr/logger-Gy-47z3k.mjs +0 -2
  139. package/.output/server/_ssr/loopApi-8_KgBapr.mjs +0 -109
  140. package/.output/server/_ssr/loopApi-ABi9SgWS.mjs +0 -564
  141. package/.output/server/_ssr/loops._loopId-SON_t43g.mjs +0 -30
  142. package/.output/server/_ssr/loops._loopId-p1KWsvMM.mjs +0 -1477
  143. package/.output/server/_ssr/notifyFns-BUCePuF3.mjs +0 -118
  144. package/.output/server/_ssr/router-Czxvra6l.mjs +0 -685
  145. package/.output/server/_ssr/runDiff--qLtU4FI.mjs +0 -2
  146. package/.output/server/_ssr/store-40eVzW1S.mjs +0 -2
  147. package/.output/server/_ssr/tokens-CbfoRC_s.mjs +0 -2
  148. package/.output/server/drizzle/0001_naive_silver_fox.sql +0 -25
  149. package/.output/server/drizzle/0002_funny_sage.sql +0 -12
  150. package/.output/server/drizzle/0003_optimal_slapstick.sql +0 -102
  151. package/.output/server/drizzle/0004_remove_grok_agent.sql +0 -5
  152. package/.output/server/drizzle/0005_heavy_gauntlet.sql +0 -8
  153. package/.output/server/drizzle/0006_tranquil_sharon_carter.sql +0 -1
  154. package/.output/server/drizzle/0007_faulty_starbolt.sql +0 -30
  155. package/.output/server/drizzle/0008_durable_lifecycle_evidence.sql +0 -15
  156. package/.output/server/drizzle/0009_ordinary_electro.sql +0 -1
  157. package/.output/server/drizzle/0010_workable_rage.sql +0 -14
  158. package/.output/server/drizzle/0011_steep_marvel_zombies.sql +0 -3
  159. package/.output/server/drizzle/0012_blocked_run_status.sql +0 -12
  160. package/.output/server/drizzle/0013_drop_run_outcome.sql +0 -2
  161. package/.output/server/drizzle/0014_luxuriant_scrambler.sql +0 -5
  162. package/.output/server/drizzle/0015_run_history_foundation.sql +0 -43
  163. package/.output/server/drizzle/0016_plural_machine_runs.sql +0 -4
  164. package/.output/server/drizzle/meta/0000_snapshot.json +0 -1333
  165. package/.output/server/drizzle/meta/0001_snapshot.json +0 -1498
  166. package/.output/server/drizzle/meta/0002_snapshot.json +0 -1576
  167. package/.output/server/drizzle/meta/0003_snapshot.json +0 -1666
  168. package/.output/server/drizzle/meta/0005_snapshot.json +0 -1666
  169. package/.output/server/drizzle/meta/0006_snapshot.json +0 -1672
  170. package/.output/server/drizzle/meta/0007_snapshot.json +0 -1787
  171. package/.output/server/drizzle/meta/0009_snapshot.json +0 -1793
  172. package/.output/server/drizzle/meta/0010_snapshot.json +0 -1891
  173. package/.output/server/drizzle/meta/0011_snapshot.json +0 -1872
  174. package/drizzle/0001_naive_silver_fox.sql +0 -25
  175. package/drizzle/0002_funny_sage.sql +0 -12
  176. package/drizzle/0003_optimal_slapstick.sql +0 -102
  177. package/drizzle/0004_remove_grok_agent.sql +0 -5
  178. package/drizzle/0005_heavy_gauntlet.sql +0 -8
  179. package/drizzle/0006_tranquil_sharon_carter.sql +0 -1
  180. package/drizzle/0007_faulty_starbolt.sql +0 -30
  181. package/drizzle/0008_durable_lifecycle_evidence.sql +0 -15
  182. package/drizzle/0009_ordinary_electro.sql +0 -1
  183. package/drizzle/0010_workable_rage.sql +0 -14
  184. package/drizzle/0011_steep_marvel_zombies.sql +0 -3
  185. package/drizzle/0012_blocked_run_status.sql +0 -12
  186. package/drizzle/0013_drop_run_outcome.sql +0 -2
  187. package/drizzle/0014_luxuriant_scrambler.sql +0 -5
  188. package/drizzle/0015_run_history_foundation.sql +0 -43
  189. package/drizzle/0016_plural_machine_runs.sql +0 -4
  190. package/drizzle/meta/0000_snapshot.json +0 -1333
  191. package/drizzle/meta/0001_snapshot.json +0 -1498
  192. package/drizzle/meta/0002_snapshot.json +0 -1576
  193. package/drizzle/meta/0003_snapshot.json +0 -1666
  194. package/drizzle/meta/0005_snapshot.json +0 -1666
  195. package/drizzle/meta/0006_snapshot.json +0 -1672
  196. package/drizzle/meta/0007_snapshot.json +0 -1787
  197. package/drizzle/meta/0009_snapshot.json +0 -1793
  198. package/drizzle/meta/0010_snapshot.json +0 -1891
  199. package/drizzle/meta/0011_snapshot.json +0 -1872
@@ -1,6 +1,6 @@
1
1
  import { r as __exportAll } from "../_runtime.mjs";
2
- import { g as require_jsx_runtime, h as require_react } from "../_libs/@base-ui/react+[...].mjs";
3
- import { i as __exportAll$1 } from "./factory-CWWwV7XZ.mjs";
2
+ import { i as __exportAll$1 } from "./factory-Dv3Zopis.mjs";
3
+ import { g as require_react, h as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
4
4
  import { a as RouterProvider, n as defineHandlerCallback, t as renderRouterToStream } from "../_libs/@tanstack/react-router+[...].mjs";
5
5
  import { PassThrough, Readable } from "node:stream";
6
6
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -3418,7 +3418,7 @@ var defaultSerovalPlugins = [
3418
3418
  * the dev styles URL for route-scoped CSS collection.
3419
3419
  */
3420
3420
  async function getStartManifest(matchedRoutes) {
3421
- const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-DwKENYCN.mjs");
3421
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-3H7yBKLz.mjs");
3422
3422
  const startManifest = tsrStartManifest();
3423
3423
  let routes = startManifest.routes;
3424
3424
  routes[rootRouteId];
@@ -3438,189 +3438,149 @@ async function getStartManifest(matchedRoutes) {
3438
3438
  };
3439
3439
  }
3440
3440
  var manifest = {
3441
- "0411aadd2c067b141180921284fb90f371fdeaf031baae51ae289b596e909da8": {
3442
- functionName: "getJobDetail_createServerFn_handler",
3443
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3441
+ "08565e35f6a3dd06ef25401de0343976c47f7ae319d3baed6320b56dd3718311": {
3442
+ functionName: "runLoop_createServerFn_handler",
3443
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3444
3444
  },
3445
3445
  "08c28b892712a1b491b120b74c7dcb81761988d31ccea60216d1807b73c1182c": {
3446
3446
  functionName: "getRunDiff_createServerFn_handler",
3447
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3448
- },
3449
- "0c9031f2f6a9ac0b1c60075833169755ef1815324918d1426c966ac8db563798": {
3450
- functionName: "runJob_createServerFn_handler",
3451
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3452
- },
3453
- "0cb2218861830aae4338b814b3819e15100942beab970bc4c188f88b8cb6bc7e": {
3454
- functionName: "forceDeleteJob_createServerFn_handler",
3455
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3447
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3456
3448
  },
3457
3449
  "0f279cfe81021a642289ce6e95622e7198aaeab4147880f85824a02ee9ebafcf": {
3458
3450
  functionName: "createTeam_createServerFn_handler",
3459
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3451
+ importer: () => import("./teamFns-H438WnZC.mjs")
3460
3452
  },
3461
3453
  "0fe12e769203c42f432a927b9cbf13a967a0f9db567b61843598f734afb4f5c6": {
3462
3454
  functionName: "listMyTeams_createServerFn_handler",
3463
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3455
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3464
3456
  },
3465
3457
  "169566e7637a22599b4eb32ee3775574e99677406922bbef7482a102036c33dd": {
3466
3458
  functionName: "machineStatus_createServerFn_handler",
3467
- importer: () => import("./machineFns-BZ9puxDt.mjs")
3459
+ importer: () => import("./machineFns-ByMsgG12.mjs")
3460
+ },
3461
+ "23e290b2b7483ceea6fe669024c35b12c2c4ddd76649f6fab21c958ceda02940": {
3462
+ functionName: "listLoops_createServerFn_handler",
3463
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3468
3464
  },
3469
3465
  "27d7eba0b6a2257949392fdd56057275a5c5366484ae01faf3b5897a225ecd83": {
3470
3466
  functionName: "finalizeMachine_createServerFn_handler",
3471
- importer: () => import("./machineFns-BZ9puxDt.mjs")
3467
+ importer: () => import("./machineFns-ByMsgG12.mjs")
3472
3468
  },
3473
3469
  "284cb82b5e5cb37242d053b1b14449760d8334e9dadffc6dcbba11db2200a709": {
3474
3470
  functionName: "addTeamMember_createServerFn_handler",
3475
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3476
- },
3477
- "3155d050a38c0e160018b462404acd048bfbed9e15166920b4bba09ed72ba817": {
3478
- functionName: "listTemplates_createServerFn_handler",
3479
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3480
- },
3481
- "38b831a8de4883e3d877f2169eaebde5864a2f256b1c5c790fa669702968cff9": {
3482
- functionName: "requestSteer_createServerFn_handler",
3483
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3471
+ importer: () => import("./teamFns-H438WnZC.mjs")
3484
3472
  },
3485
3473
  "4646f52fb09b83c9c9cef34836f3c9d03416423c879d9e5ceffcafd9a71ecba6": {
3486
3474
  functionName: "mintClaim_createServerFn_handler",
3487
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3475
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3488
3476
  },
3489
- "4b0db7d6c8f25383a3526598cb0c1881db6cf413e451e9478687c05666461347": {
3490
- functionName: "claimStatus_createServerFn_handler",
3491
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3492
- },
3493
- "4c664fb177d6aae868b6baeab69348cff67d74d905cc6cf779c43cb37139b0aa": {
3494
- functionName: "pauseJob_createServerFn_handler",
3495
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3477
+ "5660ea82ea5ff2549e0ce2f8f070c54f3e9e24fee84d547601ef5d6ef49a4016": {
3478
+ functionName: "startLoop_createServerFn_handler",
3479
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3496
3480
  },
3497
3481
  "5721e01d84c20ffde19d2191648d76a7e5ede3bbb4f44efa59107a786947cf27": {
3498
3482
  functionName: "renameTeam_createServerFn_handler",
3499
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3500
- },
3501
- "5a11dda4e2d3b0b097890c35ad7d447ff7245721b2ddc7f08787402446ef0919": {
3502
- functionName: "listJobs_createServerFn_handler",
3503
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3483
+ importer: () => import("./teamFns-H438WnZC.mjs")
3504
3484
  },
3505
- "606503961026f5ed240adadfdee20ac0af65ac9dbb67209257ff1fdb9c642324": {
3506
- functionName: "patchJob_createServerFn_handler",
3507
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3485
+ "5e0d6b55f5629faac2f55a68661eeb82668b2be752192b16264ffb5cd1e6fabe": {
3486
+ functionName: "deleteLoop_createServerFn_handler",
3487
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3508
3488
  },
3509
3489
  "6850ba403da9dec5aff45794eb52636ca540ddec2d9e59f5c75ccbb852bfeacb": {
3510
3490
  functionName: "stopRun_createServerFn_handler",
3511
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3491
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3512
3492
  },
3513
3493
  "6f5fe23f6da1d4aecc198b6f71a041c0fe29cabb6ccad807bb3f16c23c5bd9cd": {
3514
3494
  functionName: "redeemTeamInvite_createServerFn_handler",
3515
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3516
- },
3517
- "7732cf412e02d47d9ac3933f09510503ea08428df967d44267ba47bea10d4cc4": {
3518
- functionName: "startJob_createServerFn_handler",
3519
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3495
+ importer: () => import("./teamFns-H438WnZC.mjs")
3520
3496
  },
3521
3497
  "7cc22b3a0f6b1c4c73463c3401e981ad42caf6487b479b738ee5aeacb11710da": {
3522
3498
  functionName: "canViewTeam_createServerFn_handler",
3523
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3499
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3524
3500
  },
3525
3501
  "85fdf73d4fee43aed762f93c5d47d33200fbff39e2d082647dc921f610d32698": {
3526
3502
  functionName: "loadOlderRuns_createServerFn_handler",
3527
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3528
- },
3529
- "8a11b8d76ad42203a4bf128db0b8e0f2d6c947300dbee7a51498418404f211cd": {
3530
- functionName: "evolveJob_createServerFn_handler",
3531
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3532
- },
3533
- "934749369c5760593935c24bfa6f2041d3e82ea02fb7a13dfa7fd32940ac395d": {
3534
- functionName: "stopJob_createServerFn_handler",
3535
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3503
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3536
3504
  },
3537
3505
  "94d1108f156fa2273cb78140852e9c3e368de0b8321db0de932a16567671716f": {
3538
3506
  functionName: "listManagedTeams_createServerFn_handler",
3539
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3507
+ importer: () => import("./teamFns-H438WnZC.mjs")
3508
+ },
3509
+ "95b7483b333d7649e70c848319417e83c2af6a0327bbcda2d0e331f626dffe05": {
3510
+ functionName: "pauseLoop_createServerFn_handler",
3511
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3540
3512
  },
3541
- "9defc1b5d0f4316d61621e2c4614a70dc052ad6b7a3aa2ead00836f7d5cb5b4c": {
3542
- functionName: "deleteChannel_createServerFn_handler",
3543
- importer: () => import("./notifyFns-BUCePuF3.mjs")
3513
+ "9befe6b8d67ccbbd7aa9b538bde2a161a9894761c8936761a9503fda1a88c0fc": {
3514
+ functionName: "patchLoop_createServerFn_handler",
3515
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3544
3516
  },
3545
3517
  "a3326ed8ecd726fbcc28a439bf0012983cbe387d5062e0155096ee5a558e313b": {
3546
3518
  functionName: "removeTeamMember_createServerFn_handler",
3547
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3548
- },
3549
- "a4e3ae06af7087a3dc291236cf6d5ad272e2f754884c1f948e75a18a4ebada93": {
3550
- functionName: "testChannel_createServerFn_handler",
3551
- importer: () => import("./notifyFns-BUCePuF3.mjs")
3519
+ importer: () => import("./teamFns-H438WnZC.mjs")
3552
3520
  },
3553
3521
  "a6384dc7154d9930422d29396f5de64b3ac69c62ad3824bc4a22d745fc07b293": {
3554
3522
  functionName: "deleteMachine_createServerFn_handler",
3555
- importer: () => import("./machineFns-BZ9puxDt.mjs")
3523
+ importer: () => import("./machineFns-ByMsgG12.mjs")
3556
3524
  },
3557
3525
  "aa46310016bb8a58b273a648ffd498c87f1f450d12827e30110a3b83ba6a27d9": {
3558
3526
  functionName: "listMachines_createServerFn_handler",
3559
- importer: () => import("./machineFns-BZ9puxDt.mjs")
3527
+ importer: () => import("./machineFns-ByMsgG12.mjs")
3528
+ },
3529
+ "b050455aacc84dd2a2c9a45517826ad10f91d8f1545e87cc7015784cc7116a97": {
3530
+ functionName: "getLoopDetail_createServerFn_handler",
3531
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3560
3532
  },
3561
3533
  "b18bbec3d06dfc77714e1e527dfb9172fd7575a64a6c0d6e73ba6dc658dccf0d": {
3562
3534
  functionName: "getArtifacts_createServerFn_handler",
3563
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3535
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3564
3536
  },
3565
3537
  "b8119d5fe6ca1ed9f609702aa2133b5ac5337030c0bdcf92dc7eba889d6bd2e6": {
3566
3538
  functionName: "getAuthState_createServerFn_handler",
3567
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3539
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3568
3540
  },
3569
3541
  "b92e9a08eda2d217bf4028f90dbc6bf7d7e8d7c148ebb8a8330286b5935a3fa1": {
3570
3542
  functionName: "revokeTeamInvite_createServerFn_handler",
3571
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3543
+ importer: () => import("./teamFns-H438WnZC.mjs")
3572
3544
  },
3573
3545
  "bbc1020c771335020ef51b326d74b1649966740f273913d32040fa2c3c9f5f0b": {
3574
3546
  functionName: "createTeamInvite_createServerFn_handler",
3575
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3576
- },
3577
- "bdf2cf0a884a9dccf99323b84675f048164a726f8347a2b6578a4ed1a350712e": {
3578
- functionName: "getChartRuns_createServerFn_handler",
3579
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3547
+ importer: () => import("./teamFns-H438WnZC.mjs")
3580
3548
  },
3581
3549
  "c3762cecd4a15f7eca064bca295255e942d7c3dce65f66f8593ae145fd7859a0": {
3582
3550
  functionName: "setTeamMemberRole_createServerFn_handler",
3583
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3584
- },
3585
- "c3ccf6ce71809a0cdaf481b15b5fdc5db3a453a508e5841a62034cb1915a7f92": {
3586
- functionName: "deleteJob_createServerFn_handler",
3587
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3551
+ importer: () => import("./teamFns-H438WnZC.mjs")
3588
3552
  },
3589
3553
  "cbb6a1b09b309459bbba3dc3851ae85fc468658b3cda77e22b6c6f3e28b65af4": {
3590
3554
  functionName: "getConfig_createServerFn_handler",
3591
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3592
- },
3593
- "ced5641f28e3e64d3b8773ea4c875b78ee305bd08caba90a2207e86ef1ab3327": {
3594
- functionName: "listChannels_createServerFn_handler",
3595
- importer: () => import("./notifyFns-BUCePuF3.mjs")
3555
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3596
3556
  },
3597
3557
  "d2372a81af17eb3a7e4c1407d6ef26a8a9522b66fd6a94858cb35c864b270d77": {
3598
3558
  functionName: "deleteTeam_createServerFn_handler",
3599
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3600
- },
3601
- "d6cb1ea6f7fdaf940fbbe91d6b0898a0d5ac2308f8bc572dc3b856824a1f4581": {
3602
- functionName: "createChannel_createServerFn_handler",
3603
- importer: () => import("./notifyFns-BUCePuF3.mjs")
3559
+ importer: () => import("./teamFns-H438WnZC.mjs")
3604
3560
  },
3605
3561
  "dc0ec955d0d53a150a3e9a4673f98f3509cfb4bd411c512079ae4e94c561b70c": {
3606
3562
  functionName: "getDefaultTeam_createServerFn_handler",
3607
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3563
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3564
+ },
3565
+ "e233a461e4526dec3cc4cbaa891a7c3621d5967ce7f32b4fb17e9fb645857b9a": {
3566
+ functionName: "stopLoop_createServerFn_handler",
3567
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3608
3568
  },
3609
3569
  "ed10d5fe79208e5e0e4e18e4a17b18d7f7db4dd16204c00c3ac90c4644668841": {
3610
3570
  functionName: "getArtifact_createServerFn_handler",
3611
- importer: () => import("./loopApi-ABi9SgWS.mjs")
3571
+ importer: () => import("./loopApi-BKyFB4KM.mjs")
3612
3572
  },
3613
3573
  "ed679b4e1e05e903a5d4ba4a70d9b9d883991ab22ed59b4d2d69078941818415": {
3614
3574
  functionName: "createMachine_createServerFn_handler",
3615
- importer: () => import("./machineFns-BZ9puxDt.mjs")
3575
+ importer: () => import("./machineFns-ByMsgG12.mjs")
3616
3576
  },
3617
3577
  "fc7a4775f418dde12f422ff9ca65d9e07428fb0dc35c9399592c0081467330bf": {
3618
3578
  functionName: "getTeamDetail_createServerFn_handler",
3619
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3579
+ importer: () => import("./teamFns-H438WnZC.mjs")
3620
3580
  },
3621
3581
  "fe7cc1df829414194e9b0615b86584c8510369da18f4d8805ccd76468cadf2ff": {
3622
3582
  functionName: "leaveTeam_createServerFn_handler",
3623
- importer: () => import("./teamFns-Bp81UO-x.mjs")
3583
+ importer: () => import("./teamFns-H438WnZC.mjs")
3624
3584
  }
3625
3585
  };
3626
3586
  async function getServerFnById(id, access) {
@@ -5452,7 +5412,7 @@ var getBaseManifest = getProdBaseManifest;
5452
5412
  var createEarlyHintsForRequest = createEarlyHintsCollector;
5453
5413
  async function loadEntries() {
5454
5414
  const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
5455
- import("./router-Czxvra6l.mjs"),
5415
+ import("./router-CXyrnvx-.mjs"),
5456
5416
  import("./start-4ifArtKx.mjs"),
5457
5417
  import("./empty-plugin-adapters-DKUlnwwl.mjs")
5458
5418
  ]);
@@ -0,0 +1,2 @@
1
+ import { W as getLoop } from "./boot-sNlIkoLe.mjs";
2
+ export { getLoop };
@@ -1,12 +1,11 @@
1
1
  import { c as createFileRoute, s as lazyRouteComponent } from "../_libs/@tanstack/react-router+[...].mjs";
2
- import { c as getAuthState, g as listTemplates, t as canViewTeam } from "./loopApi-8_KgBapr.mjs";
3
- import { a as authClient } from "./LoopPlaybook-DC7QVvPY.mjs";
4
- import { n as fetchLiveData } from "./DashboardView-BF7PciP7.mjs";
5
- //#region node_modules/.nitro/vite/services/ssr/assets/t._teamId-BgHV_KFP.js
6
- var $$splitErrorComponentImporter = () => import("./t._teamId-DDERNgfn.mjs");
7
- var $$splitComponentImporter = () => import("./t._teamId-DRJvKHZn.mjs");
2
+ import { a as canViewTeam, i as authClient, u as getAuthState } from "./SocialLinks-Cm4H8pUJ.mjs";
3
+ import { n as fetchLiveData } from "./DashboardView-C2LdV6J0.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/t._teamId-1CreIlPV.js
5
+ var $$splitErrorComponentImporter = () => import("./t._teamId-Bd6-zZsy.mjs");
6
+ var $$splitComponentImporter = () => import("./t._teamId-COuMKQ4r.mjs");
8
7
  /**
9
- * The explicit-team dashboard (`/t/<teamId>`, Phase 2): the same dashboard scoped
8
+ * The explicit-team dashboard (`/t/<teamId>`): the same dashboard scoped
10
9
  * to the team in the PATH, so a view is bookmarkable and each browser tab keeps
11
10
  * its own team (the list server fns take an explicit `teamId`, independent of the
12
11
  * shared last-used cookie). A team id rides the URL verbatim.
@@ -34,10 +33,7 @@ var Route = createFileRoute("/t/$teamId")({
34
33
  mode: "dashboard",
35
34
  auth,
36
35
  teamId,
37
- initial: {
38
- ...await fetchLiveData(teamId),
39
- templates: await listTemplates()
40
- }
36
+ initial: await fetchLiveData(teamId)
41
37
  };
42
38
  },
43
39
  component: lazyRouteComponent($$splitComponentImporter, "component"),
@@ -1,10 +1,10 @@
1
- import { g as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
1
+ import { h as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
+ import { r as LoadErrorCard } from "./actionUi-DJBWuNwr.mjs";
2
3
  import { f as useRouter } from "../_libs/@tanstack/react-router+[...].mjs";
3
- import { r as LoadErrorCard } from "./actionUi-BN55TNYE.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/t._teamId-DDERNgfn.js
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/t._teamId-Bd6-zZsy.js
5
5
  var import_jsx_runtime = require_jsx_runtime();
6
6
  /**
7
- * The explicit-team dashboard (`/t/<teamId>`, Phase 2): the same dashboard scoped
7
+ * The explicit-team dashboard (`/t/<teamId>`): the same dashboard scoped
8
8
  * to the team in the PATH, so a view is bookmarkable and each browser tab keeps
9
9
  * its own team (the list server fns take an explicit `teamId`, independent of the
10
10
  * shared last-used cookie). A team id rides the URL verbatim.
@@ -1,12 +1,12 @@
1
- import { g as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
- import { s as useSession } from "./LoopPlaybook-DC7QVvPY.mjs";
3
- import { t as SignIn } from "./SignIn-RmpWm9uy.mjs";
4
- import { t as DashboardView } from "./DashboardView-BF7PciP7.mjs";
5
- import { t as Route } from "./t._teamId-BgHV_KFP.mjs";
6
- //#region node_modules/.nitro/vite/services/ssr/assets/t._teamId-DRJvKHZn.js
1
+ import { h as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
+ import { E as useSession } from "./SocialLinks-Cm4H8pUJ.mjs";
3
+ import { t as SignIn } from "./SignIn-DEGrvJvb.mjs";
4
+ import { t as DashboardView } from "./DashboardView-C2LdV6J0.mjs";
5
+ import { t as Route } from "./t._teamId-1CreIlPV.mjs";
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/t._teamId-COuMKQ4r.js
7
7
  var import_jsx_runtime = require_jsx_runtime();
8
8
  /**
9
- * The explicit-team dashboard (`/t/<teamId>`, Phase 2): the same dashboard scoped
9
+ * The explicit-team dashboard (`/t/<teamId>`): the same dashboard scoped
10
10
  * to the team in the PATH, so a view is bookmarkable and each browser tab keeps
11
11
  * its own team (the list server fns take an explicit `teamId`, independent of the
12
12
  * shared last-used cookie). A team id rides the URL verbatim.
@@ -1,30 +1,14 @@
1
- import { $ as getInvite, A as createTeam$2, At as listTeamMembers, C as countLoopsForTeam, Dt as listPendingInvites, I as deleteInvite, Kt as removeTeamMemberGuarded, O as createInvite$1, Qt as setTeamMemberRoleGuarded, R as deleteTeamCascade, Wt as redeemInviteAtomic, at as getTeam, ft as isPersonalTeam, h as addTeamMember$1, jt as listTeamsForUser, ot as getTeamMember, qt as renameTeam$2, sn as userByEmail, z as ensureServer } from "./boot-3BNKujyp.mjs";
1
+ import { A as deleteTeamCascade, At as redeemInviteAtomic, Mt as removeTeamMemberGuarded, Nt as renameTeam$2, O as deleteInvite, S as createInvite$1, U as getInvite, X as getTeamMember, Y as getTeam, Yt as userByEmail, _t as listTeamsForUser, gt as listTeamMembers, j as ensureServer, m as addTeamMember$1, nt as isPersonalTeam, pt as listPendingInvites, v as countLoopsForTeam, w as createTeam$2, zt as setTeamMemberRoleGuarded } from "./boot-sNlIkoLe.mjs";
2
+ import { authEnabled, currentUserId } from "./auth-C0zoZCGe.mjs";
2
3
  import { n as createServerFn } from "./ssr.mjs";
3
- import { authEnabled, currentUserId } from "./auth-30Z4lV1w.mjs";
4
4
  import { t as createServerRpc } from "./createServerRpc-BD8Xn_0_.mjs";
5
5
  import { randomUUID } from "node:crypto";
6
- //#region node_modules/.nitro/vite/services/ssr/assets/teamFns-Bp81UO-x.js
7
- /**
8
- * Team lifecycle + membership logic (design report §2/§4/§5, all six §7 decisions
9
- * approved as recommended). This module is the ONE authorization + rules
10
- * chokepoint; the `teamFns` server fns are thin wrappers that resolve the caller's
11
- * user id and delegate here. Keeping the logic framework-free (plain async
12
- * functions over the store, `(actorUserId, ...)` in) makes every rule directly
13
- * testable against a real pglite store without mocking the Start runtime.
14
- *
15
- * The non-negotiable invariants, enforced here + transactionally in the store:
16
- * - every fn takes an EXPLICIT teamId and authorizes by MEMBERSHIP + ROLE, never
17
- * the active-team cookie (the URL report's hard lesson — managing team B while
18
- * browsing team A must work);
19
- * - team MANAGEMENT (rename/delete/members/invites) is owner-only; any member may
20
- * still create loops (decision 4, unchanged elsewhere);
21
- * - the personal team is undeletable + un-leavable but renamable (decision 5);
22
- * - a team always keeps ≥1 owner (decision 6, the last-owner guard);
23
- * - deleting a team that still owns loops is BLOCKED, never cascaded (decision 1);
24
- * - an invite grants membership within the app but never bypasses the login
25
- * allowlist (decision 3 — the redeemer already signed in through the gate).
26
- */
27
- /** Invite link lifetime (design §4 "short TTL, e.g. 7 days"). */
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/teamFns-H438WnZC.js
7
+ /** Framework-free team authorization and membership rules. Every operation uses an
8
+ * explicit team id; management is owner-only, personal teams cannot be left or
9
+ * deleted, each team retains an owner, loops block deletion, and invites never
10
+ * bypass the login gate. */
11
+ /** Invite link lifetime. */
28
12
  var INVITE_TTL_MS = 10080 * 60 * 1e3;
29
13
  var NAME_MAX = 80;
30
14
  function cleanName(raw) {
@@ -147,8 +131,7 @@ async function deleteTeam$1(userId, teamId) {
147
131
  if (await deleteTeamCascade(teamId) === "has-loops") return blockedByLoops(await countLoopsForTeam(teamId));
148
132
  return { ok: true };
149
133
  }
150
- /** Direct-add-by-email fast path (design §4 option A): add an EXISTING account to
151
- * the team immediately. No account yet ⇒ steer the owner to an invite link. */
134
+ /** Add an existing account directly; otherwise direct the owner to an invite. */
152
135
  async function addMemberByEmail(userId, teamId, email, role) {
153
136
  const gate = await assertOwner(teamId, userId);
154
137
  if (gate) return gate;
@@ -239,8 +222,7 @@ async function leaveTeam$1(userId, teamId) {
239
222
  };
240
223
  return { ok: true };
241
224
  }
242
- /** Mint a single-use, short-lived invite link (owner-only). `role` is capped at
243
- * the inviter's role — an owner may mint member or owner links (decision 6). */
225
+ /** Mint a single-use, short-lived, owner-authorized invite link. */
244
226
  async function createInvite(userId, teamId, role, nowMs) {
245
227
  const gate = await assertOwner(teamId, userId);
246
228
  if (gate) return gate;
@@ -275,8 +257,8 @@ async function revokeInvite(userId, teamId, token) {
275
257
  }
276
258
  /**
277
259
  * Redeem an invite as the signed-in actor. Any signed-in user may redeem (the
278
- * link is the authority, not team membership); the login allowlist already gated
279
- * their sign-in, so this never widens who can sign in (decision 3). Outcomes:
260
+ * link is the authority, not team membership); normal sign-in already applied the
261
+ * login allowlist. Outcomes:
280
262
  * - invalid token / wrong shape → error;
281
263
  * - already redeemed (single-use) → error;
282
264
  * - expired → error;
@@ -1,6 +1,6 @@
1
1
  import { n as createServerFn } from "./ssr.mjs";
2
- import { r as createSsrRpc } from "./loopApi-8_KgBapr.mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/teamFns-bm82twd5.js
2
+ import { o as createSsrRpc } from "./SocialLinks-Cm4H8pUJ.mjs";
3
+ //#region node_modules/.nitro/vite/services/ssr/assets/teamFns-j2JKjorZ.js
4
4
  /**
5
5
  * Team management server functions — the thin RPC surface over `teamAdmin`
6
6
  * (which holds all the rules + authorization). Every mutating fn takes an
@@ -0,0 +1,2 @@
1
+ import { Ct as mintDeviceToken, jt as rememberConnectKey } from "./boot-sNlIkoLe.mjs";
2
+ export { mintDeviceToken, rememberConnectKey };
@@ -1,6 +1,6 @@
1
1
  import { o as __toESM } from "../_runtime.mjs";
2
- import { g as require_jsx_runtime, h as require_react } from "../_libs/@base-ui/react+[...].mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/ui-Ww2tTM2u.js
2
+ import { g as require_react, h as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
+ //#region node_modules/.nitro/vite/services/ssr/assets/ui-D5KWstlb.js
4
4
  var import_react = /* @__PURE__ */ __toESM(require_react());
5
5
  var import_jsx_runtime = require_jsx_runtime();
6
6
  var fmt = (t) => t ? new Date(t).toLocaleString() : "—";
@@ -57,10 +57,6 @@ var until = (t) => {
57
57
  if (h < 24) return `in ${h}h`;
58
58
  return `in ${Math.round(h / 24)}d`;
59
59
  };
60
- var md = (t) => {
61
- const d = new Date(t);
62
- return `${d.getMonth() + 1}/${d.getDate()}`;
63
- };
64
60
  /** Compact run-log timestamp: "MM/DD HH:mm" (24h, zero-padded, local). */
65
61
  var tsShort = (t) => {
66
62
  if (!t) return "—";
@@ -84,17 +80,17 @@ function humanBytes(n) {
84
80
  * for meaning. Mirrored by the --color-run-* tokens used in Tailwind classes.
85
81
  */
86
82
  var ST = {
87
- kept: {
88
- c: "var(--color-run-kept)",
89
- label: "Kept"
83
+ keep: {
84
+ c: "var(--color-run-keep)",
85
+ label: "Keep"
90
86
  },
91
87
  "no-change": {
92
88
  c: "var(--color-run-no-change)",
93
89
  label: "No change"
94
90
  },
95
- blocked: {
96
- c: "var(--color-run-blocked)",
97
- label: "Blocked"
91
+ block: {
92
+ c: "var(--color-run-block)",
93
+ label: "Block"
98
94
  },
99
95
  error: {
100
96
  c: "var(--color-run-error)",
@@ -116,36 +112,26 @@ var ST = {
116
112
  c: "var(--color-run-warning)",
117
113
  label: "Reconciling…"
118
114
  },
119
- "active-exec": {
120
- c: "var(--color-run-active-exec)",
115
+ active: {
116
+ c: "var(--color-run-active)",
121
117
  label: "Running…"
122
- },
123
- "active-steer": {
124
- c: "var(--color-run-active-steer)",
125
- label: "Steering…"
126
- },
127
- "active-evolve": {
128
- c: "var(--color-run-active-evolve)",
129
- label: "Evolving…"
130
118
  }
131
119
  };
132
- var statusMeta = (k) => k === "kept" || k === "no-change" || k === "blocked" ? ST[k] : void 0;
133
- var roleWord = (r) => r.role === "steer" ? "steer" : r.role === "evolve" ? "evolve" : "exec";
134
- var keptLabel = (r) => roleWord(r) === "steer" ? "Steered" : roleWord(r) === "evolve" ? "Improved" : "Kept";
120
+ var statusMeta = (k) => k === "keep" || k === "no-change" || k === "block" ? ST[k] : void 0;
135
121
  function dotColor(r) {
136
122
  if (r.reconciliation) return ST.reconciling.c;
137
- if (r.running) return ST[`active-${roleWord(r)}`].c;
138
- if (r.status === "blocked") return ST.blocked.c;
139
- if (r.queued) return ST.queued.c;
123
+ if (r.phase === "running") return ST.active.c;
140
124
  if (r.phase === "error") return ST.error.c;
141
- if (r.canceled || r.phase === "canceled") return ST.canceled.c;
125
+ if (r.status === "block") return ST.block.c;
126
+ if (r.phase === "pending") return ST.queued.c;
127
+ if (r.phase === "canceled") return ST.canceled.c;
142
128
  if (r.phase === "done" && !statusMeta(r.status)) return ST.warning.c;
143
129
  return (statusMeta(r.status) ?? ST["no-change"]).c;
144
130
  }
145
131
  function dotOpacity(r) {
146
- if (r.reconciliation || r.running || r.status === "blocked" || r.phase === "error") return 1;
147
- if (r.queued) return .7;
148
- if (r.canceled || r.phase === "canceled") return .5;
132
+ if (r.reconciliation || r.phase === "running" || r.status === "block" || r.phase === "error") return 1;
133
+ if (r.phase === "pending") return .7;
134
+ if (r.phase === "canceled") return .5;
149
135
  if (r.phase === "done" && !statusMeta(r.status)) return .9;
150
136
  if (r.status === "no-change") return .55;
151
137
  return 1;
@@ -153,22 +139,22 @@ function dotOpacity(r) {
153
139
  function dotLabel(r) {
154
140
  if (r.reconciliation === "blocking") return "Waiting for machine recovery";
155
141
  if (r.reconciliation === "report-only") return "Awaiting late report";
156
- if (r.queued) return ST.queued.label;
157
- if (r.running) {
142
+ if (r.phase === "pending") return ST.queued.label;
143
+ if (r.phase === "running") {
158
144
  if (r.cancelRequested) return "Stopping…";
159
- return ST[`active-${roleWord(r)}`].label;
145
+ return ST.active.label;
160
146
  }
161
- if (r.status === "blocked") return ST.blocked.label;
162
147
  if (r.phase === "error") {
163
148
  if (r.cancelRequested) return "Failed while stopping";
164
149
  return ST.error.label;
165
150
  }
166
- if (r.canceled || r.phase === "canceled") {
151
+ if (r.status === "block") return ST.block.label;
152
+ if (r.phase === "canceled") {
167
153
  if (r.error === "stopped by user") return "Canceled";
168
154
  return "Canceled";
169
155
  }
170
156
  if (r.cancelRequested && r.phase === "done") return "Succeeded while stopping";
171
- if (r.status === "kept") return keptLabel(r);
157
+ if (r.status === "keep") return ST.keep.label;
172
158
  if (r.status === "no-change") return ST["no-change"].label;
173
159
  if (r.phase === "done") return ST.warning.label;
174
160
  return ST["no-change"].label;
@@ -184,9 +170,8 @@ var btnBase = `inline-flex cursor-pointer items-center gap-1.5 rounded-control p
184
170
  var btn = `${btnBase} border border-wire bg-surface text-primary hover:bg-raised`;
185
171
  var btnPrimary = `${btnBase} border border-display bg-display text-paper hover:opacity-85`;
186
172
  var btnDanger = `${btnBase} border border-transparent bg-rubik-red text-white hover:opacity-85`;
187
- var btnCost = `${btnBase} border border-display bg-transparent text-display hover:bg-[color:var(--color-display)]/8`;
188
173
  var btnSm = `inline-flex shrink-0 cursor-pointer items-center gap-1 rounded-full border border-wire bg-surface px-3 py-1 text-label font-medium text-primary transition-colors duration-150 hover:bg-raised disabled:cursor-default disabled:opacity-40 ${focusRing}`;
189
- var btnPrimaryPill = `inline-flex shrink-0 cursor-pointer items-center gap-1.5 rounded-full border border-display bg-display px-4 py-2 text-body font-medium text-paper transition-colors duration-150 hover:opacity-85 disabled:cursor-default disabled:opacity-40 ${focusRing}`;
174
+ `${focusRing}`;
190
175
  var btnQuiet = "inline-flex cursor-pointer items-center gap-1.5 border-none bg-transparent p-0 text-meta font-medium text-secondary transition-colors hover:text-display";
191
176
  /** Section divider heading ink - shared by ModalSection and the page panels. */
192
177
  var sectionHeadCls = "text-label font-semibold text-secondary";
@@ -227,13 +212,6 @@ function ErrorBanner({ message, onDismiss, className = "mb-2" }) {
227
212
  ]
228
213
  });
229
214
  }
230
- /** A read-only mono code block (task file / control dump). */
231
- function Pre({ children }) {
232
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", {
233
- className: "max-h-[300px] overflow-auto whitespace-pre-wrap rounded-control border border-hairline bg-raised px-4 py-3.5 font-mono text-meta leading-relaxed text-secondary",
234
- children
235
- });
236
- }
237
215
  /** Shared semantic chip tones. */
238
216
  var PILL_TONES = {
239
217
  neutral: "bg-raised text-secondary",
@@ -276,4 +254,4 @@ function StatusPill({ run, colorText }) {
276
254
  });
277
255
  }
278
256
  //#endregion
279
- export { tsShort as A, lastRunOf as C, runPulseStyle as D, runPulseAnim as E, useHydrated as M, sectionHeadCls as O, labelCls as S, rel as T, dur as _, StatusPill as a, humanBytes as b, btnDanger as c, btnQuiet as d, btnSm as f, dotOpacity as g, dotLabel as h, Pre as i, until as j, selectCls as k, btnPrimary as l, dotColor as m, Loading as n, btn as o, cronText as p, Pill as r, btnCost as s, ErrorBanner as t, btnPrimaryPill as u, fmt as v, md as w, inputCls as x, fnum as y };
257
+ export { runPulseStyle as C, until as D, tsShort as E, useHydrated as O, runPulseAnim as S, selectCls as T, humanBytes as _, btn as a, lastRunOf as b, btnQuiet as c, dotColor as d, dotLabel as f, fnum as g, fmt as h, StatusPill as i, btnSm as l, dur as m, Loading as n, btnDanger as o, dotOpacity as p, Pill as r, btnPrimary as s, ErrorBanner as t, cronText as u, inputCls as v, sectionHeadCls as w, rel as x, labelCls as y };