@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.
- package/README.md +226 -5
- package/dist/agent37/client.d.ts +115 -0
- package/dist/agent37/client.d.ts.map +1 -0
- package/dist/agent37/client.js +270 -0
- package/dist/agent37/client.js.map +1 -0
- package/dist/agent37/runtime.d.ts +415 -0
- package/dist/agent37/runtime.d.ts.map +1 -0
- package/dist/agent37/runtime.js +855 -0
- package/dist/agent37/runtime.js.map +1 -0
- package/dist/agentcore/bench.d.ts +93 -0
- package/dist/agentcore/bench.d.ts.map +1 -0
- package/dist/agentcore/bench.js +125 -0
- package/dist/agentcore/bench.js.map +1 -0
- package/dist/agentcore/capabilities.d.ts +169 -0
- package/dist/agentcore/capabilities.d.ts.map +1 -0
- package/dist/agentcore/capabilities.js +153 -0
- package/dist/agentcore/capabilities.js.map +1 -0
- package/dist/agentcore/config.d.ts +156 -0
- package/dist/agentcore/config.d.ts.map +1 -0
- package/dist/agentcore/config.js +12 -0
- package/dist/agentcore/config.js.map +1 -0
- package/dist/agentcore/internal/sdk.d.ts +181 -0
- package/dist/agentcore/internal/sdk.d.ts.map +1 -0
- package/dist/agentcore/internal/sdk.js +223 -0
- package/dist/agentcore/internal/sdk.js.map +1 -0
- package/dist/agentcore/runtime.d.ts +177 -0
- package/dist/agentcore/runtime.d.ts.map +1 -0
- package/dist/agentcore/runtime.js +706 -0
- package/dist/agentcore/runtime.js.map +1 -0
- package/dist/daytona/runtime.d.ts +23 -0
- package/dist/daytona/runtime.d.ts.map +1 -1
- package/dist/daytona/runtime.js +167 -5
- package/dist/daytona/runtime.js.map +1 -1
- package/dist/daytona/wire-supplement.d.ts +25 -0
- package/dist/daytona/wire-supplement.d.ts.map +1 -0
- package/dist/daytona/wire-supplement.js +16 -0
- package/dist/daytona/wire-supplement.js.map +1 -0
- package/dist/e2b/runtime.d.ts +107 -72
- package/dist/e2b/runtime.d.ts.map +1 -1
- package/dist/e2b/runtime.js +675 -190
- package/dist/e2b/runtime.js.map +1 -1
- package/dist/freestyle/capabilities.d.ts +28 -0
- package/dist/freestyle/capabilities.d.ts.map +1 -0
- package/dist/freestyle/capabilities.js +42 -0
- package/dist/freestyle/capabilities.js.map +1 -0
- package/dist/freestyle/config.d.ts +36 -0
- package/dist/freestyle/config.d.ts.map +1 -0
- package/dist/freestyle/config.js +2 -0
- package/dist/freestyle/config.js.map +1 -0
- package/dist/freestyle/internal/sdk.d.ts +69 -0
- package/dist/freestyle/internal/sdk.d.ts.map +1 -0
- package/dist/freestyle/internal/sdk.js +19 -0
- package/dist/freestyle/internal/sdk.js.map +1 -0
- package/dist/freestyle/runtime.d.ts +163 -0
- package/dist/freestyle/runtime.d.ts.map +1 -0
- package/dist/freestyle/runtime.js +798 -0
- package/dist/freestyle/runtime.js.map +1 -0
- package/dist/index.d.ts +35 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/microsandbox/runtime.d.ts +793 -0
- package/dist/microsandbox/runtime.d.ts.map +1 -0
- package/dist/microsandbox/runtime.js +2303 -0
- package/dist/microsandbox/runtime.js.map +1 -0
- package/dist/modal/bench.d.ts +199 -0
- package/dist/modal/bench.d.ts.map +1 -0
- package/dist/modal/bench.js +450 -0
- package/dist/modal/bench.js.map +1 -0
- package/dist/modal/capabilities.d.ts +180 -0
- package/dist/modal/capabilities.d.ts.map +1 -0
- package/dist/modal/capabilities.js +159 -0
- package/dist/modal/capabilities.js.map +1 -0
- package/dist/modal/config.d.ts +192 -0
- package/dist/modal/config.d.ts.map +1 -0
- package/dist/modal/config.js +169 -0
- package/dist/modal/config.js.map +1 -0
- package/dist/modal/internal/sdk.d.ts +141 -0
- package/dist/modal/internal/sdk.d.ts.map +1 -0
- package/dist/modal/internal/sdk.js +51 -0
- package/dist/modal/internal/sdk.js.map +1 -0
- package/dist/modal/runtime.d.ts +271 -0
- package/dist/modal/runtime.d.ts.map +1 -0
- package/dist/modal/runtime.js +871 -0
- package/dist/modal/runtime.js.map +1 -0
- package/dist/mount-script.d.ts +16 -1
- package/dist/mount-script.d.ts.map +1 -1
- package/dist/mount-script.js +76 -15
- package/dist/mount-script.js.map +1 -1
- package/dist/orchestrator.d.ts +15 -0
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +13 -1
- package/dist/orchestrator.js.map +1 -1
- package/dist/port.d.ts +144 -6
- package/dist/port.d.ts.map +1 -1
- package/dist/port.js +27 -5
- package/dist/port.js.map +1 -1
- package/dist/types.d.ts +50 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vercel/bench.d.ts +169 -0
- package/dist/vercel/bench.d.ts.map +1 -0
- package/dist/vercel/bench.js +337 -0
- package/dist/vercel/bench.js.map +1 -0
- package/dist/vercel/capabilities.d.ts +106 -0
- package/dist/vercel/capabilities.d.ts.map +1 -0
- package/dist/vercel/capabilities.js +128 -0
- package/dist/vercel/capabilities.js.map +1 -0
- package/dist/vercel/config.d.ts +119 -0
- package/dist/vercel/config.d.ts.map +1 -0
- package/dist/vercel/config.js +8 -0
- package/dist/vercel/config.js.map +1 -0
- package/dist/vercel/internal/sdk.d.ts +173 -0
- package/dist/vercel/internal/sdk.d.ts.map +1 -0
- package/dist/vercel/internal/sdk.js +117 -0
- package/dist/vercel/internal/sdk.js.map +1 -0
- package/dist/vercel/runtime.d.ts +305 -0
- package/dist/vercel/runtime.d.ts.map +1 -0
- package/dist/vercel/runtime.js +1169 -0
- package/dist/vercel/runtime.js.map +1 -0
- package/docs/freestyle.md +110 -0
- package/package.json +35 -4
package/dist/port.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* cannot
|
|
10
|
-
*
|
|
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":"
|
|
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
|
-
|
|
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;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;
|
|
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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"}
|