@kky42/pievo-server 2.0.1 → 2.0.2
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/app-DzFILlbu.css +2 -0
- package/.output/public/assets/{index-Dg07vo1l.js → index-BtvLZjhl.js} +4 -4
- package/.output/public/assets/{invite._token-DclJQM6f.js → invite._token-q54LLZ6A.js} +1 -1
- package/.output/public/assets/loops._loopId-BCK4oIRv.js +4 -0
- package/.output/public/assets/{loops._loopId_.runs._runId-Cz3Z0VE_.js → loops._loopId_.runs._runId-lGYlHXTN.js} +1 -1
- package/.output/public/assets/{notifyFns-BDwtMV1G.js → notifyFns-BneSItOi.js} +1 -1
- package/.output/public/assets/{routes-DPWJg52d.js → routes-D0zKR7gK.js} +1 -1
- package/.output/public/assets/{t._teamId-BW5yIkA-.js → t._teamId-Cn7cRGAh.js} +1 -1
- package/.output/server/_ssr/{DashboardView-DJlDpXxU.mjs → DashboardView-BhJBW7IL.mjs} +3 -3
- package/.output/server/_ssr/{LoopPlaybook-BxKPoWAp.mjs → LoopPlaybook-BC9Dvnw2.mjs} +2 -2
- package/.output/server/_ssr/{LoopView-B0AwFjwS.mjs → LoopView-Dom6Ad5G.mjs} +2 -2
- package/.output/server/_ssr/{SignIn-C1duN7oy.mjs → SignIn-D70NUJsN.mjs} +2 -2
- package/.output/server/_ssr/{adapters-C10CmWK4.mjs → adapters-D0d1fBKK.mjs} +6 -3
- package/.output/server/_ssr/{artifactFiles-uxLErS_7.mjs → artifactFiles-BfE1070_.mjs} +3 -3
- package/.output/server/_ssr/artifacts-CSGRJdSy.mjs +2 -0
- package/.output/server/_ssr/{auth-C6uZpC6v.mjs → auth-BP81awUE.mjs} +9 -9
- package/.output/server/_ssr/boot-pUGFIxSA.mjs +2 -0
- package/.output/server/_ssr/{boot-BpqTI96x.mjs → boot-sM4t8RJu.mjs} +68 -4
- package/.output/server/_ssr/{bun-sqlite-dialect-BW9W1_Ps-DlRsM3s1.mjs → bun-sqlite-dialect-BW9W1_Ps-CZJuWL5Z.mjs} +2 -2
- package/.output/server/_ssr/{d1-sqlite-dialect-BLC8LXE6-Ct-4mGlC.mjs → d1-sqlite-dialect-BLC8LXE6-C2PCtZfI.mjs} +2 -2
- package/.output/server/_ssr/db-Cc6I8bWL.mjs +2 -0
- package/.output/server/_ssr/{dist-lkoxB9C9.mjs → dist-Z7v6ihws.mjs} +2 -2
- package/.output/server/_ssr/{factory-D73dkxmb.mjs → factory-BQ_XiP23.mjs} +2 -2
- package/.output/server/_ssr/{invite._token-C80Kxhqw.mjs → invite._token-CRAl6-yK.mjs} +4 -4
- package/.output/server/_ssr/{invite._token-D-KuiRD1.mjs → invite._token-VKmyC9-R.mjs} +3 -3
- package/.output/server/_ssr/{kysely-adapter-YDb9pnV-.mjs → kysely-adapter-DjQPkqgJ.mjs} +1 -1
- package/.output/server/_ssr/logger-CHoC5_kz.mjs +2 -0
- package/.output/server/_ssr/{loopApi-BXHLHlt_.mjs → loopApi-i7xdpokI.mjs} +11 -11
- package/.output/server/_ssr/{loops._loopId-DVG3dDvp.mjs → loops._loopId-DOPfN_Op.mjs} +38 -7
- package/.output/server/_ssr/{loops._loopId-BVPj6kiH.mjs → loops._loopId-jXSgPWG1.mjs} +3 -3
- package/.output/server/_ssr/{loops._loopId_.runs._runId-DbEF9MQu.mjs → loops._loopId_.runs._runId-BhoM6DWj.mjs} +3 -3
- package/.output/server/_ssr/{loops._loopId_.runs._runId-Db6cTcUT.mjs → loops._loopId_.runs._runId-DiBP2rCe.mjs} +4 -4
- package/.output/server/_ssr/{machineFns-B1ZLIrOn.mjs → machineFns-ChO1NM3C.mjs} +5 -3
- package/.output/server/_ssr/{node-sqlite-dialect-01BHn7am.mjs → node-sqlite-dialect-BGlhyZkk.mjs} +2 -2
- package/.output/server/_ssr/{notifyFns-CM35mqF2.mjs → notifyFns-B1MSIzrT.mjs} +3 -3
- package/.output/server/_ssr/{notifyFns-qZ6FYwAL.mjs → notifyFns-DWotltSJ.mjs} +31 -42
- package/.output/server/_ssr/{router-B8W3-k_h.mjs → router-BOHN4CWd.mjs} +27 -27
- package/.output/server/_ssr/{routes-hr1KuV9-.mjs → routes-BQjhKV-m.mjs} +5 -5
- package/.output/server/_ssr/{routes-BiAkIPos.mjs → routes-C2VJzARp.mjs} +4 -4
- package/.output/server/_ssr/{runDiff-CyN5ZR5F.mjs → runDiff-SlGPjjNq.mjs} +2 -2
- package/.output/server/_ssr/ssr.mjs +48 -48
- package/.output/server/_ssr/store-BjXC623Z.mjs +2 -0
- package/.output/server/_ssr/{t._teamId-CxuiffZZ.mjs → t._teamId-CRgNlDGk.mjs} +5 -5
- package/.output/server/_ssr/{t._teamId-B9E7Vgt3.mjs → t._teamId-o86wLJrg.mjs} +4 -4
- package/.output/server/_ssr/{teamFns-DKpLbIiB.mjs → teamFns-C3vnwAqv.mjs} +3 -3
- package/.output/server/_ssr/tokens-BCOvumer.mjs +2 -0
- package/.output/server/{_tanstack-start-manifest_v-ClkHkr-O.mjs → _tanstack-start-manifest_v-DYC0z7st.mjs} +11 -11
- package/.output/server/index.mjs +85 -85
- package/package.json +1 -1
- package/.output/public/assets/app-Cr02jQtI.css +0 -2
- package/.output/public/assets/loops._loopId-vRXeqe7u.js +0 -4
- package/.output/server/_ssr/artifacts-Dnvoxi-_.mjs +0 -2
- package/.output/server/_ssr/boot-C-47Ycr2.mjs +0 -2
- package/.output/server/_ssr/db-DB8pQ07M.mjs +0 -2
- package/.output/server/_ssr/logger-Dhuet6zm.mjs +0 -2
- package/.output/server/_ssr/store-DUMLJS0E.mjs +0 -2
- package/.output/server/_ssr/tokens-DuV-D_RB.mjs +0 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as sql, C as or, S as notInArray, _ as isNull$1, b as lte, c as asc, d as eq, f as gt, g as isNotNull, h as inArray, l as desc, m as ilike, o as count, p as gte, u as and, v as like, x as ne, y as lt } from "../_libs/drizzle-orm+postgres.mjs";
|
|
2
|
-
import { $ as
|
|
3
|
-
import { C as withSpan, S as shouldPublishLog, _ as logger, a as __getBetterAuthGlobal, b as runWithTransaction, c as createRandomStringGenerator, d as getAuthTables, f as getBetterAuthVersion, g as initGetModelName, h as initGetFieldName, l as generateId$2, m as import_src, n as ATTR_HOOK_TYPE, o as createAdapterFactory, p as getCurrentAdapter, r as ATTR_OPERATION_ID, s as createLogger, t as ATTR_CONTEXT, u as getAsyncLocalStorage, v as queueAfterTransactionHook, x as safeJSONParse, y as runWithAdapter } from "./factory-
|
|
2
|
+
import { $t as teamIdForUser, G as getBooleanEnvVar, It as normalizePathname, J as getEnvVar, M as defu, R as ensureTeam, T as createDefu, W as getBaseURL, X as getHost, _t as isTeamMember, a as BetterAuthError, an as wildcardMatch, ct as isDevelopment, et as getOrigin, ft as isProduction, h as betterFetch, j as db, jt as loginGateEnabled, l as ENV, lt as isDynamicBaseURLConfig, n as APIError$1, o as BetterCallError, p as ValidationError$1, pt as isRequestLike, qt as resolveBaseURL, r as BASE_ERROR_CODES, t as APIError, tt as getProtocol, v as capitalizeFirstLetter, vt as isTest, yt as kAPIErrorHeaderSymbol, z as env } from "./boot-sM4t8RJu.mjs";
|
|
3
|
+
import { C as withSpan, S as shouldPublishLog, _ as logger, a as __getBetterAuthGlobal, b as runWithTransaction, c as createRandomStringGenerator, d as getAuthTables, f as getBetterAuthVersion, g as initGetModelName, h as initGetFieldName, l as generateId$2, m as import_src, n as ATTR_HOOK_TYPE, o as createAdapterFactory, p as getCurrentAdapter, r as ATTR_OPERATION_ID, s as createLogger, t as ATTR_CONTEXT, u as getAsyncLocalStorage, v as queueAfterTransactionHook, x as safeJSONParse, y as runWithAdapter } from "./factory-BQ_XiP23.mjs";
|
|
4
4
|
import { randomBytes, scrypt } from "node:crypto";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import path from "node:path";
|
|
@@ -1700,7 +1700,7 @@ var JOIN_TYPE_SQL = freeze({
|
|
|
1700
1700
|
Using: "using"
|
|
1701
1701
|
});
|
|
1702
1702
|
//#endregion
|
|
1703
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/auth-
|
|
1703
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/auth-BP81awUE.js
|
|
1704
1704
|
/**
|
|
1705
1705
|
* @internal
|
|
1706
1706
|
*/
|
|
@@ -15993,7 +15993,7 @@ var createKyselyAdapter = async (config) => {
|
|
|
15993
15993
|
if ("getConnection" in db) dialect = new MysqlDialect(db);
|
|
15994
15994
|
if ("connect" in db) dialect = new PostgresDialect({ pool: db });
|
|
15995
15995
|
if ("fileControl" in db) {
|
|
15996
|
-
const { BunSqliteDialect } = await import("./bun-sqlite-dialect-BW9W1_Ps-
|
|
15996
|
+
const { BunSqliteDialect } = await import("./bun-sqlite-dialect-BW9W1_Ps-CZJuWL5Z.mjs");
|
|
15997
15997
|
dialect = new BunSqliteDialect({ database: db });
|
|
15998
15998
|
}
|
|
15999
15999
|
if ("createSession" in db) {
|
|
@@ -16009,12 +16009,12 @@ var createKyselyAdapter = async (config) => {
|
|
|
16009
16009
|
if (error !== null && typeof error === "object" && "code" in error && error.code !== "ERR_UNKNOWN_BUILTIN_MODULE") throw error;
|
|
16010
16010
|
}
|
|
16011
16011
|
if (DatabaseSync && db instanceof DatabaseSync) {
|
|
16012
|
-
const { NodeSqliteDialect } = await import("./node-sqlite-dialect-
|
|
16012
|
+
const { NodeSqliteDialect } = await import("./node-sqlite-dialect-BGlhyZkk.mjs");
|
|
16013
16013
|
dialect = new NodeSqliteDialect({ database: db });
|
|
16014
16014
|
}
|
|
16015
16015
|
}
|
|
16016
16016
|
if ("batch" in db && "exec" in db && "prepare" in db) {
|
|
16017
|
-
const { D1SqliteDialect } = await import("./d1-sqlite-dialect-BLC8LXE6-
|
|
16017
|
+
const { D1SqliteDialect } = await import("./d1-sqlite-dialect-BLC8LXE6-C2PCtZfI.mjs");
|
|
16018
16018
|
dialect = new D1SqliteDialect({ database: db });
|
|
16019
16019
|
}
|
|
16020
16020
|
return {
|
|
@@ -36526,7 +36526,7 @@ async function getBaseAdapter(options, handleDirectDatabase) {
|
|
|
36526
36526
|
acc[key] = [];
|
|
36527
36527
|
return acc;
|
|
36528
36528
|
}, {});
|
|
36529
|
-
const { memoryAdapter } = await import("./dist-
|
|
36529
|
+
const { memoryAdapter } = await import("./dist-Z7v6ihws.mjs");
|
|
36530
36530
|
adapter = memoryAdapter(memoryDB)(options);
|
|
36531
36531
|
} else if (typeof options.database === "function") adapter = options.database(options);
|
|
36532
36532
|
else adapter = await handleDirectDatabase(options);
|
|
@@ -36540,10 +36540,10 @@ async function getBaseAdapter(options, handleDirectDatabase) {
|
|
|
36540
36540
|
}
|
|
36541
36541
|
async function getAdapter(options) {
|
|
36542
36542
|
return getBaseAdapter(options, async (opts) => {
|
|
36543
|
-
const { createKyselyAdapter } = await import("./kysely-adapter-
|
|
36543
|
+
const { createKyselyAdapter } = await import("./kysely-adapter-DjQPkqgJ.mjs");
|
|
36544
36544
|
const { kysely, databaseType, transaction } = await createKyselyAdapter(opts);
|
|
36545
36545
|
if (!kysely) throw new BetterAuthError("Failed to initialize database adapter");
|
|
36546
|
-
const { kyselyAdapter } = await import("./kysely-adapter-
|
|
36546
|
+
const { kyselyAdapter } = await import("./kysely-adapter-DjQPkqgJ.mjs");
|
|
36547
36547
|
return kyselyAdapter(kysely, {
|
|
36548
36548
|
type: databaseType || "sqlite",
|
|
36549
36549
|
debugLogs: opts.database && "debugLogs" in opts.database ? opts.database.debugLogs : false,
|
|
@@ -12,7 +12,7 @@ import os from "node:os";
|
|
|
12
12
|
import fs$1 from "node:fs/promises";
|
|
13
13
|
import { lookup } from "node:dns/promises";
|
|
14
14
|
import { isIP } from "node:net";
|
|
15
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/boot-
|
|
15
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/boot-sM4t8RJu.js
|
|
16
16
|
var import_pino = /* @__PURE__ */ __toESM(require_pino());
|
|
17
17
|
var import_pino_pretty = /* @__PURE__ */ __toESM(require_pino_pretty());
|
|
18
18
|
function defineErrorCodes(codes) {
|
|
@@ -3996,6 +3996,45 @@ function machinePresence(online, lastSeen, now = Date.now()) {
|
|
|
3996
3996
|
return "offline";
|
|
3997
3997
|
}
|
|
3998
3998
|
/**
|
|
3999
|
+
* Tiny semver comparison — just enough to decide "is the daemon older than the
|
|
4000
|
+
* latest published version?" for the web's update hint. No dependency; we only
|
|
4001
|
+
* need numeric-core ordering (major.minor.patch), and a pre-release is treated
|
|
4002
|
+
* as older than its release (a "0.9.0-rc.1" daemon is still behind "0.9.0").
|
|
4003
|
+
*/
|
|
4004
|
+
/** Parse the leading numeric core `x.y.z` of a version, ignoring any pre-release
|
|
4005
|
+
* / build suffix. Returns null when it isn't a recognizable version. */
|
|
4006
|
+
function core(v) {
|
|
4007
|
+
const m = /^\s*v?(\d+)\.(\d+)\.(\d+)/.exec(v);
|
|
4008
|
+
if (!m) return null;
|
|
4009
|
+
return [
|
|
4010
|
+
Number(m[1]),
|
|
4011
|
+
Number(m[2]),
|
|
4012
|
+
Number(m[3])
|
|
4013
|
+
];
|
|
4014
|
+
}
|
|
4015
|
+
/** Does `v` carry a pre-release suffix (e.g. "1.2.3-rc.1")? */
|
|
4016
|
+
function isPre(v) {
|
|
4017
|
+
return /^\s*v?\d+\.\d+\.\d+-/.test(v);
|
|
4018
|
+
}
|
|
4019
|
+
/**
|
|
4020
|
+
* `true` when `current` is strictly older than `latest`. Returns `false` on any
|
|
4021
|
+
* unparseable/equal/newer input — the hint is opt-in, so we only ever show it
|
|
4022
|
+
* when we can be confident the daemon is genuinely behind.
|
|
4023
|
+
*/
|
|
4024
|
+
function isOutdated(current, latest) {
|
|
4025
|
+
if (!current || !latest) return false;
|
|
4026
|
+
const a = core(current);
|
|
4027
|
+
const b = core(latest);
|
|
4028
|
+
if (!a || !b) return false;
|
|
4029
|
+
for (let i = 0; i < 3; i++) {
|
|
4030
|
+
const ai = a[i];
|
|
4031
|
+
const bi = b[i];
|
|
4032
|
+
if (ai < bi) return true;
|
|
4033
|
+
if (ai > bi) return false;
|
|
4034
|
+
}
|
|
4035
|
+
return isPre(current) && !isPre(latest);
|
|
4036
|
+
}
|
|
4037
|
+
/**
|
|
3999
4038
|
* Machine-route ingress: read + parse a JSON request body under a hard size cap.
|
|
4000
4039
|
* The gateway's per-field wire caps (WIRE_TEXT_CAP etc.) clip individual strings
|
|
4001
4040
|
* AFTER parse — without this, an unbounded `request.json()` still buffers an
|
|
@@ -5336,6 +5375,23 @@ async function schemaKeysInUse(loopId) {
|
|
|
5336
5375
|
return [...keys];
|
|
5337
5376
|
}
|
|
5338
5377
|
/**
|
|
5378
|
+
* Lowest daemon package version this server may safely dispatch work to.
|
|
5379
|
+
*
|
|
5380
|
+
* Keep this as a coarse package-version gate: if a future server changes the
|
|
5381
|
+
* prompt/CLI/report protocol incompatibly, bump this constant to the matching
|
|
5382
|
+
* daemon release. Unknown versions are treated as incompatible because only
|
|
5383
|
+
* daemons that report a version can be known-safe for breaking protocol changes.
|
|
5384
|
+
*/
|
|
5385
|
+
var MIN_DAEMON_VERSION = "2.0.1";
|
|
5386
|
+
function daemonNeedsUpdate(current, required = MIN_DAEMON_VERSION) {
|
|
5387
|
+
if (!current) return true;
|
|
5388
|
+
if (current === required) return false;
|
|
5389
|
+
return isOutdated(current, required);
|
|
5390
|
+
}
|
|
5391
|
+
function daemonUpgradeCommand() {
|
|
5392
|
+
return "npm install -g @kky42/pievo@latest && pievo daemon restart";
|
|
5393
|
+
}
|
|
5394
|
+
/**
|
|
5339
5395
|
* Machine gateway - the run-lifecycle core of the HTTP surface the daemon talks
|
|
5340
5396
|
* to (poll transport: short-poll while a run is in flight, opt-in server-held
|
|
5341
5397
|
* long-poll while idle). Framework-agnostic like the rest of the gateway
|
|
@@ -5853,9 +5909,12 @@ var MachineGateway = class {
|
|
|
5853
5909
|
code: "VALIDATION_ERROR"
|
|
5854
5910
|
}
|
|
5855
5911
|
};
|
|
5856
|
-
const
|
|
5912
|
+
const machineId = isDeviceTokenShape(deviceToken) ? machineIdFromToken(deviceToken) : "";
|
|
5913
|
+
const priorMachine = machineId ? await getMachine(machineId) : void 0;
|
|
5914
|
+
const reportedVersion = typeof request.info?.version === "string" ? clipText(request.info.version, 64) : priorMachine?.daemonVersion;
|
|
5915
|
+
const needsUpdate = daemonNeedsUpdate(reportedVersion);
|
|
5916
|
+
const base = await this.poll(deviceToken, request.info, current ? [current.runId] : void 0, request.watchDigest, !current && !needsUpdate);
|
|
5857
5917
|
if (base.status !== 200) return base;
|
|
5858
|
-
const machineId = machineIdFromToken(deviceToken);
|
|
5859
5918
|
if ((await getMachine(machineId))?.daemonProtocol !== 2) await updateMachine(machineId, { daemonProtocol: 2 });
|
|
5860
5919
|
const running = await runningRunForMachine(machineId);
|
|
5861
5920
|
const body = base.body;
|
|
@@ -5864,6 +5923,11 @@ var MachineGateway = class {
|
|
|
5864
5923
|
status: 200,
|
|
5865
5924
|
body: {
|
|
5866
5925
|
delivery: current ? null : body.deliveries[0] ?? null,
|
|
5926
|
+
...needsUpdate ? { needsUpdate: {
|
|
5927
|
+
current: reportedVersion ?? null,
|
|
5928
|
+
required: MIN_DAEMON_VERSION,
|
|
5929
|
+
command: daemonUpgradeCommand()
|
|
5930
|
+
} } : {},
|
|
5867
5931
|
...cancelRunId ? { cancelRunId } : {},
|
|
5868
5932
|
...current && running && current.runId !== running.id ? { runConflict: {
|
|
5869
5933
|
daemonRunId: current.runId,
|
|
@@ -9233,4 +9297,4 @@ async function getCliGateway() {
|
|
|
9233
9297
|
return (await ensureServer()).cliGateway;
|
|
9234
9298
|
}
|
|
9235
9299
|
//#endregion
|
|
9236
|
-
export {
|
|
9300
|
+
export { getMachine as $, teamIdForUser as $t, daemonNeedsUpdate as A, logger as At, evolve_default as B, readJsonBody as Bt, countRuns as C, listMachines as Ct, createInvite as D, listRunsBefore as Dt, createFetch as E, listRuns as Et, deleteMachine as F, mintDeviceToken as Ft, getBooleanEnvVar as G, requestDeleteLoop as Gt, getArtifactFile as H, rememberConnectKey as Ht, deleteTeamCascade as I, normalizePathname as It, getEnvVar as J, safeRelPath as Jt, getChannel as K, requestRunCancel as Kt, ensureServer as L, normalizeProviderSetting as Lt, defu as M, loopsForMachine as Mt, deleteChannel as N, machineIdFromToken as Nt, createMachine as O, listTeamMembers as Ot, deleteInvite as P, machinePresence as Pt, getLoop as Q, stopLoop as Qt, ensureTeam as R, pauseLoop as Rt, countLoopsForTeam as S, listLoops as St, createDefu as T, listPendingInvites as Tt, getArtifactSync as U, removeTeamMemberGuarded as Ut, forceDeleteLoop as V, redeemInviteAtomic as Vt, getBaseURL as W, renameTeam as Wt, getHost as X, sha256 as Xt, getGateway as Y, setTeamMemberRoleGuarded as Yt, getInvite as Z, startLoop as Zt, canEvolve as _, isTeamMember as _t, BetterAuthError as a, wildcardMatch as an, getTeamMember as at, coerceStateSchema as b, listArtifactsWithMeta as bt, CODING_AGENTS as c, isDevelopment as ct, MIN_DAEMON_VERSION as d, isPersonalTeam as dt, toKebabCase as en, getOrigin as et, SYNC_BODY_CAP as f, isProduction as ft, buildFileEntries as g, isTaskPath as gt, betterFetch as h, isTaskEntry as ht, BLOB_CAP as i, userByEmail as in, getTeam as it, db as j, loginGateEnabled as jt, createTeam as k, listTeamsForUser as kt, ENV as l, isDynamicBaseURLConfig as lt, addTeamMember as m, isSafeUrlScheme as mt, APIError$1 as n, updateLoop as nn, getRun as nt, BetterCallError as o, hasPendingRun as ot, ValidationError$1 as p, isRequestLike as pt, getCliGateway as q, resolveBaseURL as qt, BASE_ERROR_CODES as r, updateMachine as rn, getRunSnapshot as rt, CHANNELS as s, hasRunningRun as st, APIError as t, tryDeleteLoop as tn, getProtocol as tt, MACHINE_BODY_CAP as u, isOutdated as ut, capitalizeFirstLetter as v, isTest as vt, createChannel as w, listMachinesForTeam as wt, coerceUi as x, listChannels as xt, coerceCodingAgent as y, kAPIErrorHeaderSymbol as yt, env as z, prevRunSnapshot as zt };
|
|
@@ -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-BP81awUE.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-CZJuWL5Z.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-BP81awUE.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-C2PCtZfI.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-BQ_XiP23.mjs";
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/dist-Z7v6ihws.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 { J as getEnvVar, a as BetterAuthError, z as env } from "./boot-sM4t8RJu.mjs";
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/factory-BQ_XiP23.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) => {
|
|
@@ -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-WGITbP6Z.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-BC9Dvnw2.mjs";
|
|
6
6
|
import { t as setActiveTeamCookie } from "./teamCookie-B7hLOIie.mjs";
|
|
7
7
|
import { c as redeemTeamInvite } from "./teamFns-D4I-0dEB.mjs";
|
|
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-
|
|
8
|
+
import { t as Route } from "./invite._token-VKmyC9-R.mjs";
|
|
9
|
+
import { t as SignIn } from "./SignIn-D70NUJsN.mjs";
|
|
10
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/invite._token-CRAl6-yK.js
|
|
11
11
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
12
12
|
var import_jsx_runtime = require_jsx_runtime();
|
|
13
13
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { c as createFileRoute, s as lazyRouteComponent } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
2
2
|
import { c as getAuthState } from "./loopApi-BfMnXaKT.mjs";
|
|
3
|
-
import { a as authClient } from "./LoopPlaybook-
|
|
4
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/invite._token-
|
|
3
|
+
import { a as authClient } from "./LoopPlaybook-BC9Dvnw2.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/invite._token-VKmyC9-R.js
|
|
5
5
|
var $$splitErrorComponentImporter = () => import("./invite._token-23daBIfe.mjs");
|
|
6
|
-
var $$splitComponentImporter = () => import("./invite._token-
|
|
6
|
+
var $$splitComponentImporter = () => import("./invite._token-CRAl6-yK.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
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as kyselyAdapter, t as createKyselyAdapter } from "./auth-
|
|
1
|
+
import { r as kyselyAdapter, t as createKyselyAdapter } from "./auth-BP81awUE.mjs";
|
|
2
2
|
export { createKyselyAdapter, kyselyAdapter };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { $
|
|
1
|
+
import { $ as getMachine, Dt as listRunsBefore, Gt as requestDeleteLoop, K as getChannel, Kt as requestRunCancel, L as ensureServer, Lt as normalizeProviderSetting, Pt as machinePresence, Q as getLoop, Qt as stopLoop, Rt as pauseLoop, St as listLoops, V as forceDeleteLoop, Zt as startLoop, _ as canEvolve, at as getTeamMember, b as coerceStateSchema, it as getTeam, kt as listTeamsForUser, nn as updateLoop, nt as getRun, st as hasRunningRun, tn as tryDeleteLoop, x as coerceUi, y as coerceCodingAgent } from "./boot-sM4t8RJu.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-D0d1fBKK.mjs";
|
|
4
|
+
import { canAccessLoop, requestScope } from "./auth-BP81awUE.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-i7xdpokI.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-BP81awUE.mjs");
|
|
139
139
|
return { enabled: authEnabled };
|
|
140
140
|
});
|
|
141
141
|
var getConfig_createServerFn_handler = createServerRpc({
|
|
@@ -244,7 +244,7 @@ var getArtifacts_createServerFn_handler = createServerRpc({
|
|
|
244
244
|
var getArtifacts = createServerFn({ method: "GET" }).validator((d) => d).handler(getArtifacts_createServerFn_handler, async ({ data }) => {
|
|
245
245
|
await backend();
|
|
246
246
|
if (!await ownedLoop(data.loopId)) return [];
|
|
247
|
-
const { listLoopArtifacts } = await import("./artifactFiles-
|
|
247
|
+
const { listLoopArtifacts } = await import("./artifactFiles-BfE1070_.mjs");
|
|
248
248
|
return listLoopArtifacts(data.loopId);
|
|
249
249
|
});
|
|
250
250
|
var getArtifact_createServerFn_handler = createServerRpc({
|
|
@@ -255,7 +255,7 @@ var getArtifact_createServerFn_handler = createServerRpc({
|
|
|
255
255
|
var getArtifact = createServerFn({ method: "GET" }).validator((d) => d).handler(getArtifact_createServerFn_handler, async ({ data }) => {
|
|
256
256
|
await backend();
|
|
257
257
|
if (!await ownedLoop(data.loopId)) return { error: "file not found" };
|
|
258
|
-
const { readLoopArtifact } = await import("./artifactFiles-
|
|
258
|
+
const { readLoopArtifact } = await import("./artifactFiles-BfE1070_.mjs");
|
|
259
259
|
return readLoopArtifact(data.loopId, data.path);
|
|
260
260
|
});
|
|
261
261
|
var getRunDiff_createServerFn_handler = createServerRpc({
|
|
@@ -274,7 +274,7 @@ var getRunDiff = createServerFn({ method: "GET" }).validator((d) => d).handler(g
|
|
|
274
274
|
hasSnapshot: false,
|
|
275
275
|
files: []
|
|
276
276
|
};
|
|
277
|
-
const { computeRunDiff } = await import("./runDiff-
|
|
277
|
+
const { computeRunDiff } = await import("./runDiff-SlGPjjNq.mjs");
|
|
278
278
|
return computeRunDiff(data.runId);
|
|
279
279
|
});
|
|
280
280
|
var listTemplates_createServerFn_handler = createServerRpc({
|
|
@@ -389,7 +389,7 @@ var deleteJob = createServerFn({ method: "POST" }).validator((id) => id).handler
|
|
|
389
389
|
if (!await requestDeleteLoop(id)) return { error: "not found" };
|
|
390
390
|
if (unreachable && mayRetireAuthority) {
|
|
391
391
|
if (!await forceDeleteLoop(id)) return { error: "delete failed; server data was not deleted" };
|
|
392
|
-
const { logger } = await import("./logger-
|
|
392
|
+
const { logger } = await import("./logger-CHoC5_kz.mjs");
|
|
393
393
|
logger.child({ mod: "loop-lifecycle" }).warn({
|
|
394
394
|
action: "unreachable-delete",
|
|
395
395
|
loopId: id,
|
|
@@ -429,7 +429,7 @@ var forceDeleteJob = createServerFn({ method: "POST" }).validator((d) => d).hand
|
|
|
429
429
|
}
|
|
430
430
|
scheduler.removeLoop(data.id);
|
|
431
431
|
if (!await forceDeleteLoop(data.id)) return { error: "force delete failed; server data was not deleted" };
|
|
432
|
-
const { logger } = await import("./logger-
|
|
432
|
+
const { logger } = await import("./logger-CHoC5_kz.mjs");
|
|
433
433
|
logger.child({ mod: "loop-lifecycle" }).warn({
|
|
434
434
|
action: "force-delete",
|
|
435
435
|
loopId: data.id,
|
|
@@ -520,7 +520,7 @@ var mintClaim_createServerFn_handler = createServerRpc({
|
|
|
520
520
|
}, (opts) => mintClaim.__executeServer(opts));
|
|
521
521
|
var mintClaim = createServerFn({ method: "POST" }).validator((teamId) => teamId).handler(mintClaim_createServerFn_handler, async ({ data: teamId }) => {
|
|
522
522
|
await backend();
|
|
523
|
-
const { mintDeviceToken, rememberConnectKey } = await import("./tokens-
|
|
523
|
+
const { mintDeviceToken, rememberConnectKey } = await import("./tokens-BCOvumer.mjs");
|
|
524
524
|
const { userId, teamId: active } = await requestScope(teamId);
|
|
525
525
|
const owner = userId ?? "shared";
|
|
526
526
|
const token = mintDeviceToken();
|
|
@@ -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 { c as CODING_AGENTS,
|
|
3
|
+
import { c as CODING_AGENTS, g as buildFileEntries, ht as isTaskEntry } from "./boot-sM4t8RJu.mjs";
|
|
4
4
|
import { A as sectionHeadCls, C as isCompleted, D as rel, M as tsShort, N as until, S as isClosed, _ as dur, b as humanBytes, c as btnDanger, d as btnQuiet, h as dotLabel, i as Pre, j as selectCls, k as runPulseStyle, 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, w as labelCls, x as inputCls } from "./ui-WGITbP6Z.mjs";
|
|
5
5
|
import { d as useNavigate, u as Link } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
6
6
|
import { C as stopJob, S as startJob, a as evolveJob, b as requestEdit, d as getJobDetail, g as loadOlderRuns, i as deleteJob, s as getArtifacts, v as patchJob, x as runJob, y as pauseJob } from "./loopApi-BfMnXaKT.mjs";
|
|
7
7
|
import { n as TaskFileView, r as ViewerHead, t as ArtifactBody } from "./artifactView-CYV1r48i.mjs";
|
|
8
8
|
import { i as useFlash, n as FlashLine, r as LoadErrorCard, t as ConfirmBar } from "./actionUi-mDYOvJdB.mjs";
|
|
9
|
-
import { s as useSession } from "./LoopPlaybook-
|
|
9
|
+
import { s as useSession } from "./LoopPlaybook-BC9Dvnw2.mjs";
|
|
10
10
|
import { t as setActiveTeamCookie } from "./teamCookie-B7hLOIie.mjs";
|
|
11
|
-
import { t as SignIn } from "./SignIn-
|
|
11
|
+
import { t as SignIn } from "./SignIn-D70NUJsN.mjs";
|
|
12
12
|
import { i as lifecycleDisplay, n as daemonStopSupport, r as deriveLoopLifecycle, t as DAEMON_UPGRADE_REQUIRED } from "./lifecycleUi-l3nx9i3T.mjs";
|
|
13
|
-
import { a as listChannels, n as Timeline, s as mergeRuns, t as MachinesModal } from "./notifyFns-
|
|
14
|
-
import { t as Route } from "./loops._loopId-
|
|
15
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId-
|
|
13
|
+
import { a as listChannels, n as Timeline, s as mergeRuns, t as MachinesModal } from "./notifyFns-DWotltSJ.mjs";
|
|
14
|
+
import { t as Route } from "./loops._loopId-jXSgPWG1.mjs";
|
|
15
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId-DOPfN_Op.js
|
|
16
16
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
17
17
|
var import_jsx_runtime = require_jsx_runtime();
|
|
18
18
|
/**
|
|
@@ -556,7 +556,7 @@ var EDIT_SEEDS = [
|
|
|
556
556
|
seed: "Give this loop a goal, and finish it once the goal is met: "
|
|
557
557
|
}
|
|
558
558
|
];
|
|
559
|
-
var LoopView = (0, import_react.lazy)(() => import("./LoopView-
|
|
559
|
+
var LoopView = (0, import_react.lazy)(() => import("./LoopView-Dom6Ad5G.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 +
|
|
@@ -1005,6 +1005,36 @@ function LoopDetailView({ id }) {
|
|
|
1005
1005
|
})
|
|
1006
1006
|
]
|
|
1007
1007
|
});
|
|
1008
|
+
const needsUpdateEl = detail.machine.needsUpdate && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
1009
|
+
className: "mb-2.5 flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-control border border-warn/40 bg-warn/10 px-4 py-2.5",
|
|
1010
|
+
children: [
|
|
1011
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
1012
|
+
className: "inline-flex items-center gap-2 text-meta font-medium text-primary",
|
|
1013
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
1014
|
+
"aria-hidden": true,
|
|
1015
|
+
className: "size-2 rounded-full bg-warn"
|
|
1016
|
+
}), "Daemon update required"]
|
|
1017
|
+
}),
|
|
1018
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
1019
|
+
className: "text-meta text-secondary",
|
|
1020
|
+
children: [
|
|
1021
|
+
"This server requires v",
|
|
1022
|
+
detail.machine.requiredDaemonVersion,
|
|
1023
|
+
"; ",
|
|
1024
|
+
detail.machine.name ? `“${detail.machine.name}”` : "the bound machine",
|
|
1025
|
+
" reports ",
|
|
1026
|
+
detail.machine.daemonVersion ? `v${detail.machine.daemonVersion}` : "an unknown version",
|
|
1027
|
+
". Queued work will wait."
|
|
1028
|
+
]
|
|
1029
|
+
}),
|
|
1030
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
1031
|
+
type: "button",
|
|
1032
|
+
onClick: () => setMachinesOpen(true),
|
|
1033
|
+
className: "ml-auto cursor-pointer text-meta font-medium text-interactive underline underline-offset-2 transition-colors hover:text-display",
|
|
1034
|
+
children: "Update daemon"
|
|
1035
|
+
})
|
|
1036
|
+
]
|
|
1037
|
+
});
|
|
1008
1038
|
const offlineEl = !online && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
1009
1039
|
className: "mb-2.5 flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-control border border-hairline bg-raised px-4 py-2.5",
|
|
1010
1040
|
children: [
|
|
@@ -1198,6 +1228,7 @@ function LoopDetailView({ id }) {
|
|
|
1198
1228
|
className: "mt-5 border-t border-hairline pt-4",
|
|
1199
1229
|
children: [
|
|
1200
1230
|
crossTeamEl,
|
|
1231
|
+
needsUpdateEl,
|
|
1201
1232
|
offlineEl,
|
|
1202
1233
|
actionErrEl,
|
|
1203
1234
|
flashLine,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { c as createFileRoute, s as lazyRouteComponent } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
2
2
|
import { c as getAuthState } from "./loopApi-BfMnXaKT.mjs";
|
|
3
|
-
import { a as authClient } from "./LoopPlaybook-
|
|
4
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId-
|
|
5
|
-
var $$splitComponentImporter = () => import("./loops._loopId-
|
|
3
|
+
import { a as authClient } from "./LoopPlaybook-BC9Dvnw2.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId-jXSgPWG1.js
|
|
5
|
+
var $$splitComponentImporter = () => import("./loops._loopId-DOPfN_Op.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
2
|
import { c as getAuthState } from "./loopApi-BfMnXaKT.mjs";
|
|
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-
|
|
3
|
+
import { a as authClient } from "./LoopPlaybook-BC9Dvnw2.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId_.runs._runId-BhoM6DWj.js
|
|
5
|
+
var $$splitComponentImporter = () => import("./loops._loopId_.runs._runId-DiBP2rCe.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
|
|
@@ -4,10 +4,10 @@ import { A as sectionHeadCls, _ as dur, a as StatusPill, b as humanBytes, c as b
|
|
|
4
4
|
import { u as Link } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
5
5
|
import { d as getJobDetail, f as getRunDiff, g as loadOlderRuns, w as stopRun } from "./loopApi-BfMnXaKT.mjs";
|
|
6
6
|
import { r as LoadErrorCard } from "./actionUi-mDYOvJdB.mjs";
|
|
7
|
-
import { s as useSession } from "./LoopPlaybook-
|
|
8
|
-
import { t as SignIn } from "./SignIn-
|
|
9
|
-
import { t as Route } from "./loops._loopId_.runs._runId-
|
|
10
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId_.runs._runId-
|
|
7
|
+
import { s as useSession } from "./LoopPlaybook-BC9Dvnw2.mjs";
|
|
8
|
+
import { t as SignIn } from "./SignIn-D70NUJsN.mjs";
|
|
9
|
+
import { t as Route } from "./loops._loopId_.runs._runId-BhoM6DWj.mjs";
|
|
10
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops._loopId_.runs._runId-DiBP2rCe.js
|
|
11
11
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
12
12
|
var import_jsx_runtime = require_jsx_runtime();
|
|
13
13
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as getMachine, A as daemonNeedsUpdate, Ct as listMachines$1, F as deleteMachine$1, Ft as mintDeviceToken, Ht as rememberConnectKey, L as ensureServer, Mt as loopsForMachine, Nt as machineIdFromToken, O as createMachine$1, Xt as sha256, d as MIN_DAEMON_VERSION, rn as updateMachine, wt as listMachinesForTeam } from "./boot-sM4t8RJu.mjs";
|
|
2
2
|
import { n as createServerFn } from "./ssr.mjs";
|
|
3
|
-
import { requestScope } from "./auth-
|
|
3
|
+
import { requestScope } from "./auth-BP81awUE.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-ChO1NM3C.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
|
|
@@ -165,6 +165,8 @@ async function toSummary(m, scope) {
|
|
|
165
165
|
daemonVersion: m.daemonVersion ?? null,
|
|
166
166
|
daemonProtocol: m.daemonProtocol ?? null,
|
|
167
167
|
latestDaemonVersion: latestDaemonVersion.get(),
|
|
168
|
+
needsUpdate: daemonNeedsUpdate(m.daemonVersion),
|
|
169
|
+
requiredDaemonVersion: MIN_DAEMON_VERSION,
|
|
168
170
|
token: tokenVisibleTo(m, scope) ? m.token ?? null : null,
|
|
169
171
|
loopCount: (await loopsForMachine(m.id)).length
|
|
170
172
|
};
|
package/.output/server/_ssr/{node-sqlite-dialect-01BHn7am.mjs → node-sqlite-dialect-BGlhyZkk.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-BP81awUE.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-BGlhyZkk.js
|
|
4
4
|
var NodeSqliteAdapter = class {
|
|
5
5
|
get supportsCreateIfNotExists() {
|
|
6
6
|
return true;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { K as getChannel, L as ensureServer, N as deleteChannel$1, s as CHANNELS, w as createChannel$1, xt as listChannels$1 } from "./boot-sM4t8RJu.mjs";
|
|
2
2
|
import { n as createServerFn } from "./ssr.mjs";
|
|
3
|
-
import { requestScope } from "./auth-
|
|
3
|
+
import { requestScope } from "./auth-BP81awUE.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-B1MSIzrT.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
|