@agentstep/agent-sdk 0.4.41 → 0.5.0
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 +7 -7
- package/dist/backends/codex/args.js +1 -1
- package/dist/backends/codex/auth.js +6 -6
- package/dist/backends/codex/index.js +8 -8
- package/dist/backends/factory/args.js +1 -1
- package/dist/backends/factory/auth.js +6 -6
- package/dist/backends/factory/index.js +8 -8
- package/dist/backends/gemini/args.js +1 -1
- package/dist/backends/gemini/auth.js +6 -6
- package/dist/backends/gemini/index.js +8 -8
- package/dist/backends/opencode/args.js +1 -1
- package/dist/backends/opencode/auth.js +6 -6
- package/dist/backends/opencode/index.js +9 -9
- package/dist/backends/opencode/mcp.js +1 -1
- package/dist/backends/pi/args.js +1 -1
- package/dist/backends/pi/auth.js +6 -6
- package/dist/backends/pi/index.js +8 -8
- package/dist/backends/registry.js +24 -24
- package/dist/{chunk-L2RX552S.js → chunk-22OUZJAV.js} +3 -3
- package/dist/{chunk-PIJKJNGB.js → chunk-24IDJ7LY.js} +4 -4
- package/dist/{chunk-WCDWL6ED.js → chunk-2YZOIFVN.js} +49 -0
- package/dist/{chunk-RDGOGAQ5.js → chunk-3FLQ7KZP.js} +1 -1
- package/dist/{chunk-ZQXBHNEZ.js → chunk-3PA4NXRP.js} +2 -2
- package/dist/{chunk-H7UKW666.js → chunk-445EL6J5.js} +1 -1
- package/dist/{chunk-2RSL5SO7.js → chunk-4D345E27.js} +2 -2
- package/dist/{chunk-2Z2KAPUL.js → chunk-4RDILRIO.js} +3 -3
- package/dist/{chunk-MHBLVGRF.js → chunk-5MERXOLJ.js} +4 -4
- package/dist/{chunk-E7DD7F7J.js → chunk-5U5LRAFJ.js} +2 -2
- package/dist/{chunk-34EB622U.js → chunk-64IQEPSD.js} +2 -2
- package/dist/{chunk-ENGKR2JT.js → chunk-6CVQDSTS.js} +1 -1
- package/dist/{chunk-T5VRE77P.js → chunk-6KWJASEO.js} +1 -1
- package/dist/{chunk-W2NHS4IF.js → chunk-6QZ23WRF.js} +15 -19
- package/dist/{chunk-DU7LSFQQ.js → chunk-7SY65LWY.js} +6 -9
- package/dist/{chunk-C46UG6GQ.js → chunk-A6VORSKD.js} +1 -1
- package/dist/{chunk-3FDE3BPB.js → chunk-AB7MPL3H.js} +6 -6
- package/dist/{chunk-RP6WQ4IH.js → chunk-AJL3T5JS.js} +3 -3
- package/dist/{chunk-KKCLTWG7.js → chunk-AXBM7HAR.js} +1 -1
- package/dist/{chunk-ZTH5JRZG.js → chunk-BCIFFAGW.js} +41 -10
- package/dist/{chunk-OXWELRJL.js → chunk-CBPO2P4I.js} +101 -16
- package/dist/{chunk-32XS3Y6P.js → chunk-CLSGNQ7J.js} +8 -8
- package/dist/{chunk-SV2B3P6B.js → chunk-DBFPJSOY.js} +19 -17
- package/dist/{chunk-JWH4OIBP.js → chunk-DJZSPWG2.js} +4 -4
- package/dist/{chunk-JZL4L54R.js → chunk-DKLHYSPW.js} +2 -2
- package/dist/{chunk-NQVRZAIX.js → chunk-DMMNAQUM.js} +2 -2
- package/dist/{chunk-Y6SFUNGO.js → chunk-EOJ66GY7.js} +4 -4
- package/dist/{chunk-EUINGLHA.js → chunk-EWIWVXXP.js} +30 -20
- package/dist/{chunk-5EKQBD2H.js → chunk-FCUXFLNK.js} +2 -2
- package/dist/{chunk-LAVHQCRP.js → chunk-FSQ4HGHX.js} +3 -3
- package/dist/{chunk-WQARLGBG.js → chunk-GCQDNUS2.js} +3 -3
- package/dist/{chunk-MXOG5SAO.js → chunk-GFSRNOPI.js} +11 -14
- package/dist/{chunk-S7W3KJYH.js → chunk-GIMDS46L.js} +9 -4
- package/dist/{chunk-FP4E3QUS.js → chunk-GLKWJESP.js} +2 -2
- package/dist/{chunk-FDBR634Z.js → chunk-GV6GUSCP.js} +6 -6
- package/dist/{chunk-X6IQ57SC.js → chunk-H6OT5GUL.js} +9 -5
- package/dist/{chunk-TPPLYCJF.js → chunk-HMOSAXVZ.js} +2 -2
- package/dist/{chunk-L5RW66H5.js → chunk-HVLYE4S5.js} +1 -1
- package/dist/{chunk-RVR6C22M.js → chunk-HWR2HYQJ.js} +1 -1
- package/dist/{chunk-HH4OXSOV.js → chunk-HY3T4YJV.js} +5 -5
- package/dist/{chunk-AR2TM7CR.js → chunk-I26QP3A3.js} +1 -1
- package/dist/{chunk-D2TRWKVQ.js → chunk-I2WVMCYN.js} +80 -2
- package/dist/{chunk-JHGJG2Z2.js → chunk-IBYOMAZ3.js} +1 -1
- package/dist/{chunk-SUGSHXND.js → chunk-IEZFRNLC.js} +2 -2
- package/dist/{chunk-ZMJ4EP4C.js → chunk-ILHIHMO3.js} +7 -2
- package/dist/{chunk-XWWLMJXT.js → chunk-IRW7AYTP.js} +6 -15
- package/dist/{chunk-N76ZVITA.js → chunk-JFOHGHW5.js} +9 -9
- package/dist/{chunk-DAVYI5H4.js → chunk-JLUCJMAQ.js} +23 -23
- package/dist/{chunk-GVPJL3XS.js → chunk-JP7Y3TKK.js} +5 -5
- package/dist/{chunk-TH7WJLZC.js → chunk-KGBKIJPF.js} +3 -3
- package/dist/{chunk-MQQ44IGX.js → chunk-KKAJC3Z2.js} +3 -3
- package/dist/{chunk-3NK6YTA5.js → chunk-KUWJJD6O.js} +42 -8
- package/dist/{chunk-2GIX4HAT.js → chunk-L26TVIB6.js} +2 -2
- package/dist/{chunk-KLN6HPYM.js → chunk-L3IACZ72.js} +1 -1
- package/dist/{chunk-C6AXM3M7.js → chunk-LQP6XGFU.js} +2 -2
- package/dist/{chunk-YBZJHDSE.js → chunk-MAJWADF7.js} +2 -2
- package/dist/{chunk-7GG3FEK2.js → chunk-MCWCRZM4.js} +4 -4
- package/dist/{chunk-JCW3ZRES.js → chunk-MQBMXAPU.js} +1 -1
- package/dist/{chunk-CREPPDHX.js → chunk-NDTIDWBE.js} +1 -1
- package/dist/{chunk-5EQJOUWM.js → chunk-NHAYKVXG.js} +2 -2
- package/dist/{chunk-FXLUSECC.js → chunk-NKQVOAWN.js} +1 -1
- package/dist/{chunk-ZYISLRS6.js → chunk-OKT2J4ZB.js} +114 -37
- package/dist/{chunk-V5HWHJ4P.js → chunk-OSNMIPHV.js} +1 -1
- package/dist/{chunk-ZFJPOQSY.js → chunk-OZFSKR2W.js} +69 -30
- package/dist/{chunk-3IV56JJW.js → chunk-P56WU3UT.js} +3 -2
- package/dist/{chunk-NQX7WBA4.js → chunk-PJYCPDV5.js} +14 -9
- package/dist/{chunk-LMNFIJ6M.js → chunk-PN3AWRMX.js} +15 -15
- package/dist/{chunk-ZMNQ2YJ6.js → chunk-PNZF7HIU.js} +3 -3
- package/dist/{chunk-R5T4LJSK.js → chunk-PZNAQBHQ.js} +2 -2
- package/dist/{chunk-RH4GKU52.js → chunk-QTXAWC5J.js} +18 -3
- package/dist/{chunk-2I35VGHX.js → chunk-R3QHLKJG.js} +2 -2
- package/dist/{chunk-OGJUSGF7.js → chunk-R6EEBWM3.js} +1 -1
- package/dist/{chunk-V66YKIW6.js → chunk-RYJXSXCV.js} +5 -5
- package/dist/{chunk-CHDQ3HIR.js → chunk-S7DFMJR5.js} +5 -9
- package/dist/{chunk-V2R7RWVY.js → chunk-STJNO6SL.js} +1 -1
- package/dist/{chunk-USYY3L7G.js → chunk-T3FQPTOA.js} +2 -2
- package/dist/{chunk-5IGBMS2U.js → chunk-T3HMVHDG.js} +1 -1
- package/dist/{chunk-IAF6VMPO.js → chunk-TPMZO6S2.js} +1 -1
- package/dist/{chunk-P26WOAA3.js → chunk-TUEBRYPZ.js} +1 -1
- package/dist/{chunk-HOIDGDU5.js → chunk-TVODT2UR.js} +1 -1
- package/dist/{chunk-Z25I7DRV.js → chunk-V5DH3OAC.js} +10 -5
- package/dist/{chunk-ZVXIZ2JD.js → chunk-VP527YC5.js} +35 -6
- package/dist/{chunk-6POQAFEC.js → chunk-W3JMIUHV.js} +1 -1
- package/dist/{chunk-6IYCBW4J.js → chunk-WEC625LQ.js} +1 -1
- package/dist/{chunk-V7MTIMPB.js → chunk-X6QIWZ33.js} +2 -2
- package/dist/{chunk-6GP5IKXE.js → chunk-XSNJ7NT2.js} +1 -1
- package/dist/{chunk-LZFB3HRK.js → chunk-XTKTIFHC.js} +5 -10
- package/dist/{chunk-QSUGIJWV.js → chunk-YMCS6AB7.js} +4 -9
- package/dist/{chunk-FOOH6SCB.js → chunk-YXOCKQZU.js} +2 -2
- package/dist/{chunk-2PPB644A.js → chunk-Z4LFLXRR.js} +1 -1
- package/dist/{chunk-N3QIXC2B.js → chunk-Z6VZYRVN.js} +2 -2
- 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 +36 -36
- package/dist/containers/setup.js +8 -8
- package/dist/db/agents.js +8 -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 +1 -1
- package/dist/db/session-resources.js +5 -5
- package/dist/db/sessions.js +8 -7
- package/dist/db/sync.js +5 -5
- package/dist/db/tenants.js +3 -3
- package/dist/db/traces.js +5 -5
- package/dist/db/upstream_keys.js +3 -3
- package/dist/db/vaults.js +12 -8
- package/dist/handlers/agents.js +56 -52
- package/dist/handlers/api_keys.js +53 -53
- package/dist/handlers/audit.js +53 -53
- package/dist/handlers/batch.js +53 -53
- package/dist/handlers/credentials.js +53 -53
- package/dist/handlers/environments.js +53 -53
- package/dist/handlers/events.js +56 -56
- package/dist/handlers/files.js +53 -53
- package/dist/handlers/index.js +100 -92
- package/dist/handlers/license.js +52 -52
- package/dist/handlers/memory.js +53 -53
- package/dist/handlers/metrics.js +52 -52
- package/dist/handlers/models.js +53 -53
- package/dist/handlers/openapi.js +3 -3
- package/dist/handlers/providers.js +52 -52
- package/dist/handlers/resources.js +52 -52
- package/dist/handlers/sessions.js +55 -55
- package/dist/handlers/settings.js +52 -52
- package/dist/handlers/skills-write.js +52 -52
- package/dist/handlers/skills.js +53 -53
- package/dist/handlers/stream.js +52 -52
- package/dist/handlers/tenants.js +53 -53
- package/dist/handlers/threads.js +52 -52
- package/dist/handlers/traces.js +53 -53
- package/dist/handlers/upstream_keys.js +55 -55
- package/dist/handlers/vaults.js +56 -52
- package/dist/handlers/whoami.js +52 -52
- package/dist/http.js +55 -51
- package/dist/index.js +57 -57
- package/dist/init.js +48 -48
- 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/openapi/schemas.js +3 -1
- package/dist/openapi/spec.js +2 -2
- package/dist/providers/fly.js +5 -5
- package/dist/providers/modal.js +5 -5
- package/dist/providers/registry.js +1 -1
- package/dist/providers/resolve-secrets.js +7 -7
- package/dist/providers/sprites.js +7 -7
- package/dist/providers/upstream-keys.js +12 -11
- 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 +41 -41
- package/dist/sessions/grader.js +5 -5
- package/dist/sessions/mcp-auth.js +1 -1
- package/dist/sessions/secrets.js +8 -8
- package/dist/sessions/sweeper.js +37 -37
- package/dist/sessions/threads.js +41 -41
- package/dist/shutdown.js +38 -38
- package/dist/sync/anthropic.js +11 -11
- package/dist/sync/container-file-sync.js +6 -6
- package/dist/sync/file-sync.js +17 -17
- package/package.json +1 -1
- /package/dist/{chunk-WPK4ZPMG.js → chunk-UE6DNLSV.js} +0 -0
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveRemoteSessionId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-22OUZJAV.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-GCQDNUS2.js";
|
|
10
10
|
import {
|
|
11
11
|
forwardToAnthropic
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-MQBMXAPU.js";
|
|
13
13
|
import {
|
|
14
14
|
ensureInitialized
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-PN3AWRMX.js";
|
|
16
16
|
import {
|
|
17
17
|
getProxiedTenantId,
|
|
18
18
|
isProxied
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5U5LRAFJ.js";
|
|
20
20
|
import {
|
|
21
21
|
subscribe
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-5MERXOLJ.js";
|
|
23
23
|
import {
|
|
24
24
|
getSession
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-KUWJJD6O.js";
|
|
26
26
|
import {
|
|
27
27
|
getDb,
|
|
28
28
|
init_client
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-W3JMIUHV.js";
|
|
30
30
|
import {
|
|
31
31
|
notFound,
|
|
32
32
|
toResponse
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// src/sessions/mcp-auth.ts
|
|
2
2
|
function injectMcpAuthHeaders(agent, vaultEntries) {
|
|
3
3
|
const mcpServers = agent.mcp_servers;
|
|
4
|
-
if (!mcpServers ||
|
|
4
|
+
if (!mcpServers || mcpServers.length === 0) return agent;
|
|
5
5
|
if (vaultEntries.length === 0) return agent;
|
|
6
6
|
const serverLookup = /* @__PURE__ */ new Map();
|
|
7
|
-
for (
|
|
8
|
-
|
|
7
|
+
for (let i = 0; i < mcpServers.length; i++) {
|
|
8
|
+
const name = mcpServers[i].name;
|
|
9
|
+
serverLookup.set(name.toUpperCase().replace(/-/g, "_"), i);
|
|
9
10
|
}
|
|
10
11
|
let mutated = false;
|
|
11
12
|
const merged = {};
|
|
@@ -13,10 +14,10 @@ function injectMcpAuthHeaders(agent, vaultEntries) {
|
|
|
13
14
|
const authMatch = /^MCP_AUTH_(.+)$/i.exec(key);
|
|
14
15
|
if (authMatch) {
|
|
15
16
|
const norm = authMatch[1].toUpperCase();
|
|
16
|
-
const
|
|
17
|
-
if (
|
|
18
|
-
merged[
|
|
19
|
-
merged[
|
|
17
|
+
const idx = serverLookup.get(norm);
|
|
18
|
+
if (idx !== void 0) {
|
|
19
|
+
merged[idx] = merged[idx] ?? {};
|
|
20
|
+
merged[idx]["Authorization"] = `Bearer ${value}`;
|
|
20
21
|
mutated = true;
|
|
21
22
|
}
|
|
22
23
|
continue;
|
|
@@ -28,10 +29,10 @@ function injectMcpAuthHeaders(agent, vaultEntries) {
|
|
|
28
29
|
for (let i = parts.length - 1; i >= 1; i--) {
|
|
29
30
|
const serverPart = parts.slice(0, i).join("_").toUpperCase();
|
|
30
31
|
const headerPart = parts.slice(i).join("-");
|
|
31
|
-
const
|
|
32
|
-
if (
|
|
33
|
-
merged[
|
|
34
|
-
merged[
|
|
32
|
+
const idx = serverLookup.get(serverPart);
|
|
33
|
+
if (idx !== void 0) {
|
|
34
|
+
merged[idx] = merged[idx] ?? {};
|
|
35
|
+
merged[idx][headerPart] = value;
|
|
35
36
|
mutated = true;
|
|
36
37
|
break;
|
|
37
38
|
}
|
|
@@ -39,13 +40,14 @@ function injectMcpAuthHeaders(agent, vaultEntries) {
|
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
if (!mutated) return agent;
|
|
42
|
-
const newServers =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
const newServers = mcpServers.map((server, idx) => {
|
|
44
|
+
const headers = merged[idx];
|
|
45
|
+
if (!headers) return server;
|
|
46
|
+
return {
|
|
47
|
+
...server,
|
|
48
|
+
headers: { ...server.headers, ...headers }
|
|
47
49
|
};
|
|
48
|
-
}
|
|
50
|
+
});
|
|
49
51
|
return { ...agent, mcp_servers: newServers };
|
|
50
52
|
}
|
|
51
53
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listTraces
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XSNJ7NT2.js";
|
|
4
4
|
import {
|
|
5
5
|
jsonOk,
|
|
6
6
|
routeWrap
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QTXAWC5J.js";
|
|
8
8
|
import {
|
|
9
9
|
exportTrace
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JP7Y3TKK.js";
|
|
11
11
|
import {
|
|
12
12
|
listEventsByTrace,
|
|
13
13
|
rowToManagedEvent
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-KGBKIJPF.js";
|
|
15
15
|
import {
|
|
16
16
|
badRequest,
|
|
17
17
|
notFound
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
} from "./chunk-S3JRZFF5.js";
|
|
4
4
|
import {
|
|
5
5
|
buildGeminiArgs
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IBYOMAZ3.js";
|
|
7
7
|
import {
|
|
8
8
|
buildGeminiAuthEnv,
|
|
9
9
|
validateGeminiRuntime
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-STJNO6SL.js";
|
|
11
11
|
import {
|
|
12
12
|
prepareGeminiOnSandbox
|
|
13
13
|
} from "./chunk-XG4UIGDH.js";
|
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
getDrizzle,
|
|
12
12
|
init_drizzle
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-PZNAQBHQ.js";
|
|
14
14
|
import {
|
|
15
15
|
schema_exports
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-ILHIHMO3.js";
|
|
17
17
|
|
|
18
18
|
// src/db/files.ts
|
|
19
19
|
init_drizzle();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SUPPORTED_PROVIDERS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-24IDJ7LY.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-445EL6J5.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-L3IACZ72.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-QTXAWC5J.js";
|
|
25
25
|
import {
|
|
26
26
|
badRequest,
|
|
27
27
|
notFound
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
syncAndCreateSession
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7SY65LWY.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveRemoteSessionId,
|
|
6
6
|
upsertSync
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-22OUZJAV.js";
|
|
8
8
|
import {
|
|
9
9
|
assertResourceTenant,
|
|
10
10
|
tenantFilter
|
|
@@ -14,14 +14,16 @@ import {
|
|
|
14
14
|
} from "./chunk-DC2UMEQH.js";
|
|
15
15
|
import {
|
|
16
16
|
kickoffEnvironmentSetup
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-LQP6XGFU.js";
|
|
18
18
|
import {
|
|
19
|
+
decodeCursor,
|
|
19
20
|
jsonOk,
|
|
21
|
+
paginatedOk,
|
|
20
22
|
routeWrap
|
|
21
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-QTXAWC5J.js";
|
|
22
24
|
import {
|
|
23
25
|
forwardToAnthropic
|
|
24
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-MQBMXAPU.js";
|
|
25
27
|
import {
|
|
26
28
|
errors_exports,
|
|
27
29
|
init_errors
|
|
@@ -31,18 +33,18 @@ import {
|
|
|
31
33
|
isProxied,
|
|
32
34
|
markProxied,
|
|
33
35
|
unmarkProxied
|
|
34
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-5U5LRAFJ.js";
|
|
35
37
|
import {
|
|
36
38
|
dropActor,
|
|
37
39
|
getActor
|
|
38
40
|
} from "./chunk-LAWTTG2E.js";
|
|
39
41
|
import {
|
|
40
42
|
releaseSession
|
|
41
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-JFOHGHW5.js";
|
|
42
44
|
import {
|
|
43
45
|
appendEvent,
|
|
44
46
|
dropEmitter
|
|
45
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-5MERXOLJ.js";
|
|
46
48
|
import {
|
|
47
49
|
archiveSession,
|
|
48
50
|
createSession,
|
|
@@ -50,13 +52,13 @@ import {
|
|
|
50
52
|
listSessions,
|
|
51
53
|
updateSessionMutable,
|
|
52
54
|
updateSessionStatus
|
|
53
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-KUWJJD6O.js";
|
|
54
56
|
import {
|
|
55
57
|
getEnvironment
|
|
56
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-H6OT5GUL.js";
|
|
57
59
|
import {
|
|
58
60
|
getAgent
|
|
59
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-BCIFFAGW.js";
|
|
60
62
|
import {
|
|
61
63
|
init_clock,
|
|
62
64
|
nowMs
|
|
@@ -64,7 +66,7 @@ import {
|
|
|
64
66
|
import {
|
|
65
67
|
getDb,
|
|
66
68
|
init_client
|
|
67
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-W3JMIUHV.js";
|
|
68
70
|
import {
|
|
69
71
|
badRequest,
|
|
70
72
|
notFound
|
|
@@ -445,13 +447,25 @@ function handleListSessions(request) {
|
|
|
445
447
|
const limit = url.searchParams.get("limit");
|
|
446
448
|
const order = url.searchParams.get("order");
|
|
447
449
|
const includeArchived = url.searchParams.get("include_archived") === "true";
|
|
448
|
-
const cursor = url.searchParams.get("page")
|
|
450
|
+
const cursor = decodeCursor(url.searchParams.get("page"));
|
|
449
451
|
const agentId = url.searchParams.get("agent_id") ?? void 0;
|
|
450
452
|
const agentVersion = url.searchParams.get("agent_version");
|
|
451
453
|
const environmentId = url.searchParams.get("environment_id") ?? void 0;
|
|
454
|
+
const statusesRaw = url.searchParams.getAll("statuses");
|
|
452
455
|
const statusRaw = url.searchParams.get("status");
|
|
456
|
+
let statuses;
|
|
453
457
|
let status;
|
|
454
|
-
if (
|
|
458
|
+
if (statusesRaw.length > 0) {
|
|
459
|
+
const values = statusesRaw.flatMap((v) => v.split(","));
|
|
460
|
+
for (const v of values) {
|
|
461
|
+
if (!ALLOWED_STATUSES.includes(v)) {
|
|
462
|
+
throw badRequest(
|
|
463
|
+
`invalid statuses value: ${v} (allowed: ${ALLOWED_STATUSES.join(",")})`
|
|
464
|
+
);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
statuses = values;
|
|
468
|
+
} else if (statusRaw != null) {
|
|
455
469
|
if (!ALLOWED_STATUSES.includes(statusRaw)) {
|
|
456
470
|
throw badRequest(
|
|
457
471
|
`invalid status value: ${statusRaw} (allowed: ${ALLOWED_STATUSES.join(",")})`
|
|
@@ -465,6 +479,7 @@ function handleListSessions(request) {
|
|
|
465
479
|
agent_version: agentVersion ? Number(agentVersion) : void 0,
|
|
466
480
|
environmentId,
|
|
467
481
|
status,
|
|
482
|
+
statuses,
|
|
468
483
|
limit: requestedLimit,
|
|
469
484
|
order: order ?? void 0,
|
|
470
485
|
includeArchived,
|
|
@@ -475,12 +490,7 @@ function handleListSessions(request) {
|
|
|
475
490
|
createdLte: parseMs(url.searchParams.get("created_at[lte]")),
|
|
476
491
|
tenantFilter: tenantFilter(auth)
|
|
477
492
|
});
|
|
478
|
-
return
|
|
479
|
-
data,
|
|
480
|
-
has_more: data.length === requestedLimit,
|
|
481
|
-
first_id: data.length > 0 ? data[0].id : null,
|
|
482
|
-
last_id: data.length > 0 ? data[data.length - 1].id : null
|
|
483
|
-
});
|
|
493
|
+
return paginatedOk(data, requestedLimit);
|
|
484
494
|
});
|
|
485
495
|
}
|
|
486
496
|
function handleGetSession(request, id) {
|
|
@@ -11,18 +11,18 @@ import {
|
|
|
11
11
|
getFileRecord,
|
|
12
12
|
listFiles,
|
|
13
13
|
updateFileStoragePath
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-DMMNAQUM.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-QTXAWC5J.js";
|
|
22
22
|
import {
|
|
23
23
|
getDb,
|
|
24
24
|
init_client
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-W3JMIUHV.js";
|
|
26
26
|
import {
|
|
27
27
|
badRequest,
|
|
28
28
|
notFound
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
forwardToAnthropic
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MQBMXAPU.js";
|
|
4
4
|
import {
|
|
5
5
|
isAnthropicApiKey,
|
|
6
6
|
isPassthroughAllowedPath
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
findByRawKey,
|
|
10
10
|
hydratePermissions
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-T3FQPTOA.js";
|
|
12
12
|
import {
|
|
13
13
|
getConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-X6QIWZ33.js";
|
|
15
15
|
import {
|
|
16
16
|
unauthorized
|
|
17
17
|
} from "./chunk-EZYKRG4W.js";
|
|
@@ -5,23 +5,25 @@ import {
|
|
|
5
5
|
} from "./chunk-23UKWXJH.js";
|
|
6
6
|
import {
|
|
7
7
|
kickoffEnvironmentSetup
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-LQP6XGFU.js";
|
|
9
9
|
import {
|
|
10
|
+
decodeCursor,
|
|
10
11
|
jsonOk,
|
|
12
|
+
paginatedOk,
|
|
11
13
|
routeWrap
|
|
12
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-QTXAWC5J.js";
|
|
13
15
|
import {
|
|
14
16
|
forwardToAnthropic
|
|
15
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-MQBMXAPU.js";
|
|
16
18
|
import {
|
|
17
19
|
getProxiedTenantId,
|
|
18
20
|
isProxied,
|
|
19
21
|
markProxied,
|
|
20
22
|
unmarkProxied
|
|
21
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-5U5LRAFJ.js";
|
|
22
24
|
import {
|
|
23
25
|
resolveContainerProvider
|
|
24
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-UE6DNLSV.js";
|
|
25
27
|
import {
|
|
26
28
|
archiveEnvironment,
|
|
27
29
|
createEnvironment,
|
|
@@ -30,11 +32,11 @@ import {
|
|
|
30
32
|
hasSessionsAttached,
|
|
31
33
|
listEnvironments,
|
|
32
34
|
updateEnvironment
|
|
33
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-H6OT5GUL.js";
|
|
34
36
|
import {
|
|
35
37
|
getDb,
|
|
36
38
|
init_client
|
|
37
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-W3JMIUHV.js";
|
|
38
40
|
import {
|
|
39
41
|
badRequest,
|
|
40
42
|
conflict,
|
|
@@ -155,7 +157,7 @@ function handleListEnvironments(request) {
|
|
|
155
157
|
const limit = url.searchParams.get("limit");
|
|
156
158
|
const order = url.searchParams.get("order");
|
|
157
159
|
const includeArchived = url.searchParams.get("include_archived") === "true";
|
|
158
|
-
const cursor = url.searchParams.get("page")
|
|
160
|
+
const cursor = decodeCursor(url.searchParams.get("page"));
|
|
159
161
|
const requestedLimit = limit ? Number(limit) : 20;
|
|
160
162
|
const data = listEnvironments({
|
|
161
163
|
limit: requestedLimit,
|
|
@@ -164,12 +166,7 @@ function handleListEnvironments(request) {
|
|
|
164
166
|
cursor,
|
|
165
167
|
tenantFilter: tenantFilter(auth)
|
|
166
168
|
});
|
|
167
|
-
return
|
|
168
|
-
data,
|
|
169
|
-
has_more: data.length === requestedLimit,
|
|
170
|
-
first_id: data.length > 0 ? data[0].id : null,
|
|
171
|
-
last_id: data.length > 0 ? data[data.length - 1].id : null
|
|
172
|
-
});
|
|
169
|
+
return paginatedOk(data, requestedLimit);
|
|
173
170
|
});
|
|
174
171
|
}
|
|
175
172
|
function handleGetEnvironment(request, id) {
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-XBHDQK4Z.js";
|
|
7
7
|
import {
|
|
8
8
|
getConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-X6QIWZ33.js";
|
|
10
10
|
|
|
11
11
|
// src/backends/claude/args.ts
|
|
12
12
|
function buildClaudeArgs(input) {
|
|
@@ -37,7 +37,7 @@ Your custom tools are: ${toolList}. Call them by these exact names \u2014 do not
|
|
|
37
37
|
}
|
|
38
38
|
argv.push("--system-prompt", systemPrompt);
|
|
39
39
|
if (input.agent.model) {
|
|
40
|
-
argv.push("--model", input.agent.model);
|
|
40
|
+
argv.push("--model", input.agent.model.id);
|
|
41
41
|
}
|
|
42
42
|
const mcpToolNames = Array.from(tools.customToolNames).map(
|
|
43
43
|
(name) => `mcp__tool-bridge__${name}`
|
|
@@ -52,10 +52,15 @@ Your custom tools are: ${toolList}. Call them by these exact names \u2014 do not
|
|
|
52
52
|
if (input.agent.model_config?.speed === "fast") {
|
|
53
53
|
argv.push("--fast");
|
|
54
54
|
}
|
|
55
|
-
if (input.agent.mcp_servers &&
|
|
55
|
+
if (input.agent.mcp_servers && input.agent.mcp_servers.length > 0) {
|
|
56
|
+
const mcpRecord = {};
|
|
57
|
+
for (const s of input.agent.mcp_servers) {
|
|
58
|
+
const { name, ...rest } = s;
|
|
59
|
+
mcpRecord[name] = rest;
|
|
60
|
+
}
|
|
56
61
|
argv.push(
|
|
57
62
|
"--mcp-config",
|
|
58
|
-
JSON.stringify({ mcpServers:
|
|
63
|
+
JSON.stringify({ mcpServers: mcpRecord })
|
|
59
64
|
);
|
|
60
65
|
}
|
|
61
66
|
return argv;
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
jsonOk,
|
|
10
10
|
routeWrap
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-QTXAWC5J.js";
|
|
12
12
|
import {
|
|
13
13
|
snapshotApiMetrics
|
|
14
14
|
} from "./chunk-D2XITRN6.js";
|
|
15
15
|
import {
|
|
16
16
|
getDb,
|
|
17
17
|
init_client
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-W3JMIUHV.js";
|
|
19
19
|
import {
|
|
20
20
|
badRequest
|
|
21
21
|
} from "./chunk-EZYKRG4W.js";
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
piBackend
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NHAYKVXG.js";
|
|
4
4
|
import {
|
|
5
5
|
opencodeBackend
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KKAJC3Z2.js";
|
|
7
7
|
import {
|
|
8
8
|
factoryBackend
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-L26TVIB6.js";
|
|
10
10
|
import {
|
|
11
11
|
geminiBackend
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DKLHYSPW.js";
|
|
13
13
|
import {
|
|
14
14
|
codexBackend
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-R3QHLKJG.js";
|
|
16
16
|
import {
|
|
17
17
|
claudeBackend
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-PNZF7HIU.js";
|
|
19
19
|
|
|
20
20
|
// src/backends/registry.ts
|
|
21
21
|
var BACKENDS = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_TENANT_ID
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-I26QP3A3.js";
|
|
4
4
|
import {
|
|
5
5
|
init_ids,
|
|
6
6
|
newId
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
getDrizzle,
|
|
15
15
|
init_drizzle
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-PZNAQBHQ.js";
|
|
17
17
|
import {
|
|
18
18
|
schema_exports
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ILHIHMO3.js";
|
|
20
20
|
|
|
21
21
|
// src/db/environments.ts
|
|
22
22
|
init_drizzle();
|
|
@@ -25,6 +25,7 @@ init_clock();
|
|
|
25
25
|
import { eq, and, isNull, lt, gt, sql } from "drizzle-orm";
|
|
26
26
|
function hydrate(row) {
|
|
27
27
|
return {
|
|
28
|
+
type: "environment",
|
|
28
29
|
id: row.id,
|
|
29
30
|
name: row.name,
|
|
30
31
|
description: row.description ?? null,
|
|
@@ -33,6 +34,7 @@ function hydrate(row) {
|
|
|
33
34
|
state: row.state,
|
|
34
35
|
state_message: row.state_message,
|
|
35
36
|
created_at: toIso(row.created_at),
|
|
37
|
+
updated_at: toIso(row.updated_at),
|
|
36
38
|
archived_at: row.archived_at ? toIso(row.archived_at) : null
|
|
37
39
|
};
|
|
38
40
|
}
|
|
@@ -48,7 +50,8 @@ function createEnvironment(input) {
|
|
|
48
50
|
metadata_json: JSON.stringify(input.metadata ?? {}),
|
|
49
51
|
tenant_id: input.tenant_id ?? DEFAULT_TENANT_ID,
|
|
50
52
|
state: "preparing",
|
|
51
|
-
created_at: now
|
|
53
|
+
created_at: now,
|
|
54
|
+
updated_at: now
|
|
52
55
|
}).run();
|
|
53
56
|
return getEnvironment(id);
|
|
54
57
|
}
|
|
@@ -64,7 +67,8 @@ function updateEnvironment(id, updates) {
|
|
|
64
67
|
name: newName,
|
|
65
68
|
description: newDescription ?? null,
|
|
66
69
|
config_json: newConfigJson,
|
|
67
|
-
metadata_json: newMetadataJson
|
|
70
|
+
metadata_json: newMetadataJson,
|
|
71
|
+
updated_at: nowMs()
|
|
68
72
|
}).where(eq(schema_exports.environments.id, id)).run();
|
|
69
73
|
return getEnvironment(id);
|
|
70
74
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listCredentialsWithTokens
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HVLYE4S5.js";
|
|
4
4
|
import {
|
|
5
5
|
listEntries
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VP527YC5.js";
|
|
7
7
|
|
|
8
8
|
// src/sessions/secrets.ts
|
|
9
9
|
function loadSessionSecrets(vaultIds) {
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-23UKWXJH.js";
|
|
7
7
|
import {
|
|
8
8
|
recordAudit
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-L3IACZ72.js";
|
|
10
10
|
import {
|
|
11
11
|
COMMUNITY_LIMITS,
|
|
12
12
|
hasFeature,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
jsonOk,
|
|
17
17
|
routeWrap
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-QTXAWC5J.js";
|
|
19
19
|
import {
|
|
20
20
|
createApiKey,
|
|
21
21
|
getApiKeyById,
|
|
@@ -23,14 +23,14 @@ import {
|
|
|
23
23
|
listApiKeys,
|
|
24
24
|
revokeApiKey,
|
|
25
25
|
updateApiKeyPermissions
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-T3FQPTOA.js";
|
|
27
27
|
import {
|
|
28
28
|
listSessionsByApiKey
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-KUWJJD6O.js";
|
|
30
30
|
import {
|
|
31
31
|
getDb,
|
|
32
32
|
init_client
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-W3JMIUHV.js";
|
|
34
34
|
import {
|
|
35
35
|
badRequest,
|
|
36
36
|
forbidden,
|