praxis-agent 0.67.2 → 0.69.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/README.md +21 -1
- package/dist/build-identity.json +1 -1
- package/dist/cli-runtime.js +32 -3
- package/dist/evals/eval-contract.d.ts +2 -0
- package/dist/evals/held-out-corpus.d.ts +28 -0
- package/dist/evals/held-out-corpus.js +303 -0
- package/dist/evals/held-out-qualification.d.ts +140 -0
- package/dist/evals/held-out-qualification.js +1061 -0
- package/dist/evals/project-eval-runner.d.ts +2 -0
- package/dist/evals/project-eval-runner.js +4 -0
- package/dist/evals/project-eval.d.ts +3 -1
- package/dist/evals/project-eval.js +16 -0
- package/package.json +4 -2
|
@@ -124,6 +124,10 @@ export async function runProjectEvalCase(options) {
|
|
|
124
124
|
cwd: workspace.cwd,
|
|
125
125
|
configRoot: workspace.config,
|
|
126
126
|
home: workspace.home,
|
|
127
|
+
...(options.provider === undefined ? {} : { provider: options.provider }),
|
|
128
|
+
...(options.profile === undefined
|
|
129
|
+
? {}
|
|
130
|
+
: { providerProfile: options.profile }),
|
|
127
131
|
maxTurns: options.case.execution.maxTurns,
|
|
128
132
|
pluginDirectories: [],
|
|
129
133
|
allowedTools,
|
|
@@ -4,7 +4,7 @@ import { type ProjectEvalCheckSummary, type ProjectEvalVerificationEvidence, typ
|
|
|
4
4
|
export type { ProjectEvalCheckSummary, ProjectEvalVerifierOutcome, ProjectEvalVerificationEvidence, } from './project-eval-runner.js';
|
|
5
5
|
import { type ProjectEvalIdentity } from './project-eval-identity.js';
|
|
6
6
|
import type { PraxisBuildIdentity } from '../platform/praxis-build-identity.js';
|
|
7
|
-
export declare const PROJECT_EVAL_HELP = "Usage: praxis eval [options] <target>\n\nRun deterministic project outcome evaluations in isolated workspaces.\n\nOptions:\n --case <glob> Filter case names\n --tag <tag[,tag]> Filter tags; repeatable\n --runs <1..50> Override run count\n --model <model> Override model\n --allow-tools <rules> Grant gated tools; comma-separated and repeatable\n --run-verification Enable verifier subprocesses\n --output-dir <dir> Write artifacts to this directory\n --keep-temp Preserve temporary workspaces\n --json Print exactly one aggregate JSON value\n --verbose Print run progress to stderr\n -h, --help Display help\n\nUse praxis eval compare --help to compare two completed aggregate artifacts.";
|
|
7
|
+
export declare const PROJECT_EVAL_HELP = "Usage: praxis eval [options] <target>\n\nRun deterministic project outcome evaluations in isolated workspaces.\n\nOptions:\n --case <glob> Filter case names\n --tag <tag[,tag]> Filter tags; repeatable\n --runs <1..50> Override run count\n --model <model> Override model\n --provider <id> Override provider\n --profile <id> Override provider profile\n --allow-tools <rules> Grant gated tools; comma-separated and repeatable\n --run-verification Enable verifier subprocesses\n --output-dir <dir> Write artifacts to this directory\n --keep-temp Preserve temporary workspaces\n --json Print exactly one aggregate JSON value\n --verbose Print run progress to stderr\n -h, --help Display help\n\nUse praxis eval compare --help to compare two completed aggregate artifacts.";
|
|
8
8
|
export interface ProjectEvalDependencies {
|
|
9
9
|
runtimeFactory: IdentifiedEvalRuntimeFactory;
|
|
10
10
|
loadBuildIdentity: () => Promise<PraxisBuildIdentity>;
|
|
@@ -17,6 +17,8 @@ export interface ProjectEvalOptions {
|
|
|
17
17
|
tags: string[];
|
|
18
18
|
runs?: number;
|
|
19
19
|
model?: string;
|
|
20
|
+
provider?: string;
|
|
21
|
+
profile?: string;
|
|
20
22
|
allowTools: string[];
|
|
21
23
|
runVerification: boolean;
|
|
22
24
|
outputDir?: string;
|
|
@@ -13,6 +13,8 @@ Options:
|
|
|
13
13
|
--tag <tag[,tag]> Filter tags; repeatable
|
|
14
14
|
--runs <1..50> Override run count
|
|
15
15
|
--model <model> Override model
|
|
16
|
+
--provider <id> Override provider
|
|
17
|
+
--profile <id> Override provider profile
|
|
16
18
|
--allow-tools <rules> Grant gated tools; comma-separated and repeatable
|
|
17
19
|
--run-verification Enable verifier subprocesses
|
|
18
20
|
--output-dir <dir> Write artifacts to this directory
|
|
@@ -60,6 +62,8 @@ export function parseProjectEvalOptions(argv) {
|
|
|
60
62
|
options.verbose = true;
|
|
61
63
|
else if (value === '--case' ||
|
|
62
64
|
value === '--model' ||
|
|
65
|
+
value === '--provider' ||
|
|
66
|
+
value === '--profile' ||
|
|
63
67
|
value === '--output-dir' ||
|
|
64
68
|
value === '--runs' ||
|
|
65
69
|
value === '--tag' ||
|
|
@@ -70,6 +74,10 @@ export function parseProjectEvalOptions(argv) {
|
|
|
70
74
|
options.caseGlob = selected;
|
|
71
75
|
else if (value === '--model')
|
|
72
76
|
options.model = selected;
|
|
77
|
+
else if (value === '--provider')
|
|
78
|
+
options.provider = selected;
|
|
79
|
+
else if (value === '--profile')
|
|
80
|
+
options.profile = selected;
|
|
73
81
|
else if (value === '--output-dir')
|
|
74
82
|
options.outputDir = selected;
|
|
75
83
|
else if (value === '--runs') {
|
|
@@ -143,6 +151,10 @@ function runSummary(result, outputDirectory) {
|
|
|
143
151
|
};
|
|
144
152
|
}
|
|
145
153
|
export async function executeProjectEvalCommand(argv, io, dependencies, callerCwd = process.cwd(), signal) {
|
|
154
|
+
if (argv[0] === 'qualify') {
|
|
155
|
+
const { executeHeldOutQualificationCommand } = await import('./held-out-qualification.js');
|
|
156
|
+
return executeHeldOutQualificationCommand(argv.slice(1), io, dependencies, callerCwd, signal);
|
|
157
|
+
}
|
|
146
158
|
if (argv[0] === 'compare')
|
|
147
159
|
return executeProjectEvalCompareCommand(argv.slice(1), io, callerCwd, signal);
|
|
148
160
|
const options = parseProjectEvalOptions(argv);
|
|
@@ -174,6 +186,10 @@ export async function executeProjectEvalCommand(argv, io, dependencies, callerCw
|
|
|
174
186
|
run: runIndex,
|
|
175
187
|
allowTools: options.allowTools,
|
|
176
188
|
...(options.model === undefined ? {} : { model: options.model }),
|
|
189
|
+
...(options.provider === undefined
|
|
190
|
+
? {}
|
|
191
|
+
: { provider: options.provider }),
|
|
192
|
+
...(options.profile === undefined ? {} : { profile: options.profile }),
|
|
177
193
|
keepTemp: options.keepTemp,
|
|
178
194
|
runVerification: options.runVerification,
|
|
179
195
|
outputDir: outputDirectory,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "praxis-agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.69.0",
|
|
4
4
|
"description": "Local-first, single-user general agent for the command line.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "wuqisen",
|
|
@@ -62,7 +62,9 @@
|
|
|
62
62
|
"verify:ci-coverage": "node scripts/verify-ci-coverage.mjs",
|
|
63
63
|
"verify:fixture-contracts": "node scripts/verify-fixture-contracts.mjs",
|
|
64
64
|
"test:fixtures": "node scripts/run-fixture-contracts.mjs",
|
|
65
|
-
"test:eval:baseline": "vitest run src/evals/coding-baseline.test.ts src/evals/project-eval-comparison.test.ts src/evals/apply-patch-admission.test.ts src/evals/lsp-diagnostics-admission.test.ts src/evals/glob-ripgrep-admission.test.ts"
|
|
65
|
+
"test:eval:baseline": "vitest run src/evals/coding-baseline.test.ts src/evals/project-eval-comparison.test.ts src/evals/apply-patch-admission.test.ts src/evals/lsp-diagnostics-admission.test.ts src/evals/glob-ripgrep-admission.test.ts",
|
|
66
|
+
"test:eval:held-out-contract": "vitest run src/evals/held-out-corpus.test.ts",
|
|
67
|
+
"test:eval:held-out-qualification": "vitest run src/evals/held-out-qualification.test.ts"
|
|
66
68
|
},
|
|
67
69
|
"engines": {
|
|
68
70
|
"node": ">=24"
|