paracosm 0.9.1050 → 0.9.1052

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,5 +1,6 @@
1
1
  import type { KeyPersonnel } from '../engine/core/agent-generator.js';
2
2
  import type { Department } from '../engine/core/state.js';
3
+ import type { ScenarioPackage } from '../engine/types.js';
3
4
  import type { ActorConfig } from './types.js';
4
5
  import { type ResolvedEconomicsProfile, type SimulationEconomicsProfileId } from '../runtime/economics/economics-profile.js';
5
6
  export interface SimulationModelConfig {
@@ -99,6 +100,11 @@ export interface SimulationSetupPayload {
99
100
  * for programmatic consumers (per Spec 2A). Spec 2B.
100
101
  */
101
102
  captureSnapshots?: boolean;
103
+ /**
104
+ * The scenario this body was written for. `/setup` refuses a body whose
105
+ * scenario is no longer the active one (`quickstart.scenarioId` as well).
106
+ */
107
+ scenarioId?: string;
102
108
  /**
103
109
  * Optional Quickstart metadata. When present, the run is a quickstart
104
110
  * session: leaders were LLM-generated from a seed, and the dashboard
@@ -125,8 +131,15 @@ export interface NormalizedSimulationConfig {
125
131
  description: string;
126
132
  }>;
127
133
  keyPersonnel: KeyPersonnel[];
128
- startingResources: StartingResources;
129
- startingPolitics: StartingPolitics;
134
+ /**
135
+ * Only the resource values the payload supplied. The kernel layers its
136
+ * base values, then the scenario's own declarations, then this overlay,
137
+ * so an omitted value is the scenario's (or the engine's), never a
138
+ * number chosen here.
139
+ */
140
+ startingResources: Partial<StartingResources>;
141
+ /** Only the politics values the payload supplied; see startingResources. */
142
+ startingPolitics: Partial<StartingPolitics>;
130
143
  execution: SimulationExecutionConfig;
131
144
  models: SimulationModelConfig;
132
145
  economics: ResolvedEconomicsProfile;
@@ -148,6 +161,13 @@ export interface NormalizedSimulationConfig {
148
161
  scenarioId: string;
149
162
  };
150
163
  }
164
+ /**
165
+ * Mars Genesis's key personnel for the `paracosm run` path, which runs
166
+ * that scenario. `normalizeSimulationConfig` does not use this list: a
167
+ * run's personnel come from its payload or from the scenario's own
168
+ * preset (`scenarioKeyPersonnel`), so a non-Mars scenario never starts
169
+ * with these five.
170
+ */
151
171
  export declare const DEFAULT_KEY_PERSONNEL: KeyPersonnel[];
152
172
  /**
153
173
  * Default model assignments per provider.
@@ -273,5 +293,37 @@ export declare function resolveSimulationModels(provider: LlmProvider, models?:
273
293
  * Whatever the normalizer produced is overwritten here.
274
294
  */
275
295
  export declare function applyDemoCaps(config: NormalizedSimulationConfig): NormalizedSimulationConfig;
276
- export declare function normalizeSimulationConfig(input: SimulationSetupPayload): NormalizedSimulationConfig;
296
+ /**
297
+ * The key personnel a scenario declares for itself: the `personnel` list
298
+ * of its `default` preset, or of its first preset. Mars Genesis and Lunar
299
+ * Outpost declare five each. A scenario that declares none (Atlas Lab)
300
+ * gets an empty list, and the kernel builds the whole roster from the
301
+ * population, with nobody featured until the commander promotes someone.
302
+ */
303
+ export declare function scenarioKeyPersonnel(scenario: ScenarioPackage): KeyPersonnel[];
304
+ /**
305
+ * Turn a `/setup` payload into the config the runners take.
306
+ *
307
+ * Every setup value the payload omits comes from the scenario the run
308
+ * is for: `turns`, `seed`, `startTime`, `timePerTurn` and `population`
309
+ * from `scenario.setup`, and `keyPersonnel` from the scenario's own
310
+ * preset (see `scenarioKeyPersonnel`). Starting resources and politics
311
+ * carry only what the payload supplied, so the kernel's base values and
312
+ * the scenario's declarations stand for the rest. The server passes the
313
+ * active scenario; with none given, the defaults are Mars Genesis's own,
314
+ * read from `scenarios/mars.json`, which is what the CLI runs.
315
+ *
316
+ * A fork continues its parent: an omitted start time and time per turn
317
+ * come from the parent's snapshots, and omitted turns run the scenario's
318
+ * own count past the fork turn, since `turns` is the absolute final turn.
319
+ * A compiled or uploaded scenario can carry a partial setup, so the last
320
+ * fallback for each value is the engine's default. An omitted population
321
+ * is at least one person per department.
322
+ *
323
+ * Before this took a scenario, an omitted field was filled with a Mars
324
+ * value (start time 2035, population 100, the five Mars colonists), so
325
+ * a Quickstart run of Atlas Lab, whose body carries only the leaders,
326
+ * turns and seed, started at "Month 2035" with Mars's people.
327
+ */
328
+ export declare function normalizeSimulationConfig(input: SimulationSetupPayload, scenario?: ScenarioPackage): NormalizedSimulationConfig;
277
329
  //# sourceMappingURL=sim-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-config.d.ts","sourceRoot":"","sources":["../../src/cli/sim-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-config.d.ts","sourceRoot":"","sources":["../../src/cli/sim-config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
+ import { marsScenario } from '../engine/scenarios/index.js';
2
+ import { buildTimeSchedule } from '../runtime/util/runtime-helpers.js';
1
3
  import { resolveEconomicsProfile, } from '../runtime/economics/economics-profile.js';
4
+ /**
5
+ * Mars Genesis's key personnel for the `paracosm run` path, which runs
6
+ * that scenario. `normalizeSimulationConfig` does not use this list: a
7
+ * run's personnel come from its payload or from the scenario's own
8
+ * preset (`scenarioKeyPersonnel`), so a non-Mars scenario never starts
9
+ * with these five.
10
+ */
2
11
  export const DEFAULT_KEY_PERSONNEL = [
3
12
  { name: 'Dr. Yuki Tanaka', department: 'medical', role: 'Chief Medical Officer', specialization: 'Radiation Medicine', age: 38, featured: true },
4
13
  { name: 'Erik Lindqvist', department: 'engineering', role: 'Chief Engineer', specialization: 'Structural Engineering', age: 45, featured: true },
@@ -194,7 +203,6 @@ export const DEMO_EXECUTION = {
194
203
  maxPopulation: 30,
195
204
  maxActiveDepartments: 3,
196
205
  };
197
- const DEFAULT_ACTIVE_DEPARTMENTS = ['medical', 'engineering', 'agriculture', 'psychology', 'governance'];
198
206
  export function inferProviderFromModel(model) {
199
207
  if (!model)
200
208
  return undefined;
@@ -272,17 +280,34 @@ function normalizeCustomEvents(input) {
272
280
  }))
273
281
  .sort((a, b) => a.turn - b.turn);
274
282
  }
275
- function normalizeActiveDepartments(input) {
283
+ /**
284
+ * The departments the run keeps active, in the scenario's own order.
285
+ * With none requested, or none the scenario declares, all of the
286
+ * scenario's departments; otherwise the requested ones it declares, plus
287
+ * medical and engineering
288
+ * whenever the scenario declares them (the Mars Genesis rule, kept for
289
+ * the scenarios that have those departments). The orchestrator runs an
290
+ * event's departments only when they are active, so a list from another
291
+ * scenario would match none of them.
292
+ */
293
+ function normalizeActiveDepartments(input, scenario) {
294
+ const declared = scenario.departments.map(d => d.id);
276
295
  if (!Array.isArray(input) || input.length === 0) {
277
- return [...DEFAULT_ACTIVE_DEPARTMENTS];
296
+ return declared;
278
297
  }
279
- const requested = input;
280
- const active = new Set(['medical', 'engineering']);
281
- for (const dept of requested) {
282
- if (DEFAULT_ACTIVE_DEPARTMENTS.includes(dept))
298
+ const active = new Set();
299
+ for (const dept of input) {
300
+ if (declared.includes(dept))
283
301
  active.add(dept);
284
302
  }
285
- return DEFAULT_ACTIVE_DEPARTMENTS.filter(dept => active.has(dept));
303
+ // A list from another scenario names none of this one's departments.
304
+ if (active.size === 0)
305
+ return declared;
306
+ for (const dept of ['medical', 'engineering']) {
307
+ if (declared.includes(dept))
308
+ active.add(dept);
309
+ }
310
+ return declared.filter(dept => active.has(dept));
286
311
  }
287
312
  /**
288
313
  * Apply demo-mode caps to an already-normalized sim config.
@@ -333,7 +358,131 @@ export function applyDemoCaps(config) {
333
358
  models: economics.models,
334
359
  };
335
360
  }
336
- export function normalizeSimulationConfig(input) {
361
+ /**
362
+ * The key personnel a scenario declares for itself: the `personnel` list
363
+ * of its `default` preset, or of its first preset. Mars Genesis and Lunar
364
+ * Outpost declare five each. A scenario that declares none (Atlas Lab)
365
+ * gets an empty list, and the kernel builds the whole roster from the
366
+ * population, with nobody featured until the commander promotes someone.
367
+ */
368
+ export function scenarioKeyPersonnel(scenario) {
369
+ const presets = scenario.presets ?? [];
370
+ const preset = presets.find(p => p.id === 'default') ?? presets[0];
371
+ return (preset?.personnel ?? []).map(p => ({
372
+ name: p.name,
373
+ department: p.department,
374
+ role: p.role,
375
+ specialization: p.specialization,
376
+ age: p.age,
377
+ featured: p.featured,
378
+ }));
379
+ }
380
+ /**
381
+ * The starting resources the payload supplied, in the kernel's field
382
+ * names, and nothing else: an omitted value stays undefined so the
383
+ * kernel's base value or the scenario's declaration stands. Morale
384
+ * arrives as a percentage and is stored as a fraction.
385
+ */
386
+ function suppliedStartingResources(input) {
387
+ const out = {};
388
+ if (!input)
389
+ return out;
390
+ if (input.food != null)
391
+ out.foodMonthsReserve = input.food;
392
+ if (input.water != null)
393
+ out.waterLitersPerDay = input.water;
394
+ if (input.power != null)
395
+ out.powerKw = input.power;
396
+ if (input.morale != null)
397
+ out.morale = input.morale / 100;
398
+ if (input.pressurizedVolumeM3 != null)
399
+ out.pressurizedVolumeM3 = input.pressurizedVolumeM3;
400
+ if (input.lifeSupportCapacity != null)
401
+ out.lifeSupportCapacity = input.lifeSupportCapacity;
402
+ if (input.infrastructureModules != null)
403
+ out.infrastructureModules = input.infrastructureModules;
404
+ if (input.scienceOutput != null)
405
+ out.scienceOutput = input.scienceOutput;
406
+ return out;
407
+ }
408
+ /** The starting politics the payload supplied, and nothing else; see suppliedStartingResources. */
409
+ function suppliedStartingPolitics(input) {
410
+ const out = {};
411
+ if (input?.earthDependencyPct != null)
412
+ out.earthDependencyPct = input.earthDependencyPct;
413
+ return out;
414
+ }
415
+ /**
416
+ * The timeline of the run a fork resumes, read from its per-turn kernel
417
+ * snapshots: the start time they carry and the step that puts every
418
+ * snapshot at the time it ran at. The scenario's own schedule comes first
419
+ * and is left to the caller's fallback, since a short segment can fit a
420
+ * fixed step and the accelerating schedule alike. Then a fixed step, then
421
+ * 0, which selects the accelerating schedule. A fork's schedule has to
422
+ * continue from the snapshot's time, and a parent can have started
423
+ * anywhere: a saved run, a start time chosen in Settings. The parent is
424
+ * not validated yet when this runs (the fork validator does that next),
425
+ * so a field that is not a number, a turn that is not whole and a turn
426
+ * above MAX_FORK_SNAPSHOT_TURN are left out.
427
+ */
428
+ /**
429
+ * The highest snapshot turn forkParentTimeline reads, well above any real
430
+ * run's length. The step check builds one schedule entry per turn up to
431
+ * the last snapshot's turn, before the fork validator has seen the body.
432
+ */
433
+ const MAX_FORK_SNAPSHOT_TURN = 10_000;
434
+ function forkParentTimeline(forkFrom, scenarioTimePerTurn) {
435
+ const snapshots = forkFrom?.parentArtifact?.scenarioExtensions
436
+ ?.kernelSnapshotsPerTurn;
437
+ if (!Array.isArray(snapshots))
438
+ return {};
439
+ const ticks = snapshots
440
+ .filter((s) => typeof s?.turn === 'number' && Number.isInteger(s.turn) && s.turn >= 1 && s.turn <= MAX_FORK_SNAPSHOT_TURN
441
+ && typeof s?.time === 'number')
442
+ .sort((a, b) => a.turn - b.turn);
443
+ const [first, second] = ticks;
444
+ if (!first || typeof first.startTime !== 'number')
445
+ return {};
446
+ const startTime = first.startTime;
447
+ const fits = (timePerTurn) => {
448
+ const schedule = buildTimeSchedule(startTime, ticks[ticks.length - 1].turn, timePerTurn);
449
+ return ticks.every(tick => Math.abs(schedule[tick.turn - 1] - tick.time) < 1e-6);
450
+ };
451
+ // The orchestrator's own default when a scenario declares no step.
452
+ if (fits(scenarioTimePerTurn ?? 1))
453
+ return { startTime };
454
+ const step = second
455
+ ? (second.time - first.time) / (second.turn - first.turn)
456
+ : first.turn > 1 ? (first.time - startTime) / (first.turn - 1) : undefined;
457
+ if (step !== undefined && Number.isFinite(step) && step > 0 && fits(step))
458
+ return { startTime, timePerTurn: step };
459
+ return { startTime, timePerTurn: 0 };
460
+ }
461
+ /**
462
+ * Turn a `/setup` payload into the config the runners take.
463
+ *
464
+ * Every setup value the payload omits comes from the scenario the run
465
+ * is for: `turns`, `seed`, `startTime`, `timePerTurn` and `population`
466
+ * from `scenario.setup`, and `keyPersonnel` from the scenario's own
467
+ * preset (see `scenarioKeyPersonnel`). Starting resources and politics
468
+ * carry only what the payload supplied, so the kernel's base values and
469
+ * the scenario's declarations stand for the rest. The server passes the
470
+ * active scenario; with none given, the defaults are Mars Genesis's own,
471
+ * read from `scenarios/mars.json`, which is what the CLI runs.
472
+ *
473
+ * A fork continues its parent: an omitted start time and time per turn
474
+ * come from the parent's snapshots, and omitted turns run the scenario's
475
+ * own count past the fork turn, since `turns` is the absolute final turn.
476
+ * A compiled or uploaded scenario can carry a partial setup, so the last
477
+ * fallback for each value is the engine's default. An omitted population
478
+ * is at least one person per department.
479
+ *
480
+ * Before this took a scenario, an omitted field was filled with a Mars
481
+ * value (start time 2035, population 100, the five Mars colonists), so
482
+ * a Quickstart run of Atlas Lab, whose body carries only the leaders,
483
+ * turns and seed, started at "Month 2035" with Mars's people.
484
+ */
485
+ export function normalizeSimulationConfig(input, scenario = marsScenario) {
337
486
  // Fork setup takes exactly one actor (the override for the forked
338
487
  // branch). Regular pair setup takes exactly two and dispatches to
339
488
  // runPairSimulations with verdict comparison. Swarm setups (3+
@@ -379,7 +528,10 @@ export function normalizeSimulationConfig(input) {
379
528
  inferProviderFromModel(input.models?.departments) ??
380
529
  inferProviderFromModel(input.models?.judge) ??
381
530
  'openai';
382
- const startTime = input.startTime ?? 2035;
531
+ const { setup } = scenario;
532
+ const forkTimeline = forkParentTimeline(input.forkFrom, setup.defaultTimePerTurn);
533
+ const startTime = input.startTime ?? forkTimeline.startTime ?? setup.defaultStartTime ?? 0;
534
+ const scenarioTurns = setup.defaultTurns ?? 12;
383
535
  const economics = resolveEconomicsProfile({
384
536
  profileId: input.economics?.profileId,
385
537
  provider: inferredProvider,
@@ -390,28 +542,20 @@ export function normalizeSimulationConfig(input) {
390
542
  return {
391
543
  actors: input.actors,
392
544
  provider: inferredProvider,
393
- turns: input.turns ?? 12,
394
- seed: input.seed ?? 950,
545
+ turns: input.turns ?? (input.forkFrom ? input.forkFrom.atTurn + scenarioTurns : scenarioTurns),
546
+ seed: input.seed ?? setup.defaultSeed ?? 42,
395
547
  startTime,
396
- timePerTurn: input.timePerTurn,
397
- initialPopulation: input.population ?? 100,
548
+ timePerTurn: input.timePerTurn ?? forkTimeline.timePerTurn ?? setup.defaultTimePerTurn,
549
+ // Each person heads at most one department, so a roster smaller than
550
+ // the department list leaves the rest without a report. A population
551
+ // the body names stays the person's own choice.
552
+ initialPopulation: input.population ?? Math.max(setup.defaultPopulation ?? 100, scenario.departments.length),
398
553
  liveSearch: economics.search.mode === 'off' ? false : (input.liveSearch ?? false),
399
- activeDepartments: normalizeActiveDepartments(input.activeDepartments),
554
+ activeDepartments: normalizeActiveDepartments(input.activeDepartments, scenario),
400
555
  customEvents: normalizeCustomEvents(input.customEvents),
401
- keyPersonnel: input.keyPersonnel?.length ? input.keyPersonnel : DEFAULT_KEY_PERSONNEL,
402
- startingResources: {
403
- foodMonthsReserve: input.startingResources?.food ?? 18,
404
- waterLitersPerDay: input.startingResources?.water ?? 800,
405
- powerKw: input.startingResources?.power ?? 400,
406
- morale: (input.startingResources?.morale ?? 85) / 100,
407
- pressurizedVolumeM3: input.startingResources?.pressurizedVolumeM3 ?? 3000,
408
- lifeSupportCapacity: input.startingResources?.lifeSupportCapacity ?? 120,
409
- infrastructureModules: input.startingResources?.infrastructureModules ?? 3,
410
- scienceOutput: input.startingResources?.scienceOutput ?? 0,
411
- },
412
- startingPolitics: {
413
- earthDependencyPct: input.startingPolitics?.earthDependencyPct ?? 95,
414
- },
556
+ keyPersonnel: input.keyPersonnel?.length ? input.keyPersonnel : scenarioKeyPersonnel(scenario),
557
+ startingResources: suppliedStartingResources(input.startingResources),
558
+ startingPolitics: suppliedStartingPolitics(input.startingPolitics),
415
559
  execution: {
416
560
  commanderMaxSteps: input.execution?.commanderMaxSteps ?? DEFAULT_EXECUTION.commanderMaxSteps,
417
561
  departmentMaxSteps: input.execution?.departmentMaxSteps ?? DEFAULT_EXECUTION.departmentMaxSteps,
@@ -1 +1 @@
1
- {"version":3,"file":"sim-config.js","sourceRoot":"","sources":["../../src/cli/sim-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-config.js","sourceRoot":"","sources":["../../src/cli/sim-config.ts"],"names":[],"mappings":"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"}