@agentstep/agent-sdk 0.5.11 → 0.5.13
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/dist/auth/middleware.js +8 -8
- package/dist/backends/claude/args.js +6 -6
- package/dist/backends/claude/index.js +11 -11
- package/dist/backends/codex/auth.js +6 -6
- package/dist/backends/codex/index.js +12 -12
- package/dist/backends/factory/auth.js +6 -6
- package/dist/backends/factory/index.js +14 -14
- package/dist/backends/gemini/auth.js +6 -6
- package/dist/backends/gemini/index.js +10 -10
- package/dist/backends/opencode/auth.js +6 -6
- package/dist/backends/opencode/index.js +12 -12
- package/dist/backends/pi/auth.js +6 -6
- package/dist/backends/pi/index.js +12 -12
- package/dist/backends/registry.js +30 -30
- package/dist/{chunk-ZEDULYKX.js → chunk-2IISXUVF.js} +1 -1
- package/dist/{chunk-34Q6WMIT.js → chunk-2Z56TPBL.js} +3 -3
- package/dist/{chunk-MMB7ZTAF.js → chunk-3DRK36FB.js} +5 -5
- package/dist/{chunk-LXSGQ2VF.js → chunk-3NNU7TQ4.js} +8 -8
- package/dist/{chunk-SAA6477U.js → chunk-3UK3IF27.js} +4 -4
- package/dist/chunk-4ANV3AH3.js +65 -0
- package/dist/{chunk-RNU253MD.js → chunk-4ENK7S24.js} +21 -2
- package/dist/{chunk-IFZ7EXMG.js → chunk-4EVT4MFD.js} +1 -1
- package/dist/{chunk-7POF237O.js → chunk-4MKJB6U2.js} +1 -1
- package/dist/{chunk-WKPUTJGD.js → chunk-5LDBCBOR.js} +1 -1
- package/dist/{chunk-5KXAMBPI.js → chunk-6PIL2RJD.js} +2 -2
- package/dist/{chunk-WUMBZMBF.js → chunk-7ASUTNKE.js} +2 -2
- package/dist/{chunk-CR3UN3BC.js → chunk-7BT6V4CH.js} +20 -18
- package/dist/{chunk-5COWXLGO.js → chunk-7D55V4XP.js} +1 -1
- package/dist/{chunk-BJ3EPRZU.js → chunk-7NZ46LIO.js} +29 -28
- package/dist/{chunk-6FNPCZTL.js → chunk-7SO7O6RV.js} +2 -2
- package/dist/{chunk-4JPJ3ZIV.js → chunk-7Z6LTBYQ.js} +5 -5
- package/dist/{chunk-NVTDXBGV.js → chunk-APKELBCA.js} +1 -1
- package/dist/{chunk-RYVVSBST.js → chunk-B3UOTIOI.js} +7 -7
- package/dist/{chunk-KZGFT75I.js → chunk-B4COQYOI.js} +45 -18
- package/dist/{chunk-4UNMDYKD.js → chunk-B5JUCPYW.js} +1 -1
- package/dist/{chunk-LJSD6G6K.js → chunk-BQ5MWNWN.js} +3 -3
- package/dist/{chunk-KB4EKC5T.js → chunk-BYJRL4IQ.js} +5 -5
- package/dist/{chunk-7NIUHK63.js → chunk-C3ZPWUDE.js} +2 -2
- package/dist/{chunk-LSXVCZN7.js → chunk-CD2FQVQR.js} +1 -1
- package/dist/{chunk-6BOOQV4Q.js → chunk-CFLMIJ2C.js} +3 -3
- package/dist/{chunk-GMIAU3CP.js → chunk-CGGGCKSK.js} +4 -4
- package/dist/chunk-D2GADI73.js +253 -0
- package/dist/{chunk-MPG77WHN.js → chunk-D3TY7PMJ.js} +5 -5
- package/dist/{chunk-UHPS3XNG.js → chunk-DAIEVD4O.js} +4 -4
- package/dist/{chunk-2U2KCTMF.js → chunk-DDF2CRA3.js} +2 -2
- package/dist/{chunk-WL3VMUAI.js → chunk-FCKUWBUL.js} +2 -2
- package/dist/{chunk-YFGBTXID.js → chunk-FV2XE3DX.js} +2 -2
- package/dist/{chunk-73BYGQWA.js → chunk-G7Y5YGLE.js} +1 -1
- package/dist/{chunk-JE5Z2GLG.js → chunk-HE3IEIKM.js} +3 -3
- package/dist/{chunk-WKMRBRJQ.js → chunk-HH23DOBB.js} +1 -1
- package/dist/{chunk-HCORTMQH.js → chunk-HHS6EHSG.js} +4 -4
- package/dist/{chunk-T4IPZC4G.js → chunk-ISXWS5Y4.js} +6 -6
- package/dist/{chunk-TCTAUIAQ.js → chunk-JK2GXKOQ.js} +5 -5
- package/dist/{chunk-7KSQJK2V.js → chunk-JXU6SA6S.js} +42 -1
- package/dist/{chunk-ALIJNBQY.js → chunk-KHICXOTH.js} +3 -3
- package/dist/{chunk-BUQATYS7.js → chunk-KNWM237Q.js} +2 -2
- package/dist/{chunk-RNDLMMKI.js → chunk-LOWHDHDD.js} +3 -3
- package/dist/{chunk-6SVZD3UA.js → chunk-M4OF5D4K.js} +4 -4
- package/dist/{chunk-VFVLRR3Z.js → chunk-M7SYXJBT.js} +1 -1
- package/dist/{chunk-IBO36HUU.js → chunk-MQBNN4KH.js} +1 -1
- package/dist/{chunk-32RP2UX6.js → chunk-MTB7SCZ5.js} +5 -5
- package/dist/{chunk-LEVIKSPQ.js → chunk-MTRTBT7L.js} +1 -1
- package/dist/{chunk-UMIIZKVX.js → chunk-N5F5OUUZ.js} +3 -3
- package/dist/{chunk-KGTWD46T.js → chunk-NWIMPG4M.js} +1 -1
- package/dist/chunk-ONEKY3CM.js +146 -0
- package/dist/{chunk-OMI5CR4P.js → chunk-ONS32E65.js} +28 -20
- package/dist/{chunk-N5C3WQWD.js → chunk-PDUQCDIO.js} +1 -1
- package/dist/{chunk-DSNNEER4.js → chunk-PJTGQVKB.js} +1 -1
- package/dist/{chunk-M2ZBXMYO.js → chunk-PLSXDJT4.js} +5 -4
- package/dist/{chunk-2UDGQWRA.js → chunk-PPI76YVT.js} +2 -2
- package/dist/{chunk-N33MOUCH.js → chunk-PRWWTLPR.js} +3 -3
- package/dist/{chunk-T75UYYMI.js → chunk-PVFGDKXO.js} +2 -2
- package/dist/{chunk-PIJJXKMK.js → chunk-PXMTLKUJ.js} +3 -3
- package/dist/{chunk-6ERUVF2Y.js → chunk-QB7JAMWG.js} +1 -1
- package/dist/{chunk-KRQRJEQY.js → chunk-QS544PN6.js} +4 -4
- package/dist/{chunk-4N7WVJHB.js → chunk-R5LXEIOJ.js} +9 -9
- package/dist/{chunk-OJUDLJOG.js → chunk-REY2YZ5X.js} +3 -3
- package/dist/{chunk-4IEDAORR.js → chunk-RFK4W5PZ.js} +1 -1
- package/dist/{chunk-NOG7ZJJA.js → chunk-RLLVP37Q.js} +1 -1
- package/dist/{chunk-UONJFSWM.js → chunk-S5NB47IR.js} +6 -6
- package/dist/{chunk-3XGUMXGR.js → chunk-SXR4HQZY.js} +2 -2
- package/dist/{chunk-YN2F26NN.js → chunk-T3CXZ2BE.js} +2 -2
- package/dist/{chunk-I7FLMXEF.js → chunk-TN34IN7S.js} +16 -13
- package/dist/{chunk-XUODI55L.js → chunk-U3QU5AVC.js} +1 -1
- package/dist/{chunk-GTHATO73.js → chunk-UB5WVCY4.js} +3 -3
- package/dist/{chunk-3TF3YLM2.js → chunk-UROFA6OZ.js} +2 -2
- package/dist/{chunk-4HFKDLD7.js → chunk-UTQRPXTL.js} +9 -8
- package/dist/{chunk-Y3EUEPGQ.js → chunk-UWHV7EJG.js} +2 -2
- package/dist/{chunk-5VL4L6BJ.js → chunk-VG2TYPZ4.js} +18 -2
- package/dist/{chunk-EZBJEV6F.js → chunk-VTH56ERA.js} +4 -4
- package/dist/{chunk-Z4DZMNDE.js → chunk-W6QYWXOZ.js} +2 -2
- package/dist/{chunk-3WZGFAV4.js → chunk-WKGJQIRC.js} +4 -3
- package/dist/{chunk-EGN4TPN5.js → chunk-WT3SEE34.js} +3 -3
- package/dist/{chunk-CZ4IOIWV.js → chunk-X23OAFFE.js} +4 -4
- package/dist/{chunk-DVDNHXCM.js → chunk-XSRIFWHR.js} +2 -2
- package/dist/{chunk-SS5IC3XV.js → chunk-Y6BFKPNB.js} +1 -1
- package/dist/{chunk-EFSLGRY2.js → chunk-YCL5RHEC.js} +2 -2
- package/dist/{chunk-RTLMLG3A.js → chunk-YD67W6DW.js} +7 -7
- package/dist/{chunk-4QRE6LZG.js → chunk-YE47YUGE.js} +6 -6
- package/dist/{chunk-F6DCNXO5.js → chunk-YEJFXJHR.js} +2 -2
- package/dist/{chunk-RJB7YG26.js → chunk-YUVQQCT4.js} +15 -15
- package/dist/{chunk-T64ECODW.js → chunk-YUZFNAG6.js} +21 -0
- package/dist/{chunk-G43CK3VC.js → chunk-YWAMRRAX.js} +9 -9
- package/dist/config/index.js +5 -5
- package/dist/containers/client.js +6 -6
- package/dist/containers/exec.js +6 -6
- package/dist/containers/lifecycle.js +42 -42
- package/dist/containers/setup.js +9 -8
- package/dist/db/agents.js +6 -6
- package/dist/db/api_keys.js +5 -5
- package/dist/db/audit.js +3 -3
- package/dist/db/batch.js +10 -10
- package/dist/db/client.js +2 -2
- package/dist/db/credentials.js +3 -3
- package/dist/db/drizzle.js +4 -4
- package/dist/db/environments.js +6 -6
- package/dist/db/events.js +5 -5
- package/dist/db/files.js +5 -5
- package/dist/db/memory.js +5 -5
- package/dist/db/migrations.js +1 -1
- package/dist/db/proxy.js +5 -5
- package/dist/db/schema.js +5 -3
- package/dist/db/session-resources.js +5 -5
- package/dist/db/sessions.js +8 -8
- package/dist/db/skills.js +5 -5
- package/dist/db/sync.js +5 -5
- package/dist/db/tenants.js +3 -3
- package/dist/db/threads.js +7 -7
- package/dist/db/traces.js +5 -5
- package/dist/db/upstream_keys.js +3 -3
- package/dist/db/vaults.js +6 -6
- package/dist/db/work.js +33 -0
- package/dist/dreaming/review.js +11 -11
- package/dist/handlers/agents.js +58 -58
- package/dist/handlers/api_keys.js +59 -59
- package/dist/handlers/audit.js +59 -59
- package/dist/handlers/batch.js +59 -59
- package/dist/handlers/credentials.js +59 -59
- package/dist/handlers/environments.js +59 -59
- package/dist/handlers/events.js +62 -62
- package/dist/handlers/files.js +59 -59
- package/dist/handlers/index.js +135 -114
- package/dist/handlers/license.js +58 -58
- package/dist/handlers/memory.js +60 -60
- package/dist/handlers/metrics.js +58 -58
- package/dist/handlers/models.js +59 -59
- package/dist/handlers/providers.js +58 -58
- package/dist/handlers/resources.js +58 -58
- package/dist/handlers/sessions.js +62 -62
- package/dist/handlers/settings.js +58 -58
- package/dist/handlers/skills-write.js +61 -59
- package/dist/handlers/skills.js +59 -59
- package/dist/handlers/stream.js +58 -58
- package/dist/handlers/tenants.js +59 -59
- package/dist/handlers/threads.js +59 -59
- package/dist/handlers/traces.js +59 -59
- package/dist/handlers/ui.d.ts +6 -0
- package/dist/handlers/ui.d.ts.map +1 -0
- package/dist/handlers/ui.js +1 -1
- package/dist/handlers/upstream_keys.js +61 -61
- package/dist/handlers/vaults.js +58 -58
- package/dist/handlers/whoami.js +58 -58
- package/dist/handlers/work.js +114 -0
- package/dist/http.js +57 -57
- package/dist/index.js +78 -67
- package/dist/init.js +54 -54
- package/dist/lib/model-registry.js +6 -6
- package/dist/lib/skills-cache.js +6 -6
- package/dist/observability/otlp.js +12 -12
- package/dist/observability/redactor.js +8 -8
- package/dist/providers/fly.js +5 -5
- package/dist/providers/modal.js +5 -5
- package/dist/providers/registry.js +15 -3
- package/dist/providers/resolve-secrets.js +7 -7
- package/dist/providers/sprites.js +7 -7
- package/dist/providers/upstream-keys.js +12 -12
- package/dist/providers/vercel.js +5 -5
- package/dist/proxy/forward.js +6 -6
- package/dist/queue/index.js +6 -6
- package/dist/sessions/bus.js +10 -10
- package/dist/sessions/driver.js +47 -47
- package/dist/sessions/grader.js +5 -5
- package/dist/sessions/secrets.js +8 -8
- package/dist/sessions/sweeper.js +43 -43
- package/dist/sessions/threads.js +48 -48
- package/dist/shutdown.js +44 -44
- package/dist/sync/anthropic.js +10 -10
- package/dist/sync/container-file-sync.js +6 -6
- package/dist/sync/file-sync.js +17 -17
- package/dist/workers/runner.js +85 -0
- package/package.json +1 -1
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
getDrizzle,
|
|
12
12
|
init_drizzle
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-PVFGDKXO.js";
|
|
14
14
|
import {
|
|
15
15
|
schema_exports
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-4ENK7S24.js";
|
|
17
17
|
|
|
18
18
|
// src/db/files.ts
|
|
19
19
|
init_drizzle();
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
getDrizzle,
|
|
7
7
|
init_drizzle
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PVFGDKXO.js";
|
|
9
9
|
import {
|
|
10
10
|
schema_exports
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-4ENK7S24.js";
|
|
12
12
|
import {
|
|
13
13
|
getDb,
|
|
14
14
|
init_client
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-U3QU5AVC.js";
|
|
16
16
|
|
|
17
17
|
// src/db/sync.ts
|
|
18
18
|
init_drizzle();
|
|
@@ -2,19 +2,19 @@ import {
|
|
|
2
2
|
getSyncRow,
|
|
3
3
|
getSyncedRemoteId,
|
|
4
4
|
upsertSync
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LOWHDHDD.js";
|
|
6
6
|
import {
|
|
7
7
|
injectMcpAuthHeaders
|
|
8
8
|
} from "./chunk-DBFPJSOY.js";
|
|
9
9
|
import {
|
|
10
10
|
listEntries
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-REY2YZ5X.js";
|
|
12
12
|
import {
|
|
13
13
|
getEnvironment
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CFLMIJ2C.js";
|
|
15
15
|
import {
|
|
16
16
|
getAgent
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WT3SEE34.js";
|
|
18
18
|
|
|
19
19
|
// src/sync/anthropic.ts
|
|
20
20
|
import { createHash } from "crypto";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_session_resources,
|
|
3
3
|
session_resources_exports
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UROFA6OZ.js";
|
|
5
5
|
import {
|
|
6
6
|
getAgent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WT3SEE34.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_TENANT_ID
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CD2FQVQR.js";
|
|
11
11
|
import {
|
|
12
12
|
init_ids,
|
|
13
13
|
newId
|
|
@@ -20,10 +20,10 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
getDrizzle,
|
|
22
22
|
init_drizzle
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-PVFGDKXO.js";
|
|
24
24
|
import {
|
|
25
25
|
schema_exports
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-4ENK7S24.js";
|
|
27
27
|
import {
|
|
28
28
|
__toCommonJS
|
|
29
29
|
} from "./chunk-2ESYSVXG.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
jsonOk,
|
|
3
3
|
routeWrap
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FCKUWBUL.js";
|
|
5
5
|
import {
|
|
6
6
|
resolveContainerProvider
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JXU6SA6S.js";
|
|
8
8
|
import {
|
|
9
9
|
getConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WKGJQIRC.js";
|
|
11
11
|
|
|
12
12
|
// src/handlers/providers.ts
|
|
13
13
|
var LOCAL_PROVIDERS = ["docker", "apple-container", "podman"];
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ackWorkItem,
|
|
3
|
+
getWorkItem,
|
|
4
|
+
getWorkQueueStats,
|
|
5
|
+
heartbeatWorkItem,
|
|
6
|
+
listWorkItems,
|
|
7
|
+
pollWorkItem,
|
|
8
|
+
stopWorkItem,
|
|
9
|
+
updateWorkItemMetadata
|
|
10
|
+
} from "./chunk-D2GADI73.js";
|
|
11
|
+
import {
|
|
12
|
+
decodeCursor,
|
|
13
|
+
jsonOk,
|
|
14
|
+
paginatedOk,
|
|
15
|
+
routeWrap
|
|
16
|
+
} from "./chunk-FCKUWBUL.js";
|
|
17
|
+
import {
|
|
18
|
+
getEnvironment
|
|
19
|
+
} from "./chunk-CFLMIJ2C.js";
|
|
20
|
+
import {
|
|
21
|
+
badRequest,
|
|
22
|
+
notFound
|
|
23
|
+
} from "./chunk-EZYKRG4W.js";
|
|
24
|
+
|
|
25
|
+
// src/handlers/work.ts
|
|
26
|
+
import { z } from "zod";
|
|
27
|
+
function assertSelfHostedEnv(envId) {
|
|
28
|
+
const env = getEnvironment(envId);
|
|
29
|
+
if (!env) throw notFound(`environment not found: ${envId}`);
|
|
30
|
+
if (env.config?.type !== "self_hosted")
|
|
31
|
+
throw badRequest("work queue is only available on self_hosted environments");
|
|
32
|
+
return env;
|
|
33
|
+
}
|
|
34
|
+
function handleListWork(request, envId) {
|
|
35
|
+
return routeWrap(request, async ({ request: req }) => {
|
|
36
|
+
assertSelfHostedEnv(envId);
|
|
37
|
+
const url = new URL(req.url);
|
|
38
|
+
const requestedLimit = Number(url.searchParams.get("limit") || "20");
|
|
39
|
+
const cursor = decodeCursor(url.searchParams.get("page"));
|
|
40
|
+
const state = url.searchParams.get("state") ?? void 0;
|
|
41
|
+
const items = listWorkItems(envId, { limit: requestedLimit, cursor, state });
|
|
42
|
+
return paginatedOk(items, requestedLimit);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function handleGetWork(request, envId, workId) {
|
|
46
|
+
return routeWrap(request, async () => {
|
|
47
|
+
assertSelfHostedEnv(envId);
|
|
48
|
+
const item = getWorkItem(workId);
|
|
49
|
+
if (!item || item.environment_id !== envId) throw notFound(`work item not found: ${workId}`);
|
|
50
|
+
return jsonOk(item);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
var UpdateWorkSchema = z.object({
|
|
54
|
+
metadata: z.record(z.union([z.string(), z.null()]))
|
|
55
|
+
});
|
|
56
|
+
function handleUpdateWork(request, envId, workId) {
|
|
57
|
+
return routeWrap(request, async () => {
|
|
58
|
+
assertSelfHostedEnv(envId);
|
|
59
|
+
const body = await request.json();
|
|
60
|
+
const parsed = UpdateWorkSchema.safeParse(body);
|
|
61
|
+
if (!parsed.success) throw badRequest(parsed.error.message);
|
|
62
|
+
const item = updateWorkItemMetadata(workId, parsed.data.metadata);
|
|
63
|
+
if (!item || item.environment_id !== envId) throw notFound(`work item not found: ${workId}`);
|
|
64
|
+
return jsonOk(item);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function handlePollWork(request, envId) {
|
|
68
|
+
return routeWrap(request, async ({ request: req }) => {
|
|
69
|
+
assertSelfHostedEnv(envId);
|
|
70
|
+
const url = new URL(req.url);
|
|
71
|
+
const workerId = url.searchParams.get("worker_id") ?? void 0;
|
|
72
|
+
const item = pollWorkItem(envId, workerId);
|
|
73
|
+
if (!item) return jsonOk({ data: null });
|
|
74
|
+
return jsonOk(item);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function handleWorkStats(request, envId) {
|
|
78
|
+
return routeWrap(request, async () => {
|
|
79
|
+
assertSelfHostedEnv(envId);
|
|
80
|
+
const stats = getWorkQueueStats(envId);
|
|
81
|
+
return jsonOk(stats);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
var AckWorkSchema = z.object({
|
|
85
|
+
worker_id: z.string().optional()
|
|
86
|
+
}).optional();
|
|
87
|
+
function handleAckWork(request, envId, workId) {
|
|
88
|
+
return routeWrap(request, async () => {
|
|
89
|
+
assertSelfHostedEnv(envId);
|
|
90
|
+
let workerId;
|
|
91
|
+
try {
|
|
92
|
+
const body = await request.json();
|
|
93
|
+
const parsed = AckWorkSchema.safeParse(body);
|
|
94
|
+
if (parsed.success && parsed.data) {
|
|
95
|
+
workerId = parsed.data.worker_id;
|
|
96
|
+
}
|
|
97
|
+
} catch {
|
|
98
|
+
}
|
|
99
|
+
const item = ackWorkItem(workId, workerId);
|
|
100
|
+
if (!item) throw notFound(`work item not found or not in pending state: ${workId}`);
|
|
101
|
+
if (item.environment_id !== envId) throw notFound(`work item not found: ${workId}`);
|
|
102
|
+
return jsonOk(item);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function handleHeartbeatWork(request, envId, workId) {
|
|
106
|
+
return routeWrap(request, async () => {
|
|
107
|
+
assertSelfHostedEnv(envId);
|
|
108
|
+
const existing = getWorkItem(workId);
|
|
109
|
+
if (!existing || existing.environment_id !== envId)
|
|
110
|
+
throw notFound(`work item not found: ${workId}`);
|
|
111
|
+
const result = heartbeatWorkItem(workId);
|
|
112
|
+
if (!result) throw notFound(`work item not found: ${workId}`);
|
|
113
|
+
return jsonOk(result);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
var StopWorkSchema = z.object({
|
|
117
|
+
force: z.boolean().optional()
|
|
118
|
+
}).optional();
|
|
119
|
+
function handleStopWork(request, envId, workId) {
|
|
120
|
+
return routeWrap(request, async () => {
|
|
121
|
+
assertSelfHostedEnv(envId);
|
|
122
|
+
let force;
|
|
123
|
+
try {
|
|
124
|
+
const body = await request.json();
|
|
125
|
+
const parsed = StopWorkSchema.safeParse(body);
|
|
126
|
+
if (parsed.success && parsed.data) {
|
|
127
|
+
force = parsed.data.force;
|
|
128
|
+
}
|
|
129
|
+
} catch {
|
|
130
|
+
}
|
|
131
|
+
const item = stopWorkItem(workId, force);
|
|
132
|
+
if (!item || item.environment_id !== envId) throw notFound(`work item not found: ${workId}`);
|
|
133
|
+
return jsonOk(item);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export {
|
|
138
|
+
handleListWork,
|
|
139
|
+
handleGetWork,
|
|
140
|
+
handleUpdateWork,
|
|
141
|
+
handlePollWork,
|
|
142
|
+
handleWorkStats,
|
|
143
|
+
handleAckWork,
|
|
144
|
+
handleHeartbeatWork,
|
|
145
|
+
handleStopWork
|
|
146
|
+
};
|
|
@@ -5,25 +5,25 @@ import {
|
|
|
5
5
|
} from "./chunk-23UKWXJH.js";
|
|
6
6
|
import {
|
|
7
7
|
kickoffEnvironmentSetup
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PLSXDJT4.js";
|
|
9
9
|
import {
|
|
10
10
|
decodeCursor,
|
|
11
11
|
jsonOk,
|
|
12
12
|
paginatedOk,
|
|
13
13
|
routeWrap
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-FCKUWBUL.js";
|
|
15
15
|
import {
|
|
16
16
|
forwardToAnthropic
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-5LDBCBOR.js";
|
|
18
18
|
import {
|
|
19
19
|
getProxiedTenantId,
|
|
20
20
|
isProxied,
|
|
21
21
|
markProxied,
|
|
22
22
|
unmarkProxied
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YCL5RHEC.js";
|
|
24
24
|
import {
|
|
25
25
|
resolveContainerProvider
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-JXU6SA6S.js";
|
|
27
27
|
import {
|
|
28
28
|
archiveEnvironment,
|
|
29
29
|
createEnvironment,
|
|
@@ -32,11 +32,11 @@ import {
|
|
|
32
32
|
hasSessionsAttached,
|
|
33
33
|
listEnvironments,
|
|
34
34
|
updateEnvironment
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-CFLMIJ2C.js";
|
|
36
36
|
import {
|
|
37
37
|
getDb,
|
|
38
38
|
init_client
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-U3QU5AVC.js";
|
|
40
40
|
import {
|
|
41
41
|
badRequest,
|
|
42
42
|
conflict,
|
|
@@ -81,7 +81,7 @@ var NetworkingSchema = z.union([
|
|
|
81
81
|
})
|
|
82
82
|
]);
|
|
83
83
|
var ConfigSchema = z.object({
|
|
84
|
-
type: z.
|
|
84
|
+
type: z.enum(["cloud", "self_hosted"]),
|
|
85
85
|
provider: z.enum(["sprites", "docker", "apple-container", "apple-firecracker", "podman", "e2b", "vercel", "daytona", "fly", "modal", "mvm", "anthropic"]).optional(),
|
|
86
86
|
packages: PackagesSchema,
|
|
87
87
|
networking: NetworkingSchema.optional(),
|
|
@@ -108,6 +108,11 @@ function handleCreateEnvironment(request) {
|
|
|
108
108
|
const body = rawBody ? JSON.parse(rawBody) : null;
|
|
109
109
|
const parsed = CreateSchema.safeParse(body);
|
|
110
110
|
if (!parsed.success) throw badRequest(parsed.error.message);
|
|
111
|
+
let configData = parsed.data.config;
|
|
112
|
+
if (configData.type === "cloud" && configData.provider && configData.provider !== "anthropic") {
|
|
113
|
+
console.warn(`[compat] type: "cloud" with provider "${configData.provider}" is deprecated \u2014 use type: "self_hosted"`);
|
|
114
|
+
configData = { ...configData, type: "self_hosted" };
|
|
115
|
+
}
|
|
111
116
|
const createTenantId = resolveCreateTenant(auth, parsed.data.tenant_id);
|
|
112
117
|
if (parsed.data.backend === "anthropic") {
|
|
113
118
|
const { backend: _, ...rest } = body;
|
|
@@ -126,23 +131,26 @@ function handleCreateEnvironment(request) {
|
|
|
126
131
|
if (existingEnvs.some((e) => e.name === parsed.data.name)) {
|
|
127
132
|
throw conflict(`Environment with name "${parsed.data.name}" already exists`);
|
|
128
133
|
}
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
134
|
+
const configType = configData.type;
|
|
135
|
+
const providerName = configData.provider;
|
|
136
|
+
if (configType === "cloud") {
|
|
137
|
+
} else {
|
|
138
|
+
if (providerName) {
|
|
139
|
+
const CLOUD_PROVIDERS = /* @__PURE__ */ new Set(["sprites", "e2b", "vercel", "daytona", "fly", "modal", "anthropic"]);
|
|
140
|
+
if (!CLOUD_PROVIDERS.has(providerName)) {
|
|
141
|
+
const provider = await resolveContainerProvider(providerName);
|
|
142
|
+
if (provider.checkAvailability) {
|
|
143
|
+
const result = await provider.checkAvailability();
|
|
144
|
+
if (!result.available) {
|
|
145
|
+
throw badRequest(`Provider "${providerName}" is not available: ${result.message}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
140
148
|
}
|
|
141
149
|
}
|
|
142
150
|
}
|
|
143
151
|
const env = createEnvironment({
|
|
144
152
|
name: parsed.data.name,
|
|
145
|
-
config:
|
|
153
|
+
config: configData,
|
|
146
154
|
description: parsed.data.description ?? null,
|
|
147
155
|
metadata: parsed.data.metadata,
|
|
148
156
|
tenant_id: createTenantId
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
-
resolveContainerProvider
|
|
3
|
-
|
|
2
|
+
resolveContainerProvider,
|
|
3
|
+
resolveProvider
|
|
4
|
+
} from "./chunk-JXU6SA6S.js";
|
|
4
5
|
import {
|
|
5
6
|
getEnvironmentRow,
|
|
6
7
|
updateEnvironmentState
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CFLMIJ2C.js";
|
|
8
9
|
import {
|
|
9
10
|
installClaudeWrapper
|
|
10
11
|
} from "./chunk-J6T3W6RY.js";
|
|
@@ -86,7 +87,7 @@ async function runEnvironmentSetup(envId) {
|
|
|
86
87
|
if (!row) throw new Error(`environment ${envId} not found`);
|
|
87
88
|
if (row.state === "ready") return;
|
|
88
89
|
const config = JSON.parse(row.config_json);
|
|
89
|
-
const provider = await
|
|
90
|
+
const provider = await resolveProvider({ envConfigProvider: config?.provider });
|
|
90
91
|
const hasPackages = config.packages && Object.values(config.packages).some((v) => v && v.length > 0);
|
|
91
92
|
if (!hasPackages) {
|
|
92
93
|
updateEnvironmentState(envId, "ready", null);
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
getSources,
|
|
5
5
|
getStats,
|
|
6
6
|
searchSkills
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PJTGQVKB.js";
|
|
8
8
|
import {
|
|
9
9
|
jsonOk,
|
|
10
10
|
routeWrap
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FCKUWBUL.js";
|
|
12
12
|
|
|
13
13
|
// src/handlers/skills.ts
|
|
14
14
|
async function handleGetSkillsCatalog(request) {
|
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
getDrizzle,
|
|
12
12
|
init_drizzle
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-PVFGDKXO.js";
|
|
14
14
|
import {
|
|
15
15
|
schema_exports
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-4ENK7S24.js";
|
|
17
17
|
import {
|
|
18
18
|
getDb,
|
|
19
19
|
init_client
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-U3QU5AVC.js";
|
|
21
21
|
|
|
22
22
|
// src/db/events.ts
|
|
23
23
|
init_client();
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_schema,
|
|
3
3
|
schema_exports
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4ENK7S24.js";
|
|
5
5
|
import {
|
|
6
6
|
getDb,
|
|
7
7
|
init_client
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-U3QU5AVC.js";
|
|
9
9
|
import {
|
|
10
10
|
__esm
|
|
11
11
|
} from "./chunk-2ESYSVXG.js";
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
getMemoryByPath,
|
|
9
9
|
getMemoryStore,
|
|
10
10
|
listMemories
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-T3CXZ2BE.js";
|
|
12
12
|
import {
|
|
13
13
|
listSessions
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-MTB7SCZ5.js";
|
|
15
15
|
import {
|
|
16
16
|
listEvents
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-PRWWTLPR.js";
|
|
18
18
|
import {
|
|
19
19
|
init_clock,
|
|
20
20
|
nowMs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SUPPORTED_PROVIDERS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HHS6EHSG.js";
|
|
4
4
|
import {
|
|
5
5
|
addUpstreamKey,
|
|
6
6
|
deleteUpstreamKey,
|
|
@@ -8,20 +8,20 @@ import {
|
|
|
8
8
|
enableUpstreamKey,
|
|
9
9
|
getUpstreamKey,
|
|
10
10
|
listUpstreamKeys
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-G7Y5YGLE.js";
|
|
12
12
|
import {
|
|
13
13
|
requireGlobalAdmin
|
|
14
14
|
} from "./chunk-23UKWXJH.js";
|
|
15
15
|
import {
|
|
16
16
|
recordAudit
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-PDUQCDIO.js";
|
|
18
18
|
import {
|
|
19
19
|
requireFeature
|
|
20
20
|
} from "./chunk-2N2KL4KM.js";
|
|
21
21
|
import {
|
|
22
22
|
jsonOk,
|
|
23
23
|
routeWrap
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-FCKUWBUL.js";
|
|
25
25
|
import {
|
|
26
26
|
badRequest,
|
|
27
27
|
notFound
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
piBackend
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YD67W6DW.js";
|
|
4
4
|
import {
|
|
5
5
|
opencodeBackend
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import {
|
|
8
|
-
geminiBackend
|
|
9
|
-
} from "./chunk-SAA6477U.js";
|
|
6
|
+
} from "./chunk-ISXWS5Y4.js";
|
|
10
7
|
import {
|
|
11
8
|
factoryBackend
|
|
12
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YWAMRRAX.js";
|
|
13
10
|
import {
|
|
14
|
-
|
|
15
|
-
} from "./chunk-
|
|
11
|
+
geminiBackend
|
|
12
|
+
} from "./chunk-3UK3IF27.js";
|
|
16
13
|
import {
|
|
17
14
|
codexBackend
|
|
18
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-B3UOTIOI.js";
|
|
16
|
+
import {
|
|
17
|
+
claudeBackend
|
|
18
|
+
} from "./chunk-BYJRL4IQ.js";
|
|
19
19
|
|
|
20
20
|
// src/backends/registry.ts
|
|
21
21
|
var BACKENDS = {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-AIBH32FN.js";
|
|
5
5
|
import {
|
|
6
6
|
DEFAULT_TENANT_ID
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CD2FQVQR.js";
|
|
8
8
|
import {
|
|
9
9
|
init_ids,
|
|
10
10
|
newId
|
|
@@ -17,10 +17,10 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
getDrizzle,
|
|
19
19
|
init_drizzle
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-PVFGDKXO.js";
|
|
21
21
|
import {
|
|
22
22
|
schema_exports
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-4ENK7S24.js";
|
|
24
24
|
|
|
25
25
|
// src/db/vaults.ts
|
|
26
26
|
init_drizzle();
|
|
@@ -8,17 +8,17 @@ import {
|
|
|
8
8
|
jsonOk,
|
|
9
9
|
paginatedOk,
|
|
10
10
|
routeWrap
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FCKUWBUL.js";
|
|
12
12
|
import {
|
|
13
13
|
forwardToAnthropic,
|
|
14
14
|
validateAnthropicProxy
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5LDBCBOR.js";
|
|
16
16
|
import {
|
|
17
17
|
getProxiedTenantId,
|
|
18
18
|
isProxied,
|
|
19
19
|
markProxied,
|
|
20
20
|
unmarkProxied
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-YCL5RHEC.js";
|
|
22
22
|
import {
|
|
23
23
|
archiveAgent,
|
|
24
24
|
createAgent,
|
|
@@ -26,14 +26,14 @@ import {
|
|
|
26
26
|
listAgentVersions,
|
|
27
27
|
listAgents,
|
|
28
28
|
updateAgent
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-WT3SEE34.js";
|
|
30
30
|
import {
|
|
31
31
|
resolveBackend
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-R5LXEIOJ.js";
|
|
33
33
|
import {
|
|
34
34
|
getDb,
|
|
35
35
|
init_client
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-U3QU5AVC.js";
|
|
37
37
|
import {
|
|
38
38
|
badRequest,
|
|
39
39
|
conflict,
|