paracosm 0.4.346 → 0.4.377
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 +186 -14
- package/config/leaders.example.json +32 -0
- package/config/leaders.json +32 -0
- package/dist/cli/cli-run-options.d.ts +11 -0
- package/dist/cli/cli-run-options.d.ts.map +1 -0
- package/dist/cli/cli-run-options.js +39 -0
- package/dist/cli/cli-run-options.js.map +1 -0
- package/dist/cli/compile-cli-options.d.ts +14 -0
- package/dist/cli/compile-cli-options.d.ts.map +1 -0
- package/dist/cli/compile-cli-options.js +48 -0
- package/dist/cli/compile-cli-options.js.map +1 -0
- package/dist/cli/compile.d.ts +11 -0
- package/dist/cli/compile.d.ts.map +1 -0
- package/dist/cli/compile.js +92 -0
- package/dist/cli/compile.js.map +1 -0
- package/dist/cli/custom-scenarios.d.ts +10 -0
- package/dist/cli/custom-scenarios.d.ts.map +1 -0
- package/dist/cli/custom-scenarios.js +93 -0
- package/dist/cli/custom-scenarios.js.map +1 -0
- package/dist/cli/leaders-resolver.d.ts +26 -0
- package/dist/cli/leaders-resolver.d.ts.map +1 -0
- package/dist/cli/leaders-resolver.js +66 -0
- package/dist/cli/leaders-resolver.js.map +1 -0
- package/dist/cli/pair-runner.d.ts +23 -0
- package/dist/cli/pair-runner.d.ts.map +1 -0
- package/dist/cli/pair-runner.js +225 -0
- package/dist/cli/pair-runner.js.map +1 -0
- package/dist/cli/rate-limiter.d.ts +78 -0
- package/dist/cli/rate-limiter.d.ts.map +1 -0
- package/dist/cli/rate-limiter.js +193 -0
- package/dist/cli/rate-limiter.js.map +1 -0
- package/dist/cli/retry-stats.d.ts +179 -0
- package/dist/cli/retry-stats.d.ts.map +1 -0
- package/dist/cli/retry-stats.js +167 -0
- package/dist/cli/retry-stats.js.map +1 -0
- package/dist/cli/run-a.d.ts +2 -0
- package/dist/cli/run-a.d.ts.map +1 -0
- package/dist/cli/run-a.js +13 -0
- package/dist/cli/run-a.js.map +1 -0
- package/dist/cli/run-b.d.ts +2 -0
- package/dist/cli/run-b.d.ts.map +1 -0
- package/dist/cli/run-b.js +13 -0
- package/dist/cli/run-b.js.map +1 -0
- package/dist/cli/run.d.ts +18 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +135 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/serve.d.ts +10 -0
- package/dist/cli/serve.d.ts.map +1 -0
- package/dist/cli/serve.js +71 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/server/routes/platform-api.d.ts +8 -0
- package/dist/cli/server/routes/platform-api.d.ts.map +1 -0
- package/dist/cli/server/routes/platform-api.js +41 -0
- package/dist/cli/server/routes/platform-api.js.map +1 -0
- package/dist/cli/server/routes/public-demo.d.ts +4 -0
- package/dist/cli/server/routes/public-demo.d.ts.map +1 -0
- package/dist/cli/server/routes/public-demo.js +16 -0
- package/dist/cli/server/routes/public-demo.js.map +1 -0
- package/dist/cli/server/run-history-store.d.ts +8 -0
- package/dist/cli/server/run-history-store.d.ts.map +1 -0
- package/dist/cli/server/run-history-store.js +8 -0
- package/dist/cli/server/run-history-store.js.map +1 -0
- package/dist/cli/server/run-record.d.ts +14 -0
- package/dist/cli/server/run-record.d.ts.map +1 -0
- package/dist/cli/server/run-record.js +12 -0
- package/dist/cli/server/run-record.js.map +1 -0
- package/dist/cli/server/server-mode.d.ts +3 -0
- package/dist/cli/server/server-mode.d.ts.map +1 -0
- package/dist/cli/server/server-mode.js +8 -0
- package/dist/cli/server/server-mode.js.map +1 -0
- package/dist/cli/server-app.d.ts +46 -0
- package/dist/cli/server-app.d.ts.map +1 -0
- package/dist/cli/server-app.js +1846 -0
- package/dist/cli/server-app.js.map +1 -0
- package/dist/cli/session-store.d.ts +103 -0
- package/dist/cli/session-store.d.ts.map +1 -0
- package/dist/cli/session-store.js +254 -0
- package/dist/cli/session-store.js.map +1 -0
- package/dist/cli/session-title.d.ts +81 -0
- package/dist/cli/session-title.d.ts.map +1 -0
- package/dist/cli/session-title.js +229 -0
- package/dist/cli/session-title.js.map +1 -0
- package/dist/cli/sim-config.d.ts.map +1 -0
- package/dist/cli/sim-config.js.map +1 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/{src/cli → cli}/types.js.map +1 -1
- package/dist/engine/_template/index.d.ts.map +1 -0
- package/dist/engine/_template/index.js.map +1 -0
- package/dist/engine/compiler/cache.d.ts.map +1 -0
- package/dist/engine/compiler/cache.js.map +1 -0
- package/dist/engine/compiler/generate-director.d.ts.map +1 -0
- package/dist/engine/compiler/generate-director.js.map +1 -0
- package/dist/engine/compiler/generate-fingerprint.d.ts.map +1 -0
- package/dist/engine/compiler/generate-fingerprint.js.map +1 -0
- package/dist/engine/compiler/generate-milestones.d.ts.map +1 -0
- package/dist/engine/compiler/generate-milestones.js.map +1 -0
- package/dist/engine/compiler/generate-politics.d.ts.map +1 -0
- package/dist/engine/compiler/generate-politics.js.map +1 -0
- package/dist/engine/compiler/generate-progression.d.ts.map +1 -0
- package/dist/engine/compiler/generate-progression.js.map +1 -0
- package/dist/engine/compiler/generate-prompts.d.ts.map +1 -0
- package/dist/engine/compiler/generate-prompts.js.map +1 -0
- package/dist/engine/compiler/generate-reactions.d.ts.map +1 -0
- package/dist/engine/compiler/generate-reactions.js.map +1 -0
- package/dist/engine/compiler/index.d.ts.map +1 -0
- package/dist/engine/compiler/index.js.map +1 -0
- package/dist/engine/compiler/llm-invocations/generateValidatedCode.d.ts.map +1 -0
- package/dist/engine/compiler/llm-invocations/generateValidatedCode.js.map +1 -0
- package/dist/engine/compiler/llm-invocations/generateValidatedJson.d.ts.map +1 -0
- package/dist/engine/compiler/llm-invocations/generateValidatedJson.js.map +1 -0
- package/dist/engine/compiler/llm-invocations/generateValidatedObject.d.ts.map +1 -0
- package/dist/engine/compiler/llm-invocations/generateValidatedObject.js.map +1 -0
- package/dist/engine/compiler/llm-invocations/generateValidatedProse.d.ts.map +1 -0
- package/dist/engine/compiler/llm-invocations/generateValidatedProse.js.map +1 -0
- package/dist/engine/compiler/schemas/index.d.ts.map +1 -0
- package/dist/engine/compiler/schemas/index.js.map +1 -0
- package/dist/engine/compiler/schemas/milestones.d.ts.map +1 -0
- package/dist/engine/compiler/schemas/milestones.js.map +1 -0
- package/dist/engine/compiler/seed-ingestion.d.ts.map +1 -0
- package/dist/engine/compiler/seed-ingestion.js.map +1 -0
- package/dist/engine/compiler/telemetry.d.ts.map +1 -0
- package/dist/engine/compiler/telemetry.js.map +1 -0
- package/dist/engine/compiler/types.d.ts.map +1 -0
- package/dist/engine/compiler/types.js.map +1 -0
- package/dist/engine/compiler/validate.d.ts.map +1 -0
- package/dist/engine/compiler/validate.js.map +1 -0
- package/dist/engine/core/agent-generator.d.ts.map +1 -0
- package/dist/engine/core/agent-generator.js.map +1 -0
- package/dist/engine/core/kernel.d.ts.map +1 -0
- package/dist/engine/core/kernel.js.map +1 -0
- package/dist/engine/core/progression.d.ts.map +1 -0
- package/dist/engine/core/progression.js.map +1 -0
- package/dist/engine/core/rng.d.ts.map +1 -0
- package/dist/engine/core/rng.js.map +1 -0
- package/dist/engine/core/state.d.ts.map +1 -0
- package/dist/engine/core/state.js.map +1 -0
- package/dist/engine/effect-registry.d.ts.map +1 -0
- package/dist/engine/effect-registry.js.map +1 -0
- package/dist/engine/event-taxonomy.d.ts.map +1 -0
- package/dist/engine/event-taxonomy.js.map +1 -0
- package/dist/{src/engine → engine}/index.d.ts +2 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/{src/engine → engine}/index.js +5 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/lunar/effects.d.ts.map +1 -0
- package/dist/engine/lunar/effects.js.map +1 -0
- package/dist/engine/lunar/events.d.ts.map +1 -0
- package/dist/engine/lunar/events.js.map +1 -0
- package/dist/engine/lunar/fingerprint.d.ts.map +1 -0
- package/dist/engine/lunar/fingerprint.js.map +1 -0
- package/dist/engine/lunar/hooks.d.ts.map +1 -0
- package/dist/engine/lunar/hooks.js.map +1 -0
- package/dist/engine/lunar/index.d.ts.map +1 -0
- package/dist/engine/lunar/index.js.map +1 -0
- package/dist/engine/lunar/metrics.d.ts.map +1 -0
- package/dist/engine/lunar/metrics.js.map +1 -0
- package/dist/engine/lunar/milestones.d.ts.map +1 -0
- package/dist/engine/lunar/milestones.js.map +1 -0
- package/dist/engine/lunar/names.d.ts.map +1 -0
- package/dist/engine/lunar/names.js.map +1 -0
- package/dist/engine/lunar/politics.d.ts.map +1 -0
- package/dist/engine/lunar/politics.js.map +1 -0
- package/dist/engine/lunar/presets.d.ts.map +1 -0
- package/dist/engine/lunar/presets.js.map +1 -0
- package/dist/engine/lunar/progression-hooks.d.ts.map +1 -0
- package/dist/engine/lunar/progression-hooks.js.map +1 -0
- package/dist/engine/lunar/prompts.d.ts.map +1 -0
- package/dist/engine/lunar/prompts.js.map +1 -0
- package/dist/engine/lunar/reactions.d.ts.map +1 -0
- package/dist/engine/lunar/reactions.js.map +1 -0
- package/dist/engine/lunar/research-bundle.d.ts.map +1 -0
- package/dist/engine/lunar/research-bundle.js.map +1 -0
- package/dist/engine/mars/effects.d.ts.map +1 -0
- package/dist/engine/mars/effects.js.map +1 -0
- package/dist/engine/mars/events.d.ts.map +1 -0
- package/dist/engine/mars/events.js.map +1 -0
- package/dist/engine/mars/fingerprint.d.ts.map +1 -0
- package/dist/engine/mars/fingerprint.js.map +1 -0
- package/dist/engine/mars/hooks.d.ts.map +1 -0
- package/dist/engine/mars/hooks.js.map +1 -0
- package/dist/engine/mars/index.d.ts.map +1 -0
- package/dist/engine/mars/index.js.map +1 -0
- package/dist/engine/mars/metrics.d.ts.map +1 -0
- package/dist/engine/mars/metrics.js.map +1 -0
- package/dist/engine/mars/milestones.d.ts.map +1 -0
- package/dist/engine/mars/milestones.js.map +1 -0
- package/dist/engine/mars/names.d.ts.map +1 -0
- package/dist/engine/mars/names.js.map +1 -0
- package/dist/engine/mars/politics.d.ts.map +1 -0
- package/dist/engine/mars/politics.js.map +1 -0
- package/dist/engine/mars/presets.d.ts.map +1 -0
- package/dist/engine/mars/presets.js.map +1 -0
- package/dist/engine/mars/progression-hooks.d.ts.map +1 -0
- package/dist/engine/mars/progression-hooks.js.map +1 -0
- package/dist/engine/mars/prompts.d.ts.map +1 -0
- package/dist/engine/mars/prompts.js.map +1 -0
- package/dist/engine/mars/reactions.d.ts.map +1 -0
- package/dist/engine/mars/reactions.js.map +1 -0
- package/dist/engine/mars/research-bundle.d.ts.map +1 -0
- package/dist/engine/mars/research-bundle.js.map +1 -0
- package/dist/engine/metric-registry.d.ts.map +1 -0
- package/dist/engine/metric-registry.js.map +1 -0
- package/dist/engine/provider-resolver.d.ts.map +1 -0
- package/dist/{src/engine → engine}/provider-resolver.js +2 -1
- package/dist/engine/provider-resolver.js.map +1 -0
- package/dist/engine/types.d.ts.map +1 -0
- package/dist/{src/engine → engine}/types.js.map +1 -1
- package/dist/runtime/agent-memory.d.ts.map +1 -0
- package/dist/runtime/agent-memory.js.map +1 -0
- package/dist/runtime/agent-reactions.d.ts.map +1 -0
- package/dist/runtime/agent-reactions.js.map +1 -0
- package/dist/runtime/batch.d.ts.map +1 -0
- package/dist/runtime/batch.js.map +1 -0
- package/dist/runtime/chat-agents.d.ts.map +1 -0
- package/dist/runtime/chat-agents.js.map +1 -0
- package/dist/runtime/citations-catalog.d.ts.map +1 -0
- package/dist/runtime/citations-catalog.js.map +1 -0
- package/dist/runtime/commander-setup.d.ts.map +1 -0
- package/dist/runtime/commander-setup.js.map +1 -0
- package/dist/runtime/contracts.d.ts.map +1 -0
- package/dist/{src/runtime → runtime}/contracts.js.map +1 -1
- package/dist/runtime/cost-tracker.d.ts.map +1 -0
- package/dist/runtime/cost-tracker.js.map +1 -0
- package/dist/runtime/departments.d.ts.map +1 -0
- package/dist/runtime/departments.js.map +1 -0
- package/dist/runtime/director.d.ts.map +1 -0
- package/dist/runtime/director.js.map +1 -0
- package/dist/runtime/economics-profile.d.ts.map +1 -0
- package/dist/runtime/economics-profile.js.map +1 -0
- package/dist/runtime/emergent-setup.d.ts.map +1 -0
- package/dist/runtime/emergent-setup.js.map +1 -0
- package/dist/runtime/generic-fingerprint.d.ts.map +1 -0
- package/dist/runtime/generic-fingerprint.js.map +1 -0
- package/dist/runtime/hexaco-cues/trajectory.d.ts.map +1 -0
- package/dist/runtime/hexaco-cues/trajectory.js.map +1 -0
- package/dist/runtime/hexaco-cues/translation.d.ts.map +1 -0
- package/dist/runtime/hexaco-cues/translation.js.map +1 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/llm-invocations/generateValidatedObject.d.ts.map +1 -0
- package/dist/runtime/llm-invocations/generateValidatedObject.js.map +1 -0
- package/dist/runtime/llm-invocations/sendAndValidate.d.ts.map +1 -0
- package/dist/runtime/llm-invocations/sendAndValidate.js.map +1 -0
- package/dist/runtime/orchestrator.d.ts.map +1 -0
- package/dist/runtime/orchestrator.js.map +1 -0
- package/dist/runtime/output-writer.d.ts.map +1 -0
- package/dist/runtime/output-writer.js.map +1 -0
- package/dist/runtime/parsers.d.ts.map +1 -0
- package/dist/runtime/parsers.js.map +1 -0
- package/dist/runtime/pricing.d.ts.map +1 -0
- package/dist/runtime/pricing.js.map +1 -0
- package/dist/runtime/provider-errors.d.ts.map +1 -0
- package/dist/runtime/provider-errors.js.map +1 -0
- package/dist/runtime/reaction-step.d.ts.map +1 -0
- package/dist/runtime/reaction-step.js.map +1 -0
- package/dist/runtime/research/knowledge-base.d.ts.map +1 -0
- package/dist/runtime/research/knowledge-base.js.map +1 -0
- package/dist/runtime/research/research-memory.d.ts.map +1 -0
- package/dist/runtime/research/research-memory.js.map +1 -0
- package/dist/runtime/research/research.d.ts.map +1 -0
- package/dist/runtime/research/research.js.map +1 -0
- package/dist/runtime/research/scenario-research.d.ts.map +1 -0
- package/dist/runtime/research/scenario-research.js.map +1 -0
- package/dist/runtime/research/scenarios.d.ts.map +1 -0
- package/dist/runtime/research/scenarios.js.map +1 -0
- package/dist/runtime/runtime-helpers.d.ts.map +1 -0
- package/dist/runtime/runtime-helpers.js.map +1 -0
- package/dist/runtime/schemas/commander.d.ts.map +1 -0
- package/dist/runtime/schemas/commander.js.map +1 -0
- package/dist/runtime/schemas/department.d.ts.map +1 -0
- package/dist/runtime/schemas/department.js.map +1 -0
- package/dist/runtime/schemas/director.d.ts.map +1 -0
- package/dist/runtime/schemas/director.js.map +1 -0
- package/dist/runtime/schemas/index.d.ts.map +1 -0
- package/dist/runtime/schemas/index.js.map +1 -0
- package/dist/runtime/schemas/reactions.d.ts.map +1 -0
- package/dist/runtime/schemas/reactions.js.map +1 -0
- package/dist/runtime/schemas/verdict.d.ts.map +1 -0
- package/dist/runtime/schemas/verdict.js.map +1 -0
- package/dist/runtime/tool-ledger.d.ts.map +1 -0
- package/dist/runtime/tool-ledger.js.map +1 -0
- package/package.json +8 -2
- package/dist/src/cli/sim-config.d.ts.map +0 -1
- package/dist/src/cli/sim-config.js.map +0 -1
- package/dist/src/cli/types.d.ts.map +0 -1
- package/dist/src/engine/_template/index.d.ts.map +0 -1
- package/dist/src/engine/_template/index.js.map +0 -1
- package/dist/src/engine/compiler/cache.d.ts.map +0 -1
- package/dist/src/engine/compiler/cache.js.map +0 -1
- package/dist/src/engine/compiler/generate-director.d.ts.map +0 -1
- package/dist/src/engine/compiler/generate-director.js.map +0 -1
- package/dist/src/engine/compiler/generate-fingerprint.d.ts.map +0 -1
- package/dist/src/engine/compiler/generate-fingerprint.js.map +0 -1
- package/dist/src/engine/compiler/generate-milestones.d.ts.map +0 -1
- package/dist/src/engine/compiler/generate-milestones.js.map +0 -1
- package/dist/src/engine/compiler/generate-politics.d.ts.map +0 -1
- package/dist/src/engine/compiler/generate-politics.js.map +0 -1
- package/dist/src/engine/compiler/generate-progression.d.ts.map +0 -1
- package/dist/src/engine/compiler/generate-progression.js.map +0 -1
- package/dist/src/engine/compiler/generate-prompts.d.ts.map +0 -1
- package/dist/src/engine/compiler/generate-prompts.js.map +0 -1
- package/dist/src/engine/compiler/generate-reactions.d.ts.map +0 -1
- package/dist/src/engine/compiler/generate-reactions.js.map +0 -1
- package/dist/src/engine/compiler/index.d.ts.map +0 -1
- package/dist/src/engine/compiler/index.js.map +0 -1
- package/dist/src/engine/compiler/llm-invocations/generateValidatedCode.d.ts.map +0 -1
- package/dist/src/engine/compiler/llm-invocations/generateValidatedCode.js.map +0 -1
- package/dist/src/engine/compiler/llm-invocations/generateValidatedJson.d.ts.map +0 -1
- package/dist/src/engine/compiler/llm-invocations/generateValidatedJson.js.map +0 -1
- package/dist/src/engine/compiler/llm-invocations/generateValidatedObject.d.ts.map +0 -1
- package/dist/src/engine/compiler/llm-invocations/generateValidatedObject.js.map +0 -1
- package/dist/src/engine/compiler/llm-invocations/generateValidatedProse.d.ts.map +0 -1
- package/dist/src/engine/compiler/llm-invocations/generateValidatedProse.js.map +0 -1
- package/dist/src/engine/compiler/schemas/index.d.ts.map +0 -1
- package/dist/src/engine/compiler/schemas/index.js.map +0 -1
- package/dist/src/engine/compiler/schemas/milestones.d.ts.map +0 -1
- package/dist/src/engine/compiler/schemas/milestones.js.map +0 -1
- package/dist/src/engine/compiler/seed-ingestion.d.ts.map +0 -1
- package/dist/src/engine/compiler/seed-ingestion.js.map +0 -1
- package/dist/src/engine/compiler/telemetry.d.ts.map +0 -1
- package/dist/src/engine/compiler/telemetry.js.map +0 -1
- package/dist/src/engine/compiler/types.d.ts.map +0 -1
- package/dist/src/engine/compiler/types.js.map +0 -1
- package/dist/src/engine/compiler/validate.d.ts.map +0 -1
- package/dist/src/engine/compiler/validate.js.map +0 -1
- package/dist/src/engine/core/agent-generator.d.ts.map +0 -1
- package/dist/src/engine/core/agent-generator.js.map +0 -1
- package/dist/src/engine/core/kernel.d.ts.map +0 -1
- package/dist/src/engine/core/kernel.js.map +0 -1
- package/dist/src/engine/core/progression.d.ts.map +0 -1
- package/dist/src/engine/core/progression.js.map +0 -1
- package/dist/src/engine/core/rng.d.ts.map +0 -1
- package/dist/src/engine/core/rng.js.map +0 -1
- package/dist/src/engine/core/state.d.ts.map +0 -1
- package/dist/src/engine/core/state.js.map +0 -1
- package/dist/src/engine/effect-registry.d.ts.map +0 -1
- package/dist/src/engine/effect-registry.js.map +0 -1
- package/dist/src/engine/event-taxonomy.d.ts.map +0 -1
- package/dist/src/engine/event-taxonomy.js.map +0 -1
- package/dist/src/engine/index.d.ts.map +0 -1
- package/dist/src/engine/index.js.map +0 -1
- package/dist/src/engine/lunar/effects.d.ts.map +0 -1
- package/dist/src/engine/lunar/effects.js.map +0 -1
- package/dist/src/engine/lunar/events.d.ts.map +0 -1
- package/dist/src/engine/lunar/events.js.map +0 -1
- package/dist/src/engine/lunar/fingerprint.d.ts.map +0 -1
- package/dist/src/engine/lunar/fingerprint.js.map +0 -1
- package/dist/src/engine/lunar/hooks.d.ts.map +0 -1
- package/dist/src/engine/lunar/hooks.js.map +0 -1
- package/dist/src/engine/lunar/index.d.ts.map +0 -1
- package/dist/src/engine/lunar/index.js.map +0 -1
- package/dist/src/engine/lunar/metrics.d.ts.map +0 -1
- package/dist/src/engine/lunar/metrics.js.map +0 -1
- package/dist/src/engine/lunar/milestones.d.ts.map +0 -1
- package/dist/src/engine/lunar/milestones.js.map +0 -1
- package/dist/src/engine/lunar/names.d.ts.map +0 -1
- package/dist/src/engine/lunar/names.js.map +0 -1
- package/dist/src/engine/lunar/politics.d.ts.map +0 -1
- package/dist/src/engine/lunar/politics.js.map +0 -1
- package/dist/src/engine/lunar/presets.d.ts.map +0 -1
- package/dist/src/engine/lunar/presets.js.map +0 -1
- package/dist/src/engine/lunar/progression-hooks.d.ts.map +0 -1
- package/dist/src/engine/lunar/progression-hooks.js.map +0 -1
- package/dist/src/engine/lunar/prompts.d.ts.map +0 -1
- package/dist/src/engine/lunar/prompts.js.map +0 -1
- package/dist/src/engine/lunar/reactions.d.ts.map +0 -1
- package/dist/src/engine/lunar/reactions.js.map +0 -1
- package/dist/src/engine/lunar/research-bundle.d.ts.map +0 -1
- package/dist/src/engine/lunar/research-bundle.js.map +0 -1
- package/dist/src/engine/mars/effects.d.ts.map +0 -1
- package/dist/src/engine/mars/effects.js.map +0 -1
- package/dist/src/engine/mars/events.d.ts.map +0 -1
- package/dist/src/engine/mars/events.js.map +0 -1
- package/dist/src/engine/mars/fingerprint.d.ts.map +0 -1
- package/dist/src/engine/mars/fingerprint.js.map +0 -1
- package/dist/src/engine/mars/hooks.d.ts.map +0 -1
- package/dist/src/engine/mars/hooks.js.map +0 -1
- package/dist/src/engine/mars/index.d.ts.map +0 -1
- package/dist/src/engine/mars/index.js.map +0 -1
- package/dist/src/engine/mars/metrics.d.ts.map +0 -1
- package/dist/src/engine/mars/metrics.js.map +0 -1
- package/dist/src/engine/mars/milestones.d.ts.map +0 -1
- package/dist/src/engine/mars/milestones.js.map +0 -1
- package/dist/src/engine/mars/names.d.ts.map +0 -1
- package/dist/src/engine/mars/names.js.map +0 -1
- package/dist/src/engine/mars/politics.d.ts.map +0 -1
- package/dist/src/engine/mars/politics.js.map +0 -1
- package/dist/src/engine/mars/presets.d.ts.map +0 -1
- package/dist/src/engine/mars/presets.js.map +0 -1
- package/dist/src/engine/mars/progression-hooks.d.ts.map +0 -1
- package/dist/src/engine/mars/progression-hooks.js.map +0 -1
- package/dist/src/engine/mars/prompts.d.ts.map +0 -1
- package/dist/src/engine/mars/prompts.js.map +0 -1
- package/dist/src/engine/mars/reactions.d.ts.map +0 -1
- package/dist/src/engine/mars/reactions.js.map +0 -1
- package/dist/src/engine/mars/research-bundle.d.ts.map +0 -1
- package/dist/src/engine/mars/research-bundle.js.map +0 -1
- package/dist/src/engine/metric-registry.d.ts.map +0 -1
- package/dist/src/engine/metric-registry.js.map +0 -1
- package/dist/src/engine/provider-resolver.d.ts.map +0 -1
- package/dist/src/engine/provider-resolver.js.map +0 -1
- package/dist/src/engine/types.d.ts.map +0 -1
- package/dist/src/runtime/agent-memory.d.ts.map +0 -1
- package/dist/src/runtime/agent-memory.js.map +0 -1
- package/dist/src/runtime/agent-reactions.d.ts.map +0 -1
- package/dist/src/runtime/agent-reactions.js.map +0 -1
- package/dist/src/runtime/batch.d.ts.map +0 -1
- package/dist/src/runtime/batch.js.map +0 -1
- package/dist/src/runtime/chat-agents.d.ts.map +0 -1
- package/dist/src/runtime/chat-agents.js.map +0 -1
- package/dist/src/runtime/citations-catalog.d.ts.map +0 -1
- package/dist/src/runtime/citations-catalog.js.map +0 -1
- package/dist/src/runtime/commander-setup.d.ts.map +0 -1
- package/dist/src/runtime/commander-setup.js.map +0 -1
- package/dist/src/runtime/contracts.d.ts.map +0 -1
- package/dist/src/runtime/cost-tracker.d.ts.map +0 -1
- package/dist/src/runtime/cost-tracker.js.map +0 -1
- package/dist/src/runtime/departments.d.ts.map +0 -1
- package/dist/src/runtime/departments.js.map +0 -1
- package/dist/src/runtime/director.d.ts.map +0 -1
- package/dist/src/runtime/director.js.map +0 -1
- package/dist/src/runtime/economics-profile.d.ts.map +0 -1
- package/dist/src/runtime/economics-profile.js.map +0 -1
- package/dist/src/runtime/emergent-setup.d.ts.map +0 -1
- package/dist/src/runtime/emergent-setup.js.map +0 -1
- package/dist/src/runtime/generic-fingerprint.d.ts.map +0 -1
- package/dist/src/runtime/generic-fingerprint.js.map +0 -1
- package/dist/src/runtime/hexaco-cues/trajectory.d.ts.map +0 -1
- package/dist/src/runtime/hexaco-cues/trajectory.js.map +0 -1
- package/dist/src/runtime/hexaco-cues/translation.d.ts.map +0 -1
- package/dist/src/runtime/hexaco-cues/translation.js.map +0 -1
- package/dist/src/runtime/index.d.ts.map +0 -1
- package/dist/src/runtime/index.js.map +0 -1
- package/dist/src/runtime/llm-invocations/generateValidatedObject.d.ts.map +0 -1
- package/dist/src/runtime/llm-invocations/generateValidatedObject.js.map +0 -1
- package/dist/src/runtime/llm-invocations/sendAndValidate.d.ts.map +0 -1
- package/dist/src/runtime/llm-invocations/sendAndValidate.js.map +0 -1
- package/dist/src/runtime/orchestrator.d.ts.map +0 -1
- package/dist/src/runtime/orchestrator.js.map +0 -1
- package/dist/src/runtime/output-writer.d.ts.map +0 -1
- package/dist/src/runtime/output-writer.js.map +0 -1
- package/dist/src/runtime/parsers.d.ts.map +0 -1
- package/dist/src/runtime/parsers.js.map +0 -1
- package/dist/src/runtime/pricing.d.ts.map +0 -1
- package/dist/src/runtime/pricing.js.map +0 -1
- package/dist/src/runtime/provider-errors.d.ts.map +0 -1
- package/dist/src/runtime/provider-errors.js.map +0 -1
- package/dist/src/runtime/reaction-step.d.ts.map +0 -1
- package/dist/src/runtime/reaction-step.js.map +0 -1
- package/dist/src/runtime/research/knowledge-base.d.ts.map +0 -1
- package/dist/src/runtime/research/knowledge-base.js.map +0 -1
- package/dist/src/runtime/research/research-memory.d.ts.map +0 -1
- package/dist/src/runtime/research/research-memory.js.map +0 -1
- package/dist/src/runtime/research/research.d.ts.map +0 -1
- package/dist/src/runtime/research/research.js.map +0 -1
- package/dist/src/runtime/research/scenario-research.d.ts.map +0 -1
- package/dist/src/runtime/research/scenario-research.js.map +0 -1
- package/dist/src/runtime/research/scenarios.d.ts.map +0 -1
- package/dist/src/runtime/research/scenarios.js.map +0 -1
- package/dist/src/runtime/runtime-helpers.d.ts.map +0 -1
- package/dist/src/runtime/runtime-helpers.js.map +0 -1
- package/dist/src/runtime/schemas/commander.d.ts.map +0 -1
- package/dist/src/runtime/schemas/commander.js.map +0 -1
- package/dist/src/runtime/schemas/department.d.ts.map +0 -1
- package/dist/src/runtime/schemas/department.js.map +0 -1
- package/dist/src/runtime/schemas/director.d.ts.map +0 -1
- package/dist/src/runtime/schemas/director.js.map +0 -1
- package/dist/src/runtime/schemas/index.d.ts.map +0 -1
- package/dist/src/runtime/schemas/index.js.map +0 -1
- package/dist/src/runtime/schemas/reactions.d.ts.map +0 -1
- package/dist/src/runtime/schemas/reactions.js.map +0 -1
- package/dist/src/runtime/schemas/verdict.d.ts.map +0 -1
- package/dist/src/runtime/schemas/verdict.js.map +0 -1
- package/dist/src/runtime/tool-ledger.d.ts.map +0 -1
- package/dist/src/runtime/tool-ledger.js.map +0 -1
- /package/dist/{src/cli → cli}/sim-config.d.ts +0 -0
- /package/dist/{src/cli → cli}/sim-config.js +0 -0
- /package/dist/{src/cli → cli}/types.d.ts +0 -0
- /package/dist/{src/cli → cli}/types.js +0 -0
- /package/dist/{src/engine → engine}/_template/index.d.ts +0 -0
- /package/dist/{src/engine → engine}/_template/index.js +0 -0
- /package/dist/{src/engine → engine}/compiler/cache.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/cache.js +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-director.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-director.js +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-fingerprint.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-fingerprint.js +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-milestones.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-milestones.js +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-politics.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-politics.js +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-progression.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-progression.js +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-prompts.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-prompts.js +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-reactions.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/generate-reactions.js +0 -0
- /package/dist/{src/engine → engine}/compiler/index.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/index.js +0 -0
- /package/dist/{src/engine → engine}/compiler/llm-invocations/generateValidatedCode.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/llm-invocations/generateValidatedCode.js +0 -0
- /package/dist/{src/engine → engine}/compiler/llm-invocations/generateValidatedJson.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/llm-invocations/generateValidatedJson.js +0 -0
- /package/dist/{src/engine → engine}/compiler/llm-invocations/generateValidatedObject.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/llm-invocations/generateValidatedObject.js +0 -0
- /package/dist/{src/engine → engine}/compiler/llm-invocations/generateValidatedProse.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/llm-invocations/generateValidatedProse.js +0 -0
- /package/dist/{src/engine → engine}/compiler/schemas/index.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/schemas/index.js +0 -0
- /package/dist/{src/engine → engine}/compiler/schemas/milestones.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/schemas/milestones.js +0 -0
- /package/dist/{src/engine → engine}/compiler/seed-ingestion.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/seed-ingestion.js +0 -0
- /package/dist/{src/engine → engine}/compiler/telemetry.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/telemetry.js +0 -0
- /package/dist/{src/engine → engine}/compiler/types.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/types.js +0 -0
- /package/dist/{src/engine → engine}/compiler/validate.d.ts +0 -0
- /package/dist/{src/engine → engine}/compiler/validate.js +0 -0
- /package/dist/{src/engine → engine}/core/agent-generator.d.ts +0 -0
- /package/dist/{src/engine → engine}/core/agent-generator.js +0 -0
- /package/dist/{src/engine → engine}/core/kernel.d.ts +0 -0
- /package/dist/{src/engine → engine}/core/kernel.js +0 -0
- /package/dist/{src/engine → engine}/core/progression.d.ts +0 -0
- /package/dist/{src/engine → engine}/core/progression.js +0 -0
- /package/dist/{src/engine → engine}/core/rng.d.ts +0 -0
- /package/dist/{src/engine → engine}/core/rng.js +0 -0
- /package/dist/{src/engine → engine}/core/state.d.ts +0 -0
- /package/dist/{src/engine → engine}/core/state.js +0 -0
- /package/dist/{src/engine → engine}/effect-registry.d.ts +0 -0
- /package/dist/{src/engine → engine}/effect-registry.js +0 -0
- /package/dist/{src/engine → engine}/event-taxonomy.d.ts +0 -0
- /package/dist/{src/engine → engine}/event-taxonomy.js +0 -0
- /package/dist/{src/engine → engine}/lunar/effects.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/effects.js +0 -0
- /package/dist/{src/engine → engine}/lunar/events.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/events.js +0 -0
- /package/dist/{src/engine → engine}/lunar/fingerprint.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/fingerprint.js +0 -0
- /package/dist/{src/engine → engine}/lunar/hooks.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/hooks.js +0 -0
- /package/dist/{src/engine → engine}/lunar/index.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/index.js +0 -0
- /package/dist/{src/engine → engine}/lunar/metrics.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/metrics.js +0 -0
- /package/dist/{src/engine → engine}/lunar/milestones.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/milestones.js +0 -0
- /package/dist/{src/engine → engine}/lunar/names.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/names.js +0 -0
- /package/dist/{src/engine → engine}/lunar/politics.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/politics.js +0 -0
- /package/dist/{src/engine → engine}/lunar/presets.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/presets.js +0 -0
- /package/dist/{src/engine → engine}/lunar/progression-hooks.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/progression-hooks.js +0 -0
- /package/dist/{src/engine → engine}/lunar/prompts.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/prompts.js +0 -0
- /package/dist/{src/engine → engine}/lunar/reactions.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/reactions.js +0 -0
- /package/dist/{src/engine → engine}/lunar/research-bundle.d.ts +0 -0
- /package/dist/{src/engine → engine}/lunar/research-bundle.js +0 -0
- /package/dist/{src/engine → engine}/lunar/scenario.json +0 -0
- /package/dist/{src/engine → engine}/mars/effects.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/effects.js +0 -0
- /package/dist/{src/engine → engine}/mars/events.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/events.js +0 -0
- /package/dist/{src/engine → engine}/mars/fingerprint.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/fingerprint.js +0 -0
- /package/dist/{src/engine → engine}/mars/hooks.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/hooks.js +0 -0
- /package/dist/{src/engine → engine}/mars/index.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/index.js +0 -0
- /package/dist/{src/engine → engine}/mars/metrics.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/metrics.js +0 -0
- /package/dist/{src/engine → engine}/mars/milestones.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/milestones.js +0 -0
- /package/dist/{src/engine → engine}/mars/names.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/names.js +0 -0
- /package/dist/{src/engine → engine}/mars/politics.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/politics.js +0 -0
- /package/dist/{src/engine → engine}/mars/presets.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/presets.js +0 -0
- /package/dist/{src/engine → engine}/mars/progression-hooks.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/progression-hooks.js +0 -0
- /package/dist/{src/engine → engine}/mars/prompts.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/prompts.js +0 -0
- /package/dist/{src/engine → engine}/mars/reactions.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/reactions.js +0 -0
- /package/dist/{src/engine → engine}/mars/research-bundle.d.ts +0 -0
- /package/dist/{src/engine → engine}/mars/research-bundle.js +0 -0
- /package/dist/{src/engine → engine}/mars/scenario.json +0 -0
- /package/dist/{src/engine → engine}/metric-registry.d.ts +0 -0
- /package/dist/{src/engine → engine}/metric-registry.js +0 -0
- /package/dist/{src/engine → engine}/provider-resolver.d.ts +0 -0
- /package/dist/{src/engine → engine}/types.d.ts +0 -0
- /package/dist/{src/engine → engine}/types.js +0 -0
- /package/dist/{src/runtime → runtime}/agent-memory.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/agent-memory.js +0 -0
- /package/dist/{src/runtime → runtime}/agent-reactions.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/agent-reactions.js +0 -0
- /package/dist/{src/runtime → runtime}/batch.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/batch.js +0 -0
- /package/dist/{src/runtime → runtime}/chat-agents.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/chat-agents.js +0 -0
- /package/dist/{src/runtime → runtime}/citations-catalog.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/citations-catalog.js +0 -0
- /package/dist/{src/runtime → runtime}/commander-setup.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/commander-setup.js +0 -0
- /package/dist/{src/runtime → runtime}/contracts.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/contracts.js +0 -0
- /package/dist/{src/runtime → runtime}/cost-tracker.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/cost-tracker.js +0 -0
- /package/dist/{src/runtime → runtime}/departments.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/departments.js +0 -0
- /package/dist/{src/runtime → runtime}/director.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/director.js +0 -0
- /package/dist/{src/runtime → runtime}/economics-profile.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/economics-profile.js +0 -0
- /package/dist/{src/runtime → runtime}/emergent-setup.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/emergent-setup.js +0 -0
- /package/dist/{src/runtime → runtime}/generic-fingerprint.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/generic-fingerprint.js +0 -0
- /package/dist/{src/runtime → runtime}/hexaco-cues/trajectory.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/hexaco-cues/trajectory.js +0 -0
- /package/dist/{src/runtime → runtime}/hexaco-cues/translation.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/hexaco-cues/translation.js +0 -0
- /package/dist/{src/runtime → runtime}/index.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/index.js +0 -0
- /package/dist/{src/runtime → runtime}/llm-invocations/generateValidatedObject.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/llm-invocations/generateValidatedObject.js +0 -0
- /package/dist/{src/runtime → runtime}/llm-invocations/sendAndValidate.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/llm-invocations/sendAndValidate.js +0 -0
- /package/dist/{src/runtime → runtime}/orchestrator.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/orchestrator.js +0 -0
- /package/dist/{src/runtime → runtime}/output-writer.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/output-writer.js +0 -0
- /package/dist/{src/runtime → runtime}/parsers.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/parsers.js +0 -0
- /package/dist/{src/runtime → runtime}/pricing.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/pricing.js +0 -0
- /package/dist/{src/runtime → runtime}/provider-errors.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/provider-errors.js +0 -0
- /package/dist/{src/runtime → runtime}/reaction-step.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/reaction-step.js +0 -0
- /package/dist/{src/runtime → runtime}/research/knowledge-base.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/research/knowledge-base.js +0 -0
- /package/dist/{src/runtime → runtime}/research/research-memory.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/research/research-memory.js +0 -0
- /package/dist/{src/runtime → runtime}/research/research.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/research/research.js +0 -0
- /package/dist/{src/runtime → runtime}/research/scenario-research.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/research/scenario-research.js +0 -0
- /package/dist/{src/runtime → runtime}/research/scenarios.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/research/scenarios.js +0 -0
- /package/dist/{src/runtime → runtime}/runtime-helpers.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/runtime-helpers.js +0 -0
- /package/dist/{src/runtime → runtime}/schemas/commander.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/schemas/commander.js +0 -0
- /package/dist/{src/runtime → runtime}/schemas/department.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/schemas/department.js +0 -0
- /package/dist/{src/runtime → runtime}/schemas/director.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/schemas/director.js +0 -0
- /package/dist/{src/runtime → runtime}/schemas/index.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/schemas/index.js +0 -0
- /package/dist/{src/runtime → runtime}/schemas/reactions.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/schemas/reactions.js +0 -0
- /package/dist/{src/runtime → runtime}/schemas/verdict.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/schemas/verdict.js +0 -0
- /package/dist/{src/runtime → runtime}/tool-ledger.d.ts +0 -0
- /package/dist/{src/runtime → runtime}/tool-ledger.js +0 -0
package/README.md
CHANGED
|
@@ -38,9 +38,11 @@ Same seed, same starting conditions, different leaders, different civilizations.
|
|
|
38
38
|
## Quickstart
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
npm install paracosm
|
|
41
|
+
npm install paracosm # also works: pnpm add paracosm / bun add paracosm
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
+
Paracosm ships as pure ESM with subpath exports (`paracosm/compiler`, `paracosm/runtime`, `paracosm/mars`, `paracosm/lunar`, `paracosm/core`). Node 20+, Bun 1.x, and any TypeScript runner with ESM + import-attributes support (`tsx`, `ts-node --esm`) resolve them out of the box. If `import ... from 'paracosm/compiler'` fails with a module-not-found error, the dependency was never installed in that project — `cd` into the right directory and run one of the commands above.
|
|
45
|
+
|
|
44
46
|
### 1. Define your world
|
|
45
47
|
|
|
46
48
|
Every scenario declares its own vocabulary via `labels.populationNoun`
|
|
@@ -118,7 +120,7 @@ bounded collective under a leader's decisions.
|
|
|
118
120
|
```typescript
|
|
119
121
|
import { compileScenario } from 'paracosm/compiler';
|
|
120
122
|
import { runSimulation } from 'paracosm/runtime';
|
|
121
|
-
import worldJson from './my-world.json';
|
|
123
|
+
import worldJson from './my-world.json' with { type: 'json' };
|
|
122
124
|
|
|
123
125
|
// Compile JSON into a runnable scenario (~$0.10, cached to disk)
|
|
124
126
|
const scenario = await compileScenario(worldJson, {
|
|
@@ -162,6 +164,19 @@ const results = await Promise.all(
|
|
|
162
164
|
})
|
|
163
165
|
)
|
|
164
166
|
);
|
|
167
|
+
|
|
168
|
+
// The return value is a full run artifact. A few of the fields most
|
|
169
|
+
// consumers want right away:
|
|
170
|
+
for (const r of results) {
|
|
171
|
+
console.log(r.leader.name, '→', r.fingerprint);
|
|
172
|
+
console.log(' cost $', r.cost.totalCostUSD.toFixed(2), `(${r.cost.llmCalls} LLM calls)`);
|
|
173
|
+
console.log(' final ', r.finalState.colony); // population, morale, foodMonthsReserve, powerKw, …
|
|
174
|
+
console.log(' tools ', r.forgedToolbox.length, // deduped forge ledger
|
|
175
|
+
'citations', r.citationCatalog.length); // DOI-linked references
|
|
176
|
+
if (r.providerError) {
|
|
177
|
+
console.error(' provider error:', r.providerError.kind, r.providerError.message);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
165
180
|
```
|
|
166
181
|
|
|
167
182
|
Each call to `runSimulation` takes one leader. Run one, two, or twenty. The dashboard runs two side-by-side for comparison, but the API has no limit. Leaders don't need to be people. They can model competing strategies, policy frameworks, organizational philosophies, or autonomous systems responding to the same events with different decision profiles.
|
|
@@ -177,6 +192,34 @@ npm run dashboard # opens http://localhost:3456
|
|
|
177
192
|
|
|
178
193
|
The dashboard includes a scenario editor where you can write, import, compile, and run custom worlds from the browser.
|
|
179
194
|
|
|
195
|
+
### 4. Or run the standalone CLI
|
|
196
|
+
|
|
197
|
+
After `npm install paracosm` you get two binaries:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
paracosm # run one leader once; prints turn-by-turn narrative
|
|
201
|
+
paracosm-dashboard 6 # start the web dashboard and run a 6-turn sim
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Both CLIs look for `leaders.json` in this order:
|
|
205
|
+
|
|
206
|
+
1. `--leaders <path>` flag (explicit)
|
|
207
|
+
2. `./leaders.json` in your current directory
|
|
208
|
+
3. `./config/leaders.json` in your current directory
|
|
209
|
+
4. A bundled `config/leaders.example.json` (so commands work out of the box)
|
|
210
|
+
|
|
211
|
+
Copy the example to start customizing:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Option 1: in your project root
|
|
215
|
+
cp node_modules/paracosm/config/leaders.example.json leaders.json
|
|
216
|
+
|
|
217
|
+
# Option 2: organized in a config/ folder
|
|
218
|
+
mkdir -p config && cp node_modules/paracosm/config/leaders.example.json config/leaders.json
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Then edit the HEXACO sliders and `instructions` fields to describe your own leaders — the simulation picks up the file on the next run.
|
|
222
|
+
|
|
180
223
|
## Scenario Compiler
|
|
181
224
|
|
|
182
225
|
The compiler turns your JSON into a runnable scenario by generating TypeScript hooks via LLM calls:
|
|
@@ -189,19 +232,148 @@ npm run compile -- scenarios/submarine.json \
|
|
|
189
232
|
|
|
190
233
|
Options: `--seed-text`, `--seed-url`, `--no-web-search`, `--max-searches`. Compiled scenarios appear in the dashboard selector. Cost is roughly $0.10 per compile, cached to disk after first generation.
|
|
191
234
|
|
|
235
|
+
### Programmatic compiler options
|
|
236
|
+
|
|
237
|
+
Every CLI flag has a matching programmatic option on `compileScenario`. The compiler caches per-hook on the scenario hash + model + schema version, and separately caches the seed bundle on the seed signature (text/URL + `webSearch` + `maxSearches`), so re-running the same call is free after the first hit.
|
|
238
|
+
|
|
239
|
+
```typescript
|
|
240
|
+
import { compileScenario } from 'paracosm/compiler';
|
|
241
|
+
|
|
242
|
+
const scenario = await compileScenario(worldJson, {
|
|
243
|
+
provider: 'anthropic', // 'openai' (default) or 'anthropic'
|
|
244
|
+
model: 'claude-sonnet-4-6', // omit → provider default (gpt-5.4-mini / claude-sonnet-4-6)
|
|
245
|
+
cache: true, // default. Set false to force regeneration.
|
|
246
|
+
cacheDir: '.paracosm/cache', // default. Change per project / per CI run.
|
|
247
|
+
seedUrl: 'https://ntrs.nasa.gov/citations/20210018970', // or: seedText: '…inline markdown…'
|
|
248
|
+
webSearch: true, // fan out to Firecrawl/Tavily/Serper/Brave
|
|
249
|
+
maxSearches: 5,
|
|
250
|
+
onProgress(hookName, status) {
|
|
251
|
+
// 'generating' | 'cached' | 'done' | 'fallback'
|
|
252
|
+
console.log(` [${status.padEnd(10)}] ${hookName}`);
|
|
253
|
+
},
|
|
254
|
+
});
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Cache hits show up as `cached` in the progress callback. First-run cost is roughly $0.10; cached re-runs are free. If neither `OPENAI_API_KEY` nor `ANTHROPIC_API_KEY` is set, the compiler throws `ProviderKeyMissingError` before making any calls — see [Error handling](#error-handling).
|
|
258
|
+
|
|
192
259
|
## Cost Envelope
|
|
193
260
|
|
|
194
|
-
Running a simulation calls real LLM APIs against your key. Typical spend per run on provider defaults (6 turns, 5 departments, 100 agents, up to 3 events per turn):
|
|
261
|
+
Running a simulation calls real LLM APIs against your key. Typical spend per run on provider defaults (6 turns, 5 departments, 100 agents, up to 3 events per turn). Paracosm assigns a different tier per role so flagship cost only lands where it earns its keep (forge-code correctness):
|
|
195
262
|
|
|
196
|
-
| Provider | Commander /
|
|
197
|
-
|
|
198
|
-
| OpenAI
|
|
199
|
-
| Anthropic| `claude-sonnet-4-6` | `claude-haiku-4-5-20251001
|
|
263
|
+
| Provider | Departments (flagship) | Commander / Director / Judge (mid-tier) | Reactions (cheapest) | Per-run total |
|
|
264
|
+
|-----------|------------------------|------------------------------------------|----------------------|---------------|
|
|
265
|
+
| OpenAI | `gpt-5.4` | `gpt-5.4-mini` | `gpt-5.4-nano` | ~$1-3 |
|
|
266
|
+
| Anthropic | `claude-sonnet-4-6` | `claude-haiku-4-5-20251001` | `claude-haiku-4-5-20251001` | ~$3-7 |
|
|
200
267
|
|
|
201
|
-
The single biggest lever is the judge model — it runs once per forge attempt (easily 60+ calls per 6-turn run) so keeping it on the
|
|
268
|
+
The single biggest lever is the judge model — it runs once per forge attempt (easily 60+ calls per 6-turn run) so keeping it on the mid-tier is what makes the run affordable. Promoting the judge to flagship triples the total. Override any role via `models` on `RunOptions`: `{ models: { judge: 'gpt-5.4' } }` if you want to pay for stricter review.
|
|
202
269
|
|
|
203
270
|
The orchestrator's `runSimulation()` returns a `cost` field with token counts, LLM call counts, and USD spend aggregated from every tracked call (director, departments, commander, judge, agent reactions). The dashboard StatsBar shows this live.
|
|
204
271
|
|
|
272
|
+
### Prompt caching
|
|
273
|
+
|
|
274
|
+
Every LLM call site on both providers routes its stable system prefix through a `cacheBreakpoint: true` block (director instructions, department prompts, reaction batches, compile-time hook generators). On Anthropic, turn 2+ of every run serves the shared prefix from the provider's prompt cache at 0.1× input cost. On OpenAI, any prompt ≥ 1024 tokens auto-caches. The `cost.caches` field reports read / creation tokens and USD saved per run, and `/retry-stats` rolls the numbers up across the last 100 runs so you can verify the cache is actually hitting. No configuration required — the `system: Array<{ text; cacheBreakpoint }>` shape is built into the validated-call wrappers in `src/engine/compiler/llm-invocations/` and `src/runtime/llm-invocations/`.
|
|
275
|
+
|
|
276
|
+
## Programmatic API
|
|
277
|
+
|
|
278
|
+
Everything the dashboard does is also available as library calls. The exports fall into five buckets:
|
|
279
|
+
|
|
280
|
+
| Import | Surface |
|
|
281
|
+
|--------|---------|
|
|
282
|
+
| `paracosm/compiler` | `compileScenario`, `ingestSeed`, `ingestFromUrl`, type `CompileOptions` |
|
|
283
|
+
| `paracosm/runtime` | `runSimulation`, `runBatch`, `EventDirector`, `generateAgentReactions`, memory helpers |
|
|
284
|
+
| `paracosm` | `ProviderKeyMissingError`, `SeededRng`, `SimulationKernel`, all `Scenario*` types |
|
|
285
|
+
| `paracosm/core` | Kernel state types (`Agent`, `WorldState`, `HexacoProfile`, …) |
|
|
286
|
+
| `paracosm/mars`, `paracosm/lunar` | Pre-built `ScenarioPackage` constants to use or fork |
|
|
287
|
+
|
|
288
|
+
### Batch runner — N scenarios × M leaders
|
|
289
|
+
|
|
290
|
+
```typescript
|
|
291
|
+
import { runBatch } from 'paracosm/runtime';
|
|
292
|
+
import { marsScenario, lunarScenario } from 'paracosm';
|
|
293
|
+
|
|
294
|
+
const manifest = await runBatch({
|
|
295
|
+
scenarios: [marsScenario, lunarScenario],
|
|
296
|
+
leaders, // LeaderConfig[] — same shape as runSimulation
|
|
297
|
+
turns: 6,
|
|
298
|
+
seed: 950,
|
|
299
|
+
maxConcurrency: 2, // how many sims to run in parallel
|
|
300
|
+
provider: 'anthropic',
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
// manifest.results[i] carries { scenarioId, leader, fingerprint, output, duration }
|
|
304
|
+
// manifest.timestamp + manifest.config is a reproducible audit trail
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Seed ingestion from a URL or inline text
|
|
308
|
+
|
|
309
|
+
The compiler grounds agents in real sources. Pass `seedText` for inline markdown / PDFs you already have, or `seedUrl` to let Firecrawl extract clean markdown from any public page. The bundle is cached separately from the hook cache, keyed on the seed signature, so the same URL never re-extracts.
|
|
310
|
+
|
|
311
|
+
```typescript
|
|
312
|
+
const scenario = await compileScenario(worldJson, {
|
|
313
|
+
seedUrl: 'https://ntrs.nasa.gov/citations/20210018970',
|
|
314
|
+
webSearch: true, // also fan out to Tavily/Serper/Brave for more citations
|
|
315
|
+
maxSearches: 5,
|
|
316
|
+
});
|
|
317
|
+
// Every department prompt, Event Director batch, and report.citations[] entry
|
|
318
|
+
// at runtime will draw from this bundle.
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Cancellation via AbortSignal
|
|
322
|
+
|
|
323
|
+
The server wires this to a cancel-on-disconnect watchdog; any programmatic consumer can do the same. When `.aborted` flips to true, the turn loop short-circuits at the next turn boundary, emits a `sim_aborted` event, and returns the partial result accumulated so far with `output.aborted === true`.
|
|
324
|
+
|
|
325
|
+
```typescript
|
|
326
|
+
const ctrl = new AbortController();
|
|
327
|
+
setTimeout(() => ctrl.abort(), 60_000); // kill after 60s wall time
|
|
328
|
+
|
|
329
|
+
const output = await runSimulation(leader, [], {
|
|
330
|
+
scenario, maxTurns: 8, seed: 42,
|
|
331
|
+
signal: ctrl.signal,
|
|
332
|
+
});
|
|
333
|
+
|
|
334
|
+
if (output.aborted) console.log('partial result; turns completed:', output.turnArtifacts.length);
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### Custom events injected at specific turns
|
|
338
|
+
|
|
339
|
+
When you want a scripted event at a fixed turn (smoke tests, pedagogical demos, reproducing a scenario from a paper), supply `customEvents`:
|
|
340
|
+
|
|
341
|
+
```typescript
|
|
342
|
+
await runSimulation(leader, [], {
|
|
343
|
+
scenario, maxTurns: 8, seed: 42,
|
|
344
|
+
customEvents: [
|
|
345
|
+
{ turn: 3, title: 'Dust storm', description: 'A 72-hour planetary dust storm cuts solar output by 80%.' },
|
|
346
|
+
{ turn: 6, title: 'Supply drop', description: 'Earth relief mission delivers 3 months of food reserves.' },
|
|
347
|
+
],
|
|
348
|
+
});
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Error handling
|
|
352
|
+
|
|
353
|
+
```typescript
|
|
354
|
+
import { runSimulation, ProviderKeyMissingError } from 'paracosm';
|
|
355
|
+
|
|
356
|
+
try {
|
|
357
|
+
const output = await runSimulation(leader, [], { scenario, maxTurns: 8, seed: 42 });
|
|
358
|
+
if (output.providerError) {
|
|
359
|
+
// Terminal provider failure (invalid key, quota exhausted) — the run
|
|
360
|
+
// aborted mid-way. turnArtifacts / finalState are partial.
|
|
361
|
+
console.error(output.providerError.kind, // 'auth' | 'quota' | 'rate_limit' | 'network' | 'unknown'
|
|
362
|
+
output.providerError.provider,
|
|
363
|
+
output.providerError.message,
|
|
364
|
+
output.providerError.actionUrl);
|
|
365
|
+
}
|
|
366
|
+
} catch (err) {
|
|
367
|
+
if (err instanceof ProviderKeyMissingError) {
|
|
368
|
+
console.error('set OPENAI_API_KEY or ANTHROPIC_API_KEY before running');
|
|
369
|
+
process.exit(1);
|
|
370
|
+
}
|
|
371
|
+
throw err;
|
|
372
|
+
}
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
The resolver inspects `process.env` once up front, so a missing key fails loudly at the top of the run instead of retrying silently on every LLM call.
|
|
376
|
+
|
|
205
377
|
## Seed Enrichment & Citation Flow
|
|
206
378
|
|
|
207
379
|
Pass real-world source material into the compiler and Paracosm grounds the scenario in citations that flow all the way through to department reports.
|
|
@@ -334,12 +506,12 @@ src/
|
|
|
334
506
|
|
|
335
507
|
| Import | What |
|
|
336
508
|
|--------|------|
|
|
337
|
-
| `paracosm` | Engine types, registries,
|
|
338
|
-
| `paracosm/compiler` | `compileScenario()` |
|
|
339
|
-
| `paracosm/runtime` | `runSimulation()`, `runBatch()` |
|
|
340
|
-
| `paracosm/mars` | Mars Genesis
|
|
341
|
-
| `paracosm/lunar` | Lunar Outpost
|
|
342
|
-
| `paracosm/core` | Kernel state types |
|
|
509
|
+
| `paracosm` | Engine types, registries, `SimulationKernel`, `SeededRng`, scenario packages, `ProviderKeyMissingError` |
|
|
510
|
+
| `paracosm/compiler` | `compileScenario()`, `ingestSeed()`, `ingestFromUrl()` |
|
|
511
|
+
| `paracosm/runtime` | `runSimulation()`, `runBatch()`, `EventDirector`, `generateAgentReactions()`, memory helpers |
|
|
512
|
+
| `paracosm/mars` | Mars Genesis `ScenarioPackage` |
|
|
513
|
+
| `paracosm/lunar` | Lunar Outpost `ScenarioPackage` |
|
|
514
|
+
| `paracosm/core` | Kernel state types (`Agent`, `WorldState`, `HexacoProfile`) |
|
|
343
515
|
|
|
344
516
|
## Built on AgentOS
|
|
345
517
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"leaders": [
|
|
3
|
+
{
|
|
4
|
+
"name": "Aria Chen",
|
|
5
|
+
"archetype": "The Visionary",
|
|
6
|
+
"colony": "Ares Horizon",
|
|
7
|
+
"hexaco": {
|
|
8
|
+
"openness": 0.95,
|
|
9
|
+
"conscientiousness": 0.35,
|
|
10
|
+
"extraversion": 0.85,
|
|
11
|
+
"agreeableness": 0.55,
|
|
12
|
+
"emotionality": 0.30,
|
|
13
|
+
"honestyHumility": 0.65
|
|
14
|
+
},
|
|
15
|
+
"instructions": "You are Commander Aria Chen. Bold expansion, calculated risks. Favor higher upside even when riskier. Respond with JSON."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "Dietrich Voss",
|
|
19
|
+
"archetype": "The Engineer",
|
|
20
|
+
"colony": "Meridian Base",
|
|
21
|
+
"hexaco": {
|
|
22
|
+
"openness": 0.25,
|
|
23
|
+
"conscientiousness": 0.97,
|
|
24
|
+
"extraversion": 0.30,
|
|
25
|
+
"agreeableness": 0.45,
|
|
26
|
+
"emotionality": 0.70,
|
|
27
|
+
"honestyHumility": 0.90
|
|
28
|
+
},
|
|
29
|
+
"instructions": "You are Commander Dietrich Voss. Engineering discipline, safety margins. Favor lower risk. Respond with JSON."
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"leaders": [
|
|
3
|
+
{
|
|
4
|
+
"name": "Aria Chen",
|
|
5
|
+
"archetype": "The Visionary",
|
|
6
|
+
"colony": "Ares Horizon",
|
|
7
|
+
"hexaco": {
|
|
8
|
+
"openness": 0.95,
|
|
9
|
+
"conscientiousness": 0.35,
|
|
10
|
+
"extraversion": 0.85,
|
|
11
|
+
"agreeableness": 0.55,
|
|
12
|
+
"emotionality": 0.30,
|
|
13
|
+
"honestyHumility": 0.65
|
|
14
|
+
},
|
|
15
|
+
"instructions": "You are Commander Aria Chen. Bold expansion, calculated risks. Favor higher upside even when riskier. Respond with JSON."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "Dietrich Voss",
|
|
19
|
+
"archetype": "The Engineer",
|
|
20
|
+
"colony": "Meridian Base",
|
|
21
|
+
"hexaco": {
|
|
22
|
+
"openness": 0.25,
|
|
23
|
+
"conscientiousness": 0.97,
|
|
24
|
+
"extraversion": 0.30,
|
|
25
|
+
"agreeableness": 0.45,
|
|
26
|
+
"emotionality": 0.70,
|
|
27
|
+
"honestyHumility": 0.90
|
|
28
|
+
},
|
|
29
|
+
"instructions": "You are Commander Dietrich Voss. Engineering discipline, safety margins. Demand data before decisions. Favor lower risk. Respond with JSON."
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LlmProvider, SimulationModelConfig } from './sim-config.js';
|
|
2
|
+
export interface CliRunOptions {
|
|
3
|
+
maxTurns?: number;
|
|
4
|
+
seed?: number;
|
|
5
|
+
startYear?: number;
|
|
6
|
+
liveSearch: boolean;
|
|
7
|
+
provider?: LlmProvider;
|
|
8
|
+
models?: Partial<SimulationModelConfig>;
|
|
9
|
+
}
|
|
10
|
+
export declare function parseCliRunOptions(argv: string[]): CliRunOptions;
|
|
11
|
+
//# sourceMappingURL=cli-run-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-run-options.d.ts","sourceRoot":"","sources":["../../src/cli/cli-run-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACzC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAwChE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export function parseCliRunOptions(argv) {
|
|
2
|
+
const options = { liveSearch: false };
|
|
3
|
+
for (let index = 0; index < argv.length; index++) {
|
|
4
|
+
const arg = argv[index];
|
|
5
|
+
if (!arg.startsWith('--') && options.maxTurns === undefined) {
|
|
6
|
+
const turns = Number.parseInt(arg, 10);
|
|
7
|
+
if (Number.isFinite(turns))
|
|
8
|
+
options.maxTurns = turns;
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
switch (arg) {
|
|
12
|
+
case '--live':
|
|
13
|
+
options.liveSearch = true;
|
|
14
|
+
break;
|
|
15
|
+
case '--seed':
|
|
16
|
+
options.seed = Number.parseInt(argv[++index] ?? '', 10);
|
|
17
|
+
break;
|
|
18
|
+
case '--start-year':
|
|
19
|
+
options.startYear = Number.parseInt(argv[++index] ?? '', 10);
|
|
20
|
+
break;
|
|
21
|
+
case '--provider':
|
|
22
|
+
options.provider = argv[++index];
|
|
23
|
+
break;
|
|
24
|
+
case '--commander-model':
|
|
25
|
+
options.models = { ...(options.models ?? {}), commander: argv[++index] };
|
|
26
|
+
break;
|
|
27
|
+
case '--department-model':
|
|
28
|
+
options.models = { ...(options.models ?? {}), departments: argv[++index] };
|
|
29
|
+
break;
|
|
30
|
+
case '--judge-model':
|
|
31
|
+
options.models = { ...(options.models ?? {}), judge: argv[++index] };
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return options;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=cli-run-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-run-options.js","sourceRoot":"","sources":["../../src/cli/cli-run-options.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,MAAM,OAAO,GAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAErD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrD,SAAS;QACX,CAAC;QAED,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACX,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxD,MAAM;YACR,KAAK,cAAc;gBACjB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,QAAQ,GAAI,IAAI,CAAC,EAAE,KAAK,CAA6B,CAAC;gBAC9D,MAAM;YACR,KAAK,mBAAmB;gBACtB,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACzE,MAAM;YACR,KAAK,oBAAoB;gBACvB,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3E,MAAM;YACR,KAAK,eAAe;gBAClB,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACrE,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { LlmProvider } from '../engine/types.js';
|
|
2
|
+
export interface CompileCliOptions {
|
|
3
|
+
scenarioPath?: string;
|
|
4
|
+
provider: LlmProvider;
|
|
5
|
+
model: string;
|
|
6
|
+
cache: boolean;
|
|
7
|
+
cacheDir: string;
|
|
8
|
+
seedText?: string;
|
|
9
|
+
seedUrl?: string;
|
|
10
|
+
webSearch: boolean;
|
|
11
|
+
maxSearches?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function parseCompileCliOptions(argv: string[]): CompileCliOptions;
|
|
14
|
+
//# sourceMappingURL=compile-cli-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-cli-options.d.ts","sourceRoot":"","sources":["../../src/cli/compile-cli-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAkDxE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export function parseCompileCliOptions(argv) {
|
|
2
|
+
const options = {
|
|
3
|
+
provider: 'anthropic',
|
|
4
|
+
model: 'claude-sonnet-4-6',
|
|
5
|
+
cache: true,
|
|
6
|
+
cacheDir: '.paracosm/cache',
|
|
7
|
+
webSearch: true,
|
|
8
|
+
};
|
|
9
|
+
for (let index = 0; index < argv.length; index++) {
|
|
10
|
+
const arg = argv[index];
|
|
11
|
+
if (!arg.startsWith('--') && !options.scenarioPath) {
|
|
12
|
+
options.scenarioPath = arg;
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
switch (arg) {
|
|
16
|
+
case '--provider':
|
|
17
|
+
options.provider = argv[++index] ?? options.provider;
|
|
18
|
+
break;
|
|
19
|
+
case '--model':
|
|
20
|
+
options.model = argv[++index] ?? options.model;
|
|
21
|
+
break;
|
|
22
|
+
case '--no-cache':
|
|
23
|
+
options.cache = false;
|
|
24
|
+
break;
|
|
25
|
+
case '--cache-dir':
|
|
26
|
+
options.cacheDir = argv[++index] ?? options.cacheDir;
|
|
27
|
+
break;
|
|
28
|
+
case '--seed-text':
|
|
29
|
+
options.seedText = argv[++index];
|
|
30
|
+
break;
|
|
31
|
+
case '--seed-url':
|
|
32
|
+
options.seedUrl = argv[++index];
|
|
33
|
+
break;
|
|
34
|
+
case '--no-web-search':
|
|
35
|
+
options.webSearch = false;
|
|
36
|
+
break;
|
|
37
|
+
case '--max-searches': {
|
|
38
|
+
const value = Number.parseInt(argv[++index] ?? '', 10);
|
|
39
|
+
options.maxSearches = Number.isFinite(value) ? value : undefined;
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
default:
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return options;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=compile-cli-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-cli-options.js","sourceRoot":"","sources":["../../src/cli/compile-cli-options.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACnD,MAAM,OAAO,GAAsB;QACjC,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACnD,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,YAAY;gBACf,OAAO,CAAC,QAAQ,GAAI,IAAI,CAAC,EAAE,KAAK,CAA6B,IAAI,OAAO,CAAC,QAAQ,CAAC;gBAClF,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;gBAC/C,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,MAAM;YACR,KAAK,aAAa;gBAChB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;gBACrD,MAAM;YACR,KAAK,aAAa;gBAChB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,iBAAiB;gBACpB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,MAAM;YACR,CAAC;YACD;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CLI: Compile a scenario JSON into a runnable ScenarioPackage.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* npx tsx src/cli/compile.ts scenarios/submarine.json
|
|
7
|
+
* npx tsx src/cli/compile.ts scenarios/submarine.json --provider anthropic --model claude-sonnet-4-6
|
|
8
|
+
* npx tsx src/cli/compile.ts scenarios/submarine.json --no-cache
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=compile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/cli/compile.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CLI: Compile a scenario JSON into a runnable ScenarioPackage.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* npx tsx src/cli/compile.ts scenarios/submarine.json
|
|
7
|
+
* npx tsx src/cli/compile.ts scenarios/submarine.json --provider anthropic --model claude-sonnet-4-6
|
|
8
|
+
* npx tsx src/cli/compile.ts scenarios/submarine.json --no-cache
|
|
9
|
+
*/
|
|
10
|
+
import { readFileSync } from 'node:fs';
|
|
11
|
+
import { resolve } from 'node:path';
|
|
12
|
+
import { compileScenario } from '../engine/compiler/index.js';
|
|
13
|
+
import { parseCompileCliOptions } from './compile-cli-options.js';
|
|
14
|
+
async function main() {
|
|
15
|
+
const rawArgs = process.argv.slice(2);
|
|
16
|
+
const options = parseCompileCliOptions(rawArgs);
|
|
17
|
+
if (rawArgs.length === 0 || rawArgs.includes('--help') || rawArgs.includes('-h')) {
|
|
18
|
+
console.log(`
|
|
19
|
+
paracosm compile — Generate runtime hooks for a scenario JSON
|
|
20
|
+
|
|
21
|
+
Usage:
|
|
22
|
+
npx tsx src/cli/compile.ts <scenario.json> [options]
|
|
23
|
+
|
|
24
|
+
Options:
|
|
25
|
+
--provider <provider> LLM provider: openai | anthropic (default: anthropic)
|
|
26
|
+
--model <model> Model name (default: claude-sonnet-4-6)
|
|
27
|
+
--no-cache Skip disk cache
|
|
28
|
+
--cache-dir <dir> Cache directory (default: .paracosm/cache)
|
|
29
|
+
--seed-text <text> Seed scenario knowledge from inline text before hook generation
|
|
30
|
+
--seed-url <url> Seed scenario knowledge from a URL before hook generation
|
|
31
|
+
--no-web-search Skip live citation grounding during seed ingestion
|
|
32
|
+
--max-searches <n> Cap the number of live grounding searches during seed ingestion
|
|
33
|
+
-h, --help Show this help
|
|
34
|
+
`);
|
|
35
|
+
process.exit(0);
|
|
36
|
+
}
|
|
37
|
+
if (!options.scenarioPath) {
|
|
38
|
+
console.error(' Scenario JSON path required. Run with --help for usage.');
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
const jsonPath = resolve(options.scenarioPath);
|
|
42
|
+
console.log(`\n Compiling scenario: ${jsonPath}`);
|
|
43
|
+
console.log(` Provider: ${options.provider} | Model: ${options.model} | Cache: ${options.cache}`);
|
|
44
|
+
if (options.seedUrl) {
|
|
45
|
+
console.log(` Seed URL: ${options.seedUrl} | Web search: ${options.webSearch} | Max searches: ${options.maxSearches ?? 5}`);
|
|
46
|
+
}
|
|
47
|
+
else if (options.seedText) {
|
|
48
|
+
console.log(` Seed text: ${Math.min(options.seedText.length, 160)} chars | Web search: ${options.webSearch} | Max searches: ${options.maxSearches ?? 5}`);
|
|
49
|
+
}
|
|
50
|
+
console.log();
|
|
51
|
+
let scenarioJson;
|
|
52
|
+
try {
|
|
53
|
+
scenarioJson = JSON.parse(readFileSync(jsonPath, 'utf-8'));
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
console.error(` Error reading ${jsonPath}: ${err}`);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
const scenario = await compileScenario(scenarioJson, {
|
|
60
|
+
provider: options.provider,
|
|
61
|
+
model: options.model,
|
|
62
|
+
cache: options.cache,
|
|
63
|
+
cacheDir: options.cacheDir,
|
|
64
|
+
seedText: options.seedText,
|
|
65
|
+
seedUrl: options.seedUrl,
|
|
66
|
+
webSearch: options.webSearch,
|
|
67
|
+
maxSearches: options.maxSearches,
|
|
68
|
+
onProgress(hookName, status) {
|
|
69
|
+
const icons = {
|
|
70
|
+
generating: '...',
|
|
71
|
+
cached: '(cached)',
|
|
72
|
+
done: 'done',
|
|
73
|
+
fallback: 'FALLBACK',
|
|
74
|
+
};
|
|
75
|
+
if (status === 'generating') {
|
|
76
|
+
process.stdout.write(` Generating ${hookName}... `);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
console.log(icons[status] ?? status);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
console.log(`\n Scenario compiled: ${scenario.id} v${scenario.version}`);
|
|
84
|
+
console.log(` Departments: ${scenario.departments.map(d => d.id).join(', ')}`);
|
|
85
|
+
console.log(` Hooks: ${Object.keys(scenario.hooks).filter(k => scenario.hooks[k]).join(', ')}`);
|
|
86
|
+
console.log(` Ready for: runSimulation(leader, personnel, { scenario })\n`);
|
|
87
|
+
}
|
|
88
|
+
main().catch((err) => {
|
|
89
|
+
console.error('Compile failed:', err);
|
|
90
|
+
process.exit(1);
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/cli/compile.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBf,CAAC,CAAC;QACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/C,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,QAAQ,aAAa,OAAO,CAAC,KAAK,aAAa,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACnG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,OAAO,kBAAkB,OAAO,CAAC,SAAS,oBAAoB,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/H,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,OAAO,CAAC,SAAS,oBAAoB,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7J,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,YAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE;QACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,CAAC,QAAQ,EAAE,MAAM;YACzB,MAAM,KAAK,GAA2B;gBACpC,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,UAAU;aACrB,CAAC;YACF,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,MAAM,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,QAAQ,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1G,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;AAC/E,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ScenarioPackage } from '../engine/types.js';
|
|
2
|
+
export type CustomScenarioSource = 'memory' | 'disk' | 'compiled' | 'builtin';
|
|
3
|
+
export interface CustomScenarioEntry {
|
|
4
|
+
scenario: ScenarioPackage;
|
|
5
|
+
source: CustomScenarioSource;
|
|
6
|
+
}
|
|
7
|
+
export declare function isRunnableScenarioPackage(value: unknown): value is ScenarioPackage;
|
|
8
|
+
export declare function loadDiskCustomScenarios(scenarioDir: string): Map<string, CustomScenarioEntry>;
|
|
9
|
+
export declare function describeCustomScenarioSource(source: CustomScenarioSource): string;
|
|
10
|
+
//# sourceMappingURL=custom-scenarios.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-scenarios.d.ts","sourceRoot":"","sources":["../../src/cli/custom-scenarios.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAcD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAwClF;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAmB7F;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAKjF"}
|