@kky42/pievo-server 2.0.4 → 2.2.0
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/LoopView-BTXoqfzM.js +59 -0
- package/.output/public/assets/{Modal-B3xpEtcf.js → Modal-Ba36NAkv.js} +1 -1
- package/.output/public/assets/{SignIn-9vsaKv_p.js → SignIn-Cc1zxGnA.js} +1 -1
- package/.output/public/assets/app-D1cij_NJ.css +2 -0
- package/.output/public/assets/{artifactView-BV-yQVrj.js → artifactView-Cd5wWPil.js} +1 -1
- package/.output/public/assets/index-BGM1XGY0.js +12 -0
- package/.output/public/assets/{invite._token-C891oGkK.js → invite._token-CUCNcN89.js} +1 -1
- package/.output/public/assets/{lifecycleUi-C3k2MlX8.js → lifecycleUi-CMFw5Nlj.js} +1 -1
- package/.output/public/assets/{loopApi-C_Dtw-nL.js → loopApi-CT1mMhlb.js} +1 -1
- package/.output/public/assets/loops._loopId-CrSSvSVl.js +4 -0
- package/.output/public/assets/loops._loopId_.runs._runId-B5Qacloe.js +3 -0
- package/.output/public/assets/{notifyFns-BaukhLAg.js → notifyFns-CYiZT7CK.js} +1 -1
- package/.output/public/assets/{preload-helper--VCqDT5m.js → preload-helper-DFkkpP6W.js} +1 -1
- package/.output/public/assets/{routes-BS4N7Lnf.js → routes-B6Kg4mFC.js} +1 -1
- package/.output/public/assets/{t._teamId-DSYlMX_v.js → t._teamId-Cmm4xdKj.js} +1 -1
- package/.output/server/_libs/d3-shape.mjs +130 -1
- package/.output/server/_libs/react-is.mjs +48 -0
- package/.output/server/_libs/recharts+victory-vendor.mjs +2210 -782
- package/.output/server/_ssr/{DashboardView-CQdjYy03.mjs → DashboardView-0yoKh8Em.mjs} +6 -6
- package/.output/server/_ssr/{LoopPlaybook-C86vJIjZ.mjs → LoopPlaybook-uq_sFfgU.mjs} +2 -2
- package/.output/server/_ssr/{LoopView-cDyjmf1B.mjs → LoopView-BlOY-jfJ.mjs} +416 -222
- package/.output/server/_ssr/{SignIn-BQQiD3Ss.mjs → SignIn-C4fSJl_j.mjs} +2 -2
- package/.output/server/_ssr/{adapters-N4-yQ1vK.mjs → adapters-RReIIwAx.mjs} +2 -2
- package/.output/server/_ssr/{artifactFiles-Dl1EaUtJ.mjs → artifactFiles-C8PQKN6V.mjs} +3 -3
- package/.output/server/_ssr/{artifactView-DX4P3Krh.mjs → artifactView-iuPsp5aa.mjs} +2 -2
- package/.output/server/_ssr/artifacts-B_F6vSih.mjs +2 -0
- package/.output/server/_ssr/{auth-CbAfO4Ne.mjs → auth-Sie6sQHF.mjs} +9 -9
- package/.output/server/_ssr/{boot-BZ-YyUiD.mjs → boot-akwC2sQg.mjs} +393 -331
- package/.output/server/_ssr/boot-pVS0wjd0.mjs +2 -0
- package/.output/server/_ssr/{bun-sqlite-dialect-BW9W1_Ps-B67XLJZt.mjs → bun-sqlite-dialect-BW9W1_Ps-CLY8cORt.mjs} +2 -2
- package/.output/server/_ssr/{d1-sqlite-dialect-BLC8LXE6-nff_yHzH.mjs → d1-sqlite-dialect-BLC8LXE6-CRsXQNRe.mjs} +2 -2
- package/.output/server/_ssr/db-Bdm9PFZF.mjs +2 -0
- package/.output/server/_ssr/{dist-BGjVt6NE.mjs → dist-Cc_x6bBb.mjs} +2 -2
- package/.output/server/_ssr/{factory-DNeo3vVt.mjs → factory-CDwHL_zY.mjs} +2 -2
- package/.output/server/_ssr/{invite._token-z3PzCMzb.mjs → invite._token-BE_QUAVb.mjs} +4 -4
- package/.output/server/_ssr/{invite._token-Bipap1cl.mjs → invite._token-C7GjrJxr.mjs} +5 -5
- package/.output/server/_ssr/{kysely-adapter-C1ww7PKr.mjs → kysely-adapter-zflsyYBA.mjs} +1 -1
- package/.output/server/_ssr/{lifecycleUi-5jMhxINb.mjs → lifecycleUi-Djb44Aj3.mjs} +4 -4
- package/.output/server/_ssr/logger-tfiliKTi.mjs +2 -0
- package/.output/server/_ssr/{loopApi-7MTSs6hy.mjs → loopApi-8_KgBapr.mjs} +6 -2
- package/.output/server/_ssr/{loopApi-JzGGZZp2.mjs → loopApi-JzmqWENY.mjs} +25 -15
- package/.output/server/_ssr/{loops._loopId-DFkyTJR3.mjs → loops._loopId-D-aCCtrX.mjs} +12 -17
- package/.output/server/_ssr/{loops._loopId-CJxQ0EG4.mjs → loops._loopId-DZ-FjscA.mjs} +4 -4
- package/.output/server/_ssr/{loops._loopId_.runs._runId-lTigSOmT.mjs → loops._loopId_.runs._runId-Dk1QY49p.mjs} +4 -4
- package/.output/server/_ssr/{loops._loopId_.runs._runId-DkG-ZCD1.mjs → loops._loopId_.runs._runId-rBHW41dx.mjs} +14 -14
- package/.output/server/_ssr/{machineFns-Dda8-rBY.mjs → machineFns-CoqLRLRh.mjs} +3 -3
- package/.output/server/_ssr/{node-sqlite-dialect-BS2OAFJh.mjs → node-sqlite-dialect-dmrazfbM.mjs} +2 -2
- package/.output/server/_ssr/{notifyFns-C9N0QLe3.mjs → notifyFns-CH7-bcmd.mjs} +3 -3
- package/.output/server/_ssr/{notifyFns-C6eyIFZE.mjs → notifyFns-DXMbgYu2.mjs} +5 -5
- package/.output/server/_ssr/{router-DIfoLu1r.mjs → router-BFPzSTFx.mjs} +34 -33
- package/.output/server/_ssr/{routes-bWgX0tRE.mjs → routes-DebVUmCS.mjs} +5 -5
- package/.output/server/_ssr/{routes-DYJB0rKC.mjs → routes-dQCBLTxY.mjs} +5 -5
- package/.output/server/_ssr/runDiff-qA1C8R_L.mjs +2 -0
- package/.output/server/_ssr/ssr.mjs +52 -48
- package/.output/server/_ssr/store-DWUdkIq2.mjs +2 -0
- package/.output/server/_ssr/{t._teamId-C_KZZ4Xh.mjs → t._teamId-BqOUF-0J.mjs} +5 -5
- package/.output/server/_ssr/{t._teamId-B_ieXBNF.mjs → t._teamId-BzWy4Ft2.mjs} +5 -5
- package/.output/server/_ssr/{teamFns-O3ZmtZL2.mjs → teamFns-BcnGMC-g.mjs} +3 -3
- package/.output/server/_ssr/{teamFns-BBIbatdZ.mjs → teamFns-bm82twd5.mjs} +2 -2
- package/.output/server/_ssr/tokens-DG8z1GIg.mjs +2 -0
- package/.output/server/{_tanstack-start-manifest_v-DKnfwHZr.mjs → _tanstack-start-manifest_v-COr27bxK.mjs} +19 -19
- package/.output/server/drizzle/0016_plural_machine_runs.sql +4 -0
- package/.output/server/drizzle/meta/_journal.json +7 -0
- package/.output/server/index.mjs +96 -96
- package/drizzle/0016_plural_machine_runs.sql +4 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +1 -1
- package/.output/public/assets/LoopView-Pbp2YtUu.js +0 -55
- package/.output/public/assets/app-CStTBRt2.css +0 -2
- package/.output/public/assets/index-49hAH0gP.js +0 -12
- package/.output/public/assets/loops._loopId-DD4fKGMu.js +0 -4
- package/.output/public/assets/loops._loopId_.runs._runId-DoPcCQy7.js +0 -3
- package/.output/server/_ssr/artifacts-DzWJrBxK.mjs +0 -2
- package/.output/server/_ssr/boot-BigKgB8p.mjs +0 -2
- package/.output/server/_ssr/db-BF8vSovA.mjs +0 -2
- package/.output/server/_ssr/logger-C7aewtve.mjs +0 -2
- package/.output/server/_ssr/runDiff-B9t7ouYj.mjs +0 -2
- package/.output/server/_ssr/store-Dw4LiFjE.mjs +0 -2
- package/.output/server/_ssr/tokens-DI_pklQB.mjs +0 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as DefaultQueryCompiler, o as CompiledQuery, s as sql$1 } from "./auth-
|
|
1
|
+
import { n as DefaultQueryCompiler, o as CompiledQuery, s as sql$1 } from "./auth-Sie6sQHF.mjs";
|
|
2
2
|
import { n as DEFAULT_MIGRATION_TABLE, t as DEFAULT_MIGRATION_LOCK_TABLE } from "./kysely-migration-tables-JkVUjPF_-bPAX9LR_.mjs";
|
|
3
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/bun-sqlite-dialect-BW9W1_Ps-
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/bun-sqlite-dialect-BW9W1_Ps-CLY8cORt.js
|
|
4
4
|
var BunSqliteAdapter = class {
|
|
5
5
|
get supportsCreateIfNotExists() {
|
|
6
6
|
return true;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as SqliteQueryCompiler, i as SqliteAdapter } from "./auth-
|
|
1
|
+
import { a as SqliteQueryCompiler, i as SqliteAdapter } from "./auth-Sie6sQHF.mjs";
|
|
2
2
|
import { n as DEFAULT_MIGRATION_TABLE, t as DEFAULT_MIGRATION_LOCK_TABLE } from "./kysely-migration-tables-JkVUjPF_-bPAX9LR_.mjs";
|
|
3
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/d1-sqlite-dialect-BLC8LXE6-
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/d1-sqlite-dialect-BLC8LXE6-CRsXQNRe.js
|
|
4
4
|
var D1SqliteAdapter = class extends SqliteAdapter {};
|
|
5
5
|
var D1SqliteDriver = class {
|
|
6
6
|
#config;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as logger, o as createAdapterFactory } from "./factory-
|
|
2
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/dist-
|
|
1
|
+
import { _ as logger, o as createAdapterFactory } from "./factory-CDwHL_zY.mjs";
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/dist-Cc_x6bBb.js
|
|
3
3
|
/**
|
|
4
4
|
* Case-insensitive in-memory comparison helpers.
|
|
5
5
|
* Used when evaluating where clauses in the memory adapter.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/factory-
|
|
1
|
+
import { V as env, X as getEnvVar, a as BetterAuthError } from "./boot-akwC2sQg.mjs";
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/factory-CDwHL_zY.js
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
5
5
|
var __exportAll = (all, no_symbols) => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { c as createFileRoute, s as lazyRouteComponent } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
2
|
-
import { c as getAuthState } from "./loopApi-
|
|
3
|
-
import { a as authClient } from "./LoopPlaybook-
|
|
4
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/invite._token-
|
|
2
|
+
import { c as getAuthState } from "./loopApi-8_KgBapr.mjs";
|
|
3
|
+
import { a as authClient } from "./LoopPlaybook-uq_sFfgU.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/invite._token-BE_QUAVb.js
|
|
5
5
|
var $$splitErrorComponentImporter = () => import("./invite._token-BlbVjz-o.mjs");
|
|
6
|
-
var $$splitComponentImporter = () => import("./invite._token-
|
|
6
|
+
var $$splitComponentImporter = () => import("./invite._token-C7GjrJxr.mjs");
|
|
7
7
|
/**
|
|
8
8
|
* Invite-link redeem (`/invite/<token>`, design §4 option B). The recipient opens
|
|
9
9
|
* the link the owner shared; if signed out (under the gate) they hit the normal
|
|
@@ -2,12 +2,12 @@ import { o as __toESM } from "../_runtime.mjs";
|
|
|
2
2
|
import { g as require_jsx_runtime, h as require_react } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { l as btnPrimary } from "./ui-B6mE5-5v.mjs";
|
|
4
4
|
import { d as useNavigate } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
5
|
-
import { i as PievoLogo, s as useSession } from "./LoopPlaybook-
|
|
5
|
+
import { i as PievoLogo, s as useSession } from "./LoopPlaybook-uq_sFfgU.mjs";
|
|
6
6
|
import { t as setActiveTeamCookie } from "./teamCookie-B7hLOIie.mjs";
|
|
7
|
-
import { c as redeemTeamInvite } from "./teamFns-
|
|
8
|
-
import { t as Route } from "./invite._token-
|
|
9
|
-
import { t as SignIn } from "./SignIn-
|
|
10
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/invite._token-
|
|
7
|
+
import { c as redeemTeamInvite } from "./teamFns-bm82twd5.mjs";
|
|
8
|
+
import { t as Route } from "./invite._token-BE_QUAVb.mjs";
|
|
9
|
+
import { t as SignIn } from "./SignIn-C4fSJl_j.mjs";
|
|
10
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/invite._token-C7GjrJxr.js
|
|
11
11
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
12
12
|
var import_jsx_runtime = require_jsx_runtime();
|
|
13
13
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as kyselyAdapter, t as createKyselyAdapter } from "./auth-
|
|
1
|
+
import { r as kyselyAdapter, t as createKyselyAdapter } from "./auth-Sie6sQHF.mjs";
|
|
2
2
|
export { createKyselyAdapter, kyselyAdapter };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/lifecycleUi-
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/lifecycleUi-Djb44Aj3.js
|
|
2
2
|
var DAEMON_UPGRADE_REQUIRED = "Daemon upgrade required to stop a running process. Run `npm install -g @kky42/pievo@latest`, then `pievo daemon restart`.";
|
|
3
3
|
/** Derive product lifecycle state only from durable server facts. */
|
|
4
4
|
function deriveLoopLifecycle(job) {
|
|
@@ -10,9 +10,9 @@ function deriveLoopLifecycle(job) {
|
|
|
10
10
|
return "active";
|
|
11
11
|
}
|
|
12
12
|
function daemonStopSupport(protocol) {
|
|
13
|
-
return protocol ===
|
|
13
|
+
return protocol === 3 ? {
|
|
14
14
|
supported: true,
|
|
15
|
-
label: `Daemon protocol
|
|
15
|
+
label: `Daemon protocol 3 · Stop supported`
|
|
16
16
|
} : {
|
|
17
17
|
supported: false,
|
|
18
18
|
label: `Daemon protocol ${protocol ?? "unknown"} · upgrade required`
|
|
@@ -22,7 +22,7 @@ function daemonStopSupport(protocol) {
|
|
|
22
22
|
function lifecycleDisplay(detail) {
|
|
23
23
|
const state = deriveLoopLifecycle(detail.summary);
|
|
24
24
|
const running = detail.summary.runs.find((run) => run.running);
|
|
25
|
-
if (running && detail.machine.daemonProtocol !==
|
|
25
|
+
if (running && detail.machine.daemonProtocol !== 3) return DAEMON_UPGRADE_REQUIRED;
|
|
26
26
|
if (state === "stopping" && running && !detail.machine.online) return `Stopping · waiting for ${detail.machine.name || "machine"}`;
|
|
27
27
|
switch (state) {
|
|
28
28
|
case "deleting": return "Deleting";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as createServerFn, r as getServerFnById, t as TSS_SERVER_FUNCTION } from "./ssr.mjs";
|
|
2
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/loopApi-
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loopApi-8_KgBapr.js
|
|
3
3
|
var createSsrRpc = (functionId) => {
|
|
4
4
|
const url = "/_serverFn/" + functionId;
|
|
5
5
|
const serverFnMeta = { id: functionId };
|
|
@@ -62,6 +62,10 @@ var getJobDetail = createServerFn({ method: "GET" }).validator((id) => id).handl
|
|
|
62
62
|
/** GET — one older page of a loop's runs (cursor = `beforeTs`), for the card
|
|
63
63
|
* timeline's lazy "+N" paging. Chronological (oldest-first), capped. */
|
|
64
64
|
var loadOlderRuns = createServerFn({ method: "GET" }).validator((d) => d).handler(createSsrRpc("85fdf73d4fee43aed762f93c5d47d33200fbff39e2d082647dc921f610d32698"));
|
|
65
|
+
/** GET — the latest 100 successful exec rows needed by dashboard charts. This is a
|
|
66
|
+
* compact, authorized read: role filtering happens before the fixed limit, and
|
|
67
|
+
* messages/provider telemetry never ride the response. */
|
|
68
|
+
var getChartRuns = createServerFn({ method: "GET" }).validator((d) => d).handler(createSsrRpc("bdf2cf0a884a9dccf99323b84675f048164a726f8347a2b6578a4ed1a350712e"));
|
|
65
69
|
/** GET — the loop's current live-synced files (metadata only; path-sorted). */
|
|
66
70
|
var getArtifacts = createServerFn({ method: "GET" }).validator((d) => d).handler(createSsrRpc("b18bbec3d06dfc77714e1e527dfb9172fd7575a64a6c0d6e73ba6dc658dccf0d"));
|
|
67
71
|
/** GET — one artifact's content: decoded text, or a binary/oversize marker the
|
|
@@ -102,4 +106,4 @@ var mintClaim = createServerFn({ method: "POST" }).validator((teamId) => teamId)
|
|
|
102
106
|
/** Poll a claim while the New-loop dialog waits for Claude Code to create the loop. */
|
|
103
107
|
var claimStatus = createServerFn({ method: "GET" }).validator((token) => token).handler(createSsrRpc("4b0db7d6c8f25383a3526598cb0c1881db6cf413e451e9478687c05666461347"));
|
|
104
108
|
//#endregion
|
|
105
|
-
export {
|
|
109
|
+
export { startJob as C, runJob as S, stopRun as T, loadOlderRuns as _, evolveJob as a, pauseJob as b, getAuthState as c, getDefaultTeam as d, getJobDetail as f, listTemplates as g, listMyTeams as h, deleteJob as i, getChartRuns as l, listJobs as m, claimStatus as n, getArtifact as o, getRunDiff as p, createSsrRpc as r, getArtifacts as s, canViewTeam as t, getConfig as u, mintClaim as v, stopJob as w, requestSteer as x, patchJob as y };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $t as startLoop, Ct as listChartRuns, It as machinePresence, J as getChannel, Jt as requestRunCancel, U as forceDeleteLoop, Vt as pauseLoop, at as getTeam, b as coerceCodingAgent, cn as validateSteerInstruction, ct as hasRunningRun, en as stopLoop, et as getLoop, in as updateLoop, it as getRun, jt as listTeamsForUser, kt as listRunsBefore, ot as getTeamMember, qt as requestDeleteLoop, rn as tryDeleteLoop, sn as validateSchema, tt as getMachine, v as canEvolve, wt as listLoops, x as coerceUi, z as ensureServer, zt as normalizeProviderSetting } from "./boot-akwC2sQg.mjs";
|
|
2
2
|
import { n as createServerFn } from "./ssr.mjs";
|
|
3
|
-
import { i as toRunSummary, n as toJobDetail, r as toJobSummary } from "./adapters-
|
|
4
|
-
import { canAccessLoop, requestScope } from "./auth-
|
|
3
|
+
import { i as toRunSummary, n as toJobDetail, r as toJobSummary } from "./adapters-RReIIwAx.mjs";
|
|
4
|
+
import { canAccessLoop, requestScope } from "./auth-Sie6sQHF.mjs";
|
|
5
5
|
import { t as createServerRpc } from "./createServerRpc-BD8Xn_0_.mjs";
|
|
6
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/loopApi-
|
|
6
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loopApi-JzmqWENY.js
|
|
7
7
|
var meta_default$6 = {
|
|
8
8
|
name: "dependency-triage",
|
|
9
9
|
label: "Dependency Triage",
|
|
@@ -135,7 +135,7 @@ var getAuthState_createServerFn_handler = createServerRpc({
|
|
|
135
135
|
filename: "src/server/loopApi.ts"
|
|
136
136
|
}, (opts) => getAuthState.__executeServer(opts));
|
|
137
137
|
var getAuthState = createServerFn({ method: "GET" }).handler(getAuthState_createServerFn_handler, async () => {
|
|
138
|
-
const { authEnabled } = await import("./auth-
|
|
138
|
+
const { authEnabled } = await import("./auth-Sie6sQHF.mjs");
|
|
139
139
|
return { enabled: authEnabled };
|
|
140
140
|
});
|
|
141
141
|
var getConfig_createServerFn_handler = createServerRpc({
|
|
@@ -236,6 +236,16 @@ var loadOlderRuns = createServerFn({ method: "GET" }).validator((d) => d).handle
|
|
|
236
236
|
const limit = Math.min(Math.max(data.limit ?? 16, 1), 100);
|
|
237
237
|
return (await listRunsBefore(data.loopId, data.beforeTs, limit)).map(toRunSummary);
|
|
238
238
|
});
|
|
239
|
+
var getChartRuns_createServerFn_handler = createServerRpc({
|
|
240
|
+
id: "bdf2cf0a884a9dccf99323b84675f048164a726f8347a2b6578a4ed1a350712e",
|
|
241
|
+
name: "getChartRuns",
|
|
242
|
+
filename: "src/server/loopApi.ts"
|
|
243
|
+
}, (opts) => getChartRuns.__executeServer(opts));
|
|
244
|
+
var getChartRuns = createServerFn({ method: "GET" }).validator((d) => d).handler(getChartRuns_createServerFn_handler, async ({ data }) => {
|
|
245
|
+
await backend();
|
|
246
|
+
if (!await ownedLoop(data.loopId)) return [];
|
|
247
|
+
return listChartRuns(data.loopId, 100);
|
|
248
|
+
});
|
|
239
249
|
var getArtifacts_createServerFn_handler = createServerRpc({
|
|
240
250
|
id: "b18bbec3d06dfc77714e1e527dfb9172fd7575a64a6c0d6e73ba6dc658dccf0d",
|
|
241
251
|
name: "getArtifacts",
|
|
@@ -244,7 +254,7 @@ var getArtifacts_createServerFn_handler = createServerRpc({
|
|
|
244
254
|
var getArtifacts = createServerFn({ method: "GET" }).validator((d) => d).handler(getArtifacts_createServerFn_handler, async ({ data }) => {
|
|
245
255
|
await backend();
|
|
246
256
|
if (!await ownedLoop(data.loopId)) return [];
|
|
247
|
-
const { listLoopArtifacts } = await import("./artifactFiles-
|
|
257
|
+
const { listLoopArtifacts } = await import("./artifactFiles-C8PQKN6V.mjs");
|
|
248
258
|
return listLoopArtifacts(data.loopId);
|
|
249
259
|
});
|
|
250
260
|
var getArtifact_createServerFn_handler = createServerRpc({
|
|
@@ -255,7 +265,7 @@ var getArtifact_createServerFn_handler = createServerRpc({
|
|
|
255
265
|
var getArtifact = createServerFn({ method: "GET" }).validator((d) => d).handler(getArtifact_createServerFn_handler, async ({ data }) => {
|
|
256
266
|
await backend();
|
|
257
267
|
if (!await ownedLoop(data.loopId)) return { error: "file not found" };
|
|
258
|
-
const { readLoopArtifact } = await import("./artifactFiles-
|
|
268
|
+
const { readLoopArtifact } = await import("./artifactFiles-C8PQKN6V.mjs");
|
|
259
269
|
return readLoopArtifact(data.loopId, data.path);
|
|
260
270
|
});
|
|
261
271
|
var getRunDiff_createServerFn_handler = createServerRpc({
|
|
@@ -274,7 +284,7 @@ var getRunDiff = createServerFn({ method: "GET" }).validator((d) => d).handler(g
|
|
|
274
284
|
hasSnapshot: false,
|
|
275
285
|
files: []
|
|
276
286
|
};
|
|
277
|
-
const { computeRunDiff } = await import("./runDiff-
|
|
287
|
+
const { computeRunDiff } = await import("./runDiff-qA1C8R_L.mjs");
|
|
278
288
|
return computeRunDiff(data.runId);
|
|
279
289
|
});
|
|
280
290
|
var listTemplates_createServerFn_handler = createServerRpc({
|
|
@@ -367,7 +377,7 @@ var stopJob = createServerFn({ method: "POST" }).validator((id) => id).handler(s
|
|
|
367
377
|
const owned = await ownedLoop(id);
|
|
368
378
|
if (!owned) return { error: "not found" };
|
|
369
379
|
if (await hasRunningRun(id)) {
|
|
370
|
-
if ((await getMachine(owned.loop.machineId))?.daemonProtocol !==
|
|
380
|
+
if ((await getMachine(owned.loop.machineId))?.daemonProtocol !== 3) return { error: "Daemon upgrade required to stop a running process" };
|
|
371
381
|
}
|
|
372
382
|
const stopped = await stopLoop(id);
|
|
373
383
|
if (!stopped) return { error: "not found" };
|
|
@@ -390,12 +400,12 @@ var deleteJob = createServerFn({ method: "POST" }).validator((id) => id).handler
|
|
|
390
400
|
const unreachable = machinePresence(machine?.online, machine?.lastSeen) !== "online";
|
|
391
401
|
const actor = await requestScope();
|
|
392
402
|
const mayRetireAuthority = !owned.enforce || !!(actor.userId && owned.loop.teamId && (await getTeamMember(owned.loop.teamId, actor.userId))?.role === "owner");
|
|
393
|
-
if (!unreachable && await hasRunningRun(id) && machine?.daemonProtocol !==
|
|
403
|
+
if (!unreachable && await hasRunningRun(id) && machine?.daemonProtocol !== 3) return { error: "Daemon upgrade required to stop a running process" };
|
|
394
404
|
scheduler.removeLoop(id);
|
|
395
405
|
if (!await requestDeleteLoop(id)) return { error: "not found" };
|
|
396
406
|
if (unreachable && mayRetireAuthority) {
|
|
397
407
|
if (!await forceDeleteLoop(id)) return { error: "delete failed; server data was not deleted" };
|
|
398
|
-
const { logger } = await import("./logger-
|
|
408
|
+
const { logger } = await import("./logger-tfiliKTi.mjs");
|
|
399
409
|
logger.child({ mod: "loop-lifecycle" }).warn({
|
|
400
410
|
action: "unreachable-delete",
|
|
401
411
|
loopId: id,
|
|
@@ -435,7 +445,7 @@ var forceDeleteJob = createServerFn({ method: "POST" }).validator((d) => d).hand
|
|
|
435
445
|
}
|
|
436
446
|
scheduler.removeLoop(data.id);
|
|
437
447
|
if (!await forceDeleteLoop(data.id)) return { error: "force delete failed; server data was not deleted" };
|
|
438
|
-
const { logger } = await import("./logger-
|
|
448
|
+
const { logger } = await import("./logger-tfiliKTi.mjs");
|
|
439
449
|
logger.child({ mod: "loop-lifecycle" }).warn({
|
|
440
450
|
action: "force-delete",
|
|
441
451
|
loopId: data.id,
|
|
@@ -512,7 +522,7 @@ var stopRun = createServerFn({ method: "POST" }).validator((id) => id).handler(s
|
|
|
512
522
|
const run = await getRun(id);
|
|
513
523
|
const owned = run ? await ownedLoop(run.loopId) : void 0;
|
|
514
524
|
if (!run || !owned) return { error: "run not found" };
|
|
515
|
-
if (run.phase === "running" && (await getMachine(owned.loop.machineId))?.daemonProtocol !==
|
|
525
|
+
if (run.phase === "running" && (await getMachine(owned.loop.machineId))?.daemonProtocol !== 3) return { error: "Daemon upgrade required to stop a running process" };
|
|
516
526
|
const result = await requestRunCancel(run.loopId, id);
|
|
517
527
|
return result ? {
|
|
518
528
|
ok: true,
|
|
@@ -526,7 +536,7 @@ var mintClaim_createServerFn_handler = createServerRpc({
|
|
|
526
536
|
}, (opts) => mintClaim.__executeServer(opts));
|
|
527
537
|
var mintClaim = createServerFn({ method: "POST" }).validator((teamId) => teamId).handler(mintClaim_createServerFn_handler, async ({ data: teamId }) => {
|
|
528
538
|
await backend();
|
|
529
|
-
const { mintDeviceToken, rememberConnectKey } = await import("./tokens-
|
|
539
|
+
const { mintDeviceToken, rememberConnectKey } = await import("./tokens-DG8z1GIg.mjs");
|
|
530
540
|
const { userId, teamId: active } = await requestScope(teamId);
|
|
531
541
|
const owner = userId ?? "shared";
|
|
532
542
|
const token = mintDeviceToken();
|
|
@@ -551,4 +561,4 @@ var claimStatus = createServerFn({ method: "GET" }).validator((token) => token).
|
|
|
551
561
|
} : { done: false };
|
|
552
562
|
});
|
|
553
563
|
//#endregion
|
|
554
|
-
export { canViewTeam_createServerFn_handler, claimStatus_createServerFn_handler, deleteJob_createServerFn_handler, evolveJob_createServerFn_handler, forceDeleteJob_createServerFn_handler, getArtifact_createServerFn_handler, getArtifacts_createServerFn_handler, getAuthState_createServerFn_handler, getConfig_createServerFn_handler, getDefaultTeam_createServerFn_handler, getJobDetail_createServerFn_handler, getRunDiff_createServerFn_handler, listJobs_createServerFn_handler, listMyTeams_createServerFn_handler, listTemplates_createServerFn_handler, loadOlderRuns_createServerFn_handler, mintClaim_createServerFn_handler, patchJob_createServerFn_handler, pauseJob_createServerFn_handler, requestSteer_createServerFn_handler, runJob_createServerFn_handler, startJob_createServerFn_handler, stopJob_createServerFn_handler, stopRun_createServerFn_handler };
|
|
564
|
+
export { canViewTeam_createServerFn_handler, claimStatus_createServerFn_handler, deleteJob_createServerFn_handler, evolveJob_createServerFn_handler, forceDeleteJob_createServerFn_handler, getArtifact_createServerFn_handler, getArtifacts_createServerFn_handler, getAuthState_createServerFn_handler, getChartRuns_createServerFn_handler, getConfig_createServerFn_handler, getDefaultTeam_createServerFn_handler, getJobDetail_createServerFn_handler, getRunDiff_createServerFn_handler, listJobs_createServerFn_handler, listMyTeams_createServerFn_handler, listTemplates_createServerFn_handler, loadOlderRuns_createServerFn_handler, mintClaim_createServerFn_handler, patchJob_createServerFn_handler, pauseJob_createServerFn_handler, requestSteer_createServerFn_handler, runJob_createServerFn_handler, startJob_createServerFn_handler, stopJob_createServerFn_handler, stopRun_createServerFn_handler };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { o as __toESM } from "../_runtime.mjs";
|
|
2
2
|
import { g as require_jsx_runtime, h as require_react } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { _ as buildFileEntries, gt as isTaskEntry, l as CODING_AGENTS } from "./boot-akwC2sQg.mjs";
|
|
4
4
|
import { A as tsShort, D as runPulseStyle, O as sectionHeadCls, S as labelCls, T as rel, _ as dur, b as humanBytes, c as btnDanger, d as btnQuiet, h as dotLabel, i as Pre, j as until, k as selectCls, l as btnPrimary, m as dotColor, n as Loading, o as btn, p as cronText, r as Pill, s as btnCost, t as ErrorBanner, v as fmt, x as inputCls } from "./ui-B6mE5-5v.mjs";
|
|
5
5
|
import { d as useNavigate, u as Link } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
6
|
-
import { C as
|
|
7
|
-
import { n as TaskFileView, r as ViewerHead, t as ArtifactBody } from "./artifactView-
|
|
8
|
-
import { s as useSession } from "./LoopPlaybook-C86vJIjZ.mjs";
|
|
9
|
-
import { t as setActiveTeamCookie } from "./teamCookie-B7hLOIie.mjs";
|
|
10
|
-
import { t as SignIn } from "./SignIn-BQQiD3Ss.mjs";
|
|
6
|
+
import { C as startJob, S as runJob, _ as loadOlderRuns, a as evolveJob, b as pauseJob, f as getJobDetail, i as deleteJob, s as getArtifacts, w as stopJob, x as requestSteer, y as patchJob } from "./loopApi-8_KgBapr.mjs";
|
|
7
|
+
import { n as TaskFileView, r as ViewerHead, t as ArtifactBody } from "./artifactView-iuPsp5aa.mjs";
|
|
11
8
|
import { i as useFlash, n as FlashLine, r as LoadErrorCard, t as ConfirmBar } from "./actionUi-BKF6xI3d.mjs";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { t as
|
|
15
|
-
|
|
9
|
+
import { s as useSession } from "./LoopPlaybook-uq_sFfgU.mjs";
|
|
10
|
+
import { t as setActiveTeamCookie } from "./teamCookie-B7hLOIie.mjs";
|
|
11
|
+
import { t as SignIn } from "./SignIn-C4fSJl_j.mjs";
|
|
12
|
+
import { i as lifecycleDisplay, n as daemonStopSupport, r as deriveLoopLifecycle, t as DAEMON_UPGRADE_REQUIRED } from "./lifecycleUi-Djb44Aj3.mjs";
|
|
13
|
+
import { a as listChannels, n as Timeline, s as mergeRuns, t as MachinesModal } from "./notifyFns-DXMbgYu2.mjs";
|
|
14
|
+
import { t as Route } from "./loops._loopId-DZ-FjscA.mjs";
|
|
15
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId-D-aCCtrX.js
|
|
16
16
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
17
17
|
var import_jsx_runtime = require_jsx_runtime();
|
|
18
18
|
/**
|
|
@@ -517,7 +517,7 @@ var LoopForm = (0, import_react.forwardRef)(function LoopForm({ initial, channel
|
|
|
517
517
|
value: f.ui,
|
|
518
518
|
onChange: (v) => set("ui", v),
|
|
519
519
|
minHeight: "240px",
|
|
520
|
-
placeholder: "<h3>{{latest.mrr}}$</h3>\n<loop-chart series=\"mrr:MRR:$\"></loop-chart>"
|
|
520
|
+
placeholder: "<h3>{{latest.mrr}}$</h3>\n<loop-chart type=\"line\" x=\"runIndex\" series=\"mrr:MRR:$\"></loop-chart>"
|
|
521
521
|
})
|
|
522
522
|
}),
|
|
523
523
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -556,7 +556,7 @@ var STEER_SEEDS = [
|
|
|
556
556
|
seed: "Give this loop a standing objective to optimize toward: "
|
|
557
557
|
}
|
|
558
558
|
];
|
|
559
|
-
var LoopView = (0, import_react.lazy)(() => import("./LoopView-
|
|
559
|
+
var LoopView = (0, import_react.lazy)(() => import("./LoopView-BlOY-jfJ.mjs").then((m) => ({ default: m.LoopView })));
|
|
560
560
|
/**
|
|
561
561
|
* Loop detail PAGE body (`/loops/$loopId`) — the redesign of the former modal.
|
|
562
562
|
* One scrolling page: a loop header (name / status / schedule / agent / machine +
|
|
@@ -1174,11 +1174,6 @@ function LoopDetailView({ id }) {
|
|
|
1174
1174
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `size-1.5 rounded-full ${online ? "bg-rubik-green" : asleep ? "bg-rubik-yellow" : "bg-disabled"}` }), detail.machine.name || "machine"]
|
|
1175
1175
|
}),
|
|
1176
1176
|
metaDot,
|
|
1177
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
1178
|
-
title: "Breaking daemon/server lifecycle protocol",
|
|
1179
|
-
children: protocolSupport.label
|
|
1180
|
-
}),
|
|
1181
|
-
metaDot,
|
|
1182
1177
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
|
|
1183
1178
|
className: "font-mono text-label text-disabled",
|
|
1184
1179
|
children: s.id
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { c as createFileRoute, s as lazyRouteComponent } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
2
|
-
import { c as getAuthState } from "./loopApi-
|
|
3
|
-
import { a as authClient } from "./LoopPlaybook-
|
|
4
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId-
|
|
5
|
-
var $$splitComponentImporter = () => import("./loops._loopId-
|
|
2
|
+
import { c as getAuthState } from "./loopApi-8_KgBapr.mjs";
|
|
3
|
+
import { a as authClient } from "./LoopPlaybook-uq_sFfgU.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId-DZ-FjscA.js
|
|
5
|
+
var $$splitComponentImporter = () => import("./loops._loopId-D-aCCtrX.mjs");
|
|
6
6
|
/**
|
|
7
7
|
* Loop detail PAGE — `/loops/$loopId`. The dedicated page that replaced the old
|
|
8
8
|
* dashboard modal: a loop header + action toolbar, the unified Files panel (task
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { c as createFileRoute, s as lazyRouteComponent } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
2
|
-
import { c as getAuthState } from "./loopApi-
|
|
3
|
-
import { a as authClient } from "./LoopPlaybook-
|
|
4
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId_.runs._runId-
|
|
5
|
-
var $$splitComponentImporter = () => import("./loops._loopId_.runs._runId-
|
|
2
|
+
import { c as getAuthState } from "./loopApi-8_KgBapr.mjs";
|
|
3
|
+
import { a as authClient } from "./LoopPlaybook-uq_sFfgU.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId_.runs._runId-Dk1QY49p.js
|
|
5
|
+
var $$splitComponentImporter = () => import("./loops._loopId_.runs._runId-rBHW41dx.mjs");
|
|
6
6
|
/**
|
|
7
7
|
* Run detail PAGE — `/loops/$loopId/runs/$runId`. A standalone page (the trailing
|
|
8
8
|
* `_` on the `$loopId` segment opts it out of the loop page's component so the run
|
|
@@ -2,12 +2,12 @@ import { o as __toESM } from "../_runtime.mjs";
|
|
|
2
2
|
import { g as require_jsx_runtime, h as require_react } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { D as runPulseStyle, O as sectionHeadCls, _ as dur, a as StatusPill, b as humanBytes, c as btnDanger, n as Loading, o as btn, r as Pill, v as fmt, y as fnum } from "./ui-B6mE5-5v.mjs";
|
|
4
4
|
import { u as Link } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
5
|
-
import {
|
|
6
|
-
import { s as useSession } from "./LoopPlaybook-C86vJIjZ.mjs";
|
|
7
|
-
import { t as SignIn } from "./SignIn-BQQiD3Ss.mjs";
|
|
5
|
+
import { T as stopRun, _ as loadOlderRuns, f as getJobDetail, p as getRunDiff } from "./loopApi-8_KgBapr.mjs";
|
|
8
6
|
import { r as LoadErrorCard } from "./actionUi-BKF6xI3d.mjs";
|
|
9
|
-
import {
|
|
10
|
-
|
|
7
|
+
import { s as useSession } from "./LoopPlaybook-uq_sFfgU.mjs";
|
|
8
|
+
import { t as SignIn } from "./SignIn-C4fSJl_j.mjs";
|
|
9
|
+
import { t as Route } from "./loops._loopId_.runs._runId-Dk1QY49p.mjs";
|
|
10
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId_.runs._runId-rBHW41dx.js
|
|
11
11
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
12
12
|
var import_jsx_runtime = require_jsx_runtime();
|
|
13
13
|
/**
|
|
@@ -254,6 +254,10 @@ function Field({ k, children }) {
|
|
|
254
254
|
})]
|
|
255
255
|
});
|
|
256
256
|
}
|
|
257
|
+
function visibleTokenUsage(usage) {
|
|
258
|
+
if (!usage || usage.inputTokens === void 0 && usage.outputTokens === void 0) return null;
|
|
259
|
+
return (usage.inputTokens ?? 0) + (usage.outputTokens ?? 0);
|
|
260
|
+
}
|
|
257
261
|
/** Per-run artifact diff vs the previous run (Phase 3), rendered as a colored diff
|
|
258
262
|
* view. Lazy by runId; degrades to a calm fallback for runs with no snapshot. */
|
|
259
263
|
function Changes({ run }) {
|
|
@@ -385,6 +389,7 @@ function RunDetailView({ loopId, runId }) {
|
|
|
385
389
|
load
|
|
386
390
|
]);
|
|
387
391
|
const run = detail?.runs.find((r) => r.id === runId) ?? olderRun;
|
|
392
|
+
const tokenUsage = visibleTokenUsage(run?.usage ?? null);
|
|
388
393
|
(0, import_react.useEffect)(() => {
|
|
389
394
|
if (!detail || run || searchDone) return;
|
|
390
395
|
let alive = true;
|
|
@@ -504,8 +509,8 @@ function RunDetailView({ loopId, runId }) {
|
|
|
504
509
|
type: "button",
|
|
505
510
|
onClick: onStop,
|
|
506
511
|
className: btnDanger,
|
|
507
|
-
disabled: !!run.running && detail.machine.daemonProtocol !==
|
|
508
|
-
title: run.running && detail.machine.daemonProtocol !==
|
|
512
|
+
disabled: !!run.running && detail.machine.daemonProtocol !== 3,
|
|
513
|
+
title: run.running && detail.machine.daemonProtocol !== 3 ? "Daemon upgrade required to stop a running process. Run `npm install -g @kky42/pievo@latest`, then `pievo daemon restart`." : void 0,
|
|
509
514
|
children: "Stop run"
|
|
510
515
|
})]
|
|
511
516
|
})]
|
|
@@ -635,16 +640,11 @@ function RunDetailView({ loopId, runId }) {
|
|
|
635
640
|
k: "Exit code",
|
|
636
641
|
children: run.exitCode
|
|
637
642
|
}),
|
|
638
|
-
|
|
643
|
+
tokenUsage != null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Field, {
|
|
639
644
|
k: "Token usage",
|
|
640
645
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
641
646
|
className: "text-disabled",
|
|
642
|
-
children: [
|
|
643
|
-
fnum((run.usage.inputTokens ?? 0) + (run.usage.cacheReadTokens ?? 0) + (run.usage.cacheCreationTokens ?? 0)),
|
|
644
|
-
" in · ",
|
|
645
|
-
fnum(run.usage.outputTokens ?? 0),
|
|
646
|
-
" out"
|
|
647
|
-
]
|
|
647
|
+
children: [fnum(tokenUsage), " tokens"]
|
|
648
648
|
})
|
|
649
649
|
}),
|
|
650
650
|
run.metrics != null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Field, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Et as listMachinesForTeam, Ft as machineIdFromToken, L as deleteMachine$1, Lt as mintDeviceToken, Pt as loopsForMachine, Qt as sha256, Tt as listMachines$1, Wt as rememberConnectKey, an as updateMachine, f as MIN_DAEMON_VERSION, j as daemonNeedsUpdate, k as createMachine$1, tt as getMachine, z as ensureServer } from "./boot-akwC2sQg.mjs";
|
|
2
2
|
import { n as createServerFn } from "./ssr.mjs";
|
|
3
|
-
import { requestScope } from "./auth-
|
|
3
|
+
import { requestScope } from "./auth-Sie6sQHF.mjs";
|
|
4
4
|
import { t as createServerRpc } from "./createServerRpc-BD8Xn_0_.mjs";
|
|
5
5
|
//#region node_modules/.nitro/vite/services/ssr/assets/machineScope-2h-fcKmG.js
|
|
6
6
|
/**
|
|
@@ -28,7 +28,7 @@ function tokenVisibleTo(m, scope) {
|
|
|
28
28
|
return !scope.enforce || m.userId === scope.userId;
|
|
29
29
|
}
|
|
30
30
|
//#endregion
|
|
31
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/machineFns-
|
|
31
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/machineFns-CoqLRLRh.js
|
|
32
32
|
/**
|
|
33
33
|
* Latest published @kky42/pievo version — a cached, fail-silent lookup of the
|
|
34
34
|
* npm dist-tag `latest`, so the web can tell a user their daemon is outdated and
|
package/.output/server/_ssr/{node-sqlite-dialect-BS2OAFJh.mjs → node-sqlite-dialect-dmrazfbM.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as DefaultQueryCompiler, o as CompiledQuery, s as sql$1 } from "./auth-
|
|
1
|
+
import { n as DefaultQueryCompiler, o as CompiledQuery, s as sql$1 } from "./auth-Sie6sQHF.mjs";
|
|
2
2
|
import { n as DEFAULT_MIGRATION_TABLE, t as DEFAULT_MIGRATION_LOCK_TABLE } from "./kysely-migration-tables-JkVUjPF_-bPAX9LR_.mjs";
|
|
3
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/node-sqlite-dialect-
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/node-sqlite-dialect-dmrazfbM.js
|
|
4
4
|
var NodeSqliteAdapter = class {
|
|
5
5
|
get supportsCreateIfNotExists() {
|
|
6
6
|
return true;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { F as deleteChannel$1, J as getChannel, St as listChannels$1, T as createChannel$1, s as CHANNELS, z as ensureServer } from "./boot-akwC2sQg.mjs";
|
|
2
2
|
import { n as createServerFn } from "./ssr.mjs";
|
|
3
|
-
import { requestScope } from "./auth-
|
|
3
|
+
import { requestScope } from "./auth-Sie6sQHF.mjs";
|
|
4
4
|
import { t as createServerRpc } from "./createServerRpc-BD8Xn_0_.mjs";
|
|
5
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/notifyFns-
|
|
5
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/notifyFns-CH7-bcmd.js
|
|
6
6
|
/**
|
|
7
7
|
* Notification-channel server functions. Channels are per-team push targets a
|
|
8
8
|
* loop can route its run messages to. Secrets (bot token / chat id) live in the
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { o as __toESM } from "../_runtime.mjs";
|
|
2
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 {
|
|
3
|
+
import { It as machinePresence, dt as isOutdated } from "./boot-akwC2sQg.mjs";
|
|
4
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-B6mE5-5v.mjs";
|
|
5
5
|
import { n as createServerFn } from "./ssr.mjs";
|
|
6
|
-
import {
|
|
6
|
+
import { r as createSsrRpc, u as getConfig } from "./loopApi-8_KgBapr.mjs";
|
|
7
7
|
import { n as ModalHead, r as ModalSection, t as Modal } from "./Modal-Bc_5TYGr.mjs";
|
|
8
|
-
import { n as daemonStopSupport } from "./lifecycleUi-
|
|
9
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/notifyFns-
|
|
8
|
+
import { n as daemonStopSupport } from "./lifecycleUi-Djb44Aj3.mjs";
|
|
9
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/notifyFns-DXMbgYu2.js
|
|
10
10
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
11
11
|
var import_jsx_runtime = require_jsx_runtime();
|
|
12
12
|
/**
|
|
@@ -457,7 +457,7 @@ function MachinesModal({ open, onClose, teamId }) {
|
|
|
457
457
|
className: "text-label text-secondary",
|
|
458
458
|
children: daemonStopSupport(m.daemonProtocol).label
|
|
459
459
|
}),
|
|
460
|
-
m.daemonProtocol
|
|
460
|
+
!daemonStopSupport(m.daemonProtocol).supported && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
461
461
|
className: "text-label text-accent",
|
|
462
462
|
children: "Daemon upgrade required to stop a running process"
|
|
463
463
|
}),
|