@cursor/bdk 0.2.5 → 0.2.6
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 +17 -11
- package/dist/channels/github/github-channel.d.ts +4 -4
- package/dist/channels/github/github-channel.js +5 -5
- package/dist/channels/slack/eval-directive.js +1 -1
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.94Iu5dyD.js → app.CJLKDVza.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.Bq-pxRXm.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.DTKFDlBr.js → VPLocalSearchBox.BW9mrQmq.js} +1 -1
- package/dist/docs/assets/chunks/{arc.DuzwHEeg.js → arc.D8ZOvM1m.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.C6lyhLs0.js → architectureDiagram-Q4EWVU46.CXEKhLW-.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.DUNEWlY8.js → baseUniq.BJkVKblr.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.CXOQGI0O.js → blockDiagram-DXYQGD6D.DQDbHxor.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.BYdPE-Oe.js → c4Diagram-AHTNJAMY.ByMD6LYM.js} +1 -1
- package/dist/docs/assets/chunks/channel.DCU8W1RP.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.YIV9HeX0.js → chunk-4BX2VUAB.Dtq1aVI9.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.BG80DEOc.js → chunk-4TB4RGXK.BL_XrkoQ.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.BDKJSZQc.js → chunk-55IACEB6.BDPXu94_.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.CtYnQqts.js → chunk-EDXVE4YY.DhGOQj4k.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.CityOth-.js → chunk-FMBD7UC4.DSF5nr8v.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CMD22CQX.js → chunk-OYMX7WX6.Day7wayw.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.WWpc3ND0.js → chunk-QZHKN3VN.CpBEC0zA.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.BMg-yhj3.js → chunk-YZCP3GAM.X_7rY1rx.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DwpXsM06.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DwpXsM06.js +1 -0
- package/dist/docs/assets/chunks/clone.DH6Mx2zB.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Buu_LC5q.js → cose-bilkent-S5V4N54A.BVRmi2ko.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.DW7onj6E.js → dagre-KV5264BT.Dei9oslB.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.B3NxIbEV.js → diagram-5BDNPKRD._M-efGt7.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.BJvN6Vkv.js → diagram-G4DWMVQ6.D1Vmhfsj.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.wfRWrexs.js → diagram-MMDJMWI5.cE1bmvAC.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.7QtjSYio.js → diagram-TYMM5635.DkXAfznP.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.jxPgDH1t.js → erDiagram-SMLLAGMA.DH_pSwPg.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.BhDWA-TO.js → flowDiagram-DWJPFMVM.kAWVN9j1.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.Ijq8iYKv.js → ganttDiagram-T4ZO3ILL.8r0w49-p.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DXpfW4YG.js → gitGraphDiagram-UUTBAWPF.BDa7Bi1i.js} +1 -1
- package/dist/docs/assets/chunks/{graph.CoPlssRl.js → graph.BMPXHz_B.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.eJuv_EOz.js → infoDiagram-42DDH7IO.BmlcqewS.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A._OEzenCR.js → ishikawaDiagram-UXIWVN3A.CVSEQSul.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CwlTjirB.js → journeyDiagram-VCZTEJTY.BpeWJ5n-.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.DSp_C8cZ.js → kanban-definition-6JOO6SKY.DHbDXuxB.js} +1 -1
- package/dist/docs/assets/chunks/{layout.Bms9s7uB.js → layout.CzrCDgkP.js} +1 -1
- package/dist/docs/assets/chunks/{linear.BjnmB4je.js → linear.HwBsflwN.js} +1 -1
- package/dist/docs/assets/chunks/{min.CKkYlMsn.js → min.DqGHolT3.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.T2d0vJ7X.js → mindmap-definition-QFDTVHPH.ZYGlOawh.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.DU0RoCvx.js → pieDiagram-DEJITSTG.C2KRXlNR.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.9QZjM-x0.js → quadrantDiagram-34T5L4WZ.CHj3Qefp.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CZpylJMd.js → requirementDiagram-MS252O5E.B1L4Tf7k.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.CnFdfW95.js → sankeyDiagram-XADWPNL6.dNR2yi1B.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.-jC0PP1t.js → sequenceDiagram-FGHM5R23.BrvQ3C6m.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DG7yBRUU.js → stateDiagram-FHFEXIEX.BtehEykA.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.kzD0-U89.js +1 -0
- package/dist/docs/assets/chunks/{theme.B3O9koXV.js → theme.BDHBZUkP.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.Bf9u4Ebb.js → timeline-definition-GMOUNBTQ.Bn7nhqEN.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BjhbbYE6.js → vennDiagram-DHZGUBPP.DKhc38sz.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.DOXQ0w8J.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.8fRb4Nb5.js → wardleyDiagram-NUSXRM2D.Bbq5B2Ic.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.DoOP3zZM.js → xychartDiagram-5P7HB3ND.B77HE1K8.js} +1 -1
- package/dist/docs/assets/{evals.md.LRCSn6Ik.js → evals.md.C851kViu.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.C0guGcH0.js → reference_skills.md.ClkMoQsV.js} +3 -3
- package/dist/docs/assets/{templates_agentic-owners.md.vtjfwxbf.js → templates_agentic-owners.md.CvmABtia.js} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.vtjfwxbf.lean.js → templates_agentic-owners.md.CvmABtia.lean.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.CX9l9bcg.js → templates_security-reviewer.md.Gh6EF9Us.js} +3 -2
- package/dist/docs/assets/{templates_security-reviewer.md.CX9l9bcg.lean.js → templates_security-reviewer.md.Gh6EF9Us.lean.js} +1 -1
- package/dist/docs/assets/{templates_thermo-quality-review.md.95qmTmr1.js → templates_thermo-quality-review.md.B77UyTrX.js} +1 -1
- package/dist/docs/assets/{templates_thermo-review.md.DQh6Q0C-.js → templates_thermo-review.md.DRJ7mC5U.js} +1 -1
- package/dist/docs/assets/{templates_triage.md.BFlQhWXf.js → templates_triage.md.CNN6b0JZ.js} +3 -3
- package/dist/docs/assets/{templates_triage.md.BFlQhWXf.lean.js → templates_triage.md.CNN6b0JZ.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +35 -35
- package/dist/docs/deployment.html +35 -35
- package/dist/docs/evals.html +37 -37
- package/dist/docs/evals.md +2 -2
- package/dist/docs/guides/agent-to-agent.html +35 -35
- package/dist/docs/guides/bitbucket.html +35 -35
- package/dist/docs/guides/cloud-agents.html +35 -35
- package/dist/docs/guides/convert-automation.html +35 -35
- package/dist/docs/guides/github.html +35 -35
- package/dist/docs/guides/gitlab.html +35 -35
- package/dist/docs/guides/grokbot-agents.html +35 -35
- package/dist/docs/guides/hooks.html +35 -35
- package/dist/docs/guides/improve.html +35 -35
- package/dist/docs/guides/jev.html +35 -35
- package/dist/docs/guides/mcp-oauth.html +35 -35
- package/dist/docs/guides/opentelemetry.html +35 -35
- package/dist/docs/guides/slack.html +35 -35
- package/dist/docs/guides/webhooks.html +35 -35
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +35 -35
- package/dist/docs/index.html +35 -35
- package/dist/docs/llms-full.txt +21 -15
- package/dist/docs/quickstart.html +35 -35
- package/dist/docs/reference/agent-config.html +35 -35
- package/dist/docs/reference/artifacts.html +35 -35
- package/dist/docs/reference/channels.html +35 -35
- package/dist/docs/reference/cli.html +35 -35
- package/dist/docs/reference/connections.html +35 -35
- package/dist/docs/reference/evals.html +35 -35
- package/dist/docs/reference/extensions.html +35 -35
- package/dist/docs/reference/hooks.html +35 -35
- package/dist/docs/reference/http-api.html +35 -35
- package/dist/docs/reference/instructions.html +35 -35
- package/dist/docs/reference/playground.html +35 -35
- package/dist/docs/reference/project-layout.html +35 -35
- package/dist/docs/reference/prompt.html +35 -35
- package/dist/docs/reference/schedules.html +35 -35
- package/dist/docs/reference/sessions.html +35 -35
- package/dist/docs/reference/skills.html +38 -38
- package/dist/docs/reference/subagents.html +35 -35
- package/dist/docs/reference/tools.html +35 -35
- package/dist/docs/templates/agentic-owners.html +37 -37
- package/dist/docs/templates/agentic-owners.md +2 -0
- package/dist/docs/templates/grokbot-agents.html +35 -35
- package/dist/docs/templates/security-reviewer.html +38 -37
- package/dist/docs/templates/security-reviewer.md +7 -8
- package/dist/docs/templates/thermo-quality-review.html +37 -37
- package/dist/docs/templates/thermo-quality-review.md +2 -2
- package/dist/docs/templates/thermo-review.html +37 -37
- package/dist/docs/templates/thermo-review.md +2 -2
- package/dist/docs/templates/triage.html +38 -38
- package/dist/docs/templates/triage.md +6 -1
- package/dist/docs/troubleshooting.html +35 -35
- package/dist/evals.d.ts +2 -2
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +14 -7
- package/dist/internal/eval-runner.js +7 -4
- package/dist/internal/init-interview.d.ts +0 -1
- package/dist/internal/init-interview.d.ts.map +1 -1
- package/dist/internal/init-interview.js +15 -24
- package/dist/internal/legacy-command-guard.d.ts +4 -1
- package/dist/internal/legacy-command-guard.d.ts.map +1 -1
- package/dist/internal/legacy-command-guard.js +11 -2
- package/dist/internal/platform-timers.d.ts +8 -1
- package/dist/internal/platform-timers.d.ts.map +1 -1
- package/dist/internal/platform-timers.js +10 -2
- package/dist/internal/reminder-control-plane-protocol.d.ts +8 -1
- package/dist/internal/reminder-control-plane-protocol.d.ts.map +1 -1
- package/dist/internal/reminder-runner.d.ts +5 -0
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +27 -1
- package/dist/internal/resolve-prod-target.d.ts +3 -0
- package/dist/internal/resolve-prod-target.d.ts.map +1 -1
- package/dist/internal/resolve-prod-target.js +2 -1
- package/dist/internal/run-client.d.ts +10 -1
- package/dist/internal/run-client.d.ts.map +1 -1
- package/dist/internal/run-client.js +152 -51
- package/dist/internal/server.d.ts +6 -0
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +20 -8
- package/dist/internal/session-links.d.ts.map +1 -1
- package/dist/internal/session-links.js +8 -7
- package/dist/internal/sessions-client.d.ts +1 -0
- package/dist/internal/sessions-client.d.ts.map +1 -1
- package/dist/internal/sessions-client.js +2 -0
- package/docs/evals.md +2 -2
- package/docs/templates/agentic-owners.md +2 -0
- package/docs/templates/security-reviewer.md +7 -8
- package/docs/templates/thermo-quality-review.md +2 -2
- package/docs/templates/thermo-review.md +2 -2
- package/docs/templates/triage.md +6 -1
- package/package.json +1 -1
- package/templates/agents-md/evals/agents.eval.ts +1 -0
- package/templates/code-wiki/bot/instructions.md +4 -4
- package/templates/security-reviewer/README.md +5 -3
- package/templates/security-reviewer/bot/tools/post_findings.ts +8 -8
- package/templates/thermo-quality-review/bot/tools/post_findings.ts +8 -8
- package/templates/thermo-review/bot/tools/post_findings.ts +8 -8
- package/dist/docs/assets/chunks/@localSearchIndexroot.BITLoOQa.js +0 -1
- package/dist/docs/assets/chunks/channel.B46uXH41.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.0cmCFsSf.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.0cmCFsSf.js +0 -1
- package/dist/docs/assets/chunks/clone.1vTOFZT1.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CbsZcOOu.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.DEA21akR.js +0 -162
- /package/dist/docs/assets/{evals.md.LRCSn6Ik.lean.js → evals.md.C851kViu.lean.js} +0 -0
- /package/dist/docs/assets/{reference_skills.md.C0guGcH0.lean.js → reference_skills.md.ClkMoQsV.lean.js} +0 -0
- /package/dist/docs/assets/{templates_thermo-quality-review.md.95qmTmr1.lean.js → templates_thermo-quality-review.md.B77UyTrX.lean.js} +0 -0
- /package/dist/docs/assets/{templates_thermo-review.md.DQh6Q0C-.lean.js → templates_thermo-review.md.DRJ7mC5U.lean.js} +0 -0
|
@@ -94,40 +94,31 @@ export function runTemplateInit(input) {
|
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
|
-
export function parseTemplateAnswers(spec, raw) {
|
|
98
|
-
var _a;
|
|
99
|
-
const answers = {};
|
|
100
|
-
for (const question of spec.questions) {
|
|
101
|
-
if (!(question.id in raw)) {
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
const parsed = parseQuestionValue(question, (_a = raw[question.id]) !== null && _a !== void 0 ? _a : "");
|
|
105
|
-
if (!parsed.ok) {
|
|
106
|
-
return parsed;
|
|
107
|
-
}
|
|
108
|
-
answers[question.id] = parsed.value;
|
|
109
|
-
}
|
|
110
|
-
return { ok: true, answers };
|
|
111
|
-
}
|
|
112
97
|
export function collectTemplateAnswers(input) {
|
|
113
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
var _a
|
|
115
|
-
|
|
99
|
+
var _a;
|
|
100
|
+
var _b, _c, _d;
|
|
101
|
+
const vars = (_b = input.vars) !== null && _b !== void 0 ? _b : {};
|
|
116
102
|
const answers = {};
|
|
117
|
-
const ask = (
|
|
118
|
-
const out = (
|
|
103
|
+
const ask = (_c = input.ask) !== null && _c !== void 0 ? _c : promptTemplateQuestion;
|
|
104
|
+
const out = (_d = input.out) !== null && _d !== void 0 ? _d : (text => process.stdout.write(text));
|
|
119
105
|
for (const question of input.spec.questions) {
|
|
120
|
-
if (question.id in vars) {
|
|
121
|
-
const
|
|
106
|
+
if (question.id in vars || !input.interactive) {
|
|
107
|
+
const raw = ((_a = vars[question.id]) === null || _a === void 0 ? void 0 : _a.trim()) || question.default;
|
|
108
|
+
if (raw === undefined) {
|
|
109
|
+
// Skipping would scaffold the template's sample answer (e.g. owner/repo).
|
|
110
|
+
return {
|
|
111
|
+
ok: false,
|
|
112
|
+
error: `${question.id} is required: pass --var ${question.id}=... (${question.prompt})`,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
const parsed = parseQuestionValue(question, raw);
|
|
122
116
|
if (!parsed.ok) {
|
|
123
117
|
return parsed;
|
|
124
118
|
}
|
|
125
119
|
answers[question.id] = parsed.value;
|
|
126
120
|
continue;
|
|
127
121
|
}
|
|
128
|
-
if (!input.interactive) {
|
|
129
|
-
continue;
|
|
130
|
-
}
|
|
131
122
|
for (;;) {
|
|
132
123
|
const line = yield ask(question);
|
|
133
124
|
const value = line.trim() === "" && question.default !== undefined ? question.default : line;
|
|
@@ -14,11 +14,14 @@ export declare function deploymentArchitecture(args: {
|
|
|
14
14
|
}): Promise<"v1" | "v2">;
|
|
15
15
|
/** `run --prod` returns a delivery; read the session after it is allocated. */
|
|
16
16
|
export declare function v2HostedVerifyHint(slug?: string): string;
|
|
17
|
-
|
|
17
|
+
/** Legacy `--prod` commands whose v2 rejection names the v2 alternative. */
|
|
18
|
+
export type LegacyProdCommand = "eval" | "logs";
|
|
19
|
+
export declare function unsupportedV2LegacyCommandError(slug: string, command?: LegacyProdCommand): DeployApiError;
|
|
18
20
|
export declare function isUnsupportedV2LegacyCommandError(error: unknown): error is DeployApiError;
|
|
19
21
|
export declare function rejectV2ForLegacyCommand(args: {
|
|
20
22
|
client: AgentServeDeployClient;
|
|
21
23
|
teamId: number;
|
|
22
24
|
slug: string;
|
|
25
|
+
command?: LegacyProdCommand;
|
|
23
26
|
}): Promise<void>;
|
|
24
27
|
//# sourceMappingURL=legacy-command-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-command-guard.d.ts","sourceRoot":"","sources":["../../src/internal/legacy-command-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGjF;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAavB;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,IAAI,SAAW,GAAG,MAAM,CAO1D;AAED,wBAAgB,+BAA+B,
|
|
1
|
+
{"version":3,"file":"legacy-command-guard.d.ts","sourceRoot":"","sources":["../../src/internal/legacy-command-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGjF;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAavB;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,IAAI,SAAW,GAAG,MAAM,CAO1D;AAED,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAShD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAahB;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAMzF;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhB"}
|
|
@@ -41,7 +41,16 @@ export function v2HostedVerifyHint(slug = "<slug>") {
|
|
|
41
41
|
`Poll the delivery until the session is allocated, then ` +
|
|
42
42
|
`\`${CLI_COMMAND_NAME} session <ses_> --prod --slug ${slug}\`.`);
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
const V2_ALTERNATIVE = {
|
|
45
|
+
eval: () => `Run \`${CLI_COMMAND_NAME} eval\` locally, or pass --url for a running server.`,
|
|
46
|
+
logs: slug => `Use \`${CLI_COMMAND_NAME} deployment ${slug}\` for rollout status and ` +
|
|
47
|
+
`\`${CLI_COMMAND_NAME} session <ses_> --prod --slug ${slug}\` for a session's runs and logs.`,
|
|
48
|
+
};
|
|
49
|
+
export function unsupportedV2LegacyCommandError(slug, command) {
|
|
50
|
+
if (command !== undefined) {
|
|
51
|
+
return new DeployApiError(`\`${CLI_COMMAND_NAME} ${command} --prod\` is not supported for architecture v2 deployment "${slug}". ` +
|
|
52
|
+
V2_ALTERNATIVE[command](slug), 409);
|
|
53
|
+
}
|
|
45
54
|
return new DeployApiError(`This command is not supported for architecture v2 deployment "${slug}". ` +
|
|
46
55
|
`call and sessions stay on the v1 API. ${v2HostedVerifyHint(slug)}`, 409);
|
|
47
56
|
}
|
|
@@ -54,7 +63,7 @@ export function rejectV2ForLegacyCommand(args) {
|
|
|
54
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
64
|
const architecture = yield deploymentArchitecture(args);
|
|
56
65
|
if (architecture === "v2") {
|
|
57
|
-
throw unsupportedV2LegacyCommandError(args.slug);
|
|
66
|
+
throw unsupportedV2LegacyCommandError(args.slug, args.command);
|
|
58
67
|
}
|
|
59
68
|
});
|
|
60
69
|
}
|
|
@@ -17,7 +17,14 @@ export interface PlatformTimers {
|
|
|
17
17
|
deleteSchedule(name: string): Promise<void>;
|
|
18
18
|
putReminder(record: ReminderRecord): Promise<void>;
|
|
19
19
|
getReminder(id: string): Promise<ReminderRecord | undefined>;
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Same signature as the v2 control plane. v1 timed-work has no key filter;
|
|
22
|
+
* callers that pass one still receive the page and filter it locally.
|
|
23
|
+
*/
|
|
24
|
+
listReminders(filter?: {
|
|
25
|
+
purpose?: string;
|
|
26
|
+
continuationToken?: string;
|
|
27
|
+
}): Promise<ReminderRecord[]>;
|
|
21
28
|
deleteReminder(id: string): Promise<void>;
|
|
22
29
|
}
|
|
23
30
|
export interface CursorHostedPlatformTimersOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-timers.d.ts","sourceRoot":"","sources":["../../src/internal/platform-timers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,KAAK,oBAAoB,EAK1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI5E,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAC7D,aAAa,
|
|
1
|
+
{"version":3,"file":"platform-timers.d.ts","sourceRoot":"","sources":["../../src/internal/platform-timers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,KAAK,oBAAoB,EAK1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI5E,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAC7D;;;OAGG;IACH,aAAa,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAqED,wBAAgB,gCAAgC,CAC9C,OAAO,GAAE,iCAAsC,GAC9C,cAAc,CAoEhB;AAuED;;;;GAIG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,GAAE,iCAAsC,GAC9C,oBAAoB,CAwHtB"}
|
|
@@ -215,9 +215,17 @@ export function createCursorHostedReminderControlPlane(options = {}) {
|
|
|
215
215
|
return isReminderRecord(parsed) ? parsed : undefined;
|
|
216
216
|
});
|
|
217
217
|
},
|
|
218
|
-
listReminders() {
|
|
218
|
+
listReminders(filter) {
|
|
219
219
|
return __awaiter(this, void 0, void 0, function* () {
|
|
220
|
-
const
|
|
220
|
+
const params = new URLSearchParams();
|
|
221
|
+
if ((filter === null || filter === void 0 ? void 0 : filter.continuationToken) !== undefined && filter.continuationToken !== "") {
|
|
222
|
+
params.set("continuationToken", filter.continuationToken);
|
|
223
|
+
}
|
|
224
|
+
if ((filter === null || filter === void 0 ? void 0 : filter.purpose) !== undefined && filter.purpose !== "") {
|
|
225
|
+
params.set("purpose", filter.purpose);
|
|
226
|
+
}
|
|
227
|
+
const query = params.toString();
|
|
228
|
+
const response = yield timedWorkJsonFetch(options, "GET", `${AGENTSDK_REMINDERS_PREFIX}/reminders${query === "" ? "" : `?${query}`}`);
|
|
221
229
|
if (!response.ok) {
|
|
222
230
|
throw yield reminderCpReadError("list", response);
|
|
223
231
|
}
|
|
@@ -133,7 +133,14 @@ export interface ReminderControlPlane {
|
|
|
133
133
|
readonly protocolVersion: ReminderCpProtocolVersion;
|
|
134
134
|
createReminder(intent: ReminderCreateIntent): Promise<ReminderRecord>;
|
|
135
135
|
getReminder(id: string): Promise<ReminderRecord | undefined>;
|
|
136
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Unfiltered list is one page. `continuationToken` and `purpose` are
|
|
138
|
+
* applied before that page so a keyed read is not hidden by older rows.
|
|
139
|
+
*/
|
|
140
|
+
listReminders(filter?: {
|
|
141
|
+
purpose?: string;
|
|
142
|
+
continuationToken?: string;
|
|
143
|
+
}): Promise<ReminderRecord[]>;
|
|
137
144
|
cancelReminder(id: string, reason?: string): Promise<ReminderRecord | undefined>;
|
|
138
145
|
/**
|
|
139
146
|
* Re-key armed (and in-flight) reminders for a continuation rotation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reminder-control-plane-protocol.d.ts","sourceRoot":"","sources":["../../src/internal/reminder-control-plane-protocol.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"reminder-control-plane-protocol.d.ts","sourceRoot":"","sources":["../../src/internal/reminder-control-plane-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,6 +121,11 @@ export declare class ReminderRunner {
|
|
|
121
121
|
* arm duplicates or miss rows to cancel. v1 keeps the best-effort form.
|
|
122
122
|
*/
|
|
123
123
|
private allRecords;
|
|
124
|
+
/**
|
|
125
|
+
* A keyed list asks the control plane for that key. An unfiltered list
|
|
126
|
+
* still uses allRecords. Do not replace the in-memory map with the keyed page.
|
|
127
|
+
*/
|
|
128
|
+
private recordsForList;
|
|
124
129
|
stop(): void;
|
|
125
130
|
create(input: ReminderCreateInput): Promise<ReminderInfo>;
|
|
126
131
|
list(filter?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reminder-runner.d.ts","sourceRoot":"","sources":["../../src/internal/reminder-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reminder-runner.d.ts","sourceRoot":"","sources":["../../src/internal/reminder-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -334,6 +334,32 @@ export class ReminderRunner {
|
|
|
334
334
|
return [...this.records.values()];
|
|
335
335
|
});
|
|
336
336
|
}
|
|
337
|
+
/**
|
|
338
|
+
* A keyed list asks the control plane for that key. An unfiltered list
|
|
339
|
+
* still uses allRecords. Do not replace the in-memory map with the keyed page.
|
|
340
|
+
*/
|
|
341
|
+
recordsForList(filter) {
|
|
342
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
343
|
+
if (this.usesControlPlaneProtocol &&
|
|
344
|
+
((filter === null || filter === void 0 ? void 0 : filter.purpose) !== undefined || (filter === null || filter === void 0 ? void 0 : filter.continuationToken) !== undefined)) {
|
|
345
|
+
try {
|
|
346
|
+
const remote = yield this.controlPlane.listReminders(Object.assign(Object.assign({}, (filter.purpose === undefined ? {} : { purpose: filter.purpose })), (filter.continuationToken === undefined
|
|
347
|
+
? {}
|
|
348
|
+
: { continuationToken: filter.continuationToken })));
|
|
349
|
+
this.controlPlaneReadFailureLogged = false;
|
|
350
|
+
for (const record of remote) {
|
|
351
|
+
this.records.set(record.id, record);
|
|
352
|
+
}
|
|
353
|
+
return remote;
|
|
354
|
+
}
|
|
355
|
+
catch (error) {
|
|
356
|
+
this.logControlPlaneReadFailure("list", error);
|
|
357
|
+
throw error;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
return this.allRecords();
|
|
361
|
+
});
|
|
362
|
+
}
|
|
337
363
|
stop() {
|
|
338
364
|
this.started = false;
|
|
339
365
|
for (const timer of this.timers.values()) {
|
|
@@ -469,7 +495,7 @@ export class ReminderRunner {
|
|
|
469
495
|
}
|
|
470
496
|
list(filter) {
|
|
471
497
|
return __awaiter(this, void 0, void 0, function* () {
|
|
472
|
-
const all = yield this.
|
|
498
|
+
const all = yield this.recordsForList(filter);
|
|
473
499
|
return all
|
|
474
500
|
.filter(r => {
|
|
475
501
|
if ((filter === null || filter === void 0 ? void 0 : filter.status) !== undefined) {
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* (Cursor API key on the management API; `X-Anyrun-Port-Token` on the
|
|
7
7
|
* engine). Alias tokens are out of scope here.
|
|
8
8
|
*/
|
|
9
|
+
import { type LegacyProdCommand } from "./legacy-command-guard.js";
|
|
9
10
|
/**
|
|
10
11
|
* Interactive CLI keep-alive for hosted engines. Without these, a hibernated
|
|
11
12
|
* Anyrun pod returns 417 `pod_hibernated` and never wakes. Matches the
|
|
@@ -23,6 +24,8 @@ export interface ResolveProdTargetOptions {
|
|
|
23
24
|
err?: (text: string) => void;
|
|
24
25
|
/** Skip when the caller already ran {@link rejectV2ForLegacyCommand}. */
|
|
25
26
|
skipLegacyArchitectureCheck?: boolean;
|
|
27
|
+
/** Names the command in the {@link rejectV2ForLegacyCommand} v2 error. */
|
|
28
|
+
command?: LegacyProdCommand;
|
|
26
29
|
/** Test seam for reachability-retry backoff. */
|
|
27
30
|
sleep?: (ms: number) => Promise<void>;
|
|
28
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-prod-target.d.ts","sourceRoot":"","sources":["../../src/internal/resolve-prod-target.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"resolve-prod-target.d.ts","sourceRoot":"","sources":["../../src/internal/resolve-prod-target.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,2BAA2B,CAAC;AAInC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGrE,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,yEAAyE;IACzE,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,gDAAgD;IAChD,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAGtC,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;IAFxD,YACE,OAAO,EAAE,MAAM,EACN,OAAO,GAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAiB,EAItE;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA8F7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,6EAA6E;IAC7E,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,wBAAwB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,sBAAsB,CAAC,CAsCjC;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,wBAAwB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,2BAA2B,CAAC,CAoBtC;AAwDD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAgB7F"}
|
|
@@ -20,7 +20,7 @@ import { resolveDeployAuth } from "./cli-deploy.js";
|
|
|
20
20
|
import { cursorWebsiteUrl } from "./cursor/credentials.js";
|
|
21
21
|
import { DeployApiError, slugFromDirectoryName, validateDeploymentSlug, } from "./deploy-client.js";
|
|
22
22
|
import { CLI_COMMAND_NAME as CLI } from "./distribution.js";
|
|
23
|
-
import { deploymentArchitecture, rejectV2ForLegacyCommand } from "./legacy-command-guard.js";
|
|
23
|
+
import { deploymentArchitecture, rejectV2ForLegacyCommand, } from "./legacy-command-guard.js";
|
|
24
24
|
import { sleep as defaultSleep } from "./sleep.js";
|
|
25
25
|
import { stderrPalette } from "./terminal-style.js";
|
|
26
26
|
/**
|
|
@@ -75,6 +75,7 @@ export function resolveProdTarget(options) {
|
|
|
75
75
|
client: auth.client,
|
|
76
76
|
teamId: auth.teamId,
|
|
77
77
|
slug,
|
|
78
|
+
command: options.command,
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
// A hibernated engine can briefly omit engineAccess while getPod fails
|
|
@@ -11,12 +11,21 @@ import { type Trajectory } from "./trajectory.js";
|
|
|
11
11
|
/** Thrown when a turn stream exceeds `timeoutMs`; carries the session id. */
|
|
12
12
|
export declare class RunSessionTimeoutError extends Error {
|
|
13
13
|
readonly sessionId: string;
|
|
14
|
-
|
|
14
|
+
/** Events the turn recorded before the deadline. */
|
|
15
|
+
readonly events: SessionEvent[];
|
|
16
|
+
constructor(message: string, sessionId: string,
|
|
17
|
+
/** Events the turn recorded before the deadline. */
|
|
18
|
+
events: SessionEvent[]);
|
|
15
19
|
}
|
|
16
20
|
export interface RunClientOptions extends RequestAuth {
|
|
17
21
|
baseUrl: string;
|
|
18
22
|
/** Abort a hung turn. */
|
|
19
23
|
timeoutMs?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Stream silence that ends a connection so the session's durable log can
|
|
26
|
+
* settle the turn. Also bounds each log read. Default 5s.
|
|
27
|
+
*/
|
|
28
|
+
stallCheckMs?: number;
|
|
20
29
|
/** External cancel (combined with {@link timeoutMs} when both are set). */
|
|
21
30
|
signal?: AbortSignal;
|
|
22
31
|
/** Called for each stream event as it arrives (for CLI progress). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-client.d.ts","sourceRoot":"","sources":["../../src/internal/run-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"run-client.d.ts","sourceRoot":"","sources":["../../src/internal/run-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEtF,6EAA6E;AAC7E,qBAAa,sBAAuB,SAAQ,KAAK;IAG7C,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE;IAJjC,YACE,OAAO,EAAE,MAAM,EACN,SAAS,EAAE,MAAM;IAC1B,oDAAoD;IAC3C,MAAM,EAAE,YAAY,EAAE,EAIhC;CACF;AACD,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAQD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,gBAAgB,GAAG;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,gEAAgE;IAChE,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B,GACA,OAAO,CAAC,gBAAgB,CAAC,CA0D3B"}
|
|
@@ -14,17 +14,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
14
14
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
|
+
import { setTimeout as sleep } from "node:timers/promises";
|
|
17
18
|
import { mergeRequestHeaders } from "./request-headers.js";
|
|
18
|
-
import {
|
|
19
|
+
import { fetchSessionEvents } from "./sessions-client.js";
|
|
20
|
+
import { buildTrajectory, parseEventsNdjson } from "./trajectory.js";
|
|
19
21
|
/** Thrown when a turn stream exceeds `timeoutMs`; carries the session id. */
|
|
20
22
|
export class RunSessionTimeoutError extends Error {
|
|
21
|
-
constructor(message, sessionId
|
|
23
|
+
constructor(message, sessionId,
|
|
24
|
+
/** Events the turn recorded before the deadline. */
|
|
25
|
+
events) {
|
|
22
26
|
super(message);
|
|
23
27
|
this.sessionId = sessionId;
|
|
28
|
+
this.events = events;
|
|
24
29
|
this.name = "RunSessionTimeoutError";
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
32
|
const TERMINAL_TYPES = new Set(["session.waiting", "session.completed", "session.failed"]);
|
|
33
|
+
const STALL_CHECK_MS = 5000;
|
|
34
|
+
/** Pause before reopening a stream the server closed; doubles while closes bring nothing. */
|
|
35
|
+
const REOPEN_DELAY_MS = 500;
|
|
36
|
+
const MAX_REOPEN_DELAY_MS = 8000;
|
|
28
37
|
/**
|
|
29
38
|
* Run one or more messages against a live agent-serve base URL
|
|
30
39
|
* (e.g. `http://127.0.0.1:3000/weather-agent`).
|
|
@@ -53,6 +62,7 @@ export function runSession(options) {
|
|
|
53
62
|
startIndex: sessionId === undefined ? 0 : nextEventIndex,
|
|
54
63
|
auth,
|
|
55
64
|
timeoutMs: options.timeoutMs,
|
|
65
|
+
stallCheckMs: options.stallCheckMs,
|
|
56
66
|
signal: options.signal,
|
|
57
67
|
onEvent: options.onEvent,
|
|
58
68
|
purpose: sessionId === undefined ? options.purpose : undefined,
|
|
@@ -120,6 +130,7 @@ function runOneTurn(args) {
|
|
|
120
130
|
startIndex: args.startIndex,
|
|
121
131
|
auth: args.auth,
|
|
122
132
|
timeoutMs: args.timeoutMs,
|
|
133
|
+
stallCheckMs: args.stallCheckMs,
|
|
123
134
|
signal: args.signal,
|
|
124
135
|
onEvent: args.onEvent,
|
|
125
136
|
});
|
|
@@ -128,84 +139,174 @@ function runOneTurn(args) {
|
|
|
128
139
|
return Object.assign(Object.assign({ sessionId }, (continuationToken === undefined ? {} : { continuationToken })), { events, ok: !turnFailed && !sessionFailed });
|
|
129
140
|
});
|
|
130
141
|
}
|
|
142
|
+
/** One turn's events in log order. Replays of events already seen are dropped. */
|
|
143
|
+
class TurnEvents {
|
|
144
|
+
constructor(start, onEvent) {
|
|
145
|
+
this.onEvent = onEvent;
|
|
146
|
+
this.events = [];
|
|
147
|
+
this.ended = false;
|
|
148
|
+
this.asks = new Set();
|
|
149
|
+
this.cursor = start;
|
|
150
|
+
}
|
|
151
|
+
/** First event index this turn has not recorded. */
|
|
152
|
+
get next() {
|
|
153
|
+
return this.cursor;
|
|
154
|
+
}
|
|
155
|
+
/** The turn's terminal event is recorded. */
|
|
156
|
+
get done() {
|
|
157
|
+
return this.ended;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Waiting on an unanswered approval or auth request. The engine holds the
|
|
161
|
+
* turn open without a terminal event until someone answers.
|
|
162
|
+
*/
|
|
163
|
+
get parked() {
|
|
164
|
+
return this.asks.size > 0;
|
|
165
|
+
}
|
|
166
|
+
add(event) {
|
|
167
|
+
var _a;
|
|
168
|
+
if (this.ended || event.index < this.cursor) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
this.cursor = event.index + 1;
|
|
172
|
+
this.events.push(event);
|
|
173
|
+
(_a = this.onEvent) === null || _a === void 0 ? void 0 : _a.call(this, event);
|
|
174
|
+
if (event.type === "action.approval_requested" || event.type === "action.auth_requested") {
|
|
175
|
+
this.asks.add(event.data.callId);
|
|
176
|
+
}
|
|
177
|
+
else if (event.type === "action.approval_resolved" || event.type === "action.auth_resolved") {
|
|
178
|
+
this.asks.delete(event.data.callId);
|
|
179
|
+
}
|
|
180
|
+
this.ended = TERMINAL_TYPES.has(event.type);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Collect one turn's events from `startIndex` through its terminal event.
|
|
185
|
+
*
|
|
186
|
+
* The live stream is the fast path, not the source of truth. Whenever a
|
|
187
|
+
* connection ends without the terminal event (the server closes it, it breaks
|
|
188
|
+
* mid-body, or it goes quiet), the session's durable log decides: a finished
|
|
189
|
+
* turn or one parked on an unanswered approval returns, anything else reopens
|
|
190
|
+
* the stream after the last event recorded. The deadline reads the log once
|
|
191
|
+
* more before timing out.
|
|
192
|
+
*/
|
|
131
193
|
function collectStream(args) {
|
|
132
194
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
var _a
|
|
134
|
-
var
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
195
|
+
var _a;
|
|
196
|
+
var _b;
|
|
197
|
+
const turn = new TurnEvents(args.startIndex, args.onEvent);
|
|
198
|
+
const deadline = new AbortController();
|
|
199
|
+
const timer = args.timeoutMs === undefined ? undefined : setTimeout(() => deadline.abort(), args.timeoutMs);
|
|
200
|
+
const signal = args.signal === undefined ? deadline.signal : AbortSignal.any([args.signal, deadline.signal]);
|
|
201
|
+
try {
|
|
202
|
+
for (let closes = 0;;) {
|
|
203
|
+
const seen = turn.next;
|
|
204
|
+
const end = yield followStream(args, turn, signal);
|
|
205
|
+
if (end === "done" || (yield settled(args, turn, signal))) {
|
|
206
|
+
return turn.events;
|
|
207
|
+
}
|
|
208
|
+
if (end === "closed") {
|
|
209
|
+
closes = turn.next > seen ? 0 : closes + 1;
|
|
210
|
+
yield sleep(Math.min(REOPEN_DELAY_MS * Math.pow(2, closes), MAX_REOPEN_DELAY_MS), undefined, {
|
|
211
|
+
signal,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
if (!signal.aborted) {
|
|
218
|
+
throw error;
|
|
219
|
+
}
|
|
220
|
+
if ((_a = args.signal) === null || _a === void 0 ? void 0 : _a.aborted) {
|
|
221
|
+
throw new Error("cancelled");
|
|
142
222
|
}
|
|
143
|
-
|
|
144
|
-
|
|
223
|
+
if (yield settled(args, turn)) {
|
|
224
|
+
return turn.events;
|
|
145
225
|
}
|
|
226
|
+
throw new RunSessionTimeoutError(`turn timed out after ${(_b = args.timeoutMs) !== null && _b !== void 0 ? _b : "?"}ms (session ${args.sessionId})`, args.sessionId, turn.events);
|
|
146
227
|
}
|
|
147
|
-
|
|
228
|
+
finally {
|
|
229
|
+
clearTimeout(timer);
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Follow one stream connection until the turn's terminal event (`done`), the
|
|
235
|
+
* connection closes or breaks mid-body (`closed`), or it stays silent for
|
|
236
|
+
* `stallCheckMs` (`quiet`). A stream that cannot be opened throws.
|
|
237
|
+
*/
|
|
238
|
+
function followStream(args, turn, signal) {
|
|
239
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
240
|
+
var _a;
|
|
241
|
+
const quiet = new AbortController();
|
|
242
|
+
const idle = setTimeout(() => quiet.abort(), (_a = args.stallCheckMs) !== null && _a !== void 0 ? _a : STALL_CHECK_MS);
|
|
243
|
+
let opened = false;
|
|
148
244
|
try {
|
|
149
|
-
const resp = yield fetch(`${args.baseUrl}/v1/session/${args.sessionId}/stream?startIndex=${
|
|
245
|
+
const resp = yield fetch(`${args.baseUrl}/v1/session/${args.sessionId}/stream?startIndex=${turn.next}`, {
|
|
150
246
|
headers: mergeRequestHeaders(args.auth),
|
|
151
|
-
signal:
|
|
247
|
+
signal: AbortSignal.any([signal, quiet.signal]),
|
|
152
248
|
});
|
|
153
249
|
if (!resp.ok || resp.body === null) {
|
|
154
250
|
throw new Error(`stream failed (${resp.status})`);
|
|
155
251
|
}
|
|
252
|
+
opened = true;
|
|
156
253
|
const reader = resp.body.getReader();
|
|
157
254
|
const decoder = new TextDecoder();
|
|
158
255
|
let buffer = "";
|
|
159
|
-
const events = [];
|
|
160
256
|
for (;;) {
|
|
161
257
|
const chunk = yield reader.read();
|
|
162
258
|
if (chunk.done) {
|
|
163
|
-
|
|
259
|
+
return "closed";
|
|
164
260
|
}
|
|
261
|
+
idle.refresh();
|
|
165
262
|
buffer += decoder.decode(chunk.value, { stream: true });
|
|
166
|
-
const lines = buffer.
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
for (const line of lines) {
|
|
170
|
-
if (line.trim() === "") {
|
|
171
|
-
continue;
|
|
172
|
-
}
|
|
173
|
-
let event;
|
|
174
|
-
try {
|
|
175
|
-
event = JSON.parse(line);
|
|
176
|
-
}
|
|
177
|
-
catch (_f) {
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
events.push(event);
|
|
181
|
-
(_a = args.onEvent) === null || _a === void 0 ? void 0 : _a.call(args, event);
|
|
182
|
-
if (TERMINAL_TYPES.has(event.type)) {
|
|
183
|
-
stop = true;
|
|
184
|
-
break;
|
|
185
|
-
}
|
|
263
|
+
const lines = buffer.lastIndexOf("\n") + 1;
|
|
264
|
+
for (const event of parseEventsNdjson(buffer.slice(0, lines))) {
|
|
265
|
+
turn.add(event);
|
|
186
266
|
}
|
|
187
|
-
|
|
188
|
-
|
|
267
|
+
buffer = buffer.slice(lines);
|
|
268
|
+
if (turn.done) {
|
|
269
|
+
return "done";
|
|
189
270
|
}
|
|
190
271
|
}
|
|
191
|
-
yield reader.cancel().catch(() => { });
|
|
192
|
-
return events;
|
|
193
272
|
}
|
|
194
273
|
catch (error) {
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
274
|
+
if (signal.aborted) {
|
|
275
|
+
throw error;
|
|
276
|
+
}
|
|
277
|
+
if (quiet.signal.aborted) {
|
|
278
|
+
return "quiet";
|
|
279
|
+
}
|
|
280
|
+
if (opened) {
|
|
281
|
+
return "closed";
|
|
200
282
|
}
|
|
201
283
|
throw error;
|
|
202
284
|
}
|
|
203
285
|
finally {
|
|
204
|
-
(
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
286
|
+
clearTimeout(idle);
|
|
287
|
+
quiet.abort();
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Record the turn's events from the session's durable log. True when the turn
|
|
293
|
+
* finished or parked on an unanswered approval. Each read is bounded so a
|
|
294
|
+
* slow log cannot hold a turn the stream would deliver.
|
|
295
|
+
*/
|
|
296
|
+
function settled(args, turn, signal) {
|
|
297
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
298
|
+
var _a;
|
|
299
|
+
const budget = AbortSignal.timeout((_a = args.stallCheckMs) !== null && _a !== void 0 ? _a : STALL_CHECK_MS);
|
|
300
|
+
const events = yield fetchSessionEvents({
|
|
301
|
+
baseUrl: args.baseUrl,
|
|
302
|
+
sessionId: args.sessionId,
|
|
303
|
+
auth: args.auth,
|
|
304
|
+
signal: signal === undefined ? budget : AbortSignal.any([signal, budget]),
|
|
305
|
+
}).catch(() => []);
|
|
306
|
+
for (const event of events) {
|
|
307
|
+
turn.add(event);
|
|
208
308
|
}
|
|
309
|
+
return turn.done || turn.parked;
|
|
209
310
|
});
|
|
210
311
|
}
|
|
211
312
|
function postJson(baseUrl, path, body, auth) {
|
|
@@ -24,6 +24,12 @@ export interface StartServerInternalOptions {
|
|
|
24
24
|
sessionRunLog?: ReturnType<typeof selectSessionRunLogStore>;
|
|
25
25
|
/** Test seam: persist the engine start.log tee without a live store. */
|
|
26
26
|
startLogStore?: ReturnType<typeof selectStartLogStore>;
|
|
27
|
+
/**
|
|
28
|
+
* `bdk eval` server. Cases drive seeded sessions, so live SCM and deployment
|
|
29
|
+
* ingest stay off, and a Cursor account GitHub credential that cannot be
|
|
30
|
+
* minted fails only the calls that need it.
|
|
31
|
+
*/
|
|
32
|
+
evals?: boolean;
|
|
27
33
|
}
|
|
28
34
|
/**
|
|
29
35
|
* Start an HTTP server hosting one or more agents. A single agent with an
|