@kky42/pievo-server 2.4.12 → 2.4.14
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-CIFwnZtF.js +1 -0
- package/.output/public/assets/{ui-s5IMg6RF.js → actionUi-5PtES4q0.js} +1 -1
- package/.output/public/assets/app-DvHMhs7S.css +2 -0
- package/.output/public/assets/index-CRX2pu0W.js +10 -0
- package/.output/public/assets/loops._loopId-BsuV-Rmf.js +67 -0
- package/.output/public/assets/loops._loopId_.runs._runId-DpK_fzmZ.js +3 -0
- package/.output/public/assets/{preload-helper-Bs7oCAsw.js → preload-helper-sAZOZb3G.js} +3 -3
- package/.output/public/assets/routes-Dm_3J2aV.js +1 -0
- package/.output/public/assets/routes-DxF_s3cD.js +1 -0
- package/.output/server/_libs/@tanstack/react-router+[...].mjs +1 -1
- package/.output/server/_ssr/{MachinesModal-BhRw7oOx.mjs → MachinesModal-BaEtzycr.mjs} +24 -57
- package/.output/server/_ssr/{SignIn-BhoZIOUp.mjs → SignIn-sHQaBQJC.mjs} +3 -3
- package/.output/server/_ssr/{ui-DGz-q9MT.mjs → actionUi-5HOCZnom.mjs} +115 -4
- package/.output/server/_ssr/{artifactFiles-ChuJ4PzC.mjs → artifactFiles-DO43wwXA.mjs} +4 -3
- package/.output/server/_ssr/{artifactKind-DXumOv7c.mjs → artifactKind-DwDr8IYc.mjs} +6 -14
- package/.output/server/_ssr/artifacts-Cd7Qx3Qp.mjs +2 -0
- package/.output/server/_ssr/{auth-LwPp_iim.mjs → auth-0AamrwHo.mjs} +44 -124
- package/.output/server/_ssr/{SocialLinks-DVCLmql0.mjs → auth-client-lSMb_Idt.mjs} +143 -109
- package/.output/server/_ssr/boot-C472kLwY.mjs +3947 -0
- package/.output/server/_ssr/{bun-sqlite-dialect-BW9W1_Ps-CHMDkKqA.mjs → bun-sqlite-dialect-BW9W1_Ps-DLIXocA0.mjs} +2 -2
- package/.output/server/_ssr/{d1-sqlite-dialect-BLC8LXE6-DYum6qky.mjs → d1-sqlite-dialect-BLC8LXE6-BoFMIPr_.mjs} +2 -2
- package/.output/server/_ssr/db-BzvMQ2kx.mjs +2 -0
- package/.output/server/_ssr/{dist-bWqs5sTy.mjs → dist-ClzqkwxD.mjs} +2 -2
- package/.output/server/_ssr/{factory-pBwrjVTI.mjs → factory-ixUjZqJn.mjs} +2 -2
- package/.output/server/_ssr/{kysely-adapter-DMf5pFTf.mjs → kysely-adapter-DkZbmKgV.mjs} +1 -1
- package/.output/server/_ssr/logger-DDjsYB2X.mjs +2 -0
- package/.output/server/_ssr/{loopApi-Im6JSK0p.mjs → loopApi-DT751TJA.mjs} +30 -90
- package/.output/server/_ssr/{loopProjection-DIpGR6rp.mjs → loopProjection-qaD2I48a.mjs} +5 -2
- package/.output/server/_ssr/loopTags-CXx5UdGf.mjs +3356 -0
- package/.output/server/_ssr/{loops._loopId-B5iPseDG.mjs → loops._loopId-CXgw2Rz1.mjs} +144 -46
- package/.output/server/_ssr/{loops._loopId_.runs._runId-DVtG0xYb.mjs → loops._loopId_.runs._runId-Dk94Z0Jq.mjs} +6 -13
- package/.output/server/_ssr/{loops._loopId_.runs._runId-BA-P6sGA.mjs → loops._loopId_.runs._runId-SASSqOfy.mjs} +31 -23
- package/.output/server/_ssr/{machineFns-Bb9KNXun.mjs → machineFns-BSrIgn3f.mjs} +42 -108
- package/.output/server/_ssr/{node-sqlite-dialect-Dho9YjXb.mjs → node-sqlite-dialect-BbUqnnYv.mjs} +2 -2
- package/.output/server/_ssr/{router-C8iotXtk.mjs → router-BlLlhfJe.mjs} +26 -40
- package/.output/server/_ssr/routes-Cr-9yDEH.mjs +491 -0
- package/.output/server/_ssr/{routes-FO0MFfYK.mjs → routes-DRBS4Zi4.mjs} +4 -9
- package/.output/server/_ssr/routes-DTBltabU.mjs +27 -0
- package/.output/server/_ssr/ssr.mjs +28 -88
- package/.output/server/_ssr/store-vDZ9INSa.mjs +2 -0
- package/.output/server/_ssr/tokens-BHiCElYD.mjs +2 -0
- package/.output/server/_tanstack-start-manifest_v-DxLIQ0cc.mjs +52 -0
- package/.output/server/drizzle/0002_remove_teams.sql +15 -0
- package/.output/server/drizzle/0003_add_loop_tags.sql +5 -0
- package/.output/server/drizzle/meta/_journal.json +14 -0
- package/.output/server/index.mjs +47 -96
- package/drizzle/0002_remove_teams.sql +15 -0
- package/drizzle/0003_add_loop_tags.sql +5 -0
- package/drizzle/meta/_journal.json +14 -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-BIxtZHU-.mjs +0 -7466
- 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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { o as __toESM } from "../_runtime.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { J as getBaseURL, On as toKebabCase, R as defu, S as capitalizeFirstLetter, gt as isSafeUrlScheme, k as createFetch } from "./loopTags-CXx5UdGf.mjs";
|
|
3
3
|
import { g as require_react, h as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
4
4
|
import { n as createServerFn, r as getServerFnById, t as TSS_SERVER_FUNCTION } from "./ssr.mjs";
|
|
5
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/
|
|
5
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/auth-client-lSMb_Idt.js
|
|
6
6
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
7
7
|
var import_jsx_runtime = require_jsx_runtime();
|
|
8
8
|
var createSsrRpc = (functionId) => {
|
|
@@ -24,8 +24,8 @@ var createSsrRpc = (functionId) => {
|
|
|
24
24
|
* The machine-facing poll, CLI, report, and artifact-sync endpoints are sibling
|
|
25
25
|
* server routes in this same process, so one process owns the single scheduler.
|
|
26
26
|
*
|
|
27
|
-
* Reads and writes are scoped through requestScope/ownedLoop so users
|
|
28
|
-
*
|
|
27
|
+
* Reads and writes are scoped through requestScope/ownedLoop so auth-mode users
|
|
28
|
+
* can access only their own loops. Open mode intentionally shares all loops.
|
|
29
29
|
*/
|
|
30
30
|
/**
|
|
31
31
|
* Resolve a loop and authorize the request against its owner. Returns the loop,
|
|
@@ -42,26 +42,8 @@ var getAuthState = createServerFn({ method: "GET" }).handler(createSsrRpc("b8119
|
|
|
42
42
|
* Claude Code to run your local code instead of the registry build.
|
|
43
43
|
*/
|
|
44
44
|
var getConfig = createServerFn({ method: "GET" }).handler(createSsrRpc("cbb6a1b09b309459bbba3dc3851ae85fc468658b3cda77e22b6c6f3e28b65af4"));
|
|
45
|
-
/** GET —
|
|
46
|
-
|
|
47
|
-
* Open mode ⇒ empty. An explicit `teamId` (the `/t/<id>` route) pins the active
|
|
48
|
-
* selection for THIS request — so the switcher highlights the tab's own team,
|
|
49
|
-
* not the cookie's. */
|
|
50
|
-
var listMyTeams = createServerFn({ method: "GET" }).validator((teamId) => teamId).handler(createSsrRpc("0fe12e769203c42f432a927b9cbf13a967a0f9db567b61843598f734afb4f5c6"));
|
|
51
|
-
/** GET — whether the caller may view the given dashboard team (`/t/<id>` loader
|
|
52
|
-
* gate). Enumeration-safe: a team the caller isn't a member of returns false, so
|
|
53
|
-
* the loader throws the same generic not-found as a missing loop — never
|
|
54
|
-
* confirming the team exists. Open mode ⇒ always true (single shared workspace). */
|
|
55
|
-
var canViewTeam = createServerFn({ method: "GET" }).validator((teamId) => teamId).handler(createSsrRpc("7cc22b3a0f6b1c4c73463c3401e981ad42caf6487b479b738ee5aeacb11710da"));
|
|
56
|
-
/** GET — the caller's default dashboard team as an id: the last-used cookie,
|
|
57
|
-
* validated, else the personal team. Backs the `/` → `/t/<id>` redirect. */
|
|
58
|
-
var getDefaultTeam = createServerFn({ method: "GET" }).handler(createSsrRpc("dc0ec955d0d53a150a3e9a4673f98f3509cfb4bd411c512079ae4e94c561b70c"));
|
|
59
|
-
/** GET — the signed-in user's loops as compact summaries (most recently run first;
|
|
60
|
-
* never-run loops remain newest-created first).
|
|
61
|
-
* Gate on ⇒ only the given/active team's loops; open mode ⇒ the full shared list.
|
|
62
|
-
* An explicit `teamId` (the `/t/<id>` route) scopes this request independent of
|
|
63
|
-
* the cookie, so different tabs on /t/A and /t/B list different teams at once. */
|
|
64
|
-
var listLoops = createServerFn({ method: "GET" }).validator((teamId) => teamId).handler(createSsrRpc("23e290b2b7483ceea6fe669024c35b12c2c4ddd76649f6fab21c958ceda02940"));
|
|
45
|
+
/** GET — visible loops as compact summaries, most recently run first. */
|
|
46
|
+
var listLoops = createServerFn({ method: "GET" }).handler(createSsrRpc("23e290b2b7483ceea6fe669024c35b12c2c4ddd76649f6fab21c958ceda02940"));
|
|
65
47
|
var getLoopDetail = createServerFn({ method: "GET" }).validator((id) => id).handler(createSsrRpc("b050455aacc84dd2a2c9a45517826ad10f91d8f1545e87cc7015784cc7116a97"));
|
|
66
48
|
var loadOlderRuns = createServerFn({ method: "GET" }).validator((d) => d).handler(createSsrRpc("85fdf73d4fee43aed762f93c5d47d33200fbff39e2d082647dc921f610d32698"));
|
|
67
49
|
var getArtifacts = createServerFn({ method: "GET" }).validator((d) => d).handler(createSsrRpc("b18bbec3d06dfc77714e1e527dfb9172fd7575a64a6c0d6e73ba6dc658dccf0d"));
|
|
@@ -85,9 +67,141 @@ var runLoop = createServerFn({ method: "POST" }).validator((id) => id).handler(c
|
|
|
85
67
|
/** Dedicated Stop-run operation. Pending work cancels immediately; running work
|
|
86
68
|
* records intent and stays Running until the daemon reports its actual result. */
|
|
87
69
|
var stopRun = createServerFn({ method: "POST" }).validator((id) => id).handler(createSsrRpc("6850ba403da9dec5aff45794eb52636ca540ddec2d9e59f5c75ccbb852bfeacb"));
|
|
88
|
-
/** Mint the key shown in the New-loop daemon connection command.
|
|
89
|
-
|
|
90
|
-
var
|
|
70
|
+
/** Mint the key shown in the New-loop daemon connection command. */
|
|
71
|
+
var mintConnectKey = createServerFn({ method: "POST" }).handler(createSsrRpc("ce43dcb9366e7c8f7338a6ad28e4290b75a5ee3b13d0d2c9cb585020008f12c6"));
|
|
72
|
+
var DAEMON_UPGRADE_REQUIRED = "Daemon upgrade required to stop a running process. Run `npm install -g @kky42/pievo@latest`, then `pievo daemon restart`.";
|
|
73
|
+
function deriveLoopLifecycle(loop) {
|
|
74
|
+
if (loop.deleteRequestedAt != null) return "deleting";
|
|
75
|
+
const running = loop.runs.find((run) => run.phase === "running");
|
|
76
|
+
if (!loop.enabled && running?.cancelRequested) return "stopping";
|
|
77
|
+
if (!loop.enabled && (loop.running || running)) return "paused-finishing";
|
|
78
|
+
if (!loop.enabled) return "paused";
|
|
79
|
+
return "active";
|
|
80
|
+
}
|
|
81
|
+
/** Stable lifecycle badge shared by dashboard cards and loop detail. It shows
|
|
82
|
+
* only scheduling state and its durable pause cause; execution transients
|
|
83
|
+
* (queued/running/stopping) stay in the runs timeline and never replace it. */
|
|
84
|
+
function lifecyclePresentation(loop) {
|
|
85
|
+
if (loop.deleteRequestedAt != null) return {
|
|
86
|
+
label: "Deleting",
|
|
87
|
+
tone: "accent"
|
|
88
|
+
};
|
|
89
|
+
if (loop.enabled) return {
|
|
90
|
+
label: "Active",
|
|
91
|
+
tone: "success"
|
|
92
|
+
};
|
|
93
|
+
if (loop.pauseCause?.kind === "blocked") return {
|
|
94
|
+
label: "Paused · blocked",
|
|
95
|
+
tone: "attention"
|
|
96
|
+
};
|
|
97
|
+
if (loop.pauseCause?.kind === "failure-streak") return {
|
|
98
|
+
label: "Paused · failure streak",
|
|
99
|
+
tone: "attention"
|
|
100
|
+
};
|
|
101
|
+
if (loop.pauseCause?.kind === "owner") return {
|
|
102
|
+
label: "Paused · owner",
|
|
103
|
+
tone: "neutral"
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
label: "Paused",
|
|
107
|
+
tone: "neutral"
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function daemonStopSupport(protocol) {
|
|
111
|
+
return protocol === 4 ? {
|
|
112
|
+
supported: true,
|
|
113
|
+
label: `Daemon protocol 4 · Stop supported`
|
|
114
|
+
} : {
|
|
115
|
+
supported: false,
|
|
116
|
+
label: `Daemon protocol ${protocol ?? "unknown"} · upgrade required`
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function OpenModeWarning({ className = "" }) {
|
|
120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
121
|
+
role: "alert",
|
|
122
|
+
className: `${className} rounded-control border border-warn/40 bg-warn/10 px-4 py-3 text-meta text-primary`,
|
|
123
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: "Open mode:" }), " anyone who can reach this server can view and manage every loop, machine, run, and artifact. Restrict access to localhost, a trusted private network, or an authenticated reverse proxy."]
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Shared Pievo mark geometry: eight durable steps form a cycle and the
|
|
128
|
+
* interactive-blue runner marks the next scheduled pass.
|
|
129
|
+
*
|
|
130
|
+
* Variants are props on one geometry (styles in app.css):
|
|
131
|
+
* - `plate` - dark tile behind the steps (favicon / app-icon contexts);
|
|
132
|
+
* without it the steps inherit currentColor (inline contexts).
|
|
133
|
+
* - `trail` - two fading steps behind the runner, so a static rendering
|
|
134
|
+
* still reads as motion (print / social cards).
|
|
135
|
+
* - `animated` - the runner advances around the cycle; reduced-motion users
|
|
136
|
+
* see the canonical static first frame.
|
|
137
|
+
*/
|
|
138
|
+
var RING = [
|
|
139
|
+
[9, 9],
|
|
140
|
+
[37, 9],
|
|
141
|
+
[65, 9],
|
|
142
|
+
[65, 37],
|
|
143
|
+
[65, 65],
|
|
144
|
+
[37, 65],
|
|
145
|
+
[9, 65],
|
|
146
|
+
[9, 37]
|
|
147
|
+
];
|
|
148
|
+
function RingLogo({ size = 24, plate = false, trail = false, animated = false }) {
|
|
149
|
+
const cellClass = (i) => {
|
|
150
|
+
const parts = ["ring-cell", `rc${i}`];
|
|
151
|
+
if (i === 0) parts.push("ring-runner");
|
|
152
|
+
else if (trail && i === 7) parts.push("ring-trail-1");
|
|
153
|
+
else if (trail && i === 6) parts.push("ring-trail-2");
|
|
154
|
+
return parts.join(" ");
|
|
155
|
+
};
|
|
156
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
157
|
+
width: size,
|
|
158
|
+
height: size,
|
|
159
|
+
viewBox: "0 0 96 96",
|
|
160
|
+
role: "img",
|
|
161
|
+
"aria-label": "Pievo",
|
|
162
|
+
className: [
|
|
163
|
+
"ring-logo",
|
|
164
|
+
plate && "ring-logo-plate",
|
|
165
|
+
animated && "ring-logo-animated"
|
|
166
|
+
].filter(Boolean).join(" "),
|
|
167
|
+
children: [plate && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", {
|
|
168
|
+
width: "96",
|
|
169
|
+
height: "96",
|
|
170
|
+
rx: "15",
|
|
171
|
+
fill: "#0b0b0b"
|
|
172
|
+
}), RING.map(([x, y], i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", {
|
|
173
|
+
x,
|
|
174
|
+
y,
|
|
175
|
+
width: 22,
|
|
176
|
+
height: 22,
|
|
177
|
+
rx: 6,
|
|
178
|
+
className: cellClass(i)
|
|
179
|
+
}, i))]
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Pievo's primary product mark: one scheduled pass moving around a durable ring.
|
|
184
|
+
* It reuses the same geometry as the favicon and README asset; animation is a
|
|
185
|
+
* progressive enhancement and parks on the canonical first frame when reduced
|
|
186
|
+
* motion is requested.
|
|
187
|
+
*/
|
|
188
|
+
function PievoLogo({ size = 56 }) {
|
|
189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RingLogo, {
|
|
190
|
+
size,
|
|
191
|
+
plate: true,
|
|
192
|
+
animated: true
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
var GITHUB_URL = "https://github.com/kky42/pievo";
|
|
196
|
+
function GitHubIcon({ className }) {
|
|
197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
198
|
+
viewBox: "0 0 24 24",
|
|
199
|
+
fill: "currentColor",
|
|
200
|
+
"aria-hidden": true,
|
|
201
|
+
className,
|
|
202
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.55 0-.27-.01-1.17-.02-2.12-3.2.7-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.68-1.28-1.68-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.19 1.76 1.19 1.03 1.75 2.69 1.25 3.34.95.1-.74.4-1.25.72-1.54-2.55-.29-5.24-1.28-5.24-5.68 0-1.26.45-2.28 1.19-3.09-.12-.29-.52-1.46.11-3.05 0 0 .97-.31 3.18 1.18a11.1 11.1 0 0 1 5.8 0c2.2-1.49 3.17-1.18 3.17-1.18.63 1.59.23 2.76.11 3.05.74.81 1.19 1.83 1.19 3.09 0 4.41-2.69 5.38-5.25 5.67.41.35.77 1.05.77 2.12 0 1.53-.01 2.76-.01 3.14 0 .3.2.66.8.55A11.51 11.51 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5z" })
|
|
203
|
+
});
|
|
204
|
+
}
|
|
91
205
|
var PROTO_POLLUTION_PATTERNS = {
|
|
92
206
|
proto: /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,
|
|
93
207
|
constructor: /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,
|
|
@@ -951,86 +1065,6 @@ function createAuthClient(options) {
|
|
|
951
1065
|
$store
|
|
952
1066
|
}, $fetch, pluginPathMethods, pluginsAtoms, atomListeners);
|
|
953
1067
|
}
|
|
954
|
-
var
|
|
955
|
-
var { signIn, useSession } = authClient;
|
|
956
|
-
/**
|
|
957
|
-
* Shared Pievo mark geometry: eight durable steps form a cycle and the
|
|
958
|
-
* interactive-blue runner marks the next scheduled pass.
|
|
959
|
-
*
|
|
960
|
-
* Variants are props on one geometry (styles in app.css):
|
|
961
|
-
* - `plate` - dark tile behind the steps (favicon / app-icon contexts);
|
|
962
|
-
* without it the steps inherit currentColor (inline contexts).
|
|
963
|
-
* - `trail` - two fading steps behind the runner, so a static rendering
|
|
964
|
-
* still reads as motion (print / social cards).
|
|
965
|
-
* - `animated` - the runner advances around the cycle; reduced-motion users
|
|
966
|
-
* see the canonical static first frame.
|
|
967
|
-
*/
|
|
968
|
-
var RING = [
|
|
969
|
-
[9, 9],
|
|
970
|
-
[37, 9],
|
|
971
|
-
[65, 9],
|
|
972
|
-
[65, 37],
|
|
973
|
-
[65, 65],
|
|
974
|
-
[37, 65],
|
|
975
|
-
[9, 65],
|
|
976
|
-
[9, 37]
|
|
977
|
-
];
|
|
978
|
-
function RingLogo({ size = 24, plate = false, trail = false, animated = false }) {
|
|
979
|
-
const cellClass = (i) => {
|
|
980
|
-
const parts = ["ring-cell", `rc${i}`];
|
|
981
|
-
if (i === 0) parts.push("ring-runner");
|
|
982
|
-
else if (trail && i === 7) parts.push("ring-trail-1");
|
|
983
|
-
else if (trail && i === 6) parts.push("ring-trail-2");
|
|
984
|
-
return parts.join(" ");
|
|
985
|
-
};
|
|
986
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
987
|
-
width: size,
|
|
988
|
-
height: size,
|
|
989
|
-
viewBox: "0 0 96 96",
|
|
990
|
-
role: "img",
|
|
991
|
-
"aria-label": "Pievo",
|
|
992
|
-
className: [
|
|
993
|
-
"ring-logo",
|
|
994
|
-
plate && "ring-logo-plate",
|
|
995
|
-
animated && "ring-logo-animated"
|
|
996
|
-
].filter(Boolean).join(" "),
|
|
997
|
-
children: [plate && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", {
|
|
998
|
-
width: "96",
|
|
999
|
-
height: "96",
|
|
1000
|
-
rx: "15",
|
|
1001
|
-
fill: "#0b0b0b"
|
|
1002
|
-
}), RING.map(([x, y], i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", {
|
|
1003
|
-
x,
|
|
1004
|
-
y,
|
|
1005
|
-
width: 22,
|
|
1006
|
-
height: 22,
|
|
1007
|
-
rx: 6,
|
|
1008
|
-
className: cellClass(i)
|
|
1009
|
-
}, i))]
|
|
1010
|
-
});
|
|
1011
|
-
}
|
|
1012
|
-
/**
|
|
1013
|
-
* Pievo's primary product mark: one scheduled pass moving around a durable ring.
|
|
1014
|
-
* It reuses the same geometry as the favicon and README asset; animation is a
|
|
1015
|
-
* progressive enhancement and parks on the canonical first frame when reduced
|
|
1016
|
-
* motion is requested.
|
|
1017
|
-
*/
|
|
1018
|
-
function PievoLogo({ size = 56 }) {
|
|
1019
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RingLogo, {
|
|
1020
|
-
size,
|
|
1021
|
-
plate: true,
|
|
1022
|
-
animated: true
|
|
1023
|
-
});
|
|
1024
|
-
}
|
|
1025
|
-
var GITHUB_URL = "https://github.com/kky42/pievo";
|
|
1026
|
-
function GitHubIcon({ className }) {
|
|
1027
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
1028
|
-
viewBox: "0 0 24 24",
|
|
1029
|
-
fill: "currentColor",
|
|
1030
|
-
"aria-hidden": true,
|
|
1031
|
-
className,
|
|
1032
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.55 0-.27-.01-1.17-.02-2.12-3.2.7-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.68-1.28-1.68-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.19 1.76 1.19 1.03 1.75 2.69 1.25 3.34.95.1-.74.4-1.25.72-1.54-2.55-.29-5.24-1.28-5.24-5.68 0-1.26.45-2.28 1.19-3.09-.12-.29-.52-1.46.11-3.05 0 0 .97-.31 3.18 1.18a11.1 11.1 0 0 1 5.8 0c2.2-1.49 3.17-1.18 3.17-1.18.63 1.59.23 2.76.11 3.05.74.81 1.19 1.83 1.19 3.09 0 4.41-2.69 5.38-5.25 5.67.41.35.77 1.05.77 2.12 0 1.53-.01 2.76-.01 3.14 0 .3.2.66.8.55A11.51 11.51 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5z" })
|
|
1033
|
-
});
|
|
1034
|
-
}
|
|
1068
|
+
var { signIn, signOut, useSession } = createAuthClient();
|
|
1035
1069
|
//#endregion
|
|
1036
|
-
export {
|
|
1070
|
+
export { signIn as C, stopRun as D, stopLoop as E, useSession as O, runLoop as S, startLoop as T, listLoops as _, PievoLogo as a, patchLoop as b, deleteLoop as c, getArtifacts as d, getAuthState as f, lifecyclePresentation as g, getRunDiff as h, OpenModeWarning as i, deriveLoopLifecycle as l, getLoopDetail as m, GITHUB_URL as n, createSsrRpc as o, getConfig as p, GitHubIcon as r, daemonStopSupport as s, DAEMON_UPGRADE_REQUIRED as t, getArtifact as u, loadOlderRuns as v, signOut as w, pauseLoop as x, mintConnectKey as y };
|