@cursor/july 0.1.12 → 0.1.15
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/dist/bin/agent-serve.js +32 -9
- package/dist/channels/github/api.d.ts.map +1 -1
- package/dist/channels/github/api.js +11 -4
- package/dist/channels/github/cursor-account.d.ts +21 -1
- package/dist/channels/github/cursor-account.d.ts.map +1 -1
- package/dist/channels/github/cursor-account.js +29 -1
- package/dist/channels/github/github-channel.d.ts.map +1 -1
- package/dist/channels/github/github-channel.js +1 -1
- package/dist/channels/slack/api.d.ts +9 -0
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +40 -7
- package/dist/channels/slack/eval-directive.d.ts +3 -0
- package/dist/channels/slack/eval-directive.d.ts.map +1 -1
- package/dist/channels/slack/eval-directive.js +20 -1
- package/dist/channels/slack/post-update-delivery.d.ts +85 -0
- package/dist/channels/slack/post-update-delivery.d.ts.map +1 -0
- package/dist/docs/404.html +2 -2
- package/dist/docs/ab.html +3 -3
- package/dist/docs/assets/{app.Dh_JkJjI.js → app.DpdGZTLe.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.D2d8CfFS.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.CptQNLkR.js → VPLocalSearchBox.IB-0QqIT.js} +1 -1
- package/dist/docs/assets/chunks/{theme.DWflH-LQ.js → theme.-fYBoNtR.js} +2 -2
- package/dist/docs/assets/{evals.md.DAgEc_hL.js → evals.md.DYOjkRCX.js} +10 -4
- package/dist/docs/assets/{evals.md.DAgEc_hL.lean.js → evals.md.DYOjkRCX.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.B74NrVzb.js → reference_cli.md.DnYfr5V2.js} +4 -1
- package/dist/docs/assets/{reference_http-api.md.Dx_nmDG6.js → reference_http-api.md.BncLd3PZ.js} +2 -2
- package/dist/docs/assets/{reference_http-api.md.Dx_nmDG6.lean.js → reference_http-api.md.BncLd3PZ.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 +13 -7
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- package/dist/docs/guides/slack.html +3 -3
- 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 +8 -5
- package/dist/docs/reference/connections.html +3 -3
- package/dist/docs/reference/hooks.html +3 -3
- package/dist/docs/reference/http-api.html +5 -5
- 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.d.ts +49 -2
- package/dist/evals.d.ts.map +1 -1
- package/dist/evals.js +53 -16
- package/dist/internal/cli-ax.d.ts +4 -0
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +166 -33
- package/dist/internal/cli-deploy.d.ts +8 -0
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +92 -12
- package/dist/internal/cli-mcp-oauth.d.ts +14 -2
- package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
- package/dist/internal/cli-mcp-oauth.js +95 -2
- package/dist/internal/cursor/backend-client.d.ts +34 -0
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +73 -9
- package/dist/internal/cursor/credentials.d.ts +7 -1
- package/dist/internal/cursor/credentials.d.ts.map +1 -1
- package/dist/internal/cursor/credentials.js +9 -3
- package/dist/internal/cursor-account-mcp-auth.d.ts +55 -0
- package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -0
- package/dist/internal/cursor-account-mcp-auth.js +175 -0
- package/dist/internal/deploy-client.d.ts +6 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +13 -0
- package/dist/internal/eval-run-store.d.ts +15 -0
- package/dist/internal/eval-run-store.d.ts.map +1 -1
- package/dist/internal/eval-run-store.js +94 -8
- package/dist/internal/eval-runner.d.ts +14 -0
- package/dist/internal/eval-runner.d.ts.map +1 -1
- package/dist/internal/eval-runner.js +111 -22
- package/dist/internal/evals-client.d.ts +9 -1
- package/dist/internal/evals-client.d.ts.map +1 -1
- package/dist/internal/evals-client.js +44 -1
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +74 -7
- package/dist/internal/map-pool.d.ts +6 -1
- package/dist/internal/map-pool.d.ts.map +1 -1
- package/dist/internal/map-pool.js +8 -1
- package/dist/internal/mcp-host.d.ts +13 -0
- package/dist/internal/mcp-host.d.ts.map +1 -1
- package/dist/internal/mcp-host.js +68 -13
- package/dist/internal/persistence-coordinator.d.ts +127 -0
- package/dist/internal/persistence-coordinator.d.ts.map +1 -0
- package/dist/internal/run-client.d.ts +5 -1
- package/dist/internal/run-client.d.ts.map +1 -1
- package/dist/internal/run-client.js +26 -5
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +57 -4
- package/dist/internal/session-engine.d.ts +13 -0
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +49 -0
- package/dist/internal/storage-coordinator.d.ts +7 -0
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +29 -4
- package/dist/persistence.d.ts +184 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/playground/assets/{index-1dzluIcW.js → index-BVMOoiek.js} +44 -44
- package/dist/playground/assets/index-DYmP4b--.css +1 -0
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/evals.md +46 -11
- package/docs/reference/cli.md +3 -0
- package/docs/reference/http-api.md +2 -1
- package/package.json +1 -1
- package/skills/evals/SKILL.md +10 -0
- package/src/bin/agent-serve.ts +38 -8
- package/src/channels/github/api.ts +12 -1
- package/src/channels/github/cursor-account.ts +51 -1
- package/src/channels/github/github-channel.ts +4 -1
- package/src/channels/slack/api.ts +57 -8
- package/src/channels/slack/eval-directive.ts +24 -1
- package/src/evals.ts +112 -25
- package/src/internal/cli-ax.ts +195 -16
- package/src/internal/cli-deploy.ts +140 -13
- package/src/internal/cli-mcp-oauth.ts +122 -3
- package/src/internal/cursor/backend-client.ts +104 -1
- package/src/internal/cursor/credentials.ts +10 -2
- package/src/internal/cursor-account-mcp-auth.ts +241 -0
- package/src/internal/deploy-client.ts +16 -0
- package/src/internal/eval-run-store.ts +97 -6
- package/src/internal/eval-runner.ts +129 -18
- package/src/internal/evals-client.ts +82 -0
- package/src/internal/http-channel.ts +87 -6
- package/src/internal/map-pool.ts +8 -1
- package/src/internal/mcp-host.ts +74 -16
- package/src/internal/run-client.ts +32 -1
- package/src/internal/server.ts +69 -2
- package/src/internal/session-engine.ts +58 -0
- package/src/internal/storage-coordinator.ts +32 -6
- package/src/types.ts +10 -0
- package/dist/docs/assets/chunks/@localSearchIndexroot.Er_R50vY.js +0 -1
- package/dist/internal/json-dir-store.js +0 -100
- package/dist/playground/assets/index-kZjeJs1v.css +0 -1
- /package/dist/docs/assets/{reference_cli.md.B74NrVzb.lean.js → reference_cli.md.DnYfr5V2.lean.js} +0 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service-account connector authorization for
|
|
3
|
+
* `defineConnection({ cursorAccount: true })` on hosted deployments.
|
|
4
|
+
*
|
|
5
|
+
* Hosted engines authenticate as their deployment's dedicated service
|
|
6
|
+
* account, whose connector OAuth tokens live backend-side. This flow is the
|
|
7
|
+
* dashboard's Authenticate button as a CLI loop: probe the connectors via
|
|
8
|
+
* `CheckHttpMcpStatus` (which mints a complete OAuth `authUrl` per connector
|
|
9
|
+
* needing auth), open each URL for the human to grant, and poll until the
|
|
10
|
+
* backend reports the token stored. Nothing token-shaped ever touches this
|
|
11
|
+
* process — the cursor.com callback stores tokens against the service
|
|
12
|
+
* account. Used by `agentkit mcp oauth <connection>` and the post-deploy
|
|
13
|
+
* hook in `cli-deploy.ts`.
|
|
14
|
+
*/
|
|
15
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
import { LOG_PREFIX } from "./distribution.js";
|
|
25
|
+
import { openBrowser } from "./mcp-oauth.js";
|
|
26
|
+
const DEFAULT_POLL_INTERVAL_MS = 3000;
|
|
27
|
+
const DEFAULT_POLL_TIMEOUT_MS = 5 * 60 * 1000;
|
|
28
|
+
/** Same default the dashboard uses; MCP_OAUTH_REDIRECT_URI overrides for dev. */
|
|
29
|
+
export function mcpOauthRedirectUri() {
|
|
30
|
+
const override = process.env.MCP_OAUTH_REDIRECT_URI;
|
|
31
|
+
if (override !== undefined && override.trim() !== "") {
|
|
32
|
+
return override.trim();
|
|
33
|
+
}
|
|
34
|
+
return "https://www.cursor.com/agents/mcp/oauth/callback";
|
|
35
|
+
}
|
|
36
|
+
function sleepMs(ms) {
|
|
37
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Authorize the deployment service account for the connection's connectors.
|
|
41
|
+
* Already-authorized connectors are skipped; the rest get a browser OAuth
|
|
42
|
+
* each (sequentially), polled until the backend stores the token.
|
|
43
|
+
*/
|
|
44
|
+
export function authorizeCursorAccountConnectors(args) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
var _a, _b, _c, _d, _e, _f;
|
|
47
|
+
const { backendClient, teamId, serviceAccountId, connectionName, out, err } = args;
|
|
48
|
+
const open = (_a = args.openBrowserImpl) !== null && _a !== void 0 ? _a : openBrowser;
|
|
49
|
+
const sleep = (_b = args.sleep) !== null && _b !== void 0 ? _b : sleepMs;
|
|
50
|
+
const pollIntervalMs = (_c = args.pollIntervalMs) !== null && _c !== void 0 ? _c : DEFAULT_POLL_INTERVAL_MS;
|
|
51
|
+
const pollTimeoutMs = (_d = args.pollTimeoutMs) !== null && _d !== void 0 ? _d : DEFAULT_POLL_TIMEOUT_MS;
|
|
52
|
+
const redirectUri = mcpOauthRedirectUri();
|
|
53
|
+
// Team-scoped connectors only: the hosted bridge resolves the SA's team
|
|
54
|
+
// servers, so personal connectors can never apply to a deployment.
|
|
55
|
+
const available = (yield backendClient.getAvailableMcpServers({ teamId })).filter((server) => server.isTeamServer);
|
|
56
|
+
const selected = selectConnectors(available, args.servers);
|
|
57
|
+
for (const missing of selected.unmatched) {
|
|
58
|
+
err(`${LOG_PREFIX} Connection "${connectionName}" lists connector ${JSON.stringify(missing)}, but the team has no such connector (dashboard → MCP).\n`);
|
|
59
|
+
}
|
|
60
|
+
if (selected.servers.length === 0) {
|
|
61
|
+
err(`${LOG_PREFIX} No matching team connectors for connection "${connectionName}".\n`);
|
|
62
|
+
return { authorized: [], pending: [], errored: [] };
|
|
63
|
+
}
|
|
64
|
+
const nameById = new Map(selected.servers.map((server) => [server.id, server.name]));
|
|
65
|
+
const statuses = yield backendClient.checkHttpMcpStatus({
|
|
66
|
+
serverIds: selected.servers.map((server) => server.id),
|
|
67
|
+
oauthRedirectUri: redirectUri,
|
|
68
|
+
serviceAccountId,
|
|
69
|
+
});
|
|
70
|
+
const result = {
|
|
71
|
+
authorized: [],
|
|
72
|
+
pending: [],
|
|
73
|
+
errored: [],
|
|
74
|
+
};
|
|
75
|
+
for (const status of statuses) {
|
|
76
|
+
const name = (_e = nameById.get(status.id)) !== null && _e !== void 0 ? _e : `#${status.id}`;
|
|
77
|
+
if (!status.requiresAuth) {
|
|
78
|
+
if (status.error !== undefined && status.error !== "") {
|
|
79
|
+
err(`${LOG_PREFIX} ${name}: ${status.error}\n`);
|
|
80
|
+
result.errored.push({ name, error: status.error });
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
out(`${LOG_PREFIX} ${name}: already authorized ✓\n`);
|
|
84
|
+
result.authorized.push(name);
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (status.authUrl === undefined || status.authUrl === "") {
|
|
88
|
+
const error = (_f = status.error) !== null && _f !== void 0 ? _f : "no authorization URL was minted";
|
|
89
|
+
err(`${LOG_PREFIX} ${name}: ${error}\n`);
|
|
90
|
+
result.errored.push({ name, error });
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (!args.interactive) {
|
|
94
|
+
result.pending.push(name);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
out(`${LOG_PREFIX} ${name}: authorization needed. You'll authorize ${name} as yourself; ` +
|
|
98
|
+
`anyone who can talk to this agent can act with that access.\n` +
|
|
99
|
+
`${LOG_PREFIX} Opening (or open manually):\n ${status.authUrl}\n`);
|
|
100
|
+
open(status.authUrl);
|
|
101
|
+
const authorized = yield pollUntilAuthorized({
|
|
102
|
+
backendClient,
|
|
103
|
+
serverId: status.id,
|
|
104
|
+
serviceAccountId,
|
|
105
|
+
redirectUri,
|
|
106
|
+
sleep,
|
|
107
|
+
pollIntervalMs,
|
|
108
|
+
pollTimeoutMs,
|
|
109
|
+
});
|
|
110
|
+
if (authorized) {
|
|
111
|
+
out(`${LOG_PREFIX} ${name}: authorized ✓\n`);
|
|
112
|
+
result.authorized.push(name);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
err(`${LOG_PREFIX} ${name}: still waiting on authorization; giving up for now.\n`);
|
|
116
|
+
result.pending.push(name);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return result;
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function selectConnectors(available, filter) {
|
|
123
|
+
if (filter === undefined || filter.length === 0) {
|
|
124
|
+
return { servers: available, unmatched: [] };
|
|
125
|
+
}
|
|
126
|
+
const servers = [];
|
|
127
|
+
const seen = new Set();
|
|
128
|
+
const unmatched = [];
|
|
129
|
+
for (const name of filter) {
|
|
130
|
+
const wanted = name.trim().toLowerCase();
|
|
131
|
+
const matches = available.filter((server) => { var _a; return server.name.toLowerCase() === wanted ||
|
|
132
|
+
((_a = server.serverIdentifier) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === wanted; });
|
|
133
|
+
if (matches.length === 0) {
|
|
134
|
+
unmatched.push(name);
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
for (const match of matches) {
|
|
138
|
+
if (!seen.has(match.id)) {
|
|
139
|
+
seen.add(match.id);
|
|
140
|
+
servers.push(match);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return { servers, unmatched };
|
|
145
|
+
}
|
|
146
|
+
function pollUntilAuthorized(args) {
|
|
147
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
const deadline = Date.now() + args.pollTimeoutMs;
|
|
149
|
+
// Each unauthorized probe is a full backend connect to the provider, so
|
|
150
|
+
// back off while the human works through the OAuth pages.
|
|
151
|
+
let intervalMs = args.pollIntervalMs;
|
|
152
|
+
const maxIntervalMs = Math.max(args.pollIntervalMs, 15000);
|
|
153
|
+
while (Date.now() < deadline) {
|
|
154
|
+
yield args.sleep(intervalMs);
|
|
155
|
+
intervalMs = Math.min(intervalMs * 1.5, maxIntervalMs);
|
|
156
|
+
let statuses;
|
|
157
|
+
try {
|
|
158
|
+
statuses = yield args.backendClient.checkHttpMcpStatus({
|
|
159
|
+
serverIds: [args.serverId],
|
|
160
|
+
oauthRedirectUri: args.redirectUri,
|
|
161
|
+
serviceAccountId: args.serviceAccountId,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch (_a) {
|
|
165
|
+
// Transient probe errors; keep polling until the deadline.
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
const status = statuses.find((entry) => entry.id === args.serverId);
|
|
169
|
+
if (status !== undefined && !status.requiresAuth) {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return false;
|
|
174
|
+
});
|
|
175
|
+
}
|
|
@@ -108,6 +108,12 @@ export interface EngineAccess {
|
|
|
108
108
|
export interface DeploymentDetail extends Deployment {
|
|
109
109
|
engineAccess?: EngineAccess | null;
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* The deployment's dedicated service-account id (`sa_…`), or undefined for
|
|
113
|
+
* legacy rows that predate service-account-backed deploys. Normalizes the
|
|
114
|
+
* wire shape (string in prod, number in old fixtures, null when unset).
|
|
115
|
+
*/
|
|
116
|
+
export declare function deploymentServiceAccountId(deployment: Pick<Deployment, "serviceAccountId">): string | undefined;
|
|
111
117
|
export interface StopAccepted {
|
|
112
118
|
id: number;
|
|
113
119
|
status: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-client.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy-client.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,19 @@ export class DeployApiError extends Error {
|
|
|
53
53
|
this.name = "DeployApiError";
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* The deployment's dedicated service-account id (`sa_…`), or undefined for
|
|
58
|
+
* legacy rows that predate service-account-backed deploys. Normalizes the
|
|
59
|
+
* wire shape (string in prod, number in old fixtures, null when unset).
|
|
60
|
+
*/
|
|
61
|
+
export function deploymentServiceAccountId(deployment) {
|
|
62
|
+
const raw = deployment.serviceAccountId;
|
|
63
|
+
if (raw === null || raw === undefined) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
const id = String(raw).trim();
|
|
67
|
+
return id === "" ? undefined : id;
|
|
68
|
+
}
|
|
56
69
|
// All response schemas are `.passthrough()`: the backend keeps growing the
|
|
57
70
|
// deployment payload (serviceAccountId, egressAllowedDomains, secret
|
|
58
71
|
// metadata, ...) and unknown fields must flow through untouched — both so
|
|
@@ -42,6 +42,7 @@ export declare class EvalRunStore {
|
|
|
42
42
|
private readonly storage?;
|
|
43
43
|
private readonly runs;
|
|
44
44
|
private activeRunId;
|
|
45
|
+
private readonly abortByRunId;
|
|
45
46
|
private hydratePromise;
|
|
46
47
|
private hydrated;
|
|
47
48
|
/** Filled after listen — e.g. `http://127.0.0.1:3000/weather-agent`. */
|
|
@@ -72,6 +73,11 @@ export declare class EvalRunStore {
|
|
|
72
73
|
}>;
|
|
73
74
|
getActiveRunId(): string | undefined;
|
|
74
75
|
start(input?: StartEvalRunInput): Promise<EvalRunSnapshot>;
|
|
76
|
+
/**
|
|
77
|
+
* Cancel a running batch by Eval ID (`runId`). Stops starting new cases and
|
|
78
|
+
* aborts in-flight turns. Idempotent when already cancelled.
|
|
79
|
+
*/
|
|
80
|
+
cancel(runId: string): Promise<EvalRunSnapshot>;
|
|
75
81
|
private sortedRuns;
|
|
76
82
|
/**
|
|
77
83
|
* Hydrate playground eval history from the `defineStorage` evals table.
|
|
@@ -102,4 +108,13 @@ export declare class EvalRunConflictError extends Error {
|
|
|
102
108
|
export declare class EvalRunEmptyError extends Error {
|
|
103
109
|
constructor();
|
|
104
110
|
}
|
|
111
|
+
export declare class EvalRunUnknownError extends Error {
|
|
112
|
+
readonly runId: string;
|
|
113
|
+
constructor(runId: string);
|
|
114
|
+
}
|
|
115
|
+
export declare class EvalRunNotRunningError extends Error {
|
|
116
|
+
readonly runId: string;
|
|
117
|
+
readonly status: EvalRunSnapshot["status"];
|
|
118
|
+
constructor(runId: string, status: EvalRunSnapshot["status"]);
|
|
119
|
+
}
|
|
105
120
|
//# sourceMappingURL=eval-run-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-run-store.d.ts","sourceRoot":"","sources":["../../src/internal/eval-run-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,aAAa,CAAC;AASrB,YAAY,EACV,eAAe,EACf,iBAAiB,IAAI,cAAc,EACnC,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"eval-run-store.d.ts","sourceRoot":"","sources":["../../src/internal/eval-run-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,8 @@ import { resolveEvalMaxPlaygroundRuns, } from "../evals.js";
|
|
|
21
21
|
import { discoverEvals, filterDiscoveredEvals, runDiscoveredEvals, } from "./eval-runner.js";
|
|
22
22
|
const INTERRUPTED_BATCH_ERROR = "Eval run interrupted (serve process exited before completion)";
|
|
23
23
|
const INTERRUPTED_CASE_ERROR = "Eval case interrupted (serve process exited before completion)";
|
|
24
|
+
const CANCELLED_BATCH_ERROR = "Eval run cancelled";
|
|
25
|
+
const CANCELLED_CASE_ERROR = "Eval case cancelled";
|
|
24
26
|
export class EvalRunStore {
|
|
25
27
|
constructor(projectRoot, logger,
|
|
26
28
|
/** `defineStorage` evals-table adapter; undefined ⇒ memory only. */
|
|
@@ -29,6 +31,7 @@ export class EvalRunStore {
|
|
|
29
31
|
this.logger = logger;
|
|
30
32
|
this.storage = storage;
|
|
31
33
|
this.runs = new Map();
|
|
34
|
+
this.abortByRunId = new Map();
|
|
32
35
|
this.hydrated = false;
|
|
33
36
|
}
|
|
34
37
|
list() {
|
|
@@ -109,15 +112,45 @@ export class EvalRunStore {
|
|
|
109
112
|
};
|
|
110
113
|
this.runs.set(runId, snapshot);
|
|
111
114
|
this.activeRunId = runId;
|
|
115
|
+
const abort = new AbortController();
|
|
116
|
+
this.abortByRunId.set(runId, abort);
|
|
112
117
|
this.pruneOldRuns(config);
|
|
113
118
|
this.persist(snapshot);
|
|
114
119
|
this.logger(`[agentkit] eval run ${runId}: starting ${cases.length} case(s)`);
|
|
115
|
-
void this.execute(runId, Object.assign(Object.assign(Object.assign({ baseUrl: loopbackUrl, evals: selected, config }, (input.bearerToken === undefined
|
|
120
|
+
void this.execute(runId, Object.assign(Object.assign(Object.assign({ baseUrl: loopbackUrl, evals: selected, config, signal: abort.signal }, (input.bearerToken === undefined
|
|
116
121
|
? {}
|
|
117
122
|
: { bearerToken: input.bearerToken })), (input.verbose === undefined ? {} : { verbose: input.verbose })), (input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs })));
|
|
118
123
|
return snapshot;
|
|
119
124
|
});
|
|
120
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Cancel a running batch by Eval ID (`runId`). Stops starting new cases and
|
|
128
|
+
* aborts in-flight turns. Idempotent when already cancelled.
|
|
129
|
+
*/
|
|
130
|
+
cancel(runId) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
yield this.hydrate();
|
|
133
|
+
const run = this.runs.get(runId);
|
|
134
|
+
if (run === undefined) {
|
|
135
|
+
throw new EvalRunUnknownError(runId);
|
|
136
|
+
}
|
|
137
|
+
if (run.status === "cancelled") {
|
|
138
|
+
return run;
|
|
139
|
+
}
|
|
140
|
+
if (run.status !== "running") {
|
|
141
|
+
throw new EvalRunNotRunningError(runId, run.status);
|
|
142
|
+
}
|
|
143
|
+
const abort = this.abortByRunId.get(runId);
|
|
144
|
+
abort === null || abort === void 0 ? void 0 : abort.abort();
|
|
145
|
+
markCancelledRun(run);
|
|
146
|
+
this.persist(run);
|
|
147
|
+
if (this.activeRunId === runId) {
|
|
148
|
+
this.activeRunId = undefined;
|
|
149
|
+
}
|
|
150
|
+
this.logger(`[agentkit] eval run ${runId}: cancelled`);
|
|
151
|
+
return run;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
121
154
|
sortedRuns() {
|
|
122
155
|
return [...this.runs.values()].sort((a, b) => b.startedAt.localeCompare(a.startedAt));
|
|
123
156
|
}
|
|
@@ -210,6 +243,7 @@ export class EvalRunStore {
|
|
|
210
243
|
* completion write) until the next hydrate repairs it.
|
|
211
244
|
*/
|
|
212
245
|
close() {
|
|
246
|
+
var _a;
|
|
213
247
|
const activeRunId = this.activeRunId;
|
|
214
248
|
if (activeRunId === undefined) {
|
|
215
249
|
return;
|
|
@@ -218,9 +252,11 @@ export class EvalRunStore {
|
|
|
218
252
|
if (run === undefined || run.status !== "running") {
|
|
219
253
|
return;
|
|
220
254
|
}
|
|
255
|
+
(_a = this.abortByRunId.get(activeRunId)) === null || _a === void 0 ? void 0 : _a.abort();
|
|
221
256
|
markInterruptedRun(run);
|
|
222
257
|
this.persist(run);
|
|
223
258
|
this.activeRunId = undefined;
|
|
259
|
+
this.abortByRunId.delete(activeRunId);
|
|
224
260
|
}
|
|
225
261
|
execute(runId, opts) {
|
|
226
262
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -228,11 +264,11 @@ export class EvalRunStore {
|
|
|
228
264
|
return;
|
|
229
265
|
}
|
|
230
266
|
try {
|
|
231
|
-
yield runDiscoveredEvals(Object.assign(Object.assign(Object.assign(Object.assign({ projectRoot: this.projectRoot, baseUrl: opts.baseUrl, discovered: { evals: opts.evals, config: opts.config } }, (opts.bearerToken === undefined
|
|
267
|
+
yield runDiscoveredEvals(Object.assign(Object.assign(Object.assign(Object.assign({ projectRoot: this.projectRoot, baseUrl: opts.baseUrl, discovered: { evals: opts.evals, config: opts.config }, signal: opts.signal }, (opts.bearerToken === undefined
|
|
232
268
|
? {}
|
|
233
269
|
: { bearerToken: opts.bearerToken })), (opts.verbose === undefined ? {} : { verbose: opts.verbose })), (opts.timeoutMs === undefined ? {} : { timeoutMs: opts.timeoutMs })), { onCaseStart: (id) => {
|
|
234
270
|
const run = this.runs.get(runId);
|
|
235
|
-
if (run === undefined) {
|
|
271
|
+
if (run === undefined || run.status === "cancelled") {
|
|
236
272
|
return;
|
|
237
273
|
}
|
|
238
274
|
const c = run.cases.find((x) => x.id === id);
|
|
@@ -241,6 +277,10 @@ export class EvalRunStore {
|
|
|
241
277
|
c.inputs = [];
|
|
242
278
|
c.toolCalls = [];
|
|
243
279
|
c.finalText = undefined;
|
|
280
|
+
c.metrics = undefined;
|
|
281
|
+
c.logs = undefined;
|
|
282
|
+
c.assertions = undefined;
|
|
283
|
+
c.error = undefined;
|
|
244
284
|
}
|
|
245
285
|
}, onCaseEvent: (id, event) => {
|
|
246
286
|
var _a, _b;
|
|
@@ -276,7 +316,7 @@ export class EvalRunStore {
|
|
|
276
316
|
}
|
|
277
317
|
} }));
|
|
278
318
|
const run = this.runs.get(runId);
|
|
279
|
-
if (run === undefined) {
|
|
319
|
+
if (run === undefined || run.status === "cancelled") {
|
|
280
320
|
return;
|
|
281
321
|
}
|
|
282
322
|
run.status = "completed";
|
|
@@ -286,16 +326,24 @@ export class EvalRunStore {
|
|
|
286
326
|
}
|
|
287
327
|
catch (error) {
|
|
288
328
|
const run = this.runs.get(runId);
|
|
289
|
-
if (run === undefined) {
|
|
329
|
+
if (run === undefined || run.status === "cancelled") {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
333
|
+
if (opts.signal.aborted || message === "cancelled") {
|
|
334
|
+
markCancelledRun(run);
|
|
335
|
+
this.persist(run);
|
|
336
|
+
this.logger(`[agentkit] eval run ${runId}: cancelled`);
|
|
290
337
|
return;
|
|
291
338
|
}
|
|
292
339
|
run.status = "failed";
|
|
293
340
|
run.finishedAt = new Date().toISOString();
|
|
294
|
-
run.error =
|
|
341
|
+
run.error = message;
|
|
295
342
|
this.persist(run);
|
|
296
343
|
this.logger(`[agentkit] eval run ${runId}: failed — ${run.error}`);
|
|
297
344
|
}
|
|
298
345
|
finally {
|
|
346
|
+
this.abortByRunId.delete(runId);
|
|
299
347
|
if (this.activeRunId === runId) {
|
|
300
348
|
this.activeRunId = undefined;
|
|
301
349
|
}
|
|
@@ -311,11 +359,15 @@ export class EvalRunStore {
|
|
|
311
359
|
if (c === undefined) {
|
|
312
360
|
return;
|
|
313
361
|
}
|
|
362
|
+
const alreadyCounted = c.status === "done";
|
|
314
363
|
c.status = "done";
|
|
315
364
|
c.ok = result.ok;
|
|
316
365
|
c.assertions = result.assertions;
|
|
317
366
|
c.durationMs = result.durationMs;
|
|
318
367
|
c.logs = result.logs;
|
|
368
|
+
c.metrics =
|
|
369
|
+
Object.keys(result.metrics).length > 0
|
|
370
|
+
? Object.assign({}, result.metrics) : undefined;
|
|
319
371
|
c.inputs = result.inputs;
|
|
320
372
|
if (result.toolCalls !== undefined) {
|
|
321
373
|
c.toolCalls = result.toolCalls;
|
|
@@ -332,6 +384,10 @@ export class EvalRunStore {
|
|
|
332
384
|
if (result.tools !== undefined) {
|
|
333
385
|
c.tools = result.tools;
|
|
334
386
|
}
|
|
387
|
+
// Batch already finalized by cancel — keep case details, skip recount.
|
|
388
|
+
if (run.status === "cancelled" || alreadyCounted) {
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
335
391
|
run.summary.done += 1;
|
|
336
392
|
if (result.ok) {
|
|
337
393
|
run.summary.passed += 1;
|
|
@@ -353,8 +409,23 @@ function markInterruptedRun(run) {
|
|
|
353
409
|
c.error = (_c = c.error) !== null && _c !== void 0 ? _c : INTERRUPTED_CASE_ERROR;
|
|
354
410
|
}
|
|
355
411
|
}
|
|
356
|
-
|
|
357
|
-
|
|
412
|
+
reconcileRunSummary(run);
|
|
413
|
+
}
|
|
414
|
+
function markCancelledRun(run) {
|
|
415
|
+
var _a;
|
|
416
|
+
run.status = "cancelled";
|
|
417
|
+
run.finishedAt = (_a = run.finishedAt) !== null && _a !== void 0 ? _a : new Date().toISOString();
|
|
418
|
+
run.error = CANCELLED_BATCH_ERROR;
|
|
419
|
+
for (const c of run.cases) {
|
|
420
|
+
if (c.status === "pending" || c.status === "running") {
|
|
421
|
+
c.status = "done";
|
|
422
|
+
c.ok = false;
|
|
423
|
+
c.error = CANCELLED_CASE_ERROR;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
reconcileRunSummary(run);
|
|
427
|
+
}
|
|
428
|
+
function reconcileRunSummary(run) {
|
|
358
429
|
let passed = 0;
|
|
359
430
|
let failed = 0;
|
|
360
431
|
for (const c of run.cases) {
|
|
@@ -401,3 +472,18 @@ export class EvalRunEmptyError extends Error {
|
|
|
401
472
|
this.name = "EvalRunEmptyError";
|
|
402
473
|
}
|
|
403
474
|
}
|
|
475
|
+
export class EvalRunUnknownError extends Error {
|
|
476
|
+
constructor(runId) {
|
|
477
|
+
super(`Unknown eval run ${runId}`);
|
|
478
|
+
this.runId = runId;
|
|
479
|
+
this.name = "EvalRunUnknownError";
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
export class EvalRunNotRunningError extends Error {
|
|
483
|
+
constructor(runId, status) {
|
|
484
|
+
super(`Eval run ${runId} is not running (status: ${status})`);
|
|
485
|
+
this.runId = runId;
|
|
486
|
+
this.status = status;
|
|
487
|
+
this.name = "EvalRunNotRunningError";
|
|
488
|
+
}
|
|
489
|
+
}
|
|
@@ -37,6 +37,8 @@ export interface EvalRunResult {
|
|
|
37
37
|
}>;
|
|
38
38
|
error?: string;
|
|
39
39
|
logs: string[];
|
|
40
|
+
/** Structured scores from {@link import("../evals.js").EvalTestContext.metric}. */
|
|
41
|
+
metrics: Record<string, string | number>;
|
|
40
42
|
durationMs: number;
|
|
41
43
|
}
|
|
42
44
|
export interface EvalSelectionOptions {
|
|
@@ -67,6 +69,8 @@ export interface RunEvalsOptions extends EvalSelectionOptions {
|
|
|
67
69
|
evals: readonly DiscoveredEval[];
|
|
68
70
|
config: Partial<EvalConfigFile>;
|
|
69
71
|
};
|
|
72
|
+
/** When aborted, stop starting new cases and cancel in-flight turns. */
|
|
73
|
+
signal?: AbortSignal;
|
|
70
74
|
}
|
|
71
75
|
export declare function discoverEvals(projectRoot: string, importModule?: (absolutePath: string) => Promise<Record<string, unknown>>): Promise<{
|
|
72
76
|
evals: DiscoveredEval[];
|
|
@@ -75,4 +79,14 @@ export declare function discoverEvals(projectRoot: string, importModule?: (absol
|
|
|
75
79
|
/** Apply id/tag filters used by CLI, playground, and `runDiscoveredEvals`. */
|
|
76
80
|
export declare function filterDiscoveredEvals(evals: readonly DiscoveredEval[], options?: EvalSelectionOptions): DiscoveredEval[];
|
|
77
81
|
export declare function runDiscoveredEvals(options: RunEvalsOptions): Promise<EvalRunResult[]>;
|
|
82
|
+
/**
|
|
83
|
+
* Schedule key for {@link groupEvalsForIterationSchedule}: iteration siblings
|
|
84
|
+
* (`weather/nyc/1`…`/3`) share a key; single-iteration ids keep their full id.
|
|
85
|
+
*/
|
|
86
|
+
export declare function iterationScheduleKey(discovered: DiscoveredEval): string;
|
|
87
|
+
/**
|
|
88
|
+
* Group expanded iteration cases so each authored datapoint's iterations run
|
|
89
|
+
* back-to-back under one {@link mapPool} slot (sorted by iteration index).
|
|
90
|
+
*/
|
|
91
|
+
export declare function groupEvalsForIterationSchedule(evals: readonly DiscoveredEval[]): DiscoveredEval[][];
|
|
78
92
|
//# sourceMappingURL=eval-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval-runner.d.ts","sourceRoot":"","sources":["../../src/internal/eval-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EAMf,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,wDAAwD;IACxD,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,4EAA4E;IAC5E,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,kFAAkF;IAClF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxD,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;QACjC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;KACjC,CAAC;
|
|
1
|
+
{"version":3,"file":"eval-runner.d.ts","sourceRoot":"","sources":["../../src/internal/eval-runner.ts"],"names":[],"mappings":"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"}
|