@agentstep/agent-sdk 0.4.31 → 0.4.33
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 +5 -5
- package/dist/backends/claude/args.js +3 -3
- package/dist/backends/claude/index.js +4 -4
- package/dist/backends/codex/auth.js +3 -3
- package/dist/backends/codex/index.js +7 -7
- package/dist/backends/factory/auth.js +3 -3
- package/dist/backends/factory/index.js +4 -4
- package/dist/backends/gemini/auth.js +3 -3
- package/dist/backends/gemini/index.js +7 -7
- package/dist/backends/opencode/auth.js +3 -3
- package/dist/backends/opencode/index.js +7 -7
- package/dist/backends/pi/auth.js +3 -3
- package/dist/backends/pi/index.js +4 -4
- package/dist/backends/registry.js +21 -21
- package/dist/{chunk-O3XR457F.js → chunk-25D47TYW.js} +2 -2
- package/dist/{chunk-KRLVSKID.js → chunk-2FTX45HM.js} +4 -4
- package/dist/{chunk-TGEDOUUD.js → chunk-2GIX4HAT.js} +1 -1
- package/dist/{chunk-JIURGVRG.js → chunk-2I35VGHX.js} +4 -4
- package/dist/{chunk-ULS4X3UQ.js → chunk-2PPB644A.js} +1 -1
- package/dist/{chunk-FOOPNRHA.js → chunk-2Q46G6VW.js} +2 -2
- package/dist/{chunk-UCOSSYKZ.js → chunk-2ZVFMBAA.js} +8 -7
- package/dist/{chunk-KFORPY7J.js → chunk-3NK6YTA5.js} +17 -10
- package/dist/{chunk-W63RBT7H.js → chunk-3SZ42O5O.js} +181 -15
- package/dist/chunk-4XXQAVKE.js +34 -0
- package/dist/{chunk-O5B7GRUK.js → chunk-5EQJOUWM.js} +1 -1
- package/dist/{chunk-PTYMGYNJ.js → chunk-5F5SHXHX.js} +1 -1
- package/dist/{chunk-AJPZY6EJ.js → chunk-5IGBMS2U.js} +1 -1
- package/dist/{chunk-A7CS7RTM.js → chunk-5YBJAYIH.js} +3 -3
- package/dist/{chunk-IN5KO2L2.js → chunk-6IYCBW4J.js} +1 -1
- package/dist/{chunk-BQRKJAOP.js → chunk-6RH4KQJJ.js} +1 -1
- package/dist/{chunk-UW4T4TG3.js → chunk-76DKCO5N.js} +1 -1
- package/dist/{chunk-TLH4JLC7.js → chunk-7CD4QT5R.js} +2 -2
- package/dist/{chunk-Y2VQ65PM.js → chunk-7GG3FEK2.js} +3 -3
- package/dist/{chunk-UZQLLGX4.js → chunk-A75T7PVY.js} +12 -12
- package/dist/{chunk-33OBMYKV.js → chunk-B3I4ELID.js} +1 -1
- package/dist/{chunk-XVK7YFZP.js → chunk-C46UG6GQ.js} +1 -1
- package/dist/{chunk-I2SLDKCN.js → chunk-C6AXM3M7.js} +2 -2
- package/dist/{chunk-OLF7H564.js → chunk-CDD7O43R.js} +5 -5
- package/dist/{chunk-NJ4JTJJM.js → chunk-CREPPDHX.js} +1 -1
- package/dist/{chunk-55SVTKOM.js → chunk-EOCBMN5V.js} +2 -2
- package/dist/{chunk-YS5UPMTH.js → chunk-EUIR2ADY.js} +8 -8
- package/dist/{chunk-G6JKWW2S.js → chunk-FESFSQMR.js} +1 -1
- package/dist/{chunk-RCF2SVUO.js → chunk-FWQSTFNW.js} +20 -16
- package/dist/{chunk-Q3DOTREK.js → chunk-FXLUSECC.js} +1 -1
- package/dist/chunk-G7KUVNDY.js +80 -0
- package/dist/{chunk-OZJG5G7V.js → chunk-GQCMR7WS.js} +3 -3
- package/dist/{chunk-NIW3B4V2.js → chunk-GVPJL3XS.js} +5 -5
- package/dist/{chunk-ZG7FD2KD.js → chunk-IDQZ2AOM.js} +2 -2
- package/dist/{chunk-MHL3EXDR.js → chunk-JCW3ZRES.js} +1 -1
- package/dist/{chunk-BNXUV6NZ.js → chunk-JFUEQ6ED.js} +3 -3
- package/dist/{chunk-RKL2NK3V.js → chunk-JZL4L54R.js} +4 -4
- package/dist/{chunk-WU52LOGJ.js → chunk-KEQXISSM.js} +1 -1
- package/dist/{chunk-MVC2FD32.js → chunk-MHBLVGRF.js} +3 -3
- package/dist/{chunk-ZOWT6X6Y.js → chunk-MQQ44IGX.js} +4 -4
- package/dist/{chunk-UBFEHVPY.js → chunk-MX53KOBD.js} +2 -2
- package/dist/{chunk-GNHRAWOX.js → chunk-N3QIXC2B.js} +2 -2
- package/dist/{chunk-V5XH43NK.js → chunk-OB5IFO65.js} +7 -7
- package/dist/{chunk-JWSR5TZ3.js → chunk-OGJUSGF7.js} +1 -1
- package/dist/{chunk-KLFJTFDB.js → chunk-P26WOAA3.js} +1 -1
- package/dist/{chunk-LHQD4KLV.js → chunk-P3PHXVMA.js} +1 -1
- package/dist/{chunk-UZHSDRAK.js → chunk-PIJKJNGB.js} +3 -3
- package/dist/{chunk-M7W3PCFS.js → chunk-PNXHXIX6.js} +1 -1
- package/dist/{chunk-CGKRD37R.js → chunk-PXVLLMKV.js} +2 -2
- package/dist/{chunk-FEXR57M4.js → chunk-R6V363NP.js} +4 -4
- package/dist/{chunk-S4AYCMMB.js → chunk-RVR6C22M.js} +1 -1
- package/dist/{chunk-WORPHTCS.js → chunk-S6FREUL2.js} +33 -4
- package/dist/{chunk-JJGAQMPS.js → chunk-S7W3KJYH.js} +1 -1
- package/dist/{chunk-4MDF5N2L.js → chunk-T4YKZUL6.js} +2 -2
- package/dist/{chunk-ZKHUJB7A.js → chunk-TPPLYCJF.js} +1 -1
- package/dist/{chunk-5H2CQ6L4.js → chunk-UKXYPXIB.js} +2 -2
- package/dist/{chunk-4LKSYF4M.js → chunk-V2R7RWVY.js} +1 -1
- package/dist/{chunk-6YZ5WTLB.js → chunk-V7MTIMPB.js} +7 -5
- package/dist/{chunk-PVITAFPJ.js → chunk-VYDO52CO.js} +2 -2
- package/dist/{chunk-CIUFOD65.js → chunk-WQARLGBG.js} +3 -3
- package/dist/{chunk-DKBNLGZO.js → chunk-XT3TAZB7.js} +11 -11
- package/dist/{chunk-7RJNOZLB.js → chunk-Y3LYQJHC.js} +14 -14
- package/dist/{chunk-R3Q62FVO.js → chunk-YT2JWLSK.js} +2 -2
- package/dist/{chunk-TLEGXMX7.js → chunk-YXVKDLMN.js} +3 -3
- package/dist/config/index.js +2 -2
- package/dist/containers/client.js +3 -3
- package/dist/containers/exec.js +3 -3
- package/dist/containers/lifecycle.js +38 -33
- package/dist/containers/setup.js +4 -4
- package/dist/containers/warm-pool.js +21 -0
- package/dist/db/agents.js +2 -2
- package/dist/db/api_keys.js +2 -2
- package/dist/db/batch.js +6 -6
- package/dist/db/environments.js +2 -2
- package/dist/db/events.js +2 -2
- package/dist/db/files.js +2 -2
- package/dist/db/memory.js +2 -2
- package/dist/db/proxy.js +2 -2
- package/dist/db/session-resources.js +2 -2
- package/dist/db/sessions.js +3 -3
- package/dist/db/sync.js +2 -2
- package/dist/db/vaults.js +2 -2
- package/dist/handlers/agents.js +48 -47
- package/dist/handlers/api_keys.js +48 -47
- package/dist/handlers/audit.js +48 -47
- package/dist/handlers/batch.js +49 -48
- package/dist/handlers/credentials.js +49 -48
- package/dist/handlers/environments.js +49 -48
- package/dist/handlers/events.js +51 -50
- package/dist/handlers/files.js +49 -48
- package/dist/handlers/index.js +96 -95
- package/dist/handlers/license.js +48 -47
- package/dist/handlers/memory.js +49 -48
- package/dist/handlers/metrics.js +48 -47
- package/dist/handlers/models.js +49 -48
- package/dist/handlers/providers.js +48 -47
- package/dist/handlers/resources.js +48 -47
- package/dist/handlers/sessions.js +51 -50
- package/dist/handlers/settings.js +48 -47
- package/dist/handlers/skills-write.js +48 -47
- package/dist/handlers/skills.js +49 -48
- package/dist/handlers/stream.js +48 -47
- package/dist/handlers/tenants.js +48 -47
- package/dist/handlers/threads.js +48 -47
- package/dist/handlers/traces.js +48 -47
- package/dist/handlers/upstream_keys.js +49 -48
- package/dist/handlers/vaults.js +48 -47
- package/dist/handlers/whoami.js +48 -47
- package/dist/http.js +47 -46
- package/dist/index.js +60 -59
- package/dist/init.js +44 -43
- package/dist/lib/model-registry.js +3 -3
- package/dist/lib/skills-cache.js +3 -3
- package/dist/observability/otlp.js +8 -8
- package/dist/observability/redactor.js +4 -4
- package/dist/providers/apple-container.js +2 -2
- package/dist/providers/docker.js +1 -1
- package/dist/providers/fly.js +2 -2
- package/dist/providers/modal.js +2 -2
- package/dist/providers/podman.js +24 -21
- package/dist/providers/registry.js +1 -1
- package/dist/providers/resolve-secrets.js +3 -3
- package/dist/providers/sprites.js +5 -4
- package/dist/providers/upstream-keys.js +6 -6
- package/dist/providers/vercel.js +2 -2
- package/dist/proxy/forward.js +3 -3
- package/dist/queue/index.js +3 -3
- package/dist/sessions/bus.js +6 -6
- package/dist/sessions/driver.js +37 -36
- package/dist/sessions/grader.js +2 -2
- package/dist/sessions/secrets.js +3 -3
- package/dist/sessions/sweeper.js +35 -34
- package/dist/sessions/threads.js +38 -37
- package/dist/shutdown.js +36 -35
- package/dist/sync/anthropic.js +6 -6
- package/dist/sync/container-file-sync.js +3 -3
- package/dist/sync/file-sync.js +12 -12
- package/package.json +1 -1
- package/dist/chunk-RMZRSYIJ.js +0 -31
- package/dist/{chunk-2COVNKOK.js → chunk-5EKQBD2H.js} +5 -5
- package/dist/{chunk-WNHJTUPW.js → chunk-A3KHFT7I.js} +5 -5
- package/dist/{chunk-VND46TDY.js → chunk-E7DD7F7J.js} +4 -4
- package/dist/{chunk-BCUBVYE3.js → chunk-L2RX552S.js} +4 -4
- package/dist/{chunk-LASUEMN6.js → chunk-SUGSHXND.js} +5 -5
- package/dist/{chunk-NDVC4J3H.js → chunk-TH7WJLZC.js} +5 -5
- package/dist/{chunk-XTZWBXAO.js → chunk-USYY3L7G.js} +4 -4
- package/dist/{chunk-C4II4GGZ.js → chunk-WPK4ZPMG.js} +0 -0
- package/dist/{chunk-QVFRPABA.js → chunk-X6IQ57SC.js} +5 -5
- package/dist/{chunk-P2IGNOJI.js → chunk-ZTH5JRZG.js} +5 -5
- package/dist/{chunk-J37F7PXJ.js → chunk-ZVXIZ2JD.js} +5 -5
|
@@ -1,59 +1,60 @@
|
|
|
1
|
-
import {
|
|
2
|
-
enqueueTurn
|
|
3
|
-
} from "./chunk-ULS4X3UQ.js";
|
|
4
1
|
import {
|
|
5
2
|
runTurn
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-A75T7PVY.js";
|
|
4
|
+
import {
|
|
5
|
+
enqueueTurn
|
|
6
|
+
} from "./chunk-2PPB644A.js";
|
|
7
7
|
import {
|
|
8
8
|
installOtlpExporter
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GVPJL3XS.js";
|
|
10
10
|
import {
|
|
11
11
|
redactAppendInput
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-N3QIXC2B.js";
|
|
13
13
|
import {
|
|
14
14
|
createApiKey,
|
|
15
15
|
listApiKeys
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-USYY3L7G.js";
|
|
17
17
|
import {
|
|
18
18
|
initSentry
|
|
19
19
|
} from "./chunk-3MQ2FWXS.js";
|
|
20
20
|
import {
|
|
21
21
|
installShutdownHandlers
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-6RH4KQJJ.js";
|
|
23
23
|
import {
|
|
24
24
|
runSweep
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-S6FREUL2.js";
|
|
26
26
|
import {
|
|
27
|
+
fillWarmPools,
|
|
27
28
|
reconcileDockerOrphanSandboxes,
|
|
28
29
|
reconcileOrphanSandboxes
|
|
29
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-3SZ42O5O.js";
|
|
30
31
|
import {
|
|
31
32
|
appendEvent,
|
|
32
33
|
installPayloadRedactor
|
|
33
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-MHBLVGRF.js";
|
|
34
35
|
import {
|
|
35
36
|
setSessionSandbox
|
|
36
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-3NK6YTA5.js";
|
|
37
38
|
import {
|
|
38
39
|
readEnvValue,
|
|
39
40
|
upsertEnvLine
|
|
40
41
|
} from "./chunk-YPXI7Q2M.js";
|
|
41
42
|
import {
|
|
42
43
|
getLastUnprocessedUserMessage
|
|
43
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-TH7WJLZC.js";
|
|
44
45
|
import {
|
|
45
46
|
getBySession,
|
|
46
47
|
register
|
|
47
48
|
} from "./chunk-EFOIR7R3.js";
|
|
48
49
|
import {
|
|
49
50
|
resolveContainerProvider
|
|
50
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-WPK4ZPMG.js";
|
|
51
52
|
import {
|
|
52
53
|
getEnvironment
|
|
53
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-X6IQ57SC.js";
|
|
54
55
|
import {
|
|
55
56
|
getConfig
|
|
56
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-V7MTIMPB.js";
|
|
57
58
|
import {
|
|
58
59
|
init_clock,
|
|
59
60
|
nowMs
|
|
@@ -130,6 +131,9 @@ async function doInit() {
|
|
|
130
131
|
});
|
|
131
132
|
import("./lib/model-registry.js").then((m) => m.getModels().catch(() => {
|
|
132
133
|
}));
|
|
134
|
+
fillWarmPools().catch((err) => {
|
|
135
|
+
console.warn("[init] warm pool fill failed:", err);
|
|
136
|
+
});
|
|
133
137
|
if (!g.__caSweeperHandle) {
|
|
134
138
|
const intervalMs = getConfig().sweeperIntervalMs;
|
|
135
139
|
g.__caSweeperHandle = setInterval(() => {
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// src/containers/warm-pool.ts
|
|
2
|
+
var g = globalThis;
|
|
3
|
+
function state() {
|
|
4
|
+
if (!g.__caWarmPool) {
|
|
5
|
+
g.__caWarmPool = { byEnv: /* @__PURE__ */ new Map(), inflight: /* @__PURE__ */ new Map() };
|
|
6
|
+
}
|
|
7
|
+
return g.__caWarmPool;
|
|
8
|
+
}
|
|
9
|
+
function addWarm(entry) {
|
|
10
|
+
const s = state();
|
|
11
|
+
const list = s.byEnv.get(entry.envId) ?? [];
|
|
12
|
+
list.push(entry);
|
|
13
|
+
s.byEnv.set(entry.envId, list);
|
|
14
|
+
}
|
|
15
|
+
function claimWarm(envId, engine, provider) {
|
|
16
|
+
const s = state();
|
|
17
|
+
const list = s.byEnv.get(envId);
|
|
18
|
+
if (!list || list.length === 0) return null;
|
|
19
|
+
const idx = list.findIndex(
|
|
20
|
+
(e) => e.engine === engine && e.provider === provider
|
|
21
|
+
);
|
|
22
|
+
if (idx === -1) return null;
|
|
23
|
+
const [entry] = list.splice(idx, 1);
|
|
24
|
+
if (list.length === 0) s.byEnv.delete(envId);
|
|
25
|
+
return entry;
|
|
26
|
+
}
|
|
27
|
+
function expireWarm(now = Date.now()) {
|
|
28
|
+
const s = state();
|
|
29
|
+
const expired = [];
|
|
30
|
+
for (const [envId, list] of s.byEnv) {
|
|
31
|
+
const keep = [];
|
|
32
|
+
for (const entry of list) {
|
|
33
|
+
if (entry.expiresAt <= now) {
|
|
34
|
+
expired.push(entry);
|
|
35
|
+
} else {
|
|
36
|
+
keep.push(entry);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (keep.length === 0) {
|
|
40
|
+
s.byEnv.delete(envId);
|
|
41
|
+
} else {
|
|
42
|
+
s.byEnv.set(envId, keep);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return expired;
|
|
46
|
+
}
|
|
47
|
+
function countWarm(envId) {
|
|
48
|
+
return state().byEnv.get(envId)?.length ?? 0;
|
|
49
|
+
}
|
|
50
|
+
function countInflight(envId) {
|
|
51
|
+
return state().inflight.get(envId) ?? 0;
|
|
52
|
+
}
|
|
53
|
+
function incrementInflight(envId) {
|
|
54
|
+
const s = state();
|
|
55
|
+
s.inflight.set(envId, (s.inflight.get(envId) ?? 0) + 1);
|
|
56
|
+
}
|
|
57
|
+
function decrementInflight(envId) {
|
|
58
|
+
const s = state();
|
|
59
|
+
const cur = s.inflight.get(envId) ?? 0;
|
|
60
|
+
const next = cur - 1;
|
|
61
|
+
if (next <= 0) {
|
|
62
|
+
s.inflight.delete(envId);
|
|
63
|
+
} else {
|
|
64
|
+
s.inflight.set(envId, next);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function __resetWarmPool() {
|
|
68
|
+
g.__caWarmPool = { byEnv: /* @__PURE__ */ new Map(), inflight: /* @__PURE__ */ new Map() };
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
addWarm,
|
|
73
|
+
claimWarm,
|
|
74
|
+
expireWarm,
|
|
75
|
+
countWarm,
|
|
76
|
+
countInflight,
|
|
77
|
+
incrementInflight,
|
|
78
|
+
decrementInflight,
|
|
79
|
+
__resetWarmPool
|
|
80
|
+
};
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
jsonOk,
|
|
6
6
|
routeWrap
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-T4YKZUL6.js";
|
|
8
8
|
import {
|
|
9
9
|
exportTrace
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GVPJL3XS.js";
|
|
11
11
|
import {
|
|
12
12
|
listEventsByTrace,
|
|
13
13
|
rowToManagedEvent
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-TH7WJLZC.js";
|
|
15
15
|
import {
|
|
16
16
|
badRequest,
|
|
17
17
|
notFound
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
onAfterCommit
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MHBLVGRF.js";
|
|
4
4
|
import {
|
|
5
5
|
getSessionRow
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3NK6YTA5.js";
|
|
7
7
|
import {
|
|
8
8
|
listEventsByTrace
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TH7WJLZC.js";
|
|
10
10
|
import {
|
|
11
11
|
getAgent
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ZTH5JRZG.js";
|
|
13
13
|
import {
|
|
14
14
|
getConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-V7MTIMPB.js";
|
|
16
16
|
|
|
17
17
|
// src/observability/otlp.ts
|
|
18
18
|
import { createHash } from "crypto";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
jsonOk,
|
|
3
3
|
routeWrap
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-T4YKZUL6.js";
|
|
5
5
|
import {
|
|
6
6
|
readSetting,
|
|
7
7
|
writeSetting
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-V7MTIMPB.js";
|
|
9
9
|
import {
|
|
10
10
|
badRequest
|
|
11
11
|
} from "./chunk-EZYKRG4W.js";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
jsonOk,
|
|
8
8
|
routeWrap
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-T4YKZUL6.js";
|
|
10
10
|
import {
|
|
11
11
|
createVault,
|
|
12
12
|
deleteEntry,
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
listEntries,
|
|
17
17
|
listVaults,
|
|
18
18
|
setEntry
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZVXIZ2JD.js";
|
|
20
20
|
import {
|
|
21
21
|
getAgent
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-ZTH5JRZG.js";
|
|
23
23
|
import {
|
|
24
24
|
getDb,
|
|
25
25
|
init_client
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createGeminiTranslator
|
|
3
|
+
} from "./chunk-S3JRZFF5.js";
|
|
1
4
|
import {
|
|
2
5
|
buildGeminiArgs
|
|
3
6
|
} from "./chunk-JHGJG2Z2.js";
|
|
4
7
|
import {
|
|
5
8
|
buildGeminiAuthEnv,
|
|
6
9
|
validateGeminiRuntime
|
|
7
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-V2R7RWVY.js";
|
|
8
11
|
import {
|
|
9
12
|
prepareGeminiOnSandbox
|
|
10
13
|
} from "./chunk-XG4UIGDH.js";
|
|
11
14
|
import {
|
|
12
15
|
GEMINI_WRAPPER_PATH
|
|
13
16
|
} from "./chunk-3W6KEDQE.js";
|
|
14
|
-
import {
|
|
15
|
-
createGeminiTranslator
|
|
16
|
-
} from "./chunk-S3JRZFF5.js";
|
|
17
17
|
import {
|
|
18
18
|
wrapPromptWithSystem
|
|
19
19
|
} from "./chunk-FVBDEOTZ.js";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getSession
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3NK6YTA5.js";
|
|
4
4
|
import {
|
|
5
5
|
appendEvent,
|
|
6
6
|
appendEventsBatch,
|
|
7
7
|
listEvents,
|
|
8
8
|
rowToManagedEvent
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TH7WJLZC.js";
|
|
10
10
|
import {
|
|
11
11
|
getAgent
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ZTH5JRZG.js";
|
|
13
13
|
import {
|
|
14
14
|
getDb,
|
|
15
15
|
init_client
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
buildOpencodeAuthEnv,
|
|
6
6
|
validateOpencodeRuntime
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-OGJUSGF7.js";
|
|
8
8
|
import {
|
|
9
9
|
buildOpencodeConfigEnv
|
|
10
10
|
} from "./chunk-Z25I7DRV.js";
|
|
11
11
|
import {
|
|
12
12
|
prepareOpencodeOnSandbox
|
|
13
13
|
} from "./chunk-P7P2NWZD.js";
|
|
14
|
-
import {
|
|
15
|
-
createOpencodeTranslator
|
|
16
|
-
} from "./chunk-ETWGCBIQ.js";
|
|
17
14
|
import {
|
|
18
15
|
OPENCODE_WRAPPER_PATH
|
|
19
16
|
} from "./chunk-SWIP7JBQ.js";
|
|
17
|
+
import {
|
|
18
|
+
createOpencodeTranslator
|
|
19
|
+
} from "./chunk-ETWGCBIQ.js";
|
|
20
20
|
import {
|
|
21
21
|
wrapPromptWithSystem
|
|
22
22
|
} from "./chunk-FVBDEOTZ.js";
|
|
@@ -11,14 +11,14 @@ import {
|
|
|
11
11
|
getFileRecord,
|
|
12
12
|
listFiles,
|
|
13
13
|
updateFileStoragePath
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-A3KHFT7I.js";
|
|
15
15
|
import {
|
|
16
16
|
assertResourceTenant
|
|
17
17
|
} from "./chunk-23UKWXJH.js";
|
|
18
18
|
import {
|
|
19
19
|
jsonOk,
|
|
20
20
|
routeWrap
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-T4YKZUL6.js";
|
|
22
22
|
import {
|
|
23
23
|
getDb,
|
|
24
24
|
init_client
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveRemoteSessionId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-L2RX552S.js";
|
|
4
4
|
import {
|
|
5
5
|
assertResourceTenant
|
|
6
6
|
} from "./chunk-23UKWXJH.js";
|
|
7
7
|
import {
|
|
8
8
|
authenticateAndIntercept
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WQARLGBG.js";
|
|
10
10
|
import {
|
|
11
11
|
forwardToAnthropic
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JCW3ZRES.js";
|
|
13
13
|
import {
|
|
14
14
|
ensureInitialized
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-FWQSTFNW.js";
|
|
16
16
|
import {
|
|
17
17
|
getProxiedTenantId,
|
|
18
18
|
isProxied
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-E7DD7F7J.js";
|
|
20
20
|
import {
|
|
21
21
|
subscribe
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-MHBLVGRF.js";
|
|
23
23
|
import {
|
|
24
24
|
getSession
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-3NK6YTA5.js";
|
|
26
26
|
import {
|
|
27
27
|
getDb,
|
|
28
28
|
init_client
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./chunk-H7UKW666.js";
|
|
5
5
|
import {
|
|
6
6
|
listEntries
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZVXIZ2JD.js";
|
|
8
8
|
import {
|
|
9
9
|
getSession
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3NK6YTA5.js";
|
|
11
11
|
import {
|
|
12
12
|
getConfig
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-V7MTIMPB.js";
|
|
14
14
|
|
|
15
15
|
// src/providers/upstream-keys.ts
|
|
16
16
|
var CONSECUTIVE_FAIL_THRESHOLD = 3;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BatchError,
|
|
3
3
|
executeBatch
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7GG3FEK2.js";
|
|
5
5
|
import {
|
|
6
6
|
jsonOk,
|
|
7
7
|
routeWrap
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-T4YKZUL6.js";
|
|
9
9
|
import {
|
|
10
10
|
badRequest
|
|
11
11
|
} from "./chunk-EZYKRG4W.js";
|
|
@@ -2,19 +2,19 @@ import {
|
|
|
2
2
|
getSyncRow,
|
|
3
3
|
getSyncedRemoteId,
|
|
4
4
|
upsertSync
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-L2RX552S.js";
|
|
6
6
|
import {
|
|
7
7
|
injectMcpAuthHeaders
|
|
8
8
|
} from "./chunk-SV2B3P6B.js";
|
|
9
9
|
import {
|
|
10
10
|
listEntries
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZVXIZ2JD.js";
|
|
12
12
|
import {
|
|
13
13
|
getEnvironment
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-X6IQ57SC.js";
|
|
15
15
|
import {
|
|
16
16
|
getAgent
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ZTH5JRZG.js";
|
|
18
18
|
|
|
19
19
|
// src/sync/anthropic.ts
|
|
20
20
|
import { createHash } from "crypto";
|
|
@@ -6,20 +6,29 @@ import {
|
|
|
6
6
|
reconcileDockerOrphanSandboxes,
|
|
7
7
|
reconcileOrphanSandboxes,
|
|
8
8
|
releaseSession
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3SZ42O5O.js";
|
|
10
10
|
import {
|
|
11
11
|
appendEvent,
|
|
12
12
|
dropEmitter
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MHBLVGRF.js";
|
|
14
14
|
import {
|
|
15
15
|
archiveSession,
|
|
16
16
|
getSessionRow,
|
|
17
17
|
listIdleSessions,
|
|
18
18
|
updateSessionStatus
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-3NK6YTA5.js";
|
|
20
|
+
import {
|
|
21
|
+
resolveContainerProvider
|
|
22
|
+
} from "./chunk-WPK4ZPMG.js";
|
|
23
|
+
import {
|
|
24
|
+
getEnvironment
|
|
25
|
+
} from "./chunk-X6IQ57SC.js";
|
|
26
|
+
import {
|
|
27
|
+
expireWarm
|
|
28
|
+
} from "./chunk-G7KUVNDY.js";
|
|
20
29
|
import {
|
|
21
30
|
getConfig
|
|
22
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-V7MTIMPB.js";
|
|
23
32
|
import {
|
|
24
33
|
init_clock,
|
|
25
34
|
nowMs
|
|
@@ -63,10 +72,30 @@ async function runSweep() {
|
|
|
63
72
|
console.warn("[sweeper] reconcile docker failed:", e);
|
|
64
73
|
}
|
|
65
74
|
}
|
|
75
|
+
try {
|
|
76
|
+
await evictExpiredWarmContainers();
|
|
77
|
+
} catch (e) {
|
|
78
|
+
console.warn("[sweeper] warm pool eviction failed:", e);
|
|
79
|
+
}
|
|
66
80
|
} finally {
|
|
67
81
|
sweeping = false;
|
|
68
82
|
}
|
|
69
83
|
}
|
|
84
|
+
async function evictExpiredWarmContainers() {
|
|
85
|
+
const expired = expireWarm(nowMs());
|
|
86
|
+
if (expired.length === 0) return;
|
|
87
|
+
console.log(`[sweeper] evicting ${expired.length} expired warm container(s)`);
|
|
88
|
+
for (const entry of expired) {
|
|
89
|
+
try {
|
|
90
|
+
const envObj = getEnvironment(entry.envId);
|
|
91
|
+
const provider = await resolveContainerProvider(envObj?.config?.provider);
|
|
92
|
+
await provider.delete(entry.sandboxName, entry.vaultSecrets);
|
|
93
|
+
console.log(`[sweeper] deleted expired warm container: ${entry.sandboxName}`);
|
|
94
|
+
} catch (err) {
|
|
95
|
+
console.warn(`[sweeper] failed to delete warm container ${entry.sandboxName}:`, err);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
70
99
|
async function evictIdleSessions() {
|
|
71
100
|
if (stopping) return;
|
|
72
101
|
const cfg = getConfig();
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./chunk-D2XITRN6.js";
|
|
5
5
|
import {
|
|
6
6
|
authenticateAndIntercept
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WQARLGBG.js";
|
|
8
8
|
import {
|
|
9
9
|
checkAndBump
|
|
10
10
|
} from "./chunk-HVUWXUUI.js";
|
|
11
11
|
import {
|
|
12
12
|
ensureInitialized
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-FWQSTFNW.js";
|
|
14
14
|
import {
|
|
15
15
|
captureException
|
|
16
16
|
} from "./chunk-3MQ2FWXS.js";
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
getSources,
|
|
5
5
|
getStats,
|
|
6
6
|
searchSkills
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-P3PHXVMA.js";
|
|
8
8
|
import {
|
|
9
9
|
jsonOk,
|
|
10
10
|
routeWrap
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-T4YKZUL6.js";
|
|
12
12
|
|
|
13
13
|
// src/handlers/skills.ts
|
|
14
14
|
async function handleGetSkillsCatalog(request) {
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_clock,
|
|
3
|
+
nowMs
|
|
4
|
+
} from "./chunk-HFDLUBWN.js";
|
|
1
5
|
import {
|
|
2
6
|
getDrizzle,
|
|
3
7
|
init_drizzle
|
|
@@ -5,10 +9,6 @@ import {
|
|
|
5
9
|
import {
|
|
6
10
|
schema_exports
|
|
7
11
|
} from "./chunk-ZMJ4EP4C.js";
|
|
8
|
-
import {
|
|
9
|
-
init_clock,
|
|
10
|
-
nowMs
|
|
11
|
-
} from "./chunk-HFDLUBWN.js";
|
|
12
12
|
|
|
13
13
|
// src/config/index.ts
|
|
14
14
|
init_drizzle();
|
|
@@ -53,7 +53,9 @@ function loadConfig() {
|
|
|
53
53
|
ollamaUrl: process.env.OLLAMA_URL || readSetting("ollama_url") || "http://localhost:11434",
|
|
54
54
|
anthropicPassthroughEnabled: parseBool(
|
|
55
55
|
process.env.ANTHROPIC_PASSTHROUGH_ENABLED ?? readSetting("anthropic_passthrough_enabled")
|
|
56
|
-
)
|
|
56
|
+
),
|
|
57
|
+
warmPoolSize: num(process.env.WARM_POOL_SIZE, 0),
|
|
58
|
+
warmPoolTtlMs: num(process.env.WARM_POOL_TTL_MS, 3e5)
|
|
57
59
|
};
|
|
58
60
|
}
|
|
59
61
|
function parseBool(v) {
|