@cursor/july 0.1.15 → 0.1.17
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 +9 -4
- package/dist/bin/agent-serve.js +60 -2
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +13 -3
- package/dist/channels/slack/auth.d.ts +7 -1
- package/dist/channels/slack/auth.d.ts.map +1 -1
- package/dist/channels/slack/auth.js +14 -0
- package/dist/channels/slack/blocks.d.ts +61 -0
- package/dist/channels/slack/blocks.d.ts.map +1 -0
- package/dist/channels/slack/blocks.js +90 -0
- package/dist/channels/slack/defaults.d.ts +2 -0
- package/dist/channels/slack/defaults.d.ts.map +1 -1
- package/dist/channels/slack/defaults.js +29 -3
- package/dist/channels/slack/dispatch.d.ts +3 -17
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/index.d.ts +1 -0
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +1 -0
- package/dist/channels/slack/interactive.d.ts +39 -3
- package/dist/channels/slack/interactive.d.ts.map +1 -1
- package/dist/channels/slack/interactive.js +152 -7
- package/dist/channels/slack/manifest.d.ts +3 -0
- package/dist/channels/slack/manifest.d.ts.map +1 -1
- package/dist/channels/slack/manifest.js +3 -0
- package/dist/channels/slack/setup.d.ts +4 -1
- package/dist/channels/slack/setup.d.ts.map +1 -1
- package/dist/channels/slack/setup.js +16 -2
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +24 -3
- package/dist/channels/slack/types.d.ts +77 -0
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/connections.d.ts +4 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +4 -1
- package/dist/docs/404.html +2 -2
- package/dist/docs/ab.html +3 -3
- package/dist/docs/assets/{app.DpdGZTLe.js → app.BbEXr2KO.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.DCBsrfwP.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.IB-0QqIT.js → VPLocalSearchBox.DBEi4HDp.js} +1 -1
- package/dist/docs/assets/chunks/{theme.-fYBoNtR.js → theme.DGfptcHw.js} +2 -2
- package/dist/docs/assets/{example-agents_index.md.BPXjUtRB.js → example-agents_index.md.D2PEVSXl.js} +2 -2
- package/dist/docs/assets/{example-agents_index.md.BPXjUtRB.lean.js → example-agents_index.md.D2PEVSXl.lean.js} +1 -1
- package/dist/docs/assets/example-agents_security-reviewer.md.BZSNycMf.js +19 -0
- package/dist/docs/assets/{example-agents_security-reviewer.md.CE9v-aKm.lean.js → example-agents_security-reviewer.md.BZSNycMf.lean.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.DqmEOQY1.js → guides_mcp-oauth.md.Dd8EgSem.js} +3 -2
- package/dist/docs/assets/{guides_mcp-oauth.md.DqmEOQY1.lean.js → guides_mcp-oauth.md.Dd8EgSem.lean.js} +1 -1
- package/dist/docs/assets/{guides_slack.md.FWale6Ip.js → guides_slack.md.D_xFKlnF.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.CsSr3rDz.js → reference_connections.md.B9Q3TOve.js} +12 -5
- package/dist/docs/assets/{reference_connections.md.CsSr3rDz.lean.js → reference_connections.md.B9Q3TOve.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +3 -3
- package/dist/docs/concepts.html +3 -3
- package/dist/docs/deployment.html +3 -3
- package/dist/docs/evals.html +3 -3
- package/dist/docs/example-agents/approval-buddy.html +3 -3
- package/dist/docs/example-agents/benny.html +3 -3
- package/dist/docs/example-agents/bugbot.html +3 -3
- package/dist/docs/example-agents/codebase-wiki.html +3 -3
- package/dist/docs/example-agents/codeowners-review.html +3 -3
- package/dist/docs/example-agents/concierge.html +3 -3
- package/dist/docs/example-agents/fsd.html +3 -3
- package/dist/docs/example-agents/index.html +5 -5
- package/dist/docs/example-agents/knowledge-base.html +3 -3
- package/dist/docs/example-agents/oncall.html +3 -3
- package/dist/docs/example-agents/security-reviewer.html +14 -14
- package/dist/docs/example-agents/slack-agent.html +3 -3
- package/dist/docs/example-agents/weather-agent.html +3 -3
- package/dist/docs/guides/agent-to-agent.html +3 -3
- package/dist/docs/guides/cloud-runtime.html +3 -3
- package/dist/docs/guides/github.html +3 -3
- package/dist/docs/guides/human-in-the-loop.html +3 -3
- package/dist/docs/guides/mcp-oauth.html +6 -5
- package/dist/docs/guides/slack.html +5 -5
- package/dist/docs/guides/webhooks.html +3 -3
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +3 -3
- package/dist/docs/index.html +3 -3
- package/dist/docs/quickstart.html +3 -3
- package/dist/docs/reference/agent-config.html +3 -3
- package/dist/docs/reference/channels.html +3 -3
- package/dist/docs/reference/cli.html +3 -3
- package/dist/docs/reference/connections.html +14 -7
- package/dist/docs/reference/hooks.html +3 -3
- package/dist/docs/reference/http-api.html +3 -3
- package/dist/docs/reference/instructions.html +3 -3
- package/dist/docs/reference/playground.html +3 -3
- package/dist/docs/reference/project-layout.html +3 -3
- package/dist/docs/reference/prompt.html +3 -3
- package/dist/docs/reference/schedules.html +3 -3
- package/dist/docs/reference/sessions.html +3 -3
- package/dist/docs/reference/skills.html +3 -3
- package/dist/docs/reference/subagents.html +3 -3
- package/dist/docs/reference/tools.html +3 -3
- package/dist/docs/scaffolding-agents.html +3 -3
- package/dist/docs/storage.html +3 -3
- package/dist/docs/troubleshooting.html +3 -3
- package/dist/evals/assertions.d.ts +190 -0
- package/dist/evals/assertions.d.ts.map +1 -0
- package/dist/evals/assertions.js +461 -0
- package/dist/evals/expect.d.ts +95 -0
- package/dist/evals/expect.d.ts.map +1 -0
- package/dist/evals/expect.js +194 -0
- package/dist/evals/judge.d.ts +133 -0
- package/dist/evals/judge.d.ts.map +1 -0
- package/dist/evals/judge.js +228 -0
- package/dist/evals/loaders.d.ts +51 -0
- package/dist/evals/loaders.d.ts.map +1 -0
- package/dist/evals/loaders.js +124 -0
- package/dist/evals/matchers.d.ts +95 -0
- package/dist/evals/matchers.d.ts.map +1 -0
- package/dist/evals/matchers.js +145 -0
- package/dist/evals/reporters.d.ts +70 -0
- package/dist/evals/reporters.d.ts.map +1 -0
- package/dist/evals/reporters.js +221 -0
- package/dist/evals/results.d.ts +103 -0
- package/dist/evals/results.d.ts.map +1 -0
- package/dist/evals/results.js +28 -0
- package/dist/evals/run-facts.d.ts +77 -0
- package/dist/evals/run-facts.d.ts.map +1 -0
- package/dist/evals/run-facts.js +187 -0
- package/dist/evals.d.ts +136 -31
- package/dist/evals.d.ts.map +1 -1
- package/dist/evals.js +76 -12
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/cli-ax.d.ts +27 -0
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +90 -12
- package/dist/internal/cli-mcp.d.ts +8 -0
- package/dist/internal/cli-mcp.d.ts.map +1 -1
- package/dist/internal/cli-mcp.js +98 -0
- package/dist/internal/cli-slack.d.ts +29 -1
- package/dist/internal/cli-slack.d.ts.map +1 -1
- package/dist/internal/cli-slack.js +777 -12
- package/dist/internal/deploy-client.d.ts +7 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +9 -0
- package/dist/internal/discovery.d.ts.map +1 -1
- package/dist/internal/discovery.js +29 -9
- package/dist/internal/distribution.d.ts.map +1 -1
- package/dist/internal/distribution.js +2 -0
- package/dist/internal/eval-judge-model.d.ts +59 -0
- package/dist/internal/eval-judge-model.d.ts.map +1 -0
- package/dist/internal/eval-judge-model.js +131 -0
- package/dist/internal/eval-run-store.d.ts.map +1 -1
- package/dist/internal/eval-run-store.js +12 -20
- package/dist/internal/eval-runner.d.ts +31 -25
- package/dist/internal/eval-runner.d.ts.map +1 -1
- package/dist/internal/eval-runner.js +332 -128
- package/dist/internal/evals-client.d.ts.map +1 -1
- package/dist/internal/evals-client.js +7 -3
- package/dist/internal/local-env.d.ts +8 -0
- package/dist/internal/local-env.d.ts.map +1 -0
- package/dist/internal/local-env.js +47 -0
- package/dist/internal/playground/static.d.ts +3 -0
- package/dist/internal/playground/static.d.ts.map +1 -1
- package/dist/internal/playground/static.js +3 -0
- package/dist/internal/run-client.d.ts +15 -0
- package/dist/internal/run-client.d.ts.map +1 -1
- package/dist/internal/run-client.js +3 -2
- package/dist/internal/sdk-runner.d.ts +36 -1
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +65 -25
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +10 -1
- package/dist/internal/session-engine.d.ts +18 -5
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +72 -19
- package/dist/internal/slack-provision-client.d.ts +130 -0
- package/dist/internal/slack-provision-client.d.ts.map +1 -0
- package/dist/internal/slack-provision-client.js +284 -0
- package/dist/playground/assets/cursor-icons-16-f_W_ogc-.woff2 +0 -0
- package/dist/playground/assets/index-CidizGZv.css +1 -0
- package/dist/playground/assets/index-DNqirsrK.js +85 -0
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +70 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +26 -0
- package/docs/example-agents/index.md +1 -1
- package/docs/example-agents/security-reviewer.md +23 -21
- package/docs/guides/mcp-oauth.md +10 -5
- package/docs/guides/slack.md +3 -2
- package/docs/reference/connections.md +28 -18
- package/package.json +20 -2
- package/skills/create-agent/SKILL.md +15 -7
- package/skills/debug/SKILL.md +3 -1
- package/skills/mcp-auth/SKILL.md +1 -1
- package/skills/setup-slack/SKILL.md +173 -11
- package/src/bin/agent-serve.ts +63 -2
- package/src/channels/slack/api.ts +16 -3
- package/src/channels/slack/auth.ts +16 -1
- package/src/channels/slack/blocks.ts +139 -0
- package/src/channels/slack/defaults.ts +32 -4
- package/src/channels/slack/dispatch.ts +3 -18
- package/src/channels/slack/index.ts +1 -0
- package/src/channels/slack/interactive.ts +183 -19
- package/src/channels/slack/manifest.ts +3 -0
- package/src/channels/slack/setup.ts +16 -2
- package/src/channels/slack/slack-channel.ts +37 -6
- package/src/channels/slack/types.ts +89 -0
- package/src/connections.ts +4 -1
- package/src/evals/assertions.ts +704 -0
- package/src/evals/expect.ts +272 -0
- package/src/evals/judge.ts +346 -0
- package/src/evals/loaders.ts +113 -0
- package/src/evals/matchers.ts +246 -0
- package/src/evals/reporters.ts +274 -0
- package/src/evals/results.ts +132 -0
- package/src/evals/run-facts.ts +274 -0
- package/src/evals.ts +249 -42
- package/src/index.ts +2 -0
- package/src/internal/cli-ax.ts +134 -15
- package/src/internal/cli-mcp.ts +118 -5
- package/src/internal/cli-slack.ts +993 -15
- package/src/internal/deploy-client.ts +10 -0
- package/src/internal/discovery.ts +31 -5
- package/src/internal/distribution.ts +2 -0
- package/src/internal/eval-judge-model.ts +148 -0
- package/src/internal/eval-run-store.ts +10 -14
- package/src/internal/eval-runner.ts +466 -215
- package/src/internal/evals-client.ts +14 -2
- package/src/internal/local-env.ts +53 -0
- package/src/internal/playground/static.ts +3 -0
- package/src/internal/run-client.ts +17 -1
- package/src/internal/sdk-runner.ts +103 -22
- package/src/internal/server.ts +10 -0
- package/src/internal/session-engine.ts +89 -21
- package/src/internal/slack-provision-client.ts +438 -0
- package/src/types.ts +92 -4
- package/dist/channels/slack/post-update-delivery.d.ts +0 -85
- package/dist/channels/slack/post-update-delivery.d.ts.map +0 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.D2d8CfFS.js +0 -1
- package/dist/docs/assets/example-agents_security-reviewer.md.CE9v-aKm.js +0 -19
- package/dist/internal/json-dir-store.d.ts +0 -32
- package/dist/internal/json-dir-store.d.ts.map +0 -1
- package/dist/internal/persistence-coordinator.d.ts +0 -127
- package/dist/internal/persistence-coordinator.d.ts.map +0 -1
- package/dist/persistence.d.ts +0 -184
- package/dist/persistence.d.ts.map +0 -1
- package/dist/playground/assets/cursor-icons-16-CQ50JpfO.woff2 +0 -0
- package/dist/playground/assets/index-BVMOoiek.js +0 -86
- package/dist/playground/assets/index-DYmP4b--.css +0 -1
- /package/dist/docs/assets/{guides_slack.md.FWale6Ip.lean.js → guides_slack.md.D_xFKlnF.lean.js} +0 -0
package/dist/evals.d.ts
CHANGED
|
@@ -44,33 +44,62 @@
|
|
|
44
44
|
* ],
|
|
45
45
|
* });
|
|
46
46
|
* ```
|
|
47
|
+
*
|
|
48
|
+
* ## Severity: gates and scores
|
|
49
|
+
*
|
|
50
|
+
* Every assertion returns a chainable handle, so severity rides on the
|
|
51
|
+
* assertion instead of a separate thresholds map. Gates are hard (a miss fails
|
|
52
|
+
* the eval and `eval` exits non-zero); soft assertions are tracked scores that
|
|
53
|
+
* mark the eval `scored` and only fail the build under `--strict`:
|
|
54
|
+
*
|
|
55
|
+
* ```ts
|
|
56
|
+
* t.succeeded(); // gate (default)
|
|
57
|
+
* t.calledTool("get_weather").soft(); // tracked, no gate
|
|
58
|
+
* t.check(t.reply, similarity("Sunny, 72F")).atLeast(0.8);
|
|
59
|
+
* t.judge.closedQA("cites a source").atLeast(0.6); // LLM-graded
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* Matchers narrow tool assertions (`{ input, output, status, count }` accept a
|
|
63
|
+
* literal, a RegExp, or a predicate), and each turn returned by `t.send(...)`
|
|
64
|
+
* carries the same vocabulary scoped to that turn.
|
|
47
65
|
*/
|
|
66
|
+
import type { EvalAssertionResult, EvalAssertions, EvalVerdict } from "./evals/assertions.js";
|
|
67
|
+
import type { Expectation } from "./evals/expect.js";
|
|
68
|
+
import type { EvalJudge, EvalJudgeConfig } from "./evals/judge.js";
|
|
69
|
+
import type { EvalReporter } from "./evals/results.js";
|
|
48
70
|
import type { AgentCloudOptions, SessionEvent } from "./types.js";
|
|
49
|
-
export type
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
export type { EvalAssertionHandle, EvalAssertionResult, EvalAssertionSeverity, EvalAssertions, EvalVerdict, } from "./evals/assertions.js";
|
|
72
|
+
export { computeVerdict, verdictFailsRun } from "./evals/assertions.js";
|
|
73
|
+
export type { EvalSchemaLike, Expectation } from "./evals/expect.js";
|
|
74
|
+
export { equals, includes, matches, normalizedSimilarity, satisfies, similarity, } from "./evals/expect.js";
|
|
75
|
+
export type { EvalJudge, EvalJudgeCallOptions, EvalJudgeConfig, EvalJudgeGraderName, } from "./evals/judge.js";
|
|
76
|
+
export { EVAL_JUDGE_INJECTION_GUARD, fenceUntrusted, } from "./evals/judge.js";
|
|
77
|
+
export type { EvalCountMatcher, EvalEventMatcher, EvalEventOrderMatcher, EvalMatcher, EvalSubagentMatcher, EvalToolCallMatcher, EvalToolCallStatus, } from "./evals/matchers.js";
|
|
78
|
+
export type { EvalReporter, EvalReporterEvalInfo, EvalReporterTarget, EvalRunResult, EvalRunSummary, } from "./evals/results.js";
|
|
79
|
+
export type { EvalInputRequestFact, EvalRunFacts, EvalSubagentFact, EvalToolCallFact, } from "./evals/run-facts.js";
|
|
80
|
+
export { deriveRunFacts } from "./evals/run-facts.js";
|
|
81
|
+
/**
|
|
82
|
+
* One settled turn. Carries the same assertion vocabulary as `t`, narrowed to
|
|
83
|
+
* this turn's events, so an intermediate turn can be graded before the next
|
|
84
|
+
* `send` overwrites `t.reply`:
|
|
85
|
+
*
|
|
86
|
+
* ```ts
|
|
87
|
+
* const draft = await t.send("Draft the summary.");
|
|
88
|
+
* draft.calledTool("read_file");
|
|
89
|
+
* t.check(draft.message, includes("Summary"));
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export interface EvalTurnResult extends EvalAssertions {
|
|
69
93
|
message: string;
|
|
70
94
|
sessionId: string;
|
|
71
95
|
events: SessionEvent[];
|
|
96
|
+
/** Tool names requested during this turn, in order. */
|
|
72
97
|
toolCalls: string[];
|
|
73
98
|
ok: boolean;
|
|
99
|
+
/** 1-based turn index within the case. */
|
|
100
|
+
index: number;
|
|
101
|
+
/** Throws when this turn failed. Only needed when later steps depend on it. */
|
|
102
|
+
expectOk(): EvalTurnResult;
|
|
74
103
|
}
|
|
75
104
|
export interface EvalSendOptions {
|
|
76
105
|
/** Absolute harness `cwd` for a new session (`SendMessageOptions.workspaceDir`). */
|
|
@@ -84,7 +113,15 @@ export interface EvalSendOptions {
|
|
|
84
113
|
*/
|
|
85
114
|
cloud?: AgentCloudOptions;
|
|
86
115
|
}
|
|
87
|
-
|
|
116
|
+
/**
|
|
117
|
+
* The eval driver and assertion surface.
|
|
118
|
+
*
|
|
119
|
+
* `t` both drives the agent and grades it. Assertions on `t` read the whole run
|
|
120
|
+
* once `test` finishes; assertions on the turn returned by `t.send(...)` read
|
|
121
|
+
* only that turn. Recorded assertions never throw, so one run reports every
|
|
122
|
+
* failure rather than dying on the first.
|
|
123
|
+
*/
|
|
124
|
+
export interface EvalTestContext extends EvalAssertions {
|
|
88
125
|
/** Send a turn and wait until the session parks (or fails). */
|
|
89
126
|
send(message: string, options?: EvalSendOptions): Promise<EvalTurnResult>;
|
|
90
127
|
/** Last assistant text, or null before the first send. */
|
|
@@ -92,6 +129,8 @@ export interface EvalTestContext {
|
|
|
92
129
|
readonly sessionId: string | undefined;
|
|
93
130
|
/** All events captured so far across turns. */
|
|
94
131
|
readonly events: SessionEvent[];
|
|
132
|
+
/** Turns settled so far, oldest first. */
|
|
133
|
+
readonly turns: readonly EvalTurnResult[];
|
|
95
134
|
/**
|
|
96
135
|
* 1-based index of this run when {@link EvalConfig.iterations} /
|
|
97
136
|
* {@link EvalDatapoint.iterations} expands a datapoint. Always `1` when
|
|
@@ -100,16 +139,25 @@ export interface EvalTestContext {
|
|
|
100
139
|
readonly iteration: number;
|
|
101
140
|
/** Total iterations for this datapoint (default `1`). */
|
|
102
141
|
readonly iterations: number;
|
|
103
|
-
/**
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
|
|
142
|
+
/** Aborts when the case hits its timeout. */
|
|
143
|
+
readonly signal: AbortSignal;
|
|
144
|
+
/**
|
|
145
|
+
* LLM-as-judge assertions. Soft by default (tracked, never fatal); add a bar
|
|
146
|
+
* with `.atLeast(0.7)` or promote with `.gate(0.8)`. Requires a judge model
|
|
147
|
+
* from `defineEvalConfig({ judge })`, `defineEval({ judge })`, or the call.
|
|
148
|
+
*/
|
|
149
|
+
readonly judge: EvalJudge;
|
|
150
|
+
/**
|
|
151
|
+
* Record a gate that must pass before the script can safely continue.
|
|
152
|
+
* Returns `value` when it passes and stops the test body when it does not,
|
|
153
|
+
* without adding a duplicate execution error.
|
|
154
|
+
*/
|
|
155
|
+
require<T>(value: T, assertion: Expectation): Promise<T>;
|
|
156
|
+
/**
|
|
157
|
+
* End the case as skipped. Skipped cases are reported separately and never
|
|
158
|
+
* change the exit code. Call it before sending messages.
|
|
159
|
+
*/
|
|
160
|
+
skip(reason: string): never;
|
|
113
161
|
/** Debug line (surfaced under `agent-serve eval --verbose`). */
|
|
114
162
|
log(message: string): void;
|
|
115
163
|
/**
|
|
@@ -139,6 +187,12 @@ export interface EvalDatapoint {
|
|
|
139
187
|
* concurrent case.
|
|
140
188
|
*/
|
|
141
189
|
iterations?: number;
|
|
190
|
+
/** Free-form data carried onto the result and every reporter. */
|
|
191
|
+
metadata?: Record<string, unknown>;
|
|
192
|
+
/** Judge model for this datapoint (overrides `evals.config.ts`). */
|
|
193
|
+
judge?: EvalJudgeConfig;
|
|
194
|
+
/** Destinations for just this datapoint, in addition to config reporters. */
|
|
195
|
+
reporters?: EvalReporter[];
|
|
142
196
|
test: (t: EvalTestContext) => Promise<void>;
|
|
143
197
|
}
|
|
144
198
|
/**
|
|
@@ -154,6 +208,12 @@ export interface EvalConfig {
|
|
|
154
208
|
* Case-level {@link EvalDatapoint.iterations} overrides this.
|
|
155
209
|
*/
|
|
156
210
|
iterations?: number;
|
|
211
|
+
/** Free-form data carried onto every result in this file and to reporters. */
|
|
212
|
+
metadata?: Record<string, unknown>;
|
|
213
|
+
/** Judge model for this file (overrides `evals.config.ts`). */
|
|
214
|
+
judge?: EvalJudgeConfig;
|
|
215
|
+
/** Destinations for this file, in addition to config reporters. */
|
|
216
|
+
reporters?: EvalReporter[];
|
|
157
217
|
/** Single-datapoint shorthand. Case id = file path under `evals/`. */
|
|
158
218
|
test?: (t: EvalTestContext) => Promise<void>;
|
|
159
219
|
/** Multiple datapoints in this file. Each id = `<fileId>/<case.id>`. */
|
|
@@ -168,6 +228,9 @@ export interface EvalCaseDefinition {
|
|
|
168
228
|
iterations?: number;
|
|
169
229
|
/** 1-based iteration index for this expanded runnable case. */
|
|
170
230
|
iteration?: number;
|
|
231
|
+
metadata?: Record<string, unknown>;
|
|
232
|
+
judge?: EvalJudgeConfig;
|
|
233
|
+
reporters?: EvalReporter[];
|
|
171
234
|
test: (t: EvalTestContext) => Promise<void>;
|
|
172
235
|
readonly __agentServe: "eval";
|
|
173
236
|
}
|
|
@@ -200,6 +263,24 @@ export declare function expandEvalDefinition(fileId: string, definition: EvalDef
|
|
|
200
263
|
* - multiple filters: OR
|
|
201
264
|
*/
|
|
202
265
|
export declare function matchesEvalIdFilter(caseId: string, filter: string): boolean;
|
|
266
|
+
/**
|
|
267
|
+
* Tag for suite-aggregator datapoints that wait on sibling cases from the
|
|
268
|
+
* same eval file (e.g. `deepsec-recall/overall`). Selecting a summary case
|
|
269
|
+
* alone expands the batch to the whole file via
|
|
270
|
+
* {@link expandSummarySuiteSelection}.
|
|
271
|
+
*/
|
|
272
|
+
export declare const EVAL_SUMMARY_TAG = "summary";
|
|
273
|
+
/** True when `tags` marks a suite-aggregator case. */
|
|
274
|
+
export declare function isEvalSummaryCase(tags: readonly string[] | undefined): boolean;
|
|
275
|
+
/**
|
|
276
|
+
* If `selected` includes any summary-tagged suite aggregator, pull in every
|
|
277
|
+
* other datapoint from the same `fileId` so the aggregator is not run alone.
|
|
278
|
+
* Preserves discovery order from `all`.
|
|
279
|
+
*/
|
|
280
|
+
export declare function expandSummarySuiteSelection<T extends {
|
|
281
|
+
id: string;
|
|
282
|
+
fileId: string;
|
|
283
|
+
}>(all: readonly T[], selected: readonly T[], isSummary: (item: T) => boolean): T[];
|
|
203
284
|
/**
|
|
204
285
|
* Hard ceiling for concurrent eval cases.
|
|
205
286
|
*
|
|
@@ -221,6 +302,10 @@ export interface EvalCaseSnapshot {
|
|
|
221
302
|
tags?: string[];
|
|
222
303
|
status: EvalCaseRunStatus;
|
|
223
304
|
ok?: boolean;
|
|
305
|
+
/** Full grade, including `scored` (soft threshold miss) and `skipped`. */
|
|
306
|
+
verdict?: EvalVerdict;
|
|
307
|
+
/** Reason passed to `t.skip(...)`. */
|
|
308
|
+
skipReason?: string;
|
|
224
309
|
assertions?: EvalAssertionResult[];
|
|
225
310
|
sessionId?: string;
|
|
226
311
|
durationMs?: number;
|
|
@@ -228,6 +313,8 @@ export interface EvalCaseSnapshot {
|
|
|
228
313
|
logs?: string[];
|
|
229
314
|
/** Structured scores from {@link EvalTestContext.metric}. */
|
|
230
315
|
metrics?: Record<string, string | number>;
|
|
316
|
+
/** Author-supplied metadata from `defineEval({ metadata })`. */
|
|
317
|
+
metadata?: Record<string, unknown>;
|
|
231
318
|
inputs?: string[];
|
|
232
319
|
finalText?: string;
|
|
233
320
|
tools?: string[];
|
|
@@ -248,6 +335,13 @@ export interface EvalRunSnapshot {
|
|
|
248
335
|
summary: {
|
|
249
336
|
passed: number;
|
|
250
337
|
failed: number;
|
|
338
|
+
/**
|
|
339
|
+
* Cases that only missed a soft threshold (fatal only under `--strict`).
|
|
340
|
+
* Optional: a batch persisted by an older serve process has no such count.
|
|
341
|
+
*/
|
|
342
|
+
scored?: number;
|
|
343
|
+
/** Cases ended by `t.skip(...)`; they never change the exit code. */
|
|
344
|
+
skipped?: number;
|
|
251
345
|
total: number;
|
|
252
346
|
done: number;
|
|
253
347
|
};
|
|
@@ -308,6 +402,17 @@ export interface EvalConfigFile {
|
|
|
308
402
|
* request limits.
|
|
309
403
|
*/
|
|
310
404
|
maxConcurrency: number;
|
|
405
|
+
/**
|
|
406
|
+
* Default judge model for `t.judge.*` across this tree. Optional: a tree of
|
|
407
|
+
* fully deterministic evals never needs one.
|
|
408
|
+
*/
|
|
409
|
+
judge?: EvalJudgeConfig;
|
|
410
|
+
/**
|
|
411
|
+
* Destinations that observe **every** case in the run — the right place for a
|
|
412
|
+
* shared one, so you do not repeat it in each eval file. `--skip-report`
|
|
413
|
+
* suppresses them for a local iteration loop.
|
|
414
|
+
*/
|
|
415
|
+
reporters?: EvalReporter[];
|
|
311
416
|
/**
|
|
312
417
|
* Optional. Max batches kept in the **playground / `/v1/dev/evals*`**
|
|
313
418
|
* history window (in-memory, and pruned from the `defineStorage` evals
|
package/dist/evals.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evals.d.ts","sourceRoot":"","sources":["../src/evals.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"evals.d.ts","sourceRoot":"","sources":["../src/evals.ts"],"names":[],"mappings":"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"}
|
package/dist/evals.js
CHANGED
|
@@ -44,18 +44,33 @@
|
|
|
44
44
|
* ],
|
|
45
45
|
* });
|
|
46
46
|
* ```
|
|
47
|
+
*
|
|
48
|
+
* ## Severity: gates and scores
|
|
49
|
+
*
|
|
50
|
+
* Every assertion returns a chainable handle, so severity rides on the
|
|
51
|
+
* assertion instead of a separate thresholds map. Gates are hard (a miss fails
|
|
52
|
+
* the eval and `eval` exits non-zero); soft assertions are tracked scores that
|
|
53
|
+
* mark the eval `scored` and only fail the build under `--strict`:
|
|
54
|
+
*
|
|
55
|
+
* ```ts
|
|
56
|
+
* t.succeeded(); // gate (default)
|
|
57
|
+
* t.calledTool("get_weather").soft(); // tracked, no gate
|
|
58
|
+
* t.check(t.reply, similarity("Sunny, 72F")).atLeast(0.8);
|
|
59
|
+
* t.judge.closedQA("cites a source").atLeast(0.6); // LLM-graded
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* Matchers narrow tool assertions (`{ input, output, status, count }` accept a
|
|
63
|
+
* literal, a RegExp, or a predicate), and each turn returned by `t.send(...)`
|
|
64
|
+
* carries the same vocabulary scoped to that turn.
|
|
47
65
|
*/
|
|
48
66
|
import { normalizePositiveInt } from "./internal/bounded-int.js";
|
|
49
67
|
import { brandDefinition } from "./internal/brand.js";
|
|
50
|
-
export
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
export function satisfies(predicate, label) {
|
|
57
|
-
return { kind: "satisfies", predicate, label };
|
|
58
|
-
}
|
|
68
|
+
export { computeVerdict, verdictFailsRun } from "./evals/assertions.js";
|
|
69
|
+
export { equals, includes, matches, normalizedSimilarity, satisfies, similarity, } from "./evals/expect.js";
|
|
70
|
+
// A custom judge built on `t.judge.model` embeds the same attacker-controlled
|
|
71
|
+
// agent output the built-in graders do, so it needs the same two protections.
|
|
72
|
+
export { EVAL_JUDGE_INJECTION_GUARD, fenceUntrusted, } from "./evals/judge.js";
|
|
73
|
+
export { deriveRunFacts } from "./evals/run-facts.js";
|
|
59
74
|
/** Hard ceiling for {@link EvalConfig.iterations} / case `iterations`. */
|
|
60
75
|
export const EVAL_MAX_ITERATIONS = 100;
|
|
61
76
|
/**
|
|
@@ -122,16 +137,22 @@ export function expandEvalDefinition(fileId, definition) {
|
|
|
122
137
|
var _a;
|
|
123
138
|
if (definition.cases !== undefined) {
|
|
124
139
|
return definition.cases.flatMap((datapoint) => {
|
|
125
|
-
var _a, _b, _c, _d, _e;
|
|
140
|
+
var _a, _b, _c, _d, _e, _f;
|
|
126
141
|
const description = (_a = datapoint.description) !== null && _a !== void 0 ? _a : definition.description;
|
|
127
142
|
const timeoutMs = (_b = datapoint.timeoutMs) !== null && _b !== void 0 ? _b : definition.timeoutMs;
|
|
128
143
|
const iterations = normalizeEvalIterations((_d = (_c = datapoint.iterations) !== null && _c !== void 0 ? _c : definition.iterations) !== null && _d !== void 0 ? _d : 1);
|
|
144
|
+
const metadata = datapoint.metadata === undefined && definition.metadata === undefined
|
|
145
|
+
? undefined
|
|
146
|
+
: Object.assign(Object.assign({}, definition.metadata), datapoint.metadata);
|
|
129
147
|
return expandIterations({
|
|
130
148
|
baseId: `${fileId}/${datapoint.id}`,
|
|
131
149
|
description,
|
|
132
150
|
tags: (_e = datapoint.tags) !== null && _e !== void 0 ? _e : definition.tags,
|
|
133
151
|
timeoutMs,
|
|
134
152
|
iterations,
|
|
153
|
+
metadata,
|
|
154
|
+
judge: (_f = datapoint.judge) !== null && _f !== void 0 ? _f : definition.judge,
|
|
155
|
+
reporters: mergeReporters(definition.reporters, datapoint.reporters),
|
|
135
156
|
test: datapoint.test,
|
|
136
157
|
});
|
|
137
158
|
});
|
|
@@ -146,9 +167,22 @@ export function expandEvalDefinition(fileId, definition) {
|
|
|
146
167
|
tags: definition.tags,
|
|
147
168
|
timeoutMs: definition.timeoutMs,
|
|
148
169
|
iterations,
|
|
170
|
+
metadata: definition.metadata,
|
|
171
|
+
judge: definition.judge,
|
|
172
|
+
reporters: definition.reporters,
|
|
149
173
|
test: definition.test,
|
|
150
174
|
});
|
|
151
175
|
}
|
|
176
|
+
/** Union file-level and case-level reporters, keeping each instance once. */
|
|
177
|
+
function mergeReporters(fileLevel, caseLevel) {
|
|
178
|
+
if (fileLevel === undefined) {
|
|
179
|
+
return caseLevel;
|
|
180
|
+
}
|
|
181
|
+
if (caseLevel === undefined) {
|
|
182
|
+
return fileLevel;
|
|
183
|
+
}
|
|
184
|
+
return [...new Set([...fileLevel, ...caseLevel])];
|
|
185
|
+
}
|
|
152
186
|
function expandIterations(args) {
|
|
153
187
|
const out = [];
|
|
154
188
|
for (let iteration = 1; iteration <= args.iterations; iteration++) {
|
|
@@ -158,7 +192,7 @@ function expandIterations(args) {
|
|
|
158
192
|
: `${args.description} (iteration ${iteration}/${args.iterations})`;
|
|
159
193
|
out.push({
|
|
160
194
|
id,
|
|
161
|
-
definition: brandDefinition("eval", Object.assign(Object.assign(Object.assign(Object.assign({}, (description !== undefined ? { description } : {})), (args.tags !== undefined ? { tags: args.tags } : {})), (args.timeoutMs !== undefined ? { timeoutMs: args.timeoutMs } : {})), { iterations: args.iterations, iteration, test: args.test })),
|
|
195
|
+
definition: brandDefinition("eval", Object.assign(Object.assign(Object.assign(Object.assign({}, (description !== undefined ? { description } : {})), (args.tags !== undefined ? { tags: args.tags } : {})), (args.timeoutMs !== undefined ? { timeoutMs: args.timeoutMs } : {})), { metadata: args.metadata, judge: args.judge, reporters: args.reporters, iterations: args.iterations, iteration, test: args.test })),
|
|
162
196
|
});
|
|
163
197
|
}
|
|
164
198
|
return out;
|
|
@@ -172,6 +206,36 @@ function expandIterations(args) {
|
|
|
172
206
|
export function matchesEvalIdFilter(caseId, filter) {
|
|
173
207
|
return caseId === filter || caseId.startsWith(`${filter}/`);
|
|
174
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Tag for suite-aggregator datapoints that wait on sibling cases from the
|
|
211
|
+
* same eval file (e.g. `deepsec-recall/overall`). Selecting a summary case
|
|
212
|
+
* alone expands the batch to the whole file via
|
|
213
|
+
* {@link expandSummarySuiteSelection}.
|
|
214
|
+
*/
|
|
215
|
+
export const EVAL_SUMMARY_TAG = "summary";
|
|
216
|
+
/** True when `tags` marks a suite-aggregator case. */
|
|
217
|
+
export function isEvalSummaryCase(tags) {
|
|
218
|
+
var _a;
|
|
219
|
+
return (_a = tags === null || tags === void 0 ? void 0 : tags.includes(EVAL_SUMMARY_TAG)) !== null && _a !== void 0 ? _a : false;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* If `selected` includes any summary-tagged suite aggregator, pull in every
|
|
223
|
+
* other datapoint from the same `fileId` so the aggregator is not run alone.
|
|
224
|
+
* Preserves discovery order from `all`.
|
|
225
|
+
*/
|
|
226
|
+
export function expandSummarySuiteSelection(all, selected, isSummary) {
|
|
227
|
+
const fileIdsNeedingSuite = new Set(selected.filter((item) => isSummary(item)).map((item) => item.fileId));
|
|
228
|
+
if (fileIdsNeedingSuite.size === 0) {
|
|
229
|
+
return [...selected];
|
|
230
|
+
}
|
|
231
|
+
const selectedIds = new Set(selected.map((item) => item.id));
|
|
232
|
+
const extras = all.filter((item) => fileIdsNeedingSuite.has(item.fileId) && !selectedIds.has(item.id));
|
|
233
|
+
if (extras.length === 0) {
|
|
234
|
+
return [...selected];
|
|
235
|
+
}
|
|
236
|
+
const want = new Set([...selectedIds, ...extras.map((item) => item.id)]);
|
|
237
|
+
return all.filter((item) => want.has(item.id));
|
|
238
|
+
}
|
|
175
239
|
/**
|
|
176
240
|
* Hard ceiling for concurrent eval cases.
|
|
177
241
|
*
|
|
@@ -192,7 +256,7 @@ export const EVAL_MAX_PLAYGROUND_RUNS = 500;
|
|
|
192
256
|
*/
|
|
193
257
|
export function defineEvalConfig(config) {
|
|
194
258
|
var _a;
|
|
195
|
-
return Object.assign(Object.assign({}, (config.timeoutMs === undefined ? {} : { timeoutMs: config.timeoutMs })), { maxConcurrency: normalizeEvalMaxConcurrency(config.maxConcurrency), maxPlaygroundRuns: normalizeEvalMaxPlaygroundRuns((_a = config.maxPlaygroundRuns) !== null && _a !== void 0 ? _a : EVAL_DEFAULT_MAX_PLAYGROUND_RUNS) });
|
|
259
|
+
return Object.assign(Object.assign({}, (config.timeoutMs === undefined ? {} : { timeoutMs: config.timeoutMs })), { maxConcurrency: normalizeEvalMaxConcurrency(config.maxConcurrency), maxPlaygroundRuns: normalizeEvalMaxPlaygroundRuns((_a = config.maxPlaygroundRuns) !== null && _a !== void 0 ? _a : EVAL_DEFAULT_MAX_PLAYGROUND_RUNS), judge: config.judge, reporters: config.reporters });
|
|
196
260
|
}
|
|
197
261
|
/**
|
|
198
262
|
* Validate and enforce the hard concurrency ceiling.
|
package/dist/index.d.ts
CHANGED
|
@@ -35,7 +35,7 @@ export type { StorageABTable, StorageConfig, StorageContext, StorageDefinition,
|
|
|
35
35
|
export { defineStorage, STORAGE_KEY_ROOT, storageKeys, } from "./storage.js";
|
|
36
36
|
export { defineTool } from "./tools.js";
|
|
37
37
|
export type * from "./types.js";
|
|
38
|
-
export { DEFAULT_MODEL, DIRECT_TOOL_CALL_CHANNEL_ID, isCursorAccountTransport, isPeerConnectionTransport, isSymbolicConnectionTransport, MAX_RUNNING_TURNS_LIMIT, } from "./types.js";
|
|
38
|
+
export { cursorAccountServersHasMixedWildcard, DEFAULT_MODEL, DIRECT_TOOL_CALL_CHANNEL_ID, isCursorAccountTransport, isPeerConnectionTransport, isSymbolicConnectionTransport, MAX_RUNNING_TURNS_LIMIT, normalizeCursorAccountServers, } from "./types.js";
|
|
39
39
|
/**
|
|
40
40
|
* Runtime config for an agent — authored at `agent/agent.ts` (the root
|
|
41
41
|
* agent) or `agent/subagents/<id>/agent.ts` (a subagent).
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EACL,QAAQ,EACR,UAAU,EACV,MAAM,EACN,aAAa,EACb,GAAG,EACH,WAAW,EACX,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,GAAG,GACJ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAC5B,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,mBAAmB,YAAY,CAAC;AAChC,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -52,7 +52,7 @@ export { defineSchedule } from "./schedules.js";
|
|
|
52
52
|
export { defineSkill } from "./skills.js";
|
|
53
53
|
export { defineStorage, STORAGE_KEY_ROOT, storageKeys, } from "./storage.js";
|
|
54
54
|
export { defineTool } from "./tools.js";
|
|
55
|
-
export { DEFAULT_MODEL, DIRECT_TOOL_CALL_CHANNEL_ID, isCursorAccountTransport, isPeerConnectionTransport, isSymbolicConnectionTransport, MAX_RUNNING_TURNS_LIMIT, } from "./types.js";
|
|
55
|
+
export { cursorAccountServersHasMixedWildcard, DEFAULT_MODEL, DIRECT_TOOL_CALL_CHANNEL_ID, isCursorAccountTransport, isPeerConnectionTransport, isSymbolicConnectionTransport, MAX_RUNNING_TURNS_LIMIT, normalizeCursorAccountServers, } from "./types.js";
|
|
56
56
|
/**
|
|
57
57
|
* Runtime config for an agent — authored at `agent/agent.ts` (the root
|
|
58
58
|
* agent) or `agent/subagents/<id>/agent.ts` (a subagent).
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* filesystem-first evals under evals/ (*.eval.ts). Live A/B metrics
|
|
7
7
|
* (`defineAB` under `agent/ab`) plug into serve — there is no `ab` CLI.
|
|
8
8
|
*/
|
|
9
|
+
import type { EvalAssertionResult } from "../evals.js";
|
|
9
10
|
export interface AxCliOptions {
|
|
10
11
|
cwd?: string;
|
|
11
12
|
dir: string;
|
|
@@ -36,6 +37,19 @@ export interface AxCliOptions {
|
|
|
36
37
|
tags?: string[];
|
|
37
38
|
/** Eval ids / path prefixes. */
|
|
38
39
|
evalIds?: string[];
|
|
40
|
+
/** `eval`: a soft threshold miss (`scored`) also fails the exit code. */
|
|
41
|
+
strict?: boolean;
|
|
42
|
+
/** `eval`: write JUnit XML to this path. */
|
|
43
|
+
junit?: string;
|
|
44
|
+
/**
|
|
45
|
+
* `eval`: run-artifact directory. Defaults to a timestamped directory under
|
|
46
|
+
* `<dir>/.agent-serve/evals/`; `false` disables artifacts entirely.
|
|
47
|
+
*/
|
|
48
|
+
artifacts?: string | false;
|
|
49
|
+
/** `eval`: skip reporters declared in `evals.config.ts` and eval files. */
|
|
50
|
+
skipReport?: boolean;
|
|
51
|
+
/** `eval`: override `evals.config.ts` `maxConcurrency`. */
|
|
52
|
+
maxConcurrency?: number;
|
|
39
53
|
/** Scaffold target directory for `init`. */
|
|
40
54
|
initTarget?: string;
|
|
41
55
|
/** Tool name for `call`. */
|
|
@@ -145,6 +159,19 @@ export declare function cmdEvalCancel(runId: string | undefined, options: AxCliO
|
|
|
145
159
|
* the batch is still running (for poll loops after `--no-wait`).
|
|
146
160
|
*/
|
|
147
161
|
export declare function cmdEvalStatus(runId: string | undefined, options: AxCliOptions): Promise<number>;
|
|
162
|
+
/**
|
|
163
|
+
* Where a local run writes its artifacts.
|
|
164
|
+
*
|
|
165
|
+
* Defaults to a timestamped directory under the project's gitignored
|
|
166
|
+
* `.agent-serve/evals/`, so the full story of a failure is always on disk
|
|
167
|
+
* without the eval author opting in. `--no-artifacts` turns it off.
|
|
168
|
+
*/
|
|
169
|
+
export declare function resolveEvalArtifactsDir(projectRoot: string, options: Pick<AxCliOptions, "artifacts">): string | undefined;
|
|
170
|
+
/**
|
|
171
|
+
* One assertion line. Soft assertions read `~` rather than `✗` when they miss,
|
|
172
|
+
* so a tracked score is visibly different from a failed gate.
|
|
173
|
+
*/
|
|
174
|
+
export declare function formatEvalAssertionLine(assertion: EvalAssertionResult): string;
|
|
148
175
|
/**
|
|
149
176
|
* `logs` — follow deploy progress (`--prod`) then runtime agent logs.
|
|
150
177
|
* Local / `--url` tails `/v1/logs` only.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-ax.d.ts","sourceRoot":"","sources":["../../src/internal/cli-ax.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"cli-ax.d.ts","sourceRoot":"","sources":["../../src/internal/cli-ax.ts"],"names":[],"mappings":"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"}
|