modestbench 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.
- package/CHANGELOG.md +20 -0
- package/README.md +131 -34
- package/dist/cli/commands/analyze.cjs +60 -0
- package/dist/cli/commands/analyze.cjs.map +1 -0
- package/dist/cli/commands/analyze.d.cts +35 -0
- package/dist/cli/commands/analyze.d.cts.map +1 -0
- package/dist/cli/commands/analyze.d.ts +35 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +56 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/baseline.cjs +404 -0
- package/dist/cli/commands/baseline.cjs.map +1 -0
- package/dist/cli/commands/baseline.d.cts +72 -0
- package/dist/cli/commands/baseline.d.cts.map +1 -0
- package/dist/cli/commands/baseline.d.ts +72 -0
- package/dist/cli/commands/baseline.d.ts.map +1 -0
- package/dist/cli/commands/baseline.js +396 -0
- package/dist/cli/commands/baseline.js.map +1 -0
- package/dist/cli/commands/history.d.cts +1 -1
- package/dist/cli/commands/history.d.cts.map +1 -1
- package/dist/cli/commands/history.d.ts +1 -1
- package/dist/cli/commands/history.d.ts.map +1 -1
- package/dist/cli/commands/init.cjs +88 -155
- package/dist/cli/commands/init.cjs.map +1 -1
- package/dist/cli/commands/init.d.cts +4 -4
- package/dist/cli/commands/init.d.cts.map +1 -1
- package/dist/cli/commands/init.d.ts +4 -4
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +88 -155
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/run.cjs +132 -114
- package/dist/cli/commands/run.cjs.map +1 -1
- package/dist/cli/commands/run.d.cts +16 -3
- package/dist/cli/commands/run.d.cts.map +1 -1
- package/dist/cli/commands/run.d.ts +16 -3
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +131 -80
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/index.cjs +583 -394
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +4 -16
- package/dist/cli/index.d.cts.map +1 -1
- package/dist/cli/index.d.ts +4 -16
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +575 -386
- package/dist/cli/index.js.map +1 -1
- package/dist/config/budget-schema.cjs +172 -0
- package/dist/config/budget-schema.cjs.map +1 -0
- package/dist/config/budget-schema.d.cts +59 -0
- package/dist/config/budget-schema.d.cts.map +1 -0
- package/dist/config/budget-schema.d.ts +59 -0
- package/dist/config/budget-schema.d.ts.map +1 -0
- package/dist/config/budget-schema.js +166 -0
- package/dist/config/budget-schema.js.map +1 -0
- package/dist/config/schema.cjs +182 -2
- package/dist/config/schema.cjs.map +1 -1
- package/dist/config/schema.d.cts +122 -3
- package/dist/config/schema.d.cts.map +1 -1
- package/dist/config/schema.d.ts +122 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +180 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.cjs +45 -2
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +41 -0
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.ts +41 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +44 -1
- package/dist/constants.js.map +1 -1
- package/dist/core/engine.cjs +103 -21
- package/dist/core/engine.cjs.map +1 -1
- package/dist/core/engine.d.cts +7 -7
- package/dist/core/engine.d.cts.map +1 -1
- package/dist/core/engine.d.ts +7 -7
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +104 -22
- package/dist/core/engine.js.map +1 -1
- package/dist/core/output-path-resolver.cjs +8 -1
- package/dist/core/output-path-resolver.cjs.map +1 -1
- package/dist/core/output-path-resolver.d.cts.map +1 -1
- package/dist/core/output-path-resolver.d.ts.map +1 -1
- package/dist/core/output-path-resolver.js +9 -2
- package/dist/core/output-path-resolver.js.map +1 -1
- package/dist/errors/base.cjs +12 -3
- package/dist/errors/base.cjs.map +1 -1
- package/dist/errors/base.d.cts +7 -0
- package/dist/errors/base.d.cts.map +1 -1
- package/dist/errors/base.d.ts +7 -0
- package/dist/errors/base.d.ts.map +1 -1
- package/dist/errors/base.js +10 -2
- package/dist/errors/base.js.map +1 -1
- package/dist/errors/budget.cjs +37 -0
- package/dist/errors/budget.cjs.map +1 -0
- package/dist/errors/budget.d.cts +31 -0
- package/dist/errors/budget.d.cts.map +1 -0
- package/dist/errors/budget.d.ts +31 -0
- package/dist/errors/budget.d.ts.map +1 -0
- package/dist/errors/budget.js +33 -0
- package/dist/errors/budget.js.map +1 -0
- package/dist/errors/index.cjs +4 -1
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +1 -0
- package/dist/errors/index.d.cts.map +1 -1
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/index.cjs +13 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/reporters/csv.cjs +37 -17
- package/dist/reporters/csv.cjs.map +1 -1
- package/dist/reporters/csv.d.cts +3 -6
- package/dist/reporters/csv.d.cts.map +1 -1
- package/dist/reporters/csv.d.ts +3 -6
- package/dist/reporters/csv.d.ts.map +1 -1
- package/dist/reporters/csv.js +37 -17
- package/dist/reporters/csv.js.map +1 -1
- package/dist/reporters/human.cjs +66 -40
- package/dist/reporters/human.cjs.map +1 -1
- package/dist/reporters/human.d.cts +14 -13
- package/dist/reporters/human.d.cts.map +1 -1
- package/dist/reporters/human.d.ts +14 -13
- package/dist/reporters/human.d.ts.map +1 -1
- package/dist/reporters/human.js +66 -40
- package/dist/reporters/human.js.map +1 -1
- package/dist/reporters/json.cjs +23 -48
- package/dist/reporters/json.cjs.map +1 -1
- package/dist/reporters/json.d.cts +2 -28
- package/dist/reporters/json.d.cts.map +1 -1
- package/dist/reporters/json.d.ts +2 -28
- package/dist/reporters/json.d.ts.map +1 -1
- package/dist/reporters/json.js +25 -50
- package/dist/reporters/json.js.map +1 -1
- package/dist/reporters/profile-human.cjs +149 -0
- package/dist/reporters/profile-human.cjs.map +1 -0
- package/dist/reporters/profile-human.d.cts +44 -0
- package/dist/reporters/profile-human.d.cts.map +1 -0
- package/dist/reporters/profile-human.d.ts +44 -0
- package/dist/reporters/profile-human.d.ts.map +1 -0
- package/dist/reporters/profile-human.js +142 -0
- package/dist/reporters/profile-human.js.map +1 -0
- package/dist/reporters/simple.cjs +64 -44
- package/dist/reporters/simple.cjs.map +1 -1
- package/dist/reporters/simple.d.cts +14 -14
- package/dist/reporters/simple.d.cts.map +1 -1
- package/dist/reporters/simple.d.ts +14 -14
- package/dist/reporters/simple.d.ts.map +1 -1
- package/dist/reporters/simple.js +64 -44
- package/dist/reporters/simple.js.map +1 -1
- package/dist/schema/modestbench-config.schema.json +153 -0
- package/dist/services/baseline-storage.cjs +151 -0
- package/dist/services/baseline-storage.cjs.map +1 -0
- package/dist/services/baseline-storage.d.cts +55 -0
- package/dist/services/baseline-storage.d.cts.map +1 -0
- package/dist/services/baseline-storage.d.ts +55 -0
- package/dist/services/baseline-storage.d.ts.map +1 -0
- package/dist/services/baseline-storage.js +147 -0
- package/dist/services/baseline-storage.js.map +1 -0
- package/dist/services/budget-evaluator.cjs +146 -0
- package/dist/services/budget-evaluator.cjs.map +1 -0
- package/dist/services/budget-evaluator.d.cts +29 -0
- package/dist/services/budget-evaluator.d.cts.map +1 -0
- package/dist/services/budget-evaluator.d.ts +29 -0
- package/dist/services/budget-evaluator.d.ts.map +1 -0
- package/dist/services/budget-evaluator.js +142 -0
- package/dist/services/budget-evaluator.js.map +1 -0
- package/dist/services/config-manager.cjs +23 -9
- package/dist/services/config-manager.cjs.map +1 -1
- package/dist/services/config-manager.d.cts +6 -1
- package/dist/services/config-manager.d.cts.map +1 -1
- package/dist/services/config-manager.d.ts +6 -1
- package/dist/services/config-manager.d.ts.map +1 -1
- package/dist/services/config-manager.js +23 -9
- package/dist/services/config-manager.js.map +1 -1
- package/dist/services/file-loader.cjs +3 -6
- package/dist/services/file-loader.cjs.map +1 -1
- package/dist/services/file-loader.d.cts.map +1 -1
- package/dist/services/file-loader.d.ts.map +1 -1
- package/dist/services/file-loader.js +3 -6
- package/dist/services/file-loader.js.map +1 -1
- package/dist/services/profiler/profile-filter.cjs +113 -0
- package/dist/services/profiler/profile-filter.cjs.map +1 -0
- package/dist/services/profiler/profile-filter.d.cts +20 -0
- package/dist/services/profiler/profile-filter.d.cts.map +1 -0
- package/dist/services/profiler/profile-filter.d.ts +20 -0
- package/dist/services/profiler/profile-filter.d.ts.map +1 -0
- package/dist/services/profiler/profile-filter.js +109 -0
- package/dist/services/profiler/profile-filter.js.map +1 -0
- package/dist/services/profiler/profile-parser.cjs +139 -0
- package/dist/services/profiler/profile-parser.cjs.map +1 -0
- package/dist/services/profiler/profile-parser.d.cts +18 -0
- package/dist/services/profiler/profile-parser.d.cts.map +1 -0
- package/dist/services/profiler/profile-parser.d.ts +18 -0
- package/dist/services/profiler/profile-parser.d.ts.map +1 -0
- package/dist/services/profiler/profile-parser.js +132 -0
- package/dist/services/profiler/profile-parser.js.map +1 -0
- package/dist/services/profiler/profile-runner.cjs +90 -0
- package/dist/services/profiler/profile-runner.cjs.map +1 -0
- package/dist/services/profiler/profile-runner.d.cts +29 -0
- package/dist/services/profiler/profile-runner.d.cts.map +1 -0
- package/dist/services/profiler/profile-runner.d.ts +29 -0
- package/dist/services/profiler/profile-runner.d.ts.map +1 -0
- package/dist/services/profiler/profile-runner.js +86 -0
- package/dist/services/profiler/profile-runner.js.map +1 -0
- package/dist/services/reporter-registry.cjs +18 -24
- package/dist/services/reporter-registry.cjs.map +1 -1
- package/dist/services/reporter-registry.d.cts +18 -40
- package/dist/services/reporter-registry.d.cts.map +1 -1
- package/dist/services/reporter-registry.d.ts +18 -40
- package/dist/services/reporter-registry.d.ts.map +1 -1
- package/dist/services/reporter-registry.js +18 -24
- package/dist/services/reporter-registry.js.map +1 -1
- package/dist/types/budgets.cjs +8 -0
- package/dist/types/budgets.cjs.map +1 -0
- package/dist/types/budgets.d.cts +149 -0
- package/dist/types/budgets.d.cts.map +1 -0
- package/dist/types/budgets.d.ts +149 -0
- package/dist/types/budgets.d.ts.map +1 -0
- package/dist/types/budgets.js +7 -0
- package/dist/types/budgets.js.map +1 -0
- package/dist/types/cli.cjs +2 -11
- package/dist/types/cli.cjs.map +1 -1
- package/dist/types/cli.d.cts +3 -227
- package/dist/types/cli.d.cts.map +1 -1
- package/dist/types/cli.d.ts +3 -227
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/cli.js +2 -11
- package/dist/types/cli.js.map +1 -1
- package/dist/types/core.cjs +6 -1
- package/dist/types/core.cjs.map +1 -1
- package/dist/types/core.d.cts +13 -2
- package/dist/types/core.d.cts.map +1 -1
- package/dist/types/core.d.ts +13 -2
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +2 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/index.cjs +5 -0
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +2 -0
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/interfaces.d.cts +15 -8
- package/dist/types/interfaces.d.cts.map +1 -1
- package/dist/types/interfaces.d.ts +15 -8
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/profiler.cjs +11 -0
- package/dist/types/profiler.cjs.map +1 -0
- package/dist/types/profiler.d.cts +100 -0
- package/dist/types/profiler.d.cts.map +1 -0
- package/dist/types/profiler.d.ts +100 -0
- package/dist/types/profiler.d.ts.map +1 -0
- package/dist/types/profiler.js +10 -0
- package/dist/types/profiler.js.map +1 -0
- package/dist/types/utility.cjs.map +1 -1
- package/dist/types/utility.d.cts +0 -8
- package/dist/types/utility.d.cts.map +1 -1
- package/dist/types/utility.d.ts +0 -8
- package/dist/types/utility.d.ts.map +1 -1
- package/dist/types/utility.js.map +1 -1
- package/dist/utils/identifiers.cjs +32 -0
- package/dist/utils/identifiers.cjs.map +1 -0
- package/dist/utils/identifiers.d.cts +32 -0
- package/dist/utils/identifiers.d.cts.map +1 -0
- package/dist/utils/identifiers.d.ts +32 -0
- package/dist/utils/identifiers.d.ts.map +1 -0
- package/dist/utils/identifiers.js +27 -0
- package/dist/utils/identifiers.js.map +1 -0
- package/dist/utils/package.cjs +40 -0
- package/dist/utils/package.cjs.map +1 -0
- package/dist/utils/package.d.cts +15 -0
- package/dist/utils/package.d.cts.map +1 -0
- package/dist/utils/package.d.ts +15 -0
- package/dist/utils/package.d.ts.map +1 -0
- package/dist/utils/package.js +33 -0
- package/dist/utils/package.js.map +1 -0
- package/dist/utils/type-guards.cjs +48 -0
- package/dist/utils/type-guards.cjs.map +1 -0
- package/dist/utils/type-guards.d.cts +22 -0
- package/dist/utils/type-guards.d.cts.map +1 -0
- package/dist/utils/type-guards.d.ts +22 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +43 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/package.json +10 -10
- package/src/cli/commands/analyze.ts +101 -0
- package/src/cli/commands/baseline.ts +577 -0
- package/src/cli/commands/history.ts +1 -1
- package/src/cli/commands/init.ts +105 -183
- package/src/cli/commands/run.ts +167 -98
- package/src/cli/index.ts +425 -183
- package/src/config/budget-schema.ts +189 -0
- package/src/config/schema.ts +260 -1
- package/src/constants.ts +53 -1
- package/src/core/engine.ts +151 -20
- package/src/core/output-path-resolver.ts +10 -2
- package/src/errors/base.ts +11 -2
- package/src/errors/budget.ts +38 -0
- package/src/errors/index.ts +3 -0
- package/src/index.ts +9 -0
- package/src/reporters/csv.ts +54 -25
- package/src/reporters/human.ts +88 -47
- package/src/reporters/json.ts +26 -71
- package/src/reporters/profile-human.ts +204 -0
- package/src/reporters/simple.ts +84 -53
- package/src/services/baseline-storage.ts +199 -0
- package/src/services/budget-evaluator.ts +182 -0
- package/src/services/config-manager.ts +23 -8
- package/src/services/file-loader.ts +3 -6
- package/src/services/profiler/profile-filter.ts +143 -0
- package/src/services/profiler/profile-parser.ts +194 -0
- package/src/services/profiler/profile-runner.ts +121 -0
- package/src/services/reporter-registry.ts +46 -81
- package/src/types/budgets.ts +180 -0
- package/src/types/cli.ts +5 -238
- package/src/types/core.ts +50 -10
- package/src/types/index.ts +5 -0
- package/src/types/interfaces.ts +16 -6
- package/src/types/profiler.ts +132 -0
- package/src/types/utility.ts +0 -10
- package/src/utils/identifiers.ts +58 -0
- package/src/utils/package.ts +35 -0
- package/src/utils/type-guards.ts +51 -0
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateBaselineStorage = exports.baselineStorageSchema = exports.budgetSchema = exports.parsePercentageString = exports.parseTimeString = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Zod schema for budget configuration
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Parse time string to nanoseconds Supports: "10ms", "5s", "100us", "50ns"
|
|
12
|
+
*/
|
|
13
|
+
const parseTimeString = (value) => {
|
|
14
|
+
const match = value.match(/^(\d+(?:\.\d+)?)(ns|us|ms|s)$/i);
|
|
15
|
+
if (!match) {
|
|
16
|
+
throw new Error(`Invalid time format: "${value}". Expected format like "10ms", "5s", "100us", "50ns"`);
|
|
17
|
+
}
|
|
18
|
+
const num = parseFloat(match[1]);
|
|
19
|
+
const unit = match[2].toLowerCase();
|
|
20
|
+
const multipliers = {
|
|
21
|
+
ms: 1_000_000,
|
|
22
|
+
ns: 1,
|
|
23
|
+
s: 1_000_000_000,
|
|
24
|
+
us: 1_000,
|
|
25
|
+
};
|
|
26
|
+
return num * multipliers[unit];
|
|
27
|
+
};
|
|
28
|
+
exports.parseTimeString = parseTimeString;
|
|
29
|
+
/**
|
|
30
|
+
* Parse percentage string to decimal Supports: "10%", "5.5%"
|
|
31
|
+
*
|
|
32
|
+
* Note: Does not round result - preserves full precision from input
|
|
33
|
+
*/
|
|
34
|
+
const parsePercentageString = (value) => {
|
|
35
|
+
const match = value.match(/^(\d+(?:\.\d+)?)%$/);
|
|
36
|
+
if (!match) {
|
|
37
|
+
throw new Error(`Invalid percentage format: "${value}". Expected format like "10%", "5.5%"`);
|
|
38
|
+
}
|
|
39
|
+
return parseFloat(match[1]) / 100;
|
|
40
|
+
};
|
|
41
|
+
exports.parsePercentageString = parsePercentageString;
|
|
42
|
+
/**
|
|
43
|
+
* Time or nanoseconds
|
|
44
|
+
*/
|
|
45
|
+
const timeSchema = zod_1.z
|
|
46
|
+
.union([
|
|
47
|
+
zod_1.z.number().int().nonnegative().describe('Time in nanoseconds'),
|
|
48
|
+
zod_1.z
|
|
49
|
+
.string()
|
|
50
|
+
.transform(exports.parseTimeString)
|
|
51
|
+
.describe('Time string (e.g., "10ms")'),
|
|
52
|
+
])
|
|
53
|
+
.describe('Time value as nanoseconds or time string');
|
|
54
|
+
/**
|
|
55
|
+
* Percentage or decimal
|
|
56
|
+
*/
|
|
57
|
+
const percentageSchema = zod_1.z
|
|
58
|
+
.union([
|
|
59
|
+
zod_1.z
|
|
60
|
+
.number()
|
|
61
|
+
.min(0)
|
|
62
|
+
.max(1)
|
|
63
|
+
.describe('Percentage as decimal (e.g., 0.1 for 10%)'),
|
|
64
|
+
zod_1.z
|
|
65
|
+
.string()
|
|
66
|
+
.transform(exports.parsePercentageString)
|
|
67
|
+
.describe('Percentage string (e.g., "10%")'),
|
|
68
|
+
])
|
|
69
|
+
.describe('Percentage value as decimal or percentage string');
|
|
70
|
+
/**
|
|
71
|
+
* Absolute budget schema
|
|
72
|
+
*/
|
|
73
|
+
const absoluteBudgetSchema = zod_1.z
|
|
74
|
+
.object({
|
|
75
|
+
maxP99: timeSchema
|
|
76
|
+
.optional()
|
|
77
|
+
.describe('Maximum 99th percentile execution time'),
|
|
78
|
+
maxTime: timeSchema.optional().describe('Maximum mean execution time'),
|
|
79
|
+
minOpsPerSec: zod_1.z
|
|
80
|
+
.number()
|
|
81
|
+
.positive()
|
|
82
|
+
.optional()
|
|
83
|
+
.describe('Minimum operations per second'),
|
|
84
|
+
})
|
|
85
|
+
.describe('Absolute performance budget thresholds');
|
|
86
|
+
/**
|
|
87
|
+
* Relative budget schema
|
|
88
|
+
*/
|
|
89
|
+
const relativeBudgetSchema = zod_1.z
|
|
90
|
+
.object({
|
|
91
|
+
baseline: zod_1.z
|
|
92
|
+
.string()
|
|
93
|
+
.optional()
|
|
94
|
+
.describe('Name of baseline to compare against'),
|
|
95
|
+
maxRegression: percentageSchema
|
|
96
|
+
.optional()
|
|
97
|
+
.describe('Maximum allowed performance regression'),
|
|
98
|
+
})
|
|
99
|
+
.describe('Relative performance budget thresholds compared to baseline');
|
|
100
|
+
/**
|
|
101
|
+
* Complete budget schema
|
|
102
|
+
*/
|
|
103
|
+
exports.budgetSchema = zod_1.z
|
|
104
|
+
.object({
|
|
105
|
+
absolute: absoluteBudgetSchema
|
|
106
|
+
.optional()
|
|
107
|
+
.describe('Absolute performance thresholds'),
|
|
108
|
+
relative: relativeBudgetSchema
|
|
109
|
+
.optional()
|
|
110
|
+
.describe('Relative performance thresholds'),
|
|
111
|
+
})
|
|
112
|
+
.describe('Performance budget configuration');
|
|
113
|
+
/**
|
|
114
|
+
* Baseline reference schema
|
|
115
|
+
*
|
|
116
|
+
* Note: This validates and transforms to branded types (RunId, TaskId). The
|
|
117
|
+
* transforms are safe as they only add compile-time type information.
|
|
118
|
+
*/
|
|
119
|
+
const baselineReferenceSchema = zod_1.z
|
|
120
|
+
.object({
|
|
121
|
+
branch: zod_1.z.string().optional().describe('Git branch name'),
|
|
122
|
+
commit: zod_1.z
|
|
123
|
+
.string()
|
|
124
|
+
.length(40)
|
|
125
|
+
.regex(/^[0-9a-f]{40}$/)
|
|
126
|
+
.optional()
|
|
127
|
+
.describe('Full Git commit hash (40 hex characters)'),
|
|
128
|
+
date: zod_1.z.coerce.date().describe('Date baseline was created'),
|
|
129
|
+
name: zod_1.z.string().describe('Baseline name identifier'),
|
|
130
|
+
runId: zod_1.z
|
|
131
|
+
.string()
|
|
132
|
+
.length(7)
|
|
133
|
+
.regex(/^[0-9a-z]{7}$/)
|
|
134
|
+
.describe('Benchmark run ID (7 lowercase alphanumeric characters)'),
|
|
135
|
+
summary: zod_1.z
|
|
136
|
+
.record(zod_1.z.string(), zod_1.z.object({
|
|
137
|
+
mean: zod_1.z.number().describe('Mean execution time in nanoseconds'),
|
|
138
|
+
opsPerSecond: zod_1.z.number().describe('Operations per second'),
|
|
139
|
+
p99: zod_1.z
|
|
140
|
+
.number()
|
|
141
|
+
.optional()
|
|
142
|
+
.describe('99th percentile execution time in nanoseconds'),
|
|
143
|
+
}))
|
|
144
|
+
.describe('Summary of benchmark results for each task'),
|
|
145
|
+
})
|
|
146
|
+
.describe('Named baseline reference with benchmark results summary');
|
|
147
|
+
/**
|
|
148
|
+
* Baseline storage schema
|
|
149
|
+
*/
|
|
150
|
+
exports.baselineStorageSchema = zod_1.z
|
|
151
|
+
.object({
|
|
152
|
+
baselines: zod_1.z
|
|
153
|
+
.record(zod_1.z.string(), baselineReferenceSchema)
|
|
154
|
+
.describe('Map of baseline names to baseline references'),
|
|
155
|
+
default: zod_1.z.string().optional().describe('Default baseline name'),
|
|
156
|
+
version: zod_1.z.string().describe('Schema version'),
|
|
157
|
+
})
|
|
158
|
+
.describe('Baseline storage file format');
|
|
159
|
+
/**
|
|
160
|
+
* Validate baseline storage
|
|
161
|
+
*
|
|
162
|
+
* Note: The parsed data contains plain strings that are cast to branded types
|
|
163
|
+
* (RunId, TaskId). This is safe because branded types are compile-time only
|
|
164
|
+
* constructs.
|
|
165
|
+
*/
|
|
166
|
+
const validateBaselineStorage = (storage) => {
|
|
167
|
+
const parsed = exports.baselineStorageSchema.parse(storage);
|
|
168
|
+
// Cast is safe: branded types are erased at runtime
|
|
169
|
+
return parsed;
|
|
170
|
+
};
|
|
171
|
+
exports.validateBaselineStorage = validateBaselineStorage;
|
|
172
|
+
//# sourceMappingURL=budget-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget-schema.js","sourceRoot":"","sources":["../../src/config/budget-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { BaselineStorage } from "../types/budgets.cjs";
|
|
3
|
+
/**
|
|
4
|
+
* Zod schema for budget configuration
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Parse time string to nanoseconds Supports: "10ms", "5s", "100us", "50ns"
|
|
10
|
+
*/
|
|
11
|
+
export declare const parseTimeString: (value: string) => number;
|
|
12
|
+
/**
|
|
13
|
+
* Parse percentage string to decimal Supports: "10%", "5.5%"
|
|
14
|
+
*
|
|
15
|
+
* Note: Does not round result - preserves full precision from input
|
|
16
|
+
*/
|
|
17
|
+
export declare const parsePercentageString: (value: string) => number;
|
|
18
|
+
/**
|
|
19
|
+
* Complete budget schema
|
|
20
|
+
*/
|
|
21
|
+
export declare const budgetSchema: z.ZodObject<{
|
|
22
|
+
absolute: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
maxP99: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
|
|
24
|
+
maxTime: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
|
|
25
|
+
minOpsPerSec: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
}, z.core.$strip>>;
|
|
27
|
+
relative: z.ZodOptional<z.ZodObject<{
|
|
28
|
+
baseline: z.ZodOptional<z.ZodString>;
|
|
29
|
+
maxRegression: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
|
|
30
|
+
}, z.core.$strip>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
/**
|
|
33
|
+
* Baseline storage schema
|
|
34
|
+
*/
|
|
35
|
+
export declare const baselineStorageSchema: z.ZodObject<{
|
|
36
|
+
baselines: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
37
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
38
|
+
commit: z.ZodOptional<z.ZodString>;
|
|
39
|
+
date: z.ZodCoercedDate<unknown>;
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
runId: z.ZodString;
|
|
42
|
+
summary: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
43
|
+
mean: z.ZodNumber;
|
|
44
|
+
opsPerSecond: z.ZodNumber;
|
|
45
|
+
p99: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
}, z.core.$strip>>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
48
|
+
default: z.ZodOptional<z.ZodString>;
|
|
49
|
+
version: z.ZodString;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
/**
|
|
52
|
+
* Validate baseline storage
|
|
53
|
+
*
|
|
54
|
+
* Note: The parsed data contains plain strings that are cast to branded types
|
|
55
|
+
* (RunId, TaskId). This is safe because branded types are compile-time only
|
|
56
|
+
* constructs.
|
|
57
|
+
*/
|
|
58
|
+
export declare const validateBaselineStorage: (storage: unknown) => BaselineStorage;
|
|
59
|
+
//# sourceMappingURL=budget-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget-schema.d.ts","sourceRoot":"","sources":["../../src/config/budget-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,6BAA4B;AAE3D;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAmB/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,MASrD,CAAC;AAgEF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;iBASsB,CAAC;AAwChD;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAQS,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,OAAO,KAAG,eAI1D,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { BaselineStorage } from "../types/budgets.js";
|
|
3
|
+
/**
|
|
4
|
+
* Zod schema for budget configuration
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Parse time string to nanoseconds Supports: "10ms", "5s", "100us", "50ns"
|
|
10
|
+
*/
|
|
11
|
+
export declare const parseTimeString: (value: string) => number;
|
|
12
|
+
/**
|
|
13
|
+
* Parse percentage string to decimal Supports: "10%", "5.5%"
|
|
14
|
+
*
|
|
15
|
+
* Note: Does not round result - preserves full precision from input
|
|
16
|
+
*/
|
|
17
|
+
export declare const parsePercentageString: (value: string) => number;
|
|
18
|
+
/**
|
|
19
|
+
* Complete budget schema
|
|
20
|
+
*/
|
|
21
|
+
export declare const budgetSchema: z.ZodObject<{
|
|
22
|
+
absolute: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
maxP99: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
|
|
24
|
+
maxTime: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
|
|
25
|
+
minOpsPerSec: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
}, z.core.$strip>>;
|
|
27
|
+
relative: z.ZodOptional<z.ZodObject<{
|
|
28
|
+
baseline: z.ZodOptional<z.ZodString>;
|
|
29
|
+
maxRegression: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
|
|
30
|
+
}, z.core.$strip>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
/**
|
|
33
|
+
* Baseline storage schema
|
|
34
|
+
*/
|
|
35
|
+
export declare const baselineStorageSchema: z.ZodObject<{
|
|
36
|
+
baselines: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
37
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
38
|
+
commit: z.ZodOptional<z.ZodString>;
|
|
39
|
+
date: z.ZodCoercedDate<unknown>;
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
runId: z.ZodString;
|
|
42
|
+
summary: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
43
|
+
mean: z.ZodNumber;
|
|
44
|
+
opsPerSecond: z.ZodNumber;
|
|
45
|
+
p99: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
}, z.core.$strip>>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
48
|
+
default: z.ZodOptional<z.ZodString>;
|
|
49
|
+
version: z.ZodString;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
/**
|
|
52
|
+
* Validate baseline storage
|
|
53
|
+
*
|
|
54
|
+
* Note: The parsed data contains plain strings that are cast to branded types
|
|
55
|
+
* (RunId, TaskId). This is safe because branded types are compile-time only
|
|
56
|
+
* constructs.
|
|
57
|
+
*/
|
|
58
|
+
export declare const validateBaselineStorage: (storage: unknown) => BaselineStorage;
|
|
59
|
+
//# sourceMappingURL=budget-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget-schema.d.ts","sourceRoot":"","sources":["../../src/config/budget-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,4BAA4B;AAE3D;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAmB/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,MASrD,CAAC;AAgEF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;iBASsB,CAAC;AAwChD;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAQS,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,OAAO,KAAG,eAI1D,CAAC"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Zod schema for budget configuration
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Parse time string to nanoseconds Supports: "10ms", "5s", "100us", "50ns"
|
|
9
|
+
*/
|
|
10
|
+
export const parseTimeString = (value) => {
|
|
11
|
+
const match = value.match(/^(\d+(?:\.\d+)?)(ns|us|ms|s)$/i);
|
|
12
|
+
if (!match) {
|
|
13
|
+
throw new Error(`Invalid time format: "${value}". Expected format like "10ms", "5s", "100us", "50ns"`);
|
|
14
|
+
}
|
|
15
|
+
const num = parseFloat(match[1]);
|
|
16
|
+
const unit = match[2].toLowerCase();
|
|
17
|
+
const multipliers = {
|
|
18
|
+
ms: 1_000_000,
|
|
19
|
+
ns: 1,
|
|
20
|
+
s: 1_000_000_000,
|
|
21
|
+
us: 1_000,
|
|
22
|
+
};
|
|
23
|
+
return num * multipliers[unit];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Parse percentage string to decimal Supports: "10%", "5.5%"
|
|
27
|
+
*
|
|
28
|
+
* Note: Does not round result - preserves full precision from input
|
|
29
|
+
*/
|
|
30
|
+
export const parsePercentageString = (value) => {
|
|
31
|
+
const match = value.match(/^(\d+(?:\.\d+)?)%$/);
|
|
32
|
+
if (!match) {
|
|
33
|
+
throw new Error(`Invalid percentage format: "${value}". Expected format like "10%", "5.5%"`);
|
|
34
|
+
}
|
|
35
|
+
return parseFloat(match[1]) / 100;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Time or nanoseconds
|
|
39
|
+
*/
|
|
40
|
+
const timeSchema = z
|
|
41
|
+
.union([
|
|
42
|
+
z.number().int().nonnegative().describe('Time in nanoseconds'),
|
|
43
|
+
z
|
|
44
|
+
.string()
|
|
45
|
+
.transform(parseTimeString)
|
|
46
|
+
.describe('Time string (e.g., "10ms")'),
|
|
47
|
+
])
|
|
48
|
+
.describe('Time value as nanoseconds or time string');
|
|
49
|
+
/**
|
|
50
|
+
* Percentage or decimal
|
|
51
|
+
*/
|
|
52
|
+
const percentageSchema = z
|
|
53
|
+
.union([
|
|
54
|
+
z
|
|
55
|
+
.number()
|
|
56
|
+
.min(0)
|
|
57
|
+
.max(1)
|
|
58
|
+
.describe('Percentage as decimal (e.g., 0.1 for 10%)'),
|
|
59
|
+
z
|
|
60
|
+
.string()
|
|
61
|
+
.transform(parsePercentageString)
|
|
62
|
+
.describe('Percentage string (e.g., "10%")'),
|
|
63
|
+
])
|
|
64
|
+
.describe('Percentage value as decimal or percentage string');
|
|
65
|
+
/**
|
|
66
|
+
* Absolute budget schema
|
|
67
|
+
*/
|
|
68
|
+
const absoluteBudgetSchema = z
|
|
69
|
+
.object({
|
|
70
|
+
maxP99: timeSchema
|
|
71
|
+
.optional()
|
|
72
|
+
.describe('Maximum 99th percentile execution time'),
|
|
73
|
+
maxTime: timeSchema.optional().describe('Maximum mean execution time'),
|
|
74
|
+
minOpsPerSec: z
|
|
75
|
+
.number()
|
|
76
|
+
.positive()
|
|
77
|
+
.optional()
|
|
78
|
+
.describe('Minimum operations per second'),
|
|
79
|
+
})
|
|
80
|
+
.describe('Absolute performance budget thresholds');
|
|
81
|
+
/**
|
|
82
|
+
* Relative budget schema
|
|
83
|
+
*/
|
|
84
|
+
const relativeBudgetSchema = z
|
|
85
|
+
.object({
|
|
86
|
+
baseline: z
|
|
87
|
+
.string()
|
|
88
|
+
.optional()
|
|
89
|
+
.describe('Name of baseline to compare against'),
|
|
90
|
+
maxRegression: percentageSchema
|
|
91
|
+
.optional()
|
|
92
|
+
.describe('Maximum allowed performance regression'),
|
|
93
|
+
})
|
|
94
|
+
.describe('Relative performance budget thresholds compared to baseline');
|
|
95
|
+
/**
|
|
96
|
+
* Complete budget schema
|
|
97
|
+
*/
|
|
98
|
+
export const budgetSchema = z
|
|
99
|
+
.object({
|
|
100
|
+
absolute: absoluteBudgetSchema
|
|
101
|
+
.optional()
|
|
102
|
+
.describe('Absolute performance thresholds'),
|
|
103
|
+
relative: relativeBudgetSchema
|
|
104
|
+
.optional()
|
|
105
|
+
.describe('Relative performance thresholds'),
|
|
106
|
+
})
|
|
107
|
+
.describe('Performance budget configuration');
|
|
108
|
+
/**
|
|
109
|
+
* Baseline reference schema
|
|
110
|
+
*
|
|
111
|
+
* Note: This validates and transforms to branded types (RunId, TaskId). The
|
|
112
|
+
* transforms are safe as they only add compile-time type information.
|
|
113
|
+
*/
|
|
114
|
+
const baselineReferenceSchema = z
|
|
115
|
+
.object({
|
|
116
|
+
branch: z.string().optional().describe('Git branch name'),
|
|
117
|
+
commit: z
|
|
118
|
+
.string()
|
|
119
|
+
.length(40)
|
|
120
|
+
.regex(/^[0-9a-f]{40}$/)
|
|
121
|
+
.optional()
|
|
122
|
+
.describe('Full Git commit hash (40 hex characters)'),
|
|
123
|
+
date: z.coerce.date().describe('Date baseline was created'),
|
|
124
|
+
name: z.string().describe('Baseline name identifier'),
|
|
125
|
+
runId: z
|
|
126
|
+
.string()
|
|
127
|
+
.length(7)
|
|
128
|
+
.regex(/^[0-9a-z]{7}$/)
|
|
129
|
+
.describe('Benchmark run ID (7 lowercase alphanumeric characters)'),
|
|
130
|
+
summary: z
|
|
131
|
+
.record(z.string(), z.object({
|
|
132
|
+
mean: z.number().describe('Mean execution time in nanoseconds'),
|
|
133
|
+
opsPerSecond: z.number().describe('Operations per second'),
|
|
134
|
+
p99: z
|
|
135
|
+
.number()
|
|
136
|
+
.optional()
|
|
137
|
+
.describe('99th percentile execution time in nanoseconds'),
|
|
138
|
+
}))
|
|
139
|
+
.describe('Summary of benchmark results for each task'),
|
|
140
|
+
})
|
|
141
|
+
.describe('Named baseline reference with benchmark results summary');
|
|
142
|
+
/**
|
|
143
|
+
* Baseline storage schema
|
|
144
|
+
*/
|
|
145
|
+
export const baselineStorageSchema = z
|
|
146
|
+
.object({
|
|
147
|
+
baselines: z
|
|
148
|
+
.record(z.string(), baselineReferenceSchema)
|
|
149
|
+
.describe('Map of baseline names to baseline references'),
|
|
150
|
+
default: z.string().optional().describe('Default baseline name'),
|
|
151
|
+
version: z.string().describe('Schema version'),
|
|
152
|
+
})
|
|
153
|
+
.describe('Baseline storage file format');
|
|
154
|
+
/**
|
|
155
|
+
* Validate baseline storage
|
|
156
|
+
*
|
|
157
|
+
* Note: The parsed data contains plain strings that are cast to branded types
|
|
158
|
+
* (RunId, TaskId). This is safe because branded types are compile-time only
|
|
159
|
+
* constructs.
|
|
160
|
+
*/
|
|
161
|
+
export const validateBaselineStorage = (storage) => {
|
|
162
|
+
const parsed = baselineStorageSchema.parse(storage);
|
|
163
|
+
// Cast is safe: branded types are erased at runtime
|
|
164
|
+
return parsed;
|
|
165
|
+
};
|
|
166
|
+
//# sourceMappingURL=budget-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget-schema.js","sourceRoot":"","sources":["../../src/config/budget-schema.ts"],"names":[],"mappings":"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"}
|