paracosm 0.9.809 → 0.9.821

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.
@@ -1 +1 @@
1
- {"version":3,"file":"pair-runner.d.ts","sourceRoot":"","sources":["../../src/cli/pair-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAKzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnF;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/C,KAAK,EAAE,MAAM,GACZ,MAAM,CAQR;AAyBD,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,0BAA0B,EACrC,SAAS,EAAE,WAAW;AACtB;;;;;;;GAOG;AACH,MAAM,CAAC,EAAE,WAAW;AACpB;;;;;;;GAOG;AACH,QAAQ,GAAE,eAA8B;AACxC;;;;;GAKG;AACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,4BAA4B,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzJ,OAAO,CAAC,IAAI,CAAC,CAsNf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,0BAA0B,EACrC,SAAS,EAAE,WAAW,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,GAAE,eAA8B;AACxC,mEAAmE;AACnE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,4BAA4B,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzJ,OAAO,CAAC,IAAI,CAAC,CAsGf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,0BAA0B,EACrC,SAAS,EAAE,WAAW,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,GAAE,eAA8B;AACxC,sEAAsE;AACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,4BAA4B,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzJ,OAAO,CAAC,IAAI,CAAC,CAiGf"}
1
+ {"version":3,"file":"pair-runner.d.ts","sourceRoot":"","sources":["../../src/cli/pair-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAKzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnF;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/C,KAAK,EAAE,MAAM,GACZ,MAAM,CAQR;AAyBD,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,0BAA0B,EACrC,SAAS,EAAE,WAAW;AACtB;;;;;;;GAOG;AACH,MAAM,CAAC,EAAE,WAAW;AACpB;;;;;;;GAOG;AACH,QAAQ,GAAE,eAA8B;AACxC;;;;;GAKG;AACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,4BAA4B,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzJ,OAAO,CAAC,IAAI,CAAC,CAsNf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,0BAA0B,EACrC,SAAS,EAAE,WAAW,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,GAAE,eAA8B;AACxC,mEAAmE;AACnE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,4BAA4B,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzJ,OAAO,CAAC,IAAI,CAAC,CAsGf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,0BAA0B,EACrC,SAAS,EAAE,WAAW,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,GAAE,eAA8B;AACxC,sEAAsE;AACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,4BAA4B,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACzJ,OAAO,CAAC,IAAI,CAAC,CAiIf"}
@@ -434,59 +434,89 @@ onArtifact) {
434
434
  const tag = count === 0 ? base : `${base}-${count + 1}`;
435
435
  return { leader, index, tag };
436
436
  });
437
- const settled = await Promise.allSettled(actorsWithTags.map(({ leader, index, tag }) => {
438
- return runSimulation(leader, simConfig.keyPersonnel ?? DEFAULT_KEY_PERSONNEL, {
439
- maxTurns: turns,
440
- seed,
441
- startTime,
442
- timePerTurn: simConfig.timePerTurn,
443
- liveSearch,
444
- activeDepartments: simConfig.activeDepartments,
445
- onEvent,
446
- customEvents,
447
- provider: simConfig.provider,
448
- models: simConfig.models,
449
- economics: simConfig.economics,
450
- initialPopulation: simConfig.initialPopulation,
451
- startingResources: simConfig.startingResources,
452
- startingPolitics: simConfig.startingPolitics,
453
- execution: simConfig.execution,
454
- scenario,
455
- signal,
456
- captureSnapshots: simConfig.captureSnapshots ?? false,
457
- apiKey: simConfig.apiKey,
458
- anthropicKey: simConfig.anthropicKey,
459
- serperKey: simConfig.serperKey,
460
- firecrawlKey: simConfig.firecrawlKey,
461
- tavilyKey: simConfig.tavilyKey,
462
- cohereKey: simConfig.cohereKey,
463
- }).then(async (result) => {
464
- broadcast('result', {
465
- leader: tag,
466
- actorIndex: index,
467
- summary: {
468
- population: result.finalState?.metrics?.population,
469
- morale: result.finalState?.metrics?.morale,
470
- toolsForged: result.forgedTools?.length ?? 0,
471
- citations: result.citations?.length ?? 0,
472
- },
473
- fingerprint: result.fingerprint ?? null,
474
- artifact: simConfig.captureSnapshots ? result : undefined,
475
- });
476
- if (onArtifact) {
477
- try {
478
- await onArtifact(result, leader);
479
- }
480
- catch (err) {
481
- console.warn('[batch-runner] onArtifact handler failed:', err);
482
- }
483
- }
484
- return result;
485
- }, error => {
486
- broadcast('sim_error', { leader: tag, actorIndex: index, error: String(error) }, tag);
487
- throw error;
437
+ // Concurrency cap. The batch runner used to fan out every actor
438
+ // through Promise.allSettled, which fired 300 simultaneous LLM
439
+ // streams when /setup was called with 300 actors — provider rate
440
+ // limits would 429-storm the run before the first turn finished.
441
+ // The economics profile carries `batch.maxConcurrency` (default 8
442
+ // for the standard profile, lower in cost-cap mode) so we now
443
+ // process actors through a small worker pool instead. Result + sim
444
+ // events still broadcast as each actor completes, so the dashboard
445
+ // sees live progress regardless of pool size.
446
+ const maxConcurrency = Math.max(1, simConfig.economics?.batch?.maxConcurrency ?? 8);
447
+ const runOne = ({ leader, index, tag }) => runSimulation(leader, simConfig.keyPersonnel ?? DEFAULT_KEY_PERSONNEL, {
448
+ maxTurns: turns,
449
+ seed,
450
+ startTime,
451
+ timePerTurn: simConfig.timePerTurn,
452
+ liveSearch,
453
+ activeDepartments: simConfig.activeDepartments,
454
+ onEvent,
455
+ customEvents,
456
+ provider: simConfig.provider,
457
+ models: simConfig.models,
458
+ economics: simConfig.economics,
459
+ initialPopulation: simConfig.initialPopulation,
460
+ startingResources: simConfig.startingResources,
461
+ startingPolitics: simConfig.startingPolitics,
462
+ execution: simConfig.execution,
463
+ scenario,
464
+ signal,
465
+ captureSnapshots: simConfig.captureSnapshots ?? false,
466
+ apiKey: simConfig.apiKey,
467
+ anthropicKey: simConfig.anthropicKey,
468
+ serperKey: simConfig.serperKey,
469
+ firecrawlKey: simConfig.firecrawlKey,
470
+ tavilyKey: simConfig.tavilyKey,
471
+ cohereKey: simConfig.cohereKey,
472
+ }).then(async (result) => {
473
+ broadcast('result', {
474
+ leader: tag,
475
+ actorIndex: index,
476
+ summary: {
477
+ population: result.finalState?.metrics?.population,
478
+ morale: result.finalState?.metrics?.morale,
479
+ toolsForged: result.forgedTools?.length ?? 0,
480
+ citations: result.citations?.length ?? 0,
481
+ },
482
+ fingerprint: result.fingerprint ?? null,
483
+ artifact: simConfig.captureSnapshots ? result : undefined,
488
484
  });
489
- }));
485
+ if (onArtifact) {
486
+ try {
487
+ await onArtifact(result, leader);
488
+ }
489
+ catch (err) {
490
+ console.warn('[batch-runner] onArtifact handler failed:', err);
491
+ }
492
+ }
493
+ return result;
494
+ }, error => {
495
+ broadcast('sim_error', { leader: tag, actorIndex: index, error: String(error) }, tag);
496
+ throw error;
497
+ });
498
+ // Simple worker-pool implementation: keep `maxConcurrency` runs
499
+ // in flight at once. Avoids pulling in `p-limit` for one usage and
500
+ // keeps abort behaviour identical (each runSimulation already
501
+ // observes simConfig.signal). Errors are captured per-actor in the
502
+ // settled-style result array so a single 429 doesn't poison the
503
+ // whole batch.
504
+ const settled = new Array(actorsWithTags.length);
505
+ let nextIndex = 0;
506
+ async function worker() {
507
+ while (true) {
508
+ const slot = nextIndex++;
509
+ if (slot >= actorsWithTags.length)
510
+ return;
511
+ try {
512
+ settled[slot] = { status: 'fulfilled', value: await runOne(actorsWithTags[slot]) };
513
+ }
514
+ catch (reason) {
515
+ settled[slot] = { status: 'rejected', reason };
516
+ }
517
+ }
518
+ }
519
+ await Promise.all(Array.from({ length: Math.min(maxConcurrency, actorsWithTags.length) }, () => worker()));
490
520
  // Mirror runPairSimulations: surface aborted/provider-error at the
491
521
  // terminal event so the dashboard can badge the session as
492
522
  // interrupted. We consider the batch aborted when every leader
@@ -1 +1 @@
1
- {"version":3,"file":"pair-runner.js","sourceRoot":"","sources":["../../src/cli/pair-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pair-runner.js","sourceRoot":"","sources":["../../src/cli/pair-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import type { ScenarioPackage } from '../engine/types.js';
2
+ /**
3
+ * Subdirectory under `scenarios/` where compile-from-seed scenarios
4
+ * get auto-persisted. Kept separate from `scenarios/` proper so
5
+ * admin-curated drafts (corporate-quarterly.json, frontier-ai-lab.json,
6
+ * etc.) and runtime-compiled drafts stay distinguishable on disk and
7
+ * the catalog UI can label them differently if it wants.
8
+ */
9
+ export declare const COMPILED_SUBDIR = "compiled";
10
+ /**
11
+ * Cap on the number of persisted compiled scenarios at any time. Oldest
12
+ * (by mtime) evict FIFO when a 51st scenario tries to save. 50 is sized
13
+ * for the public-demo use case: enough room for the entire interesting-
14
+ * scenario tail, small enough that disk + boot-time recompile cost
15
+ * stay bounded.
16
+ */
17
+ export declare const COMPILED_SCENARIOS_CAP = 50;
18
+ /**
19
+ * Side-channel metadata attached to each persisted draft. Captures when
20
+ * the scenario was compiled and (truncated) what seed text produced it,
21
+ * so a public catalog can render "compiled 3 days ago from a brief
22
+ * about ... " without re-deriving from the scenario body.
23
+ */
24
+ export interface PersistedCompiledMeta {
25
+ /** ISO-8601 wall-clock when compile-from-seed succeeded. */
26
+ compiledAt: string;
27
+ /** First 1KB of the original seed prompt. Null when the compile path
28
+ * didn't carry seed text (e.g. /scenario/store calls). */
29
+ seedText: string | null;
30
+ }
31
+ /** One entry returned by {@link loadPersistedCompiledDrafts}. */
32
+ export interface PersistedCompiledDraft {
33
+ id: string;
34
+ /** Scenario JSON minus the function-typed `hooks` field — runnable
35
+ * through `compileScenario(draft, { cache: true })`. */
36
+ draft: Record<string, unknown>;
37
+ meta: PersistedCompiledMeta;
38
+ }
39
+ /**
40
+ * Result of a successful persist. The on-disk value of `compiledAt`
41
+ * is the canonical source of truth; in-memory callers reflect it back
42
+ * into their own state via this return value rather than re-deriving
43
+ * from `Date.now()` (which would drift between the disk record and
44
+ * the runtime metadata map by however long the writeFileSync took).
45
+ */
46
+ export interface PersistResult {
47
+ filePath: string;
48
+ meta: PersistedCompiledMeta;
49
+ }
50
+ /**
51
+ * Save a compile-from-seed scenario to disk. Caller passes the fully-
52
+ * compiled scenario; we persist a hook-stripped copy plus metadata.
53
+ * Idempotent on the same id (overwrites the previous file).
54
+ *
55
+ * @returns A {@link PersistResult} carrying the path written + the
56
+ * exact meta block stored on disk so callers can mirror it into
57
+ * their own state, or `null` on validation/filesystem failure (we
58
+ * swallow the error, log via console.warn, and let the in-memory
59
+ * catalog continue to serve the live run; persistence is a best-
60
+ * effort enhancement, not a critical path).
61
+ */
62
+ export declare function persistCompiledScenario(scenarioDir: string, scenario: ScenarioPackage, seedText: string | null): PersistResult | null;
63
+ /**
64
+ * Read every compiled-draft JSON from the persistence dir. Malformed
65
+ * files are skipped silently — one corrupted entry never blocks the
66
+ * rest of the catalog from loading.
67
+ */
68
+ export declare function loadPersistedCompiledDrafts(scenarioDir: string): PersistedCompiledDraft[];
69
+ /**
70
+ * Remove a persisted draft by id. Returns true when a file was actually
71
+ * deleted, false when no matching file existed or the id failed
72
+ * validation (idempotent for callers that don't pre-check). Used by
73
+ * the future `/scenario/delete` admin surface and by tests; production
74
+ * server-app does not call this on the active path.
75
+ *
76
+ * Path-traversal guard: rejects any id that doesn't match the strict
77
+ * kebab-slug shape AND verifies the resolved file path stays inside
78
+ * the compiled subdir before unlinking. Belt-and-suspenders against
79
+ * future callers that might wire user input through this surface.
80
+ */
81
+ export declare function deletePersistedCompiledScenario(scenarioDir: string, id: string): boolean;
82
+ //# sourceMappingURL=persisted-compiled-scenarios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persisted-compiled-scenarios.d.ts","sourceRoot":"","sources":["../../src/cli/persisted-compiled-scenarios.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB;+DAC2D;IAC3D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX;6DACyD;IACzD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AA+BD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,aAAa,GAAG,IAAI,CAwBtB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAgCzF;AA4BD;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAkBxF"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Auto-persistence layer for compile-from-seed scenarios.
3
+ *
4
+ * Quickstart's compile-from-seed flow used to register every successful
5
+ * compile in `customScenarioCatalog` with `source: 'compiled'` — but
6
+ * memory-only. A server restart wiped the catalog and users who had
7
+ * authored a custom scenario lost it. This module saves the
8
+ * post-compile draft (the scenario shape minus the function-typed
9
+ * `hooks` field) to `${scenarioDir}/compiled/{id}.json` after every
10
+ * successful compile, and exposes loaders so the server can lift those
11
+ * drafts back into the catalog at boot. Hook source strings live in
12
+ * the compiler's separate disk cache (`.paracosm/cache/`), so a boot-
13
+ * time `compileScenario(draft, { cache: true })` re-hydrates the full
14
+ * runnable scenario for free when the cache is warm — and at LLM cost
15
+ * (~$0.10/draft) when it's cold (e.g. fresh deploy with no cache
16
+ * volume mounted).
17
+ *
18
+ * @module paracosm/cli/persisted-compiled-scenarios
19
+ */
20
+ import { readdirSync, readFileSync, writeFileSync, mkdirSync, existsSync, unlinkSync, statSync, } from 'node:fs';
21
+ import { resolve, sep } from 'node:path';
22
+ /**
23
+ * Subdirectory under `scenarios/` where compile-from-seed scenarios
24
+ * get auto-persisted. Kept separate from `scenarios/` proper so
25
+ * admin-curated drafts (corporate-quarterly.json, frontier-ai-lab.json,
26
+ * etc.) and runtime-compiled drafts stay distinguishable on disk and
27
+ * the catalog UI can label them differently if it wants.
28
+ */
29
+ export const COMPILED_SUBDIR = 'compiled';
30
+ /**
31
+ * Cap on the number of persisted compiled scenarios at any time. Oldest
32
+ * (by mtime) evict FIFO when a 51st scenario tries to save. 50 is sized
33
+ * for the public-demo use case: enough room for the entire interesting-
34
+ * scenario tail, small enough that disk + boot-time recompile cost
35
+ * stay bounded.
36
+ */
37
+ export const COMPILED_SCENARIOS_CAP = 50;
38
+ /** Resolve the `compiled/` subdir path under a scenario root. */
39
+ function compiledDir(scenarioDir) {
40
+ return resolve(scenarioDir, COMPILED_SUBDIR);
41
+ }
42
+ /**
43
+ * Strip the function-typed `hooks` field so the rest of the scenario
44
+ * round-trips through JSON cleanly. `compileScenario` regenerates hooks
45
+ * from cached source strings (free) or via LLM ($0.10) so the
46
+ * persisted JSON only needs to carry the scenario shape — the hook
47
+ * functions themselves are not directly serializable.
48
+ */
49
+ function stripHooks(scenario) {
50
+ const obj = scenario;
51
+ const { hooks: _hooks, ...rest } = obj;
52
+ return rest;
53
+ }
54
+ /**
55
+ * Strict id validator. Scenario ids in this codebase are kebab-case
56
+ * slugs produced by the compile-from-seed pipeline; values containing
57
+ * path separators or `..` segments are not legitimate ids and would
58
+ * let a caller write/read outside the compiled/ directory. The
59
+ * persist + delete paths run this gate before touching the filesystem.
60
+ */
61
+ function isSafeScenarioId(id) {
62
+ return /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$/.test(id);
63
+ }
64
+ /**
65
+ * Save a compile-from-seed scenario to disk. Caller passes the fully-
66
+ * compiled scenario; we persist a hook-stripped copy plus metadata.
67
+ * Idempotent on the same id (overwrites the previous file).
68
+ *
69
+ * @returns A {@link PersistResult} carrying the path written + the
70
+ * exact meta block stored on disk so callers can mirror it into
71
+ * their own state, or `null` on validation/filesystem failure (we
72
+ * swallow the error, log via console.warn, and let the in-memory
73
+ * catalog continue to serve the live run; persistence is a best-
74
+ * effort enhancement, not a critical path).
75
+ */
76
+ export function persistCompiledScenario(scenarioDir, scenario, seedText) {
77
+ if (!isSafeScenarioId(scenario.id)) {
78
+ console.warn(`[scenarios] refusing to persist scenario with unsafe id: ${JSON.stringify(scenario.id)}`);
79
+ return null;
80
+ }
81
+ try {
82
+ const dir = compiledDir(scenarioDir);
83
+ mkdirSync(dir, { recursive: true });
84
+ const meta = {
85
+ compiledAt: new Date().toISOString(),
86
+ seedText: seedText && seedText.length > 0 ? seedText.slice(0, 1000) : null,
87
+ };
88
+ const payload = {
89
+ ...stripHooks(scenario),
90
+ _persistMeta: meta,
91
+ };
92
+ const filePath = resolve(dir, `${scenario.id}.json`);
93
+ writeFileSync(filePath, JSON.stringify(payload, null, 2));
94
+ enforceCompiledCap(dir, COMPILED_SCENARIOS_CAP);
95
+ return { filePath, meta };
96
+ }
97
+ catch (err) {
98
+ console.warn(`[scenarios] persistCompiledScenario failed for ${scenario.id}:`, err);
99
+ return null;
100
+ }
101
+ }
102
+ /**
103
+ * Read every compiled-draft JSON from the persistence dir. Malformed
104
+ * files are skipped silently — one corrupted entry never blocks the
105
+ * rest of the catalog from loading.
106
+ */
107
+ export function loadPersistedCompiledDrafts(scenarioDir) {
108
+ const dir = compiledDir(scenarioDir);
109
+ if (!existsSync(dir))
110
+ return [];
111
+ const out = [];
112
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
113
+ if (!entry.isFile() || !entry.name.endsWith('.json'))
114
+ continue;
115
+ const filePath = resolve(dir, entry.name);
116
+ try {
117
+ const raw = JSON.parse(readFileSync(filePath, 'utf-8'));
118
+ const id = typeof raw.id === 'string' ? raw.id : null;
119
+ if (!id)
120
+ continue;
121
+ const persistMeta = (raw._persistMeta ?? {});
122
+ // Fall back to file mtime when the on-disk metadata predates the
123
+ // _persistMeta field (e.g. user manually dropped a JSON in this
124
+ // dir without going through persistCompiledScenario).
125
+ const fallbackCompiledAt = (() => {
126
+ try {
127
+ return new Date(statSync(filePath).mtimeMs).toISOString();
128
+ }
129
+ catch {
130
+ return new Date(0).toISOString();
131
+ }
132
+ })();
133
+ const meta = {
134
+ compiledAt: typeof persistMeta.compiledAt === 'string' ? persistMeta.compiledAt : fallbackCompiledAt,
135
+ seedText: typeof persistMeta.seedText === 'string' ? persistMeta.seedText : null,
136
+ };
137
+ // Strip the side-channel field so the draft passed to
138
+ // compileScenario matches the schema it expects.
139
+ const { _persistMeta: _meta, ...draft } = raw;
140
+ out.push({ id, draft, meta });
141
+ }
142
+ catch (err) {
143
+ console.warn(`[scenarios] skipping unreadable draft ${entry.name}:`, err);
144
+ }
145
+ }
146
+ return out;
147
+ }
148
+ /**
149
+ * FIFO eviction once the cap is exceeded. Oldest by mtime drops first.
150
+ * Idempotent and safe to call after every persist — at-cap state is the
151
+ * common case so the function returns quickly when nothing needs
152
+ * eviction.
153
+ */
154
+ function enforceCompiledCap(dir, cap) {
155
+ if (!existsSync(dir))
156
+ return;
157
+ const files = readdirSync(dir, { withFileTypes: true })
158
+ .filter((e) => e.isFile() && e.name.endsWith('.json'))
159
+ .map((e) => {
160
+ const filePath = resolve(dir, e.name);
161
+ return { filePath, mtime: statSync(filePath).mtimeMs };
162
+ })
163
+ .sort((a, b) => a.mtime - b.mtime);
164
+ while (files.length > cap) {
165
+ const drop = files.shift();
166
+ if (!drop)
167
+ break;
168
+ try {
169
+ unlinkSync(drop.filePath);
170
+ }
171
+ catch (err) {
172
+ console.warn(`[scenarios] eviction failed for ${drop.filePath}:`, err);
173
+ }
174
+ }
175
+ }
176
+ /**
177
+ * Remove a persisted draft by id. Returns true when a file was actually
178
+ * deleted, false when no matching file existed or the id failed
179
+ * validation (idempotent for callers that don't pre-check). Used by
180
+ * the future `/scenario/delete` admin surface and by tests; production
181
+ * server-app does not call this on the active path.
182
+ *
183
+ * Path-traversal guard: rejects any id that doesn't match the strict
184
+ * kebab-slug shape AND verifies the resolved file path stays inside
185
+ * the compiled subdir before unlinking. Belt-and-suspenders against
186
+ * future callers that might wire user input through this surface.
187
+ */
188
+ export function deletePersistedCompiledScenario(scenarioDir, id) {
189
+ if (!isSafeScenarioId(id))
190
+ return false;
191
+ const dir = compiledDir(scenarioDir);
192
+ const filePath = resolve(dir, `${id}.json`);
193
+ // Resolve-then-prefix-check defends against any future relaxation
194
+ // of isSafeScenarioId. If the resolved file isn't inside dir, the
195
+ // id was crafted to escape — refuse to delete.
196
+ if (filePath !== resolve(dir, `${id}.json`) || !filePath.startsWith(`${dir}${sep}`)) {
197
+ return false;
198
+ }
199
+ if (!existsSync(filePath))
200
+ return false;
201
+ try {
202
+ unlinkSync(filePath);
203
+ return true;
204
+ }
205
+ catch (err) {
206
+ console.warn(`[scenarios] deletePersistedCompiledScenario failed for ${id}:`, err);
207
+ return false;
208
+ }
209
+ }
210
+ //# sourceMappingURL=persisted-compiled-scenarios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persisted-compiled-scenarios.js","sourceRoot":"","sources":["../../src/cli/persisted-compiled-scenarios.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quickstart-routes.d.ts","sourceRoot":"","sources":["../../src/cli/quickstart-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,oBAAoB,CAAC;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAwGpD,MAAM,WAAW,cAAc;IAC7B;;;;iDAI6C;IAC7C,iBAAiB,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1E,oEAAoE;IACpE,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IAC7D,6EAA6E;IAC7E,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;;kEAG8D;IAC9D,wBAAwB,CAAC,EAAE,CACzB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,KACjG,IAAI,CAAC;IACV;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACvD;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,eAAe,CAAC;CACpC;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAmFD;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA8Ef;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CA0Ff"}
1
+ {"version":3,"file":"quickstart-routes.d.ts","sourceRoot":"","sources":["../../src/cli/quickstart-routes.ts"],"names":[],"mappings":"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"}
@@ -11,16 +11,22 @@ const CompileFromSeedSchema = z.object({
11
11
  seedText: z.string().min(200).max(50_000),
12
12
  domainHint: z.string().max(80).optional(),
13
13
  sourceUrl: z.string().url().max(2048).optional(),
14
- // Number of parallel actors to generate + run. Default 3; max 50.
14
+ // Number of parallel actors to generate + run. Default 3; max 300.
15
15
  // Threaded into generate-actors + the subsequent /setup batch path.
16
16
  // The compiler ignores it; only the dashboard reads it back.
17
- actorCount: z.number().int().min(1).max(50).optional(),
17
+ // Cap raised from 50 once the batch runner gained real concurrency
18
+ // limiting (economics.batch.maxConcurrency) so 300 actors no longer
19
+ // fan out to 300 simultaneous LLM streams.
20
+ actorCount: z.number().int().min(1).max(300).optional(),
18
21
  });
19
22
  const GenerateActorsSchema = z.object({
20
23
  scenarioId: z.string().min(3).max(64),
21
- // Max 50 actors per bundle. Each actor is ~$0.30 LLM spend; the
22
- // SeedInput cost preview surfaces this so users opt in consciously.
23
- count: z.number().int().min(2).max(50).default(3),
24
+ // Max 300 actors per bundle. Each actor is ~$0.30 LLM spend; the
25
+ // SeedInput cost preview surfaces the running total so users opt in
26
+ // consciously. The runtime feeds them through the batch runner with
27
+ // an economics-profile concurrency cap (default 8 in batch mode) so
28
+ // 300 actors land as ~38 batches of 8, not 300 simultaneous calls.
29
+ count: z.number().int().min(2).max(300).default(3),
24
30
  });
25
31
  const GroundScenarioSchema = z.object({
26
32
  scenarioId: z.string().min(3).max(64),