@agentstep/agent-sdk 0.5.10 → 0.5.11
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/backends/claude/index.js +2 -2
- package/dist/backends/claude/wrapper-script.js +1 -1
- package/dist/backends/codex/index.js +3 -3
- package/dist/backends/codex/setup.js +2 -2
- package/dist/backends/codex/wrapper-script.js +1 -1
- package/dist/backends/factory/index.js +3 -3
- package/dist/backends/factory/setup.js +2 -2
- package/dist/backends/factory/wrapper-script.js +1 -1
- package/dist/backends/gemini/index.js +3 -3
- package/dist/backends/gemini/setup.js +2 -2
- package/dist/backends/gemini/wrapper-script.js +1 -1
- package/dist/backends/opencode/index.js +3 -3
- package/dist/backends/opencode/setup.js +2 -2
- package/dist/backends/opencode/wrapper-script.js +1 -1
- package/dist/backends/pi/index.js +3 -3
- package/dist/backends/pi/setup.js +2 -2
- package/dist/backends/pi/wrapper-script.js +1 -1
- package/dist/backends/registry.js +18 -18
- package/dist/{chunk-BGNQXT4T.js → chunk-2U2KCTMF.js} +1 -1
- package/dist/{chunk-NL4EKSFA.js → chunk-2UDGQWRA.js} +1 -1
- package/dist/{chunk-T5P54I7S.js → chunk-4HFKDLD7.js} +2 -2
- package/dist/{chunk-GBGXSRZX.js → chunk-4N7WVJHB.js} +6 -6
- package/dist/{chunk-J3XIGC3L.js → chunk-4QRE6LZG.js} +1 -1
- package/dist/{chunk-2OFGWHZB.js → chunk-4UNMDYKD.js} +1 -1
- package/dist/{chunk-ZIMK4TPI.js → chunk-5KXAMBPI.js} +1 -1
- package/dist/{chunk-5LXMEHQX.js → chunk-5VL4L6BJ.js} +1 -1
- package/dist/{chunk-4QBWHZKQ.js → chunk-6FNPCZTL.js} +1 -1
- package/dist/{chunk-56KP3SAI.js → chunk-7NIUHK63.js} +1 -1
- package/dist/{chunk-37Y556D5.js → chunk-ALIJNBQY.js} +1 -1
- package/dist/{chunk-YSUPRYX2.js → chunk-AQHYCRTO.js} +1 -1
- package/dist/{chunk-KYDOZBD5.js → chunk-BJ3EPRZU.js} +3 -3
- package/dist/{chunk-QYSDP6V5.js → chunk-CMOU2OFW.js} +1 -1
- package/dist/{chunk-KJENLSJT.js → chunk-CR3UN3BC.js} +5 -5
- package/dist/{chunk-X3IXLDWQ.js → chunk-DVDNHXCM.js} +1 -1
- package/dist/{chunk-OWG6UV4S.js → chunk-G43CK3VC.js} +2 -2
- package/dist/{chunk-6BRG2NJL.js → chunk-GMIAU3CP.js} +1 -1
- package/dist/{chunk-PNJRIMKJ.js → chunk-GTHATO73.js} +2 -2
- package/dist/{chunk-MF3J7WTR.js → chunk-I7FLMXEF.js} +2 -2
- package/dist/{chunk-QBJOYOVF.js → chunk-J6T3W6RY.js} +15 -0
- package/dist/{chunk-PXOL34HI.js → chunk-JE5Z2GLG.js} +1 -1
- package/dist/{chunk-SKRIZPPF.js → chunk-KB4EKC5T.js} +1 -1
- package/dist/chunk-KJ2GJLPQ.js +39 -0
- package/dist/{chunk-IY3KO2BC.js → chunk-KRQRJEQY.js} +1 -1
- package/dist/{chunk-6TRWB7CE.js → chunk-KZGFT75I.js} +2 -2
- package/dist/{chunk-2PTWIZX6.js → chunk-LXSGQ2VF.js} +1 -1
- package/dist/{chunk-SAUR463Z.js → chunk-M2ZBXMYO.js} +2 -2
- package/dist/{chunk-WCLMAQR4.js → chunk-MMB7ZTAF.js} +1 -1
- package/dist/{chunk-75C3KFST.js → chunk-MPG77WHN.js} +1 -1
- package/dist/{chunk-M2LUXIXU.js → chunk-NMZMRH3E.js} +1 -1
- package/dist/chunk-OGA7KDQZ.js +37 -0
- package/dist/{chunk-SUFGP47L.js → chunk-OMI5CR4P.js} +3 -3
- package/dist/{chunk-XG4UIGDH.js → chunk-PAQ2JFVD.js} +1 -1
- package/dist/chunk-PZ5EGY64.js +37 -0
- package/dist/{chunk-ZV6Y5VOD.js → chunk-RJB7YG26.js} +3 -3
- package/dist/{chunk-LGVD2IGL.js → chunk-RTLMLG3A.js} +2 -2
- package/dist/{chunk-GUD3MOP7.js → chunk-RYVVSBST.js} +2 -2
- package/dist/{chunk-NFGCFN57.js → chunk-SAA6477U.js} +2 -2
- package/dist/{chunk-6T4DKZYW.js → chunk-T4IPZC4G.js} +2 -2
- package/dist/{chunk-CXDNTVCM.js → chunk-TCTAUIAQ.js} +1 -1
- package/dist/{chunk-RTZNJDEL.js → chunk-UHPS3XNG.js} +1 -1
- package/dist/{chunk-TARFRZ44.js → chunk-UMIIZKVX.js} +2 -2
- package/dist/{chunk-HV7M7UUY.js → chunk-UONJFSWM.js} +2 -2
- package/dist/{chunk-P7P2NWZD.js → chunk-URNG7ZX2.js} +1 -1
- package/dist/chunk-UY3VT3HQ.js +39 -0
- package/dist/{chunk-CZPWZ5A5.js → chunk-VFVLRR3Z.js} +1 -1
- package/dist/{chunk-DQ5VMD3Z.js → chunk-WL3VMUAI.js} +1 -1
- package/dist/{chunk-LVSQULRG.js → chunk-WUMBZMBF.js} +1 -1
- package/dist/{chunk-E4FQRMHV.js → chunk-XJYR5HE3.js} +18 -0
- package/dist/containers/lifecycle.js +20 -20
- package/dist/containers/setup.js +3 -3
- package/dist/handlers/agents.js +26 -26
- package/dist/handlers/api_keys.js +26 -26
- package/dist/handlers/audit.js +26 -26
- package/dist/handlers/batch.js +26 -26
- package/dist/handlers/credentials.js +27 -27
- package/dist/handlers/environments.js +27 -27
- package/dist/handlers/events.js +26 -26
- package/dist/handlers/files.js +26 -26
- package/dist/handlers/index.js +51 -51
- package/dist/handlers/license.js +26 -26
- package/dist/handlers/memory.js +26 -26
- package/dist/handlers/metrics.js +26 -26
- package/dist/handlers/models.js +26 -26
- package/dist/handlers/providers.js +26 -26
- package/dist/handlers/resources.js +26 -26
- package/dist/handlers/sessions.js +27 -27
- package/dist/handlers/settings.js +26 -26
- package/dist/handlers/skills-write.js +26 -26
- package/dist/handlers/skills.js +26 -26
- package/dist/handlers/stream.js +25 -25
- package/dist/handlers/tenants.js +26 -26
- package/dist/handlers/threads.js +26 -26
- package/dist/handlers/traces.js +26 -26
- package/dist/handlers/upstream_keys.js +26 -26
- package/dist/handlers/vaults.js +26 -26
- package/dist/handlers/whoami.js +26 -26
- package/dist/http.js +25 -25
- package/dist/index.js +26 -26
- package/dist/init.js +24 -24
- package/dist/providers/daytona.js +1 -1
- package/dist/providers/fly.js +2 -1
- package/dist/providers/registry.js +1 -1
- package/dist/sessions/driver.js +21 -21
- package/dist/sessions/sweeper.js +21 -21
- package/dist/sessions/threads.js +21 -21
- package/dist/shutdown.js +22 -22
- 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
- /package/dist/{chunk-A4BGGHRC.js → chunk-7KSQJK2V.js} +0 -0
|
@@ -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
|
+
};
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
jsonOk,
|
|
26
26
|
paginatedOk,
|
|
27
27
|
routeWrap
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-WL3VMUAI.js";
|
|
29
29
|
import {
|
|
30
30
|
forwardToAnthropic
|
|
31
31
|
} from "./chunk-WKPUTJGD.js";
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
import {
|
|
36
36
|
runTurn,
|
|
37
37
|
writePermissionResponse
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-BJ3EPRZU.js";
|
|
39
39
|
import {
|
|
40
40
|
getProxiedTenantId,
|
|
41
41
|
isProxied
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveContainerProvider
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7KSQJK2V.js";
|
|
4
4
|
import {
|
|
5
5
|
getEnvironmentRow,
|
|
6
6
|
updateEnvironmentState
|
|
7
7
|
} from "./chunk-6BOOQV4Q.js";
|
|
8
8
|
import {
|
|
9
9
|
installClaudeWrapper
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-J6T3W6RY.js";
|
|
11
11
|
import {
|
|
12
12
|
init_ids,
|
|
13
13
|
newId
|
|
@@ -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
|
+
};
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
} from "./chunk-23UKWXJH.js";
|
|
6
6
|
import {
|
|
7
7
|
kickoffEnvironmentSetup
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-M2ZBXMYO.js";
|
|
9
9
|
import {
|
|
10
10
|
decodeCursor,
|
|
11
11
|
jsonOk,
|
|
12
12
|
paginatedOk,
|
|
13
13
|
routeWrap
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-WL3VMUAI.js";
|
|
15
15
|
import {
|
|
16
16
|
forwardToAnthropic
|
|
17
17
|
} from "./chunk-WKPUTJGD.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-EFSLGRY2.js";
|
|
24
24
|
import {
|
|
25
25
|
resolveContainerProvider
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-7KSQJK2V.js";
|
|
27
27
|
import {
|
|
28
28
|
archiveEnvironment,
|
|
29
29
|
createEnvironment,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/backends/gemini/wrapper-script.ts
|
|
2
|
+
var GEMINI_WRAPPER_PATH = "/tmp/.gemini-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
|
+
'gemini "$@"'
|
|
24
|
+
].join("\n");
|
|
25
|
+
async function installGeminiWrapper(sandboxName, provider) {
|
|
26
|
+
const escaped = SANDBOX_WRAPPER_SCRIPT.replace(/'/g, "'\\''");
|
|
27
|
+
await provider.exec(sandboxName, [
|
|
28
|
+
"bash",
|
|
29
|
+
"-c",
|
|
30
|
+
`printf '%s' '${escaped}' > ${GEMINI_WRAPPER_PATH} && chmod +x ${GEMINI_WRAPPER_PATH}`
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
GEMINI_WRAPPER_PATH,
|
|
36
|
+
installGeminiWrapper
|
|
37
|
+
};
|
|
@@ -17,13 +17,13 @@ import {
|
|
|
17
17
|
} from "./chunk-YN2F26NN.js";
|
|
18
18
|
import {
|
|
19
19
|
kickoffEnvironmentSetup
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-M2ZBXMYO.js";
|
|
21
21
|
import {
|
|
22
22
|
decodeCursor,
|
|
23
23
|
jsonOk,
|
|
24
24
|
paginatedOk,
|
|
25
25
|
routeWrap
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-WL3VMUAI.js";
|
|
27
27
|
import {
|
|
28
28
|
forwardToAnthropic
|
|
29
29
|
} from "./chunk-WKPUTJGD.js";
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
} from "./chunk-LAWTTG2E.js";
|
|
44
44
|
import {
|
|
45
45
|
releaseSession
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-I7FLMXEF.js";
|
|
47
47
|
import {
|
|
48
48
|
appendEvent,
|
|
49
49
|
dropEmitter
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
preparePiOnSandbox
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CMOU2OFW.js";
|
|
4
4
|
import {
|
|
5
5
|
createPiTranslator
|
|
6
6
|
} from "./chunk-B6E6BVNK.js";
|
|
7
7
|
import {
|
|
8
8
|
PI_WRAPPER_PATH
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OGA7KDQZ.js";
|
|
10
10
|
import {
|
|
11
11
|
buildPiArgs
|
|
12
12
|
} from "./chunk-6KWJASEO.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
prepareCodexOnSandbox
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NMZMRH3E.js";
|
|
4
4
|
import {
|
|
5
5
|
createCodexTranslator
|
|
6
6
|
} from "./chunk-CULYZ3VA.js";
|
|
7
7
|
import {
|
|
8
8
|
CODEX_WRAPPER_PATH
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XJYR5HE3.js";
|
|
10
10
|
import {
|
|
11
11
|
buildCodexArgs
|
|
12
12
|
} from "./chunk-PJYCPDV5.js";
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
} from "./chunk-NOG7ZJJA.js";
|
|
8
8
|
import {
|
|
9
9
|
prepareGeminiOnSandbox
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PAQ2JFVD.js";
|
|
11
11
|
import {
|
|
12
12
|
createGeminiTranslator
|
|
13
13
|
} from "./chunk-S3JRZFF5.js";
|
|
14
14
|
import {
|
|
15
15
|
GEMINI_WRAPPER_PATH
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-PZ5EGY64.js";
|
|
17
17
|
import {
|
|
18
18
|
wrapPromptWithSystem
|
|
19
19
|
} from "./chunk-YE2RMJY7.js";
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
} from "./chunk-V5DH3OAC.js";
|
|
8
8
|
import {
|
|
9
9
|
prepareOpencodeOnSandbox
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-URNG7ZX2.js";
|
|
11
11
|
import {
|
|
12
12
|
createOpencodeTranslator
|
|
13
13
|
} from "./chunk-ETWGCBIQ.js";
|
|
14
14
|
import {
|
|
15
15
|
OPENCODE_WRAPPER_PATH
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UY3VT3HQ.js";
|
|
17
17
|
import {
|
|
18
18
|
buildOpencodeArgs
|
|
19
19
|
} from "./chunk-P56WU3UT.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
jsonOk,
|
|
9
9
|
paginatedOk,
|
|
10
10
|
routeWrap
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WL3VMUAI.js";
|
|
12
12
|
import {
|
|
13
13
|
forwardToAnthropic,
|
|
14
14
|
validateAnthropicProxy
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from "./chunk-EGN4TPN5.js";
|
|
30
30
|
import {
|
|
31
31
|
resolveBackend
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-4N7WVJHB.js";
|
|
33
33
|
import {
|
|
34
34
|
getDb,
|
|
35
35
|
init_client
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// src/backends/opencode/wrapper-script.ts
|
|
2
|
+
var OPENCODE_WRAPPER_PATH = "/tmp/.opencode-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
|
+
'opencode "$@" "$PROMPT"'
|
|
26
|
+
].join("\n");
|
|
27
|
+
async function installOpencodeWrapper(sandboxName, provider) {
|
|
28
|
+
const escaped = SANDBOX_WRAPPER_SCRIPT.replace(/'/g, "'\\''");
|
|
29
|
+
await provider.exec(sandboxName, [
|
|
30
|
+
"bash",
|
|
31
|
+
"-c",
|
|
32
|
+
`printf '%s' '${escaped}' > ${OPENCODE_WRAPPER_PATH} && chmod +x ${OPENCODE_WRAPPER_PATH}`
|
|
33
|
+
]);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
OPENCODE_WRAPPER_PATH,
|
|
38
|
+
installOpencodeWrapper
|
|
39
|
+
};
|
|
@@ -8,6 +8,24 @@ var SANDBOX_WRAPPER_SCRIPT = [
|
|
|
8
8
|
// issues when exec replaces the process, matching the claude wrapper pattern.
|
|
9
9
|
"PROMPT_FILE=$(mktemp)",
|
|
10
10
|
'cat > "$PROMPT_FILE"',
|
|
11
|
+
// Sprites keep-alive: prevent VM suspension during long agent turns.
|
|
12
|
+
// Only activates if the sprites management socket exists (sprites containers only).
|
|
13
|
+
'SPRITE_SOCK="/.sprite/api.sock"',
|
|
14
|
+
'HEARTBEAT_PID=""',
|
|
15
|
+
'if [ -S "$SPRITE_SOCK" ]; then',
|
|
16
|
+
' curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" \\',
|
|
17
|
+
" -X POST http://sprite/v1/tasks \\",
|
|
18
|
+
' -H "Content-Type: application/json" \\',
|
|
19
|
+
` -d '{"name":"agent-turn","expire":"5m"}' >/dev/null 2>&1`,
|
|
20
|
+
" (while sleep 60; do",
|
|
21
|
+
' curl -sf --unix-socket "$SPRITE_SOCK" -H "Host: sprite" \\',
|
|
22
|
+
" -X PUT http://sprite/v1/tasks/agent-turn \\",
|
|
23
|
+
' -H "Content-Type: application/json" \\',
|
|
24
|
+
` -d '{"expire":"5m"}' >/dev/null 2>&1`,
|
|
25
|
+
" done) &",
|
|
26
|
+
" HEARTBEAT_PID=$!",
|
|
27
|
+
` 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`,
|
|
28
|
+
"fi",
|
|
11
29
|
// Set CWD to the first cloned repo if available, otherwise the user's home.
|
|
12
30
|
// Without bwrap (--sandbox none), codex inherits the container exec CWD
|
|
13
31
|
// which may be / or /root with no project context.
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
releaseSession,
|
|
10
10
|
replenishWarmPool,
|
|
11
11
|
wrapProviderWithSecrets
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-I7FLMXEF.js";
|
|
13
13
|
import "../chunk-6ERUVF2Y.js";
|
|
14
14
|
import "../chunk-4XXQAVKE.js";
|
|
15
15
|
import "../chunk-5ZFOKZGR.js";
|
|
@@ -22,45 +22,45 @@ import "../chunk-YPXI7Q2M.js";
|
|
|
22
22
|
import "../chunk-N33MOUCH.js";
|
|
23
23
|
import "../chunk-NVTDXBGV.js";
|
|
24
24
|
import "../chunk-EFOIR7R3.js";
|
|
25
|
-
import "../chunk-
|
|
25
|
+
import "../chunk-7KSQJK2V.js";
|
|
26
26
|
import "../chunk-6BOOQV4Q.js";
|
|
27
27
|
import "../chunk-G7KUVNDY.js";
|
|
28
28
|
import "../chunk-EGN4TPN5.js";
|
|
29
29
|
import "../chunk-LSXVCZN7.js";
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
30
|
+
import "../chunk-4N7WVJHB.js";
|
|
31
|
+
import "../chunk-RTLMLG3A.js";
|
|
32
|
+
import "../chunk-CMOU2OFW.js";
|
|
33
33
|
import "../chunk-B6E6BVNK.js";
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
34
|
+
import "../chunk-OGA7KDQZ.js";
|
|
35
|
+
import "../chunk-T4IPZC4G.js";
|
|
36
36
|
import "../chunk-4IEDAORR.js";
|
|
37
37
|
import "../chunk-V5DH3OAC.js";
|
|
38
|
-
import "../chunk-
|
|
38
|
+
import "../chunk-URNG7ZX2.js";
|
|
39
39
|
import "../chunk-ETWGCBIQ.js";
|
|
40
|
-
import "../chunk-
|
|
40
|
+
import "../chunk-UY3VT3HQ.js";
|
|
41
41
|
import "../chunk-6KWJASEO.js";
|
|
42
42
|
import "../chunk-ZEDULYKX.js";
|
|
43
|
-
import "../chunk-
|
|
43
|
+
import "../chunk-SAA6477U.js";
|
|
44
44
|
import "../chunk-IBYOMAZ3.js";
|
|
45
45
|
import "../chunk-NOG7ZJJA.js";
|
|
46
|
-
import "../chunk-
|
|
46
|
+
import "../chunk-PAQ2JFVD.js";
|
|
47
47
|
import "../chunk-S3JRZFF5.js";
|
|
48
|
-
import "../chunk-
|
|
48
|
+
import "../chunk-PZ5EGY64.js";
|
|
49
49
|
import "../chunk-P56WU3UT.js";
|
|
50
|
-
import "../chunk-
|
|
50
|
+
import "../chunk-G43CK3VC.js";
|
|
51
51
|
import "../chunk-TPMZO6S2.js";
|
|
52
52
|
import "../chunk-WKMRBRJQ.js";
|
|
53
|
-
import "../chunk-
|
|
54
|
-
import "../chunk-
|
|
53
|
+
import "../chunk-AQHYCRTO.js";
|
|
54
|
+
import "../chunk-KJ2GJLPQ.js";
|
|
55
55
|
import "../chunk-7TSTCMII.js";
|
|
56
|
-
import "../chunk-
|
|
56
|
+
import "../chunk-KB4EKC5T.js";
|
|
57
57
|
import "../chunk-CY6AWCC6.js";
|
|
58
58
|
import "../chunk-SJ7WZEVY.js";
|
|
59
59
|
import "../chunk-D6RQPBRG.js";
|
|
60
|
-
import "../chunk-
|
|
61
|
-
import "../chunk-
|
|
60
|
+
import "../chunk-RYVVSBST.js";
|
|
61
|
+
import "../chunk-NMZMRH3E.js";
|
|
62
62
|
import "../chunk-CULYZ3VA.js";
|
|
63
|
-
import "../chunk-
|
|
63
|
+
import "../chunk-XJYR5HE3.js";
|
|
64
64
|
import "../chunk-PJYCPDV5.js";
|
|
65
65
|
import "../chunk-IBO36HUU.js";
|
|
66
66
|
import "../chunk-SS5IC3XV.js";
|
|
@@ -68,7 +68,7 @@ import "../chunk-YE2RMJY7.js";
|
|
|
68
68
|
import "../chunk-FX2AEKOV.js";
|
|
69
69
|
import {
|
|
70
70
|
installClaudeWrapper
|
|
71
|
-
} from "../chunk-
|
|
71
|
+
} from "../chunk-J6T3W6RY.js";
|
|
72
72
|
import "../chunk-F4WUVOLE.js";
|
|
73
73
|
import "../chunk-3WZGFAV4.js";
|
|
74
74
|
import "../chunk-HFDLUBWN.js";
|
package/dist/containers/setup.js
CHANGED
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
SENTINEL_DIR,
|
|
3
3
|
kickoffEnvironmentSetup,
|
|
4
4
|
prepareSprite
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-M2ZBXMYO.js";
|
|
6
|
+
import "../chunk-7KSQJK2V.js";
|
|
7
7
|
import "../chunk-6BOOQV4Q.js";
|
|
8
8
|
import "../chunk-LSXVCZN7.js";
|
|
9
9
|
import {
|
|
10
10
|
CLAUDE_WRAPPER_PATH
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-J6T3W6RY.js";
|
|
12
12
|
import "../chunk-F4WUVOLE.js";
|
|
13
13
|
import "../chunk-HFDLUBWN.js";
|
|
14
14
|
import "../chunk-T75UYYMI.js";
|