@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,15 +1,13 @@
|
|
|
1
1
|
import { j as sql } from "../_libs/drizzle-orm+postgres.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { c as readByteBody, f as validOptionalPollString, l as readJsonBody, m as validPollWireId, o as ensureServer, p as validPollCurrentRun, r as POLL_HTTP_BODY_FIELDS, t as MACHINE_BODY_CAP } from "./boot-C472kLwY.mjs";
|
|
3
3
|
import { h as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
4
4
|
import { c as createFileRoute, i as HeadContent, l as createRootRoute, o as createRouter, r as Scripts } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
5
|
-
import { t as Route$12 } from "./
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
import { t as Route$16 } from "./t._teamId-BYA4Dnjp.mjs";
|
|
10
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/router-C8iotXtk.js
|
|
5
|
+
import { r as imageMime, t as Route$12 } from "./artifactKind-DwDr8IYc.mjs";
|
|
6
|
+
import { t as Route$13 } from "./loops._loopId_.runs._runId-Dk94Z0Jq.mjs";
|
|
7
|
+
import { n as Route$14 } from "./routes-Cr-9yDEH.mjs";
|
|
8
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/router-BlLlhfJe.js
|
|
11
9
|
var import_jsx_runtime = require_jsx_runtime();
|
|
12
|
-
var app_default = "/assets/app-
|
|
10
|
+
var app_default = "/assets/app-DvHMhs7S.css";
|
|
13
11
|
var Route$11 = createRootRoute({
|
|
14
12
|
head: () => ({
|
|
15
13
|
meta: [
|
|
@@ -169,7 +167,7 @@ var Route$10 = createFileRoute("/machine/report")({ server: { handlers: { POST:
|
|
|
169
167
|
const parsed = await readJsonBody(request, MACHINE_BODY_CAP);
|
|
170
168
|
if (parsed.kind === "too-large") return Response.json({ error: "body too large" }, { status: 413 });
|
|
171
169
|
const body = parsed.kind === "ok" && parsed.body && typeof parsed.body === "object" ? parsed.body : {};
|
|
172
|
-
const { getGateway } = await import("./boot-
|
|
170
|
+
const { getGateway } = await import("./boot-C472kLwY.mjs").then((n) => n.i).then((n) => n.t);
|
|
173
171
|
const r = await (await getGateway()).report(token, body);
|
|
174
172
|
return Response.json(r.body, { status: r.status });
|
|
175
173
|
} } } });
|
|
@@ -209,13 +207,13 @@ var Route$7 = createFileRoute("/api/machine/sync")({ server: { handlers: { POST:
|
|
|
209
207
|
const auth = request.headers.get("authorization") ?? "";
|
|
210
208
|
const token = auth.startsWith("Bearer ") ? auth.slice(7) : "";
|
|
211
209
|
if (!token) return Response.json({ error: "missing device token" }, { status: 401 });
|
|
212
|
-
const { SYNC_BODY_CAP, parseArtifactSyncBody } = await import("./artifacts-
|
|
210
|
+
const { SYNC_BODY_CAP, parseArtifactSyncBody } = await import("./artifacts-Cd7Qx3Qp.mjs");
|
|
213
211
|
const parsed = await readJsonBody(request, SYNC_BODY_CAP);
|
|
214
212
|
if (parsed.kind === "too-large") return Response.json({ error: "sync body too large" }, { status: 413 });
|
|
215
213
|
if (parsed.kind === "invalid") return Response.json({ error: "invalid JSON" }, { status: 400 });
|
|
216
214
|
const body = parseArtifactSyncBody(parsed.body);
|
|
217
215
|
if (!body) return Response.json({ error: "invalid sync body" }, { status: 400 });
|
|
218
|
-
const { getArtifactSync } = await import("./boot-
|
|
216
|
+
const { getArtifactSync } = await import("./boot-C472kLwY.mjs").then((n) => n.i).then((n) => n.t);
|
|
219
217
|
const r = await (await getArtifactSync()).sync(token, body);
|
|
220
218
|
return Response.json(r.body, { status: r.status });
|
|
221
219
|
} } } });
|
|
@@ -225,7 +223,7 @@ var Route$6 = createFileRoute("/api/machine/status")({ server: { handlers: { GET
|
|
|
225
223
|
const limited = machineRouteLimit(request, token || void 0);
|
|
226
224
|
if (limited) return limited;
|
|
227
225
|
if (!token) return Response.json({ error: "missing device token" }, { status: 401 });
|
|
228
|
-
const { getGateway } = await import("./boot-
|
|
226
|
+
const { getGateway } = await import("./boot-C472kLwY.mjs").then((n) => n.i).then((n) => n.t);
|
|
229
227
|
const r = await (await getGateway()).status(token);
|
|
230
228
|
return Response.json(r.body, { status: r.status });
|
|
231
229
|
} } } });
|
|
@@ -267,7 +265,7 @@ var Route$5 = createFileRoute("/api/machine/poll")({ server: { handlers: { POST:
|
|
|
267
265
|
if (parsed.kind !== "ok") return Response.json({ error: "invalid JSON body" }, { status: 400 });
|
|
268
266
|
const body = parsePollBody(parsed.body);
|
|
269
267
|
if (!body) return Response.json({ error: "unknown or invalid poll body fields" }, { status: 400 });
|
|
270
|
-
const { getGateway } = await import("./boot-
|
|
268
|
+
const { getGateway } = await import("./boot-C472kLwY.mjs").then((n) => n.i).then((n) => n.t);
|
|
271
269
|
const r = await (await getGateway()).pollV4Wait(token, gatewayPollRequest(body));
|
|
272
270
|
return Response.json(r.body, { status: r.status });
|
|
273
271
|
} } } });
|
|
@@ -294,7 +292,7 @@ var Route$4 = createFileRoute("/api/machine/cli")({ server: { handlers: { POST:
|
|
|
294
292
|
if (parsed.kind === "too-large") return Response.json({ error: "body too large" }, { status: 413 });
|
|
295
293
|
const body = parsed.kind === "ok" ? parseCliBody(parsed.body) : null;
|
|
296
294
|
if (!body) return Response.json({ error: "body must be exactly {argv:string[]}" }, { status: 400 });
|
|
297
|
-
const { getCliGateway } = await import("./boot-
|
|
295
|
+
const { getCliGateway } = await import("./boot-C472kLwY.mjs").then((n) => n.i).then((n) => n.t);
|
|
298
296
|
const r = await (await getCliGateway()).cli(token, body.argv);
|
|
299
297
|
return Response.json(r.body, { status: r.status });
|
|
300
298
|
} } } });
|
|
@@ -323,7 +321,7 @@ var Route$4 = createFileRoute("/api/machine/cli")({ server: { handlers: { POST:
|
|
|
323
321
|
var PROBE_TIMEOUT_MS = 5e3;
|
|
324
322
|
var Route$3 = createFileRoute("/api/health/db")({ server: { handlers: { GET: async () => {
|
|
325
323
|
try {
|
|
326
|
-
const { db } = await import("./db-
|
|
324
|
+
const { db } = await import("./db-BzvMQ2kx.mjs");
|
|
327
325
|
const ping = db.execute(sql`select 1`);
|
|
328
326
|
const timeout = new Promise((_, reject) => {
|
|
329
327
|
setTimeout(() => reject(/* @__PURE__ */ new Error(`db ping timed out after ${PROBE_TIMEOUT_MS}ms`)), PROBE_TIMEOUT_MS).unref?.();
|
|
@@ -342,8 +340,8 @@ var Route$3 = createFileRoute("/api/health/db")({ server: { handlers: { GET: asy
|
|
|
342
340
|
}
|
|
343
341
|
} } } });
|
|
344
342
|
var Route$2 = createFileRoute("/api/auth/$")({ server: { handlers: {
|
|
345
|
-
GET: async ({ request }) => (await import("./auth-
|
|
346
|
-
POST: async ({ request }) => (await import("./auth-
|
|
343
|
+
GET: async ({ request }) => (await import("./auth-0AamrwHo.mjs")).auth.handler(request),
|
|
344
|
+
POST: async ({ request }) => (await import("./auth-0AamrwHo.mjs")).auth.handler(request)
|
|
347
345
|
} } });
|
|
348
346
|
/**
|
|
349
347
|
* `decodeURIComponent` that returns null on malformed percent-encoding instead
|
|
@@ -377,12 +375,12 @@ var Route$1 = createFileRoute("/api/machine/blob/$hash")({ server: { handlers: {
|
|
|
377
375
|
if (!token) return Response.json({ error: "missing device token" }, { status: 401 });
|
|
378
376
|
const hash = safeDecode(new URL(request.url).pathname.split("/").pop() ?? "");
|
|
379
377
|
if (hash === null) return Response.json({ error: "bad hash" }, { status: 400 });
|
|
380
|
-
const { BLOB_CAP } = await import("./artifacts-
|
|
378
|
+
const { BLOB_CAP } = await import("./artifacts-Cd7Qx3Qp.mjs");
|
|
381
379
|
const body = await readByteBody(request, BLOB_CAP);
|
|
382
380
|
if (body.kind === "too-large") return Response.json({ error: "blob exceeds size cap" }, { status: 413 });
|
|
383
381
|
if (body.kind === "invalid") return Response.json({ error: "could not read blob body" }, { status: 400 });
|
|
384
382
|
const buf = Buffer.from(body.bytes.buffer, body.bytes.byteOffset, body.bytes.byteLength);
|
|
385
|
-
const { getArtifactSync } = await import("./boot-
|
|
383
|
+
const { getArtifactSync } = await import("./boot-C472kLwY.mjs").then((n) => n.i).then((n) => n.t);
|
|
386
384
|
const r = await (await getArtifactSync()).putBlob(token, hash, buf);
|
|
387
385
|
return Response.json(r.body, { status: r.status });
|
|
388
386
|
} } } });
|
|
@@ -399,8 +397,8 @@ var Route$1 = createFileRoute("/api/machine/blob/$hash")({ server: { handlers: {
|
|
|
399
397
|
* scripts - so an inline SVG can't run script against the session even if the
|
|
400
398
|
* URL is opened directly. Non-image inline requests fall back to attachment.
|
|
401
399
|
*
|
|
402
|
-
* Authed via the
|
|
403
|
-
* mirroring the server
|
|
400
|
+
* Authed via the web session (not a machine token) and scoped to the loop owner,
|
|
401
|
+
* mirroring the server functions' `ownedLoop` gate. Path-safe: the relative path is
|
|
404
402
|
* normalized + traversal-rejected before it ever reaches a blob, and blob keys
|
|
405
403
|
* are content hashes, never the user path. Reads stream from the BlobStore
|
|
406
404
|
* (local by default, R2 when configured); the route never writes.
|
|
@@ -417,11 +415,11 @@ var Route = createFileRoute("/api/artifact/$loopId/$")({ server: { handlers: { G
|
|
|
417
415
|
const segments = after.slice(slash + 1).split("/").map((s) => safeDecode(s));
|
|
418
416
|
if (segments.some((s) => s === null)) return Response.json({ error: "bad path" }, { status: 400 });
|
|
419
417
|
const relPath = segments.join("/");
|
|
420
|
-
const loop = await (await import("./store-
|
|
418
|
+
const loop = await (await import("./store-vDZ9INSa.mjs")).getLoop(loopId);
|
|
421
419
|
if (!loop) return Response.json({ error: "not found" }, { status: 404 });
|
|
422
|
-
const { requestScope, canAccessLoop } = await import("./auth-
|
|
423
|
-
if (!
|
|
424
|
-
const { readLoopArtifactBytes } = await import("./artifactFiles-
|
|
420
|
+
const { requestScope, canAccessLoop } = await import("./auth-0AamrwHo.mjs");
|
|
421
|
+
if (!canAccessLoop(loop.userId, await requestScope())) return Response.json({ error: "not found" }, { status: 404 });
|
|
422
|
+
const { readLoopArtifactBytes } = await import("./artifactFiles-DO43wwXA.mjs");
|
|
425
423
|
const r = await readLoopArtifactBytes(loopId, relPath);
|
|
426
424
|
if (r.status !== 200 || !r.bytes) return Response.json({ error: "not found" }, { status: r.status });
|
|
427
425
|
const filename = (r.filename || "file").replace(/["\\\r\n]/g, "_");
|
|
@@ -447,31 +445,21 @@ var Route = createFileRoute("/api/artifact/$loopId/$")({ server: { handlers: { G
|
|
|
447
445
|
}
|
|
448
446
|
});
|
|
449
447
|
} } } });
|
|
450
|
-
var IndexRoute = Route$
|
|
448
|
+
var IndexRoute = Route$14.update({
|
|
451
449
|
id: "/",
|
|
452
450
|
path: "/",
|
|
453
451
|
getParentRoute: () => Route$11
|
|
454
452
|
});
|
|
455
|
-
var TTeamIdRoute = Route$16.update({
|
|
456
|
-
id: "/t/$teamId",
|
|
457
|
-
path: "/t/$teamId",
|
|
458
|
-
getParentRoute: () => Route$11
|
|
459
|
-
});
|
|
460
453
|
var MachineReportRoute = Route$10.update({
|
|
461
454
|
id: "/machine/report",
|
|
462
455
|
path: "/machine/report",
|
|
463
456
|
getParentRoute: () => Route$11
|
|
464
457
|
});
|
|
465
|
-
var LoopsLoopIdRoute = Route$
|
|
458
|
+
var LoopsLoopIdRoute = Route$12.update({
|
|
466
459
|
id: "/loops/$loopId",
|
|
467
460
|
path: "/loops/$loopId",
|
|
468
461
|
getParentRoute: () => Route$11
|
|
469
462
|
});
|
|
470
|
-
var InviteTokenRoute = Route$12.update({
|
|
471
|
-
id: "/invite/$token",
|
|
472
|
-
path: "/invite/$token",
|
|
473
|
-
getParentRoute: () => Route$11
|
|
474
|
-
});
|
|
475
463
|
var ApiReadyRoute = Route$9.update({
|
|
476
464
|
id: "/api/ready",
|
|
477
465
|
path: "/api/ready",
|
|
@@ -512,7 +500,7 @@ var ApiAuthSplatRoute = Route$2.update({
|
|
|
512
500
|
path: "/api/auth/$",
|
|
513
501
|
getParentRoute: () => Route$11
|
|
514
502
|
});
|
|
515
|
-
var LoopsLoopIdRunsRunIdRoute = Route$
|
|
503
|
+
var LoopsLoopIdRunsRunIdRoute = Route$13.update({
|
|
516
504
|
id: "/loops/$loopId_/runs/$runId",
|
|
517
505
|
path: "/loops/$loopId/runs/$runId",
|
|
518
506
|
getParentRoute: () => Route$11
|
|
@@ -532,10 +520,8 @@ var rootRouteChildren = {
|
|
|
532
520
|
IndexRoute,
|
|
533
521
|
ApiHealthRoute: ApiHealthRoute._addFileChildren(ApiHealthRouteChildren),
|
|
534
522
|
ApiReadyRoute,
|
|
535
|
-
InviteTokenRoute,
|
|
536
523
|
LoopsLoopIdRoute,
|
|
537
524
|
MachineReportRoute,
|
|
538
|
-
TTeamIdRoute,
|
|
539
525
|
ApiAuthSplatRoute,
|
|
540
526
|
ApiMachineCliRoute,
|
|
541
527
|
ApiMachinePollRoute,
|