modestbench 0.7.0 → 0.9.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 (184) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +37 -4
  3. package/dist/adapters/types.d.cts +1 -1
  4. package/dist/adapters/types.d.cts.map +1 -1
  5. package/dist/adapters/types.d.ts +1 -1
  6. package/dist/adapters/types.d.ts.map +1 -1
  7. package/dist/cli/commands/run.cjs +93 -49
  8. package/dist/cli/commands/run.cjs.map +1 -1
  9. package/dist/cli/commands/run.d.cts +1 -0
  10. package/dist/cli/commands/run.d.cts.map +1 -1
  11. package/dist/cli/commands/run.d.ts +1 -0
  12. package/dist/cli/commands/run.d.ts.map +1 -1
  13. package/dist/cli/commands/run.js +95 -51
  14. package/dist/cli/commands/run.js.map +1 -1
  15. package/dist/cli/index.cjs +7 -1
  16. package/dist/cli/index.cjs.map +1 -1
  17. package/dist/cli/index.d.cts.map +1 -1
  18. package/dist/cli/index.d.ts.map +1 -1
  19. package/dist/cli/index.js +7 -1
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/{core → config}/benchmark-schema.cjs +1 -1
  22. package/dist/config/benchmark-schema.cjs.map +1 -0
  23. package/dist/config/benchmark-schema.d.cts +913 -0
  24. package/dist/config/benchmark-schema.d.cts.map +1 -0
  25. package/dist/config/benchmark-schema.d.ts +913 -0
  26. package/dist/config/benchmark-schema.d.ts.map +1 -0
  27. package/dist/{core → config}/benchmark-schema.js +1 -1
  28. package/dist/config/benchmark-schema.js.map +1 -0
  29. package/dist/config/schema.cjs +188 -105
  30. package/dist/config/schema.cjs.map +1 -1
  31. package/dist/config/schema.d.cts +208 -80
  32. package/dist/config/schema.d.cts.map +1 -1
  33. package/dist/config/schema.d.ts +208 -80
  34. package/dist/config/schema.d.ts.map +1 -1
  35. package/dist/config/schema.js +187 -104
  36. package/dist/config/schema.js.map +1 -1
  37. package/dist/constants.cjs +2 -0
  38. package/dist/constants.cjs.map +1 -1
  39. package/dist/constants.d.cts +2 -0
  40. package/dist/constants.d.cts.map +1 -1
  41. package/dist/constants.d.ts +2 -0
  42. package/dist/constants.d.ts.map +1 -1
  43. package/dist/constants.js +2 -0
  44. package/dist/constants.js.map +1 -1
  45. package/dist/core/engine.cjs +50 -45
  46. package/dist/core/engine.cjs.map +1 -1
  47. package/dist/core/engine.d.cts.map +1 -1
  48. package/dist/core/engine.d.ts.map +1 -1
  49. package/dist/core/engine.js +50 -45
  50. package/dist/core/engine.js.map +1 -1
  51. package/dist/core/output-path-resolver.cjs +15 -1
  52. package/dist/core/output-path-resolver.cjs.map +1 -1
  53. package/dist/core/output-path-resolver.d.cts +8 -0
  54. package/dist/core/output-path-resolver.d.cts.map +1 -1
  55. package/dist/core/output-path-resolver.d.ts +8 -0
  56. package/dist/core/output-path-resolver.d.ts.map +1 -1
  57. package/dist/core/output-path-resolver.js +13 -0
  58. package/dist/core/output-path-resolver.js.map +1 -1
  59. package/dist/errors/index.cjs +3 -1
  60. package/dist/errors/index.cjs.map +1 -1
  61. package/dist/errors/index.d.cts +1 -1
  62. package/dist/errors/index.d.cts.map +1 -1
  63. package/dist/errors/index.d.ts +1 -1
  64. package/dist/errors/index.d.ts.map +1 -1
  65. package/dist/errors/index.js +1 -1
  66. package/dist/errors/index.js.map +1 -1
  67. package/dist/errors/reporter.cjs +45 -1
  68. package/dist/errors/reporter.cjs.map +1 -1
  69. package/dist/errors/reporter.d.cts +32 -0
  70. package/dist/errors/reporter.d.cts.map +1 -1
  71. package/dist/errors/reporter.d.ts +32 -0
  72. package/dist/errors/reporter.d.ts.map +1 -1
  73. package/dist/errors/reporter.js +42 -0
  74. package/dist/errors/reporter.js.map +1 -1
  75. package/dist/index.cjs +16 -1
  76. package/dist/index.cjs.map +1 -1
  77. package/dist/index.d.cts +3 -1
  78. package/dist/index.d.cts.map +1 -1
  79. package/dist/index.d.ts +3 -1
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +5 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/reporters/json.cjs +1 -1
  84. package/dist/reporters/json.cjs.map +1 -1
  85. package/dist/reporters/json.js +1 -1
  86. package/dist/reporters/json.js.map +1 -1
  87. package/dist/schema/modestbench-config.schema.json +94 -87
  88. package/dist/services/budget-evaluator.cjs +8 -6
  89. package/dist/services/budget-evaluator.cjs.map +1 -1
  90. package/dist/services/budget-evaluator.d.cts +2 -2
  91. package/dist/services/budget-evaluator.d.cts.map +1 -1
  92. package/dist/services/budget-evaluator.d.ts +2 -2
  93. package/dist/services/budget-evaluator.d.ts.map +1 -1
  94. package/dist/services/budget-evaluator.js +8 -6
  95. package/dist/services/budget-evaluator.js.map +1 -1
  96. package/dist/services/budget-resolver.cjs +214 -0
  97. package/dist/services/budget-resolver.cjs.map +1 -0
  98. package/dist/services/budget-resolver.d.cts +98 -0
  99. package/dist/services/budget-resolver.d.cts.map +1 -0
  100. package/dist/services/budget-resolver.d.ts +98 -0
  101. package/dist/services/budget-resolver.d.ts.map +1 -0
  102. package/dist/services/budget-resolver.js +203 -0
  103. package/dist/services/budget-resolver.js.map +1 -0
  104. package/dist/services/file-loader.cjs +1 -1
  105. package/dist/services/file-loader.cjs.map +1 -1
  106. package/dist/services/file-loader.js +1 -1
  107. package/dist/services/file-loader.js.map +1 -1
  108. package/dist/services/reporter-loader.cjs +281 -0
  109. package/dist/services/reporter-loader.cjs.map +1 -0
  110. package/dist/services/reporter-loader.d.cts +67 -0
  111. package/dist/services/reporter-loader.d.cts.map +1 -0
  112. package/dist/services/reporter-loader.d.ts +67 -0
  113. package/dist/services/reporter-loader.d.ts.map +1 -0
  114. package/dist/services/reporter-loader.js +241 -0
  115. package/dist/services/reporter-loader.js.map +1 -0
  116. package/dist/types/budgets.d.cts +31 -0
  117. package/dist/types/budgets.d.cts.map +1 -1
  118. package/dist/types/budgets.d.ts +31 -0
  119. package/dist/types/budgets.d.ts.map +1 -1
  120. package/dist/types/core.cjs.map +1 -1
  121. package/dist/types/core.d.cts +28 -75
  122. package/dist/types/core.d.cts.map +1 -1
  123. package/dist/types/core.d.ts +28 -75
  124. package/dist/types/core.d.ts.map +1 -1
  125. package/dist/types/core.js.map +1 -1
  126. package/dist/types/index.cjs.map +1 -1
  127. package/dist/types/index.d.cts +1 -0
  128. package/dist/types/index.d.cts.map +1 -1
  129. package/dist/types/index.d.ts +1 -0
  130. package/dist/types/index.d.ts.map +1 -1
  131. package/dist/types/index.js.map +1 -1
  132. package/dist/types/plugin.cjs +9 -0
  133. package/dist/types/plugin.cjs.map +1 -0
  134. package/dist/types/plugin.d.cts +179 -0
  135. package/dist/types/plugin.d.cts.map +1 -0
  136. package/dist/types/plugin.d.ts +179 -0
  137. package/dist/types/plugin.d.ts.map +1 -0
  138. package/dist/types/plugin.js +8 -0
  139. package/dist/types/plugin.js.map +1 -0
  140. package/dist/utils/package.cjs +66 -5
  141. package/dist/utils/package.cjs.map +1 -1
  142. package/dist/utils/package.d.cts +6 -0
  143. package/dist/utils/package.d.cts.map +1 -1
  144. package/dist/utils/package.d.ts +6 -0
  145. package/dist/utils/package.d.ts.map +1 -1
  146. package/dist/utils/package.js +31 -1
  147. package/dist/utils/package.js.map +1 -1
  148. package/dist/utils/reporter-utils.cjs +90 -0
  149. package/dist/utils/reporter-utils.cjs.map +1 -0
  150. package/dist/utils/reporter-utils.d.cts +42 -0
  151. package/dist/utils/reporter-utils.d.cts.map +1 -0
  152. package/dist/utils/reporter-utils.d.ts +42 -0
  153. package/dist/utils/reporter-utils.d.ts.map +1 -0
  154. package/dist/utils/reporter-utils.js +83 -0
  155. package/dist/utils/reporter-utils.js.map +1 -0
  156. package/package.json +20 -9
  157. package/src/adapters/types.ts +1 -1
  158. package/src/cli/commands/run.ts +140 -69
  159. package/src/cli/index.ts +8 -1
  160. package/src/{core → config}/benchmark-schema.ts +1 -1
  161. package/src/config/schema.ts +379 -302
  162. package/src/constants.ts +2 -0
  163. package/src/core/engine.ts +74 -69
  164. package/src/core/output-path-resolver.ts +14 -0
  165. package/src/errors/index.ts +2 -0
  166. package/src/errors/reporter.ts +55 -0
  167. package/src/index.ts +19 -1
  168. package/src/reporters/json.ts +1 -1
  169. package/src/services/budget-evaluator.ts +13 -9
  170. package/src/services/budget-resolver.ts +254 -0
  171. package/src/services/file-loader.ts +1 -1
  172. package/src/services/reporter-loader.ts +323 -0
  173. package/src/types/budgets.ts +38 -0
  174. package/src/types/core.ts +64 -99
  175. package/src/types/index.ts +3 -0
  176. package/src/types/plugin.ts +197 -0
  177. package/src/utils/package.ts +32 -1
  178. package/src/utils/reporter-utils.ts +85 -0
  179. package/dist/core/benchmark-schema.cjs.map +0 -1
  180. package/dist/core/benchmark-schema.d.cts +0 -139
  181. package/dist/core/benchmark-schema.d.cts.map +0 -1
  182. package/dist/core/benchmark-schema.d.ts +0 -139
  183. package/dist/core/benchmark-schema.d.ts.map +0 -1
  184. package/dist/core/benchmark-schema.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-schema.d.ts","sourceRoot":"","sources":["../../src/config/benchmark-schema.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * Types are derived from schemas using z.infer (output) and z.input (input).
8
8
  */
9
9
  import { z } from 'zod';
10
- import { partialModestBenchConfigSchema } from "../config/schema.js";
10
+ import { partialModestBenchConfigSchema } from "./schema.js";
11
11
  /**
12
12
  * Schema for benchmark functions
13
13
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-schema.js","sourceRoot":"","sources":["../../src/config/benchmark-schema.ts"],"names":[],"mappings":"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"}
@@ -40,10 +40,34 @@ var __importStar = (this && this.__importStar) || (function () {
40
40
  };
41
41
  })();
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.safeParseConfig = exports.safeParsePartialConfig = exports.partialModestBenchConfigSchema = void 0;
43
+ exports.safeParseConfig = exports.safeParsePartialConfig = exports.partialModestBenchConfigSchema = exports.partialModestBenchConfigInputSchema = exports.reporterConfigSchema = exports.jsonReporterConfigSchema = void 0;
44
44
  const z = __importStar(require("zod"));
45
45
  const constants_js_1 = require("../constants.cjs");
46
+ const budget_resolver_js_1 = require("../services/budget-resolver.cjs");
46
47
  const budget_schema_js_1 = require("./budget-schema.cjs");
48
+ /**
49
+ * Schema for JSON reporter configuration options
50
+ */
51
+ exports.jsonReporterConfigSchema = z.object({
52
+ prettyPrint: z
53
+ .boolean()
54
+ .optional()
55
+ .describe('Whether to pretty-print JSON output (default: false)'),
56
+ });
57
+ /**
58
+ * Schema for reporter-specific configuration
59
+ *
60
+ * Allows typed configuration for known reporters while permitting unknown
61
+ * reporter configs via catchall.
62
+ */
63
+ exports.reporterConfigSchema = z
64
+ .object({
65
+ json: exports.jsonReporterConfigSchema
66
+ .optional()
67
+ .describe('Configuration options for the JSON reporter'),
68
+ })
69
+ .catchall(z.unknown())
70
+ .describe('Configuration options specific to individual reporters, keyed by reporter name');
47
71
  /**
48
72
  * Schema for threshold configuration
49
73
  *
@@ -88,11 +112,11 @@ const thresholdConfigSchema = z
88
112
  title: 'Threshold Configuration',
89
113
  });
90
114
  /**
91
- * Inline budget schema for configuration (no transforms for JSON Schema
92
- * compatibility - transforms are applied manually in transformBudgets
93
- * function)
115
+ * Input schema for budget values (before transformation)
116
+ *
117
+ * Accepts string values like "10ms" or "10%" for human-readable configuration.
94
118
  */
95
- const budgetSchema = z
119
+ const budgetInputSchema = z
96
120
  .object({
97
121
  absolute: z
98
122
  .object({
@@ -102,6 +126,7 @@ const budgetSchema = z
102
126
  .describe('Maximum 99th percentile in nanoseconds or time string'),
103
127
  maxTime: z
104
128
  .union([z.number().positive(), z.string()])
129
+ .optional()
105
130
  .describe('Maximum mean time in nanoseconds or time string (e.g., "10ms")'),
106
131
  minOpsPerSec: z
107
132
  .number()
@@ -123,13 +148,119 @@ const budgetSchema = z
123
148
  })
124
149
  .describe('Performance budget with absolute and/or relative thresholds');
125
150
  /**
126
- * Schema for the main ModestBench configuration
151
+ * Transform budget values (parse time/percentage strings to numbers)
127
152
  *
128
- * This is the complete configuration schema used for validating benchmark
129
- * configuration from all sources (files, CLI args, defaults).
153
+ * Returns a Budget object with all string values converted to numbers.
130
154
  */
131
- const modestBenchConfigSchema = z
132
- .object({
155
+ const transformBudgetValues = (budget) => {
156
+ return {
157
+ // Build absolute budget object if present
158
+ absolute: budget.absolute
159
+ ? {
160
+ maxP99: budget.absolute.maxP99 !== undefined
161
+ ? typeof budget.absolute.maxP99 === 'string'
162
+ ? (0, budget_schema_js_1.parseTimeString)(budget.absolute.maxP99)
163
+ : budget.absolute.maxP99
164
+ : undefined,
165
+ maxTime: budget.absolute.maxTime !== undefined
166
+ ? typeof budget.absolute.maxTime === 'string'
167
+ ? (0, budget_schema_js_1.parseTimeString)(budget.absolute.maxTime)
168
+ : budget.absolute.maxTime
169
+ : undefined,
170
+ minOpsPerSec: budget.absolute.minOpsPerSec,
171
+ }
172
+ : undefined,
173
+ // Build relative budget object if present
174
+ relative: budget.relative
175
+ ? {
176
+ maxRegression: budget.relative.maxRegression !== undefined
177
+ ? typeof budget.relative.maxRegression === 'string'
178
+ ? (0, budget_schema_js_1.parsePercentageString)(budget.relative.maxRegression)
179
+ : budget.relative.maxRegression
180
+ : undefined,
181
+ }
182
+ : undefined,
183
+ };
184
+ };
185
+ /**
186
+ * Budget schema with transform for string-to-number conversion
187
+ *
188
+ * Input: Budget with string values like "10ms" or "10%" Output: Budget with
189
+ * numeric values only
190
+ */
191
+ const budgetSchema = budgetInputSchema.transform(transformBudgetValues);
192
+ /**
193
+ * Input schema for budgets (nested file → suite → task → budget structure)
194
+ * without transforms - used for JSON Schema generation.
195
+ */
196
+ const budgetsRawInputSchema = z.record(z.string(), z.record(z.string(), z.record(z.string(), budgetInputSchema)));
197
+ /**
198
+ * Input schema for budgets with individual budget transforms applied.
199
+ *
200
+ * Used to validate the human-readable nested format from config files.
201
+ */
202
+ const budgetsInputSchema = z.record(z.string(), z.record(z.string(), z.record(z.string(), budgetSchema)));
203
+ /**
204
+ * Check if a suite or task name is a wildcard
205
+ *
206
+ * @param name - The suite or task name
207
+ * @returns True if the name is a wildcard (`*`)
208
+ */
209
+ const isWildcard = (name) => name === '*';
210
+ /**
211
+ * Check if a budget entry contains any wildcards or glob patterns
212
+ *
213
+ * @param file - File pattern
214
+ * @param suite - Suite name or wildcard
215
+ * @param task - Task name or wildcard
216
+ * @returns True if any part contains wildcards
217
+ */
218
+ const hasWildcards = (file, suite, task) => {
219
+ return (0, budget_resolver_js_1.isGlobPattern)(file) || isWildcard(suite) || isWildcard(task);
220
+ };
221
+ /**
222
+ * Transform nested budget structure to ResolvedBudgets with exact matches and
223
+ * patterns separated
224
+ *
225
+ * @param nested - Nested budgets structure (file → suite → task → budget)
226
+ * @returns ResolvedBudgets with exact matches and wildcard patterns
227
+ */
228
+ const flattenBudgets = (nested) => {
229
+ const exact = {};
230
+ const patterns = [];
231
+ for (const [file, suites] of Object.entries(nested)) {
232
+ for (const [suite, tasks] of Object.entries(suites)) {
233
+ for (const [task, budget] of Object.entries(tasks)) {
234
+ if (hasWildcards(file, suite, task)) {
235
+ // This is a pattern budget
236
+ patterns.push((0, budget_resolver_js_1.createBudgetPattern)(file, suite, task, budget));
237
+ }
238
+ else {
239
+ // This is an exact match
240
+ const taskId = `${file}/${suite}/${task}`;
241
+ exact[taskId] = budget;
242
+ }
243
+ }
244
+ }
245
+ }
246
+ // Sort patterns by specificity descending for consistent iteration order
247
+ patterns.sort((a, b) => b.specificity - a.specificity);
248
+ return { exact, patterns };
249
+ };
250
+ /**
251
+ * Budgets schema with transform for nested-to-ResolvedBudgets conversion
252
+ *
253
+ * Input: { [file]: { [suite]: { [task]: Budget } } } Output: ResolvedBudgets {
254
+ * exact: { [taskId]: Budget }, patterns: BudgetPattern[] }
255
+ */
256
+ const budgetsSchema = budgetsInputSchema.transform(flattenBudgets);
257
+ /**
258
+ * Shared configuration properties (everything except budgets)
259
+ *
260
+ * These properties are identical between the runtime schema (with transforms)
261
+ * and the JSON Schema generation schema (without transforms).
262
+ */
263
+ const baseConfigProperties = {
133
264
  $schema: z
134
265
  .string()
135
266
  .optional()
@@ -143,10 +274,6 @@ const modestBenchConfigSchema = z
143
274
  .enum(['fail', 'warn', 'report'])
144
275
  .optional()
145
276
  .describe('How to handle budget violations: "fail" exits with error (default), "warn" shows warnings, "report" includes in output without failing'),
146
- budgets: z
147
- .record(z.string(), z.record(z.string(), z.record(z.string(), budgetSchema)))
148
- .optional()
149
- .describe('Performance budgets organized by file → suite → task. Budgets define acceptable performance thresholds.'),
150
277
  exclude: z
151
278
  .array(z.string())
152
279
  .describe('Glob patterns to exclude from benchmark file discovery (e.g., "node_modules/**", ".git/**")'),
@@ -214,9 +341,7 @@ const modestBenchConfigSchema = z
214
341
  quiet: z
215
342
  .boolean()
216
343
  .describe('Run in quiet mode with minimal console output (only errors and final results)'),
217
- reporterConfig: z
218
- .record(z.string(), z.unknown())
219
- .describe('Configuration options specific to individual reporters, keyed by reporter name'),
344
+ reporterConfig: exports.reporterConfigSchema,
220
345
  reporters: z
221
346
  .array(z.string())
222
347
  .min(1)
@@ -243,99 +368,68 @@ const modestBenchConfigSchema = z
243
368
  .int()
244
369
  .nonnegative()
245
370
  .describe('Number of warmup iterations to run before measurement begins. Warmup helps stabilize performance by allowing JIT compilation and caching to occur.'),
371
+ };
372
+ /** Description for the budgets field */
373
+ const budgetsDescription = 'Performance budgets organized by file → suite → task. Budgets define acceptable performance thresholds. Supports wildcards (* for suite/task, glob patterns for files).';
374
+ /** Description and metadata for the config schema */
375
+ const configSchemaDescription = 'ModestBench configuration for controlling benchmark discovery, execution, and reporting';
376
+ const configSchemaMeta = { title: 'ModestBench Configuration' };
377
+ /**
378
+ * Schema for the main ModestBench configuration
379
+ *
380
+ * This is the complete configuration schema used for validating benchmark
381
+ * configuration from all sources (files, CLI args, defaults).
382
+ *
383
+ * The budgets field uses transforms to:
384
+ *
385
+ * 1. Parse string values like "10ms" or "10%" to numbers
386
+ * 2. Separate exact matches from wildcard patterns into ResolvedBudgets
387
+ */
388
+ const modestBenchConfigSchema = z
389
+ .object({
390
+ ...baseConfigProperties,
391
+ budgets: budgetsSchema.optional().describe(budgetsDescription),
246
392
  })
247
393
  .strict()
248
- .describe('ModestBench configuration for controlling benchmark discovery, execution, and reporting')
249
- .meta({
250
- title: 'ModestBench Configuration',
251
- });
394
+ .describe(configSchemaDescription)
395
+ .meta(configSchemaMeta);
252
396
  /**
253
- * Validate a partial configuration object
397
+ * Input schema for configuration (without transforms)
254
398
  *
255
- * This is used for validating configuration from files or CLI args before
256
- * merging with defaults.
399
+ * This schema is used for JSON Schema generation. It validates the same input
400
+ * structure but without transforms, which can't be represented in JSON Schema
401
+ * format.
257
402
  */
258
- exports.partialModestBenchConfigSchema = modestBenchConfigSchema.partial();
403
+ const modestBenchConfigInputSchema = z
404
+ .object({
405
+ ...baseConfigProperties,
406
+ budgets: budgetsRawInputSchema.optional().describe(budgetsDescription),
407
+ })
408
+ .strict()
409
+ .describe(configSchemaDescription)
410
+ .meta(configSchemaMeta);
259
411
  /**
260
- * Transform budget values (parse time/percentage strings)
412
+ * Partial input schema for JSON Schema generation
413
+ *
414
+ * This is used for generating JSON Schema for IDE autocomplete in config files.
261
415
  */
262
- const transformBudgetValues = (budget) => {
263
- const transformed = {};
264
- if (budget.absolute) {
265
- transformed.absolute = {};
266
- // Copy minOpsPerSec as-is (already a number)
267
- if (budget.absolute.minOpsPerSec !== undefined) {
268
- transformed.absolute.minOpsPerSec = budget.absolute.minOpsPerSec;
269
- }
270
- // Parse time strings
271
- if (budget.absolute.maxTime !== undefined) {
272
- transformed.absolute.maxTime =
273
- typeof budget.absolute.maxTime === 'string'
274
- ? (0, budget_schema_js_1.parseTimeString)(budget.absolute.maxTime)
275
- : budget.absolute.maxTime;
276
- }
277
- if (budget.absolute.maxP99 !== undefined) {
278
- transformed.absolute.maxP99 =
279
- typeof budget.absolute.maxP99 === 'string'
280
- ? (0, budget_schema_js_1.parseTimeString)(budget.absolute.maxP99)
281
- : budget.absolute.maxP99;
282
- }
283
- }
284
- if (budget.relative) {
285
- transformed.relative = {};
286
- // Parse percentage strings
287
- if (budget.relative.maxRegression !== undefined) {
288
- transformed.relative.maxRegression =
289
- typeof budget.relative.maxRegression === 'string'
290
- ? (0, budget_schema_js_1.parsePercentageString)(budget.relative.maxRegression)
291
- : budget.relative.maxRegression;
292
- }
293
- }
294
- return transformed;
295
- };
416
+ exports.partialModestBenchConfigInputSchema = modestBenchConfigInputSchema.partial();
296
417
  /**
297
- * Transform nested budget structure to flat TaskId → Budget mapping Also parses
298
- * time and percentage strings
418
+ * Validate a partial configuration object
299
419
  *
300
- * @internal
420
+ * This is used for validating configuration from files or CLI args before
421
+ * merging with defaults.
301
422
  */
302
- const transformBudgets = (nested) => {
303
- if (!nested) {
304
- return undefined;
305
- }
306
- const flat = {};
307
- for (const [file, suites] of Object.entries(nested)) {
308
- for (const [suite, tasks] of Object.entries(suites)) {
309
- for (const [task, budget] of Object.entries(tasks)) {
310
- const taskId = `${file}/${suite}/${task}`;
311
- // Transform budget values (parse strings)
312
- flat[taskId] = transformBudgetValues(budget);
313
- }
314
- }
315
- }
316
- return flat;
317
- };
423
+ exports.partialModestBenchConfigSchema = modestBenchConfigSchema.partial();
318
424
  /**
319
- * Safely parse and validate a partial configuration object with budget
320
- * transformation
425
+ * Safely parse and validate a partial configuration object
321
426
  *
322
427
  * @param config - The configuration object to validate
323
428
  * @returns A result object with either success: true and data, or success:
324
429
  * false and error
325
430
  */
326
431
  const safeParsePartialConfig = (config) => {
327
- const result = exports.partialModestBenchConfigSchema.safeParse(config);
328
- // Transform nested budgets to flat structure after validation
329
- if (result.success && result.data.budgets) {
330
- return {
331
- ...result,
332
- data: {
333
- ...result.data,
334
- budgets: transformBudgets(result.data.budgets),
335
- },
336
- };
337
- }
338
- return result;
432
+ return exports.partialModestBenchConfigSchema.safeParse(config);
339
433
  };
340
434
  exports.safeParsePartialConfig = safeParsePartialConfig;
341
435
  /**
@@ -346,18 +440,7 @@ exports.safeParsePartialConfig = safeParsePartialConfig;
346
440
  * false and error
347
441
  */
348
442
  const safeParseConfig = (config) => {
349
- const result = modestBenchConfigSchema.safeParse(config);
350
- // Transform nested budgets to flat structure after validation
351
- if (result.success && result.data.budgets) {
352
- return {
353
- ...result,
354
- data: {
355
- ...result.data,
356
- budgets: transformBudgets(result.data.budgets),
357
- },
358
- };
359
- }
360
- return result;
443
+ return modestBenchConfigSchema.safeParse(config);
361
444
  };
362
445
  exports.safeParseConfig = safeParseConfig;
363
446
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}