loopable-cli 0.1.0 → 0.2.1
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/_connectorId-CkygNLny.js +1 -0
- package/.output/public/assets/_loopId-Cshlc5Ja.js +1 -0
- package/.output/public/assets/_taskId-BKDIJ_Fg.js +1 -0
- package/.output/public/assets/alert-BT2EVMJP.js +1 -0
- package/.output/public/assets/arrow-left-CWUZt6k2.js +1 -0
- package/.output/public/assets/arrow-right-dy_oOg_c.js +1 -0
- package/.output/public/assets/connection-status-DCqqmY_6.js +1 -0
- package/.output/public/assets/connector-icon-BUoK6Cru.js +1 -0
- package/.output/public/assets/connectors-CeLBtEtg.js +1 -0
- package/.output/public/assets/{external-link-D46X-bXa.js → external-link-DC11orFA.js} +1 -1
- package/.output/public/assets/gaps-BtFoD7mF.js +1 -0
- package/.output/public/assets/inbox-BYNjkNDJ.js +1 -0
- package/.output/public/assets/index-0yP3Jn_G.js +18 -0
- package/.output/public/assets/{loader-CcBl2u8m.js → loader-B4Epchm_.js} +1 -1
- package/.output/public/assets/loop-form-DnSJNc1k.js +1 -0
- package/.output/public/assets/loops-1CvbqO6m.js +1 -0
- package/.output/public/assets/new-m5NlqYQT.js +1 -0
- package/.output/public/assets/play-DD4xQgvi.js +1 -0
- package/.output/public/assets/preload-helper-CfdAYKD7.js +3 -0
- package/.output/public/assets/refresh-cw-C3xBnKfy.js +1 -0
- package/.output/public/assets/rolldown-runtime-CbXtAM7H.js +1 -0
- package/.output/public/assets/runners-D8QVl-Y6.js +1 -0
- package/.output/public/assets/select-Cppu-hti.js +1 -0
- package/.output/public/assets/setting-fields-bJ_gTG7Q.js +3 -0
- package/.output/public/assets/styles-ClTGaXU0.css +2 -0
- package/.output/public/assets/switch-hRIbNGOj.js +1 -0
- package/.output/public/assets/task-list-BAxjcVgr.js +1 -0
- package/.output/public/assets/textarea-Fyuzi6Vp.js +1 -0
- package/.output/public/assets/{trash-2-D6u6NpzO.js → trash-2-BXZzBsoV.js} +1 -1
- package/.output/public/assets/useValueChanged-VVyq4hb9.js +1 -0
- package/.output/server/{_connectorId-8nb5yOzG.mjs → _connectorId-C9yydJrC.mjs} +92 -11
- package/.output/server/_libs/@base-ui/react+[...].mjs +427 -427
- package/.output/server/{_loopId-BsUL1SeL.mjs → _loopId-B0VG-eBC.mjs} +44 -15
- package/.output/server/_ssr/{callback-CUINvl7M.mjs → access-DTttr563.mjs} +39 -5
- package/.output/server/_ssr/{agents-DAOZPgO2.mjs → agents-C7B6RJ6-.mjs} +3 -3
- package/.output/server/_ssr/{agents-Btql102J.mjs → agents-DG643yoJ.mjs} +4 -4
- package/.output/server/_ssr/{alert-NEiOCTOl.mjs → alert-DQvzE7bu.mjs} +1 -1
- package/.output/server/_ssr/{client-CKkOfh-s.mjs → client-BtVRVhQ2.mjs} +4 -2
- package/.output/server/_ssr/{connection-status-Bi5peUAk.mjs → connection-status-BZr3Y-IC.mjs} +2 -2
- package/.output/server/_ssr/{connections-qnw2GVlP.mjs → connections-Df-aDpfJ.mjs} +816 -17
- package/.output/server/_ssr/connector-icon-WvxwZ5TF.mjs +56 -0
- package/.output/server/_ssr/{connectors-BHNwuIMj.mjs → connectors-BU0IiRge.mjs} +7 -6
- package/.output/server/_ssr/{connectors-C28g0i4c.mjs → connectors-e0mf2pMs.mjs} +14 -3
- package/.output/server/_ssr/{gaps-RAFSXLZf.mjs → gaps-Cz76ZicM.mjs} +6 -6
- package/.output/server/_ssr/inbox-CAUBa1I3.mjs +114 -0
- package/.output/server/_ssr/{loop-form-DlObSewZ.mjs → loop-form-FqSaXiHl.mjs} +8 -7
- package/.output/server/_ssr/{loops-APFcP0y6.mjs → loops-D8WuK7Ke.mjs} +200 -7
- package/.output/server/_ssr/{loops-xt2Bn7_q.mjs → loops-Dqoebe8q.mjs} +8 -8
- package/.output/server/_ssr/{new-DfKyd2Wa.mjs → new-bBsVaWD6.mjs} +5 -5
- package/.output/server/_ssr/{router-3WmpE5b_.mjs → router-54IDWTVz.mjs} +68 -62
- package/.output/server/_ssr/{runners-By-mwc3F.mjs → runners-Cj6z9Mqh.mjs} +26 -3
- package/.output/server/_ssr/{runners-DtXs4Q8a.mjs → runners-D2UAdLyj.mjs} +3 -3
- package/.output/server/_ssr/{runners-DI_NxpHC.mjs → runners-DGWaVvWi.mjs} +4 -4
- package/.output/server/_ssr/{secrets-Hqti-niS.mjs → secrets-CRnpwGBh.mjs} +2 -2
- package/.output/server/_ssr/{setting-fields-8vKFj4df.mjs → setting-fields-DzBlslan.mjs} +6 -13
- package/.output/server/_ssr/ssr.mjs +45 -33
- package/.output/server/_ssr/{start-Bdc2GJUI.mjs → start-Vq3Oan3v.mjs} +3 -4
- package/.output/server/_ssr/{switch-ReNglgH6.mjs → switch-1pnd_bPJ.mjs} +2 -2
- package/.output/server/_ssr/{task-list-CUITIqkb.mjs → task-list-_qgBS9LU.mjs} +9 -8
- package/.output/server/_ssr/{tasks-vcoodp_D.mjs → tasks-BDqznm57.mjs} +98 -8
- package/.output/server/_ssr/{tasks-SAjNovX6.mjs → tasks-Qtml5TlK.mjs} +15 -6
- package/.output/server/_ssr/textarea-CHJTKtsJ.mjs +14 -0
- package/.output/server/{_tanstack-start-manifest_v-C0cP5F0M.mjs → _tanstack-start-manifest_v-CvheE7ZF.mjs} +54 -48
- package/.output/server/{_taskId-CXS3lod0.mjs → _taskId-V4QLBO2N.mjs} +17 -10
- package/.output/server/index.mjs +173 -166
- package/README.md +26 -21
- package/dist/cli.mjs +7146 -16
- package/dist/dispatcher.mjs +844 -33
- package/drizzle/0024_prompt_tasks.sql +44 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +21 -17
- package/.output/public/assets/_connectorId-BWjYn5tm.js +0 -1
- package/.output/public/assets/_loopId-Ds4RkyEc.js +0 -1
- package/.output/public/assets/_taskId-BOzICXDf.js +0 -1
- package/.output/public/assets/alert-Bn9-Zm0l.js +0 -1
- package/.output/public/assets/arrow-left-BF9juV9T.js +0 -1
- package/.output/public/assets/arrow-right-CzqvnOY1.js +0 -1
- package/.output/public/assets/button-HCY6DCY-.js +0 -1
- package/.output/public/assets/connection-status-CYZB8kLy.js +0 -1
- package/.output/public/assets/connector-icon-BZ_MUJV_.js +0 -1
- package/.output/public/assets/connectors-BvzttfSu.js +0 -1
- package/.output/public/assets/connectors-DdJNwRN_.js +0 -1
- package/.output/public/assets/gaps-D-I6xiDc.js +0 -1
- package/.output/public/assets/inbox-BUUu9xxE.js +0 -1
- package/.output/public/assets/index-ztzex0FN.js +0 -10
- package/.output/public/assets/loop-form-dB3CLcZb.js +0 -1
- package/.output/public/assets/loops-DRunQrxL.js +0 -1
- package/.output/public/assets/loops-oSdqMd29.js +0 -1
- package/.output/public/assets/manifests-DNMqf7Vi.js +0 -7
- package/.output/public/assets/new-uyFxVjuB.js +0 -1
- package/.output/public/assets/preload-helper-ORbuV86A.js +0 -3
- package/.output/public/assets/runners-DSU3r5Ww.js +0 -1
- package/.output/public/assets/setting-fields-ixkpdBb-.js +0 -3
- package/.output/public/assets/styles-DZL5V1o7.css +0 -2
- package/.output/public/assets/switch-d5ummmHY.js +0 -1
- package/.output/public/assets/task-list-BpOStt9v.js +0 -1
- package/.output/public/assets/tasks-B8MsKgic.js +0 -1
- package/.output/server/_ssr/access-zIl15o8y.mjs +0 -42
- package/.output/server/_ssr/connector-icon-DZXQLLFo.mjs +0 -37
- package/.output/server/_ssr/inbox-k5zHergU.mjs +0 -35
|
@@ -2,16 +2,16 @@ import { i as __toESM } from "./_runtime.mjs";
|
|
|
2
2
|
import { U as require_jsx_runtime, W as require_react, i as TabsRoot, n as TabsPanel, r as TabsTab, t as TabsList$1 } from "./_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { f as Link, m as useRouter } from "./_libs/@tanstack/react-router+[...].mjs";
|
|
4
4
|
import { t as cva } from "./_libs/class-variance-authority+clsx.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import { B as ArrowLeft, M as CircleAlert, S as Eye, f as Play } from "./_libs/lucide-react.mjs";
|
|
5
|
+
import { o as connectorManifest } from "./_ssr/connections-Df-aDpfJ.mjs";
|
|
6
|
+
import { B as ArrowLeft, M as CircleAlert, S as Eye, f as Play, l as RefreshCw } from "./_libs/lucide-react.mjs";
|
|
7
7
|
import { n as toast } from "./_libs/sonner.mjs";
|
|
8
|
-
import {
|
|
9
|
-
import { t as Switch$1 } from "./_ssr/switch-
|
|
10
|
-
import { n as AlertDescription, r as AlertTitle, t as Alert } from "./_ssr/alert-
|
|
11
|
-
import { n as TaskList } from "./_ssr/task-list-
|
|
12
|
-
import { t as LoopForm } from "./_ssr/loop-form-
|
|
13
|
-
import { n as issuesFor } from "./_ssr/gaps-
|
|
14
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/_loopId-
|
|
8
|
+
import { B as Card, C as lookLoopNow, E as runLoopBacklog, S as Input$1, V as CardContent, W as cn, b as Label, f as useLiveRefresh, k as runLoopNow, o as Route$10, z as Button$1 } from "./_ssr/router-54IDWTVz.mjs";
|
|
9
|
+
import { t as Switch$1 } from "./_ssr/switch-1pnd_bPJ.mjs";
|
|
10
|
+
import { n as AlertDescription, r as AlertTitle, t as Alert } from "./_ssr/alert-DQvzE7bu.mjs";
|
|
11
|
+
import { n as TaskList } from "./_ssr/task-list-_qgBS9LU.mjs";
|
|
12
|
+
import { t as LoopForm } from "./_ssr/loop-form-FqSaXiHl.mjs";
|
|
13
|
+
import { n as issuesFor } from "./_ssr/gaps-Cz76ZicM.mjs";
|
|
14
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/_loopId-B0VG-eBC.js
|
|
15
15
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
16
16
|
var import_jsx_runtime = require_jsx_runtime();
|
|
17
17
|
function Tabs$1({ className, orientation = "horizontal", ...props }) {
|
|
@@ -108,6 +108,29 @@ function LoopPage() {
|
|
|
108
108
|
]
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
|
+
function LookNowButton({ loopId }) {
|
|
112
|
+
const router = useRouter();
|
|
113
|
+
const [busy, setBusy] = (0, import_react.useState)(false);
|
|
114
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Button$1, {
|
|
115
|
+
variant: "outline",
|
|
116
|
+
size: "sm",
|
|
117
|
+
disabled: busy,
|
|
118
|
+
onClick: async () => {
|
|
119
|
+
setBusy(true);
|
|
120
|
+
try {
|
|
121
|
+
const report = await lookLoopNow({ data: { id: loopId } });
|
|
122
|
+
await router.invalidate();
|
|
123
|
+
if (report.error) toast.error(report.error);
|
|
124
|
+
else toast.success("Looked");
|
|
125
|
+
} catch (error) {
|
|
126
|
+
toast.error(error instanceof Error ? error.message : String(error));
|
|
127
|
+
} finally {
|
|
128
|
+
setBusy(false);
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RefreshCw, { className: busy ? "animate-spin" : void 0 }), busy ? "Looking..." : "Look now"]
|
|
132
|
+
});
|
|
133
|
+
}
|
|
111
134
|
function when(iso) {
|
|
112
135
|
return new Date(iso).toLocaleString();
|
|
113
136
|
}
|
|
@@ -124,17 +147,23 @@ function Watching({ loop, poll }) {
|
|
|
124
147
|
children: [
|
|
125
148
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleAlert, {}),
|
|
126
149
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AlertTitle, { children: "The last look did not work" }),
|
|
127
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
150
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(AlertDescription, {
|
|
151
|
+
className: "flex flex-col items-start gap-3",
|
|
152
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: poll.pollError }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LookNowButton, { loopId: loop.id })]
|
|
153
|
+
})
|
|
128
154
|
]
|
|
129
155
|
});
|
|
130
156
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(CardContent, {
|
|
131
157
|
className: "flex flex-col gap-4 pt-6",
|
|
132
158
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
133
|
-
className: "flex items-start gap-3 text-sm",
|
|
134
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.
|
|
135
|
-
className: "
|
|
136
|
-
children:
|
|
137
|
-
|
|
159
|
+
className: "flex flex-wrap items-start justify-between gap-3 text-sm",
|
|
160
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
161
|
+
className: "flex items-start gap-3",
|
|
162
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { className: "mt-0.5 size-4 shrink-0 text-muted-foreground" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
163
|
+
className: "text-muted-foreground",
|
|
164
|
+
children: poll.polledAt ? `Watching. Last looked ${when(poll.polledAt)}.` : "Not looked yet. The dispatcher checks every couple of minutes; the first look records what is already waiting without running it."
|
|
165
|
+
})]
|
|
166
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LookNowButton, { loopId: loop.id })]
|
|
138
167
|
}), poll.backlog.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
139
168
|
className: "flex flex-col gap-3 rounded-lg border p-4",
|
|
140
169
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/access-DTttr563.js
|
|
2
2
|
function configuredOrigin() {
|
|
3
3
|
return process.env.LOOPABLE_BASE_URL?.replace(/\/$/, "") || null;
|
|
4
4
|
}
|
|
@@ -54,9 +54,43 @@ function registrableCallbackUrl(connectorId) {
|
|
|
54
54
|
if (hosted) return `${hosted}/api/connectors/${connectorId}/callback`;
|
|
55
55
|
return `http://127.0.0.1/api/connectors/${connectorId}/callback`;
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
function
|
|
59
|
-
|
|
57
|
+
var APP_ACCESS_COOKIE = "loopable_access";
|
|
58
|
+
function bearer(request) {
|
|
59
|
+
const header = request.headers.get("authorization") ?? "";
|
|
60
|
+
return /^Bearer\s+(.+)$/i.exec(header)?.[1]?.trim() ?? "";
|
|
61
|
+
}
|
|
62
|
+
function cookieValue(header, name) {
|
|
63
|
+
if (!header) return null;
|
|
64
|
+
for (const part of header.split(";")) {
|
|
65
|
+
const [rawName, ...rest] = part.trim().split("=");
|
|
66
|
+
if (rawName === name) return decodeURIComponent(rest.join("="));
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
function readAppToken(request) {
|
|
71
|
+
const fromBearer = bearer(request);
|
|
72
|
+
if (fromBearer) return fromBearer;
|
|
73
|
+
const fromQuery = new URL(request.url).searchParams.get("token")?.trim();
|
|
74
|
+
if (fromQuery) return fromQuery;
|
|
75
|
+
return cookieValue(request.headers.get("cookie"), APP_ACCESS_COOKIE);
|
|
76
|
+
}
|
|
77
|
+
function appAccessCookie(token) {
|
|
78
|
+
const secure = process.env.LOOPABLE_BASE_URL?.startsWith("https:") ? "; Secure" : "";
|
|
79
|
+
return `${APP_ACCESS_COOKIE}=${encodeURIComponent(token)}; Path=/; HttpOnly; SameSite=Lax${secure}`;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Loopback stays open. Anything else needs LOOPABLE_APP_TOKEN, or the UI is
|
|
83
|
+
* on the network with no door.
|
|
84
|
+
*/
|
|
85
|
+
function assertAppAccess(request) {
|
|
86
|
+
if (isLoopbackHost(new URL(request.url).hostname)) return;
|
|
87
|
+
const expected = process.env.LOOPABLE_APP_TOKEN;
|
|
88
|
+
if (!expected) throw new Error("Set LOOPABLE_APP_TOKEN before exposing Loopable off loopback.");
|
|
89
|
+
if (readAppToken(request) !== expected) throw new Error("This Loopable is not open to you.");
|
|
90
|
+
}
|
|
91
|
+
/** Runner pull and OAuth callbacks have their own tokens. */
|
|
92
|
+
function isPublicApiPath(pathname) {
|
|
93
|
+
return pathname.startsWith("/api/runners/") || pathname.startsWith("/api/connectors/");
|
|
60
94
|
}
|
|
61
95
|
//#endregion
|
|
62
|
-
export {
|
|
96
|
+
export { callbackUrl as a, readAppToken as c, bearer as i, registrableCallbackUrl as l, appOrigin as n, isLoopbackHost as o, assertAppAccess as r, isPublicApiPath as s, appAccessCookie as t };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as createServerFn } from "./ssr.mjs";
|
|
2
|
-
import { a as
|
|
3
|
-
import { c as listRunners, t as availableAgentIds } from "./runners-
|
|
2
|
+
import { a as saveAgentSettings, c as testAgent, i as listAgents, o as setDefaultAgent } from "./agents-DG643yoJ.mjs";
|
|
3
|
+
import { c as listRunners, t as availableAgentIds } from "./runners-D2UAdLyj.mjs";
|
|
4
4
|
import { t as createServerRpc } from "./createServerRpc-DPDrnFdH.mjs";
|
|
5
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/agents-
|
|
5
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/agents-C7B6RJ6-.js
|
|
6
6
|
async function withRunners(agents) {
|
|
7
7
|
const runners = await listRunners();
|
|
8
8
|
const available = await availableAgentIds();
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { f as eq } from "../_libs/drizzle-orm.mjs";
|
|
2
|
-
import { n as agentSettings, r as appSettings, s as db } from "./client-
|
|
3
|
-
import { n as isHosted } from "./secrets-
|
|
2
|
+
import { n as agentSettings, r as appSettings, s as db } from "./client-BtVRVhQ2.mjs";
|
|
3
|
+
import { n as isHosted } from "./secrets-CRnpwGBh.mjs";
|
|
4
4
|
import { accessSync, constants, createWriteStream, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { join } from "node:path";
|
|
6
6
|
import { homedir, tmpdir } from "node:os";
|
|
7
7
|
import { execFile, spawn } from "node:child_process";
|
|
8
8
|
import { promisify } from "node:util";
|
|
9
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/agents-
|
|
9
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/agents-DG643yoJ.js
|
|
10
10
|
function defineAgentManifest(manifest) {
|
|
11
11
|
return manifest;
|
|
12
12
|
}
|
|
@@ -654,4 +654,4 @@ async function testAgent(agentId) {
|
|
|
654
654
|
};
|
|
655
655
|
}
|
|
656
656
|
//#endregion
|
|
657
|
-
export {
|
|
657
|
+
export { saveAgentSettings as a, testAgent as c, listAgents as i, agentManifest as n, setDefaultAgent as o, agentRuntime as r, settingsFor as s, AGENT_MANIFESTS as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
2
|
import { U as require_jsx_runtime, W as require_react } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { W as cn } from "./router-54IDWTVz.mjs";
|
|
5
5
|
require_react();
|
|
6
6
|
var import_jsx_runtime = require_jsx_runtime();
|
|
7
7
|
var alertVariants = cva("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4", {
|
|
@@ -4,7 +4,7 @@ import { fileURLToPath, pathToFileURL } from "node:url";
|
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { homedir } from "node:os";
|
|
6
6
|
import { createClient } from "@libsql/client";
|
|
7
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/client-
|
|
7
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/client-BtVRVhQ2.js
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
9
|
var __exportAll = (all, no_symbols) => {
|
|
10
10
|
let target = {};
|
|
@@ -94,7 +94,7 @@ var authAttempts = sqliteTable("auth_attempts", {
|
|
|
94
94
|
*/
|
|
95
95
|
var tasks = sqliteTable("tasks", {
|
|
96
96
|
id: text("id").primaryKey(),
|
|
97
|
-
loopId: text("loop_id").
|
|
97
|
+
loopId: text("loop_id").references(() => loops.id, { onDelete: "cascade" }),
|
|
98
98
|
connectorId: text("connector_id").notNull(),
|
|
99
99
|
state: text("state").$type().notNull().default("queued"),
|
|
100
100
|
/** What the task is about, resolved once so the record survives the source. */
|
|
@@ -109,6 +109,8 @@ var tasks = sqliteTable("tasks", {
|
|
|
109
109
|
* when the dispatcher fetches rather than when the task is queued.
|
|
110
110
|
*/
|
|
111
111
|
sourceTitle: text("source_title"),
|
|
112
|
+
/** Inbox test runs: the ask itself. Loop runs leave this null and read loops.prompt. */
|
|
113
|
+
prompt: text("prompt"),
|
|
112
114
|
/** Set when a run was asked to stop before writing anything. */
|
|
113
115
|
dryRun: integer("dry_run", { mode: "boolean" }).notNull().default(false),
|
|
114
116
|
agentId: text("agent_id"),
|
package/.output/server/_ssr/{connection-status-Bi5peUAk.mjs → connection-status-BZr3Y-IC.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { U as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
2
|
-
import {
|
|
3
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/connection-status-
|
|
2
|
+
import { R as Badge } from "./router-54IDWTVz.mjs";
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/connection-status-BZr3Y-IC.js
|
|
4
4
|
var import_jsx_runtime = require_jsx_runtime();
|
|
5
5
|
var LABELS = {
|
|
6
6
|
connected: {
|