@agent-relay/sandbox 0.1.2 → 0.1.3

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 (121) hide show
  1. package/README.md +226 -5
  2. package/dist/agent37/client.d.ts +115 -0
  3. package/dist/agent37/client.d.ts.map +1 -0
  4. package/dist/agent37/client.js +270 -0
  5. package/dist/agent37/client.js.map +1 -0
  6. package/dist/agent37/runtime.d.ts +415 -0
  7. package/dist/agent37/runtime.d.ts.map +1 -0
  8. package/dist/agent37/runtime.js +855 -0
  9. package/dist/agent37/runtime.js.map +1 -0
  10. package/dist/agentcore/bench.d.ts +93 -0
  11. package/dist/agentcore/bench.d.ts.map +1 -0
  12. package/dist/agentcore/bench.js +125 -0
  13. package/dist/agentcore/bench.js.map +1 -0
  14. package/dist/agentcore/capabilities.d.ts +169 -0
  15. package/dist/agentcore/capabilities.d.ts.map +1 -0
  16. package/dist/agentcore/capabilities.js +153 -0
  17. package/dist/agentcore/capabilities.js.map +1 -0
  18. package/dist/agentcore/config.d.ts +156 -0
  19. package/dist/agentcore/config.d.ts.map +1 -0
  20. package/dist/agentcore/config.js +12 -0
  21. package/dist/agentcore/config.js.map +1 -0
  22. package/dist/agentcore/internal/sdk.d.ts +181 -0
  23. package/dist/agentcore/internal/sdk.d.ts.map +1 -0
  24. package/dist/agentcore/internal/sdk.js +223 -0
  25. package/dist/agentcore/internal/sdk.js.map +1 -0
  26. package/dist/agentcore/runtime.d.ts +177 -0
  27. package/dist/agentcore/runtime.d.ts.map +1 -0
  28. package/dist/agentcore/runtime.js +706 -0
  29. package/dist/agentcore/runtime.js.map +1 -0
  30. package/dist/daytona/runtime.d.ts +23 -0
  31. package/dist/daytona/runtime.d.ts.map +1 -1
  32. package/dist/daytona/runtime.js +167 -5
  33. package/dist/daytona/runtime.js.map +1 -1
  34. package/dist/daytona/wire-supplement.d.ts +25 -0
  35. package/dist/daytona/wire-supplement.d.ts.map +1 -0
  36. package/dist/daytona/wire-supplement.js +16 -0
  37. package/dist/daytona/wire-supplement.js.map +1 -0
  38. package/dist/e2b/runtime.d.ts +107 -72
  39. package/dist/e2b/runtime.d.ts.map +1 -1
  40. package/dist/e2b/runtime.js +675 -190
  41. package/dist/e2b/runtime.js.map +1 -1
  42. package/dist/freestyle/capabilities.d.ts +28 -0
  43. package/dist/freestyle/capabilities.d.ts.map +1 -0
  44. package/dist/freestyle/capabilities.js +42 -0
  45. package/dist/freestyle/capabilities.js.map +1 -0
  46. package/dist/freestyle/config.d.ts +36 -0
  47. package/dist/freestyle/config.d.ts.map +1 -0
  48. package/dist/freestyle/config.js +2 -0
  49. package/dist/freestyle/config.js.map +1 -0
  50. package/dist/freestyle/internal/sdk.d.ts +69 -0
  51. package/dist/freestyle/internal/sdk.d.ts.map +1 -0
  52. package/dist/freestyle/internal/sdk.js +19 -0
  53. package/dist/freestyle/internal/sdk.js.map +1 -0
  54. package/dist/freestyle/runtime.d.ts +163 -0
  55. package/dist/freestyle/runtime.d.ts.map +1 -0
  56. package/dist/freestyle/runtime.js +798 -0
  57. package/dist/freestyle/runtime.js.map +1 -0
  58. package/dist/index.d.ts +35 -4
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +16 -2
  61. package/dist/index.js.map +1 -1
  62. package/dist/microsandbox/runtime.d.ts +793 -0
  63. package/dist/microsandbox/runtime.d.ts.map +1 -0
  64. package/dist/microsandbox/runtime.js +2303 -0
  65. package/dist/microsandbox/runtime.js.map +1 -0
  66. package/dist/modal/bench.d.ts +199 -0
  67. package/dist/modal/bench.d.ts.map +1 -0
  68. package/dist/modal/bench.js +450 -0
  69. package/dist/modal/bench.js.map +1 -0
  70. package/dist/modal/capabilities.d.ts +180 -0
  71. package/dist/modal/capabilities.d.ts.map +1 -0
  72. package/dist/modal/capabilities.js +159 -0
  73. package/dist/modal/capabilities.js.map +1 -0
  74. package/dist/modal/config.d.ts +192 -0
  75. package/dist/modal/config.d.ts.map +1 -0
  76. package/dist/modal/config.js +169 -0
  77. package/dist/modal/config.js.map +1 -0
  78. package/dist/modal/internal/sdk.d.ts +141 -0
  79. package/dist/modal/internal/sdk.d.ts.map +1 -0
  80. package/dist/modal/internal/sdk.js +51 -0
  81. package/dist/modal/internal/sdk.js.map +1 -0
  82. package/dist/modal/runtime.d.ts +271 -0
  83. package/dist/modal/runtime.d.ts.map +1 -0
  84. package/dist/modal/runtime.js +871 -0
  85. package/dist/modal/runtime.js.map +1 -0
  86. package/dist/mount-script.d.ts +16 -1
  87. package/dist/mount-script.d.ts.map +1 -1
  88. package/dist/mount-script.js +76 -15
  89. package/dist/mount-script.js.map +1 -1
  90. package/dist/orchestrator.d.ts +15 -0
  91. package/dist/orchestrator.d.ts.map +1 -1
  92. package/dist/orchestrator.js +13 -1
  93. package/dist/orchestrator.js.map +1 -1
  94. package/dist/port.d.ts +144 -6
  95. package/dist/port.d.ts.map +1 -1
  96. package/dist/port.js +27 -5
  97. package/dist/port.js.map +1 -1
  98. package/dist/types.d.ts +50 -1
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/vercel/bench.d.ts +169 -0
  101. package/dist/vercel/bench.d.ts.map +1 -0
  102. package/dist/vercel/bench.js +337 -0
  103. package/dist/vercel/bench.js.map +1 -0
  104. package/dist/vercel/capabilities.d.ts +106 -0
  105. package/dist/vercel/capabilities.d.ts.map +1 -0
  106. package/dist/vercel/capabilities.js +128 -0
  107. package/dist/vercel/capabilities.js.map +1 -0
  108. package/dist/vercel/config.d.ts +119 -0
  109. package/dist/vercel/config.d.ts.map +1 -0
  110. package/dist/vercel/config.js +8 -0
  111. package/dist/vercel/config.js.map +1 -0
  112. package/dist/vercel/internal/sdk.d.ts +173 -0
  113. package/dist/vercel/internal/sdk.d.ts.map +1 -0
  114. package/dist/vercel/internal/sdk.js +117 -0
  115. package/dist/vercel/internal/sdk.js.map +1 -0
  116. package/dist/vercel/runtime.d.ts +305 -0
  117. package/dist/vercel/runtime.d.ts.map +1 -0
  118. package/dist/vercel/runtime.js +1169 -0
  119. package/dist/vercel/runtime.js.map +1 -0
  120. package/docs/freestyle.md +110 -0
  121. package/package.json +35 -4
@@ -1 +1 @@
1
- {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,YAAY,CACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjC,eAAe,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5B,aAAa,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3B,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,CACN,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/D,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjC,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE;QAC3C,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE;QACxC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7B,WAAW,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE;QAC3C,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjC,eAAe,CAAC,CACd,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,aAAa,CAAC,CACZ,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kCAAkC,CAAC,CAAC;CAC7E,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACnD,0BAA0B,EAC1B,WAAW,GAAG,WAAW,CAC1B,CAAC;AAOF;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,cAAc,GACtB,0BAA0B,CAqB5B"}
1
+ {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"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"}
package/dist/port.js CHANGED
@@ -1,14 +1,24 @@
1
+ /**
2
+ * True when a mode is still pending evidence, i.e. a live probe could change
3
+ * it.
4
+ *
5
+ * This is the guard a promotion path should consult. `"not-exposed"` and
6
+ * `"unsupported"` are not weaker forms of `"unknown"` — proving the provider
7
+ * can do the thing is not grounds for promoting either of them.
8
+ */
9
+ export function isPendingEvidence(mode) {
10
+ return mode === "unknown";
11
+ }
1
12
  const capabilitiesByRuntime = new WeakMap();
2
13
  /**
3
14
  * Resolve (and memoize) a runtime's capability descriptor.
4
15
  *
5
16
  * Hybrid by necessity: `asyncExec` / `reattach` / `detachedLaunch` are honestly
6
17
  * derivable from method presence, but `warmLease` and `lifecycle` are not —
7
- * every provider ships `findAllByLabels` (E2B and local return `[]` both for
8
- * "no server-side label search" and for "no matches", an ambiguity presence
9
- * cannot resolve) and every provider ships `start`/`stop` (present-but-no-op on
10
- * local and E2B). Those two are provider-declared, defaulting to `true` so an
11
- * undeclared runtime keeps today's behavior exactly.
18
+ * a provider can expose `findAllByLabels` while degrading unsupported search
19
+ * to `[]`, and can expose `start`/`stop` as compatibility no-ops. Method
20
+ * presence cannot distinguish either case. Those two are provider-declared,
21
+ * defaulting to `true` so an undeclared runtime keeps today's behavior exactly.
12
22
  */
13
23
  export function resolveSandboxRuntimeCapabilities(runtime) {
14
24
  const cached = capabilitiesByRuntime.get(runtime);
@@ -16,6 +26,7 @@ export function resolveSandboxRuntimeCapabilities(runtime) {
16
26
  return cached;
17
27
  }
18
28
  const declared = runtime.declaredCapabilities ?? {};
29
+ const declaredModes = runtime.declaredCapabilityModes ?? {};
19
30
  // All-or-nothing: a runtime that can submit but cannot poll would strand a
20
31
  // live command inside the sandbox with no way to ever observe or reap it.
21
32
  const asyncExec = typeof runtime.startScript === "function"
@@ -28,6 +39,17 @@ export function resolveSandboxRuntimeCapabilities(runtime) {
28
39
  detachedLaunch: typeof runtime.launchDetached === "function",
29
40
  warmLease: declared.warmLease ?? true,
30
41
  lifecycle: declared.lifecycle ?? true,
42
+ // Modes default to "unknown", not to a plausible-looking value. An
43
+ // undeclared mode means nobody has established it, and inventing one here
44
+ // would manufacture exactly the false confidence the booleans already cost
45
+ // us.
46
+ modes: {
47
+ outputStreams: declaredModes.outputStreams ?? "unknown",
48
+ filesystem: declaredModes.filesystem ?? "unknown",
49
+ lifetime: declaredModes.lifetime ?? "unknown",
50
+ interactive: declaredModes.interactive ?? "unknown",
51
+ snapshots: declaredModes.snapshots ?? "unknown",
52
+ },
31
53
  };
32
54
  capabilitiesByRuntime.set(runtime, resolved);
33
55
  return resolved;
package/dist/port.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"AA4IA,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAGtC,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iCAAiC,CAC/C,OAAuB;IAEvB,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC;IACpD,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;WACtD,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;WACrC,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU;WAC7C,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,CAAC;IACjD,MAAM,QAAQ,GAA+B;QAC3C,SAAS;QACT,QAAQ,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;QAC/C,cAAc,EAAE,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU;QAC5D,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;QACrC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;KACtC,CAAC;IACF,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"port.js","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"AAsJA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAuC;IAEvC,OAAO,IAAI,KAAK,SAAS,CAAC;AAC5B,CAAC;AAuID,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAGtC,CAAC;AAEJ;;;;;;;;;GASG;AACH,MAAM,UAAU,iCAAiC,CAC/C,OAAuB;IAEvB,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,uBAAuB,IAAI,EAAE,CAAC;IAC5D,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;WACtD,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;WACrC,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU;WAC7C,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,CAAC;IACjD,MAAM,QAAQ,GAAuC;QACnD,SAAS;QACT,QAAQ,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;QAC/C,cAAc,EAAE,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU;QAC5D,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;QACrC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;QACrC,mEAAmE;QACnE,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM;QACN,KAAK,EAAE;YACL,aAAa,EAAE,aAAa,CAAC,aAAa,IAAI,SAAS;YACvD,UAAU,EAAE,aAAa,CAAC,UAAU,IAAI,SAAS;YACjD,QAAQ,EAAE,aAAa,CAAC,QAAQ,IAAI,SAAS;YAC7C,WAAW,EAAE,aAAa,CAAC,WAAW,IAAI,SAAS;YACnD,SAAS,EAAE,aAAa,CAAC,SAAS,IAAI,SAAS;SAChD;KACF,CAAC;IACF,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,15 @@
1
- export type IsolationLevel = 'none' | 'process' | 'strong';
1
+ /**
2
+ * How strongly a runtime isolates a workload from the host.
3
+ *
4
+ * `'unknown'` is deliberately NOT a synonym for weak. It is for a provider
5
+ * whose isolation this package has not established as fact — most often a
6
+ * hosted backend whose internals are documented by the vendor but not
7
+ * observable from here. Encoding such a case as `'strong'` would publish a
8
+ * guarantee nobody verified, and encoding it as `'none'`/`'process'` would
9
+ * publish a limitation that may not exist. A caller that requires a specific
10
+ * guarantee must treat `'unknown'` as "not established" and decide for itself.
11
+ */
12
+ export type IsolationLevel = 'none' | 'process' | 'strong' | 'unknown';
2
13
  export interface RuntimeCapabilities {
3
14
  pty: boolean;
4
15
  snapshots: boolean;
@@ -13,6 +24,36 @@ export interface LaunchOptions {
13
24
  labels?: Record<string, string>;
14
25
  workdir?: string;
15
26
  createTimeoutSeconds?: number;
27
+ /**
28
+ * Deadline after which the instance is a leak — the caller promises the
29
+ * instance is safe to reap once wall-clock passes this timestamp. Together
30
+ * with `attributionTag`, this is the reap-ephemeral contract: an out-of-
31
+ * process reaper (see `scripts/reap-ephemeral.ts`) DELETEs instances that
32
+ * carry BOTH fields when `ephemeralUntil` is in the past. Adapters that
33
+ * accept this option persist it on the instance's provider-side metadata
34
+ * so it survives caller crashes.
35
+ *
36
+ * Number: Unix milliseconds. String: ISO-8601 (parsed and re-encoded to
37
+ * millis at persist time; consistency with the reaper is on the adapter).
38
+ *
39
+ * **Never sweep on labels alone.** `metadata.ephemeral === 'true'` is a
40
+ * caller-set label, not a lifecycle contract — sweeping on it deletes
41
+ * healthy warm-lease instances that legitimately carry the same label.
42
+ * The safe contract is `attributionTag + ephemeralUntil<past>`, both
43
+ * required.
44
+ */
45
+ ephemeralUntil?: number | string;
46
+ /**
47
+ * Opaque tag identifying which system launched this instance for the
48
+ * reap-ephemeral contract. Any two systems that share a tag agree to
49
+ * reap each other's leaked instances; a tag with no counter-reaper leaks
50
+ * quietly. Combined with `ephemeralUntil` per the contract above.
51
+ *
52
+ * Suggested shape: `<system-slug>:<lane-slug>` (e.g.,
53
+ * `bench:sandbox-provider-comparison-0819`). Kept as an opaque string
54
+ * so the reap contract does not force a shared taxonomy.
55
+ */
56
+ attributionTag?: string;
16
57
  }
17
58
  export interface RuntimeHandle {
18
59
  id: string;
@@ -31,6 +72,14 @@ export interface ExecOptions {
31
72
  export interface ExecResult {
32
73
  output: string;
33
74
  exitCode: number;
75
+ /**
76
+ * True when the provider capped captured output and `output` is therefore
77
+ * incomplete. Optional and additive; `undefined` means the provider did not
78
+ * report truncation, not that the output is known to be complete. A given
79
+ * adapter may guarantee more than this baseline for its own reads — see
80
+ * that adapter's implementation for the stronger claim, if any.
81
+ */
82
+ truncated?: boolean;
34
83
  }
35
84
  export interface AsyncExecStartResult {
36
85
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Live benchmark core for the Vercel adapter.
3
+ *
4
+ * Split out from the CLI in `scripts/vercel-bench.ts` so the safety guards are
5
+ * testable against a fake runtime *before* they are pointed at a real account.
6
+ * A harness whose ledger-before-use and verified-cleanup guards have never been
7
+ * exercised is exactly the unverified claim this package refuses to make about
8
+ * anything else.
9
+ *
10
+ * Not exported from the package barrel: this is an internal measurement tool,
11
+ * not public API.
12
+ */
13
+ import type { RuntimeHandle } from "../types.js";
14
+ /** The slice of the runtime the benchmark needs. Keeps fakes cheap. */
15
+ export interface BenchRuntime {
16
+ launch(options: {
17
+ name?: string;
18
+ labels?: Record<string, string>;
19
+ }): Promise<RuntimeHandle>;
20
+ runScript(handle: RuntimeHandle, options: {
21
+ command: string;
22
+ timeoutMs?: number;
23
+ }): Promise<{
24
+ output: string;
25
+ exitCode: number | null;
26
+ }>;
27
+ listOwned(options?: {
28
+ includeTerminated?: boolean;
29
+ states?: readonly string[] | null;
30
+ }): Promise<Array<{
31
+ name: string;
32
+ providerStatus: string;
33
+ vcpus?: number;
34
+ memoryMiB?: number;
35
+ activeCpuMs?: number;
36
+ wallClockMs?: number;
37
+ }>>;
38
+ destroy(handle: RuntimeHandle): Promise<void>;
39
+ }
40
+ export type LedgerEvent = {
41
+ event: "run-start" | "intent" | "created" | "error" | "destroyed-verified" | "destroy-unverified" | "destroy-submit-failed" | "sweep-failed" | "burst-start" | "survivor" | "run-end";
42
+ name: string;
43
+ [key: string]: unknown;
44
+ };
45
+ export interface BenchLimits {
46
+ /** Absolute ceiling on sandboxes created by one invocation. */
47
+ maxSandboxes: number;
48
+ /** vCPUs per sandbox, echoed into the cost projection. */
49
+ vcpus: number;
50
+ /** Concurrency probe width. */
51
+ burstWidth: number;
52
+ }
53
+ export interface BenchDeps {
54
+ runtime: BenchRuntime;
55
+ /** Must be durable before the create call goes out. */
56
+ ledger(entry: LedgerEvent): void;
57
+ prefix: string;
58
+ runId: string;
59
+ limits: BenchLimits;
60
+ now?: () => number;
61
+ }
62
+ export declare class BenchBoundsError extends Error {
63
+ constructor(requested: number, max: number);
64
+ }
65
+ export type Sample = {
66
+ index: number;
67
+ createMs: number;
68
+ stateAfterCreate: string;
69
+ firstExecMs: number;
70
+ execExitCode: number | null;
71
+ execOutput: string;
72
+ vcpus?: number;
73
+ memoryMiB?: number;
74
+ activeCpuMs?: number;
75
+ wallClockMs?: number;
76
+ destroyed: boolean;
77
+ verifiedGone: boolean;
78
+ error?: string;
79
+ };
80
+ /**
81
+ * Cost for one sandbox-hour at a given shape and CPU utilisation.
82
+ *
83
+ * The two lines are always reported separately and never blended. Active CPU
84
+ * excludes I/O wait; provisioned memory does not — it is wall-clock. Collapsing
85
+ * them into one number is precisely how the "cheapest provider" claim gets
86
+ * overstated for idle-heavy agent workloads.
87
+ */
88
+ export declare function projectCost(vcpus: number, utilisation: number): {
89
+ utilisation: number;
90
+ cpuPerHour: number;
91
+ memoryPerHour: number;
92
+ totalPerHour: number;
93
+ };
94
+ /** Nearest-rank percentile. NaN entries are dropped, not treated as zero. */
95
+ export declare function percentile(values: readonly number[], p: number): number;
96
+ /**
97
+ * Measure one sandbox end to end.
98
+ *
99
+ * The name is ledgered *before* `launch` is called. A record written after the
100
+ * response would be lost exactly when it matters — a crash between submit and
101
+ * response leaves a live sandbox nobody wrote down.
102
+ *
103
+ * Teardown runs in `finally`, so a failed measurement still destroys what it
104
+ * created. `destroyed` and `verifiedGone` are tracked separately because they
105
+ * are different facts, and conflating them is how a leak gets reported as a
106
+ * clean run.
107
+ */
108
+ export declare function measureOne(deps: BenchDeps, index: number): Promise<Sample>;
109
+ export interface BurstResult {
110
+ width: number;
111
+ admitted: number;
112
+ rejected: number;
113
+ rejections: string[];
114
+ verifiedGone: number;
115
+ caveat: string;
116
+ }
117
+ /** Concurrency probe: launch a burst, then tear all of it down. */
118
+ export declare function burstProbe(deps: BenchDeps): Promise<BurstResult>;
119
+ /** Independent audit: nothing under this lane's prefix may survive a run. */
120
+ export declare function sweep(deps: BenchDeps): Promise<string[]>;
121
+ export type BenchMode = "canary" | "full" | "sweep";
122
+ export interface BenchReport {
123
+ runId: string;
124
+ prefix: string;
125
+ mode: BenchMode;
126
+ n: number;
127
+ coldCreate: {
128
+ p50Ms: number;
129
+ p95Ms: number;
130
+ };
131
+ firstExec: {
132
+ p50Ms: number;
133
+ p95Ms: number;
134
+ };
135
+ readyStateAfterCreate: string[];
136
+ deliveredShape: {
137
+ vcpus: number[];
138
+ memoryMiB: number[];
139
+ documented: string;
140
+ };
141
+ cleanup: {
142
+ created: number;
143
+ destroyed: number;
144
+ verifiedGone: number;
145
+ survivors: string[];
146
+ /** Present when the independent sweep itself failed to run. */
147
+ sweepError?: string;
148
+ };
149
+ burst: BurstResult | null;
150
+ costProjection: {
151
+ shape: string;
152
+ note: string;
153
+ perHour: ReturnType<typeof projectCost>[];
154
+ };
155
+ errors: Array<{
156
+ index: number;
157
+ error: string;
158
+ }>;
159
+ /** True only when every created sandbox was proven gone. */
160
+ clean: boolean;
161
+ }
162
+ /**
163
+ * Run the benchmark.
164
+ *
165
+ * Refuses up front to exceed the sandbox cap: a bound checked after the fact is
166
+ * not a bound. The sweep runs in `finally`, so an aborted run still audits.
167
+ */
168
+ export declare function runBenchmark(deps: BenchDeps, mode: BenchMode): Promise<BenchReport>;
169
+ //# sourceMappingURL=bench.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bench.d.ts","sourceRoot":"","sources":["../../src/vercel/bench.ts"],"names":[],"mappings":"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"}