experimental-agent 0.1.4 → 0.2.1
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/agent-workflow.d.mts +2 -1
- package/dist/agent-workflow.d.ts +2 -1
- package/dist/agent-workflow.js +1382 -552
- package/dist/agent-workflow.mjs +3 -2
- package/dist/chunk-AML2VCQS.mjs +1287 -0
- package/dist/chunk-FQ67QZOI.mjs +75 -0
- package/dist/chunk-NO7RHGTH.mjs +2367 -0
- package/dist/{chunk-24UDM5XV.mjs → chunk-NXDVNJRS.mjs} +1 -1
- package/dist/chunk-OZZVS6L5.mjs +139 -0
- package/dist/{chunk-GYOBANFH.mjs → chunk-QRWGDFFY.mjs} +3 -7
- package/dist/{chunk-2ZXHR6T6.mjs → chunk-SJVFFE5D.mjs} +18 -17
- package/dist/chunk-TGNVXSMX.mjs +399 -0
- package/dist/chunk-ZIAHPXOJ.mjs +595 -0
- package/dist/{client-SNN3XDKO.mjs → client-BKA7XBGW.mjs} +1 -1
- package/dist/{client-Bkuq-Dfa.d.mts → client-CEeSFGva.d.mts} +159 -123
- package/dist/{client-Bkuq-Dfa.d.ts → client-CEeSFGva.d.ts} +159 -123
- package/dist/{sandbox-IFK5MVRM.mjs → docker-FB2MJTHJ.mjs} +6 -4
- package/dist/{handler-WFNQWR6V.mjs → handler-FRUPZ4LX.mjs} +1 -1
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1554 -593
- package/dist/index.mjs +139 -33
- package/dist/lifecycle-workflow.d.mts +2 -1
- package/dist/lifecycle-workflow.d.ts +2 -1
- package/dist/lifecycle-workflow.js +29 -18
- package/dist/lifecycle-workflow.mjs +1 -1
- package/dist/{local-fs-handlers-ESZBRAWK.mjs → local-fs-handlers-SYOCKTPN.mjs} +10 -2
- package/dist/next/loader.js +15 -12
- package/dist/next/loader.mjs +14 -7
- package/dist/next.d.mts +1 -1
- package/dist/next.d.ts +1 -1
- package/dist/next.js +15 -10
- package/dist/next.mjs +14 -5
- package/dist/{process-manager-ZCET3VD2.mjs → process-manager-JDUJDYGU.mjs} +1 -1
- package/dist/sandbox-UENKQV3T.mjs +21 -0
- package/dist/{storage-FCSHTDLC.mjs → storage-LSDMRW73.mjs} +2 -2
- package/package.json +2 -6
- package/dist/chunk-4WDKWMVB.mjs +0 -389
- package/dist/chunk-64THY7Y7.mjs +0 -155
- package/dist/chunk-IACG26TC.mjs +0 -2212
- package/dist/chunk-NGLND33F.mjs +0 -1247
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// src/sandbox/process-manager.ts
|
|
2
|
+
var DEFAULT_WAIT_UNTIL = 2e3;
|
|
3
|
+
var createProcessManager = (opts) => {
|
|
4
|
+
const { sandbox } = opts;
|
|
5
|
+
const run = async (runOpts) => {
|
|
6
|
+
const { command, waitUntil = DEFAULT_WAIT_UNTIL } = runOpts;
|
|
7
|
+
const execResult = await sandbox.exec({
|
|
8
|
+
command: "sh",
|
|
9
|
+
args: ["-c", command]
|
|
10
|
+
});
|
|
11
|
+
if (execResult instanceof Error) {
|
|
12
|
+
throw execResult;
|
|
13
|
+
}
|
|
14
|
+
if (waitUntil === 0) {
|
|
15
|
+
return {
|
|
16
|
+
commandId: execResult.commandId,
|
|
17
|
+
stdout: "",
|
|
18
|
+
stderr: "",
|
|
19
|
+
exitCode: -1,
|
|
20
|
+
status: "running",
|
|
21
|
+
outputDir: ""
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const completed = await raceTimeout(execResult, waitUntil);
|
|
25
|
+
if (!completed) {
|
|
26
|
+
return {
|
|
27
|
+
commandId: execResult.commandId,
|
|
28
|
+
stdout: "",
|
|
29
|
+
stderr: "",
|
|
30
|
+
exitCode: -1,
|
|
31
|
+
status: "running",
|
|
32
|
+
outputDir: ""
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const outputDir = `.agent/bash/${Date.now()}-${execResult.commandId}`;
|
|
36
|
+
writeOutputDir(sandbox, outputDir, completed, command);
|
|
37
|
+
return {
|
|
38
|
+
commandId: execResult.commandId,
|
|
39
|
+
stdout: completed.stdout,
|
|
40
|
+
stderr: completed.stderr,
|
|
41
|
+
exitCode: completed.exitCode,
|
|
42
|
+
status: completed.exitCode === 0 ? "completed" : "failed",
|
|
43
|
+
outputDir
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
return { run };
|
|
47
|
+
};
|
|
48
|
+
async function raceTimeout(execResult, timeoutMs) {
|
|
49
|
+
const TIMED_OUT = /* @__PURE__ */ Symbol("timeout");
|
|
50
|
+
const timer = new Promise(
|
|
51
|
+
(resolve) => setTimeout(() => resolve(TIMED_OUT), timeoutMs)
|
|
52
|
+
);
|
|
53
|
+
const winner = await Promise.race([execResult.result, timer]);
|
|
54
|
+
return winner === TIMED_OUT ? null : winner;
|
|
55
|
+
}
|
|
56
|
+
function writeOutputDir(sandbox, dir, result, command) {
|
|
57
|
+
const files = [
|
|
58
|
+
{ path: "stdout.txt", content: result.stdout },
|
|
59
|
+
{
|
|
60
|
+
path: "metadata.json",
|
|
61
|
+
content: JSON.stringify({ exitCode: result.exitCode, command }, null, 2)
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
if (result.stderr) {
|
|
65
|
+
files.push({ path: "stderr.txt", content: result.stderr });
|
|
66
|
+
}
|
|
67
|
+
sandbox.writeFiles({ files, destPath: dir }).catch(() => {
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
DEFAULT_WAIT_UNTIL,
|
|
73
|
+
createProcessManager
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3NhbmRib3gvcHJvY2Vzcy1tYW5hZ2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdHlwZSB7IEJhc2hSZXN1bHQsIEV4ZWNSZXN1bHQsIFNhbmRib3ggfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9XQUlUX1VOVElMID0gMjAwMDtcblxudHlwZSBSdW5PcHRpb25zID0ge1xuICBjb21tYW5kOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNYXggbXMgdG8gd2FpdCBmb3IgdGhlIGNvbW1hbmQgdG8gY29tcGxldGUuXG4gICAqIC0gMDogcmV0dXJuIGltbWVkaWF0ZWx5LCBwcm9jZXNzIGtlZXBzIHJ1bm5pbmdcbiAgICogLSA+MDogd2FpdCB1cCB0byB0aGlzIG1hbnkgbXMgKGRlZmF1bHQ6IERFRkFVTFRfV0FJVF9VTlRJTClcbiAgICovXG4gIHdhaXRVbnRpbD86IG51bWJlcjtcbn07XG5cbi8qKlxuICogUnVucyBgc2ggLWMgPGNvbW1hbmQ+YCBhbmQgcmFjZXMgdGhlIHJlc3VsdCBhZ2FpbnN0IHdhaXRVbnRpbC5cbiAqIElmIGl0IGZpbmlzaGVzIGluIHRpbWUgXHUyMTkyIGNvbXBsZXRlZC9mYWlsZWQgd2l0aCBzdGRvdXQvc3RkZXJyLlxuICogSWYgaXQgdGltZXMgb3V0IFx1MjE5MiBzdGF0dXMgXCJydW5uaW5nXCIsIHByb2Nlc3MgY29udGludWVzIGluIHNhbmRib3guXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVQcm9jZXNzTWFuYWdlciA9IChvcHRzOiB7IHNhbmRib3g6IFNhbmRib3ggfSkgPT4ge1xuICBjb25zdCB7IHNhbmRib3ggfSA9IG9wdHM7XG5cbiAgY29uc3QgcnVuID0gYXN5bmMgKHJ1bk9wdHM6IFJ1bk9wdGlvbnMpOiBQcm9taXNlPEJhc2hSZXN1bHQ+ID0+IHtcbiAgICBjb25zdCB7IGNvbW1hbmQsIHdhaXRVbnRpbCA9IERFRkFVTFRfV0FJVF9VTlRJTCB9ID0gcnVuT3B0cztcblxuICAgIGNvbnN0IGV4ZWNSZXN1bHQgPSBhd2FpdCBzYW5kYm94LmV4ZWMoe1xuICAgICAgY29tbWFuZDogXCJzaFwiLFxuICAgICAgYXJnczogW1wiLWNcIiwgY29tbWFuZF0sXG4gICAgfSk7XG5cbiAgICBpZiAoZXhlY1Jlc3VsdCBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBleGVjUmVzdWx0O1xuICAgIH1cblxuICAgIGlmICh3YWl0VW50aWwgPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1hbmRJZDogZXhlY1Jlc3VsdC5jb21tYW5kSWQsXG4gICAgICAgIHN0ZG91dDogXCJcIixcbiAgICAgICAgc3RkZXJyOiBcIlwiLFxuICAgICAgICBleGl0Q29kZTogLTEsXG4gICAgICAgIHN0YXR1czogXCJydW5uaW5nXCIsXG4gICAgICAgIG91dHB1dERpcjogXCJcIixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgY29tcGxldGVkID0gYXdhaXQgcmFjZVRpbWVvdXQoZXhlY1Jlc3VsdCwgd2FpdFVudGlsKTtcblxuICAgIGlmICghY29tcGxldGVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb21tYW5kSWQ6IGV4ZWNSZXN1bHQuY29tbWFuZElkLFxuICAgICAgICBzdGRvdXQ6IFwiXCIsXG4gICAgICAgIHN0ZGVycjogXCJcIixcbiAgICAgICAgZXhpdENvZGU6IC0xLFxuICAgICAgICBzdGF0dXM6IFwicnVubmluZ1wiLFxuICAgICAgICBvdXRwdXREaXI6IFwiXCIsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFdyaXRlIHN0cnVjdHVyZWQgb3V0cHV0IGRpcmVjdG9yeSAoZmlyZS1hbmQtZm9yZ2V0KVxuICAgIGNvbnN0IG91dHB1dERpciA9IGAuYWdlbnQvYmFzaC8ke0RhdGUubm93KCl9LSR7ZXhlY1Jlc3VsdC5jb21tYW5kSWR9YDtcbiAgICB3cml0ZU91dHB1dERpcihzYW5kYm94LCBvdXRwdXREaXIsIGNvbXBsZXRlZCwgY29tbWFuZCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29tbWFuZElkOiBleGVjUmVzdWx0LmNvbW1hbmRJZCxcbiAgICAgIHN0ZG91dDogY29tcGxldGVkLnN0ZG91dCxcbiAgICAgIHN0ZGVycjogY29tcGxldGVkLnN0ZGVycixcbiAgICAgIGV4aXRDb2RlOiBjb21wbGV0ZWQuZXhpdENvZGUsXG4gICAgICBzdGF0dXM6IGNvbXBsZXRlZC5leGl0Q29kZSA9PT0gMCA/IFwiY29tcGxldGVkXCIgOiBcImZhaWxlZFwiLFxuICAgICAgb3V0cHV0RGlyLFxuICAgIH07XG4gIH07XG5cbiAgcmV0dXJuIHsgcnVuIH07XG59O1xuXG5hc3luYyBmdW5jdGlvbiByYWNlVGltZW91dChcbiAgZXhlY1Jlc3VsdDogRXhlY1Jlc3VsdCxcbiAgdGltZW91dE1zOiBudW1iZXJcbik6IFByb21pc2U8eyBzdGRvdXQ6IHN0cmluZzsgc3RkZXJyOiBzdHJpbmc7IGV4aXRDb2RlOiBudW1iZXIgfSB8IG51bGw+IHtcbiAgY29uc3QgVElNRURfT1VUID0gU3ltYm9sKFwidGltZW91dFwiKTtcbiAgY29uc3QgdGltZXIgPSBuZXcgUHJvbWlzZTx0eXBlb2YgVElNRURfT1VUPigocmVzb2x2ZSkgPT5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoVElNRURfT1VUKSwgdGltZW91dE1zKVxuICApO1xuICBjb25zdCB3aW5uZXIgPSBhd2FpdCBQcm9taXNlLnJhY2UoW2V4ZWNSZXN1bHQucmVzdWx0LCB0aW1lcl0pO1xuICByZXR1cm4gd2lubmVyID09PSBUSU1FRF9PVVQgPyBudWxsIDogd2lubmVyO1xufVxuXG4vKipcbiAqIFdyaXRlIHN0ZG91dC50eHQsIHN0ZGVyci50eHQgKGlmIG5vbi1lbXB0eSksIGFuZCBtZXRhZGF0YS5qc29uXG4gKiB0byBhIHN0cnVjdHVyZWQgb3V0cHV0IGRpcmVjdG9yeS4gRG9lcyBub3QgdGhyb3cuXG4gKi9cbmZ1bmN0aW9uIHdyaXRlT3V0cHV0RGlyKFxuICBzYW5kYm94OiBTYW5kYm94LFxuICBkaXI6IHN0cmluZyxcbiAgcmVzdWx0OiB7IHN0ZG91dDogc3RyaW5nOyBzdGRlcnI6IHN0cmluZzsgZXhpdENvZGU6IG51bWJlciB9LFxuICBjb21tYW5kOiBzdHJpbmdcbik6IHZvaWQge1xuICBjb25zdCBmaWxlczogeyBwYXRoOiBzdHJpbmc7IGNvbnRlbnQ6IHN0cmluZyB9W10gPSBbXG4gICAgeyBwYXRoOiBcInN0ZG91dC50eHRcIiwgY29udGVudDogcmVzdWx0LnN0ZG91dCB9LFxuICAgIHtcbiAgICAgIHBhdGg6IFwibWV0YWRhdGEuanNvblwiLFxuICAgICAgY29udGVudDogSlNPTi5zdHJpbmdpZnkoeyBleGl0Q29kZTogcmVzdWx0LmV4aXRDb2RlLCBjb21tYW5kIH0sIG51bGwsIDIpLFxuICAgIH0sXG4gIF07XG4gIGlmIChyZXN1bHQuc3RkZXJyKSB7XG4gICAgZmlsZXMucHVzaCh7IHBhdGg6IFwic3RkZXJyLnR4dFwiLCBjb250ZW50OiByZXN1bHQuc3RkZXJyIH0pO1xuICB9XG5cbiAgc2FuZGJveC53cml0ZUZpbGVzKHsgZmlsZXMsIGRlc3RQYXRoOiBkaXIgfSkuY2F0Y2goKCkgPT4ge1xuICAgIC8vIGludGVudGlvbmFsIG5vLW9wIFx1MjAxNCBvdXRwdXQgZmlsZSB3cml0ZSBpcyBiZXN0LWVmZm9ydFxuICB9KTtcbn1cblxuZXhwb3J0IHR5cGUgUHJvY2Vzc01hbmFnZXIgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVQcm9jZXNzTWFuYWdlcj47XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBRU8sSUFBTSxxQkFBcUI7QUFpQjNCLElBQU0sdUJBQXVCLENBQUMsU0FBK0I7QUFDbEUsUUFBTSxFQUFFLFFBQVEsSUFBSTtBQUVwQixRQUFNLE1BQU0sT0FBTyxZQUE2QztBQUM5RCxVQUFNLEVBQUUsU0FBUyxZQUFZLG1CQUFtQixJQUFJO0FBRXBELFVBQU0sYUFBYSxNQUFNLFFBQVEsS0FBSztBQUFBLE1BQ3BDLFNBQVM7QUFBQSxNQUNULE1BQU0sQ0FBQyxNQUFNLE9BQU87QUFBQSxJQUN0QixDQUFDO0FBRUQsUUFBSSxzQkFBc0IsT0FBTztBQUMvQixZQUFNO0FBQUEsSUFDUjtBQUVBLFFBQUksY0FBYyxHQUFHO0FBQ25CLGFBQU87QUFBQSxRQUNMLFdBQVcsV0FBVztBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFVBQVU7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFdBQVc7QUFBQSxNQUNiO0FBQUEsSUFDRjtBQUVBLFVBQU0sWUFBWSxNQUFNLFlBQVksWUFBWSxTQUFTO0FBRXpELFFBQUksQ0FBQyxXQUFXO0FBQ2QsYUFBTztBQUFBLFFBQ0wsV0FBVyxXQUFXO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsVUFBVTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsV0FBVztBQUFBLE1BQ2I7QUFBQSxJQUNGO0FBR0EsVUFBTSxZQUFZLGVBQWUsS0FBSyxJQUFJLENBQUMsSUFBSSxXQUFXLFNBQVM7QUFDbkUsbUJBQWUsU0FBUyxXQUFXLFdBQVcsT0FBTztBQUVyRCxXQUFPO0FBQUEsTUFDTCxXQUFXLFdBQVc7QUFBQSxNQUN0QixRQUFRLFVBQVU7QUFBQSxNQUNsQixRQUFRLFVBQVU7QUFBQSxNQUNsQixVQUFVLFVBQVU7QUFBQSxNQUNwQixRQUFRLFVBQVUsYUFBYSxJQUFJLGNBQWM7QUFBQSxNQUNqRDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBRUEsU0FBTyxFQUFFLElBQUk7QUFDZjtBQUVBLGVBQWUsWUFDYixZQUNBLFdBQ3NFO0FBQ3RFLFFBQU0sWUFBWSx1QkFBTyxTQUFTO0FBQ2xDLFFBQU0sUUFBUSxJQUFJO0FBQUEsSUFBMEIsQ0FBQyxZQUMzQyxXQUFXLE1BQU0sUUFBUSxTQUFTLEdBQUcsU0FBUztBQUFBLEVBQ2hEO0FBQ0EsUUFBTSxTQUFTLE1BQU0sUUFBUSxLQUFLLENBQUMsV0FBVyxRQUFRLEtBQUssQ0FBQztBQUM1RCxTQUFPLFdBQVcsWUFBWSxPQUFPO0FBQ3ZDO0FBTUEsU0FBUyxlQUNQLFNBQ0EsS0FDQSxRQUNBLFNBQ007QUFDTixRQUFNLFFBQTZDO0FBQUEsSUFDakQsRUFBRSxNQUFNLGNBQWMsU0FBUyxPQUFPLE9BQU87QUFBQSxJQUM3QztBQUFBLE1BQ0UsTUFBTTtBQUFBLE1BQ04sU0FBUyxLQUFLLFVBQVUsRUFBRSxVQUFVLE9BQU8sVUFBVSxRQUFRLEdBQUcsTUFBTSxDQUFDO0FBQUEsSUFDekU7QUFBQSxFQUNGO0FBQ0EsTUFBSSxPQUFPLFFBQVE7QUFDakIsVUFBTSxLQUFLLEVBQUUsTUFBTSxjQUFjLFNBQVMsT0FBTyxPQUFPLENBQUM7QUFBQSxFQUMzRDtBQUVBLFVBQVEsV0FBVyxFQUFFLE9BQU8sVUFBVSxJQUFJLENBQUMsRUFBRSxNQUFNLE1BQU07QUFBQSxFQUV6RCxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|