@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,12 +1,11 @@
1
1
  import { o as __toESM } from "../_runtime.mjs";
2
- import { a as TooltipTrigger, g as require_jsx_runtime, h as require_react, i as TooltipPortal, n as TooltipPopup, o as TooltipRoot, r as TooltipPositioner } from "../_libs/@base-ui/react+[...].mjs";
3
- import { It as machinePresence, dt as isOutdated } from "./boot-3BNKujyp.mjs";
4
- import { E as runPulseAnim, M as useHydrated, S as labelCls, T as rel, _ as dur, c as btnDanger, g as dotOpacity, h as dotLabel, j as until, l as btnPrimary, m as dotColor, o as btn, t as ErrorBanner, v as fmt, x as inputCls } from "./ui-Ww2tTM2u.mjs";
2
+ import { St as machinePresence, tt as isOutdated } from "./boot-sNlIkoLe.mjs";
3
+ import { a as DialogClose, c as TooltipPopup, d as TooltipTrigger, f as TooltipRoot, g as require_react, h as require_jsx_runtime, i as DialogPopup, l as TooltipPositioner, n as DialogRoot, o as DialogBackdrop, r as DialogPortal, t as DialogTitle, u as TooltipPortal } from "../_libs/@base-ui/react+[...].mjs";
4
+ import { D as until, O as useHydrated, S as runPulseAnim, a as btn, d as dotColor, f as dotLabel, h as fmt, m as dur, o as btnDanger, p as dotOpacity, s as btnPrimary, t as ErrorBanner, v as inputCls, w as sectionHeadCls, x as rel, y as labelCls } from "./ui-D5KWstlb.mjs";
5
5
  import { n as createServerFn } from "./ssr.mjs";
6
- import { r as createSsrRpc, u as getConfig } from "./loopApi-8_KgBapr.mjs";
7
- import { n as ModalHead, r as ModalSection, t as Modal } from "./Modal-MaCG52Pv.mjs";
8
- import { n as daemonStopSupport } from "./lifecycleUi-DgBQAYzp.mjs";
9
- //#region node_modules/.nitro/vite/services/ssr/assets/notifyFns-DuPR1zd7.js
6
+ import { d as getConfig, o as createSsrRpc } from "./SocialLinks-Cm4H8pUJ.mjs";
7
+ import { n as daemonStopSupport } from "./lifecycleUi-Dad3hvhm.mjs";
8
+ //#region node_modules/.nitro/vite/services/ssr/assets/MachinesModal-BjkcVjjx.js
10
9
  var import_react = /* @__PURE__ */ __toESM(require_react());
11
10
  var import_jsx_runtime = require_jsx_runtime();
12
11
  /**
@@ -91,7 +90,7 @@ function RunSeg({ run, onClick }) {
91
90
  style: {
92
91
  background: dotColor(run),
93
92
  opacity: dotOpacity(run),
94
- ...run.running ? runPulseAnim : {}
93
+ ...run.phase === "running" ? runPulseAnim : {}
95
94
  }
96
95
  }) }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipPositioner, {
97
96
  sideOffset: 8,
@@ -134,9 +133,9 @@ function Pager({ count, onClick, loading }) {
134
133
  children: loading ? "…" : count
135
134
  });
136
135
  }
137
- function Timeline({ job, runs, total, onLoadMore, onPickRun }) {
136
+ function Timeline({ loop, runs, total, onLoadMore, onPickRun }) {
138
137
  const all = runs;
139
- const en = job.enabled;
138
+ const en = loop.enabled;
140
139
  const L = all.length;
141
140
  const unloaded = Math.max(0, total - L);
142
141
  const hydrated = useHydrated();
@@ -164,8 +163,8 @@ function Timeline({ job, runs, total, onLoadMore, onPickRun }) {
164
163
  const next = start + PAGE;
165
164
  setWinStart(next >= maxStart ? -1 : next);
166
165
  };
167
- const running = !!(job.running || job.queued) && atLatest;
168
- const showNext = atLatest && en && !!job.nextRun && !running;
166
+ const running = !!(loop.running || loop.queued) && atLatest;
167
+ const showNext = atLatest && en && !!loop.nextRun && !running;
169
168
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
170
169
  className: "flex min-w-0 items-center gap-[3px] overflow-x-auto",
171
170
  children: [
@@ -184,11 +183,11 @@ function Timeline({ job, runs, total, onLoadMore, onPickRun }) {
184
183
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-12 border-t border-dashed border-wire" }),
185
184
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
186
185
  className: "size-[11px] shrink-0 rounded-full border border-wire",
187
- title: hydrated ? `Next scheduled run · ${fmt(job.nextRun)}` : void 0
186
+ title: hydrated ? `Next scheduled run · ${fmt(loop.nextRun)}` : void 0
188
187
  }),
189
188
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
190
189
  className: "text-caption text-disabled",
191
- children: hydrated ? until(job.nextRun) : ""
190
+ children: hydrated ? until(loop.nextRun) : ""
192
191
  })
193
192
  ]
194
193
  }) : !atLatest && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Pager, {
@@ -198,6 +197,47 @@ function Timeline({ job, runs, total, onLoadMore, onPickRun }) {
198
197
  ]
199
198
  });
200
199
  }
200
+ /** Shared modal shell — Base UI Dialog handles focus trap, Esc, and scroll lock. */
201
+ function Modal({ open, onClose, children, wide = false }) {
202
+ const pos = `-translate-y-1/2 max-h-[calc(100dvh-4rem)] ${wide ? "top-1/2 max-w-[62rem]" : "top-[46%] max-w-160"}`;
203
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogRoot, {
204
+ open,
205
+ onOpenChange: (o) => !o && onClose(),
206
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogPortal, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogBackdrop, { className: "fixed inset-0 z-[900] bg-black/25 backdrop-blur-[8px] transition-opacity duration-200 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 dark:bg-black/45" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPopup, {
207
+ className: `glass-strong fixed left-1/2 z-[901] w-full -translate-x-1/2 overflow-auto rounded-sheet px-[26px] pb-7 pt-6 outline-none transition-opacity duration-200 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 ${pos}`,
208
+ children
209
+ })] })
210
+ });
211
+ }
212
+ function ModalHead({ title, sub }) {
213
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
214
+ className: "flex items-start justify-between gap-3",
215
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTitle, {
216
+ className: "text-[20px] font-semibold tracking-[-0.015em] text-display",
217
+ children: title
218
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogClose, {
219
+ "aria-label": "Close",
220
+ className: "-mr-1 shrink-0 cursor-pointer rounded-full border-none bg-transparent px-1.5 py-0.5 text-[15px] leading-none text-disabled transition-colors hover:text-display focus-visible:text-display focus-visible:outline-none",
221
+ children: "✕"
222
+ })]
223
+ }), sub != null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
224
+ className: "mt-1.5 text-meta text-secondary",
225
+ children: sub
226
+ })] });
227
+ }
228
+ /**
229
+ * Section divider heading - sentence case, hierarchy from weight + color.
230
+ * `action` drops an optional control (e.g. Copy) flush-right on the divider.
231
+ */
232
+ function ModalSection({ children, action }) {
233
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
234
+ className: "mb-2.5 mt-6 flex items-end justify-between gap-3 border-b border-hairline pb-1.5",
235
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
236
+ className: sectionHeadCls,
237
+ children
238
+ }), action]
239
+ });
240
+ }
201
241
  /** User-facing daemon commands. Public UX installs globally; PIEVO_CLI dev
202
242
  * overrides are invoked verbatim and never trigger a global npm install. */
203
243
  function daemonConnectCommand(origin, token, cli, customCli) {
@@ -545,25 +585,5 @@ function MachinesModal({ open, onClose, teamId }) {
545
585
  ]
546
586
  });
547
587
  }
548
- /**
549
- * Notification-channel server functions. Channels are per-team push targets a
550
- * loop can route its run messages to. Secrets (bot token / chat id) live in the
551
- * channel's `config` and are NEVER returned to the client — list/test surface
552
- * only a redacted summary. Scoped to the request's team (see requestScope).
553
- *
554
- * Per-type behavior (validate / hint / send) lives in `CHANNELS` (gateway/notify);
555
- * this module just wires it to auth + storage.
556
- */
557
- /** Resolve a channel and authorize it against the request's team — undefined when
558
- * missing OR (gate on) owned by another team, so existence never leaks. Mirrors
559
- * loopApi's ownedLoop for the channel routes. */
560
- /** GET — the team's channels (redacted summaries, newest first). */
561
- var listChannels = createServerFn({ method: "GET" }).handler(createSsrRpc("ced5641f28e3e64d3b8773ea4c875b78ee305bd08caba90a2207e86ef1ab3327"));
562
- /** POST — create a channel in the team. Validates per-type required fields. */
563
- var createChannel = createServerFn({ method: "POST" }).validator((d) => d).handler(createSsrRpc("d6cb1ea6f7fdaf940fbbe91d6b0898a0d5ac2308f8bc572dc3b856824a1f4581"));
564
- /** POST — delete a channel (loops pointing at it fall back to dashboard-only). */
565
- var deleteChannel = createServerFn({ method: "POST" }).validator((id) => id).handler(createSsrRpc("9defc1b5d0f4316d61621e2c4614a70dc052ad6b7a3aa2ead00836f7d5cb5b4c"));
566
- /** POST — send a test message through a saved channel (verifies the secrets). */
567
- var testChannel = createServerFn({ method: "POST" }).validator((id) => id).handler(createSsrRpc("a4e3ae06af7087a3dc291236cf6d5ad272e2f754884c1f948e75a18a4ebada93"));
568
588
  //#endregion
569
- export { listChannels as a, testChannel as c, deleteChannel as i, Timeline as n, listMachines as o, createChannel as r, mergeRuns as s, MachinesModal as t };
589
+ export { Timeline as a, mergeRuns as c, ModalSection as i, Modal as n, daemonConnectCommand as o, ModalHead as r, listMachines as s, MachinesModal as t };
@@ -1,9 +1,7 @@
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
- import { l as btnPrimary } from "./ui-Ww2tTM2u.mjs";
4
- import { i as PievoLogo, n as GitHubIcon, o as signIn, r as LoopPlaybook, t as GITHUB_URL } from "./LoopPlaybook-DC7QVvPY.mjs";
5
- //#region node_modules/.nitro/vite/services/ssr/assets/SignIn-RmpWm9uy.js
6
- var import_react = /* @__PURE__ */ __toESM(require_react());
1
+ import { h as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
+ import { s as btnPrimary } from "./ui-D5KWstlb.mjs";
3
+ import { S as signIn, n as GitHubIcon, r as PievoLogo, t as GITHUB_URL } from "./SocialLinks-Cm4H8pUJ.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/SignIn-DEGrvJvb.js
7
5
  var import_jsx_runtime = require_jsx_runtime();
8
6
  /**
9
7
  * Sign-in CTA — shown by the auth gate when a GitHub OAuth app is configured and
@@ -11,26 +9,14 @@ var import_jsx_runtime = require_jsx_runtime();
11
9
  * (the dashboard by default, or the deep-linked loop/run page) after the OAuth
12
10
  * round-trip, so a logged-out deep link lands back on the page it was for.
13
11
  *
14
- * The playbook band renders below the card as the signed-out pitch; its
15
- * "Start a loop" CTA scrolls back up to this card (with a brief highlight)
16
- * so the path to signing in is obvious.
12
+ * This stays intentionally focused on authentication; signed-out product prose
13
+ * belongs to the surrounding route.
17
14
  */
18
15
  function SignIn({ callbackURL = "/" }) {
19
- const cardRef = (0, import_react.useRef)(null);
20
- const [hint, setHint] = (0, import_react.useState)(false);
21
- const scrollToSignIn = () => {
22
- cardRef.current?.scrollIntoView({
23
- behavior: "smooth",
24
- block: "center"
25
- });
26
- setHint(true);
27
- setTimeout(() => setHint(false), 1800);
28
- };
29
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("main", {
16
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("main", {
30
17
  className: "mx-auto max-w-[1180px] px-8 pb-24",
31
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
32
- ref: cardRef,
33
- className: `mx-auto mt-32 max-w-sm rounded-card p-6 text-center transition-shadow duration-500 ${hint ? "shadow-[0_0_0_2px_var(--color-surface),0_0_0_4px_var(--color-interactive)]" : ""}`,
18
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
19
+ className: "mx-auto mt-32 max-w-sm rounded-card p-6 text-center",
34
20
  children: [
35
21
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PievoLogo, { size: 52 }),
36
22
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
@@ -60,7 +46,7 @@ function SignIn({ callbackURL = "/" }) {
60
46
  })
61
47
  })
62
48
  ]
63
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LoopPlaybook, { onStart: scrollToSignIn })]
49
+ })
64
50
  });
65
51
  }
66
52
  //#endregion