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
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { i as __toESM } from "../_runtime.mjs";
|
|
2
|
-
import { A as DialogRoot, B as mergeProps, C as TooltipArrow, D as TooltipTrigger$1, E as TooltipPortal, F as DialogBackdrop, I as Separator, L as Input, M as DialogPopup, N as DialogDescription, O as TooltipRoot, P as DialogClose, R as
|
|
2
|
+
import { A as DialogRoot, B as mergeProps, C as TooltipArrow, D as TooltipTrigger$1, E as TooltipPortal, F as DialogBackdrop, I as Separator, L as Input, M as DialogPopup, N as DialogDescription, O as TooltipRoot, P as DialogClose, R as useRender, S as SelectRoot, T as TooltipPositioner, U as require_jsx_runtime, W as require_react, _ as SelectPositioner, b as SelectValue$1, d as SelectScrollDownArrow, f as SelectItemText, g as SelectPopup, h as SelectList, j as DialogPortal, k as DialogTitle, m as SelectItem$1, p as SelectItemIndicator, u as SelectScrollUpArrow, v as SelectPortal, w as TooltipPopup, x as SelectTrigger$1, y as SelectIcon, z as Button } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { a as useRouterState, c as Outlet, d as createRootRoute, f as Link, g as notFound, h as redirect, i as HeadContent, l as lazyRouteComponent, m as useRouter, r as Scripts, s as createRouter, u as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
4
4
|
import { i as getServerFnById, n as createServerFn, r as TSS_SERVER_FUNCTION } from "./ssr.mjs";
|
|
5
5
|
import { n as clsx, t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
6
6
|
import { t as twMerge } from "../_libs/tailwind-merge.mjs";
|
|
7
7
|
import { _ as or, d as and, f as eq, g as lte, m as isNull } from "../_libs/drizzle-orm.mjs";
|
|
8
|
-
import { d as runDir, g as tasks, s as db, t as __exportAll, u as rowsChanged } from "./client-
|
|
9
|
-
import { n as isHosted } from "./secrets-
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { t as AGENT_MANIFESTS } from "./agents-
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { a as jobForTask, d as updateTask, o as jobRequiresHost, t as absorbAgentOutput, u as taskRow } from "./tasks-vcoodp_D.mjs";
|
|
8
|
+
import { d as runDir, g as tasks, s as db, t as __exportAll, u as rowsChanged } from "./client-BtVRVhQ2.mjs";
|
|
9
|
+
import { n as isHosted } from "./secrets-CRnpwGBh.mjs";
|
|
10
|
+
import { h as takeAuthAttempt, m as startAuthAttempt, o as connectorManifest, p as saveAuthorizedConnection, s as connectorRuntime } from "./connections-Df-aDpfJ.mjs";
|
|
11
|
+
import { a as callbackUrl, i as bearer, n as appOrigin } from "./access-DTttr563.mjs";
|
|
12
|
+
import { t as AGENT_MANIFESTS } from "./agents-DG643yoJ.mjs";
|
|
13
|
+
import { a as heartbeatRunner, d as runnerIdForToken, i as getRunner, o as isRunnerOnline, s as joinRunner } from "./runners-D2UAdLyj.mjs";
|
|
14
|
+
import { c as jobRequiresHost, m as updateTask, p as taskRow, s as jobForTask, t as absorbAgentOutput } from "./tasks-BDqznm57.mjs";
|
|
16
15
|
import { F as Check, I as Bot, M as CircleAlert, N as ChevronUp, O as CirclePlay, P as ChevronDown, _ as LoaderCircle, a as Terminal, d as Plug, h as MousePointerClick, j as CircleCheck, k as CirclePause, m as OctagonX, n as Workflow, o as Settings, p as PanelLeft, r as TriangleAlert, s as Server, t as X, v as Info, y as Inbox } from "../_libs/lucide-react.mjs";
|
|
17
16
|
import { n as toast, t as Toaster } from "../_libs/sonner.mjs";
|
|
18
17
|
import { t as z } from "../_libs/next-themes.mjs";
|
|
@@ -20,12 +19,49 @@ import { randomBytes } from "node:crypto";
|
|
|
20
19
|
import { appendFileSync, existsSync } from "node:fs";
|
|
21
20
|
import { join } from "node:path";
|
|
22
21
|
import { hostname } from "node:os";
|
|
23
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/card-
|
|
22
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/card-vAtU-sOo.js
|
|
24
23
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
25
24
|
var import_jsx_runtime = require_jsx_runtime();
|
|
26
25
|
function cn(...inputs) {
|
|
27
26
|
return twMerge(clsx(inputs));
|
|
28
27
|
}
|
|
28
|
+
var buttonVariants = cva("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
29
|
+
variants: {
|
|
30
|
+
variant: {
|
|
31
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
32
|
+
outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
|
|
33
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
|
|
34
|
+
ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
|
|
35
|
+
destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
|
|
36
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
37
|
+
},
|
|
38
|
+
size: {
|
|
39
|
+
default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
40
|
+
xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
41
|
+
sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
|
|
42
|
+
lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
43
|
+
icon: "size-8",
|
|
44
|
+
"icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
|
|
45
|
+
"icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
|
|
46
|
+
"icon-lg": "size-9"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
defaultVariants: {
|
|
50
|
+
variant: "default",
|
|
51
|
+
size: "default"
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
function Button$1({ className, variant = "default", size = "default", ...props }) {
|
|
55
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
|
|
56
|
+
"data-slot": "button",
|
|
57
|
+
className: cn(buttonVariants({
|
|
58
|
+
variant,
|
|
59
|
+
size,
|
|
60
|
+
className
|
|
61
|
+
})),
|
|
62
|
+
...props
|
|
63
|
+
});
|
|
64
|
+
}
|
|
29
65
|
var createSsrRpc = (functionId) => {
|
|
30
66
|
const url = "/_serverFn/" + functionId;
|
|
31
67
|
const serverFnMeta = { id: functionId };
|
|
@@ -90,7 +126,7 @@ function CardContent({ className, ...props }) {
|
|
|
90
126
|
});
|
|
91
127
|
}
|
|
92
128
|
//#endregion
|
|
93
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/connectors-
|
|
129
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/connectors-D95Rzky0.js
|
|
94
130
|
/**
|
|
95
131
|
* Readiness and connections for every connector in the registry. Manifests are
|
|
96
132
|
* imported directly by the client, so they are deliberately not sent again.
|
|
@@ -107,22 +143,28 @@ var beginQrLogin = createServerFn({ method: "POST" }).inputValidator((data) => d
|
|
|
107
143
|
* confirmed login is saved here and the page is told only that it worked.
|
|
108
144
|
*/
|
|
109
145
|
var continueQrLogin = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("43b97e3644ad73286fe5de3e99134bff099e1a8704f1ae91fe643d419eceba73"));
|
|
146
|
+
/**
|
|
147
|
+
* A secret pasted in the UI. Stored here; the page is told only the account
|
|
148
|
+
* label, never the token back.
|
|
149
|
+
*/
|
|
150
|
+
var connectWithToken = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("fbf19a0d12b4046a23a8a41e106a79443b174cf1cad922b029e23fb4679b20db"));
|
|
110
151
|
var disconnectConnection = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("f94f0787ce6704ea24f18add66832e0367a0feb9a690d8ad6454abec5e5df193"));
|
|
111
152
|
var verifyConnection = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("f9ade3084971078ee9f2bc16fcdcdfb5a8d66a0f9b634803bb611287c14e21d7"));
|
|
112
153
|
var saveConnectionSettings = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("18bae5deb2a19571893f0067e374e537f16d6774f9b4e04f9b7349360f6f8fdc"));
|
|
113
154
|
//#endregion
|
|
114
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/tasks-
|
|
155
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/tasks-DXjXqmnW.js
|
|
115
156
|
var getInbox = createServerFn({ method: "GET" }).handler(createSsrRpc("48bc32df9d6f69f45df8dfbc6e798e1f99152dbd4b4ed65b149fa2612c65e687"));
|
|
116
157
|
var getLoopTasks = createServerFn({ method: "GET" }).inputValidator((data) => data).handler(createSsrRpc("3f938fac3e5ec1631e700a2fdd4790e78abbefeb732ecfbbe6864cc19f0d5aac"));
|
|
117
158
|
var getTaskById = createServerFn({ method: "GET" }).inputValidator((data) => data).handler(createSsrRpc("0033ef7c619c027b1428a722dff188d315ed335645afcb1033528630b7c95e88"));
|
|
118
159
|
var getTaskLog = createServerFn({ method: "GET" }).inputValidator((data) => data).handler(createSsrRpc("81f567724371f0d6f24e636906e2e9ea5b7384422ac583c86a1050fb838664ce"));
|
|
160
|
+
var runPrompt = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("bef559b165754b06d6d5cf7c6dccde3d5a6a326462430c621eb131f78665d6e1"));
|
|
119
161
|
var runLoopNow = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("7258ce5fc6f23acf3aab039ecd4acdb006d42b2ddbf3ab8629b4000e101b51dc"));
|
|
120
162
|
var stopTask = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("a57f49c322cc5afa2996e4a5777fa533fd963755d614d4a14eb32e51fb198d9d"));
|
|
121
163
|
/** Whether the dispatcher is up, and how hard it is allowed to pull. */
|
|
122
164
|
var getDispatcherState = createServerFn({ method: "GET" }).handler(createSsrRpc("921b049ebafe3c6fb5206fbe3e2100608d3333b944e18385e57da62a28233bc6"));
|
|
123
165
|
var pauseDispatcher = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("0fa144f67263a4a51c51e8baf134a15b89c0afdf9b92b64660520a5bce247eec"));
|
|
124
166
|
//#endregion
|
|
125
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/loops-
|
|
167
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/loops-Cds9PIF2.js
|
|
126
168
|
/**
|
|
127
169
|
* Saving is both making and changing, told apart by whether there is an id.
|
|
128
170
|
* A loop chosen and not yet saved has none, and nothing on the server knew
|
|
@@ -138,8 +180,9 @@ var removeLoop = createServerFn({ method: "POST" }).inputValidator((data) => dat
|
|
|
138
180
|
var reorderLoop = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("7d7d5f80a4f0d2b3bb659d7dc2a91ea5983880648b9d1aa24356e7340505930f"));
|
|
139
181
|
var getLoopPollState = createServerFn({ method: "GET" }).inputValidator((data) => data).handler(createSsrRpc("4fd3855e3e9ed954e102071a55b98d91651c9b1e353161f7223768ed6f2b8c28"));
|
|
140
182
|
var runLoopBacklog = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("65494cbfd06143dbd9a012808fbba21163d9902e387869503fb8b68b0674902b"));
|
|
183
|
+
var lookLoopNow = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("965ff21ee2f1e1f5a1cb78d50570cbad6f58ccdbdcc7955f02f816a9c0684f8e"));
|
|
141
184
|
//#endregion
|
|
142
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/router-
|
|
185
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/router-54IDWTVz.js
|
|
143
186
|
/**
|
|
144
187
|
* Loopable's mark: something going round, and the thing it goes round for.
|
|
145
188
|
*
|
|
@@ -182,43 +225,6 @@ function LoopableMark({ className }) {
|
|
|
182
225
|
]
|
|
183
226
|
});
|
|
184
227
|
}
|
|
185
|
-
var buttonVariants = cva("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
186
|
-
variants: {
|
|
187
|
-
variant: {
|
|
188
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
189
|
-
outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
|
|
190
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
|
|
191
|
-
ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
|
|
192
|
-
destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
|
|
193
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
194
|
-
},
|
|
195
|
-
size: {
|
|
196
|
-
default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
197
|
-
xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
198
|
-
sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
|
|
199
|
-
lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
200
|
-
icon: "size-8",
|
|
201
|
-
"icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
|
|
202
|
-
"icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
|
|
203
|
-
"icon-lg": "size-9"
|
|
204
|
-
}
|
|
205
|
-
},
|
|
206
|
-
defaultVariants: {
|
|
207
|
-
variant: "default",
|
|
208
|
-
size: "default"
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
function Button$1({ className, variant = "default", size = "default", ...props }) {
|
|
212
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
|
|
213
|
-
"data-slot": "button",
|
|
214
|
-
className: cn(buttonVariants({
|
|
215
|
-
variant,
|
|
216
|
-
size,
|
|
217
|
-
className
|
|
218
|
-
})),
|
|
219
|
-
...props
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
228
|
/**
|
|
223
229
|
* The dispatcher can stop between two page loads and nothing on a page would
|
|
224
230
|
* change, so this asks rather than waiting to be told.
|
|
@@ -776,7 +782,7 @@ var Toaster$1 = ({ ...props }) => {
|
|
|
776
782
|
...props
|
|
777
783
|
});
|
|
778
784
|
};
|
|
779
|
-
var styles_default = "/assets/styles-
|
|
785
|
+
var styles_default = "/assets/styles-ClTGaXU0.css";
|
|
780
786
|
var Route$18 = createRootRoute({
|
|
781
787
|
head: () => ({
|
|
782
788
|
meta: [
|
|
@@ -1147,7 +1153,7 @@ function AgentRow({ manifest, view }) {
|
|
|
1147
1153
|
]
|
|
1148
1154
|
}) : null] });
|
|
1149
1155
|
}
|
|
1150
|
-
var $$splitComponentImporter$7 = () => import("./connectors-
|
|
1156
|
+
var $$splitComponentImporter$7 = () => import("./connectors-BU0IiRge.mjs");
|
|
1151
1157
|
var Route$15 = createFileRoute("/connectors/")({
|
|
1152
1158
|
validateSearch: (search) => {
|
|
1153
1159
|
const result = {};
|
|
@@ -1158,7 +1164,7 @@ var Route$15 = createFileRoute("/connectors/")({
|
|
|
1158
1164
|
loader: () => getConnectorOverview(),
|
|
1159
1165
|
component: lazyRouteComponent($$splitComponentImporter$7, "component")
|
|
1160
1166
|
});
|
|
1161
|
-
var $$splitComponentImporter$6 = () => import("../_connectorId-
|
|
1167
|
+
var $$splitComponentImporter$6 = () => import("../_connectorId-C9yydJrC.mjs");
|
|
1162
1168
|
var Route$14 = createFileRoute("/connectors/$connectorId")({
|
|
1163
1169
|
loader: async ({ params }) => {
|
|
1164
1170
|
if (!connectorManifest(params.connectorId)) throw notFound();
|
|
@@ -1168,12 +1174,12 @@ var Route$14 = createFileRoute("/connectors/$connectorId")({
|
|
|
1168
1174
|
},
|
|
1169
1175
|
component: lazyRouteComponent($$splitComponentImporter$6, "component")
|
|
1170
1176
|
});
|
|
1171
|
-
var $$splitComponentImporter$5 = () => import("./inbox-
|
|
1177
|
+
var $$splitComponentImporter$5 = () => import("./inbox-CAUBa1I3.mjs");
|
|
1172
1178
|
var Route$13 = createFileRoute("/inbox/")({
|
|
1173
|
-
loader:
|
|
1179
|
+
loader: () => getInbox(),
|
|
1174
1180
|
component: lazyRouteComponent($$splitComponentImporter$5, "component")
|
|
1175
1181
|
});
|
|
1176
|
-
var $$splitComponentImporter$4 = () => import("../_taskId-
|
|
1182
|
+
var $$splitComponentImporter$4 = () => import("../_taskId-V4QLBO2N.mjs");
|
|
1177
1183
|
var Route$12 = createFileRoute("/inbox/$taskId")({
|
|
1178
1184
|
loader: async ({ params }) => {
|
|
1179
1185
|
const task = await getTaskById({ data: { id: params.taskId } });
|
|
@@ -1200,7 +1206,7 @@ var Route$12 = createFileRoute("/inbox/$taskId")({
|
|
|
1200
1206
|
* sees it when it next renews its claim, which is why the button says it has
|
|
1201
1207
|
* been asked for rather than pretending it is already done.
|
|
1202
1208
|
*/
|
|
1203
|
-
var $$splitComponentImporter$3 = () => import("./loops-
|
|
1209
|
+
var $$splitComponentImporter$3 = () => import("./loops-Dqoebe8q.mjs");
|
|
1204
1210
|
var Route$11 = createFileRoute("/loops/")({
|
|
1205
1211
|
loader: () => getLoopsPage(),
|
|
1206
1212
|
component: lazyRouteComponent($$splitComponentImporter$3, "component")
|
|
@@ -1211,7 +1217,7 @@ var Route$11 = createFileRoute("/loops/")({
|
|
|
1211
1217
|
* may have been pointed somewhere else since it was made, and the card is the
|
|
1212
1218
|
* one place someone scanning a list would notice.
|
|
1213
1219
|
*/
|
|
1214
|
-
var $$splitComponentImporter$2 = () => import("../_loopId-
|
|
1220
|
+
var $$splitComponentImporter$2 = () => import("../_loopId-B0VG-eBC.mjs");
|
|
1215
1221
|
var Route$10 = createFileRoute("/loops/$loopId")({
|
|
1216
1222
|
loader: async ({ params }) => {
|
|
1217
1223
|
const loop = await getLoopById({ data: { id: params.loopId } });
|
|
@@ -1234,7 +1240,7 @@ var Route$10 = createFileRoute("/loops/$loopId")({
|
|
|
1234
1240
|
* signal to arrive is a slow way to do it. Dry run means that shaping leaves
|
|
1235
1241
|
* no marks on a real repository.
|
|
1236
1242
|
*/
|
|
1237
|
-
var $$splitComponentImporter$1 = () => import("./new-
|
|
1243
|
+
var $$splitComponentImporter$1 = () => import("./new-bBsVaWD6.mjs");
|
|
1238
1244
|
var Route$9 = createFileRoute("/loops/new")({
|
|
1239
1245
|
validateSearch: (search) => {
|
|
1240
1246
|
const result = {};
|
|
@@ -1264,7 +1270,7 @@ var Route$8 = createFileRoute("/machines/")({ beforeLoad: () => {
|
|
|
1264
1270
|
var getRunnersPage = createServerFn({ method: "GET" }).handler(createSsrRpc("45dbbb612763589268984d236edcd17f5868ecf716df9625bfa46e7fec691f4e"));
|
|
1265
1271
|
var rotateRunnerJoinToken = createServerFn({ method: "POST" }).handler(createSsrRpc("b4f7a66e1bb69cc14ab84d8f5dc7f85119c9a9b1d065a6b4e51dd0ba84c3f60c"));
|
|
1266
1272
|
var removeRunner = createServerFn({ method: "POST" }).inputValidator((data) => data).handler(createSsrRpc("611491b32d9583ccaae637ddf9fb2f842ff75994f50513ecd8273e305e889eb8"));
|
|
1267
|
-
var $$splitComponentImporter = () => import("./runners-
|
|
1273
|
+
var $$splitComponentImporter = () => import("./runners-DGWaVvWi.mjs");
|
|
1268
1274
|
var Route$7 = createFileRoute("/runners/")({
|
|
1269
1275
|
loader: () => getRunnersPage(),
|
|
1270
1276
|
component: lazyRouteComponent($$splitComponentImporter, "component")
|
|
@@ -1550,4 +1556,4 @@ function getRouter() {
|
|
|
1550
1556
|
});
|
|
1551
1557
|
}
|
|
1552
1558
|
//#endregion
|
|
1553
|
-
export {
|
|
1559
|
+
export { runPrompt as A, Card as B, lookLoopNow as C, saveLoop as D, runLoopBacklog as E, disconnectConnection as F, CardHeader as H, saveConnectionSettings as I, verifyConnection as L, beginQrLogin as M, connectWithToken as N, toggleLoop as O, continueQrLogin as P, Badge as R, Input$1 as S, reorderLoop as T, CardTitle as U, CardContent as V, cn as W, SelectItem as _, Route$9 as a, Label as b, Route$12 as c, Route$15 as d, useLiveRefresh as f, SelectContent as g, Select$1 as h, rotateRunnerJoinToken as i, stopTask as j, runLoopNow as k, Route$13 as l, isTaskActive as m, Route$7 as n, Route$10 as o, useLiveTasks as p, removeRunner as r, Route$11 as s, router_exports as t, Route$14 as u, SelectTrigger as v, removeLoop as w, Separator$1 as x, SelectValue as y, Button$1 as z };
|
|
@@ -1,8 +1,31 @@
|
|
|
1
1
|
import { n as createServerFn } from "./ssr.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { c as listRunners, n as forgetRunner, r as getJoinToken, u as rotateJoinToken } from "./runners-DtXs4Q8a.mjs";
|
|
2
|
+
import { c as listRunners, n as forgetRunner, r as getJoinToken, u as rotateJoinToken } from "./runners-D2UAdLyj.mjs";
|
|
4
3
|
import { t as createServerRpc } from "./createServerRpc-DPDrnFdH.mjs";
|
|
5
|
-
|
|
4
|
+
import { networkInterfaces } from "node:os";
|
|
5
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/runners-Cj6z9Mqh.js
|
|
6
|
+
function configuredOrigin() {
|
|
7
|
+
return process.env.LOOPABLE_BASE_URL?.replace(/\/$/, "") || null;
|
|
8
|
+
}
|
|
9
|
+
/** First non-internal IPv4, preferring typical LAN ranges. */
|
|
10
|
+
function lanIPv4(nics = networkInterfaces()) {
|
|
11
|
+
const found = [];
|
|
12
|
+
for (const addrs of Object.values(nics)) for (const addr of addrs ?? []) {
|
|
13
|
+
if (addr.internal) continue;
|
|
14
|
+
if (!["IPv4", "4"].includes(String(addr.family))) continue;
|
|
15
|
+
found.push(addr.address);
|
|
16
|
+
}
|
|
17
|
+
return found.find((ip) => ip.startsWith("192.168.")) ?? found.find((ip) => ip.startsWith("10.")) ?? found.find((ip) => {
|
|
18
|
+
const b = Number(ip.split(".")[1]);
|
|
19
|
+
return ip.startsWith("172.") && b >= 16 && b <= 31;
|
|
20
|
+
}) ?? found[0] ?? null;
|
|
21
|
+
}
|
|
22
|
+
/** Where runners should address this Loopable. A LAN IP when one exists. */
|
|
23
|
+
function loopableOrigin(nics = networkInterfaces()) {
|
|
24
|
+
const configured = configuredOrigin();
|
|
25
|
+
if (configured) return configured;
|
|
26
|
+
const port = process.env.PORT ?? process.env.NITRO_PORT ?? "4321";
|
|
27
|
+
return `http://${lanIPv4(nics) ?? "127.0.0.1"}:${port}`;
|
|
28
|
+
}
|
|
6
29
|
var getRunnersPage_createServerFn_handler = createServerRpc({
|
|
7
30
|
id: "45dbbb612763589268984d236edcd17f5868ecf716df9625bfa46e7fec691f4e",
|
|
8
31
|
name: "getRunnersPage",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { f as eq } from "../_libs/drizzle-orm.mjs";
|
|
2
|
-
import { f as runners, g as tasks, s as db } from "./client-
|
|
3
|
-
import { a as runnerTokenKey, o as secretStore, r as joinTokenKey } from "./secrets-
|
|
2
|
+
import { f as runners, g as tasks, s as db } from "./client-BtVRVhQ2.mjs";
|
|
3
|
+
import { a as runnerTokenKey, o as secretStore, r as joinTokenKey } from "./secrets-CRnpwGBh.mjs";
|
|
4
4
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
5
5
|
import { hostname } from "node:os";
|
|
6
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/runners-
|
|
6
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/runners-D2UAdLyj.js
|
|
7
7
|
var ONLINE_MS = 45e3;
|
|
8
8
|
function isRunnerOnline(row, now = Date.now()) {
|
|
9
9
|
if (row.status !== "online") return false;
|
|
@@ -2,9 +2,9 @@ import { U as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
|
2
2
|
import { m as useRouter } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
3
3
|
import { s as Server } from "../_libs/lucide-react.mjs";
|
|
4
4
|
import { n as toast } from "../_libs/sonner.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import { n as AlertDescription, t as Alert } from "./alert-
|
|
7
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/runners-
|
|
5
|
+
import { B as Card, H as CardHeader, R as Badge, V as CardContent, f as useLiveRefresh, i as rotateRunnerJoinToken, n as Route$7, r as removeRunner, z as Button$1 } from "./router-54IDWTVz.mjs";
|
|
6
|
+
import { n as AlertDescription, t as Alert } from "./alert-DQvzE7bu.mjs";
|
|
7
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/runners-DGWaVvWi.js
|
|
8
8
|
var import_jsx_runtime = require_jsx_runtime();
|
|
9
9
|
function inventoryLines(runner) {
|
|
10
10
|
if (runner.inventory.length === 0) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
@@ -44,7 +44,7 @@ function RunnersPage() {
|
|
|
44
44
|
className: "text-xs",
|
|
45
45
|
children: "npm install -g loopable-cli"
|
|
46
46
|
}),
|
|
47
|
-
"), sign in a coding agent on that host, then start a runner
|
|
47
|
+
"), sign in a coding agent on that host, then start a runner. Use this LAN IP so other machines can reach the App."
|
|
48
48
|
]
|
|
49
49
|
}),
|
|
50
50
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { f as eq } from "../_libs/drizzle-orm.mjs";
|
|
2
|
-
import { m as secrets, o as dataDir, p as secretNamespace, s as db } from "./client-
|
|
2
|
+
import { m as secrets, o as dataDir, p as secretNamespace, s as db } from "./client-BtVRVhQ2.mjs";
|
|
3
3
|
import { chmodSync, existsSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { execFileSync } from "node:child_process";
|
|
6
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/secrets-
|
|
6
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/secrets-CRnpwGBh.js
|
|
7
7
|
/**
|
|
8
8
|
* Hosted Loopable shares a network database between the App Worker and the
|
|
9
9
|
* Dispatcher. A local laptop still uses a file, and needs none of this.
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
|
|
1
|
+
import { U as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
2
|
+
import { S as Input$1, _ as SelectItem, b as Label, g as SelectContent, h as Select$1, v as SelectTrigger, y as SelectValue } from "./router-54IDWTVz.mjs";
|
|
3
|
+
import { t as Switch$1 } from "./switch-1pnd_bPJ.mjs";
|
|
4
|
+
import { t as Textarea } from "./textarea-CHJTKtsJ.mjs";
|
|
5
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/setting-fields-DzBlslan.js
|
|
6
6
|
var import_jsx_runtime = require_jsx_runtime();
|
|
7
|
-
function Textarea({ className, ...props }) {
|
|
8
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("textarea", {
|
|
9
|
-
"data-slot": "textarea",
|
|
10
|
-
className: cn("flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className),
|
|
11
|
-
...props
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
7
|
/**
|
|
15
8
|
* One renderer for anything a connector declares as a field, so connection
|
|
16
9
|
* settings and loop conditions can never drift apart visually.
|
|
@@ -89,4 +82,4 @@ function SettingFieldInputs({ fields, values, onChange, idPrefix = "" }) {
|
|
|
89
82
|
}) });
|
|
90
83
|
}
|
|
91
84
|
//#endregion
|
|
92
|
-
export {
|
|
85
|
+
export { initialFieldValues as n, SettingFieldInputs as t };
|
|
@@ -4107,7 +4107,7 @@ var defaultSerovalPlugins = [
|
|
|
4107
4107
|
* the dev styles URL for route-scoped CSS collection.
|
|
4108
4108
|
*/
|
|
4109
4109
|
async function getStartManifest(matchedRoutes) {
|
|
4110
|
-
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-
|
|
4110
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-CvheE7ZF.mjs");
|
|
4111
4111
|
const startManifest = tsrStartManifest();
|
|
4112
4112
|
let routes = startManifest.routes;
|
|
4113
4113
|
routes[rootRouteId];
|
|
@@ -4129,123 +4129,135 @@ async function getStartManifest(matchedRoutes) {
|
|
|
4129
4129
|
var manifest = {
|
|
4130
4130
|
"0033ef7c619c027b1428a722dff188d315ed335645afcb1033528630b7c95e88": {
|
|
4131
4131
|
functionName: "getTaskById_createServerFn_handler",
|
|
4132
|
-
importer: () => import("./tasks-
|
|
4132
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4133
4133
|
},
|
|
4134
4134
|
"0e209afb63fad4a95a5cfeaf4831610f23673145cbf5b8054765d79804a62d31": {
|
|
4135
4135
|
functionName: "getConnectorOverview_createServerFn_handler",
|
|
4136
|
-
importer: () => import("./connectors-
|
|
4136
|
+
importer: () => import("./connectors-e0mf2pMs.mjs")
|
|
4137
4137
|
},
|
|
4138
4138
|
"0fa144f67263a4a51c51e8baf134a15b89c0afdf9b92b64660520a5bce247eec": {
|
|
4139
4139
|
functionName: "pauseDispatcher_createServerFn_handler",
|
|
4140
|
-
importer: () => import("./tasks-
|
|
4140
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4141
4141
|
},
|
|
4142
4142
|
"143ea51f7421d9eebec9ad31c2df8eed5aa2e5d8035473dbfad39913fd7d54c0": {
|
|
4143
4143
|
functionName: "chooseDefaultAgent_createServerFn_handler",
|
|
4144
|
-
importer: () => import("./agents-
|
|
4144
|
+
importer: () => import("./agents-C7B6RJ6-.mjs")
|
|
4145
4145
|
},
|
|
4146
4146
|
"18bae5deb2a19571893f0067e374e537f16d6774f9b4e04f9b7349360f6f8fdc": {
|
|
4147
4147
|
functionName: "saveConnectionSettings_createServerFn_handler",
|
|
4148
|
-
importer: () => import("./connectors-
|
|
4148
|
+
importer: () => import("./connectors-e0mf2pMs.mjs")
|
|
4149
4149
|
},
|
|
4150
4150
|
"3f938fac3e5ec1631e700a2fdd4790e78abbefeb732ecfbbe6864cc19f0d5aac": {
|
|
4151
4151
|
functionName: "getLoopTasks_createServerFn_handler",
|
|
4152
|
-
importer: () => import("./tasks-
|
|
4152
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4153
4153
|
},
|
|
4154
4154
|
"3fc8a7de98be979f9820a4f5a0ca2e234ed8a7df8e692abb8c4437765474eca0": {
|
|
4155
4155
|
functionName: "toggleLoop_createServerFn_handler",
|
|
4156
|
-
importer: () => import("./loops-
|
|
4156
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4157
4157
|
},
|
|
4158
4158
|
"43b97e3644ad73286fe5de3e99134bff099e1a8704f1ae91fe643d419eceba73": {
|
|
4159
4159
|
functionName: "continueQrLogin_createServerFn_handler",
|
|
4160
|
-
importer: () => import("./connectors-
|
|
4160
|
+
importer: () => import("./connectors-e0mf2pMs.mjs")
|
|
4161
4161
|
},
|
|
4162
4162
|
"45dbbb612763589268984d236edcd17f5868ecf716df9625bfa46e7fec691f4e": {
|
|
4163
4163
|
functionName: "getRunnersPage_createServerFn_handler",
|
|
4164
|
-
importer: () => import("./runners-
|
|
4164
|
+
importer: () => import("./runners-Cj6z9Mqh.mjs")
|
|
4165
4165
|
},
|
|
4166
4166
|
"48bc32df9d6f69f45df8dfbc6e798e1f99152dbd4b4ed65b149fa2612c65e687": {
|
|
4167
4167
|
functionName: "getInbox_createServerFn_handler",
|
|
4168
|
-
importer: () => import("./tasks-
|
|
4168
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4169
4169
|
},
|
|
4170
4170
|
"4fd3855e3e9ed954e102071a55b98d91651c9b1e353161f7223768ed6f2b8c28": {
|
|
4171
4171
|
functionName: "getLoopPollState_createServerFn_handler",
|
|
4172
|
-
importer: () => import("./loops-
|
|
4172
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4173
4173
|
},
|
|
4174
4174
|
"611491b32d9583ccaae637ddf9fb2f842ff75994f50513ecd8273e305e889eb8": {
|
|
4175
4175
|
functionName: "removeRunner_createServerFn_handler",
|
|
4176
|
-
importer: () => import("./runners-
|
|
4176
|
+
importer: () => import("./runners-Cj6z9Mqh.mjs")
|
|
4177
4177
|
},
|
|
4178
4178
|
"65494cbfd06143dbd9a012808fbba21163d9902e387869503fb8b68b0674902b": {
|
|
4179
4179
|
functionName: "runLoopBacklog_createServerFn_handler",
|
|
4180
|
-
importer: () => import("./loops-
|
|
4180
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4181
4181
|
},
|
|
4182
4182
|
"6d5a90e9ec4ebf70d8e2ac4aff960533a5e68d21b289033cc7e0751d00554c93": {
|
|
4183
4183
|
functionName: "getLoopsPage_createServerFn_handler",
|
|
4184
|
-
importer: () => import("./loops-
|
|
4184
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4185
4185
|
},
|
|
4186
4186
|
"7258ce5fc6f23acf3aab039ecd4acdb006d42b2ddbf3ab8629b4000e101b51dc": {
|
|
4187
4187
|
functionName: "runLoopNow_createServerFn_handler",
|
|
4188
|
-
importer: () => import("./tasks-
|
|
4188
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4189
4189
|
},
|
|
4190
4190
|
"794964d675b97edaa881ab5cb209225ef0a4507e3d2771d6577658a058e7621f": {
|
|
4191
4191
|
functionName: "beginQrLogin_createServerFn_handler",
|
|
4192
|
-
importer: () => import("./connectors-
|
|
4192
|
+
importer: () => import("./connectors-e0mf2pMs.mjs")
|
|
4193
4193
|
},
|
|
4194
4194
|
"7d7d5f80a4f0d2b3bb659d7dc2a91ea5983880648b9d1aa24356e7340505930f": {
|
|
4195
4195
|
functionName: "reorderLoop_createServerFn_handler",
|
|
4196
|
-
importer: () => import("./loops-
|
|
4196
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4197
4197
|
},
|
|
4198
4198
|
"80883b912a5a0aba2aa583b505e4e289d765a3f7fbb793a97692f439e7f960ba": {
|
|
4199
4199
|
functionName: "saveAgent_createServerFn_handler",
|
|
4200
|
-
importer: () => import("./agents-
|
|
4200
|
+
importer: () => import("./agents-C7B6RJ6-.mjs")
|
|
4201
4201
|
},
|
|
4202
4202
|
"81a1af559b2a373901872aa9f9a6546f2f3bda8157d81c21a36ba0d1d337613b": {
|
|
4203
4203
|
functionName: "getLoopById_createServerFn_handler",
|
|
4204
|
-
importer: () => import("./loops-
|
|
4204
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4205
4205
|
},
|
|
4206
4206
|
"81f567724371f0d6f24e636906e2e9ea5b7384422ac583c86a1050fb838664ce": {
|
|
4207
4207
|
functionName: "getTaskLog_createServerFn_handler",
|
|
4208
|
-
importer: () => import("./tasks-
|
|
4208
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4209
4209
|
},
|
|
4210
4210
|
"921b049ebafe3c6fb5206fbe3e2100608d3333b944e18385e57da62a28233bc6": {
|
|
4211
4211
|
functionName: "getDispatcherState_createServerFn_handler",
|
|
4212
|
-
importer: () => import("./tasks-
|
|
4212
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4213
|
+
},
|
|
4214
|
+
"965ff21ee2f1e1f5a1cb78d50570cbad6f58ccdbdcc7955f02f816a9c0684f8e": {
|
|
4215
|
+
functionName: "lookLoopNow_createServerFn_handler",
|
|
4216
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4213
4217
|
},
|
|
4214
4218
|
"997d2dd097598c44811fe97def167b79d33e4349c51e783058da648e860c7c1f": {
|
|
4215
4219
|
functionName: "getLoopReadiness_createServerFn_handler",
|
|
4216
|
-
importer: () => import("./loops-
|
|
4220
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4217
4221
|
},
|
|
4218
4222
|
"a57f49c322cc5afa2996e4a5777fa533fd963755d614d4a14eb32e51fb198d9d": {
|
|
4219
4223
|
functionName: "stopTask_createServerFn_handler",
|
|
4220
|
-
importer: () => import("./tasks-
|
|
4224
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4221
4225
|
},
|
|
4222
4226
|
"b0878f841b35f46b5f2dc9cbd71c5be5895ae1b8903b3b24c24dfcf86291d3e4": {
|
|
4223
4227
|
functionName: "runAgentTest_createServerFn_handler",
|
|
4224
|
-
importer: () => import("./agents-
|
|
4228
|
+
importer: () => import("./agents-C7B6RJ6-.mjs")
|
|
4225
4229
|
},
|
|
4226
4230
|
"b4f7a66e1bb69cc14ab84d8f5dc7f85119c9a9b1d065a6b4e51dd0ba84c3f60c": {
|
|
4227
4231
|
functionName: "rotateRunnerJoinToken_createServerFn_handler",
|
|
4228
|
-
importer: () => import("./runners-
|
|
4232
|
+
importer: () => import("./runners-Cj6z9Mqh.mjs")
|
|
4229
4233
|
},
|
|
4230
4234
|
"b5a89ca2d07f4ccf2827b5132ca52e7c7a42d584e702b0ab3963b2d5763c35b0": {
|
|
4231
4235
|
functionName: "removeLoop_createServerFn_handler",
|
|
4232
|
-
importer: () => import("./loops-
|
|
4236
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4233
4237
|
},
|
|
4234
4238
|
"bde588e9b0b81a4ee619a63872d6b8b76e22db006c7a3c4351bcd56e5f76bbed": {
|
|
4235
4239
|
functionName: "getAgentsPage_createServerFn_handler",
|
|
4236
|
-
importer: () => import("./agents-
|
|
4240
|
+
importer: () => import("./agents-C7B6RJ6-.mjs")
|
|
4241
|
+
},
|
|
4242
|
+
"bef559b165754b06d6d5cf7c6dccde3d5a6a326462430c621eb131f78665d6e1": {
|
|
4243
|
+
functionName: "runPrompt_createServerFn_handler",
|
|
4244
|
+
importer: () => import("./tasks-Qtml5TlK.mjs")
|
|
4237
4245
|
},
|
|
4238
4246
|
"e91fc2fd51633c7ca9184fea4beb66fe775ed0b4e6323111a4690da916a78b00": {
|
|
4239
4247
|
functionName: "saveLoop_createServerFn_handler",
|
|
4240
|
-
importer: () => import("./loops-
|
|
4248
|
+
importer: () => import("./loops-D8WuK7Ke.mjs")
|
|
4241
4249
|
},
|
|
4242
4250
|
"f94f0787ce6704ea24f18add66832e0367a0feb9a690d8ad6454abec5e5df193": {
|
|
4243
4251
|
functionName: "disconnectConnection_createServerFn_handler",
|
|
4244
|
-
importer: () => import("./connectors-
|
|
4252
|
+
importer: () => import("./connectors-e0mf2pMs.mjs")
|
|
4245
4253
|
},
|
|
4246
4254
|
"f9ade3084971078ee9f2bc16fcdcdfb5a8d66a0f9b634803bb611287c14e21d7": {
|
|
4247
4255
|
functionName: "verifyConnection_createServerFn_handler",
|
|
4248
|
-
importer: () => import("./connectors-
|
|
4256
|
+
importer: () => import("./connectors-e0mf2pMs.mjs")
|
|
4257
|
+
},
|
|
4258
|
+
"fbf19a0d12b4046a23a8a41e106a79443b174cf1cad922b029e23fb4679b20db": {
|
|
4259
|
+
functionName: "connectWithToken_createServerFn_handler",
|
|
4260
|
+
importer: () => import("./connectors-e0mf2pMs.mjs")
|
|
4249
4261
|
}
|
|
4250
4262
|
};
|
|
4251
4263
|
async function getServerFnById(id, access) {
|
|
@@ -6156,8 +6168,8 @@ var getBaseManifest = getProdBaseManifest;
|
|
|
6156
6168
|
var createEarlyHintsForRequest = createEarlyHintsCollector;
|
|
6157
6169
|
async function loadEntries() {
|
|
6158
6170
|
const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
|
|
6159
|
-
import("./router-
|
|
6160
|
-
import("./start-
|
|
6171
|
+
import("./router-54IDWTVz.mjs").then((n) => n.t),
|
|
6172
|
+
import("./start-Vq3Oan3v.mjs"),
|
|
6161
6173
|
import("./empty-plugin-adapters-BJ4m9L8g.mjs")
|
|
6162
6174
|
]);
|
|
6163
6175
|
return {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { t as createMiddleware } from "./ssr.mjs";
|
|
2
|
-
import { l as migrateIfNeeded } from "./client-
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/start-Bdc2GJUI.js
|
|
2
|
+
import { l as migrateIfNeeded } from "./client-BtVRVhQ2.mjs";
|
|
3
|
+
import { c as readAppToken, o as isLoopbackHost, r as assertAppAccess, s as isPublicApiPath, t as appAccessCookie } from "./access-DTttr563.mjs";
|
|
4
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/start-Vq3Oan3v.js
|
|
6
5
|
function dedupeSerializationAdapters(deduped, serializationAdapters) {
|
|
7
6
|
for (let i = 0, len = serializationAdapters.length; i < len; i++) {
|
|
8
7
|
const current = serializationAdapters[i];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { U as require_jsx_runtime, c as SwitchThumb, l as SwitchRoot } from "../_libs/@base-ui/react+[...].mjs";
|
|
2
|
-
import {
|
|
3
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/switch-
|
|
2
|
+
import { W as cn } from "./router-54IDWTVz.mjs";
|
|
3
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/switch-1pnd_bPJ.js
|
|
4
4
|
var import_jsx_runtime = require_jsx_runtime();
|
|
5
5
|
function Switch$1({ className, size = "default", ...props }) {
|
|
6
6
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SwitchRoot, {
|