paracosm 0.1.0 → 0.3.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.
Files changed (56) hide show
  1. package/README.md +155 -134
  2. package/dist/cli/sim-config.d.ts +2 -0
  3. package/dist/cli/sim-config.d.ts.map +1 -1
  4. package/dist/cli/sim-config.js +3 -2
  5. package/dist/cli/sim-config.js.map +1 -1
  6. package/dist/engine/compiler/generate-milestones.d.ts +3 -3
  7. package/dist/engine/compiler/generate-milestones.d.ts.map +1 -1
  8. package/dist/engine/compiler/generate-milestones.js.map +1 -1
  9. package/dist/engine/compiler/index.js +2 -2
  10. package/dist/engine/compiler/index.js.map +1 -1
  11. package/dist/engine/compiler/validate.d.ts +1 -1
  12. package/dist/engine/compiler/validate.d.ts.map +1 -1
  13. package/dist/engine/compiler/validate.js.map +1 -1
  14. package/dist/engine/core/kernel.js +2 -2
  15. package/dist/engine/core/kernel.js.map +1 -1
  16. package/dist/engine/core/progression.js +2 -2
  17. package/dist/engine/core/progression.js.map +1 -1
  18. package/dist/engine/core/state.d.ts +6 -2
  19. package/dist/engine/core/state.d.ts.map +1 -1
  20. package/dist/engine/index.d.ts +1 -1
  21. package/dist/engine/index.d.ts.map +1 -1
  22. package/dist/engine/lunar/milestones.d.ts +2 -2
  23. package/dist/engine/lunar/milestones.d.ts.map +1 -1
  24. package/dist/engine/lunar/milestones.js.map +1 -1
  25. package/dist/engine/lunar/progression-hooks.js +2 -2
  26. package/dist/engine/lunar/progression-hooks.js.map +1 -1
  27. package/dist/engine/lunar/prompts.js +2 -2
  28. package/dist/engine/lunar/prompts.js.map +1 -1
  29. package/dist/engine/mars/milestones.d.ts +3 -3
  30. package/dist/engine/mars/milestones.d.ts.map +1 -1
  31. package/dist/engine/mars/milestones.js.map +1 -1
  32. package/dist/engine/mars/progression-hooks.js +2 -2
  33. package/dist/engine/mars/progression-hooks.js.map +1 -1
  34. package/dist/engine/mars/prompts.js +3 -3
  35. package/dist/engine/mars/prompts.js.map +1 -1
  36. package/dist/engine/mars/scenario.json +2 -1
  37. package/dist/engine/types.d.ts +2 -7
  38. package/dist/engine/types.d.ts.map +1 -1
  39. package/dist/runtime/agent-reactions.d.ts.map +1 -1
  40. package/dist/runtime/agent-reactions.js +27 -39
  41. package/dist/runtime/agent-reactions.js.map +1 -1
  42. package/dist/runtime/chat-agents.d.ts +95 -0
  43. package/dist/runtime/chat-agents.d.ts.map +1 -0
  44. package/dist/runtime/chat-agents.js +233 -0
  45. package/dist/runtime/chat-agents.js.map +1 -0
  46. package/dist/runtime/departments.js +5 -5
  47. package/dist/runtime/departments.js.map +1 -1
  48. package/dist/runtime/orchestrator.d.ts +2 -1
  49. package/dist/runtime/orchestrator.d.ts.map +1 -1
  50. package/dist/runtime/orchestrator.js +75 -44
  51. package/dist/runtime/orchestrator.js.map +1 -1
  52. package/dist/runtime/runtime-helpers.d.ts +1 -1
  53. package/dist/runtime/runtime-helpers.d.ts.map +1 -1
  54. package/dist/runtime/runtime-helpers.js +5 -1
  55. package/dist/runtime/runtime-helpers.js.map +1 -1
  56. package/package.json +3 -2
@@ -1,7 +1,7 @@
1
1
  import { writeFileSync, mkdirSync } from 'node:fs';
2
2
  import { resolve, dirname } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
- import { EmergentCapabilityEngine, EmergentJudge, EmergentToolRegistry, ComposableToolBuilder, SandboxedToolForge, ForgeToolMetaTool, generateText, } from '@framers/agentos';
4
+ import { EmergentCapabilityEngine, EmergentJudge, EmergentToolRegistry, ComposableToolBuilder, SandboxedToolForge, ForgeToolMetaTool, generateText, extractJson, } from '@framers/agentos';
5
5
  import { SeededRng } from '../engine/core/rng.js';
6
6
  import { classifyOutcome, classifyOutcomeById } from '../engine/core/progression.js';
7
7
  import { SimulationKernel } from '../engine/core/kernel.js';
@@ -117,7 +117,9 @@ function wrapForgeTool(raw, agentId, sessionId, dept) {
117
117
  try {
118
118
  fixed[k] = JSON.parse(fixed[k]);
119
119
  }
120
- catch { }
120
+ catch (e) {
121
+ console.warn(` [forge] Failed to parse ${k}:`, e);
122
+ }
121
123
  }
122
124
  // Normalize implementation: OpenAI models send "code" instead of "sandbox", may omit allowlist
123
125
  if (fixed.implementation && typeof fixed.implementation === 'object') {
@@ -178,26 +180,6 @@ function wrapForgeTool(raw, agentId, sessionId, dept) {
178
180
  function humanizeToolName(name) {
179
181
  return name.replace(/_v\d+$/, '').replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase());
180
182
  }
181
- /** Extract all top-level JSON objects from a string using balanced brace counting. */
182
- function extractJsonBlocks(text) {
183
- const blocks = [];
184
- let depth = 0, start = -1;
185
- for (let i = 0; i < text.length; i++) {
186
- if (text[i] === '{') {
187
- if (depth === 0)
188
- start = i;
189
- depth++;
190
- }
191
- if (text[i] === '}') {
192
- depth--;
193
- if (depth === 0 && start >= 0) {
194
- blocks.push(text.slice(start, i + 1));
195
- start = -1;
196
- }
197
- }
198
- }
199
- return blocks;
200
- }
201
183
  function cleanSummary(raw) {
202
184
  let s = raw
203
185
  .replace(/^#{1,4}\s+/gm, '')
@@ -230,10 +212,10 @@ function buildReadableSummary(raw, dept) {
230
212
  return `${dept.charAt(0).toUpperCase() + dept.slice(1)} department analysis complete.`;
231
213
  }
232
214
  function parseDeptReport(text, dept) {
233
- const jsonBlocks = extractJsonBlocks(text);
234
- for (const block of jsonBlocks) {
215
+ const jsonStr = extractJson(text);
216
+ if (jsonStr) {
235
217
  try {
236
- const raw = JSON.parse(block);
218
+ const raw = JSON.parse(jsonStr);
237
219
  if (raw.department || raw.summary || raw.risks || raw.recommendedActions) {
238
220
  const report = { ...emptyReport(dept), ...raw, department: dept };
239
221
  report.summary = buildReadableSummary(raw, dept);
@@ -253,15 +235,15 @@ function parseDeptReport(text, dept) {
253
235
  return { ...emptyReport(dept), summary: cleanSummary(text), citations: cites };
254
236
  }
255
237
  function parseCmdDecision(text, depts) {
256
- const jsonBlocks = extractJsonBlocks(text);
257
- for (const block of jsonBlocks) {
238
+ const jsonStr = extractJson(text);
239
+ if (jsonStr) {
258
240
  try {
259
- const raw = JSON.parse(block);
241
+ const raw = JSON.parse(jsonStr);
260
242
  if (raw.decision || raw.selectedOptionId) {
261
243
  return { ...emptyDecision(depts), ...raw };
262
244
  }
263
245
  }
264
- catch { /* try next block */ }
246
+ catch { /* fall through */ }
265
247
  }
266
248
  return { ...emptyDecision(depts), decision: text.slice(0, 500), rationale: text };
267
249
  }
@@ -319,8 +301,27 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
319
301
  const provider = opts.provider ?? 'openai';
320
302
  const sid = `${sc.labels.shortName}-v2-${leader.archetype.toLowerCase().replace(/\s+/g, '-')}`;
321
303
  const modelConfig = resolveSimulationModels(provider, opts.models);
304
+ // Cost tracking: accumulate token usage and estimated cost across all LLM calls
305
+ let totalTokens = 0;
306
+ let totalCostUSD = 0;
307
+ let llmCalls = 0;
308
+ function trackUsage(result) {
309
+ if (result?.usage) {
310
+ totalTokens += result.usage.totalTokens ?? 0;
311
+ llmCalls++;
312
+ if (typeof result.usage.costUSD === 'number') {
313
+ totalCostUSD += result.usage.costUSD;
314
+ }
315
+ else {
316
+ // Estimate cost from tokens if provider doesn't report it (~$0.15/1M input, ~$0.60/1M output for gpt-4o-mini)
317
+ const input = result.usage.promptTokens ?? 0;
318
+ const output = result.usage.completionTokens ?? 0;
319
+ totalCostUSD += (input * 0.00000015) + (output * 0.0000006);
320
+ }
321
+ }
322
+ }
322
323
  const emit = (type, data) => {
323
- opts.onEvent?.({ type, leader: leader.name, data });
324
+ opts.onEvent?.({ type, leader: leader.name, data: { ...data, _cost: { totalTokens, totalCostUSD: Math.round(totalCostUSD * 10000) / 10000, llmCalls } } });
324
325
  };
325
326
  console.log(`\n${'═'.repeat(60)}`);
326
327
  console.log(` ${sc.labels.name.toUpperCase()} v2`);
@@ -347,7 +348,7 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
347
348
  maxSteps: opts.execution?.commanderMaxSteps ?? DEFAULT_EXECUTION.commanderMaxSteps,
348
349
  });
349
350
  const cmdSess = commander.session(`${sid}-cmd`);
350
- await cmdSess.send('You are the colony commander. You receive department reports and make strategic decisions. When the crisis includes options with IDs, you MUST include selectedOptionId in your JSON response. Return JSON with selectedOptionId, decision, rationale, selectedPolicies, rejectedPolicies, expectedTradeoffs, watchMetricsNextTurn. Acknowledge.');
351
+ trackUsage(await cmdSess.send('You are the colony commander. You receive department reports and make strategic decisions. When the crisis includes options with IDs, you MUST include selectedOptionId in your JSON response. Return JSON with selectedOptionId, decision, rationale, selectedPolicies, rejectedPolicies, expectedTradeoffs, watchMetricsNextTurn. Acknowledge.'));
351
352
  // Turn 0: Commander promotes department heads from agent roster
352
353
  console.log(' [Turn 0] Commander evaluating roster for promotions...');
353
354
  const promotionDepts = sc.departments.map(d => d.id);
@@ -361,6 +362,7 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
361
362
  }).join('\n')}`;
362
363
  }).join('\n\n');
363
364
  const promoResult = await cmdSess.send(buildPromotionPrompt(candidateSummaries));
365
+ trackUsage(promoResult);
364
366
  const promoMatch = promoResult.text.match(/\{[\s\S]*"promotions"[\s\S]*\}/);
365
367
  if (promoMatch) {
366
368
  try {
@@ -376,7 +378,9 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
376
378
  }
377
379
  }
378
380
  }
379
- catch { /* fallback below */ }
381
+ catch (e) {
382
+ console.warn(' [promotion] Failed to parse promotion JSON:', e);
383
+ }
380
384
  }
381
385
  // Fallback: promote top candidate per dept if commander didn't produce valid JSON
382
386
  for (const dept of promotionDepts) {
@@ -403,7 +407,7 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
403
407
  const a = agent({
404
408
  provider,
405
409
  model: modelConfig.departments || cfg.defaultModel,
406
- instructions: cfg.instructions,
410
+ instructions: cfg.instructions + '\n\nIMPORTANT: You MUST respond with valid JSON only. No markdown, no prose, no explanation outside the JSON object.',
407
411
  tools,
408
412
  maxSteps: opts.execution?.departmentMaxSteps ?? DEFAULT_EXECUTION.departmentMaxSteps,
409
413
  });
@@ -412,7 +416,7 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
412
416
  }
413
417
  console.log(` Promoted ${promoted.length} department heads. Agents created.\n`);
414
418
  const artifacts = [];
415
- const yearSchedule = buildYearSchedule(startYear, maxTurns);
419
+ const yearSchedule = buildYearSchedule(startYear, maxTurns, opts.yearsPerTurn);
416
420
  const outcomeLog = [];
417
421
  const eventHistory = [];
418
422
  let lastTurnToolOutputs = [];
@@ -426,7 +430,7 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
426
430
  const year = yearSchedule[turn - 1] ?? (yearSchedule[yearSchedule.length - 1] + (turn - yearSchedule.length) * 5);
427
431
  // Get crisis: milestone (turn 1 / final) or emergent (director)
428
432
  let event;
429
- const getMilestone = sc.hooks.getMilestoneEvent ?? sc.hooks.getMilestoneCrisis;
433
+ const getMilestone = sc.hooks.getMilestoneEvent;
430
434
  const milestone = getMilestone?.(turn, maxTurns);
431
435
  if (milestone) {
432
436
  event = { ...milestone, description: milestone.description || milestone.crisis || '' };
@@ -512,7 +516,7 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
512
516
  }
513
517
  }
514
518
  // Departments: from director for emergent, from schedule for milestones
515
- const validDepts = ['medical', 'engineering', 'agriculture', 'psychology', 'governance'];
519
+ const validDepts = sc.departments.map(d => d.id);
516
520
  const rawDepts = milestone ? getDepartmentsForTurn(turn) : event.relevantDepartments;
517
521
  const depts = rawDepts.filter(d => validDepts.includes(d) && activeDepartments.has(d));
518
522
  if (!depts.length)
@@ -526,24 +530,23 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
526
530
  riskSuccessProbability: event.riskSuccessProbability,
527
531
  options: event.options,
528
532
  };
529
- const reports = [];
530
- for (const dept of depts) {
533
+ // Run all departments in parallel for speed
534
+ const deptPromises = depts.map(async (dept) => {
531
535
  const sess = deptSess.get(dept);
532
536
  if (!sess)
533
- continue;
537
+ return emptyReport(dept);
534
538
  const ctx = buildDepartmentContext(dept, state, scenario, packet, deptMemory.get(dept), sc.hooks.departmentPromptHook);
535
539
  console.log(` [${dept}] Analyzing...`);
536
540
  emit('dept_start', { turn, year, department: dept });
537
541
  try {
538
542
  const r = await sess.send(ctx);
543
+ trackUsage(r);
539
544
  const report = parseDeptReport(r.text, dept);
540
- reports.push(report);
541
545
  console.log(` [${dept}] Done: ${report.citations.length} citations, ${report.risks.length} risks, ${report.forgedToolsUsed.length} tools`);
542
546
  const validTools = report.forgedToolsUsed
543
547
  .filter(t => t && (t.name || t.description))
544
548
  .map(t => {
545
549
  const rawOutput = t.output ? (typeof t.output === 'string' ? t.output : JSON.stringify(t.output)) : null;
546
- // Extract input/output field names from output JSON
547
550
  let inputFields = [];
548
551
  let outputFields = [];
549
552
  if (rawOutput) {
@@ -587,12 +590,14 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
587
590
  if (names.length)
588
591
  toolRegs[dept] = [...(toolRegs[dept] || []), ...names];
589
592
  }
593
+ return report;
590
594
  }
591
595
  catch (err) {
592
596
  console.log(` [${dept}] ERROR: ${err}`);
593
- reports.push(emptyReport(dept));
597
+ return emptyReport(dept);
594
598
  }
595
- }
599
+ });
600
+ const reports = await Promise.all(deptPromises);
596
601
  // Collect tool outputs for next turn's director context
597
602
  lastTurnToolOutputs = reports.flatMap(r => (r.forgedToolsUsed || []).filter(t => t?.output).map(t => ({
598
603
  name: t.name || 'unnamed',
@@ -622,6 +627,7 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
622
627
  console.log(` [commander] Deciding...`);
623
628
  emit('commander_deciding', { turn, year });
624
629
  const cmdR = await cmdSess.send(cmdPrompt);
630
+ trackUsage(cmdR);
625
631
  const decision = parseCmdDecision(cmdR.text, depts);
626
632
  console.log(` [commander] ${decision.decision.slice(0, 120)}...`);
627
633
  emit('commander_decided', { turn, year, decision: decision.decision, rationale: decision.rationale, selectedPolicies: decision.selectedPolicies });
@@ -696,8 +702,9 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
696
702
  year, turn, colonyMorale: kernel.getState().colony.morale,
697
703
  colonyPopulation: kernel.getState().colony.population,
698
704
  };
705
+ let reactions = [];
699
706
  try {
700
- const reactions = await generateAgentReactions(kernel.getState().agents, reactionCtx, { provider, model: modelConfig.agentReactions || 'gpt-4o-mini', maxConcurrent: 25, reactionContextHook: sc.hooks.reactionContextHook });
707
+ reactions = await generateAgentReactions(kernel.getState().agents, reactionCtx, { provider, model: modelConfig.agentReactions || 'gpt-4o-mini', maxConcurrent: 25, reactionContextHook: sc.hooks.reactionContextHook });
701
708
  if (reactions.length) {
702
709
  // Emit top 8 most intense reactions for dashboard display
703
710
  // Build memory summaries for display
@@ -773,6 +780,30 @@ export async function runSimulation(leader, keyPersonnel, opts = {}) {
773
780
  });
774
781
  console.log(` State: Pop ${after.colony.population} | Morale ${Math.round(after.colony.morale * 100)}% | Food ${after.colony.foodMonthsReserve.toFixed(1)}mo`);
775
782
  emit('turn_done', { turn, year, colony: after.colony, toolsForged: Object.values(toolRegs).flat().length });
783
+ // Emit full agent roster for colony visualization
784
+ const snapshotAgents = after.agents.map(a => ({
785
+ agentId: a.core.id,
786
+ name: a.core.name,
787
+ department: a.core.department,
788
+ role: a.core.role,
789
+ rank: a.career.rank,
790
+ alive: a.health.alive,
791
+ marsborn: a.core.marsborn,
792
+ psychScore: a.health.psychScore,
793
+ partnerId: a.social.partnerId,
794
+ childrenIds: a.social.childrenIds,
795
+ featured: a.narrative.featured,
796
+ mood: reactions.find(r => r.agentId === a.core.id)?.mood || 'neutral',
797
+ shortTermMemory: (a.memory?.shortTerm || []).slice(-2).map(m => m.content),
798
+ }));
799
+ emit('colony_snapshot', {
800
+ turn, year,
801
+ agents: snapshotAgents,
802
+ population: after.colony.population,
803
+ morale: after.colony.morale,
804
+ foodReserve: after.colony.foodMonthsReserve,
805
+ births, deaths,
806
+ });
776
807
  }
777
808
  const final = kernel.export();
778
809
  // Build colonist trajectories for promoted leaders
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/runtime/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/runtime/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@ export declare function applyCustomEventToCrisis<T extends {
8
8
  title: string;
9
9
  description: string;
10
10
  }>, turn: number): T;
11
- export declare function buildYearSchedule(startYear: number, maxTurns: number): number[];
11
+ export declare function buildYearSchedule(startYear: number, maxTurns: number, yearsPerTurn?: number): number[];
12
12
  //# sourceMappingURL=runtime-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-helpers.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9G,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EACzE,IAAI,EAAE,MAAM,GACX,CAAC,CAkBH;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAM/E"}
1
+ {"version":3,"file":"runtime-helpers.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9G,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EACzE,IAAI,EAAE,MAAM,GACX,CAAC,CAkBH;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAUtG"}
@@ -19,7 +19,11 @@ export function applyCustomEventToCrisis(crisis, customEvents, turn) {
19
19
  : `user event: ${suffix}`,
20
20
  };
21
21
  }
22
- export function buildYearSchedule(startYear, maxTurns) {
22
+ export function buildYearSchedule(startYear, maxTurns, yearsPerTurn) {
23
+ if (yearsPerTurn != null && yearsPerTurn > 0) {
24
+ return Array.from({ length: maxTurns }, (_, i) => startYear + i * yearsPerTurn);
25
+ }
26
+ // Default: accelerating schedule (2, 3, 3, 3, 3, 4, 5, 5, 5, 7, 10 year gaps)
23
27
  const offsets = [0, 2, 5, 8, 11, 14, 18, 23, 28, 33, 40, 50];
24
28
  return Array.from({ length: maxTurns }, (_, index) => {
25
29
  const offset = offsets[index] ?? (offsets[offsets.length - 1] + (index - offsets.length + 1) * 5);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-helpers.js","sourceRoot":"","sources":["../../src/runtime/runtime-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,kBAA0B;IAC7D,OAAO,iMAAiM,kBAAkB,kIAAkI,CAAC;AAC/V,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAS,EACT,YAAyE,EACzE,IAAY;IAEZ,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAEnC,MAAM,QAAQ,GAAG,OAAO;SACrB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;SACjE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC;IAErD,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,OAAO,QAAQ,EAAE;QACnD,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QAC3D,WAAW,EAAE,MAAM,CAAC,WAAW;YAC7B,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,kBAAkB,MAAM,EAAE;YACjD,CAAC,CAAC,eAAe,MAAM,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,QAAgB;IACnE,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClG,OAAO,SAAS,GAAG,MAAM,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"runtime-helpers.js","sourceRoot":"","sources":["../../src/runtime/runtime-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,kBAA0B;IAC7D,OAAO,iMAAiM,kBAAkB,kIAAkI,CAAC;AAC/V,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAS,EACT,YAAyE,EACzE,IAAY;IAEZ,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAEnC,MAAM,QAAQ,GAAG,OAAO;SACrB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;SACjE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC;IAErD,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,OAAO,QAAQ,EAAE;QACnD,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QAC3D,WAAW,EAAE,MAAM,CAAC,WAAW;YAC7B,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,kBAAkB,MAAM,EAAE;YACjD,CAAC,CAAC,eAAe,MAAM,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,QAAgB,EAAE,YAAqB;IAC1F,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAClF,CAAC;IACD,8EAA8E;IAC9E,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClG,OAAO,SAAS,GAAG,MAAM,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paracosm",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "AI agent swarm simulation engine with emergent crises, runtime tool forging, HEXACO personality drift, and deterministic kernels. Built on AgentOS.",
5
5
  "type": "module",
6
6
  "main": "dist/engine/index.js",
@@ -56,7 +56,8 @@
56
56
  "leader:b": "npx tsx src/cli/run-b.ts"
57
57
  },
58
58
  "dependencies": {
59
- "@framers/agentos": "^0.1.219"
59
+ "@framers/agentos": "^0.1.222",
60
+ "@framers/sql-storage-adapter": "^0.6.2"
60
61
  },
61
62
  "devDependencies": {
62
63
  "@types/node": "^25.6.0",