@kky42/pievo-server 2.3.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/MachinesModal-CEddj7la.js +1 -0
  3. package/.output/public/assets/SignIn-BdkKWOSs.js +1 -0
  4. package/.output/public/assets/actionUi-BYBeYy7U.js +1 -0
  5. package/.output/public/assets/app-BAgHQVvr.css +2 -0
  6. package/.output/public/assets/index-BZLqD3JI.js +12 -0
  7. package/.output/public/assets/invite._token-BCLgmTO7.js +1 -0
  8. package/.output/public/assets/invite._token-ZnVQqqq4.js +1 -0
  9. package/.output/public/assets/lifecycleUi-C7dwHtbw.js +1 -0
  10. package/.output/public/assets/loops._loopId-X8PSlgdB.js +67 -0
  11. package/.output/public/assets/loops._loopId_.runs._runId-CA0-q1y5.js +3 -0
  12. package/.output/public/assets/preload-helper-CUIO87nJ.js +5 -0
  13. package/.output/public/assets/routes-BjKcDy6D.js +1 -0
  14. package/.output/public/assets/routes-bfMcArTT.js +1 -0
  15. package/.output/public/assets/t._teamId-B75J8h0x.js +1 -0
  16. package/.output/public/assets/t._teamId-D7WVPMDr.js +1 -0
  17. package/.output/public/assets/ui-DGOT8AoZ.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-D_hKsCsv.mjs +1098 -0
  22. package/.output/server/_ssr/{notifyFns-DuPR1zd7.mjs → MachinesModal-DZ_9ErAU.mjs} +57 -35
  23. package/.output/server/_ssr/{SignIn-RmpWm9uy.mjs → SignIn-DjSrg0nO.mjs} +10 -24
  24. package/.output/server/_ssr/SocialLinks-BTjsnVOm.mjs +1051 -0
  25. package/.output/server/_ssr/{actionUi-BN55TNYE.mjs → actionUi-D15R8L7R.mjs} +3 -3
  26. package/.output/server/_ssr/{artifactFiles-BCaIIrrT.mjs → artifactFiles-CV3OXxRD.mjs} +7 -8
  27. package/.output/server/_ssr/{artifactKind-BW0isV8L.mjs → artifactKind-ByzVa7fg.mjs} +27 -2
  28. package/.output/server/_ssr/artifacts-BhQvaGjF.mjs +2 -0
  29. package/.output/server/_ssr/{auth-30Z4lV1w.mjs → auth-CPCDf6Wr.mjs} +16 -19
  30. package/.output/server/_ssr/{boot-3BNKujyp.mjs → boot-BbWxaF-z.mjs} +1297 -3830
  31. package/.output/server/_ssr/boot-COHf8Gv3.mjs +2 -0
  32. package/.output/server/_ssr/{bun-sqlite-dialect-BW9W1_Ps-_7tfuNRi.mjs → bun-sqlite-dialect-BW9W1_Ps-8MIh9jN1.mjs} +2 -2
  33. package/.output/server/_ssr/{d1-sqlite-dialect-BLC8LXE6-ucDUbeBk.mjs → d1-sqlite-dialect-BLC8LXE6-CcMQ01_d.mjs} +2 -2
  34. package/.output/server/_ssr/db-dw61xIt1.mjs +2 -0
  35. package/.output/server/_ssr/{dist-Cd6nlLlO.mjs → dist-AxCsRawm.mjs} +2 -2
  36. package/.output/server/_ssr/{factory-CWWwV7XZ.mjs → factory-S7MaMVC2.mjs} +2 -2
  37. package/.output/server/_ssr/{invite._token-CWl6kipD.mjs → invite._token-B1UgMbNQ.mjs} +3 -3
  38. package/.output/server/_ssr/{invite._token-BKlz0R2f.mjs → invite._token-BliJIGk4.mjs} +4 -5
  39. package/.output/server/_ssr/{invite._token-SdWXemIc.mjs → invite._token-D296YVGd.mjs} +7 -7
  40. package/.output/server/_ssr/{kysely-adapter-C8iS51DB.mjs → kysely-adapter-DUdpqcCJ.mjs} +1 -1
  41. package/.output/server/_ssr/{lifecycleUi-DgBQAYzp.mjs → lifecycleUi-Dad3hvhm.mjs} +11 -11
  42. package/.output/server/_ssr/logger-DdUWuMdh.mjs +2 -0
  43. package/.output/server/_ssr/loopApi-Dy8ztANM.mjs +389 -0
  44. package/.output/server/_ssr/{adapters-BoLkOf1T.mjs → loopProjection-BZ1_IYCr.mjs} +25 -55
  45. package/.output/server/_ssr/loops._loopId-CKsAnxMl.mjs +1255 -0
  46. package/.output/server/_ssr/{loops._loopId_.runs._runId-PUGBrD5q.mjs → loops._loopId_.runs._runId-DG405pQs.mjs} +23 -74
  47. package/.output/server/_ssr/{loops._loopId_.runs._runId-Ymy4lwee.mjs → loops._loopId_.runs._runId-a_SyY8rX.mjs} +4 -5
  48. package/.output/server/_ssr/{machineFns-BZ9puxDt.mjs → machineFns-BSaE7K88.mjs} +3 -5
  49. package/.output/server/_ssr/{node-sqlite-dialect-D_3JmkMo.mjs → node-sqlite-dialect-rWwVyt2J.mjs} +2 -2
  50. package/.output/server/_ssr/router-lMkobh5r.mjs +618 -0
  51. package/.output/server/_ssr/{routes-ClZEdsnB.mjs → routes-CRHc9cLG.mjs} +6 -10
  52. package/.output/server/_ssr/{routes-ComqHvCL.mjs → routes-DNCZrs8z.mjs} +3 -3
  53. package/.output/server/_ssr/{routes-D5jJJ-30.mjs → routes-ufPbrGHs.mjs} +6 -6
  54. package/.output/server/_ssr/runDiff-CrZzjokj.mjs +2 -0
  55. package/.output/server/_ssr/ssr.mjs +65 -97
  56. package/.output/server/_ssr/store-CirPHuib.mjs +2 -0
  57. package/.output/server/_ssr/{t._teamId-DRJvKHZn.mjs → t._teamId-BoBoYEHL.mjs} +7 -7
  58. package/.output/server/_ssr/{t._teamId-DDERNgfn.mjs → t._teamId-DcWOYjPf.mjs} +4 -4
  59. package/.output/server/_ssr/{t._teamId-BgHV_KFP.mjs → t._teamId-QD2nN0wn.mjs} +7 -11
  60. package/.output/server/_ssr/{teamFns-Bp81UO-x.mjs → teamFns-BsmconJ1.mjs} +4 -4
  61. package/.output/server/_ssr/{teamFns-bm82twd5.mjs → teamFns-DcoVuWyH.mjs} +2 -2
  62. package/.output/server/_ssr/tokens-XngoyCU8.mjs +2 -0
  63. package/.output/server/_ssr/{ui-Ww2tTM2u.mjs → ui-DmFKW2H_.mjs} +26 -47
  64. package/.output/server/{_tanstack-start-manifest_v-DwKENYCN.mjs → _tanstack-start-manifest_v-Xd5bMpJe.mjs} +25 -33
  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 -10
  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/logger-Gy-47z3k.mjs +0 -2
  138. package/.output/server/_ssr/loopApi-8_KgBapr.mjs +0 -109
  139. package/.output/server/_ssr/loopApi-ABi9SgWS.mjs +0 -564
  140. package/.output/server/_ssr/loops._loopId-SON_t43g.mjs +0 -30
  141. package/.output/server/_ssr/loops._loopId-p1KWsvMM.mjs +0 -1477
  142. package/.output/server/_ssr/notifyFns-BUCePuF3.mjs +0 -118
  143. package/.output/server/_ssr/router-Czxvra6l.mjs +0 -685
  144. package/.output/server/_ssr/runDiff--qLtU4FI.mjs +0 -2
  145. package/.output/server/_ssr/store-40eVzW1S.mjs +0 -2
  146. package/.output/server/_ssr/tokens-CbfoRC_s.mjs +0 -2
  147. package/.output/server/drizzle/0001_naive_silver_fox.sql +0 -25
  148. package/.output/server/drizzle/0002_funny_sage.sql +0 -12
  149. package/.output/server/drizzle/0003_optimal_slapstick.sql +0 -102
  150. package/.output/server/drizzle/0004_remove_grok_agent.sql +0 -5
  151. package/.output/server/drizzle/0005_heavy_gauntlet.sql +0 -8
  152. package/.output/server/drizzle/0006_tranquil_sharon_carter.sql +0 -1
  153. package/.output/server/drizzle/0007_faulty_starbolt.sql +0 -30
  154. package/.output/server/drizzle/0008_durable_lifecycle_evidence.sql +0 -15
  155. package/.output/server/drizzle/0009_ordinary_electro.sql +0 -1
  156. package/.output/server/drizzle/0010_workable_rage.sql +0 -14
  157. package/.output/server/drizzle/0011_steep_marvel_zombies.sql +0 -3
  158. package/.output/server/drizzle/0012_blocked_run_status.sql +0 -12
  159. package/.output/server/drizzle/0013_drop_run_outcome.sql +0 -2
  160. package/.output/server/drizzle/0014_luxuriant_scrambler.sql +0 -5
  161. package/.output/server/drizzle/0015_run_history_foundation.sql +0 -43
  162. package/.output/server/drizzle/0016_plural_machine_runs.sql +0 -4
  163. package/.output/server/drizzle/meta/0000_snapshot.json +0 -1333
  164. package/.output/server/drizzle/meta/0001_snapshot.json +0 -1498
  165. package/.output/server/drizzle/meta/0002_snapshot.json +0 -1576
  166. package/.output/server/drizzle/meta/0003_snapshot.json +0 -1666
  167. package/.output/server/drizzle/meta/0005_snapshot.json +0 -1666
  168. package/.output/server/drizzle/meta/0006_snapshot.json +0 -1672
  169. package/.output/server/drizzle/meta/0007_snapshot.json +0 -1787
  170. package/.output/server/drizzle/meta/0009_snapshot.json +0 -1793
  171. package/.output/server/drizzle/meta/0010_snapshot.json +0 -1891
  172. package/.output/server/drizzle/meta/0011_snapshot.json +0 -1872
  173. package/drizzle/0001_naive_silver_fox.sql +0 -25
  174. package/drizzle/0002_funny_sage.sql +0 -12
  175. package/drizzle/0003_optimal_slapstick.sql +0 -102
  176. package/drizzle/0004_remove_grok_agent.sql +0 -5
  177. package/drizzle/0005_heavy_gauntlet.sql +0 -8
  178. package/drizzle/0006_tranquil_sharon_carter.sql +0 -1
  179. package/drizzle/0007_faulty_starbolt.sql +0 -30
  180. package/drizzle/0008_durable_lifecycle_evidence.sql +0 -15
  181. package/drizzle/0009_ordinary_electro.sql +0 -1
  182. package/drizzle/0010_workable_rage.sql +0 -14
  183. package/drizzle/0011_steep_marvel_zombies.sql +0 -3
  184. package/drizzle/0012_blocked_run_status.sql +0 -12
  185. package/drizzle/0013_drop_run_outcome.sql +0 -2
  186. package/drizzle/0014_luxuriant_scrambler.sql +0 -5
  187. package/drizzle/0015_run_history_foundation.sql +0 -43
  188. package/drizzle/0016_plural_machine_runs.sql +0 -4
  189. package/drizzle/meta/0000_snapshot.json +0 -1333
  190. package/drizzle/meta/0001_snapshot.json +0 -1498
  191. package/drizzle/meta/0002_snapshot.json +0 -1576
  192. package/drizzle/meta/0003_snapshot.json +0 -1666
  193. package/drizzle/meta/0005_snapshot.json +0 -1666
  194. package/drizzle/meta/0006_snapshot.json +0 -1672
  195. package/drizzle/meta/0007_snapshot.json +0 -1787
  196. package/drizzle/meta/0009_snapshot.json +0 -1793
  197. package/drizzle/meta/0010_snapshot.json +0 -1891
  198. 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 { et as isOutdated, xt as machinePresence } from "./boot-BbWxaF-z.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 { C as runPulseAnim, O as until, S as rel, T as sectionHeadCls, a as btn, b as labelCls, f as dotColor, g as fmt, h as dur, k as useHydrated, m as dotOpacity, o as btnDanger, p as dotLabel, s as btnPrimary, t as ErrorBanner, y as inputCls } from "./ui-DmFKW2H_.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 { f as getConfig, s as createSsrRpc } from "./SocialLinks-BTjsnVOm.mjs";
7
+ import { n as daemonStopSupport } from "./lifecycleUi-Dad3hvhm.mjs";
8
+ //#region node_modules/.nitro/vite/services/ssr/assets/MachinesModal-DZ_9ErAU.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,49 @@ function Timeline({ job, runs, total, onLoadMore, onPickRun }) {
198
197
  ]
199
198
  });
200
199
  }
200
+ /** Shared modal shell — Base UI Dialog handles focus trap, Esc, scroll lock.
201
+ * Content-height, optically centered — sized for the small form/compose dialogs
202
+ * (the old `detail`/`wide` variants died with the modal-era loop/run views). */
203
+ function Modal({ open, onClose, children, wide = false }) {
204
+ const pos = `-translate-y-1/2 max-h-[calc(100dvh-4rem)] ${wide ? "top-1/2 max-w-[62rem]" : "top-[46%] max-w-160"}`;
205
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogRoot, {
206
+ open,
207
+ onOpenChange: (o) => !o && onClose(),
208
+ 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, {
209
+ 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}`,
210
+ children
211
+ })] })
212
+ });
213
+ }
214
+ function ModalHead({ title, sub }) {
215
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
216
+ className: "flex items-start justify-between gap-3",
217
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTitle, {
218
+ className: "text-[20px] font-semibold tracking-[-0.015em] text-display",
219
+ children: title
220
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogClose, {
221
+ "aria-label": "Close",
222
+ 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",
223
+ children: "✕"
224
+ })]
225
+ }), sub != null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
226
+ className: "mt-1.5 text-meta text-secondary",
227
+ children: sub
228
+ })] });
229
+ }
230
+ /**
231
+ * Section divider heading - sentence case, hierarchy from weight + color.
232
+ * `action` drops an optional control (e.g. Copy) flush-right on the divider.
233
+ */
234
+ function ModalSection({ children, action }) {
235
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
236
+ className: "mb-2.5 mt-6 flex items-end justify-between gap-3 border-b border-hairline pb-1.5",
237
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
238
+ className: sectionHeadCls,
239
+ children
240
+ }), action]
241
+ });
242
+ }
201
243
  /** User-facing daemon commands. Public UX installs globally; PIEVO_CLI dev
202
244
  * overrides are invoked verbatim and never trigger a global npm install. */
203
245
  function daemonConnectCommand(origin, token, cli, customCli) {
@@ -545,25 +587,5 @@ function MachinesModal({ open, onClose, teamId }) {
545
587
  ]
546
588
  });
547
589
  }
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
590
  //#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 };
591
+ export { Timeline as a, ModalSection as i, Modal as n, listMachines as o, ModalHead as r, mergeRuns 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-DmFKW2H_.mjs";
3
+ import { C as signIn, n as GitHubIcon, r as PievoLogo, t as GITHUB_URL } from "./SocialLinks-BTjsnVOm.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/SignIn-DjSrg0nO.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