@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,10 +1,6 @@
1
- import { It as machinePresence, Ot as listRuns, Ut as reconciliationStatesForRuns, ct as hasRunningRun, f as MIN_DAEMON_VERSION, j as daemonNeedsUpdate, st as hasPendingRun, tt as getMachine, w as countRuns } from "./boot-3BNKujyp.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/adapters-BoLkOf1T.js
3
- /**
4
- * Map the new relational rows (Loop + Run) onto the shapes the UI already
5
- * renders (JobSummary / JobDetail / RunSummary / JobFull), so the dashboard
6
- * components stay unchanged while the data now comes from the in-process store.
7
- */
1
+ import { Lt as scheduleFromLoop, Ot as reconciliationStatesForRuns, Vt as statusDefinitionsFromLoop, W as getMachine, X as hasPendingRun, Z as hasRunningRun, pt as listRuns, u as MIN_DAEMON_VERSION, v as countRuns, w as daemonNeedsUpdate, xt as machinePresence } from "./boot-BbWxaF-z.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/loopProjection-BZ1_IYCr.js
3
+ /** Canonical client projections for persisted loops and runs. */
8
4
  var SUMMARY_RUNS = 18;
9
5
  function nextRun(loop) {
10
6
  return [loop.nextRunAt, loop.nextCadenceAt].filter((v) => v != null).sort()[0] ?? null;
@@ -14,14 +10,10 @@ function toRunSummary(r, reconciliation) {
14
10
  id: r.id,
15
11
  loopId: r.loopId,
16
12
  ts: r.ts,
17
- queued: r.phase === "pending",
18
- running: r.phase === "running",
19
- ...reconciliation ? { reconciliation } : {},
20
13
  phase: r.phase,
14
+ ...reconciliation ? { reconciliation } : {},
21
15
  requestedBy: r.requestedBy,
22
- canceled: r.phase === "canceled",
23
16
  cancelRequested: r.cancelRequestedAt != null,
24
- role: r.role,
25
17
  agent: r.agent ?? null,
26
18
  status: r.status ?? null,
27
19
  message: r.message ?? null,
@@ -35,8 +27,6 @@ function toRunSummary(r, reconciliation) {
35
27
  cacheCreationTokens: r.usage.cacheCreationTokens
36
28
  } : null,
37
29
  error: r.error ?? null,
38
- metrics: r.metrics ?? null,
39
- control: r.control ?? null,
40
30
  sessionId: r.sessionId ?? null,
41
31
  reportIncident: r.reportIncident ?? null
42
32
  };
@@ -45,83 +35,63 @@ async function toRunSummaries(loopId, rows) {
45
35
  const states = await reconciliationStatesForRuns(loopId, rows.map((run) => run.id));
46
36
  return rows.map((run) => toRunSummary(run, states.get(run.id)));
47
37
  }
48
- /** One live artifact_files row (with its blob meta joined) → the compact UI shape
49
- * (metadata only; the bytes are fetched lazily by getArtifact / the download
50
- * route. The front-matter `meta` rides along so the
51
- * Files list + calendar can surface type/title/date without a byte fetch. */
38
+ /** One live artifact_files row → compact UI metadata. */
52
39
  function toArtifactSummary(row) {
53
40
  return {
54
41
  path: row.path,
55
42
  size: row.size ?? null,
56
43
  updatedAt: row.updatedAt,
57
44
  binary: row.binary,
58
- oversize: row.oversize,
59
- meta: row.meta ?? null
45
+ oversize: row.oversize
60
46
  };
61
47
  }
62
- async function toJobSummary(loop) {
48
+ async function toLoopSummary(loop) {
63
49
  const runs = await toRunSummaries(loop.id, await listRuns(loop.id, SUMMARY_RUNS));
64
50
  return {
65
51
  id: loop.id,
66
- name: loop.name ?? loop.id,
67
- cron: loop.cron,
68
- scheduleMode: loop.scheduleMode,
69
- continuousDelayMinutes: loop.continuousDelayMinutes,
70
- kind: `exec:${loop.agent}`,
52
+ name: loop.name,
53
+ schedule: scheduleFromLoop(loop),
54
+ workdir: loop.workdir,
55
+ agent: loop.agent,
71
56
  model: loop.model ?? null,
72
57
  reasoningEffort: loop.reasoningEffort ?? null,
73
- hasUi: !!loop.ui,
74
58
  enabled: loop.enabled,
75
- notify: loop.notify,
76
59
  nextRun: nextRun(loop),
77
60
  running: await hasRunningRun(loop.id),
78
61
  queued: await hasPendingRun(loop.id),
79
62
  reconciliationBlocking: runs.some((run) => run.reconciliation === "blocking"),
80
63
  lastRunTs: runs.length ? runs[runs.length - 1].ts : null,
81
- graduation: null,
82
- goal: loop.goal ?? null,
83
64
  deleteRequestedAt: loop.deleteRequestedAt ?? null,
84
65
  pauseCause: loop.pauseCause ?? null,
85
66
  runs,
86
67
  runCount: await countRuns(loop.id)
87
68
  };
88
69
  }
89
- function toJobFull(loop) {
70
+ function toLoopFull(loop) {
90
71
  return {
91
72
  id: loop.id,
92
- name: loop.name ?? void 0,
93
- cron: loop.cron,
94
- scheduleMode: loop.scheduleMode,
95
- continuousDelayMinutes: loop.continuousDelayMinutes,
73
+ name: loop.name,
74
+ schedule: scheduleFromLoop(loop),
75
+ workdir: loop.workdir,
76
+ agent: loop.agent,
77
+ model: loop.model ?? null,
78
+ reasoningEffort: loop.reasoningEffort ?? null,
79
+ prompt: loop.prompt,
80
+ statusDefinitions: statusDefinitionsFromLoop(loop),
81
+ artifacts: loop.artifacts,
96
82
  enabled: loop.enabled,
97
- notify: loop.notify,
98
- goal: loop.goal ?? null,
99
83
  pauseCause: loop.pauseCause ?? null,
100
- taskFile: loop.taskFile ?? void 0,
101
- metricSchema: loop.metricSchema ?? void 0,
102
- ui: loop.ui ?? void 0,
103
- channelId: loop.channelId ?? null,
104
- agent: loop.agent,
105
- exec: {
106
- executor: loop.agent,
107
- workdir: loop.workdir ?? "",
108
- model: loop.model ?? void 0,
109
- reasoningEffort: loop.reasoningEffort ?? void 0,
110
- allowControl: loop.allowControl
111
- },
112
84
  createdAt: loop.createdAt,
113
85
  updatedAt: loop.updatedAt
114
86
  };
115
87
  }
116
- async function toJobDetail(loop) {
88
+ async function toLoopDetail(loop) {
117
89
  const fullRuns = (await toRunSummaries(loop.id, await listRuns(loop.id, 100))).reverse();
118
90
  const m = await getMachine(loop.machineId);
119
91
  const presence = machinePresence(m?.online, m?.lastSeen);
120
92
  return {
121
- job: toJobFull(loop),
122
- summary: await toJobSummary(loop),
123
- taskFileContent: loop.taskFileContent ?? null,
124
- taskFileSyncedAt: loop.taskFileSyncedAt ?? null,
93
+ loop: toLoopFull(loop),
94
+ summary: await toLoopSummary(loop),
125
95
  machine: {
126
96
  id: loop.machineId,
127
97
  name: m?.name || "",
@@ -137,4 +107,4 @@ async function toJobDetail(loop) {
137
107
  };
138
108
  }
139
109
  //#endregion
140
- export { toRunSummaries as i, toJobDetail as n, toJobSummary as r, toArtifactSummary as t };
110
+ export { toRunSummaries as i, toLoopDetail as n, toLoopSummary as r, toArtifactSummary as t };