@agentstep/agent-sdk 0.5.10 → 0.5.12
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 +12 -12
- package/dist/backends/claude/wrapper-script.js +1 -1
- package/dist/backends/codex/auth.js +6 -6
- package/dist/backends/codex/index.js +14 -14
- package/dist/backends/codex/setup.js +2 -2
- package/dist/backends/codex/wrapper-script.js +1 -1
- package/dist/backends/factory/auth.js +6 -6
- package/dist/backends/factory/index.js +16 -16
- package/dist/backends/factory/setup.js +2 -2
- package/dist/backends/factory/wrapper-script.js +1 -1
- package/dist/backends/gemini/auth.js +6 -6
- package/dist/backends/gemini/index.js +12 -12
- package/dist/backends/gemini/setup.js +2 -2
- package/dist/backends/gemini/wrapper-script.js +1 -1
- package/dist/backends/opencode/auth.js +6 -6
- package/dist/backends/opencode/index.js +14 -14
- package/dist/backends/opencode/setup.js +2 -2
- package/dist/backends/opencode/wrapper-script.js +1 -1
- package/dist/backends/pi/auth.js +6 -6
- package/dist/backends/pi/index.js +14 -14
- package/dist/backends/pi/setup.js +2 -2
- package/dist/backends/pi/wrapper-script.js +1 -1
- package/dist/backends/registry.js +36 -36
- package/dist/{chunk-ZEDULYKX.js → chunk-2IISXUVF.js} +1 -1
- package/dist/{chunk-34Q6WMIT.js → chunk-2Z56TPBL.js} +3 -3
- package/dist/{chunk-WCLMAQR4.js → chunk-3DRK36FB.js} +5 -5
- package/dist/{chunk-2PTWIZX6.js → chunk-3NNU7TQ4.js} +8 -8
- package/dist/{chunk-NFGCFN57.js → chunk-3UK3IF27.js} +6 -6
- 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-ZIMK4TPI.js → chunk-6PIL2RJD.js} +2 -2
- package/dist/{chunk-6TRWB7CE.js → chunk-6X3G5SAS.js} +41 -18
- package/dist/{chunk-LVSQULRG.js → chunk-7ASUTNKE.js} +2 -2
- package/dist/{chunk-KJENLSJT.js → chunk-7BT6V4CH.js} +20 -18
- package/dist/{chunk-5COWXLGO.js → chunk-7D55V4XP.js} +1 -1
- package/dist/{chunk-KYDOZBD5.js → chunk-7NZ46LIO.js} +29 -28
- package/dist/{chunk-4QBWHZKQ.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-YSUPRYX2.js → chunk-AQHYCRTO.js} +1 -1
- package/dist/{chunk-GUD3MOP7.js → chunk-B3UOTIOI.js} +9 -9
- package/dist/{chunk-2OFGWHZB.js → chunk-B5JUCPYW.js} +1 -1
- package/dist/{chunk-LJSD6G6K.js → chunk-BQ5MWNWN.js} +3 -3
- package/dist/{chunk-SKRIZPPF.js → chunk-BYJRL4IQ.js} +6 -6
- package/dist/{chunk-56KP3SAI.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-6BRG2NJL.js → chunk-CGGGCKSK.js} +4 -4
- package/dist/{chunk-QYSDP6V5.js → chunk-CMOU2OFW.js} +1 -1
- package/dist/chunk-D2GADI73.js +253 -0
- package/dist/{chunk-75C3KFST.js → chunk-D3TY7PMJ.js} +5 -5
- package/dist/{chunk-RTZNJDEL.js → chunk-DAIEVD4O.js} +4 -4
- package/dist/{chunk-BGNQXT4T.js → chunk-DDF2CRA3.js} +2 -2
- package/dist/{chunk-DQ5VMD3Z.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-PXOL34HI.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-6T4DKZYW.js → chunk-ISXWS5Y4.js} +8 -8
- package/dist/{chunk-QBJOYOVF.js → chunk-J6T3W6RY.js} +15 -0
- package/dist/{chunk-CXDNTVCM.js → chunk-JK2GXKOQ.js} +5 -5
- package/dist/{chunk-A4BGGHRC.js → chunk-JXU6SA6S.js} +42 -1
- package/dist/{chunk-37Y556D5.js → chunk-KHICXOTH.js} +3 -3
- package/dist/chunk-KJ2GJLPQ.js +39 -0
- 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-CZPWZ5A5.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-TARFRZ44.js → chunk-N5F5OUUZ.js} +3 -3
- package/dist/{chunk-M2LUXIXU.js → chunk-NMZMRH3E.js} +1 -1
- package/dist/{chunk-KGTWD46T.js → chunk-NWIMPG4M.js} +1 -1
- package/dist/chunk-OGA7KDQZ.js +37 -0
- package/dist/chunk-ONEKY3CM.js +146 -0
- package/dist/{chunk-SUFGP47L.js → chunk-ONS32E65.js} +28 -20
- package/dist/{chunk-XG4UIGDH.js → chunk-PAQ2JFVD.js} +1 -1
- package/dist/{chunk-N5C3WQWD.js → chunk-PDUQCDIO.js} +1 -1
- package/dist/{chunk-DSNNEER4.js → chunk-PJTGQVKB.js} +1 -1
- package/dist/{chunk-SAUR463Z.js → chunk-PLSXDJT4.js} +6 -5
- package/dist/{chunk-NL4EKSFA.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-PZ5EGY64.js +37 -0
- package/dist/{chunk-6ERUVF2Y.js → chunk-QB7JAMWG.js} +1 -1
- package/dist/{chunk-IY3KO2BC.js → chunk-QS544PN6.js} +4 -4
- package/dist/{chunk-GBGXSRZX.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-HV7M7UUY.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-MF3J7WTR.js → chunk-TN34IN7S.js} +16 -13
- package/dist/{chunk-XUODI55L.js → chunk-U3QU5AVC.js} +1 -1
- package/dist/{chunk-PNJRIMKJ.js → chunk-UB5WVCY4.js} +3 -3
- package/dist/{chunk-P7P2NWZD.js → chunk-URNG7ZX2.js} +1 -1
- package/dist/{chunk-3TF3YLM2.js → chunk-UROFA6OZ.js} +2 -2
- package/dist/{chunk-T5P54I7S.js → chunk-UTQRPXTL.js} +9 -8
- package/dist/{chunk-Y3EUEPGQ.js → chunk-UWHV7EJG.js} +2 -2
- package/dist/chunk-UY3VT3HQ.js +39 -0
- package/dist/{chunk-5LXMEHQX.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-E4FQRMHV.js → chunk-XJYR5HE3.js} +18 -0
- package/dist/{chunk-X3IXLDWQ.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-LGVD2IGL.js → chunk-YD67W6DW.js} +9 -9
- package/dist/{chunk-J3XIGC3L.js → chunk-YE47YUGE.js} +6 -6
- package/dist/{chunk-F6DCNXO5.js → chunk-YEJFXJHR.js} +2 -2
- package/dist/{chunk-ZV6Y5VOD.js → chunk-YUVQQCT4.js} +15 -15
- package/dist/{chunk-T64ECODW.js → chunk-YUZFNAG6.js} +21 -0
- package/dist/{chunk-OWG6UV4S.js → chunk-YWAMRRAX.js} +10 -10
- 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 +48 -48
- package/dist/containers/setup.js +10 -9
- 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 +64 -64
- package/dist/handlers/api_keys.js +65 -65
- package/dist/handlers/audit.js +65 -65
- package/dist/handlers/batch.js +65 -65
- package/dist/handlers/credentials.js +65 -65
- package/dist/handlers/environments.js +65 -65
- package/dist/handlers/events.js +68 -68
- package/dist/handlers/files.js +65 -65
- package/dist/handlers/index.js +141 -120
- package/dist/handlers/license.js +64 -64
- package/dist/handlers/memory.js +66 -66
- package/dist/handlers/metrics.js +64 -64
- package/dist/handlers/models.js +65 -65
- package/dist/handlers/providers.js +64 -64
- package/dist/handlers/resources.js +64 -64
- package/dist/handlers/sessions.js +68 -68
- package/dist/handlers/settings.js +64 -64
- package/dist/handlers/skills-write.js +67 -65
- package/dist/handlers/skills.js +65 -65
- package/dist/handlers/stream.js +64 -64
- package/dist/handlers/tenants.js +65 -65
- package/dist/handlers/threads.js +65 -65
- package/dist/handlers/traces.js +65 -65
- 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 +67 -67
- package/dist/handlers/vaults.js +64 -64
- package/dist/handlers/whoami.js +64 -64
- package/dist/handlers/work.js +114 -0
- package/dist/http.js +63 -63
- package/dist/index.js +84 -73
- package/dist/init.js +60 -60
- 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/daytona.js +1 -1
- package/dist/providers/fly.js +7 -6
- 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 +53 -53
- package/dist/sessions/grader.js +5 -5
- package/dist/sessions/secrets.js +8 -8
- package/dist/sessions/sweeper.js +49 -49
- package/dist/sessions/threads.js +54 -54
- package/dist/shutdown.js +50 -50
- 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
- package/dist/chunk-3W6KEDQE.js +0 -20
- package/dist/chunk-JDBXIJKG.js +0 -20
- package/dist/chunk-QQDSHL27.js +0 -22
- package/dist/chunk-SWIP7JBQ.js +0 -22
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listTraces
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4MKJB6U2.js";
|
|
4
4
|
import {
|
|
5
5
|
jsonOk,
|
|
6
6
|
routeWrap
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-FCKUWBUL.js";
|
|
8
8
|
import {
|
|
9
9
|
exportTrace
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7Z6LTBYQ.js";
|
|
11
11
|
import {
|
|
12
12
|
listEventsByTrace,
|
|
13
13
|
rowToManagedEvent
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-PRWWTLPR.js";
|
|
15
15
|
import {
|
|
16
16
|
badRequest,
|
|
17
17
|
notFound
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./chunk-D2XITRN6.js";
|
|
5
5
|
import {
|
|
6
6
|
authenticateAndIntercept
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BQ5MWNWN.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-7BT6V4CH.js";
|
|
14
14
|
import {
|
|
15
15
|
captureException
|
|
16
16
|
} from "./chunk-3MQ2FWXS.js";
|
|
@@ -3,21 +3,21 @@ import {
|
|
|
3
3
|
} from "./chunk-23UKWXJH.js";
|
|
4
4
|
import {
|
|
5
5
|
recordAudit
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PDUQCDIO.js";
|
|
7
7
|
import {
|
|
8
8
|
requireFeature
|
|
9
9
|
} from "./chunk-2N2KL4KM.js";
|
|
10
10
|
import {
|
|
11
11
|
jsonOk,
|
|
12
12
|
routeWrap
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-FCKUWBUL.js";
|
|
14
14
|
import {
|
|
15
15
|
archiveTenant,
|
|
16
16
|
createTenant,
|
|
17
17
|
getTenant,
|
|
18
18
|
listTenants,
|
|
19
19
|
renameTenant
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-CD2FQVQR.js";
|
|
21
21
|
import {
|
|
22
22
|
badRequest,
|
|
23
23
|
notFound
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
disableUpstreamKey,
|
|
3
3
|
selectNextUpstreamKey
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-G7Y5YGLE.js";
|
|
5
5
|
import {
|
|
6
6
|
listEntries
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-REY2YZ5X.js";
|
|
8
8
|
import {
|
|
9
9
|
getSession
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MTB7SCZ5.js";
|
|
11
11
|
import {
|
|
12
12
|
getConfig
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-WKGJQIRC.js";
|
|
14
14
|
|
|
15
15
|
// src/providers/upstream-keys.ts
|
|
16
16
|
var CONSECUTIVE_FAIL_THRESHOLD = 3;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildOpencodeArgs
|
|
3
|
+
} from "./chunk-P56WU3UT.js";
|
|
1
4
|
import {
|
|
2
5
|
buildOpencodeAuthEnv,
|
|
3
6
|
validateOpencodeRuntime
|
|
4
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RFK4W5PZ.js";
|
|
5
8
|
import {
|
|
6
9
|
buildOpencodeConfigEnv
|
|
7
10
|
} from "./chunk-V5DH3OAC.js";
|
|
8
11
|
import {
|
|
9
12
|
prepareOpencodeOnSandbox
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import {
|
|
12
|
-
createOpencodeTranslator
|
|
13
|
-
} from "./chunk-ETWGCBIQ.js";
|
|
13
|
+
} from "./chunk-URNG7ZX2.js";
|
|
14
14
|
import {
|
|
15
15
|
OPENCODE_WRAPPER_PATH
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UY3VT3HQ.js";
|
|
17
17
|
import {
|
|
18
|
-
|
|
19
|
-
} from "./chunk-
|
|
18
|
+
createOpencodeTranslator
|
|
19
|
+
} from "./chunk-ETWGCBIQ.js";
|
|
20
20
|
import {
|
|
21
21
|
wrapPromptWithSystem
|
|
22
22
|
} from "./chunk-YE2RMJY7.js";
|
|
@@ -9,6 +9,21 @@ mkdir -p /tmp/v8-cache
|
|
|
9
9
|
# Install claude CLI if not present
|
|
10
10
|
if ! command -v claude >/dev/null 2>&1; then npm install -g @anthropic-ai/claude-code; fi
|
|
11
11
|
claude --version >&2 2>/dev/null || true
|
|
12
|
+
# Sprites keep-alive: prevent VM suspension during long agent turns.
|
|
13
|
+
# Only activates if the sprites management socket exists (sprites containers only).
|
|
14
|
+
SPRITE_SOCK="/.sprite/api.sock"
|
|
15
|
+
HEARTBEAT_PID=""
|
|
16
|
+
if [ -S "$SPRITE_SOCK" ]; then
|
|
17
|
+
# Create task with 5-minute expiry
|
|
18
|
+
curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" -X POST http://sprite/v1/tasks -H "Content-Type: application/json" -d '{"name":"agent-turn","expire":"5m"}' >/dev/null 2>&1
|
|
19
|
+
# Background heartbeat: refresh every 60s
|
|
20
|
+
(while sleep 60; do
|
|
21
|
+
curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" -X PUT http://sprite/v1/tasks/agent-turn -H "Content-Type: application/json" -d '{"expire":"5m"}' >/dev/null 2>&1
|
|
22
|
+
done) &
|
|
23
|
+
HEARTBEAT_PID=$!
|
|
24
|
+
# Cleanup on exit
|
|
25
|
+
trap 'curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" -X DELETE http://sprite/v1/tasks/agent-turn >/dev/null 2>&1; [ -n "$HEARTBEAT_PID" ] && kill $HEARTBEAT_PID 2>/dev/null' EXIT
|
|
26
|
+
fi
|
|
12
27
|
# Read env vars from stdin until blank line, save remaining stdin to temp file
|
|
13
28
|
PROMPT_FILE=$(mktemp)
|
|
14
29
|
while IFS= read -r line; do [ -z "$line" ] && break; export "$line"; done
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
jsonOk,
|
|
6
6
|
routeWrap
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-FCKUWBUL.js";
|
|
8
8
|
import {
|
|
9
9
|
getProxiedTenantId
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YCL5RHEC.js";
|
|
11
11
|
import {
|
|
12
12
|
getSession,
|
|
13
13
|
updateSessionResources
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-MTB7SCZ5.js";
|
|
15
15
|
import {
|
|
16
16
|
countResources,
|
|
17
17
|
createResource,
|
|
@@ -20,11 +20,11 @@ import {
|
|
|
20
20
|
init_session_resources,
|
|
21
21
|
listResources,
|
|
22
22
|
updateResource
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-UROFA6OZ.js";
|
|
24
24
|
import {
|
|
25
25
|
getDb,
|
|
26
26
|
init_client
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-U3QU5AVC.js";
|
|
28
28
|
import {
|
|
29
29
|
badRequest,
|
|
30
30
|
notFound
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getConfig
|
|
3
|
+
} from "./chunk-WKGJQIRC.js";
|
|
4
|
+
|
|
1
5
|
// src/providers/registry.ts
|
|
2
6
|
var PROVIDERS = {
|
|
3
7
|
sprites: async () => (await import("./providers/sprites.js")).spritesProvider,
|
|
@@ -20,7 +24,44 @@ async function resolveContainerProvider(providerName) {
|
|
|
20
24
|
if (!loader) throw new Error(`Unknown provider: "${key}". Available: ${Object.keys(PROVIDERS).join(", ")}`);
|
|
21
25
|
return loader();
|
|
22
26
|
}
|
|
27
|
+
var warnedEnvProvider = false;
|
|
28
|
+
async function resolveProvider(opts) {
|
|
29
|
+
const result = await tryResolveProvider(opts);
|
|
30
|
+
if (!result) {
|
|
31
|
+
throw new Error(
|
|
32
|
+
"No container provider configured. Set DEFAULT_PROVIDER env var, use gateway serve --provider <name>, or gateway worker --provider <name>."
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
async function tryResolveProvider(opts) {
|
|
38
|
+
if (opts?.override) {
|
|
39
|
+
return resolveContainerProvider(opts.override);
|
|
40
|
+
}
|
|
41
|
+
if (opts?.envConfigProvider) {
|
|
42
|
+
if (!warnedEnvProvider) {
|
|
43
|
+
console.warn("[provider] config.provider on environment is deprecated \u2014 use gateway serve --provider or DEFAULT_PROVIDER env var");
|
|
44
|
+
warnedEnvProvider = true;
|
|
45
|
+
}
|
|
46
|
+
return resolveContainerProvider(opts.envConfigProvider);
|
|
47
|
+
}
|
|
48
|
+
const cfg = getConfig();
|
|
49
|
+
if (cfg.defaultProvider) {
|
|
50
|
+
return resolveContainerProvider(cfg.defaultProvider);
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
function resolveProviderName(opts) {
|
|
55
|
+
if (opts?.override) return opts.override;
|
|
56
|
+
if (opts?.envConfigProvider) return opts.envConfigProvider;
|
|
57
|
+
const cfg = getConfig();
|
|
58
|
+
if (cfg.defaultProvider) return cfg.defaultProvider;
|
|
59
|
+
return "unknown";
|
|
60
|
+
}
|
|
23
61
|
|
|
24
62
|
export {
|
|
25
|
-
resolveContainerProvider
|
|
63
|
+
resolveContainerProvider,
|
|
64
|
+
resolveProvider,
|
|
65
|
+
tryResolveProvider,
|
|
66
|
+
resolveProviderName
|
|
26
67
|
};
|
|
@@ -11,18 +11,18 @@ import {
|
|
|
11
11
|
getFileRecord,
|
|
12
12
|
listFiles,
|
|
13
13
|
updateFileStoragePath
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-KNWM237Q.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-FCKUWBUL.js";
|
|
22
22
|
import {
|
|
23
23
|
getDb,
|
|
24
24
|
init_client
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-U3QU5AVC.js";
|
|
26
26
|
import {
|
|
27
27
|
badRequest,
|
|
28
28
|
notFound
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// src/backends/factory/wrapper-script.ts
|
|
2
|
+
var FACTORY_WRAPPER_PATH = "/tmp/.factory-wrapper";
|
|
3
|
+
var SANDBOX_WRAPPER_SCRIPT = [
|
|
4
|
+
"#!/bin/bash",
|
|
5
|
+
"set -e",
|
|
6
|
+
'while IFS= read -r line; do [ -z "$line" ] && break; export "$line"; done',
|
|
7
|
+
"PROMPT=$(cat)",
|
|
8
|
+
// Sprites keep-alive: prevent VM suspension during long agent turns.
|
|
9
|
+
'SPRITE_SOCK="/.sprite/api.sock"',
|
|
10
|
+
'HEARTBEAT_PID=""',
|
|
11
|
+
'if [ -S "$SPRITE_SOCK" ]; then',
|
|
12
|
+
' curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" \\',
|
|
13
|
+
" -X POST http://sprite/v1/tasks \\",
|
|
14
|
+
' -H "Content-Type: application/json" \\',
|
|
15
|
+
` -d '{"name":"agent-turn","expire":"5m"}' >/dev/null 2>&1`,
|
|
16
|
+
" (while sleep 60; do",
|
|
17
|
+
' curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" \\',
|
|
18
|
+
" -X PUT http://sprite/v1/tasks/agent-turn \\",
|
|
19
|
+
' -H "Content-Type: application/json" \\',
|
|
20
|
+
` -d '{"expire":"5m"}' >/dev/null 2>&1`,
|
|
21
|
+
" done) &",
|
|
22
|
+
" HEARTBEAT_PID=$!",
|
|
23
|
+
` trap 'curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" -X DELETE http://sprite/v1/tasks/agent-turn >/dev/null 2>&1; [ -n "$HEARTBEAT_PID" ] && kill $HEARTBEAT_PID 2>/dev/null' EXIT`,
|
|
24
|
+
"fi",
|
|
25
|
+
'droid "$@" "$PROMPT"'
|
|
26
|
+
].join("\n");
|
|
27
|
+
async function installFactoryWrapper(sandboxName, provider) {
|
|
28
|
+
const escaped = SANDBOX_WRAPPER_SCRIPT.replace(/'/g, "'\\''");
|
|
29
|
+
await provider.exec(sandboxName, [
|
|
30
|
+
"bash",
|
|
31
|
+
"-c",
|
|
32
|
+
`printf '%s' '${escaped}' > ${FACTORY_WRAPPER_PATH} && chmod +x ${FACTORY_WRAPPER_PATH}`
|
|
33
|
+
]);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
FACTORY_WRAPPER_PATH,
|
|
38
|
+
installFactoryWrapper
|
|
39
|
+
};
|
|
@@ -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,37 @@
|
|
|
1
|
+
// src/backends/pi/wrapper-script.ts
|
|
2
|
+
var PI_WRAPPER_PATH = "/tmp/.pi-wrapper";
|
|
3
|
+
var SANDBOX_WRAPPER_SCRIPT = [
|
|
4
|
+
"#!/bin/bash",
|
|
5
|
+
'while IFS= read -r line; do [ -z "$line" ] && break; export "$line"; done',
|
|
6
|
+
// Sprites keep-alive: prevent VM suspension during long agent turns.
|
|
7
|
+
'SPRITE_SOCK="/.sprite/api.sock"',
|
|
8
|
+
'HEARTBEAT_PID=""',
|
|
9
|
+
'if [ -S "$SPRITE_SOCK" ]; then',
|
|
10
|
+
' curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" \\',
|
|
11
|
+
" -X POST http://sprite/v1/tasks \\",
|
|
12
|
+
' -H "Content-Type: application/json" \\',
|
|
13
|
+
` -d '{"name":"agent-turn","expire":"5m"}' >/dev/null 2>&1`,
|
|
14
|
+
" (while sleep 60; do",
|
|
15
|
+
' curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" \\',
|
|
16
|
+
" -X PUT http://sprite/v1/tasks/agent-turn \\",
|
|
17
|
+
' -H "Content-Type: application/json" \\',
|
|
18
|
+
` -d '{"expire":"5m"}' >/dev/null 2>&1`,
|
|
19
|
+
" done) &",
|
|
20
|
+
" HEARTBEAT_PID=$!",
|
|
21
|
+
` trap 'curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" -X DELETE http://sprite/v1/tasks/agent-turn >/dev/null 2>&1; [ -n "$HEARTBEAT_PID" ] && kill $HEARTBEAT_PID 2>/dev/null' EXIT`,
|
|
22
|
+
"fi",
|
|
23
|
+
'pi "$@"'
|
|
24
|
+
].join("\n");
|
|
25
|
+
async function installPiWrapper(sandboxName, provider) {
|
|
26
|
+
const escaped = SANDBOX_WRAPPER_SCRIPT.replace(/'/g, "'\\''");
|
|
27
|
+
await provider.exec(sandboxName, [
|
|
28
|
+
"bash",
|
|
29
|
+
"-c",
|
|
30
|
+
`printf '%s' '${escaped}' > ${PI_WRAPPER_PATH} && chmod +x ${PI_WRAPPER_PATH}`
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
PI_WRAPPER_PATH,
|
|
36
|
+
installPiWrapper
|
|
37
|
+
};
|