@idlekit/core 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/index.d.ts +12 -0
  2. package/dist/index.js +12 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/scenario/compile.d.ts +25 -0
  5. package/dist/scenario/compile.js +60 -0
  6. package/dist/scenario/compile.js.map +1 -1
  7. package/dist/scenario/scenarioContract.d.ts +152 -0
  8. package/dist/scenario/scenarioContract.js +2815 -0
  9. package/dist/scenario/scenarioContract.js.map +1 -0
  10. package/dist/sim/analysis/analyzers.d.ts +245 -0
  11. package/dist/sim/analysis/analyzers.js +1076 -0
  12. package/dist/sim/analysis/analyzers.js.map +1 -0
  13. package/dist/sim/analysis/contracts.d.ts +147 -0
  14. package/dist/sim/analysis/contracts.js +1230 -0
  15. package/dist/sim/analysis/contracts.js.map +1 -0
  16. package/dist/sim/analysis/distribution.d.ts +199 -0
  17. package/dist/sim/analysis/distribution.js +1246 -0
  18. package/dist/sim/analysis/distribution.js.map +1 -0
  19. package/dist/sim/analysis/eta.d.ts +118 -0
  20. package/dist/sim/analysis/eta.js +968 -70
  21. package/dist/sim/analysis/eta.js.map +1 -1
  22. package/dist/sim/analysis/experiment.d.ts +300 -0
  23. package/dist/sim/analysis/experiment.js +2206 -0
  24. package/dist/sim/analysis/experiment.js.map +1 -0
  25. package/dist/sim/analysis/growth.d.ts +2 -0
  26. package/dist/sim/analysis/growth.js +5 -1
  27. package/dist/sim/analysis/growth.js.map +1 -1
  28. package/dist/sim/analysis/growthFit.d.ts +183 -0
  29. package/dist/sim/analysis/growthFit.js +1798 -0
  30. package/dist/sim/analysis/growthFit.js.map +1 -0
  31. package/dist/sim/analysis/inspect.d.ts +236 -0
  32. package/dist/sim/analysis/inspect.js +388 -0
  33. package/dist/sim/analysis/inspect.js.map +1 -0
  34. package/dist/sim/analysis/metrics.d.ts +91 -0
  35. package/dist/sim/analysis/metrics.js +266 -0
  36. package/dist/sim/analysis/metrics.js.map +1 -0
  37. package/dist/sim/analysis/prestigeCycle.d.ts +6 -0
  38. package/dist/sim/analysis/prestigeCycle.js +10 -1
  39. package/dist/sim/analysis/prestigeCycle.js.map +1 -1
  40. package/dist/sim/analysis/registry.d.ts +41 -0
  41. package/dist/sim/analysis/registry.js +54 -0
  42. package/dist/sim/analysis/registry.js.map +1 -0
  43. package/dist/sim/analysis/resetActions.d.ts +7 -0
  44. package/dist/sim/analysis/resetActions.js +45 -0
  45. package/dist/sim/analysis/resetActions.js.map +1 -0
  46. package/dist/sim/analysis/resetCycle.d.ts +175 -0
  47. package/dist/sim/analysis/resetCycle.js +1009 -0
  48. package/dist/sim/analysis/resetCycle.js.map +1 -0
  49. package/dist/sim/analysis/resetOptimization.d.ts +198 -0
  50. package/dist/sim/analysis/resetOptimization.js +2187 -0
  51. package/dist/sim/analysis/resetOptimization.js.map +1 -0
  52. package/dist/sim/analysis/sensitivity.d.ts +73 -0
  53. package/dist/sim/analysis/sensitivity.js +160 -0
  54. package/dist/sim/analysis/sensitivity.js.map +1 -0
  55. package/dist/sim/monteCarlo.d.ts +12 -0
  56. package/dist/sim/monteCarlo.js +33 -4
  57. package/dist/sim/monteCarlo.js.map +1 -1
  58. package/dist/sim/observation.d.ts +22 -0
  59. package/dist/sim/observation.js +33 -0
  60. package/dist/sim/observation.js.map +1 -1
  61. package/dist/sim/offline.js +9 -2
  62. package/dist/sim/offline.js.map +1 -1
  63. package/dist/sim/random.d.ts +15 -0
  64. package/dist/sim/random.js +28 -0
  65. package/dist/sim/random.js.map +1 -1
  66. package/dist/sim/session.d.ts +7 -0
  67. package/dist/sim/session.js +13 -0
  68. package/dist/sim/session.js.map +1 -1
  69. package/dist/sim/simulator.js +7 -1
  70. package/dist/sim/simulator.js.map +1 -1
  71. package/dist/sim/step.d.ts +67 -1
  72. package/dist/sim/step.js +100 -18
  73. package/dist/sim/step.js.map +1 -1
  74. package/dist/sim/strategy/opt/freshRun.d.ts +3 -0
  75. package/dist/sim/strategy/opt/freshRun.js +6 -0
  76. package/dist/sim/strategy/opt/freshRun.js.map +1 -0
  77. package/dist/sim/strategy/opt/runner.js +2 -2
  78. package/dist/sim/strategy/opt/runner.js.map +1 -1
  79. package/dist/sim/strategy/planner.d.ts +26 -0
  80. package/dist/sim/strategy/planner.js +30 -0
  81. package/dist/sim/strategy/planner.js.map +1 -1
  82. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -15,6 +15,7 @@ export * from "./scenario/types";
15
15
  export * from "./scenario/registry";
16
16
  export * from "./scenario/validate";
17
17
  export * from "./scenario/concreteValidator";
18
+ export * from "./scenario/scenarioContract";
18
19
  export * from "./scenario/migrate";
19
20
  export * from "./scenario/compile";
20
21
  export * from "./sim/types";
@@ -48,9 +49,20 @@ export * from "./sim/strategy/opt/tuners/randomSearch";
48
49
  export * from "./sim/strategy/opt/runner";
49
50
  export * from "./sim/analysis/eta";
50
51
  export * from "./sim/analysis/prestigeCycle";
52
+ export * from "./sim/analysis/resetCycle";
53
+ export * from "./sim/analysis/resetOptimization";
54
+ export * from "./sim/analysis/distribution";
55
+ export * from "./sim/analysis/experiment";
56
+ export * from "./sim/analysis/sensitivity";
51
57
  export * from "./sim/analysis/growth";
58
+ export * from "./sim/analysis/growthFit";
52
59
  export * from "./sim/analysis/milestones";
53
60
  export * from "./sim/analysis/ux";
61
+ export * from "./sim/analysis/contracts";
62
+ export * from "./sim/analysis/metrics";
63
+ export * from "./sim/analysis/registry";
64
+ export * from "./sim/analysis/analyzers";
65
+ export * from "./sim/analysis/inspect";
54
66
  export * from "./report/timeline";
55
67
  export * from "./report/compare";
56
68
  export * from "./utils/deepClone";
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ export * from "./scenario/types";
15
15
  export * from "./scenario/registry";
16
16
  export * from "./scenario/validate";
17
17
  export * from "./scenario/concreteValidator";
18
+ export * from "./scenario/scenarioContract";
18
19
  export * from "./scenario/migrate";
19
20
  export * from "./scenario/compile";
20
21
  export * from "./sim/types";
@@ -48,9 +49,20 @@ export * from "./sim/strategy/opt/tuners/randomSearch";
48
49
  export * from "./sim/strategy/opt/runner";
49
50
  export * from "./sim/analysis/eta";
50
51
  export * from "./sim/analysis/prestigeCycle";
52
+ export * from "./sim/analysis/resetCycle";
53
+ export * from "./sim/analysis/resetOptimization";
54
+ export * from "./sim/analysis/distribution";
55
+ export * from "./sim/analysis/experiment";
56
+ export * from "./sim/analysis/sensitivity";
51
57
  export * from "./sim/analysis/growth";
58
+ export * from "./sim/analysis/growthFit";
52
59
  export * from "./sim/analysis/milestones";
53
60
  export * from "./sim/analysis/ux";
61
+ export * from "./sim/analysis/contracts";
62
+ export * from "./sim/analysis/metrics";
63
+ export * from "./sim/analysis/registry";
64
+ export * from "./sim/analysis/analyzers";
65
+ export * from "./sim/analysis/inspect";
54
66
  export * from "./report/timeline";
55
67
  export * from "./report/compare";
56
68
  export * from "./utils/deepClone";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAElC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAE1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAElC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAElC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAE1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mBAAmB,CAAC"}
@@ -8,6 +8,19 @@ export type CompileOptions = Readonly<{
8
8
  allowSuffixNotation?: boolean;
9
9
  allowUnsafeUntilExpr?: boolean;
10
10
  }>;
11
+ export type UntilLiteral = Readonly<{
12
+ path: string;
13
+ literal: string;
14
+ /** engine: an amount path the engine parses. number: parsed with Number. runtime: chosen by the state value. */
15
+ parse: "engine" | "number" | "runtime";
16
+ }>;
17
+ /**
18
+ * The right-hand literals of an untilExpr and the parser the runner uses for each. Amount paths go through the
19
+ * engine, and `t` and `prestige.count` go through Number whatever the engine. Any other path picks its parser from
20
+ * the state value at run time, and a number there is read through Number too. An expression that does not parse
21
+ * has no literals.
22
+ */
23
+ export declare function untilExprLiterals(expr: string | undefined): readonly UntilLiteral[];
11
24
  export type StrategyParamsMode = "legacy-raw" | "validated";
12
25
  /**
13
26
  * Internal `StandardSchema` adapter. This is not the external Standard Schema package.
@@ -38,6 +51,18 @@ export declare function modelCreateParams(args: {
38
51
  };
39
52
  };
40
53
  }): unknown;
54
+ /**
55
+ * Throw when the scenario's initial money or untilExpr does not compile for this engine, as compileScenario would,
56
+ * or when a clock a stage runs is one the runner rejects. `stepSecs` are the steps the stages run. Without them the
57
+ * scenario step is checked. Nothing is evaluated and no model is created, so a plan-only caller can reject the same
58
+ * scenario.
59
+ */
60
+ export declare function assertScenarioPlanInputs<N>(args: {
61
+ scenario: ScenarioV1;
62
+ E: Engine<N>;
63
+ allowSuffixNotation?: boolean;
64
+ stepSecs?: readonly number[];
65
+ }): void;
41
66
  export declare function compileScenario<N, U extends string, Vars>(args: {
42
67
  E: Engine<N>;
43
68
  scenario: ScenarioV1;
@@ -1,5 +1,6 @@
1
1
  import { parseMoney } from "../notation/parseMoney";
2
2
  import { cloneRunState } from "../sim/runFactory";
3
+ import { assertSimulationClock } from "../sim/timeBoundary";
3
4
  const UNTIL_NUMBER_PATHS = new Set(["t", "prestige.count"]);
4
5
  const UNTIL_BOOLEAN_PATHS = new Set([]);
5
6
  const UNTIL_AMOUNT_PATHS = new Set([
@@ -55,6 +56,32 @@ function parseUntilTerms(expr) {
55
56
  }
56
57
  return allTerms;
57
58
  }
59
+ /**
60
+ * The right-hand literals of an untilExpr and the parser the runner uses for each. Amount paths go through the
61
+ * engine, and `t` and `prestige.count` go through Number whatever the engine. Any other path picks its parser from
62
+ * the state value at run time, and a number there is read through Number too. An expression that does not parse
63
+ * has no literals.
64
+ */
65
+ export function untilExprLiterals(expr) {
66
+ if (!expr || expr.trim().length === 0)
67
+ return [];
68
+ let parsed;
69
+ try {
70
+ parsed = parseUntilTerms(expr);
71
+ }
72
+ catch {
73
+ return [];
74
+ }
75
+ return parsed.flat().map((term) => ({
76
+ path: term.path,
77
+ literal: term.rawRight,
78
+ parse: UNTIL_AMOUNT_PATHS.has(term.path)
79
+ ? "engine"
80
+ : UNTIL_NUMBER_PATHS.has(term.path)
81
+ ? "number"
82
+ : "runtime",
83
+ }));
84
+ }
58
85
  function readPath(obj, path) {
59
86
  if (!obj || typeof obj !== "object")
60
87
  return undefined;
@@ -319,6 +346,39 @@ export function modelCreateParams(args) {
319
346
  }
320
347
  return args.raw;
321
348
  }
349
+ /**
350
+ * Throw when the scenario's initial money or untilExpr does not compile for this engine, as compileScenario would,
351
+ * or when a clock a stage runs is one the runner rejects. `stepSecs` are the steps the stages run. Without them the
352
+ * scenario step is checked. Nothing is evaluated and no model is created, so a plan-only caller can reject the same
353
+ * scenario.
354
+ */
355
+ export function assertScenarioPlanInputs(args) {
356
+ // validateScenarioV1 accepts an infinite step or duration, and runScenario does not.
357
+ const startT = args.scenario.initial.t ?? 0;
358
+ const durationSec = args.scenario.clock.durationSec;
359
+ for (const stepSec of args.stepSecs ?? [args.scenario.clock.stepSec]) {
360
+ assertSimulationClock("scenario clock", { stepSec, durationSec, startT });
361
+ // runScenario rejects a first tick that leaves state.t unchanged, which a large initial t rounds away. The first
362
+ // tick is a whole step, or the whole duration when that is shorter.
363
+ const firstDt = durationSec !== undefined ? Math.min(stepSec, durationSec) : stepSec;
364
+ if (firstDt > 0 && !(startT + firstDt > startT)) {
365
+ throw new Error(`scenario clock tick did not advance state.t (start t: ${startT}, step: ${firstDt}); state.t is too large for stepSec ${stepSec}`);
366
+ }
367
+ }
368
+ buildInitialState({
369
+ E: args.E,
370
+ scenario: args.scenario,
371
+ unit: buildUnit({ scenario: args.scenario }),
372
+ allowSuffixNotation: args.allowSuffixNotation ?? true,
373
+ });
374
+ compileUntilExpr({
375
+ expr: args.scenario.clock.untilExpr,
376
+ E: args.E,
377
+ unit: buildUnit({ scenario: args.scenario }),
378
+ allowSuffixNotation: args.allowSuffixNotation ?? true,
379
+ allowUnsafe: false,
380
+ });
381
+ }
322
382
  function buildUnit(args) {
323
383
  return args.unitFactory
324
384
  ? args.unitFactory(args.scenario.unit.code)
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/scenario/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/scenario/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ import { tags, type IValidation } from "typia";
2
+ import type { ScenarioV1 } from "./types";
3
+ /**
4
+ * Structural contract for ScenarioV1.
5
+ * Semantic checks stay in validateScenarioV1. This module does not replace them.
6
+ * PR-08 appends analysis DTOs to contractRegistry. PR-09 appends the ETA estimate.
7
+ * PR-10 appends the reset-cycle artifact. PR-12 appends the growth fit.
8
+ * PR-11 appends the reset-policy artifact.
9
+ * PR-13 appends the distribution artifact.
10
+ * PR-14 appends the experiment artifact.
11
+ * The registry does not migrate every existing DTO.
12
+ */
13
+ declare const CONTRACT_GENERATOR: "idlekit.contract-generator";
14
+ declare const CONTRACT_GENERATOR_VERSION: 1;
15
+ declare const JSON_SCHEMA_EXPORT: "typia.json.schema";
16
+ declare const JSON_SCHEMA_DIALECT: "openapi-3.1";
17
+ declare const TYPIA_VERSION: "14.0.6";
18
+ declare const SCENARIO_SCHEMA_ID: "https://idlekit.dev/schemas/scenario.v1.schema.json";
19
+ /**
20
+ * @evidence docs/requirements/active/typed-contract-generation.md#req-tc05-typed-contract-single-source ScenarioV1 is the generated structural contract. The registry starts with that id.
21
+ * @evidenceReview docs/requirements/active/typed-contract-generation.md#req-tc05-typed-contract-single-source #4326433 Re-read the section: the id is idlekit.scenario.v1 and the export is typia.json.schema 3.1. PR-08 appends the analysis artifact id.
22
+ */
23
+ export declare const typedContractSingleSource: "idlekit.scenario.v1";
24
+ /**
25
+ * @evidence docs/requirements/active/typed-contract-generation.md#req-tc05-semantic-validation-retained The runtime gate stays validateScenarioV1. Generated structure does not claim cross-field or parser checks.
26
+ * @evidenceReview docs/requirements/active/typed-contract-generation.md#req-tc05-semantic-validation-retained #ef40883 Re-read the section: a zero step fails the handwritten gate only, and both runtimes allow an unknown field.
27
+ */
28
+ export declare const semanticValidationRetained: "validateScenarioV1";
29
+ /**
30
+ * @evidence docs/requirements/active/typed-contract-generation.md#req-tc05-published-validator-transformed The published validator is createValidate of ScenarioV1, not an unresolved generic.
31
+ * @evidenceReview docs/requirements/active/typed-contract-generation.md#req-tc05-published-validator-transformed #fafe1c5 Re-read the section: the call is typia.createValidate of ScenarioV1.
32
+ */
33
+ export declare const publishedValidatorTransformed: "typia.createValidate<ScenarioV1>";
34
+ declare const contractRegistry: readonly [{
35
+ readonly id: "idlekit.scenario.v1";
36
+ readonly kind: "scenario";
37
+ readonly typeName: "ScenarioV1";
38
+ readonly source: "packages/core/src/scenario/types.ts";
39
+ }, {
40
+ readonly id: "idlekit.analysis.artifact.v1";
41
+ readonly kind: "analysis-artifact";
42
+ readonly typeName: "AnalysisArtifactV1";
43
+ readonly source: "packages/core/src/sim/analysis/contracts.ts";
44
+ }, {
45
+ readonly id: "idlekit.eta.estimate.v1";
46
+ readonly kind: "eta-estimate";
47
+ readonly typeName: "EtaEstimateV1";
48
+ readonly source: "packages/core/src/sim/analysis/eta.ts";
49
+ }, {
50
+ readonly id: "idlekit.reset-cycle.v1";
51
+ readonly kind: "reset-cycle";
52
+ readonly typeName: "ResetCycleArtifactV1";
53
+ readonly source: "packages/core/src/sim/analysis/resetCycle.ts";
54
+ }, {
55
+ readonly id: "idlekit.growth-fit.v1";
56
+ readonly kind: "growth-fit";
57
+ readonly typeName: "GrowthFitArtifactV1";
58
+ readonly source: "packages/core/src/sim/analysis/growthFit.ts";
59
+ }, {
60
+ readonly id: "idlekit.reset-policy.v1";
61
+ readonly kind: "reset-policy";
62
+ readonly typeName: "ResetPolicyArtifactV1";
63
+ readonly source: "packages/core/src/sim/analysis/resetOptimization.ts";
64
+ }, {
65
+ readonly id: "idlekit.distribution.v1";
66
+ readonly kind: "distribution";
67
+ readonly typeName: "DistributionArtifactV1";
68
+ readonly source: "packages/core/src/sim/analysis/distribution.ts";
69
+ }, {
70
+ readonly id: "idlekit.experiment.v1";
71
+ readonly kind: "experiment";
72
+ readonly typeName: "ExperimentArtifactV1";
73
+ readonly source: "packages/core/src/sim/analysis/experiment.ts";
74
+ }];
75
+ /**
76
+ * Supported typia tags. Not applied to ScenarioV1: the brand is not assignable from number.
77
+ */
78
+ export type FiniteUnitRate = number & tags.Minimum<0> & tags.Maximum<1>;
79
+ export declare const validateFiniteUnitRate: (input: unknown) => IValidation<FiniteUnitRate>;
80
+ /**
81
+ * Concrete structural validator. Unresolved typia.validate of a type parameter is not this path.
82
+ */
83
+ export declare const validateScenarioStructure: (input: unknown) => IValidation<ScenarioV1>;
84
+ export declare function parseScenarioStructure(input: string): IValidation<ScenarioV1>;
85
+ export declare function registeredContracts(): typeof contractRegistry;
86
+ export type SourceDigest = Readonly<{
87
+ path: string;
88
+ sha256: string;
89
+ }>;
90
+ declare const JSON_SCHEMA_META: "https://json-schema.org/draft/2020-12/schema";
91
+ export type GeneratedSchemaUnit = Readonly<{
92
+ version: string;
93
+ schema: unknown;
94
+ components: unknown;
95
+ }>;
96
+ /**
97
+ * A generated contract file is a JSON Schema 2020-12 document.
98
+ * The generated constraints and their `components` sit at the root, so `#/components/schemas/...` refs resolve
99
+ * in the file itself. `idlekitContract` is an annotation keyword that validators ignore.
100
+ */
101
+ export type SchemaDocument<Contract> = Readonly<Record<string, unknown> & {
102
+ $schema: typeof JSON_SCHEMA_META;
103
+ $id: string;
104
+ components: unknown;
105
+ idlekitContract: Contract;
106
+ }>;
107
+ export declare function rootSchemaDocument<Contract>(id: string, unit: GeneratedSchemaUnit, contract: Contract): SchemaDocument<Contract>;
108
+ /**
109
+ * Hash source text with LF line endings, so a CRLF checkout digests the same bytes.
110
+ */
111
+ export declare function sourceTextDigest(text: string): string;
112
+ export type ScenarioContractMetadata = Readonly<{
113
+ generator: typeof CONTRACT_GENERATOR;
114
+ generatorVersion: typeof CONTRACT_GENERATOR_VERSION;
115
+ exportApi: typeof JSON_SCHEMA_EXPORT;
116
+ dialect: typeof JSON_SCHEMA_DIALECT;
117
+ typia: typeof TYPIA_VERSION;
118
+ schemaId: typeof SCENARIO_SCHEMA_ID;
119
+ unknownFieldPolicy: "runtime-allow";
120
+ jsonSchemaAdditionalProperties: false;
121
+ runtimeValidator: typeof semanticValidationRetained;
122
+ semanticNotGenerated: readonly string[];
123
+ registrations: typeof contractRegistry;
124
+ sourceHash: string;
125
+ sources: readonly SourceDigest[];
126
+ }>;
127
+ export type ContractDocument = SchemaDocument<ScenarioContractMetadata>;
128
+ export declare function canonicalJson(value: unknown): string;
129
+ export declare function sha256Text(value: string): string;
130
+ export declare function contractSourceHash(sources: readonly SourceDigest[]): string;
131
+ export declare function buildContractDocument(sources: readonly SourceDigest[]): ContractDocument;
132
+ export type FieldMetadata = Readonly<{
133
+ idlekitContract: Readonly<{
134
+ kind: "structural-metadata";
135
+ schemaId: typeof SCENARIO_SCHEMA_ID;
136
+ sourceHash: string;
137
+ note: "Names, enum values, and schema descriptions only. No design intent, example balances, or translations.";
138
+ }>;
139
+ properties: readonly string[];
140
+ enums: Readonly<Record<string, readonly string[]>>;
141
+ comments: Readonly<Record<string, string>>;
142
+ }>;
143
+ export declare function structuralFieldMetadata(unit: {
144
+ schema: unknown;
145
+ components: unknown;
146
+ }): {
147
+ properties: string[];
148
+ enums: Record<string, string[]>;
149
+ comments: Record<string, string>;
150
+ };
151
+ export declare function buildFieldMetadata(sources: readonly SourceDigest[]): FieldMetadata;
152
+ export {};