swarmbox 0.16.0 → 0.18.0

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/runs/run.js CHANGED
@@ -18,6 +18,7 @@ import { startInstant } from "../time.js";
18
18
  import { loadScenario } from "../scenarios/spec.js";
19
19
  import { openBudget } from "./budget.js";
20
20
  import { renderReport } from "./report.js";
21
+ import { buildResults } from "./results.js";
21
22
  const minutesSince = (iso) => (Date.now() - Date.parse(iso)) / 60_000;
22
23
  /** Under the 60 s an MCP client waits for a tool's answer by default (claude -p's included). */
23
24
  const START_WAIT_MS = 45_000;
@@ -49,7 +50,7 @@ export function createRuns(h, opts = {}) {
49
50
  findings: r.findings.length,
50
51
  });
51
52
  /** The world, its clock, the cast on their screens, and the run's record. */
52
- const open = async (id, scenario, options) => {
53
+ const open = async (id, scenario, options, recheck) => {
53
54
  const w = await h.createWorld({
54
55
  ...(scenario.world.tenants ? { tenants: scenario.world.tenants } : {}),
55
56
  seed: scenario.world.seed,
@@ -97,6 +98,8 @@ export function createRuns(h, opts = {}) {
97
98
  startedAt: new Date().toISOString(),
98
99
  cast,
99
100
  findings: [],
101
+ recheck,
102
+ results: [],
100
103
  provenance: describeProvenance(w.world.provenance),
101
104
  commit: w.world.provenance.commit,
102
105
  };
@@ -109,7 +112,7 @@ export function createRuns(h, opts = {}) {
109
112
  throw e;
110
113
  }
111
114
  };
112
- function begin(scenarioId) {
115
+ function begin(scenarioId, { recheck = [] } = {}) {
113
116
  const scenario = loadScenario(scenarioId, scenarioDir);
114
117
  const again = [...starts.values()].find((x) => x.scenario === scenario.id && !x.error);
115
118
  if (again)
@@ -130,7 +133,7 @@ export function createRuns(h, opts = {}) {
130
133
  id,
131
134
  scenario: scenario.id,
132
135
  since: new Date().toISOString(),
133
- ready: open(id, scenario, checked?.data),
136
+ ready: open(id, scenario, checked?.data, recheck),
134
137
  };
135
138
  s.ready.catch((e) => (s.error = e.message));
136
139
  starts.set(id, s);
@@ -204,6 +207,25 @@ export function createRuns(h, opts = {}) {
204
207
  save(r);
205
208
  return finding;
206
209
  },
210
+ async result(runId, { ref, outcome, what, screen }) {
211
+ const r = get(runId);
212
+ if (r.endedAt)
213
+ throw new HarnessError(`run ${runId} has ended`);
214
+ if (outcome !== 'not-reached' && !screen)
215
+ throw new HarnessError(`${ref}: ${outcome} needs the screen it was seen on, for the picture`);
216
+ const said = { ref, outcome, what, at: new Date().toISOString() };
217
+ if (screen) {
218
+ if (!r.cast.some((c) => c.screen === screen))
219
+ throw new HarnessError(`screen ${screen} is not in run ${runId}`);
220
+ const shot = join('results', `${ref.replace(/[^\w.-]/g, '_')}.png`);
221
+ mkdirSync(join(r.dir, 'results'), { recursive: true });
222
+ await h.screen(screen).screen.page.screenshot({ path: join(r.dir, shot) });
223
+ said.screenshot = shot;
224
+ }
225
+ r.results = [...r.results.filter((x) => x.ref !== ref), said];
226
+ save(r);
227
+ return said;
228
+ },
207
229
  async end(runId, { summary, keepWorld = false } = {}) {
208
230
  const r = get(runId);
209
231
  if (r.endedAt)
@@ -241,6 +263,14 @@ export function createRuns(h, opts = {}) {
241
263
  if (summary)
242
264
  r.summary = summary;
243
265
  budget.spend(r.browserMinutes);
266
+ // Written before the tracker hears of it, so a tracker that's down never costs a result.
267
+ const results = buildResults({
268
+ ...r,
269
+ endedAt: r.endedAt,
270
+ checks: r.checks.results,
271
+ });
272
+ const resultsFile = join(r.dir, 'results.json');
273
+ writeFileSync(resultsFile, `${JSON.stringify(results, null, 2)}\n`);
244
274
  if (sink) {
245
275
  if (sink.unavailable)
246
276
  r.filed = `not registered: ${sink.unavailable}`;
@@ -251,6 +281,7 @@ export function createRuns(h, opts = {}) {
251
281
  endedAt: r.endedAt,
252
282
  failingChecks: failing(r.checks.results).length,
253
283
  reportPath: join(r.dir, 'report.html'),
284
+ results,
254
285
  })
255
286
  .then(() => (r.filed = 'registered'), (e) => (r.filed = `not registered: ${e.message.slice(0, 200)}`));
256
287
  }
@@ -259,7 +290,7 @@ export function createRuns(h, opts = {}) {
259
290
  writeFileSync(report, renderReport(r));
260
291
  if (!keepWorld && !gone)
261
292
  await h.destroyWorld(r.worldId).catch(() => undefined);
262
- return { ...r, report };
293
+ return { ...r, report, resultsFile };
263
294
  },
264
295
  overrun(screenId) {
265
296
  const r = [...runs.values()].find((x) => !x.endedAt && x.cast.some((c) => c.screen === screenId));
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runs/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runs/run.ts"],"names":[],"mappings":"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"}
package/dist/serve.d.ts CHANGED
@@ -20,7 +20,15 @@ export interface ServeOptions {
20
20
  handleSignals?: boolean;
21
21
  /** Where to print the addresses; default the console. Null for nothing. */
22
22
  log?: ((line: string) => void) | null;
23
+ /**
24
+ * Whether the product's stand-ins run in the operating-system sandbox. Default "required", or "off" when the
25
+ * environment has SWARMBOX_NO_SANDBOX=1: for a machine without one (Linux without bubblewrap). Off, a stand-in
26
+ * runs with the operator's own rights, so only stand-ins you trust.
27
+ */
28
+ standinSandbox?: 'required' | 'off';
23
29
  }
30
+ /** The stand-in sandbox serve asks for: the option if given, else off only when SWARMBOX_NO_SANDBOX is 1. */
31
+ export declare function standinSandboxFor(option: ServeOptions['standinSandbox'], env?: Record<string, string | undefined>): 'required' | 'off';
24
32
  export interface Served<W extends ProductWorld> {
25
33
  harness: Harness<W>;
26
34
  mcp: McpHttp;
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AASA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,wEAAwE;AACxE,eAAO,MAAM,aAAa;;;CAA4C,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,YAAY;IAC5C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAsB,KAAK,CAAC,CAAC,SAAS,YAAY,EAChD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CA2BpB"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AASA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,wEAAwE;AACxE,eAAO,MAAM,aAAa;;;CAA4C,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;CACrC;AAED,6GAA6G;AAC7G,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,EACtC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,UAAU,GAAG,KAAK,CAEpB;AAED,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,YAAY;IAC5C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAsB,KAAK,CAAC,CAAC,SAAS,YAAY,EAChD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CA8BpB"}
package/dist/serve.js CHANGED
@@ -11,13 +11,20 @@ import { createHarness } from "./harness.js";
11
11
  import { serveMcp } from "./mcp/server.js";
12
12
  /** Where an agent and a person reach Swarmbox unless told otherwise. */
13
13
  export const DEFAULT_PORTS = { controlRoom: 3100, mcp: 3101 };
14
+ /** The stand-in sandbox serve asks for: the option if given, else off only when SWARMBOX_NO_SANDBOX is 1. */
15
+ export function standinSandboxFor(option, env = process.env) {
16
+ return option ?? (env.SWARMBOX_NO_SANDBOX === '1' ? 'off' : 'required');
17
+ }
14
18
  export async function serve(product, options = {}) {
15
- const harness = createHarness(product, { headless: options.headless ?? false });
19
+ const sandbox = standinSandboxFor(options.standinSandbox);
20
+ const harness = createHarness(product, { headless: options.headless ?? false, standinSandbox: sandbox });
16
21
  const mcp = await serveMcp(harness, options.mcpPort ?? DEFAULT_PORTS.mcp);
17
22
  const room = await serveControlRoom(harness, options.controlRoomPort ?? DEFAULT_PORTS.controlRoom);
18
23
  const log = options.log === undefined ? (l) => console.log(l) : options.log;
19
24
  log?.(`control room ${room.url}`);
20
25
  log?.(`mcp ${mcp.url}`);
26
+ if (sandbox === 'off' && product.standins?.length)
27
+ log?.('stand-ins: unsandboxed (SWARMBOX_NO_SANDBOX=1 or standinSandbox off)');
21
28
  log?.(`connect: claude mcp add --transport http ${options.mcpName ?? `swarmbox-${product.name}`} ${mcp.url}`);
22
29
  let stopping;
23
30
  const stop = () => (stopping ??= (async () => {
package/dist/serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,wDAAwD;AACxD,EAAE;AACF,sCAAsC;AACtC,8CAA8C;AAC9C,8BAA8B;AAC9B,EAAE;AACF,mEAAmE;AAEnE,OAAO,EAAE,gBAAgB,EAAoB,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAGzD,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAW,CAAC;AAwBvE,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,OAAmB,EACnB,UAAwB,EAAE;IAE1B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;IACnG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACpF,GAAG,EAAE,CAAC,iBAAiB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,GAAG,EAAE,CAAC,iBAAiB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAClC,GAAG,EAAE,CACH,iDAAiD,OAAO,CAAC,OAAO,IAAI,YAAY,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAC5G,CAAC;IAEF,IAAI,QAAmC,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,EAAE,CAChB,CAAC,QAAQ,KAAK,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,uGAAuG;IACvG,wGAAwG;IACxG,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI;QAC/B,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU;YACjD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACtB,IAAI,QAAQ;oBAAE,OAAO;gBACrB,GAAG,EAAE,CAAC,KAAK,MAAM,yBAAyB,CAAC,CAAC;gBAC5C,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;IACP,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "swarmbox",
3
3
  "license": "MIT",
4
- "version": "0.16.0",
4
+ "version": "0.18.0",
5
5
  "description": "A sandbox where AI agents run your product in real browsers against throwaway worlds: they see what is on each screen and what the server did, log findings, and end with checks and a report.",
6
6
  "type": "module",
7
7
  "packageManager": "pnpm@11.11.0",