@kky42/pievo-server 2.4.12 → 2.4.13
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.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/SignIn-CDCdDD1a.js +1 -0
- package/.output/public/assets/{ui-s5IMg6RF.js → actionUi-D8m1FDHO.js} +1 -1
- package/.output/public/assets/app-PPhgN9iN.css +2 -0
- package/.output/public/assets/index-c0XPWXuz.js +10 -0
- package/.output/public/assets/loops._loopId-D7i_BGiE.js +67 -0
- package/.output/public/assets/loops._loopId_.runs._runId-CksSrEY7.js +3 -0
- package/.output/public/assets/{preload-helper-Bs7oCAsw.js → preload-helper-Zcmr31XG.js} +3 -3
- package/.output/public/assets/routes-79D939J4.js +1 -0
- package/.output/public/assets/routes-BYgl3Tmv.js +1 -0
- package/.output/server/_libs/@tanstack/react-router+[...].mjs +1 -1
- package/.output/server/_ssr/{MachinesModal-BhRw7oOx.mjs → MachinesModal-DBIP648Z.mjs} +18 -57
- package/.output/server/_ssr/{SignIn-BhoZIOUp.mjs → SignIn-Bp3uWaCQ.mjs} +3 -3
- package/.output/server/_ssr/{ui-DGz-q9MT.mjs → actionUi-C_WswNb1.mjs} +113 -2
- package/.output/server/_ssr/{artifactFiles-ChuJ4PzC.mjs → artifactFiles-BvVmixrs.mjs} +3 -3
- package/.output/server/_ssr/{artifactKind-DXumOv7c.mjs → artifactKind-DRCbYHZU.mjs} +6 -14
- package/.output/server/_ssr/artifacts-CzDJLaa6.mjs +2 -0
- package/.output/server/_ssr/{auth-LwPp_iim.mjs → auth-BV0MxVdo.mjs} +44 -124
- package/.output/server/_ssr/{SocialLinks-DVCLmql0.mjs → auth-client-RTpMpT4L.mjs} +143 -109
- package/.output/server/_ssr/boot-CsLXrLEa.mjs +2 -0
- package/.output/server/_ssr/{boot-BIxtZHU-.mjs → boot-U-CFI65B.mjs} +58 -331
- package/.output/server/_ssr/{bun-sqlite-dialect-BW9W1_Ps-CHMDkKqA.mjs → bun-sqlite-dialect-BW9W1_Ps-D9KUBJ-L.mjs} +2 -2
- package/.output/server/_ssr/{d1-sqlite-dialect-BLC8LXE6-DYum6qky.mjs → d1-sqlite-dialect-BLC8LXE6-CVHRzH1n.mjs} +2 -2
- package/.output/server/_ssr/db-BTX-xORB.mjs +2 -0
- package/.output/server/_ssr/{dist-bWqs5sTy.mjs → dist-D7UDVZ5G.mjs} +2 -2
- package/.output/server/_ssr/{factory-pBwrjVTI.mjs → factory-DYFx1fg-.mjs} +2 -2
- package/.output/server/_ssr/{kysely-adapter-DMf5pFTf.mjs → kysely-adapter-CwdB7yBh.mjs} +1 -1
- package/.output/server/_ssr/logger-CwiKSMp6.mjs +2 -0
- package/.output/server/_ssr/{loopApi-Im6JSK0p.mjs → loopApi-C4nN0msL.mjs} +29 -90
- package/.output/server/_ssr/{loopProjection-DIpGR6rp.mjs → loopProjection-DMSNHux6.mjs} +2 -2
- package/.output/server/_ssr/{loops._loopId-B5iPseDG.mjs → loops._loopId-Q4pRYPip.mjs} +19 -45
- package/.output/server/_ssr/{loops._loopId_.runs._runId-DVtG0xYb.mjs → loops._loopId_.runs._runId-DNXVmCt5.mjs} +6 -13
- package/.output/server/_ssr/{loops._loopId_.runs._runId-BA-P6sGA.mjs → loops._loopId_.runs._runId-ty3AhkOi.mjs} +31 -23
- package/.output/server/_ssr/{machineFns-Bb9KNXun.mjs → machineFns-CkNms3zA.mjs} +41 -108
- package/.output/server/_ssr/{node-sqlite-dialect-Dho9YjXb.mjs → node-sqlite-dialect-B_g92oFK.mjs} +2 -2
- package/.output/server/_ssr/{router-C8iotXtk.mjs → router-DCNZ2xLm.mjs} +26 -40
- package/.output/server/_ssr/routes-8JSF7bX_.mjs +27 -0
- package/.output/server/_ssr/{routes-FO0MFfYK.mjs → routes-B3fulW5I.mjs} +4 -9
- package/.output/server/_ssr/routes-BaanDO41.mjs +367 -0
- package/.output/server/_ssr/runDiff-D7CxAgYL.mjs +2 -0
- package/.output/server/_ssr/ssr.mjs +28 -88
- package/.output/server/_ssr/store-DSNbXxqz.mjs +2 -0
- package/.output/server/_ssr/tokens-DzUv7CCp.mjs +2 -0
- package/.output/server/_tanstack-start-manifest_v-DkmxsHDK.mjs +52 -0
- package/.output/server/drizzle/0002_remove_teams.sql +15 -0
- package/.output/server/drizzle/meta/_journal.json +7 -0
- package/.output/server/index.mjs +49 -98
- package/drizzle/0002_remove_teams.sql +15 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +2 -2
- package/.output/public/assets/MachinesModal-ByHejech.js +0 -1
- package/.output/public/assets/SignIn-Cf4HOpdF.js +0 -1
- package/.output/public/assets/actionUi-yYVvoOTn.js +0 -1
- package/.output/public/assets/app-D5Hy4BcS.css +0 -2
- package/.output/public/assets/index-D504r3X9.js +0 -10
- package/.output/public/assets/invite._token-B0EKVyrU.js +0 -1
- package/.output/public/assets/invite._token-BSnGRyUw.js +0 -1
- package/.output/public/assets/lifecycleUi-C0DaC6NM.js +0 -1
- package/.output/public/assets/loops._loopId-j5EB2PLW.js +0 -67
- package/.output/public/assets/loops._loopId_.runs._runId-BICo_pRz.js +0 -3
- package/.output/public/assets/routes-4N6mrQK_.js +0 -1
- package/.output/public/assets/routes-DZU0Tqka.js +0 -1
- package/.output/public/assets/t._teamId-CAUjvMZ6.js +0 -1
- package/.output/public/assets/t._teamId-Cqzd69sO.js +0 -1
- package/.output/server/_ssr/DashboardView-DrKNkmcX.mjs +0 -867
- package/.output/server/_ssr/actionUi-Cf6DuEC2.mjs +0 -119
- package/.output/server/_ssr/artifacts-DOLHJHcd.mjs +0 -2
- package/.output/server/_ssr/boot-D8cj4uZj.mjs +0 -2
- package/.output/server/_ssr/db-BphSJs66.mjs +0 -2
- package/.output/server/_ssr/invite._token-CPSvdDox.mjs +0 -27
- package/.output/server/_ssr/invite._token-CRBsTSTZ.mjs +0 -84
- package/.output/server/_ssr/invite._token-CaTLt92a.mjs +0 -20
- package/.output/server/_ssr/lifecycleUi-DauKavgx.mjs +0 -50
- package/.output/server/_ssr/logger-EinA2J6y.mjs +0 -2
- package/.output/server/_ssr/routes-CsV1weub.mjs +0 -26
- package/.output/server/_ssr/routes-fiMzFtcP.mjs +0 -39
- package/.output/server/_ssr/runDiff-BLdot9mi.mjs +0 -2
- package/.output/server/_ssr/store-CFCp_ggC.mjs +0 -2
- package/.output/server/_ssr/t._teamId-BYA4Dnjp.mjs +0 -43
- package/.output/server/_ssr/t._teamId-CKsrgN86.mjs +0 -32
- package/.output/server/_ssr/t._teamId-D1BTwhWf.mjs +0 -31
- package/.output/server/_ssr/teamCookie-B7hLOIie.mjs +0 -10
- package/.output/server/_ssr/teamFns-DfqtuBW2.mjs +0 -451
- package/.output/server/_ssr/teamFns-cI_tsiCv.mjs +0 -32
- package/.output/server/_ssr/tokens-CUz4LDLm.mjs +0 -2
- package/.output/server/_tanstack-start-manifest_v-xSxVtI1J.mjs +0 -86
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { o as __toESM } from "../_runtime.mjs";
|
|
2
|
+
import { g as require_react, h as require_jsx_runtime, s as TooltipProvider } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
|
+
import { c as createFileRoute, d as useNavigate, f as useRouter, s as lazyRouteComponent } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
4
|
+
import { O as useSession, _ as listLoops, a as PievoLogo, f as getAuthState, i as OpenModeWarning, n as GITHUB_URL, p as getConfig, r as GitHubIcon, v as loadOlderRuns, w as signOut, y as mintConnectKey } from "./auth-client-RTpMpT4L.mjs";
|
|
5
|
+
import { f as btnSm } from "./actionUi-C_WswNb1.mjs";
|
|
6
|
+
import { c as mergeRuns, i as ModalHead, n as MachinesModal, o as daemonConnectCommand, r as Modal, s as listMachines, t as LoopOverview } from "./MachinesModal-DBIP648Z.mjs";
|
|
7
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-BaanDO41.js
|
|
8
|
+
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
9
|
+
var import_jsx_runtime = require_jsx_runtime();
|
|
10
|
+
function LoopCard({ loop, onOpen, onPickRun }) {
|
|
11
|
+
const en = loop.enabled;
|
|
12
|
+
const [older, setOlder] = (0, import_react.useState)([]);
|
|
13
|
+
const runs = (0, import_react.useMemo)(() => older.length ? mergeRuns(loop.runs ?? [], older) : loop.runs ?? [], [loop.runs, older]);
|
|
14
|
+
const newestRun = runs.at(-1);
|
|
15
|
+
const latestIncidentRun = newestRun?.reportIncident ? newestRun : void 0;
|
|
16
|
+
const loadMore = async () => {
|
|
17
|
+
const oldest = runs[0];
|
|
18
|
+
if (!oldest) return 0;
|
|
19
|
+
const more = await loadOlderRuns({ data: {
|
|
20
|
+
loopId: loop.id,
|
|
21
|
+
beforeTs: oldest.ts,
|
|
22
|
+
limit: 16
|
|
23
|
+
} });
|
|
24
|
+
if (more.length) setOlder((prev) => mergeRuns(prev, more));
|
|
25
|
+
return more.length;
|
|
26
|
+
};
|
|
27
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
28
|
+
onClick: () => onOpen(loop.id),
|
|
29
|
+
className: `mb-[18px] cursor-pointer rounded-card border border-hairline bg-surface px-[26px] pb-5 pt-[22px] shadow-card transition-colors hover:border-wire ${en || latestIncidentRun?.reportIncident || loop.pauseCause?.kind === "failure-streak" || loop.pauseCause?.kind === "blocked" ? "" : "opacity-60"}`,
|
|
30
|
+
style: { animation: "fadeIn .25s cubic-bezier(0.25,0.1,0.25,1) both" },
|
|
31
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LoopOverview, {
|
|
32
|
+
loop,
|
|
33
|
+
runs,
|
|
34
|
+
onLoadMore: loadMore,
|
|
35
|
+
onPickRun: (run) => onPickRun(loop.id, run),
|
|
36
|
+
onOpen: () => onOpen(loop.id)
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function ComposeModal({ open, onClose }) {
|
|
41
|
+
const [token, setToken] = (0, import_react.useState)(null);
|
|
42
|
+
const [config, setConfig] = (0, import_react.useState)(null);
|
|
43
|
+
const [copied, setCopied] = (0, import_react.useState)(false);
|
|
44
|
+
const [error, setError] = (0, import_react.useState)(null);
|
|
45
|
+
const [configError, setConfigError] = (0, import_react.useState)(false);
|
|
46
|
+
const origin = typeof window !== "undefined" ? window.location.origin : "";
|
|
47
|
+
const command = token && config ? daemonConnectCommand(origin, token, config.pievoCli, config.customCli) : "";
|
|
48
|
+
(0, import_react.useEffect)(() => {
|
|
49
|
+
if (!open) return;
|
|
50
|
+
setToken(null);
|
|
51
|
+
setConfig(null);
|
|
52
|
+
setCopied(false);
|
|
53
|
+
setError(null);
|
|
54
|
+
setConfigError(false);
|
|
55
|
+
}, [open]);
|
|
56
|
+
(0, import_react.useEffect)(() => {
|
|
57
|
+
if (!open) return;
|
|
58
|
+
let active = true;
|
|
59
|
+
getConfig().then((value) => {
|
|
60
|
+
if (active) setConfig(value);
|
|
61
|
+
}).catch(() => {
|
|
62
|
+
if (active) setConfigError(true);
|
|
63
|
+
});
|
|
64
|
+
mintConnectKey().then((result) => {
|
|
65
|
+
if (!active) return;
|
|
66
|
+
if ("token" in result) setToken(result.token);
|
|
67
|
+
else setError(result.error);
|
|
68
|
+
}).catch(() => {
|
|
69
|
+
if (active) setError("could not mint a connect key");
|
|
70
|
+
});
|
|
71
|
+
return () => {
|
|
72
|
+
active = false;
|
|
73
|
+
};
|
|
74
|
+
}, [open]);
|
|
75
|
+
async function copyCommand() {
|
|
76
|
+
try {
|
|
77
|
+
await navigator.clipboard.writeText(command);
|
|
78
|
+
setCopied(true);
|
|
79
|
+
setTimeout(() => setCopied(false), 1500);
|
|
80
|
+
} catch {
|
|
81
|
+
setError("could not copy - select the command and copy manually");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Modal, {
|
|
85
|
+
open,
|
|
86
|
+
onClose,
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModalHead, { title: "New loop" }),
|
|
89
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
90
|
+
className: "mt-6",
|
|
91
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Step, {
|
|
92
|
+
number: "1",
|
|
93
|
+
continued: true,
|
|
94
|
+
title: "Install and connect the daemon",
|
|
95
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
96
|
+
className: "mt-1.5 text-body leading-snug text-secondary",
|
|
97
|
+
children: "Run this command in your terminal. It connects the daemon and installs the Pievo skill."
|
|
98
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
99
|
+
className: "mt-3 flex min-w-0 items-start gap-2",
|
|
100
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", {
|
|
101
|
+
className: "min-w-0 flex-1 overflow-x-auto whitespace-pre-wrap break-all rounded-control bg-display p-4 font-mono text-label leading-relaxed text-paper",
|
|
102
|
+
children: command || (configError ? "Could not load the connection command. Close and try again." : token ? "Loading CLI configuration…" : "Minting a connect key…")
|
|
103
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
104
|
+
className: btnSm,
|
|
105
|
+
onClick: () => void copyCommand(),
|
|
106
|
+
disabled: !command,
|
|
107
|
+
children: copied ? "Copied ✓" : "Copy"
|
|
108
|
+
})]
|
|
109
|
+
})]
|
|
110
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Step, {
|
|
111
|
+
number: "2",
|
|
112
|
+
title: "Start a new session",
|
|
113
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
114
|
+
className: "mt-1.5 text-body leading-snug text-secondary",
|
|
115
|
+
children: "After the command finishes, start a new session in the project where the loop should run, then manually invoke the Pievo skill:"
|
|
116
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
117
|
+
className: "mt-3 space-y-2 rounded-control border border-hairline bg-raised p-4 text-body text-display",
|
|
118
|
+
children: [
|
|
119
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SkillCommand, {
|
|
120
|
+
agent: "Claude Code",
|
|
121
|
+
command: "/pievo Create a Pievo loop."
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SkillCommand, {
|
|
124
|
+
agent: "Codex",
|
|
125
|
+
command: "$pievo Create a Pievo loop."
|
|
126
|
+
}),
|
|
127
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SkillCommand, {
|
|
128
|
+
agent: "Pi",
|
|
129
|
+
command: "/skill:pievo Create a Pievo loop."
|
|
130
|
+
})
|
|
131
|
+
]
|
|
132
|
+
})]
|
|
133
|
+
})]
|
|
134
|
+
}),
|
|
135
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
136
|
+
className: "mt-4 text-body text-accent",
|
|
137
|
+
children: ["Error: ", error]
|
|
138
|
+
})
|
|
139
|
+
]
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
function SkillCommand({ agent, command }) {
|
|
143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
144
|
+
className: "flex flex-wrap items-baseline gap-x-3 gap-y-1",
|
|
145
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
146
|
+
className: "w-24 shrink-0 text-label font-medium text-secondary",
|
|
147
|
+
children: agent
|
|
148
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
|
|
149
|
+
className: "font-mono text-label font-medium text-display",
|
|
150
|
+
children: command
|
|
151
|
+
})]
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
function Step({ number, title, continued = false, children }) {
|
|
155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
156
|
+
className: "flex gap-3.5",
|
|
157
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
158
|
+
className: "flex flex-col items-center",
|
|
159
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
160
|
+
className: "flex size-5 shrink-0 items-center justify-center rounded-full border border-display text-micro font-medium leading-none text-display",
|
|
161
|
+
children: number
|
|
162
|
+
}), continued && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "mt-1 w-px flex-1 bg-hairline" })]
|
|
163
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
164
|
+
className: continued ? "min-w-0 flex-1 pb-7" : "min-w-0 flex-1",
|
|
165
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
166
|
+
className: "text-label font-semibold text-display",
|
|
167
|
+
children: title
|
|
168
|
+
}), children]
|
|
169
|
+
})]
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
/** Loops and machines change between polls. Authorization is derived server-side
|
|
173
|
+
* from the current session; clients do not send tenant identifiers. */
|
|
174
|
+
async function fetchLiveData() {
|
|
175
|
+
const [loops, machines] = await Promise.all([listLoops(), listMachines()]);
|
|
176
|
+
return {
|
|
177
|
+
loops,
|
|
178
|
+
machines
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
function DashboardView({ initial, mode }) {
|
|
182
|
+
const [live, setLive] = (0, import_react.useState)(null);
|
|
183
|
+
const { loops, machines } = live ?? initial;
|
|
184
|
+
const online = machines.filter((m) => m.online).length;
|
|
185
|
+
const navigate = useNavigate();
|
|
186
|
+
const router = useRouter();
|
|
187
|
+
const { data: session } = useSession();
|
|
188
|
+
const [signingOut, setSigningOut] = (0, import_react.useState)(false);
|
|
189
|
+
const [composeOpen, setComposeOpen] = (0, import_react.useState)(false);
|
|
190
|
+
const [machinesOpen, setMachinesOpen] = (0, import_react.useState)(false);
|
|
191
|
+
async function logout() {
|
|
192
|
+
setSigningOut(true);
|
|
193
|
+
try {
|
|
194
|
+
await signOut();
|
|
195
|
+
await navigate({ to: "/" });
|
|
196
|
+
await router.invalidate();
|
|
197
|
+
} finally {
|
|
198
|
+
setSigningOut(false);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const refetch = (0, import_react.useCallback)(async () => {
|
|
202
|
+
try {
|
|
203
|
+
setLive(await fetchLiveData());
|
|
204
|
+
} catch {}
|
|
205
|
+
}, []);
|
|
206
|
+
const openRef = (0, import_react.useRef)(false);
|
|
207
|
+
openRef.current = composeOpen || machinesOpen;
|
|
208
|
+
const anyRunning = loops.some((j) => j.running);
|
|
209
|
+
(0, import_react.useEffect)(() => {
|
|
210
|
+
const t = setInterval(() => {
|
|
211
|
+
if (!openRef.current) refetch();
|
|
212
|
+
}, anyRunning ? 3e3 : 1e4);
|
|
213
|
+
return () => clearInterval(t);
|
|
214
|
+
}, [refetch, anyRunning]);
|
|
215
|
+
const activeCount = loops.filter((loop) => loop.enabled && !loop.deleteRequestedAt).length;
|
|
216
|
+
const pausedCount = loops.filter((loop) => !loop.enabled && !loop.deleteRequestedAt).length;
|
|
217
|
+
const deletingCount = loops.filter((loop) => Boolean(loop.deleteRequestedAt)).length;
|
|
218
|
+
const lifecycleCounts = [
|
|
219
|
+
`${activeCount} active`,
|
|
220
|
+
`${pausedCount} paused`,
|
|
221
|
+
...deletingCount ? [`${deletingCount} deleting`] : []
|
|
222
|
+
].join(" · ");
|
|
223
|
+
const cardProps = () => ({
|
|
224
|
+
onOpen: (id) => void navigate({
|
|
225
|
+
to: "/loops/$loopId",
|
|
226
|
+
params: { loopId: id }
|
|
227
|
+
}),
|
|
228
|
+
onPickRun: (loopId, run) => void navigate({
|
|
229
|
+
to: "/loops/$loopId/runs/$runId",
|
|
230
|
+
params: {
|
|
231
|
+
loopId,
|
|
232
|
+
runId: run.id
|
|
233
|
+
}
|
|
234
|
+
})
|
|
235
|
+
});
|
|
236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(TooltipProvider, {
|
|
237
|
+
delay: 120,
|
|
238
|
+
children: [
|
|
239
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("header", {
|
|
240
|
+
className: "glass glass-bar sticky top-0 z-50",
|
|
241
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
242
|
+
className: "mx-auto flex max-w-[1180px] items-center gap-3 px-8 py-2.5",
|
|
243
|
+
children: [
|
|
244
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(PievoLogo, { size: 30 }),
|
|
245
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
246
|
+
className: "text-[18px] font-semibold tracking-[-0.015em] text-display",
|
|
247
|
+
children: "Pievo"
|
|
248
|
+
}),
|
|
249
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex-1" }),
|
|
250
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", {
|
|
251
|
+
href: GITHUB_URL,
|
|
252
|
+
target: "_blank",
|
|
253
|
+
rel: "noreferrer",
|
|
254
|
+
"aria-label": "GitHub repository",
|
|
255
|
+
title: "GitHub",
|
|
256
|
+
className: headerIconBtn,
|
|
257
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GitHubIcon, { className: "size-[17px]" })
|
|
258
|
+
}),
|
|
259
|
+
mode === "auth" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
260
|
+
className: "flex items-center gap-2",
|
|
261
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
262
|
+
className: "max-w-48 truncate text-label text-secondary",
|
|
263
|
+
title: session?.user.email ?? session?.user.name ?? "Account",
|
|
264
|
+
children: session?.user.email ?? session?.user.name ?? "Account"
|
|
265
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
266
|
+
onClick: () => void logout(),
|
|
267
|
+
disabled: signingOut,
|
|
268
|
+
className: headerBtn,
|
|
269
|
+
children: signingOut ? "Signing out…" : "Sign out"
|
|
270
|
+
})]
|
|
271
|
+
}),
|
|
272
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", {
|
|
273
|
+
onClick: () => setMachinesOpen(true),
|
|
274
|
+
className: `${headerBtn} gap-1.5`,
|
|
275
|
+
children: [
|
|
276
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `inline-block size-1.5 rounded-full ${online ? "bg-rubik-green" : "bg-disabled"}` }),
|
|
277
|
+
online,
|
|
278
|
+
" ",
|
|
279
|
+
online === 1 ? "machine" : "machines",
|
|
280
|
+
" online"
|
|
281
|
+
]
|
|
282
|
+
}),
|
|
283
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
284
|
+
onClick: () => setComposeOpen(true),
|
|
285
|
+
className: "inline-flex shrink-0 cursor-pointer items-center rounded-full bg-display px-3.5 py-1.5 text-meta font-medium text-paper transition-opacity hover:opacity-85",
|
|
286
|
+
children: "New Loop"
|
|
287
|
+
})
|
|
288
|
+
]
|
|
289
|
+
})
|
|
290
|
+
}),
|
|
291
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("main", {
|
|
292
|
+
className: "mx-auto max-w-[1180px] px-8 pb-24",
|
|
293
|
+
children: [
|
|
294
|
+
mode === "open" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OpenModeWarning, { className: "mt-6" }),
|
|
295
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
|
|
296
|
+
className: "pb-2 pt-14 text-center",
|
|
297
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
|
|
298
|
+
className: "font-pixel text-[clamp(28px,4.5vw,38px)] leading-[1.15] text-display",
|
|
299
|
+
children: "What should happen while you sleep?"
|
|
300
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
301
|
+
className: "mt-7",
|
|
302
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", {
|
|
303
|
+
onClick: () => setComposeOpen(true),
|
|
304
|
+
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full bg-display px-6 py-2.5 text-body font-medium text-paper transition-opacity hover:opacity-85",
|
|
305
|
+
children: ["Start a new loop ", /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
306
|
+
"aria-hidden": true,
|
|
307
|
+
children: "→"
|
|
308
|
+
})]
|
|
309
|
+
})
|
|
310
|
+
})]
|
|
311
|
+
}),
|
|
312
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
313
|
+
className: "mb-5 mt-12 flex items-baseline gap-2.5",
|
|
314
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
315
|
+
className: "text-body font-semibold text-display",
|
|
316
|
+
children: "Loops"
|
|
317
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
318
|
+
className: "text-label text-secondary",
|
|
319
|
+
children: loops.length ? lifecycleCounts : ""
|
|
320
|
+
})]
|
|
321
|
+
}),
|
|
322
|
+
loops.length ? loops.map((j) => /* @__PURE__ */ (0, import_react.createElement)(LoopCard, {
|
|
323
|
+
loop: j,
|
|
324
|
+
...cardProps(),
|
|
325
|
+
key: j.id
|
|
326
|
+
})) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
327
|
+
className: "py-16 text-center",
|
|
328
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
329
|
+
className: "text-[15px] text-secondary",
|
|
330
|
+
children: "No loops yet"
|
|
331
|
+
}), !loops.length && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
332
|
+
className: "mt-1.5 text-body text-disabled",
|
|
333
|
+
children: "Create a scheduled prompt for a connected machine."
|
|
334
|
+
})]
|
|
335
|
+
})
|
|
336
|
+
]
|
|
337
|
+
}),
|
|
338
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ComposeModal, {
|
|
339
|
+
open: composeOpen,
|
|
340
|
+
onClose: () => setComposeOpen(false)
|
|
341
|
+
}),
|
|
342
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MachinesModal, {
|
|
343
|
+
open: machinesOpen,
|
|
344
|
+
onClose: () => setMachinesOpen(false)
|
|
345
|
+
})
|
|
346
|
+
]
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
var headerBtn = "inline-flex shrink-0 cursor-pointer items-center rounded-full px-3 py-1.5 text-meta font-medium text-secondary transition-colors hover:bg-raised hover:text-display";
|
|
350
|
+
var headerIconBtn = "inline-flex shrink-0 cursor-pointer items-center rounded-full p-1.5 text-secondary transition-colors hover:bg-raised hover:text-display";
|
|
351
|
+
var $$splitErrorComponentImporter = () => import("./routes-B3fulW5I.mjs");
|
|
352
|
+
var $$splitComponentImporter = () => import("./routes-8JSF7bX_.mjs");
|
|
353
|
+
/** The dashboard route. Auth mode shows sign-in before loading owner-scoped data;
|
|
354
|
+
* open mode renders the server's shared administrative workspace. */
|
|
355
|
+
var Route = createFileRoute("/")({
|
|
356
|
+
ssr: false,
|
|
357
|
+
loader: async () => {
|
|
358
|
+
return {
|
|
359
|
+
auth: await getAuthState(),
|
|
360
|
+
initial: await fetchLiveData()
|
|
361
|
+
};
|
|
362
|
+
},
|
|
363
|
+
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
364
|
+
errorComponent: lazyRouteComponent($$splitErrorComponentImporter, "errorComponent")
|
|
365
|
+
});
|
|
366
|
+
//#endregion
|
|
367
|
+
export { Route as n, DashboardView as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as __exportAll } from "../_runtime.mjs";
|
|
2
|
-
import { i as __exportAll$1 } from "./factory-
|
|
2
|
+
import { i as __exportAll$1 } from "./factory-DYFx1fg-.mjs";
|
|
3
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";
|
|
@@ -746,7 +746,7 @@ var rootRouteId = "__root__";
|
|
|
746
746
|
* @returns A Response augmented with router navigation options.
|
|
747
747
|
* @link https://tanstack.com/router/latest/docs/framework/react/api/router/redirectFunction
|
|
748
748
|
*/
|
|
749
|
-
function redirect
|
|
749
|
+
function redirect(opts) {
|
|
750
750
|
opts.statusCode = opts.statusCode || opts.code || 307;
|
|
751
751
|
if (!opts._builtLocation && !opts.reloadDocument && typeof opts.href === "string") try {
|
|
752
752
|
new URL(opts.href);
|
|
@@ -775,7 +775,7 @@ function isResolvedRedirect(obj) {
|
|
|
775
775
|
/** Parse a serialized redirect object back into a redirect Response. */
|
|
776
776
|
/** Parse a serialized redirect object back into a redirect Response. */
|
|
777
777
|
function parseRedirect(obj) {
|
|
778
|
-
if (obj !== null && typeof obj === "object" && obj.isSerializedRedirect) return redirect
|
|
778
|
+
if (obj !== null && typeof obj === "object" && obj.isSerializedRedirect) return redirect(obj);
|
|
779
779
|
}
|
|
780
780
|
/** Execute a location input rewrite if provided. */
|
|
781
781
|
function executeRewriteInput(rewrite, url) {
|
|
@@ -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-
|
|
3421
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-DkmxsHDK.mjs");
|
|
3422
3422
|
const startManifest = tsrStartManifest();
|
|
3423
3423
|
let routes = startManifest.routes;
|
|
3424
3424
|
routes[rootRouteId];
|
|
@@ -3440,147 +3440,87 @@ async function getStartManifest(matchedRoutes) {
|
|
|
3440
3440
|
var manifest = {
|
|
3441
3441
|
"08565e35f6a3dd06ef25401de0343976c47f7ae319d3baed6320b56dd3718311": {
|
|
3442
3442
|
functionName: "runLoop_createServerFn_handler",
|
|
3443
|
-
importer: () => import("./loopApi-
|
|
3443
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3444
3444
|
},
|
|
3445
3445
|
"08c28b892712a1b491b120b74c7dcb81761988d31ccea60216d1807b73c1182c": {
|
|
3446
3446
|
functionName: "getRunDiff_createServerFn_handler",
|
|
3447
|
-
importer: () => import("./loopApi-
|
|
3448
|
-
},
|
|
3449
|
-
"0f279cfe81021a642289ce6e95622e7198aaeab4147880f85824a02ee9ebafcf": {
|
|
3450
|
-
functionName: "createTeam_createServerFn_handler",
|
|
3451
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3452
|
-
},
|
|
3453
|
-
"0fe12e769203c42f432a927b9cbf13a967a0f9db567b61843598f734afb4f5c6": {
|
|
3454
|
-
functionName: "listMyTeams_createServerFn_handler",
|
|
3455
|
-
importer: () => import("./loopApi-Im6JSK0p.mjs")
|
|
3447
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3456
3448
|
},
|
|
3457
3449
|
"169566e7637a22599b4eb32ee3775574e99677406922bbef7482a102036c33dd": {
|
|
3458
3450
|
functionName: "machineStatus_createServerFn_handler",
|
|
3459
|
-
importer: () => import("./machineFns-
|
|
3451
|
+
importer: () => import("./machineFns-CkNms3zA.mjs")
|
|
3460
3452
|
},
|
|
3461
3453
|
"23e290b2b7483ceea6fe669024c35b12c2c4ddd76649f6fab21c958ceda02940": {
|
|
3462
3454
|
functionName: "listLoops_createServerFn_handler",
|
|
3463
|
-
importer: () => import("./loopApi-
|
|
3455
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3464
3456
|
},
|
|
3465
3457
|
"27d7eba0b6a2257949392fdd56057275a5c5366484ae01faf3b5897a225ecd83": {
|
|
3466
3458
|
functionName: "finalizeMachine_createServerFn_handler",
|
|
3467
|
-
importer: () => import("./machineFns-
|
|
3468
|
-
},
|
|
3469
|
-
"284cb82b5e5cb37242d053b1b14449760d8334e9dadffc6dcbba11db2200a709": {
|
|
3470
|
-
functionName: "addTeamMember_createServerFn_handler",
|
|
3471
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3472
|
-
},
|
|
3473
|
-
"4646f52fb09b83c9c9cef34836f3c9d03416423c879d9e5ceffcafd9a71ecba6": {
|
|
3474
|
-
functionName: "mintClaim_createServerFn_handler",
|
|
3475
|
-
importer: () => import("./loopApi-Im6JSK0p.mjs")
|
|
3459
|
+
importer: () => import("./machineFns-CkNms3zA.mjs")
|
|
3476
3460
|
},
|
|
3477
3461
|
"5660ea82ea5ff2549e0ce2f8f070c54f3e9e24fee84d547601ef5d6ef49a4016": {
|
|
3478
3462
|
functionName: "startLoop_createServerFn_handler",
|
|
3479
|
-
importer: () => import("./loopApi-
|
|
3480
|
-
},
|
|
3481
|
-
"5721e01d84c20ffde19d2191648d76a7e5ede3bbb4f44efa59107a786947cf27": {
|
|
3482
|
-
functionName: "renameTeam_createServerFn_handler",
|
|
3483
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3463
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3484
3464
|
},
|
|
3485
3465
|
"5e0d6b55f5629faac2f55a68661eeb82668b2be752192b16264ffb5cd1e6fabe": {
|
|
3486
3466
|
functionName: "deleteLoop_createServerFn_handler",
|
|
3487
|
-
importer: () => import("./loopApi-
|
|
3467
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3488
3468
|
},
|
|
3489
3469
|
"6850ba403da9dec5aff45794eb52636ca540ddec2d9e59f5c75ccbb852bfeacb": {
|
|
3490
3470
|
functionName: "stopRun_createServerFn_handler",
|
|
3491
|
-
importer: () => import("./loopApi-
|
|
3492
|
-
},
|
|
3493
|
-
"6f5fe23f6da1d4aecc198b6f71a041c0fe29cabb6ccad807bb3f16c23c5bd9cd": {
|
|
3494
|
-
functionName: "redeemTeamInvite_createServerFn_handler",
|
|
3495
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3496
|
-
},
|
|
3497
|
-
"7cc22b3a0f6b1c4c73463c3401e981ad42caf6487b479b738ee5aeacb11710da": {
|
|
3498
|
-
functionName: "canViewTeam_createServerFn_handler",
|
|
3499
|
-
importer: () => import("./loopApi-Im6JSK0p.mjs")
|
|
3471
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3500
3472
|
},
|
|
3501
3473
|
"85fdf73d4fee43aed762f93c5d47d33200fbff39e2d082647dc921f610d32698": {
|
|
3502
3474
|
functionName: "loadOlderRuns_createServerFn_handler",
|
|
3503
|
-
importer: () => import("./loopApi-
|
|
3504
|
-
},
|
|
3505
|
-
"94d1108f156fa2273cb78140852e9c3e368de0b8321db0de932a16567671716f": {
|
|
3506
|
-
functionName: "listManagedTeams_createServerFn_handler",
|
|
3507
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3475
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3508
3476
|
},
|
|
3509
3477
|
"95b7483b333d7649e70c848319417e83c2af6a0327bbcda2d0e331f626dffe05": {
|
|
3510
3478
|
functionName: "pauseLoop_createServerFn_handler",
|
|
3511
|
-
importer: () => import("./loopApi-
|
|
3479
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3512
3480
|
},
|
|
3513
3481
|
"9befe6b8d67ccbbd7aa9b538bde2a161a9894761c8936761a9503fda1a88c0fc": {
|
|
3514
3482
|
functionName: "patchLoop_createServerFn_handler",
|
|
3515
|
-
importer: () => import("./loopApi-
|
|
3516
|
-
},
|
|
3517
|
-
"a3326ed8ecd726fbcc28a439bf0012983cbe387d5062e0155096ee5a558e313b": {
|
|
3518
|
-
functionName: "removeTeamMember_createServerFn_handler",
|
|
3519
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3483
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3520
3484
|
},
|
|
3521
3485
|
"a6384dc7154d9930422d29396f5de64b3ac69c62ad3824bc4a22d745fc07b293": {
|
|
3522
3486
|
functionName: "deleteMachine_createServerFn_handler",
|
|
3523
|
-
importer: () => import("./machineFns-
|
|
3487
|
+
importer: () => import("./machineFns-CkNms3zA.mjs")
|
|
3524
3488
|
},
|
|
3525
3489
|
"aa46310016bb8a58b273a648ffd498c87f1f450d12827e30110a3b83ba6a27d9": {
|
|
3526
3490
|
functionName: "listMachines_createServerFn_handler",
|
|
3527
|
-
importer: () => import("./machineFns-
|
|
3491
|
+
importer: () => import("./machineFns-CkNms3zA.mjs")
|
|
3528
3492
|
},
|
|
3529
3493
|
"b050455aacc84dd2a2c9a45517826ad10f91d8f1545e87cc7015784cc7116a97": {
|
|
3530
3494
|
functionName: "getLoopDetail_createServerFn_handler",
|
|
3531
|
-
importer: () => import("./loopApi-
|
|
3495
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3532
3496
|
},
|
|
3533
3497
|
"b18bbec3d06dfc77714e1e527dfb9172fd7575a64a6c0d6e73ba6dc658dccf0d": {
|
|
3534
3498
|
functionName: "getArtifacts_createServerFn_handler",
|
|
3535
|
-
importer: () => import("./loopApi-
|
|
3499
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3536
3500
|
},
|
|
3537
3501
|
"b8119d5fe6ca1ed9f609702aa2133b5ac5337030c0bdcf92dc7eba889d6bd2e6": {
|
|
3538
3502
|
functionName: "getAuthState_createServerFn_handler",
|
|
3539
|
-
importer: () => import("./loopApi-
|
|
3540
|
-
},
|
|
3541
|
-
"b92e9a08eda2d217bf4028f90dbc6bf7d7e8d7c148ebb8a8330286b5935a3fa1": {
|
|
3542
|
-
functionName: "revokeTeamInvite_createServerFn_handler",
|
|
3543
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3544
|
-
},
|
|
3545
|
-
"bbc1020c771335020ef51b326d74b1649966740f273913d32040fa2c3c9f5f0b": {
|
|
3546
|
-
functionName: "createTeamInvite_createServerFn_handler",
|
|
3547
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3548
|
-
},
|
|
3549
|
-
"c3762cecd4a15f7eca064bca295255e942d7c3dce65f66f8593ae145fd7859a0": {
|
|
3550
|
-
functionName: "setTeamMemberRole_createServerFn_handler",
|
|
3551
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3503
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3552
3504
|
},
|
|
3553
3505
|
"cbb6a1b09b309459bbba3dc3851ae85fc468658b3cda77e22b6c6f3e28b65af4": {
|
|
3554
3506
|
functionName: "getConfig_createServerFn_handler",
|
|
3555
|
-
importer: () => import("./loopApi-
|
|
3507
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3556
3508
|
},
|
|
3557
|
-
"
|
|
3558
|
-
functionName: "
|
|
3559
|
-
importer: () => import("./
|
|
3560
|
-
},
|
|
3561
|
-
"dc0ec955d0d53a150a3e9a4673f98f3509cfb4bd411c512079ae4e94c561b70c": {
|
|
3562
|
-
functionName: "getDefaultTeam_createServerFn_handler",
|
|
3563
|
-
importer: () => import("./loopApi-Im6JSK0p.mjs")
|
|
3509
|
+
"ce43dcb9366e7c8f7338a6ad28e4290b75a5ee3b13d0d2c9cb585020008f12c6": {
|
|
3510
|
+
functionName: "mintConnectKey_createServerFn_handler",
|
|
3511
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3564
3512
|
},
|
|
3565
3513
|
"e233a461e4526dec3cc4cbaa891a7c3621d5967ce7f32b4fb17e9fb645857b9a": {
|
|
3566
3514
|
functionName: "stopLoop_createServerFn_handler",
|
|
3567
|
-
importer: () => import("./loopApi-
|
|
3515
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3568
3516
|
},
|
|
3569
3517
|
"ed10d5fe79208e5e0e4e18e4a17b18d7f7db4dd16204c00c3ac90c4644668841": {
|
|
3570
3518
|
functionName: "getArtifact_createServerFn_handler",
|
|
3571
|
-
importer: () => import("./loopApi-
|
|
3519
|
+
importer: () => import("./loopApi-C4nN0msL.mjs")
|
|
3572
3520
|
},
|
|
3573
3521
|
"ed679b4e1e05e903a5d4ba4a70d9b9d883991ab22ed59b4d2d69078941818415": {
|
|
3574
3522
|
functionName: "createMachine_createServerFn_handler",
|
|
3575
|
-
importer: () => import("./machineFns-
|
|
3576
|
-
},
|
|
3577
|
-
"fc7a4775f418dde12f422ff9ca65d9e07428fb0dc35c9399592c0081467330bf": {
|
|
3578
|
-
functionName: "getTeamDetail_createServerFn_handler",
|
|
3579
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3580
|
-
},
|
|
3581
|
-
"fe7cc1df829414194e9b0615b86584c8510369da18f4d8805ccd76468cadf2ff": {
|
|
3582
|
-
functionName: "leaveTeam_createServerFn_handler",
|
|
3583
|
-
importer: () => import("./teamFns-DfqtuBW2.mjs")
|
|
3523
|
+
importer: () => import("./machineFns-CkNms3zA.mjs")
|
|
3584
3524
|
}
|
|
3585
3525
|
};
|
|
3586
3526
|
async function getServerFnById(id, access) {
|
|
@@ -5412,7 +5352,7 @@ var getBaseManifest = getProdBaseManifest;
|
|
|
5412
5352
|
var createEarlyHintsForRequest = createEarlyHintsCollector;
|
|
5413
5353
|
async function loadEntries() {
|
|
5414
5354
|
const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
|
|
5415
|
-
import("./router-
|
|
5355
|
+
import("./router-DCNZ2xLm.mjs"),
|
|
5416
5356
|
import("./start-4ifArtKx.mjs"),
|
|
5417
5357
|
import("./empty-plugin-adapters-DKUlnwwl.mjs")
|
|
5418
5358
|
]);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-DkmxsHDK.js
|
|
2
|
+
var tsrStartManifest = () => ({ routes: {
|
|
3
|
+
__root__: {
|
|
4
|
+
filePath: "/home/runner/work/pievo/pievo/packages/server/src/routes/__root.tsx",
|
|
5
|
+
children: [
|
|
6
|
+
"/",
|
|
7
|
+
"/api/health",
|
|
8
|
+
"/api/ready",
|
|
9
|
+
"/loops/$loopId",
|
|
10
|
+
"/machine/report",
|
|
11
|
+
"/api/auth/$",
|
|
12
|
+
"/api/machine/cli",
|
|
13
|
+
"/api/machine/poll",
|
|
14
|
+
"/api/machine/status",
|
|
15
|
+
"/api/machine/sync",
|
|
16
|
+
"/api/artifact/$loopId/$",
|
|
17
|
+
"/api/machine/blob/$hash",
|
|
18
|
+
"/loops/$loopId_/runs/$runId"
|
|
19
|
+
],
|
|
20
|
+
preloads: [
|
|
21
|
+
"/assets/index-c0XPWXuz.js",
|
|
22
|
+
"/assets/actionUi-D8m1FDHO.js",
|
|
23
|
+
"/assets/preload-helper-Zcmr31XG.js"
|
|
24
|
+
],
|
|
25
|
+
scripts: [{ attrs: {
|
|
26
|
+
type: "module",
|
|
27
|
+
async: !0,
|
|
28
|
+
src: "/assets/index-c0XPWXuz.js"
|
|
29
|
+
} }]
|
|
30
|
+
},
|
|
31
|
+
"/": {
|
|
32
|
+
filePath: "/home/runner/work/pievo/pievo/packages/server/src/routes/index.tsx",
|
|
33
|
+
children: void 0,
|
|
34
|
+
preloads: [
|
|
35
|
+
"/assets/routes-79D939J4.js",
|
|
36
|
+
"/assets/routes-BYgl3Tmv.js",
|
|
37
|
+
"/assets/SignIn-CDCdDD1a.js"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"/loops/$loopId": {
|
|
41
|
+
filePath: "/home/runner/work/pievo/pievo/packages/server/src/routes/loops.$loopId.tsx",
|
|
42
|
+
children: void 0,
|
|
43
|
+
preloads: ["/assets/loops._loopId-D7i_BGiE.js", "/assets/SignIn-CDCdDD1a.js"]
|
|
44
|
+
},
|
|
45
|
+
"/loops/$loopId_/runs/$runId": {
|
|
46
|
+
filePath: "/home/runner/work/pievo/pievo/packages/server/src/routes/loops.$loopId_.runs.$runId.tsx",
|
|
47
|
+
children: void 0,
|
|
48
|
+
preloads: ["/assets/loops._loopId_.runs._runId-CksSrEY7.js", "/assets/SignIn-CDCdDD1a.js"]
|
|
49
|
+
}
|
|
50
|
+
} });
|
|
51
|
+
//#endregion
|
|
52
|
+
export { tsrStartManifest };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
DROP INDEX "machines_team_idx";
|
|
2
|
+
--> statement-breakpoint
|
|
3
|
+
DROP INDEX "loops_team_idx";
|
|
4
|
+
--> statement-breakpoint
|
|
5
|
+
ALTER TABLE "machines" DROP COLUMN "team_id";
|
|
6
|
+
--> statement-breakpoint
|
|
7
|
+
ALTER TABLE "loops" DROP COLUMN "team_id";
|
|
8
|
+
--> statement-breakpoint
|
|
9
|
+
ALTER TABLE "connect_keys" DROP COLUMN "team_id";
|
|
10
|
+
--> statement-breakpoint
|
|
11
|
+
DROP TABLE "team_invites";
|
|
12
|
+
--> statement-breakpoint
|
|
13
|
+
DROP TABLE "team_members";
|
|
14
|
+
--> statement-breakpoint
|
|
15
|
+
DROP TABLE "teams";
|