@agent-e/core 1.5.0 → 1.5.2

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @agent-e/core
2
2
 
3
- Autonomous economic balancer SDK. 60 built-in principles, 5-stage pipeline, zero dependencies.
3
+ Autonomous economic balancer SDK. 60 built-in principles, 5-stage pipeline, zero dependencies. Works with any digital economy — games, DeFi, marketplaces, token systems, social platforms.
4
4
 
5
5
  ## Install
6
6
 
@@ -13,40 +13,38 @@ npm install @agent-e/core
13
13
  ```typescript
14
14
  import { AgentE } from '@agent-e/core';
15
15
 
16
- const adapter = {
17
- getState: () => ({
18
- tick: currentTick,
19
- currencies: ['gold', 'gems'],
20
- agentBalances: {
21
- player1: { gold: 100, gems: 50 },
22
- player2: { gold: 200, gems: 10 },
23
- },
24
- agentRoles: { /* id role */ },
25
- agentInventories: { /* id → { resource → qty } */ },
26
- marketPrices: {
27
- gold: { sword: 10, potion: 5 },
28
- gems: { sword: 2, potion: 1 },
16
+ const agent = new AgentE({
17
+ adapter: {
18
+ getState: () => ({
19
+ tick: currentTick,
20
+ currencies: ['credits', 'tokens'],
21
+ systems: ['exchange', 'rewards'],
22
+ agentBalances: {
23
+ user_a: { credits: 500, tokens: 20 },
24
+ user_b: { credits: 300, tokens: 80 },
25
+ },
26
+ agentRoles: { user_a: 'provider', user_b: 'consumer' },
27
+ marketPrices: {
28
+ credits: { service_a: 10, service_b: 25 },
29
+ },
30
+ agentSatisfaction: { user_a: 72, user_b: 85 },
31
+ poolSizes: { rewardPool: { credits: 5000 } },
32
+ roles: ['provider', 'consumer'],
33
+ resources: ['service_a', 'service_b'],
34
+ recentTransactions: [],
35
+ }),
36
+ setParam: async (param, value, scope) => {
37
+ applyToYourEconomy(param, value, scope);
29
38
  },
30
- agentSatisfaction: { /* id → 0-100 */ },
31
- poolSizes: { rewardPool: { gold: 500, gems: 100 } },
32
- roles: ['warrior', 'mage'],
33
- resources: ['sword', 'potion'],
34
- recentTransactions: [],
35
- }),
36
- setParam: async (param, value, currency) => {
37
- // currency tells you which economy to adjust
38
- applyToYourEconomy(param, value, currency);
39
39
  },
40
- };
41
-
42
- const agent = new AgentE({
43
- adapter,
44
- mode: 'advisor', // or 'autonomous'
40
+ parameters: [
41
+ { key: 'exchangeFee', type: 'fee', flowImpact: 'friction', scope: { system: 'exchange' } },
42
+ { key: 'dailyReward', type: 'reward', flowImpact: 'faucet', scope: { system: 'rewards' } },
43
+ ],
44
+ mode: 'advisor',
45
45
  });
46
46
 
47
- agent.connect(adapter).start();
48
-
49
- // Call once per tick in your loop:
47
+ agent.start();
50
48
  await agent.tick();
51
49
  ```
52
50
 
@@ -58,16 +56,29 @@ await agent.tick();
58
56
  4. **Planner** — Lag-aware, cooldown-aware planning with rollback conditions
59
57
  5. **Executor** — Applies actions and monitors for rollback triggers
60
58
 
61
- ## Multi-Currency Support
59
+ ## Parameter Registry
60
+
61
+ Register your economy's parameters with semantic types and flow impacts:
62
62
 
63
- AgentE tracks each currency independently. Every currency gets its own:
64
- - Supply, net flow, velocity, inflation rate
65
- - Gini coefficient, median/mean balance, wealth distribution
66
- - Faucet/sink volumes, pool sizes
67
- - Price index, arbitrage index
63
+ ```typescript
64
+ parameters: [
65
+ { key: 'tradeFee', type: 'fee', flowImpact: 'friction', scope: { system: 'trading' } },
66
+ { key: 'mintReward', type: 'reward', flowImpact: 'faucet', scope: { system: 'minting' } },
67
+ { key: 'burnRate', type: 'rate', flowImpact: 'sink', scope: { system: 'burning' } },
68
+ { key: 'lpYield', type: 'yield', flowImpact: 'faucet', scope: { system: 'liquidity', currency: 'tokens' } },
69
+ { key: 'platformCut', type: 'fee', flowImpact: 'sink', scope: { system: 'marketplace', tags: ['operator'] } },
70
+ ]
71
+ ```
72
+
73
+ Principles target types (e.g., "decrease `fee` in `trading`"), and the registry resolves to your concrete parameter name.
74
+
75
+ ## Multi-System, Multi-Currency
68
76
 
69
- When a principle detects an issue, the violation tells you which currency
70
- is unhealthy and the suggested action is scoped to that currency.
77
+ AgentE tracks each system and currency independently:
78
+
79
+ - Per-currency: supply, net flow, velocity, inflation, Gini, wealth distribution, faucet/sink volumes, price index
80
+ - Per-system: flow, activity, participant count
81
+ - Cross-system: arbitrage index, source/sink share analysis
71
82
 
72
83
  ## Modes
73
84
 
@@ -76,36 +87,15 @@ is unhealthy and the suggested action is scoped to that currency.
76
87
  | `autonomous` | Full pipeline — executes parameter changes automatically |
77
88
  | `advisor` | Full pipeline but stops before execution — emits recommendations via `onDecision` |
78
89
 
79
- ## 60 Principles
80
-
81
- Organized across 15 categories: supply chain, incentives, population, currency flow, bootstrap, feedback loops, regulator, market dynamics, measurement, statistical, system dynamics, resource management, player experience, open economy, and liveops.
82
-
83
- Each principle has a `check(metrics, thresholds)` function that returns either `{ violated: false }` or a violation with severity, evidence, suggested action, confidence, and estimated lag.
84
-
85
- ## Tick Configuration
86
-
87
- ```typescript
88
- const agent = new AgentE({
89
- adapter: yourAdapter,
90
- tickConfig: {
91
- duration: 5, // one tick = 5 seconds
92
- unit: 'second',
93
- mediumWindow: 12, // medium metrics = every 12 ticks (60s)
94
- coarseWindow: 120, // coarse metrics = every 120 ticks (10min)
95
- },
96
- });
97
- ```
98
-
99
90
  ## Developer API
100
91
 
101
92
  ```typescript
102
93
  // Lock a parameter from automated adjustment
103
- agent.lock('productionCost'); // lock for ALL currencies
104
- // Future: agent.lock('productionCost', 'gems'); // lock for specific currency
105
- agent.unlock('productionCost');
94
+ agent.lock('exchangeFee');
95
+ agent.unlock('exchangeFee');
106
96
 
107
97
  // Constrain a parameter to a range
108
- agent.constrain('transactionFee', { min: 0.01, max: 0.50 });
98
+ agent.constrain('dailyReward', { min: 1, max: 100 });
109
99
 
110
100
  // Add a custom principle
111
101
  agent.addPrinciple(myPrinciple);
@@ -115,7 +105,7 @@ agent.registerCustomMetric('myMetric', (state) => compute(state));
115
105
 
116
106
  // Veto actions
117
107
  agent.on('beforeAction', (plan) => {
118
- if (plan.targetValue > 2.0) return false;
108
+ if (plan.parameterType === 'reward') return false;
119
109
  });
120
110
 
121
111
  // Query decision history
@@ -135,21 +125,22 @@ import type { Principle } from '@agent-e/core';
135
125
 
136
126
  const myRule: Principle = {
137
127
  id: 'MY_01',
138
- name: 'Support Role Population Floor',
128
+ name: 'Provider Population Floor',
139
129
  category: 'population',
140
- description: 'Support role share below 5% is a crisis',
130
+ description: 'Provider role share below 5% is a crisis',
141
131
  check(metrics, thresholds) {
142
- const share = metrics.roleShares['support'] ?? 0;
132
+ const share = metrics.roleShares['provider'] ?? 0;
143
133
  if (share < 0.05) {
144
134
  return {
145
135
  violated: true,
146
136
  severity: 8,
147
137
  evidence: { share },
148
138
  suggestedAction: {
149
- parameter: 'supportReward',
139
+ parameterType: 'reward',
140
+ scope: { tags: ['provider'] },
150
141
  direction: 'increase',
151
142
  magnitude: 0.25,
152
- reasoning: 'Support role population critically low.',
143
+ reasoning: 'Provider population critically low.',
153
144
  },
154
145
  confidence: 0.90,
155
146
  estimatedLag: 10,
@@ -162,14 +153,23 @@ const myRule: Principle = {
162
153
  agent.addPrinciple(myRule);
163
154
  ```
164
155
 
156
+ ## 60 Principles
157
+
158
+ Organized across 15 categories: supply chain, incentives, population, currency flow, bootstrap, feedback loops, regulator, market dynamics, measurement, statistical, system dynamics, resource management, participant experience, open economy, and operations.
159
+
165
160
  ## Performance
166
161
 
167
162
  - **O(N) event classification** — single-pass instead of 6 separate filters
163
+ - **O(n) arbitrage index** — log-price standard deviation instead of pairwise
168
164
  - **Cached diagnosis** — no redundant principle checks within the same tick
169
- - **Numerical stability** — clamped inputs to prevent NaN edge cases
165
+ - **Numerical stability** — clamped inputs to prevent NaN/Infinity edge cases
170
166
 
171
167
  Typical for 1,000 agents, 100 events/tick: ~60ms end-to-end.
172
168
 
173
169
  ## License
174
170
 
175
171
  MIT
172
+
173
+ ---
174
+
175
+ **Built by Oka × Claude — AB Labs**
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  /** High-level parameter categories (what it IS, not what it's called) */
2
2
  type ParameterType = 'cost' | 'fee' | 'reward' | 'yield' | 'rate' | 'cap' | 'penalty' | 'multiplier' | string;
3
3
  /** How a parameter change affects net currency flow */
4
- type FlowImpact = 'sink' | 'faucet' | 'neutral' | 'mixed';
4
+ type FlowImpact = 'sink' | 'faucet' | 'neutral' | 'mixed' | 'friction' | 'redistribution';
5
5
  /** Scope narrows which concrete parameter a type resolves to */
6
6
  interface ParameterScope {
7
7
  system?: string;
@@ -22,6 +22,16 @@ interface RegisteredParameter {
22
22
  currentValue?: number;
23
23
  /** Human-readable description */
24
24
  description?: string;
25
+ /** Priority tiebreaker — higher wins when specificity scores are equal */
26
+ priority?: number;
27
+ /** Human-readable label for UIs and logs */
28
+ label?: string;
29
+ }
30
+ /** Result of registry.validate() */
31
+ interface RegistryValidationResult {
32
+ valid: boolean;
33
+ warnings: string[];
34
+ errors: string[];
25
35
  }
26
36
  declare class ParameterRegistry {
27
37
  private parameters;
@@ -33,11 +43,12 @@ declare class ParameterRegistry {
33
43
  * Resolve a parameterType + scope to a concrete RegisteredParameter.
34
44
  * Returns the best match, or undefined if no match.
35
45
  *
36
- * Matching rules (in priority order):
37
- * 1. Exact type match + all scope fields match
38
- * 2. Exact type match + partial scope match (tags overlap)
39
- * 3. Exact type match + no scope constraints
40
- * 4. undefined (no match)
46
+ * Matching rules:
47
+ * 1. Filter candidates by type
48
+ * 2. Score each by scope specificity (system +10, currency +5, tags +3 each)
49
+ * 3. Mismatched scope fields disqualify (score = -Infinity)
50
+ * 4. Ties broken by `priority` (higher wins), then registration order
51
+ * 5. All disqualified → undefined
41
52
  */
42
53
  resolve(type: ParameterType, scope?: Partial<ParameterScope>): RegisteredParameter | undefined;
43
54
  /** Find all parameters of a given type. */
@@ -54,7 +65,12 @@ declare class ParameterRegistry {
54
65
  getAll(): RegisteredParameter[];
55
66
  /** Number of registered parameters. */
56
67
  get size(): number;
57
- private scopeMatchScore;
68
+ /**
69
+ * Validate the registry for common misconfigurations.
70
+ * Returns warnings (non-fatal) and errors (likely broken).
71
+ */
72
+ validate(): RegistryValidationResult;
73
+ private scopeSpecificity;
58
74
  }
59
75
 
60
76
  type EconomicEventType = 'trade' | 'mint' | 'burn' | 'transfer' | 'produce' | 'consume' | 'role_change' | 'enter' | 'churn';
@@ -143,6 +159,9 @@ interface EconomyMetrics {
143
159
  giftTradeRatio: number;
144
160
  disposalTradeRatioByCurrency: Record<string, number>;
145
161
  disposalTradeRatio: number;
162
+ systems: string[];
163
+ sources: string[];
164
+ sinks: string[];
146
165
  flowBySystem: Record<string, number>;
147
166
  activityBySystem: Record<string, number>;
148
167
  participantsBySystem: Record<string, number>;
@@ -284,7 +303,7 @@ interface Thresholds {
284
303
  maxAdjustmentPercent: number;
285
304
  cooldownTicks: number;
286
305
  poolWinRate: number;
287
- poolHouseCut: number;
306
+ poolOperatorShare: number;
288
307
  roleSwitchFrictionMax: number;
289
308
  poolCapPercent: number;
290
309
  poolDecayRate: number;
@@ -313,6 +332,16 @@ interface TickConfig {
313
332
  /** Coarse-resolution metric window in ticks. Default: 100 */
314
333
  coarseWindow?: number;
315
334
  }
335
+ interface SimulationConfig {
336
+ sinkMultiplier?: number;
337
+ faucetMultiplier?: number;
338
+ frictionMultiplier?: number;
339
+ frictionVelocityScale?: number;
340
+ redistributionMultiplier?: number;
341
+ neutralMultiplier?: number;
342
+ minIterations?: number;
343
+ maxProjectionTicks?: number;
344
+ }
316
345
  type AgentEMode = 'autonomous' | 'advisor';
317
346
  interface AgentEConfig {
318
347
  adapter: EconomyAdapter;
@@ -320,11 +349,15 @@ interface AgentEConfig {
320
349
  dominantRoles?: string[];
321
350
  idealDistribution?: Record<string, number>;
322
351
  parameters?: RegisteredParameter[];
352
+ /** Run registry.validate() on startup and log warnings/errors (default: true) */
353
+ validateRegistry?: boolean;
323
354
  tickConfig?: Partial<TickConfig>;
324
355
  gracePeriod?: number;
325
356
  checkInterval?: number;
326
357
  maxAdjustmentPercent?: number;
327
358
  cooldownTicks?: number;
359
+ simulation?: SimulationConfig;
360
+ settlementWindowTicks?: number;
328
361
  thresholds?: Partial<Thresholds>;
329
362
  onDecision?: (entry: DecisionEntry) => void;
330
363
  onAlert?: (diagnosis: Diagnosis) => void;
@@ -482,8 +515,10 @@ declare class Observer {
482
515
  declare class Simulator {
483
516
  private diagnoser;
484
517
  private registry;
485
- constructor(registry?: ParameterRegistry);
486
- private beforeViolationsCache;
518
+ private simConfig;
519
+ constructor(registry?: ParameterRegistry, simConfig?: SimulationConfig);
520
+ private cachedViolationsTick;
521
+ private cachedViolations;
487
522
  /**
488
523
  * Simulate the effect of applying `action` to the current economy forward `forwardTicks`.
489
524
  * Runs `iterations` Monte Carlo trials and returns the outcome distribution.
@@ -514,6 +549,7 @@ declare class Planner {
514
549
  private lockedParams;
515
550
  private constraints;
516
551
  private cooldowns;
552
+ private typeCooldowns;
517
553
  private activePlanCount;
518
554
  lock(param: string): void;
519
555
  unlock(param: string): void;
@@ -534,10 +570,19 @@ declare class Planner {
534
570
  isOnCooldown(param: string, currentTick: number, cooldownTicks: number): boolean;
535
571
  /** Reset all cooldowns (useful for testing) */
536
572
  resetCooldowns(): void;
573
+ /** V1.5.2: Reset active plan count (e.g., on system restart) */
574
+ resetActivePlans(): void;
575
+ /** V1.5.2: Current active plan count (for diagnostics) */
576
+ getActivePlanCount(): number;
577
+ private typeCooldownKey;
578
+ private isTypeCooldown;
537
579
  }
538
580
 
581
+ type ExecutionResult = 'applied' | 'rolled_back' | 'rollback_skipped';
539
582
  declare class Executor {
540
583
  private activePlans;
584
+ private maxActiveTicks;
585
+ constructor(settlementWindowTicks?: number);
541
586
  apply(plan: ActionPlan, adapter: EconomyAdapter, currentParams: Record<string, number>): Promise<void>;
542
587
  /**
543
588
  * Check all active plans for rollback conditions.
@@ -553,6 +598,7 @@ declare class Executor {
553
598
 
554
599
  declare class PersonaTracker {
555
600
  private agentHistory;
601
+ private lastSeen;
556
602
  /** Ingest a state snapshot and update agent signal history */
557
603
  update(state: EconomyState): void;
558
604
  /** Classify all agents and return persona distribution */
@@ -560,6 +606,20 @@ declare class PersonaTracker {
560
606
  private classify;
561
607
  }
562
608
 
609
+ /**
610
+ * Find the system with the worst metric value.
611
+ * Works with flat Record<string, number> maps like flowBySystem.
612
+ *
613
+ * @param metrics - Current economy metrics snapshot
614
+ * @param check - Function that returns a numeric "badness" score per system (higher = worse)
615
+ * @param tolerancePercent - Only flag if the worst system exceeds the average by this % (default 0)
616
+ * @returns The system name and its score, or undefined if no systems or none exceeds tolerance
617
+ */
618
+ declare function findWorstSystem(metrics: EconomyMetrics, check: (systemName: string, metrics: EconomyMetrics) => number, tolerancePercent?: number): {
619
+ system: string;
620
+ score: number;
621
+ } | undefined;
622
+
563
623
  interface ValidationError {
564
624
  path: string;
565
625
  expected: string;
@@ -590,14 +650,14 @@ declare const P4_MaterialsFlowFasterThanCooldown: Principle;
590
650
  declare const P60_SurplusDisposalAsymmetry: Principle;
591
651
  declare const SUPPLY_CHAIN_PRINCIPLES: Principle[];
592
652
 
593
- declare const P5_ProfitabilityIsCompetitive: Principle;
653
+ declare const P5_ProfitabilityIsRelative: Principle;
594
654
  declare const P6_CrowdingMultiplierOnAllRoles: Principle;
595
655
  declare const P7_NonSpecialistsSubsidiseSpecialists: Principle;
596
656
  declare const P8_RegulatorCannotFightDesign: Principle;
597
657
  declare const INCENTIVE_PRINCIPLES: Principle[];
598
658
 
599
659
  declare const P9_RoleSwitchingNeedsFriction: Principle;
600
- declare const P10_SpawnWeightingUsesInversePopulation: Principle;
660
+ declare const P10_EntryWeightingUsesInversePopulation: Principle;
601
661
  declare const P11_TwoTierPressure: Principle;
602
662
  declare const P46_PersonaDiversity: Principle;
603
663
  declare const POPULATION_PRINCIPLES: Principle[];
@@ -630,8 +690,8 @@ declare const P28_StructuralDominanceIsNotPathological: Principle;
630
690
  declare const P38_CommunicationPreventsRevolt: Principle;
631
691
  declare const REGULATOR_PRINCIPLES: Principle[];
632
692
 
633
- declare const P29_PinchPoint: Principle;
634
- declare const P30_MovingPinchPoint: Principle;
693
+ declare const P29_BottleneckDetection: Principle;
694
+ declare const P30_DynamicBottleneckRotation: Principle;
635
695
  declare const P57_CombinatorialPriceSpace: Principle;
636
696
  declare const MARKET_DYNAMICS_PRINCIPLES: Principle[];
637
697
 
@@ -666,14 +726,14 @@ declare const P47_SmokeTest: Principle;
666
726
  declare const P48_CurrencyInsulation: Principle;
667
727
  declare const OPEN_ECONOMY_PRINCIPLES: Principle[];
668
728
 
669
- declare const P51_SharkTooth: Principle;
729
+ declare const P51_CyclicalEngagement: Principle;
670
730
  declare const P52_EndowmentEffect: Principle;
671
731
  declare const P53_EventCompletionRate: Principle;
672
- declare const P54_LiveOpsCadence: Principle;
673
- declare const P56_ContentDropShock: Principle;
732
+ declare const P54_OperationalCadence: Principle;
733
+ declare const P56_SupplyShockAbsorption: Principle;
674
734
  declare const OPERATIONS_PRINCIPLES: Principle[];
675
735
 
676
736
  /** All 60 built-in principles in priority order (supply chain → operations) */
677
737
  declare const ALL_PRINCIPLES: Principle[];
678
738
 
679
- export { ALL_PRINCIPLES, type ActionPlan, AgentE, type AgentEConfig, type AgentEMode, BOOTSTRAP_PRINCIPLES, CURRENCY_FLOW_PRINCIPLES, DEFAULT_THRESHOLDS, type DecisionEntry, DecisionLog, type DecisionResult, Diagnoser, type Diagnosis, type EconomicEvent, type EconomicEventType, type EconomyAdapter, type EconomyMetrics, type EconomyState, Executor, FEEDBACK_LOOP_PRINCIPLES, type FlowImpact, INCENTIVE_PRINCIPLES, MARKET_DYNAMICS_PRINCIPLES, MEASUREMENT_PRINCIPLES, type MetricQuery, type MetricQueryResult, type MetricResolution, MetricStore, OPEN_ECONOMY_PRINCIPLES, OPERATIONS_PRINCIPLES, Observer, P10_SpawnWeightingUsesInversePopulation, P11_TwoTierPressure, P12_OnePrimaryFaucet, P13_PotsAreZeroSumAndSelfRegulate, P14_TrackActualInjection, P15_PoolsNeedCapAndDecay, P16_WithdrawalPenaltyScales, P17_GracePeriodBeforeIntervention, P18_FirstProducerNeedsStartingInventory, P19_StartingSupplyExceedsDemand, P1_ProductionMatchesConsumption, P20_DecayPreventsAccumulation, P21_PriceFromGlobalSupply, P22_MarketAwarenessPreventsSurplus, P23_ProfitabilityFactorsFeasibility, P24_BlockedAgentsDecayFaster, P25_CorrectLeversForCorrectProblems, P26_ContinuousPressureBeatsThresholdCuts, P27_AdjustmentsNeedCooldowns, P28_StructuralDominanceIsNotPathological, P29_PinchPoint, P2_ClosedLoopsNeedDirectHandoff, P30_MovingPinchPoint, P31_AnchorValueTracking, P32_VelocityAboveSupply, P33_FairNotEqual, P34_ExtractionRatio, P35_DestructionCreatesValue, P36_MechanicFrictionDetector, P37_LatecommerProblem, P38_CommunicationPreventsRevolt, P39_TheLagPrinciple, P3_BootstrapCapitalCoversFirstTransaction, P40_ReplacementRate, P41_MultiResolutionMonitoring, P42_TheMedianPrinciple, P43_SimulationMinimum, P44_ComplexityBudget, P45_TimeBudget, P46_PersonaDiversity, P47_SmokeTest, P48_CurrencyInsulation, P49_IdleAssetTax, P4_MaterialsFlowFasterThanCooldown, P50_PayPowerRatio, P51_SharkTooth, P52_EndowmentEffect, P53_EventCompletionRate, P54_LiveOpsCadence, P55_ArbitrageThermometer, P56_ContentDropShock, P57_CombinatorialPriceSpace, P58_NoNaturalNumeraire, P59_GiftEconomyNoise, P5_ProfitabilityIsCompetitive, P60_SurplusDisposalAsymmetry, P6_CrowdingMultiplierOnAllRoles, P7_NonSpecialistsSubsidiseSpecialists, P8_RegulatorCannotFightDesign, P9_RoleSwitchingNeedsFriction, PARTICIPANT_EXPERIENCE_PRINCIPLES, PERSONA_HEALTHY_RANGES, POPULATION_PRINCIPLES, ParameterRegistry, type ParameterScope, type ParameterType, type PersonaProfile, PersonaTracker, type PersonaType, type PinchPointStatus, Planner, type Principle, type PrincipleCategory, type PrincipleOk, type PrincipleResult, type PrincipleViolation, REGULATOR_PRINCIPLES, RESOURCE_MGMT_PRINCIPLES, type RegisteredParameter, type RollbackCondition, STATISTICAL_PRINCIPLES, SUPPLY_CHAIN_PRINCIPLES, SYSTEM_DYNAMICS_PRINCIPLES, type SimulationOutcome, type SimulationResult, Simulator, type SuggestedAction, type Thresholds, type TickConfig, type ValidationError, type ValidationResult, type ValidationWarning, emptyMetrics, validateEconomyState };
739
+ export { ALL_PRINCIPLES, type ActionPlan, AgentE, type AgentEConfig, type AgentEMode, BOOTSTRAP_PRINCIPLES, CURRENCY_FLOW_PRINCIPLES, DEFAULT_THRESHOLDS, type DecisionEntry, DecisionLog, type DecisionResult, Diagnoser, type Diagnosis, type EconomicEvent, type EconomicEventType, type EconomyAdapter, type EconomyMetrics, type EconomyState, type ExecutionResult, Executor, FEEDBACK_LOOP_PRINCIPLES, type FlowImpact, INCENTIVE_PRINCIPLES, MARKET_DYNAMICS_PRINCIPLES, MEASUREMENT_PRINCIPLES, type MetricQuery, type MetricQueryResult, type MetricResolution, MetricStore, OPEN_ECONOMY_PRINCIPLES, OPERATIONS_PRINCIPLES, Observer, P10_EntryWeightingUsesInversePopulation, P11_TwoTierPressure, P12_OnePrimaryFaucet, P13_PotsAreZeroSumAndSelfRegulate, P14_TrackActualInjection, P15_PoolsNeedCapAndDecay, P16_WithdrawalPenaltyScales, P17_GracePeriodBeforeIntervention, P18_FirstProducerNeedsStartingInventory, P19_StartingSupplyExceedsDemand, P1_ProductionMatchesConsumption, P20_DecayPreventsAccumulation, P21_PriceFromGlobalSupply, P22_MarketAwarenessPreventsSurplus, P23_ProfitabilityFactorsFeasibility, P24_BlockedAgentsDecayFaster, P25_CorrectLeversForCorrectProblems, P26_ContinuousPressureBeatsThresholdCuts, P27_AdjustmentsNeedCooldowns, P28_StructuralDominanceIsNotPathological, P29_BottleneckDetection, P2_ClosedLoopsNeedDirectHandoff, P30_DynamicBottleneckRotation, P31_AnchorValueTracking, P32_VelocityAboveSupply, P33_FairNotEqual, P34_ExtractionRatio, P35_DestructionCreatesValue, P36_MechanicFrictionDetector, P37_LatecommerProblem, P38_CommunicationPreventsRevolt, P39_TheLagPrinciple, P3_BootstrapCapitalCoversFirstTransaction, P40_ReplacementRate, P41_MultiResolutionMonitoring, P42_TheMedianPrinciple, P43_SimulationMinimum, P44_ComplexityBudget, P45_TimeBudget, P46_PersonaDiversity, P47_SmokeTest, P48_CurrencyInsulation, P49_IdleAssetTax, P4_MaterialsFlowFasterThanCooldown, P50_PayPowerRatio, P51_CyclicalEngagement, P52_EndowmentEffect, P53_EventCompletionRate, P54_OperationalCadence, P55_ArbitrageThermometer, P56_SupplyShockAbsorption, P57_CombinatorialPriceSpace, P58_NoNaturalNumeraire, P59_GiftEconomyNoise, P5_ProfitabilityIsRelative, P60_SurplusDisposalAsymmetry, P6_CrowdingMultiplierOnAllRoles, P7_NonSpecialistsSubsidiseSpecialists, P8_RegulatorCannotFightDesign, P9_RoleSwitchingNeedsFriction, PARTICIPANT_EXPERIENCE_PRINCIPLES, PERSONA_HEALTHY_RANGES, POPULATION_PRINCIPLES, ParameterRegistry, type ParameterScope, type ParameterType, type PersonaProfile, PersonaTracker, type PersonaType, type PinchPointStatus, Planner, type Principle, type PrincipleCategory, type PrincipleOk, type PrincipleResult, type PrincipleViolation, REGULATOR_PRINCIPLES, RESOURCE_MGMT_PRINCIPLES, type RegisteredParameter, type RegistryValidationResult, type RollbackCondition, STATISTICAL_PRINCIPLES, SUPPLY_CHAIN_PRINCIPLES, SYSTEM_DYNAMICS_PRINCIPLES, type SimulationConfig, type SimulationOutcome, type SimulationResult, Simulator, type SuggestedAction, type Thresholds, type TickConfig, type ValidationError, type ValidationResult, type ValidationWarning, emptyMetrics, findWorstSystem, validateEconomyState };