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.
Files changed (41) hide show
  1. package/dist/agent-workflow.d.mts +2 -1
  2. package/dist/agent-workflow.d.ts +2 -1
  3. package/dist/agent-workflow.js +1382 -552
  4. package/dist/agent-workflow.mjs +3 -2
  5. package/dist/chunk-AML2VCQS.mjs +1287 -0
  6. package/dist/chunk-FQ67QZOI.mjs +75 -0
  7. package/dist/chunk-NO7RHGTH.mjs +2367 -0
  8. package/dist/{chunk-24UDM5XV.mjs → chunk-NXDVNJRS.mjs} +1 -1
  9. package/dist/chunk-OZZVS6L5.mjs +139 -0
  10. package/dist/{chunk-GYOBANFH.mjs → chunk-QRWGDFFY.mjs} +3 -7
  11. package/dist/{chunk-2ZXHR6T6.mjs → chunk-SJVFFE5D.mjs} +18 -17
  12. package/dist/chunk-TGNVXSMX.mjs +399 -0
  13. package/dist/chunk-ZIAHPXOJ.mjs +595 -0
  14. package/dist/{client-SNN3XDKO.mjs → client-BKA7XBGW.mjs} +1 -1
  15. package/dist/{client-Bkuq-Dfa.d.mts → client-CEeSFGva.d.mts} +159 -123
  16. package/dist/{client-Bkuq-Dfa.d.ts → client-CEeSFGva.d.ts} +159 -123
  17. package/dist/{sandbox-IFK5MVRM.mjs → docker-FB2MJTHJ.mjs} +6 -4
  18. package/dist/{handler-WFNQWR6V.mjs → handler-FRUPZ4LX.mjs} +1 -1
  19. package/dist/index.d.mts +3 -2
  20. package/dist/index.d.ts +3 -2
  21. package/dist/index.js +1554 -593
  22. package/dist/index.mjs +139 -33
  23. package/dist/lifecycle-workflow.d.mts +2 -1
  24. package/dist/lifecycle-workflow.d.ts +2 -1
  25. package/dist/lifecycle-workflow.js +29 -18
  26. package/dist/lifecycle-workflow.mjs +1 -1
  27. package/dist/{local-fs-handlers-ESZBRAWK.mjs → local-fs-handlers-SYOCKTPN.mjs} +10 -2
  28. package/dist/next/loader.js +15 -12
  29. package/dist/next/loader.mjs +14 -7
  30. package/dist/next.d.mts +1 -1
  31. package/dist/next.d.ts +1 -1
  32. package/dist/next.js +15 -10
  33. package/dist/next.mjs +14 -5
  34. package/dist/{process-manager-ZCET3VD2.mjs → process-manager-JDUJDYGU.mjs} +1 -1
  35. package/dist/sandbox-UENKQV3T.mjs +21 -0
  36. package/dist/{storage-FCSHTDLC.mjs → storage-LSDMRW73.mjs} +2 -2
  37. package/package.json +2 -6
  38. package/dist/chunk-4WDKWMVB.mjs +0 -389
  39. package/dist/chunk-64THY7Y7.mjs +0 -155
  40. package/dist/chunk-IACG26TC.mjs +0 -2212
  41. 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==