@cursor/bdk 0.2.17 → 0.2.18
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 +7 -0
- package/dist/channels/runs/index.d.ts +4 -0
- package/dist/channels/runs/index.d.ts.map +1 -0
- package/dist/channels/runs/index.js +2 -0
- package/dist/channels/runs/runs-channel.d.ts +5 -0
- package/dist/channels/runs/runs-channel.d.ts.map +1 -0
- package/dist/channels/runs/runs-channel.js +34 -0
- package/dist/channels/runs/types.d.ts +34 -0
- package/dist/channels/runs/types.d.ts.map +1 -0
- package/dist/channels/runs/types.js +1 -0
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.CUNuFTSm.js → app.CJ-XZTK5.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.ylB4B_Ud.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.Dez74k0W.js → VPLocalSearchBox.CpbYgURZ.js} +1 -1
- package/dist/docs/assets/chunks/{arc.CJ3FhK7H.js → arc.B081PemO.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CfUdbHsa.js → architectureDiagram-Q4EWVU46.DPaT_hi-.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.D93LawU9.js → baseUniq.Buu61NLg.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.Zvsd6UHP.js → blockDiagram-DXYQGD6D.C6t63owh.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.CGX5xZ9d.js → c4Diagram-AHTNJAMY.BtKabdXR.js} +1 -1
- package/dist/docs/assets/chunks/channel.BgjgeSqp.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.CCIf0QCo.js → chunk-4BX2VUAB.DQpNaR8N.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.D_N1RPyi.js → chunk-4TB4RGXK.DrhL-6Rv.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.B1oecjzx.js → chunk-55IACEB6.DRLIBfNR.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BzUNVPGX.js → chunk-EDXVE4YY.kuUuFkIg.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DheI8WSO.js → chunk-FMBD7UC4.BlrVxprw.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Bg4iL0sM.js → chunk-OYMX7WX6.CZCfYeQA.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.CSQjDhAD.js → chunk-QZHKN3VN.C7rwVEMV.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.BDdxnPU4.js → chunk-YZCP3GAM.CGseJtT_.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CIVv63wE.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CIVv63wE.js +1 -0
- package/dist/docs/assets/chunks/clone.HcW7h-70.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.AT0weO8r.js → cose-bilkent-S5V4N54A.BWlczAK4.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.CJ30TxV0.js → dagre-KV5264BT.Cw0tT0bB.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.KtE--1fW.js → diagram-5BDNPKRD.Cm96ah9V.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.BFGygSUQ.js → diagram-G4DWMVQ6.Cl0AoWYM.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BLU-79eb.js → diagram-MMDJMWI5.Bp7mlzKs.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.CdjfJdVG.js → diagram-TYMM5635.ClVeqpcW.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.Dj1Iwypl.js → erDiagram-SMLLAGMA.Bi8dojF9.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.BXqj_Su2.js → flowDiagram-DWJPFMVM.Bb4urpfG.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.CNfgGSst.js → ganttDiagram-T4ZO3ILL.whR4wFze.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.2tgvFDBr.js → gitGraphDiagram-UUTBAWPF.6oVMi6-3.js} +1 -1
- package/dist/docs/assets/chunks/{graph.CWHZMxx6.js → graph.D8AJDOFK.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.DhLIK8m1.js → infoDiagram-42DDH7IO.nTpsf5Vk.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.BIN11n1G.js → ishikawaDiagram-UXIWVN3A.DhYDOwyB.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BARmNJ0n.js → journeyDiagram-VCZTEJTY.Bg7Rudw3.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.BrTJYFyF.js → kanban-definition-6JOO6SKY.D80D_ZAR.js} +1 -1
- package/dist/docs/assets/chunks/{layout.CPZIIywK.js → layout.e9hmuC-K.js} +1 -1
- package/dist/docs/assets/chunks/{linear.DTpmzI5S.js → linear.D6hEyqVB.js} +1 -1
- package/dist/docs/assets/chunks/{min.BBLQmXwZ.js → min.BPAdvB9D.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.5qkWJvdl.js → mindmap-definition-QFDTVHPH.tm2Sov2Q.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.-4wufv_f.js → pieDiagram-DEJITSTG.BKHZ497m.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.C0jrp1-8.js → quadrantDiagram-34T5L4WZ.CPj7gSp6.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DUDpANfe.js → requirementDiagram-MS252O5E._U68yVUd.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.74Lvg6Gu.js → sankeyDiagram-XADWPNL6._6jrIQPb.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.BHDIH286.js → sequenceDiagram-FGHM5R23.D9UlmB6F.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.Dr-HIuLb.js → stateDiagram-FHFEXIEX.BQSaiJCe.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.B5d7jT7E.js +1 -0
- package/dist/docs/assets/chunks/{theme.H8zSBhlM.js → theme.25ZC61Iy.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.GtyCaSiL.js → timeline-definition-GMOUNBTQ.d-17NZ3L.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.DLId0rxH.js → vennDiagram-DHZGUBPP.DE9AGEjG.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.BcY0KddE.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.CI6mGYNG.js → wardleyDiagram-NUSXRM2D.D9SDNipV.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CG1n865F.js → xychartDiagram-5P7HB3ND.DM1sIMf8.js} +1 -1
- package/dist/docs/building-with-agents.html +35 -35
- package/dist/docs/deployment.html +35 -35
- package/dist/docs/evals.html +35 -35
- 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/migrate.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/hillclimbing.html +35 -35
- package/dist/docs/index.html +35 -35
- 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 +35 -35
- package/dist/docs/reference/subagents.html +35 -35
- package/dist/docs/reference/tools.html +35 -35
- package/dist/docs/templates/agentic-owners.html +35 -35
- package/dist/docs/templates/grokbot-agents.html +35 -35
- package/dist/docs/templates/security-reviewer.html +35 -35
- package/dist/docs/templates/thermo-quality-review.html +35 -35
- package/dist/docs/templates/thermo-review.html +35 -35
- package/dist/docs/templates/triage.html +35 -35
- package/dist/docs/troubleshooting.html +35 -35
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +0 -14
- package/dist/internal/cloud-turn-cost.js +2 -2
- package/dist/internal/continuation-channel.d.ts.map +1 -1
- package/dist/internal/continuation-channel.js +6 -0
- package/dist/internal/continuation-identity.d.ts +6 -3
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +43 -0
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +20 -1
- package/dist/internal/http-control-plane-session.d.ts +5 -2
- package/dist/internal/http-control-plane-session.d.ts.map +1 -1
- package/dist/internal/http-control-plane-session.js +38 -2
- package/dist/internal/model-config.d.ts +7 -0
- package/dist/internal/model-config.d.ts.map +1 -0
- package/dist/internal/model-config.js +67 -0
- package/dist/internal/peer-connections.d.ts +17 -8
- package/dist/internal/peer-connections.d.ts.map +1 -1
- package/dist/internal/peer-connections.js +41 -10
- package/dist/internal/request-error-status.d.ts.map +1 -1
- package/dist/internal/request-error-status.js +4 -1
- package/dist/internal/resolved-connections.d.ts +4 -1
- package/dist/internal/resolved-connections.d.ts.map +1 -1
- package/dist/internal/resolved-connections.js +9 -4
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +11 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +2 -1
- package/dist/internal/session-engine.d.ts +3 -1
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +74 -19
- package/dist/internal/storage-coordinator.d.ts +9 -9
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +116 -36
- package/dist/internal/testing/factory-resource-fixtures.d.ts +16 -0
- package/dist/internal/testing/factory-resource-fixtures.d.ts.map +1 -1
- package/dist/internal/testing/factory-resource-fixtures.js +14 -0
- package/dist/internal/turn-cost.d.ts +1 -1
- package/dist/internal/turn-cost.d.ts.map +1 -1
- package/dist/internal/turn-cost.js +8 -8
- package/dist/playground/assets/cursor-icons-16-DBmD_cqy.woff2 +0 -0
- package/dist/playground/assets/index-BDPd0Sec.css +1 -0
- package/dist/playground/assets/{index-U3TRnwAP.js → index-BrXDwbrN.js} +1 -1
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +44 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.3c56VHUt.js +0 -1
- package/dist/docs/assets/chunks/channel.S8-FFjmE.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.BB98tFjZ.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.BB98tFjZ.js +0 -1
- package/dist/docs/assets/chunks/clone.B98w8OEv.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DW_lwpZY.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.CSlECTHi.js +0 -162
- package/dist/playground/assets/cursor-icons-16-4RnoYH3n.woff2 +0 -0
- package/dist/playground/assets/index-7fVUOA5l.css +0 -1
|
@@ -262,6 +262,7 @@ export class CursorSdkRunner {
|
|
|
262
262
|
*/
|
|
263
263
|
async runTurnWithTransportRetry(request, onStreamed) {
|
|
264
264
|
let sawUpdate = false;
|
|
265
|
+
let mintedSdkAgentId;
|
|
265
266
|
const tracked = {
|
|
266
267
|
...request,
|
|
267
268
|
onUpdate: (update) => {
|
|
@@ -269,6 +270,10 @@ export class CursorSdkRunner {
|
|
|
269
270
|
onStreamed();
|
|
270
271
|
return request.onUpdate(update);
|
|
271
272
|
},
|
|
273
|
+
onSdkAgentId: async (sdkAgentId) => {
|
|
274
|
+
mintedSdkAgentId = sdkAgentId;
|
|
275
|
+
await request.onSdkAgentId?.(sdkAgentId);
|
|
276
|
+
},
|
|
272
277
|
};
|
|
273
278
|
const outcome = await this.runTurnAttempt(tracked);
|
|
274
279
|
if (outcome.status !== "error" || sawUpdate || request.signal?.aborted === true) {
|
|
@@ -281,8 +286,13 @@ export class CursorSdkRunner {
|
|
|
281
286
|
// Log the original error even when the retry succeeds so the expiry
|
|
282
287
|
// still shows up in Datadog.
|
|
283
288
|
this.log(`[bdk] session ${request.sessionId}: ${reason}: ${outcome.errorMessage}; retrying the turn`);
|
|
289
|
+
// The failed attempt already minted this cloud agent; resuming it is what
|
|
290
|
+
// keeps one trigger from leaving two `bc-…` agents behind.
|
|
291
|
+
const retried = mintedSdkAgentId !== undefined && isServerMintedCloudAgentId(mintedSdkAgentId)
|
|
292
|
+
? { ...tracked, sdkAgentId: mintedSdkAgentId }
|
|
293
|
+
: tracked;
|
|
284
294
|
try {
|
|
285
|
-
return await this.runTurnAttempt(
|
|
295
|
+
return await this.runTurnAttempt(retried);
|
|
286
296
|
}
|
|
287
297
|
catch {
|
|
288
298
|
return outcome;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AA6CpF,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAQhB,YAAY,EACb,MAAM,aAAa,CAAC;AA6FrB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAgDpE,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAUpE,OAAO,EAEL,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAsB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAW/E,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;CACvB;AAuCD,6EAA6E;AAC7E,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,yEAAyE;IACzE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAC5D,wEAAwE;IACxE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACvD;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE,YAAY,GAAG,0BAA+B,GACtD,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AA6CpF,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAQhB,YAAY,EACb,MAAM,aAAa,CAAC;AA6FrB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAgDpE,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAUpE,OAAO,EAEL,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAsB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAW/E,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;CACvB;AAuCD,6EAA6E;AAC7E,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,yEAAyE;IACzE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAC5D,wEAAwE;IACxE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACvD;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAAE,EACpB,OAAO,GAAE,YAAY,GAAG,0BAA+B,GACtD,OAAO,CAAC,gBAAgB,CAAC,CA2nC3B;AAkmDD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,cAAc,EACnB,MAAM,SAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAkDf"}
|
package/dist/internal/server.js
CHANGED
|
@@ -481,7 +481,7 @@ export async function startServer(mounts, options = {}) {
|
|
|
481
481
|
// Validate peer MCP connections (defineConnection({ agent })) against the
|
|
482
482
|
// mount set before anything starts. URLs resolve after listen, once the
|
|
483
483
|
// port is known.
|
|
484
|
-
const peerRefsBySlug = collectPeerConnections(mounts, logger);
|
|
484
|
+
const peerRefsBySlug = collectPeerConnections(mounts, logger, options.peersUrl);
|
|
485
485
|
// Cursor account MCP connections (defineConnection({ cursorAccount: true }))
|
|
486
486
|
// need a signed-in host: their tools execute on the Cursor backend with
|
|
487
487
|
// the account's stored OAuth credentials. Fail fast at serve start instead
|
|
@@ -929,6 +929,7 @@ export async function startServer(mounts, options = {}) {
|
|
|
929
929
|
: {}),
|
|
930
930
|
...(options.publicUrl === undefined ? {} : { publicUrl: options.publicUrl }),
|
|
931
931
|
...(options.authToken === undefined ? {} : { authToken: options.authToken }),
|
|
932
|
+
peersUrl: options.peersUrl,
|
|
932
933
|
cloudToolsBridge: options.cloudToolsUrl !== undefined,
|
|
933
934
|
logger,
|
|
934
935
|
});
|
|
@@ -364,6 +364,7 @@ export declare class SessionEngine {
|
|
|
364
364
|
* up `(agentId, cKey)` from a mailbox stamp or structured claim.
|
|
365
365
|
*/
|
|
366
366
|
send(channelId: string, message: string, options?: EngineSendOptions): Promise<ChannelSession>;
|
|
367
|
+
private rejectMismatchedModelConfig;
|
|
367
368
|
/**
|
|
368
369
|
* Atomically validate and rotate an HTTP follow-up credential, then admit
|
|
369
370
|
* the message to its exact session without changing the owning channel key.
|
|
@@ -371,7 +372,7 @@ export declare class SessionEngine {
|
|
|
371
372
|
followUpHttp(sessionId: string, token: {
|
|
372
373
|
channelId: string;
|
|
373
374
|
key: string;
|
|
374
|
-
}, message: string): Promise<string | undefined>;
|
|
375
|
+
}, message: string, modelConfig?: unknown): Promise<string | undefined>;
|
|
375
376
|
/** Whether a continuation token already maps to a session on this channel. */
|
|
376
377
|
hasContinuationSession(channelId: string, continuationToken: string): Promise<boolean>;
|
|
377
378
|
/** Look up a session as a channel-scoped handle. */
|
|
@@ -515,6 +516,7 @@ export declare class SessionEngine {
|
|
|
515
516
|
* durable state directory instead.
|
|
516
517
|
*/
|
|
517
518
|
private cloudStore;
|
|
519
|
+
private turnModel;
|
|
518
520
|
private buildTurnRequest;
|
|
519
521
|
/**
|
|
520
522
|
* Connection names a cloud turn can only reach through the host connection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-engine.d.ts","sourceRoot":"","sources":["../../src/internal/session-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-engine.d.ts","sourceRoot":"","sources":["../../src/internal/session-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import { isFileSystemToolAlias, isMutatingFileSystemTool, localFileSystem, resol
|
|
|
19
19
|
import { storageKeysForArchitecture } from "../storage.js";
|
|
20
20
|
import { DEFAULT_MODEL, DIRECT_TOOL_CALL_CHANNEL_ID, isCursorAccountTransport, isHostOauthConnectionTransport, isSymbolicConnectionTransport, } from "../types.js";
|
|
21
21
|
import { resolveAdvertisedTools } from "./advertise-tools.js";
|
|
22
|
+
import { InvalidModelConfigError, modelConfigForDryRun } from "./model-config.js";
|
|
22
23
|
import { ApprovalGate } from "./approval-gate.js";
|
|
23
24
|
import { ArtifactsStore } from "./artifacts-store.js";
|
|
24
25
|
import { assertTimeArgs, normalizeAsOf, schemaTimeWindowKeys, sessionClock } from "./as-of.js";
|
|
@@ -65,7 +66,7 @@ import { TurnGovernor } from "./turn-governor.js";
|
|
|
65
66
|
import { TurnLeaseStore } from "./turn-lease-store.js";
|
|
66
67
|
import { TurnOutbox } from "./turn-outbox.js";
|
|
67
68
|
import { isCursorManagedV2Hosting, resolveAgentV2Hosting } from "./v2-hosting.js";
|
|
68
|
-
import { buildAgentsMdContent, buildCloudMemorySection, buildCloudSessionWorkspaceSection, buildCloudWorkspaceSection, ensureOwnGitRoot, isNestedInGitRepo, materializeWorkspace, SERVER_TOOLS_MCP_SERVER_NAME, } from "./workspace.js";
|
|
69
|
+
import { buildAgentsMdContent, buildCloudMemorySection, buildCloudSessionWorkspaceSection, buildCloudWorkspaceSection, ensureOwnGitRoot, isNestedInGitRepo, materializeWorkspace, SERVER_TOOLS_MCP_SERVER_NAME, withIdentityPreamble, } from "./workspace.js";
|
|
69
70
|
import { syncSessionWorkspaceFiles, syncWorkspaceToStore, WorkspaceFileRefusal, wipeSessionWorkspace, } from "./workspace-sync.js";
|
|
70
71
|
export const HTTP_CHANNEL_ID = "http";
|
|
71
72
|
export { mergeChannelStateSkipNull } from "./channel-state.js";
|
|
@@ -703,6 +704,9 @@ export class SessionEngine {
|
|
|
703
704
|
if (!samePrincipal(existing.auth, auth)) {
|
|
704
705
|
throw new SessionAuthError(existing.sessionId);
|
|
705
706
|
}
|
|
707
|
+
if (sendOptions.modelConfig !== undefined) {
|
|
708
|
+
this.rejectMismatchedModelConfig(existing, sendOptions.modelConfig);
|
|
709
|
+
}
|
|
706
710
|
// Refresh harness cwd when the caller supplies a newer worktree (e.g. PR
|
|
707
711
|
// synchronize). Leave the durable continuation key unchanged.
|
|
708
712
|
let record = existing;
|
|
@@ -766,6 +770,7 @@ export class SessionEngine {
|
|
|
766
770
|
if (sendOptions.hostedEnqueueOnly === true) {
|
|
767
771
|
throw new HostedEnqueueNotActiveError(sendOptions.hostedSessionId);
|
|
768
772
|
}
|
|
773
|
+
const instructions = dryRunInstructionsOverride(sendOptions);
|
|
769
774
|
const now = new Date().toISOString();
|
|
770
775
|
const channelState = this.initialChannelState(channelId, sendOptions.state);
|
|
771
776
|
const purpose = sendOptions.purpose === "eval" ? "eval" : "live";
|
|
@@ -778,6 +783,8 @@ export class SessionEngine {
|
|
|
778
783
|
purpose,
|
|
779
784
|
dryRun: sendOptions.dryRun === true ? true : undefined,
|
|
780
785
|
asOf: frozenAsOf,
|
|
786
|
+
modelConfig: modelConfigForDryRun(sendOptions.modelConfig, sendOptions.dryRun),
|
|
787
|
+
instructions,
|
|
781
788
|
continuationKey: sendOptions.continuationToken ?? newContinuationKey(),
|
|
782
789
|
auth,
|
|
783
790
|
title: sendOptions.title,
|
|
@@ -809,11 +816,23 @@ export class SessionEngine {
|
|
|
809
816
|
});
|
|
810
817
|
return this.channelSession(record.sessionId, record, true, false, since);
|
|
811
818
|
}
|
|
819
|
+
rejectMismatchedModelConfig(existing, modelConfig) {
|
|
820
|
+
const next = modelConfigForDryRun(modelConfig, existing.dryRun);
|
|
821
|
+
if (JSON.stringify(existing.modelConfig ?? null) !== JSON.stringify(next ?? null)) {
|
|
822
|
+
throw new InvalidModelConfigError("invalid argument: modelConfig does not match this session");
|
|
823
|
+
}
|
|
824
|
+
}
|
|
812
825
|
/**
|
|
813
826
|
* Atomically validate and rotate an HTTP follow-up credential, then admit
|
|
814
827
|
* the message to its exact session without changing the owning channel key.
|
|
815
828
|
*/
|
|
816
|
-
async followUpHttp(sessionId, token, message) {
|
|
829
|
+
async followUpHttp(sessionId, token, message, modelConfig) {
|
|
830
|
+
if (modelConfig !== undefined) {
|
|
831
|
+
const record = await this.sessions.get(sessionId);
|
|
832
|
+
if (record !== undefined) {
|
|
833
|
+
this.rejectMismatchedModelConfig(record, modelConfig);
|
|
834
|
+
}
|
|
835
|
+
}
|
|
817
836
|
const next = newContinuationKey();
|
|
818
837
|
const stale = new Error("stale HTTP continuation");
|
|
819
838
|
let previous;
|
|
@@ -1831,7 +1850,7 @@ export class SessionEngine {
|
|
|
1831
1850
|
}, eventContext);
|
|
1832
1851
|
if (finalUsage !== undefined) {
|
|
1833
1852
|
this.stampTurnCost(sessionId, completed, {
|
|
1834
|
-
model: this.
|
|
1853
|
+
model: this.turnModel(record).model ?? DEFAULT_MODEL,
|
|
1835
1854
|
usage: finalUsage,
|
|
1836
1855
|
agentId: record.sdkAgentId,
|
|
1837
1856
|
conversationId: record.sdkAgentId ?? sessionId,
|
|
@@ -2031,8 +2050,24 @@ export class SessionEngine {
|
|
|
2031
2050
|
}
|
|
2032
2051
|
return undefined;
|
|
2033
2052
|
}
|
|
2053
|
+
turnModel(record) {
|
|
2054
|
+
const config = record?.modelConfig;
|
|
2055
|
+
const agent = this.project.agent;
|
|
2056
|
+
return config === undefined
|
|
2057
|
+
? {
|
|
2058
|
+
model: agent.model,
|
|
2059
|
+
modelFallbacks: agent.modelFallbacks,
|
|
2060
|
+
fallbackAfterStream: agent.fallbackAfterStream,
|
|
2061
|
+
}
|
|
2062
|
+
: {
|
|
2063
|
+
model: config.model,
|
|
2064
|
+
modelFallbacks: config.fallbacks ?? [],
|
|
2065
|
+
fallbackAfterStream: undefined,
|
|
2066
|
+
};
|
|
2067
|
+
}
|
|
2034
2068
|
async buildTurnRequest(record, turnId, prompt, isFirstTurn, emit, eventContext, onUpdate, signal, images) {
|
|
2035
2069
|
const agent = this.project.agent;
|
|
2070
|
+
const instructionsAgent = agentWithInstructionsOverride(agent, record.instructions);
|
|
2036
2071
|
// Per-session cloud attach (channel/tool handoff) forces cloud runtime
|
|
2037
2072
|
// even when the agent defaults to local for chat server tools.
|
|
2038
2073
|
const runtime = resolveSessionRuntime({
|
|
@@ -2128,7 +2163,7 @@ export class SessionEngine {
|
|
|
2128
2163
|
const sections = [];
|
|
2129
2164
|
const pending = record.pendingWorkspaceFiles;
|
|
2130
2165
|
if (isFirstTurn) {
|
|
2131
|
-
preamble = buildAgentsMdContent(
|
|
2166
|
+
preamble = buildAgentsMdContent(instructionsAgent, {
|
|
2132
2167
|
includeScripts: true,
|
|
2133
2168
|
serverToolsMcpName: this.cloudServerToolsConnection === undefined
|
|
2134
2169
|
? undefined
|
|
@@ -2177,12 +2212,13 @@ export class SessionEngine {
|
|
|
2177
2212
|
// synthesized file tools and embedded script bodies.
|
|
2178
2213
|
const localInstructions = runtime === "local"
|
|
2179
2214
|
? authoredRoot
|
|
2180
|
-
? buildAgentsMdContent({ ...
|
|
2181
|
-
: buildAgentsMdContent(
|
|
2215
|
+
? buildAgentsMdContent({ ...instructionsAgent, tools: [...instructionsAgent.tools, ...synthesized] }, { includeScripts: true })
|
|
2216
|
+
: buildAgentsMdContent(instructionsAgent, {
|
|
2182
2217
|
includeScripts: this.hasBorrowedWorkspace(record),
|
|
2183
2218
|
})
|
|
2184
2219
|
: undefined;
|
|
2185
2220
|
const childFiles = authoredRoot && root !== undefined ? createRootSubagentInherit(root) : undefined;
|
|
2221
|
+
const selection = this.turnModel(record);
|
|
2186
2222
|
return {
|
|
2187
2223
|
sessionId: record.sessionId,
|
|
2188
2224
|
...(record.sdkAgentId === undefined ? {} : { sdkAgentId: record.sdkAgentId }),
|
|
@@ -2201,11 +2237,13 @@ export class SessionEngine {
|
|
|
2201
2237
|
prompt: turnPrompt,
|
|
2202
2238
|
isFirstTurn,
|
|
2203
2239
|
...(images !== undefined && images.length > 0 ? { images } : {}),
|
|
2204
|
-
...(
|
|
2205
|
-
...(
|
|
2206
|
-
...(agent.fallbackAfterStream === undefined
|
|
2240
|
+
...(selection.model === undefined ? {} : { model: selection.model }),
|
|
2241
|
+
...(selection.modelFallbacks === undefined
|
|
2207
2242
|
? {}
|
|
2208
|
-
: {
|
|
2243
|
+
: { modelFallbacks: selection.modelFallbacks }),
|
|
2244
|
+
...(selection.fallbackAfterStream === undefined
|
|
2245
|
+
? {}
|
|
2246
|
+
: { fallbackAfterStream: selection.fallbackAfterStream }),
|
|
2209
2247
|
runtime,
|
|
2210
2248
|
agentName: agent.name,
|
|
2211
2249
|
...(mergedCloud === undefined ? {} : { cloud: mergedCloud }),
|
|
@@ -2218,7 +2256,7 @@ export class SessionEngine {
|
|
|
2218
2256
|
// (PR worktree, shared checkout); otherwise the catalog references the
|
|
2219
2257
|
// on-disk paths under the harness cwd.
|
|
2220
2258
|
instructions: runtime === "grokbot"
|
|
2221
|
-
? buildAgentsMdContent(
|
|
2259
|
+
? buildAgentsMdContent(instructionsAgent, { includeScripts: true })
|
|
2222
2260
|
: localInstructions,
|
|
2223
2261
|
...(runtime === "cloud" && !isCursorHostedFilesAvailable()
|
|
2224
2262
|
? { agentServeAgent: this.project.name }
|
|
@@ -2413,10 +2451,10 @@ export class SessionEngine {
|
|
|
2413
2451
|
};
|
|
2414
2452
|
continue;
|
|
2415
2453
|
}
|
|
2416
|
-
servers[resolved.name] = {
|
|
2454
|
+
servers[resolved.name] = resolveConnectionEnvTemplates({
|
|
2417
2455
|
url,
|
|
2418
2456
|
headers: resolved.headers,
|
|
2419
|
-
};
|
|
2457
|
+
});
|
|
2420
2458
|
}
|
|
2421
2459
|
if (runtime === "cloud" &&
|
|
2422
2460
|
sessionId !== undefined &&
|
|
@@ -4037,11 +4075,10 @@ export class SessionEngine {
|
|
|
4037
4075
|
if (cost === undefined || completed.type !== "turn.completed") {
|
|
4038
4076
|
return;
|
|
4039
4077
|
}
|
|
4078
|
+
// Same object the turn.completed hook is waiting on.
|
|
4079
|
+
completed.data = { ...completed.data, cost };
|
|
4040
4080
|
const log = await this.logs.get(sessionId);
|
|
4041
|
-
log.replace(completed.index,
|
|
4042
|
-
...completed,
|
|
4043
|
-
data: { ...completed.data, cost },
|
|
4044
|
-
});
|
|
4081
|
+
log.replace(completed.index, completed);
|
|
4045
4082
|
})
|
|
4046
4083
|
.catch((error) => {
|
|
4047
4084
|
this.logger(`[bdk] turn cost stamp failed for ${sessionId}: ${describeError(error)}`);
|
|
@@ -4070,7 +4107,7 @@ export class SessionEngine {
|
|
|
4070
4107
|
const sdkAgentId = (record.sdkAgentId !== undefined && record.sdkAgentId !== ""
|
|
4071
4108
|
? record.sdkAgentId
|
|
4072
4109
|
: undefined) ?? cloudSdkAgentIdFromEvents(events);
|
|
4073
|
-
const model = this.
|
|
4110
|
+
const model = this.turnModel(record).model ?? DEFAULT_MODEL;
|
|
4074
4111
|
const priced = await this.estimateTurnCost({
|
|
4075
4112
|
model,
|
|
4076
4113
|
agentId: sdkAgentId,
|
|
@@ -4166,7 +4203,7 @@ export class SessionEngine {
|
|
|
4166
4203
|
if (billed === undefined) {
|
|
4167
4204
|
return;
|
|
4168
4205
|
}
|
|
4169
|
-
const model = this.
|
|
4206
|
+
const model = this.turnModel(record).model ?? DEFAULT_MODEL;
|
|
4170
4207
|
const patched = applyCloudUsageToEvents(events, billed, model);
|
|
4171
4208
|
if (patched === undefined) {
|
|
4172
4209
|
return;
|
|
@@ -4537,6 +4574,24 @@ function mergePendingWorkspaceFiles(current, incoming) {
|
|
|
4537
4574
|
}
|
|
4538
4575
|
return { ...current, ...incoming };
|
|
4539
4576
|
}
|
|
4577
|
+
const INSTRUCTIONS_REQUIRE_DRY_RUN = "invalid argument: instructions is only allowed when dryRun is true";
|
|
4578
|
+
/** instructions.md body for a dry-run session, or undefined to keep the deploy's file. */
|
|
4579
|
+
function dryRunInstructionsOverride(options) {
|
|
4580
|
+
const instructions = options.instructions?.trim() ?? "";
|
|
4581
|
+
if (instructions === "") {
|
|
4582
|
+
return undefined;
|
|
4583
|
+
}
|
|
4584
|
+
if (options.dryRun !== true) {
|
|
4585
|
+
throw new Error(INSTRUCTIONS_REQUIRE_DRY_RUN);
|
|
4586
|
+
}
|
|
4587
|
+
return instructions;
|
|
4588
|
+
}
|
|
4589
|
+
function agentWithInstructionsOverride(agent, instructions) {
|
|
4590
|
+
if (instructions === undefined) {
|
|
4591
|
+
return agent;
|
|
4592
|
+
}
|
|
4593
|
+
return { ...agent, instructions: withIdentityPreamble(agent.name, instructions) };
|
|
4594
|
+
}
|
|
4540
4595
|
function eventsNdjson(events) {
|
|
4541
4596
|
if (events.length === 0) {
|
|
4542
4597
|
return undefined;
|
|
@@ -52,8 +52,9 @@ export declare class StorageCoordinator implements FrameworkSessionStore, Author
|
|
|
52
52
|
/** Per-session pending state (events + coalesced record). */
|
|
53
53
|
private readonly buffers;
|
|
54
54
|
/**
|
|
55
|
-
* Last continuation key
|
|
56
|
-
*
|
|
55
|
+
* Last continuation key this process has seen for a session. A hit
|
|
56
|
+
* avoids a durable read; a miss reads the stored session record so a
|
|
57
|
+
* fresh process still deletes the previous pointer.
|
|
57
58
|
*/
|
|
58
59
|
private readonly continuationIndex;
|
|
59
60
|
/**
|
|
@@ -103,14 +104,13 @@ export declare class StorageCoordinator implements FrameworkSessionStore, Author
|
|
|
103
104
|
*/
|
|
104
105
|
private putsOp;
|
|
105
106
|
/**
|
|
106
|
-
* Index maintenance for `continuation/{channelId}/{token}` → sessionId
|
|
107
|
-
*
|
|
107
|
+
* Index maintenance for `continuation/{channelId}/{token}` → sessionId.
|
|
108
|
+
* Put the current token and delete the previous one. The in-process
|
|
109
|
+
* index is a fast path; a fresh process reads the durable session
|
|
110
|
+
* record (before this flush overwrites it) and deletes that key too.
|
|
111
|
+
* Leading ops must run before the session-record put.
|
|
108
112
|
*/
|
|
109
|
-
private
|
|
110
|
-
/** KV upsert op on the sink's `put`. */
|
|
111
|
-
private putOp;
|
|
112
|
-
/** KV delete op on the sink's `delete` (skipped when the hook is absent). */
|
|
113
|
-
private deleteOp;
|
|
113
|
+
private planContinuation;
|
|
114
114
|
/** Whether the sink can serve the startup bulk restore (`list`). */
|
|
115
115
|
get canBulkRestore(): boolean;
|
|
116
116
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-coordinator.d.ts","sourceRoot":"","sources":["../../src/internal/storage-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE1F,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAMjE,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAEvE;AA2BD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-coordinator.d.ts","sourceRoot":"","sources":["../../src/internal/storage-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,17 @@ export const MAX_VOLATILE_RECORD_SKIPS = 20;
|
|
|
71
71
|
function resumeProjectionJson(record) {
|
|
72
72
|
return JSON.stringify({ ...record, turnCount: 0, updatedAt: "" });
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Stamp written with a continuation pointer. Newer than the durable
|
|
76
|
+
* record's `updatedAt` means the record write lagged the pointer.
|
|
77
|
+
*/
|
|
78
|
+
function continuationPointerUpdatedAt(pointer) {
|
|
79
|
+
if (typeof pointer !== "object" || pointer === null || Array.isArray(pointer)) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
const stamp = pointer.recordUpdatedAt;
|
|
83
|
+
return typeof stamp === "string" && stamp.length > 0 ? stamp : undefined;
|
|
84
|
+
}
|
|
74
85
|
/** Session records out of raw sink entries; rows without a usable id are dropped. */
|
|
75
86
|
function sessionRecordsOf(entries) {
|
|
76
87
|
return entries
|
|
@@ -82,8 +93,9 @@ export class StorageCoordinator {
|
|
|
82
93
|
/** Per-session pending state (events + coalesced record). */
|
|
83
94
|
this.buffers = new Map();
|
|
84
95
|
/**
|
|
85
|
-
* Last continuation key
|
|
86
|
-
*
|
|
96
|
+
* Last continuation key this process has seen for a session. A hit
|
|
97
|
+
* avoids a durable read; a miss reads the stored session record so a
|
|
98
|
+
* fresh process still deletes the previous pointer.
|
|
87
99
|
*/
|
|
88
100
|
this.continuationIndex = new Map();
|
|
89
101
|
/**
|
|
@@ -231,11 +243,15 @@ export class StorageCoordinator {
|
|
|
231
243
|
recordAck = { sessionId, json: recordJson, projection };
|
|
232
244
|
}
|
|
233
245
|
}
|
|
246
|
+
const continuation = record === undefined ? undefined : this.planContinuation(record);
|
|
247
|
+
if (continuation !== undefined) {
|
|
248
|
+
ops.push(...continuation.leading);
|
|
249
|
+
}
|
|
234
250
|
if (puts.length > 0) {
|
|
235
251
|
ops.push(this.putsOp(puts, recordAck));
|
|
236
252
|
}
|
|
237
|
-
if (
|
|
238
|
-
ops.push(...
|
|
253
|
+
if (continuation !== undefined) {
|
|
254
|
+
ops.push(...continuation.trailing);
|
|
239
255
|
}
|
|
240
256
|
if (ops.length > 0) {
|
|
241
257
|
this.enqueue(ops, reason);
|
|
@@ -309,39 +325,76 @@ export class StorageCoordinator {
|
|
|
309
325
|
};
|
|
310
326
|
}
|
|
311
327
|
/**
|
|
312
|
-
* Index maintenance for `continuation/{channelId}/{token}` → sessionId
|
|
313
|
-
*
|
|
328
|
+
* Index maintenance for `continuation/{channelId}/{token}` → sessionId.
|
|
329
|
+
* Put the current token and delete the previous one. The in-process
|
|
330
|
+
* index is a fast path; a fresh process reads the durable session
|
|
331
|
+
* record (before this flush overwrites it) and deletes that key too.
|
|
332
|
+
* Leading ops must run before the session-record put.
|
|
314
333
|
*/
|
|
315
|
-
|
|
316
|
-
const previous = this.continuationIndex.get(record.sessionId);
|
|
334
|
+
planContinuation(record) {
|
|
317
335
|
const next = record.continuationKey;
|
|
318
|
-
|
|
319
|
-
|
|
336
|
+
const indexKnows = this.continuationIndex.has(record.sessionId);
|
|
337
|
+
const known = indexKnows ? this.continuationIndex.get(record.sessionId) : undefined;
|
|
338
|
+
if (indexKnows && known === next) {
|
|
339
|
+
return undefined;
|
|
320
340
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
ops.push(this.deleteOp(this.keys.continuation(this.agentName, record.channelId, previous)));
|
|
341
|
+
const staleKeys = [];
|
|
342
|
+
if (indexKnows && typeof known === "string" && known !== next) {
|
|
343
|
+
staleKeys.push(this.keys.continuation(this.agentName, record.channelId, known));
|
|
325
344
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
345
|
+
this.continuationIndex.set(record.sessionId, next);
|
|
346
|
+
const leading = [];
|
|
347
|
+
const get = this.definition.get;
|
|
348
|
+
if (!indexKnows && get !== undefined) {
|
|
349
|
+
leading.push({
|
|
350
|
+
label: `continuation-previous(${record.sessionId})`,
|
|
351
|
+
run: async (ctx) => {
|
|
352
|
+
const stored = (await get(this.keys.session(this.agentName, record.sessionId), ctx));
|
|
353
|
+
const previous = stored?.continuationKey;
|
|
354
|
+
if (typeof previous !== "string" || previous.length === 0 || previous === next) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
const channelId = stored != null && typeof stored.channelId === "string" && stored.channelId.length > 0
|
|
358
|
+
? stored.channelId
|
|
359
|
+
: record.channelId;
|
|
360
|
+
staleKeys.push(this.keys.continuation(this.agentName, channelId, previous));
|
|
361
|
+
},
|
|
362
|
+
});
|
|
330
363
|
}
|
|
331
|
-
return ops;
|
|
332
|
-
}
|
|
333
|
-
/** KV upsert op on the sink's `put`. */
|
|
334
|
-
putOp(key, value) {
|
|
335
|
-
return {
|
|
336
|
-
label: `put(${key})`,
|
|
337
|
-
run: (ctx) => this.definition.put(key, value, ctx),
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
/** KV delete op on the sink's `delete` (skipped when the hook is absent). */
|
|
341
|
-
deleteOp(key) {
|
|
342
364
|
return {
|
|
343
|
-
|
|
344
|
-
|
|
365
|
+
leading,
|
|
366
|
+
trailing: [
|
|
367
|
+
{
|
|
368
|
+
label: `continuation(${record.sessionId})`,
|
|
369
|
+
run: async (ctx) => {
|
|
370
|
+
// A delete failure must not skip the new pointer. These used to
|
|
371
|
+
// be separate queue ops, so a thrown delete still reached the put.
|
|
372
|
+
for (const key of staleKeys) {
|
|
373
|
+
try {
|
|
374
|
+
await this.definition.delete?.(key, ctx);
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
this.logger(`[bdk] storage delete(${key}) failed: ${describeError(error)}`);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
if (next == null) {
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
try {
|
|
384
|
+
await this.definition.put(this.keys.continuation(this.agentName, record.channelId, next), {
|
|
385
|
+
sessionId: record.sessionId,
|
|
386
|
+
recordUpdatedAt: record.updatedAt,
|
|
387
|
+
}, ctx);
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
// Plan time already advanced the in-process index. Drop it so
|
|
391
|
+
// a later flush retries this pointer instead of treating it as current.
|
|
392
|
+
this.continuationIndex.delete(record.sessionId);
|
|
393
|
+
throw error;
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
},
|
|
397
|
+
],
|
|
345
398
|
};
|
|
346
399
|
}
|
|
347
400
|
// ==========================================================================
|
|
@@ -472,11 +525,38 @@ export class StorageCoordinator {
|
|
|
472
525
|
this.logger(`[bdk] storage continuation entry points at missing session ${sessionId}; treating as a miss`);
|
|
473
526
|
return undefined;
|
|
474
527
|
}
|
|
475
|
-
//
|
|
476
|
-
//
|
|
477
|
-
//
|
|
478
|
-
if (record.channelId !== channelId
|
|
479
|
-
throw new Error(`storage returned a session that does not match the requested continuation (channel ${channelId})`);
|
|
528
|
+
// A different channel is a broken store. Same channel with a different
|
|
529
|
+
// key is a leftover pointer when the durable record is newer, and the
|
|
530
|
+
// live token when that record write lagged the pointer.
|
|
531
|
+
if (record.channelId !== channelId) {
|
|
532
|
+
throw new Error(`storage returned a session that does not match the requested continuation (channel ${channelId}, requestedContinuationKey=${continuationKey}, recordChannelId=${record.channelId}, recordContinuationKey=${String(record.continuationKey)})`);
|
|
533
|
+
}
|
|
534
|
+
if (record.continuationKey !== continuationKey) {
|
|
535
|
+
const pointerUpdatedAt = continuationPointerUpdatedAt(pointer);
|
|
536
|
+
const recordUpdatedAt = typeof record.updatedAt === "string" ? record.updatedAt : undefined;
|
|
537
|
+
// The pointer was written for a newer record than the one that landed.
|
|
538
|
+
// Deleting it would drop the live token; the record is the one that lagged.
|
|
539
|
+
if (pointerUpdatedAt !== undefined &&
|
|
540
|
+
recordUpdatedAt !== undefined &&
|
|
541
|
+
pointerUpdatedAt > recordUpdatedAt) {
|
|
542
|
+
this.logger(`[bdk] storage continuation record lags the pointer for channel ${channelId}; keeping the pointer`);
|
|
543
|
+
// The caller persists this record. Leaving the old token on it makes
|
|
544
|
+
// the next flush advance `updatedAt` past the pointer stamp, and the
|
|
545
|
+
// following lookup of the live key then deletes that pointer.
|
|
546
|
+
return {
|
|
547
|
+
...record,
|
|
548
|
+
continuationKey,
|
|
549
|
+
updatedAt: pointerUpdatedAt,
|
|
550
|
+
};
|
|
551
|
+
}
|
|
552
|
+
this.logger(`[bdk] storage continuation pointer is stale for channel ${channelId}; treating as a miss`);
|
|
553
|
+
try {
|
|
554
|
+
await this.definition.delete?.(this.keys.continuation(this.agentName, channelId, continuationKey), ctx);
|
|
555
|
+
}
|
|
556
|
+
catch (error) {
|
|
557
|
+
this.logger(`[bdk] storage delete of stale continuation pointer failed: ${describeError(error)}`);
|
|
558
|
+
}
|
|
559
|
+
return undefined;
|
|
480
560
|
}
|
|
481
561
|
return record;
|
|
482
562
|
}
|