@cursor/bdk 0.2.16 → 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.
Files changed (221) hide show
  1. package/README.md +2 -2
  2. package/dist/bin/agent-serve.js +7 -0
  3. package/dist/channels/runs/index.d.ts +4 -0
  4. package/dist/channels/runs/index.d.ts.map +1 -0
  5. package/dist/channels/runs/index.js +2 -0
  6. package/dist/channels/runs/runs-channel.d.ts +5 -0
  7. package/dist/channels/runs/runs-channel.d.ts.map +1 -0
  8. package/dist/channels/runs/runs-channel.js +34 -0
  9. package/dist/channels/runs/types.d.ts +34 -0
  10. package/dist/channels/runs/types.d.ts.map +1 -0
  11. package/dist/channels/runs/types.js +1 -0
  12. package/dist/channels/slack/agentic-delivery.js +4 -4
  13. package/dist/channels/slack/api.d.ts.map +1 -1
  14. package/dist/channels/slack/api.js +7 -4
  15. package/dist/channels/slack/channel-watch.d.ts +2 -0
  16. package/dist/channels/slack/channel-watch.d.ts.map +1 -1
  17. package/dist/channels/slack/channel-watch.js +7 -3
  18. package/dist/channels/slack/dispatch.d.ts +3 -0
  19. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  20. package/dist/channels/slack/dispatch.js +6 -2
  21. package/dist/channels/slack/thread-context.d.ts.map +1 -1
  22. package/dist/channels/slack/thread-context.js +58 -26
  23. package/dist/channels/slack/types.d.ts +19 -0
  24. package/dist/channels/slack/types.d.ts.map +1 -1
  25. package/dist/docs/404.html +3 -3
  26. package/dist/docs/assets/{app.BSrZkTHD.js → app.CJ-XZTK5.js} +4 -4
  27. package/dist/docs/assets/{building-with-agents.md.Bi9CQ-bR.js → building-with-agents.md.FZXrY8Nk.js} +1 -1
  28. package/dist/docs/assets/chunks/@localSearchIndexroot.ylB4B_Ud.js +1 -0
  29. package/dist/docs/assets/chunks/{VPLocalSearchBox.BxmgcwIX.js → VPLocalSearchBox.CpbYgURZ.js} +1 -1
  30. package/dist/docs/assets/chunks/{arc.CAid9y9R.js → arc.B081PemO.js} +1 -1
  31. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.kLxg-1A5.js → architectureDiagram-Q4EWVU46.DPaT_hi-.js} +1 -1
  32. package/dist/docs/assets/chunks/{baseUniq.BWvpjFlO.js → baseUniq.Buu61NLg.js} +1 -1
  33. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.DyjX8R7M.js → blockDiagram-DXYQGD6D.C6t63owh.js} +1 -1
  34. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.DBdWlnqr.js → c4Diagram-AHTNJAMY.BtKabdXR.js} +1 -1
  35. package/dist/docs/assets/chunks/channel.BgjgeSqp.js +1 -0
  36. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.T5enPS2D.js → chunk-4BX2VUAB.DQpNaR8N.js} +1 -1
  37. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.D6zswRAS.js → chunk-4TB4RGXK.DrhL-6Rv.js} +1 -1
  38. package/dist/docs/assets/chunks/{chunk-55IACEB6.Bh05N-a3.js → chunk-55IACEB6.DRLIBfNR.js} +1 -1
  39. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.DZv_O-d9.js → chunk-EDXVE4YY.kuUuFkIg.js} +1 -1
  40. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.BY53CZaL.js → chunk-FMBD7UC4.BlrVxprw.js} +1 -1
  41. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CO5lI2PE.js → chunk-OYMX7WX6.CZCfYeQA.js} +1 -1
  42. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.DMfpW0s4.js → chunk-QZHKN3VN.C7rwVEMV.js} +1 -1
  43. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.COPT56Nr.js → chunk-YZCP3GAM.CGseJtT_.js} +1 -1
  44. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CIVv63wE.js +1 -0
  45. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CIVv63wE.js +1 -0
  46. package/dist/docs/assets/chunks/clone.HcW7h-70.js +1 -0
  47. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BJSj7zzd.js → cose-bilkent-S5V4N54A.BWlczAK4.js} +1 -1
  48. package/dist/docs/assets/chunks/{dagre-KV5264BT.DDv7IQZT.js → dagre-KV5264BT.Cw0tT0bB.js} +1 -1
  49. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.BUoE9HFH.js → diagram-5BDNPKRD.Cm96ah9V.js} +1 -1
  50. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.BF3JtrnJ.js → diagram-G4DWMVQ6.Cl0AoWYM.js} +1 -1
  51. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BvuCWc4e.js → diagram-MMDJMWI5.Bp7mlzKs.js} +1 -1
  52. package/dist/docs/assets/chunks/{diagram-TYMM5635._EqUGqFN.js → diagram-TYMM5635.ClVeqpcW.js} +1 -1
  53. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DxNvSdzj.js → erDiagram-SMLLAGMA.Bi8dojF9.js} +1 -1
  54. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.DVtRP546.js → flowDiagram-DWJPFMVM.Bb4urpfG.js} +1 -1
  55. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.Bn9vb7xI.js → ganttDiagram-T4ZO3ILL.whR4wFze.js} +1 -1
  56. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.45r6n737.js → gitGraphDiagram-UUTBAWPF.6oVMi6-3.js} +1 -1
  57. package/dist/docs/assets/chunks/{graph.BOkX3Ws_.js → graph.D8AJDOFK.js} +1 -1
  58. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.DyBCcxOm.js → infoDiagram-42DDH7IO.nTpsf5Vk.js} +1 -1
  59. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.kg0ywDlx.js → ishikawaDiagram-UXIWVN3A.DhYDOwyB.js} +1 -1
  60. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BUfrLnXA.js → journeyDiagram-VCZTEJTY.Bg7Rudw3.js} +1 -1
  61. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.Bn7X35b2.js → kanban-definition-6JOO6SKY.D80D_ZAR.js} +1 -1
  62. package/dist/docs/assets/chunks/{layout.B0QW6d8M.js → layout.e9hmuC-K.js} +1 -1
  63. package/dist/docs/assets/chunks/{linear.C59eCF0D.js → linear.D6hEyqVB.js} +1 -1
  64. package/dist/docs/assets/chunks/{min.BnDl0p08.js → min.BPAdvB9D.js} +1 -1
  65. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.u2HYLooo.js → mindmap-definition-QFDTVHPH.tm2Sov2Q.js} +1 -1
  66. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.CbnIrr9l.js → pieDiagram-DEJITSTG.BKHZ497m.js} +1 -1
  67. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D2zWIixq.js → quadrantDiagram-34T5L4WZ.CPj7gSp6.js} +1 -1
  68. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DvOFa3oO.js → requirementDiagram-MS252O5E._U68yVUd.js} +1 -1
  69. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BfKCkH3x.js → sankeyDiagram-XADWPNL6._6jrIQPb.js} +1 -1
  70. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.CUPKdYN0.js → sequenceDiagram-FGHM5R23.D9UlmB6F.js} +1 -1
  71. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.CimDCRiK.js → stateDiagram-FHFEXIEX.BQSaiJCe.js} +1 -1
  72. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.B5d7jT7E.js +1 -0
  73. package/dist/docs/assets/chunks/{theme.CKht7z82.js → theme.25ZC61Iy.js} +2 -2
  74. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BFTd5qKs.js → timeline-definition-GMOUNBTQ.d-17NZ3L.js} +1 -1
  75. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.N6t5MmCb.js → vennDiagram-DHZGUBPP.DE9AGEjG.js} +1 -1
  76. package/dist/docs/assets/chunks/{wardley-RL74JXVD.D2G6Zyds.js → wardley-RL74JXVD.BcY0KddE.js} +1 -1
  77. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.BqScALbL.js → wardleyDiagram-NUSXRM2D.D9SDNipV.js} +1 -1
  78. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Br0WiDkT.js → xychartDiagram-5P7HB3ND.DM1sIMf8.js} +1 -1
  79. package/dist/docs/assets/{deployment.md.hKKN9I4c.js → deployment.md.ajc3VM0m.js} +1 -1
  80. package/dist/docs/assets/{guides_migrate.md.sCAvvlC6.js → guides_migrate.md.DZBL7dqT.js} +1 -1
  81. package/dist/docs/assets/index.md.CHAFTf6m.js +27 -0
  82. package/dist/docs/assets/index.md.CHAFTf6m.lean.js +1 -0
  83. package/dist/docs/assets/{quickstart.md.CduLGBAB.js → quickstart.md.D8JDfkKO.js} +1 -1
  84. package/dist/docs/assets/{reference_cli.md.2d2Y0O-d.js → reference_cli.md.Bt3sAfat.js} +1 -1
  85. package/dist/docs/assets/{reference_http-api.md.CrqhTv6S.js → reference_http-api.md.Dji-DD_Z.js} +1 -1
  86. package/dist/docs/assets/{reference_project-layout.md.C2JMRh7p.js → reference_project-layout.md.SNzIvnmC.js} +1 -1
  87. package/dist/docs/assets/{reference_skills.md.C2GWh7g8.js → reference_skills.md.Ckddg6KX.js} +3 -3
  88. package/dist/docs/building-with-agents.html +37 -37
  89. package/dist/docs/building-with-agents.md +4 -4
  90. package/dist/docs/deployment.html +37 -37
  91. package/dist/docs/deployment.md +3 -4
  92. package/dist/docs/evals.html +36 -36
  93. package/dist/docs/guides/agent-to-agent.html +36 -36
  94. package/dist/docs/guides/bitbucket.html +36 -36
  95. package/dist/docs/guides/cloud-agents.html +36 -36
  96. package/dist/docs/guides/convert-automation.html +36 -36
  97. package/dist/docs/guides/github.html +36 -36
  98. package/dist/docs/guides/gitlab.html +36 -36
  99. package/dist/docs/guides/grokbot-agents.html +36 -36
  100. package/dist/docs/guides/hooks.html +36 -36
  101. package/dist/docs/guides/improve.html +36 -36
  102. package/dist/docs/guides/jev.html +36 -36
  103. package/dist/docs/guides/mcp-oauth.html +36 -36
  104. package/dist/docs/guides/migrate.html +37 -37
  105. package/dist/docs/guides/migrate.md +3 -3
  106. package/dist/docs/guides/opentelemetry.html +36 -36
  107. package/dist/docs/guides/slack.html +36 -36
  108. package/dist/docs/guides/webhooks.html +36 -36
  109. package/dist/docs/hashmap.json +1 -1
  110. package/dist/docs/hillclimbing.html +36 -36
  111. package/dist/docs/index.html +38 -38
  112. package/dist/docs/index.md +2 -2
  113. package/dist/docs/llms-full.txt +23 -25
  114. package/dist/docs/llms.txt +2 -2
  115. package/dist/docs/quickstart.html +37 -37
  116. package/dist/docs/quickstart.md +3 -3
  117. package/dist/docs/reference/agent-config.html +36 -36
  118. package/dist/docs/reference/artifacts.html +36 -36
  119. package/dist/docs/reference/channels.html +36 -36
  120. package/dist/docs/reference/cli.html +37 -37
  121. package/dist/docs/reference/cli.md +1 -1
  122. package/dist/docs/reference/connections.html +36 -36
  123. package/dist/docs/reference/evals.html +36 -36
  124. package/dist/docs/reference/extensions.html +36 -36
  125. package/dist/docs/reference/hooks.html +36 -36
  126. package/dist/docs/reference/http-api.html +37 -37
  127. package/dist/docs/reference/http-api.md +4 -4
  128. package/dist/docs/reference/instructions.html +36 -36
  129. package/dist/docs/reference/playground.html +36 -36
  130. package/dist/docs/reference/project-layout.html +37 -37
  131. package/dist/docs/reference/project-layout.md +2 -3
  132. package/dist/docs/reference/prompt.html +36 -36
  133. package/dist/docs/reference/schedules.html +36 -36
  134. package/dist/docs/reference/sessions.html +36 -36
  135. package/dist/docs/reference/skills.html +39 -39
  136. package/dist/docs/reference/subagents.html +36 -36
  137. package/dist/docs/reference/tools.html +36 -36
  138. package/dist/docs/templates/agentic-owners.html +36 -36
  139. package/dist/docs/templates/grokbot-agents.html +36 -36
  140. package/dist/docs/templates/security-reviewer.html +36 -36
  141. package/dist/docs/templates/thermo-quality-review.html +36 -36
  142. package/dist/docs/templates/thermo-review.html +36 -36
  143. package/dist/docs/templates/triage.html +36 -36
  144. package/dist/docs/troubleshooting.html +36 -36
  145. package/dist/internal/cli-deploy.d.ts.map +1 -1
  146. package/dist/internal/cli-deploy.js +0 -14
  147. package/dist/internal/cloud-turn-cost.js +2 -2
  148. package/dist/internal/continuation-channel.d.ts.map +1 -1
  149. package/dist/internal/continuation-channel.js +6 -0
  150. package/dist/internal/continuation-identity.d.ts +6 -3
  151. package/dist/internal/continuation-identity.d.ts.map +1 -1
  152. package/dist/internal/continuation-identity.js +43 -0
  153. package/dist/internal/deploy-manifest.d.ts +6 -0
  154. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  155. package/dist/internal/deploy-manifest.js +3 -0
  156. package/dist/internal/http-channel.d.ts.map +1 -1
  157. package/dist/internal/http-channel.js +20 -1
  158. package/dist/internal/http-control-plane-session.d.ts +5 -2
  159. package/dist/internal/http-control-plane-session.d.ts.map +1 -1
  160. package/dist/internal/http-control-plane-session.js +38 -2
  161. package/dist/internal/init-scaffold.js +1 -1
  162. package/dist/internal/model-config.d.ts +7 -0
  163. package/dist/internal/model-config.d.ts.map +1 -0
  164. package/dist/internal/model-config.js +67 -0
  165. package/dist/internal/peer-connections.d.ts +18 -3
  166. package/dist/internal/peer-connections.d.ts.map +1 -1
  167. package/dist/internal/peer-connections.js +46 -6
  168. package/dist/internal/request-error-status.d.ts.map +1 -1
  169. package/dist/internal/request-error-status.js +4 -1
  170. package/dist/internal/resolved-connections.d.ts +4 -1
  171. package/dist/internal/resolved-connections.d.ts.map +1 -1
  172. package/dist/internal/resolved-connections.js +9 -4
  173. package/dist/internal/sdk-runner.d.ts.map +1 -1
  174. package/dist/internal/sdk-runner.js +11 -1
  175. package/dist/internal/server.d.ts.map +1 -1
  176. package/dist/internal/server.js +2 -1
  177. package/dist/internal/session-engine.d.ts +3 -1
  178. package/dist/internal/session-engine.d.ts.map +1 -1
  179. package/dist/internal/session-engine.js +74 -19
  180. package/dist/internal/storage-coordinator.d.ts +9 -9
  181. package/dist/internal/storage-coordinator.d.ts.map +1 -1
  182. package/dist/internal/storage-coordinator.js +116 -36
  183. package/dist/internal/testing/factory-resource-fixtures.d.ts +16 -0
  184. package/dist/internal/testing/factory-resource-fixtures.d.ts.map +1 -1
  185. package/dist/internal/testing/factory-resource-fixtures.js +14 -0
  186. package/dist/internal/turn-cost.d.ts +1 -1
  187. package/dist/internal/turn-cost.d.ts.map +1 -1
  188. package/dist/internal/turn-cost.js +8 -8
  189. package/dist/playground/assets/cursor-icons-16-DBmD_cqy.woff2 +0 -0
  190. package/dist/playground/assets/index-BDPd0Sec.css +1 -0
  191. package/dist/playground/assets/{index-U3TRnwAP.js → index-BrXDwbrN.js} +1 -1
  192. package/dist/playground/index.html +2 -2
  193. package/dist/types.d.ts +44 -0
  194. package/dist/types.d.ts.map +1 -1
  195. package/docs/README.md +4 -4
  196. package/docs/building-with-agents.md +4 -4
  197. package/docs/deployment.md +3 -4
  198. package/docs/guides/migrate.md +3 -3
  199. package/docs/quickstart.md +3 -3
  200. package/docs/reference/cli.md +1 -1
  201. package/docs/reference/http-api.md +4 -4
  202. package/docs/reference/project-layout.md +2 -3
  203. package/package.json +10 -3
  204. package/dist/docs/assets/chunks/@localSearchIndexroot.JUnN1Be1.js +0 -1
  205. package/dist/docs/assets/chunks/channel.CWc3NN9g.js +0 -1
  206. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.D5a745iS.js +0 -1
  207. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.D5a745iS.js +0 -1
  208. package/dist/docs/assets/chunks/clone.CCGVqN_B.js +0 -1
  209. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.ClNUVSTQ.js +0 -1
  210. package/dist/docs/assets/index.md.BIBHIQtU.js +0 -27
  211. package/dist/docs/assets/index.md.BIBHIQtU.lean.js +0 -1
  212. package/dist/playground/assets/cursor-icons-16-4RnoYH3n.woff2 +0 -0
  213. package/dist/playground/assets/index-7fVUOA5l.css +0 -1
  214. /package/dist/docs/assets/{building-with-agents.md.Bi9CQ-bR.lean.js → building-with-agents.md.FZXrY8Nk.lean.js} +0 -0
  215. /package/dist/docs/assets/{deployment.md.hKKN9I4c.lean.js → deployment.md.ajc3VM0m.lean.js} +0 -0
  216. /package/dist/docs/assets/{guides_migrate.md.sCAvvlC6.lean.js → guides_migrate.md.DZBL7dqT.lean.js} +0 -0
  217. /package/dist/docs/assets/{quickstart.md.CduLGBAB.lean.js → quickstart.md.D8JDfkKO.lean.js} +0 -0
  218. /package/dist/docs/assets/{reference_cli.md.2d2Y0O-d.lean.js → reference_cli.md.Bt3sAfat.lean.js} +0 -0
  219. /package/dist/docs/assets/{reference_http-api.md.CrqhTv6S.lean.js → reference_http-api.md.Dji-DD_Z.lean.js} +0 -0
  220. /package/dist/docs/assets/{reference_project-layout.md.C2JMRh7p.lean.js → reference_project-layout.md.SNzIvnmC.lean.js} +0 -0
  221. /package/dist/docs/assets/{reference_skills.md.C2GWh7g8.lean.js → reference_skills.md.Ckddg6KX.lean.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-identity.d.ts","sourceRoot":"","sources":["../../src/internal/continuation-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,MAAM,MAAM,gBAAgB,GACxB,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,WAAW,GACX,WAAW,GACX,cAAc,GACd,YAAY,GACZ,2BAA2B,GAC3B,eAAe,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,QAAQ,GACR,MAAM,CAAC;AAEX,eAAO,MAAM,sBAAsB,YACjC,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,+BAA+B,EAC/B,iBAAiB,EACjB,SAAS,EACT,SAAS,CACD,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3E,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AACxD,uEAAuE;AACvE,MAAM,MAAM,2BAA2B,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAChC,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EACJ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC/C;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GACvC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACpC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GACxB;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAC1B;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,mBAAmB,EA0FzC,CAAC;AAEX,qBAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AA6CD,wBAAgB,2BAA2B,CACzC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,2BAAkC,EAC3C,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAC7B,oBAAoB,CA6CtB;AAqCD,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAC7B;IAAE,QAAQ,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAqB/E;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAK1F;AAWD,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAEjG;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,CAAC,EAAE,oBAAoB,EAC/B,IAAI,CAAC,EAAE,MAAM,GACZ,QAAQ,GAAG,eAAe,CAE5B;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,4FAA4F;AAC5F,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7D;AA4CD,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CA2D1D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAqC9C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,MAAM,GAAG,SAAS,CAgCpB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,mBAAmB,CAarB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C,EACD,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CA0BR;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EACR,QAAQ,SAAS;IAAE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAAE,EAE9D,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,EAChE,OAAO,EAAE,mBAAmB,GAAG,SAAS,GACvC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAS5D"}
1
+ {"version":3,"file":"continuation-identity.d.ts","sourceRoot":"","sources":["../../src/internal/continuation-identity.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ export const CONTINUATION_SELECTORS = [
39
39
  "deployments.deployment/v2",
40
40
  "change_monitors.checkpoint/v2",
41
41
  "issues.issue/v2",
42
+ "runs.run/v2",
42
43
  "none/v1",
43
44
  "none/v2",
44
45
  ];
@@ -132,6 +133,12 @@ export const BUILTINS = [
132
133
  events: ["issue.created"],
133
134
  format: "issues:{issueName}",
134
135
  },
136
+ {
137
+ type: "run",
138
+ kind: "runs",
139
+ events: ["run.created"],
140
+ format: "runs:{monitorId}:{runId}",
141
+ },
135
142
  ];
136
143
  export class V2EngineError extends Error {
137
144
  constructor(message) {
@@ -172,6 +179,11 @@ const SELECTOR_FIELDS = {
172
179
  type: "factory-issue",
173
180
  kind: "issues",
174
181
  },
182
+ "runs.run/v2": {
183
+ version: 2,
184
+ type: "run",
185
+ kind: "runs",
186
+ },
175
187
  "none/v1": { version: 1, type: "none", kind: "http" },
176
188
  "none/v2": { version: 2, type: "none", kind: "http" },
177
189
  };
@@ -210,6 +222,8 @@ export function defaultContinuationSelector(kind, version = "v1", eventTypes) {
210
222
  return membershipOrNone(eventTypes, "change-monitor-checkpoint", "change_monitors.checkpoint/v2", "none/v2");
211
223
  case "issues":
212
224
  return membershipOrNone(eventTypes, "factory-issue", "issues.issue/v2", "none/v2");
225
+ case "runs":
226
+ return membershipOrNone(eventTypes, "run", "runs.run/v2", "none/v2");
213
227
  default:
214
228
  return "none/v2";
215
229
  }
@@ -240,6 +254,7 @@ const OMITTED_V2_TYPED_TYPE = {
240
254
  deployments: "deployment",
241
255
  change_monitors: "change-monitor-checkpoint",
242
256
  issues: "factory-issue",
257
+ runs: "run",
243
258
  };
244
259
  /** Typed membership used when an omitted `/v2` selector becomes type `none`. */
245
260
  export function omittedV2TypedType(kind) {
@@ -325,6 +340,8 @@ function formatConversationKey(type, fields) {
325
340
  return `change_monitors:${fields.checkpointName}`;
326
341
  case "factory-issue":
327
342
  return `issues:${fields.issueName}`;
343
+ case "run":
344
+ return `runs:${fields.monitorId}:${fields.runId}`;
328
345
  }
329
346
  }
330
347
  export function mintClaim(claim) {
@@ -357,6 +374,13 @@ export function mintClaim(claim) {
357
374
  }
358
375
  return `cont:${formatConversationKey("factory-issue", resource)}`;
359
376
  }
377
+ case "run": {
378
+ const resource = claim.resource;
379
+ if (!("monitorId" in resource && "runId" in resource)) {
380
+ throw new V2EngineError("v2: run claim requires monitorId and runId");
381
+ }
382
+ return `cont:${formatConversationKey("run", resource)}`;
383
+ }
360
384
  case "pr":
361
385
  case "issue":
362
386
  case "origin-pr":
@@ -454,6 +478,8 @@ export function extractContinuation(type, eventName, payload) {
454
478
  return extractNamedResource("change-monitor-checkpoint", "checkpointName", payload, "checkpoint");
455
479
  case "factory-issue":
456
480
  return extractNamedResource("factory-issue", "issueName", payload, "issue");
481
+ case "run":
482
+ return extractRun(payload);
457
483
  }
458
484
  }
459
485
  /**
@@ -718,6 +744,23 @@ function bitbucketFullName(repository) {
718
744
  }
719
745
  return `${projectKey}/${slug}`.toLowerCase();
720
746
  }
747
+ const RUN_NAME = /^changeMonitors\/([^/]+)\/runs\/([^/]+)$/;
748
+ function extractRun(payload) {
749
+ const record = asRecord(payload);
750
+ const run = asRecord(record?.run);
751
+ const name = nonEmpty(run?.name);
752
+ if (name === undefined) {
753
+ return undefined;
754
+ }
755
+ const match = RUN_NAME.exec(name);
756
+ if (match === null) {
757
+ return undefined;
758
+ }
759
+ return `cont:${formatConversationKey("run", {
760
+ monitorId: match[1],
761
+ runId: match[2],
762
+ })}`;
763
+ }
721
764
  function extractNamedResource(type, field, payload, wrapper) {
722
765
  const record = asRecord(payload);
723
766
  const source = wrapper === undefined ? record : asRecord(record?.[wrapper]);
@@ -87,6 +87,12 @@ export interface AgentDeployManifestDeclarations {
87
87
  * hand-off) within one delivery.
88
88
  */
89
89
  schedules?: AgentDeployManifestScheduleDeclaration[];
90
+ /**
91
+ * Deploy slugs of the agents this one calls through
92
+ * `defineConnection({ agent })`. Hosting authorizes peer calls against
93
+ * this list. Absent means the CLI predates peer declarations.
94
+ */
95
+ peers?: string[];
90
96
  }
91
97
  export interface AgentDeployManifestScheduleDeclaration {
92
98
  /** Path under `agent/schedules/` without extension. */
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-manifest.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-manifest.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-manifest.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ import { applyAgentContinuationDefaults, channelContinuationIdentity, channelDec
37
37
  import { CONTINUATION_SELECTORS } from "./continuation-identity.js";
38
38
  import { projectInfo, runtimeArchitectureCompatibilityError } from "./discovery.js";
39
39
  import { packageGitSha, packageVersion } from "./distribution.js";
40
+ import { peerDeploySlugs } from "./peer-connections.js";
40
41
  export const DEPLOY_MANIFEST_VERSION = 1;
41
42
  /**
42
43
  * Versioned wire contract for the CP-consumed declaration fields. Kept
@@ -121,6 +122,7 @@ const agentDeployManifestV1Schema = z.object({
121
122
  }))
122
123
  .max(64),
123
124
  schedules: z.array(scheduleDeclarationSchema).max(MAX_SCHEDULES).optional(),
125
+ peers: z.array(z.string().min(1).max(128)).max(64).optional(),
124
126
  }),
125
127
  // Full `projectInfo` payload — opaque to the wire contract.
126
128
  info: z.record(z.unknown()),
@@ -197,6 +199,7 @@ export function buildAgentDeployManifest(project, options) {
197
199
  kind: schedule.kind,
198
200
  }))
199
201
  : undefined,
202
+ peers: peerDeploySlugs(project),
200
203
  },
201
204
  info: projectInfo(project),
202
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"http-channel.d.ts","sourceRoot":"","sources":["../../src/internal/http-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,aAAa,EACd,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAK7B,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GAAG,WAAW,EAAE,CA+chB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GACA,QAAQ,GAAG,SAAS,CAYtB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAC/D,QAAQ,CAQV;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAErF;AAkFD,8FAA8F;AAC9F,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAc9C"}
1
+ {"version":3,"file":"http-channel.d.ts","sourceRoot":"","sources":["../../src/internal/http-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,aAAa,EACd,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAK7B,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GAAG,WAAW,EAAE,CAgehB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GACA,QAAQ,GAAG,SAAS,CAYtB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAC/D,QAAQ,CAQV;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAErF;AAkFD,8FAA8F;AAC9F,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAc9C"}
@@ -12,6 +12,7 @@
12
12
  import { samePrincipal } from "./auth.js";
13
13
  import { formatContinuationToken, parseContinuationToken } from "./ids.js";
14
14
  import { isRecord } from "./is-record.js";
15
+ import { InvalidModelConfigError, modelConfigForDryRun } from "./model-config.js";
15
16
  import { isLoopbackAddress } from "./net.js";
16
17
  import { ApprovalInterruptedError, ApprovalNotFoundError, AuthInterruptedError, AuthNotFoundError, HTTP_CHANNEL_ID, SessionAuthError, } from "./session-engine.js";
17
18
  import { eventsUrlForSession, playgroundUrlForSession } from "./session-urls.js";
@@ -40,6 +41,15 @@ export function buildHttpChannelRoutes(args) {
40
41
  if (body.asOf !== undefined && typeof body.asOf !== "string") {
41
42
  return errorResponse(400, "invalid_request", "`asOf` must be an ISO-8601 instant with a timezone when provided.");
42
43
  }
44
+ let modelConfig;
45
+ try {
46
+ modelConfig = modelConfigForDryRun(body.modelConfig, body.dryRun === true ? true : undefined);
47
+ }
48
+ catch (error) {
49
+ if (!(error instanceof InvalidModelConfigError))
50
+ throw error;
51
+ return errorResponse(400, "invalid_request", error.message);
52
+ }
43
53
  const message = await transformMessage(body.message, ctx.auth);
44
54
  const workspaceFiles = readWorkspaceFiles(body.workspaceFiles);
45
55
  // Per-session cloud attach (create only). Eval harness uses this to pin
@@ -51,6 +61,7 @@ export function buildHttpChannelRoutes(args) {
51
61
  ...(body.purpose === "eval" ? { purpose: "eval" } : {}),
52
62
  ...(body.dryRun === true ? { dryRun: true } : {}),
53
63
  asOf: body.asOf,
64
+ modelConfig,
54
65
  ...(workspaceFiles === undefined ? {} : { workspaceFiles }),
55
66
  ...(cloud === undefined ? {} : { cloud }),
56
67
  });
@@ -98,7 +109,15 @@ export function buildHttpChannelRoutes(args) {
98
109
  return errorResponse(409, "stale_continuation_token", "The continuation token does not address this session's active continuation.");
99
110
  }
100
111
  const message = await transformMessage(body.message, ctx.auth);
101
- const rotated = await engine.followUpHttp(sessionId, presented, message);
112
+ let rotated;
113
+ try {
114
+ rotated = await engine.followUpHttp(sessionId, presented, message, body.modelConfig);
115
+ }
116
+ catch (error) {
117
+ if (!(error instanceof InvalidModelConfigError))
118
+ throw error;
119
+ return errorResponse(400, "invalid_request", error.message);
120
+ }
102
121
  if (rotated === undefined) {
103
122
  return errorResponse(409, "stale_continuation_token", "The continuation token does not address this session's active continuation.");
104
123
  }
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * `agent-sdk run --prod` reaches the authenticated CP start route, which
5
5
  * delivers `agentsdk.session` to the built-in `http` channel of every v2
6
- * agent. The wake is `send(message, { dryRun, asOf })`; the session id,
6
+ * agent. The wake is `send(message, { dryRun, asOf, modelConfig, instructions })`; the session id,
7
7
  * when the caller resumed an explicit `ses_…`, arrives through the hosted
8
8
  * execution (never through this payload), so authored code cannot pick
9
9
  * one. {@link HttpChannelDefinition.onAdmit} runs against the mailbox
@@ -13,11 +13,14 @@
13
13
  * hosted execution runs the case body there instead of a single turn. The
14
14
  * case body writes every message, so it skips `onAdmit` and `onMessage`.
15
15
  */
16
- import type { ChannelHandlerArgs, HttpChannelDefinition, SendMessageOptions } from "../types.js";
16
+ import type { ChannelHandlerArgs, HttpChannelDefinition, SendMessageOptions, SessionModelConfig } from "../types.js";
17
17
  export type ControlPlaneSessionPayload = {
18
18
  message: string;
19
19
  dryRun?: boolean | undefined;
20
20
  asOf?: string | undefined;
21
+ modelConfig?: SessionModelConfig | undefined;
22
+ /** Dry-run replacement for the agent's instructions.md. */
23
+ instructions?: string | undefined;
21
24
  };
22
25
  export type EvalCaseRef = {
23
26
  runId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"http-control-plane-session.d.ts","sourceRoot":"","sources":["../../src/internal/http-control-plane-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAUjG,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAY5D,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,GAAG,SAAS,CAE/E;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,OAAO,GACf;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,0BAA0B,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA4B/E;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,OAAO,GACf;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBhE;AAeD,wBAAsB,+BAA+B,CAAC,KAAK,EAAE;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4BpB;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAavF"}
1
+ {"version":3,"file":"http-control-plane-session.d.ts","sourceRoot":"","sources":["../../src/internal/http-control-plane-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAWrB,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC7C,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAe5D,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,GAAG,SAAS,CAE/E;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,OAAO,GACf;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,0BAA0B,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0D/E;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,OAAO,GACf;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBhE;AAeD,wBAAsB,+BAA+B,CAAC,KAAK,EAAE;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgCpB;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAavF"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * `agent-sdk run --prod` reaches the authenticated CP start route, which
5
5
  * delivers `agentsdk.session` to the built-in `http` channel of every v2
6
- * agent. The wake is `send(message, { dryRun, asOf })`; the session id,
6
+ * agent. The wake is `send(message, { dryRun, asOf, modelConfig, instructions })`; the session id,
7
7
  * when the caller resumed an explicit `ses_…`, arrives through the hosted
8
8
  * execution (never through this payload), so authored code cannot pick
9
9
  * one. {@link HttpChannelDefinition.onAdmit} runs against the mailbox
@@ -17,9 +17,12 @@ import { skipped, turnStarted } from "./channel-dispatch.js";
17
17
  import { attachHostedAdmissionAdapter } from "./hosted-admission-adapter.js";
18
18
  import { AGENT_SDK_EVAL_CASE_EVENT_TYPE, AGENT_SDK_HTTP_CHANNEL_KIND, AGENT_SDK_SESSION_EVENT_TYPE, } from "./hosted-catch-protocol.js";
19
19
  import { isRecord } from "./is-record.js";
20
- const PAYLOAD_KEYS = new Set(["message", "dryRun", "asOf"]);
20
+ import { InvalidModelConfigError, modelConfigForDryRun } from "./model-config.js";
21
+ const PAYLOAD_KEYS = new Set(["message", "dryRun", "asOf", "modelConfig", "instructions"]);
21
22
  const EVAL_CASE_PAYLOAD_KEYS = new Set(["runId", "caseId"]);
22
23
  const MAX_MESSAGE_CHARS = 64 * 1024;
24
+ const MAX_INSTRUCTIONS_CHARS = 256 * 1024;
25
+ const INSTRUCTIONS_REQUIRE_DRY_RUN = "invalid argument: instructions is only allowed when dryRun is true";
23
26
  const MAX_EVAL_ID_CHARS = 512;
24
27
  /** Symbol-keyed so authored channels cannot forge an eval-case send. */
25
28
  const EVAL_CASE = Symbol("agentsdk.eval-case");
@@ -45,12 +48,41 @@ export function parseControlPlaneSessionPayload(payload) {
45
48
  (typeof payload.asOf !== "string" || payload.asOf.trim().length === 0)) {
46
49
  return { ok: false, error: "payload.asOf must be a non-empty string" };
47
50
  }
51
+ let modelConfig;
52
+ if (payload.modelConfig !== undefined) {
53
+ try {
54
+ modelConfig = modelConfigForDryRun(payload.modelConfig, payload.dryRun === true ? true : undefined);
55
+ }
56
+ catch (error) {
57
+ if (!(error instanceof InvalidModelConfigError))
58
+ throw error;
59
+ return { ok: false, error: error.message };
60
+ }
61
+ }
62
+ let instructions;
63
+ if (payload.instructions !== undefined) {
64
+ if (typeof payload.instructions !== "string") {
65
+ return { ok: false, error: "payload.instructions must be a string" };
66
+ }
67
+ instructions = payload.instructions.trim();
68
+ if (instructions.length === 0) {
69
+ return { ok: false, error: "payload.instructions must be a non-empty string" };
70
+ }
71
+ if (instructions.length > MAX_INSTRUCTIONS_CHARS) {
72
+ return { ok: false, error: "payload.instructions is too long" };
73
+ }
74
+ if (payload.dryRun !== true) {
75
+ return { ok: false, error: INSTRUCTIONS_REQUIRE_DRY_RUN };
76
+ }
77
+ }
48
78
  return {
49
79
  ok: true,
50
80
  data: {
51
81
  message,
52
82
  dryRun: payload.dryRun === true ? true : undefined,
53
83
  asOf: typeof payload.asOf === "string" ? payload.asOf.trim() : undefined,
84
+ modelConfig,
85
+ instructions,
54
86
  },
55
87
  };
56
88
  }
@@ -102,6 +134,8 @@ export async function dispatchHttpControlPlaneSession(input) {
102
134
  sessionKey: input.mailboxContinuationKey,
103
135
  dryRun: parsed.data.dryRun,
104
136
  asOf: parsed.data.asOf,
137
+ modelConfig: parsed.data.modelConfig,
138
+ instructions: parsed.data.instructions,
105
139
  host: input.args.host,
106
140
  });
107
141
  }
@@ -109,6 +143,8 @@ export async function dispatchHttpControlPlaneSession(input) {
109
143
  const session = await input.args.send(message, {
110
144
  dryRun: parsed.data.dryRun,
111
145
  asOf: parsed.data.asOf,
146
+ modelConfig: parsed.data.modelConfig,
147
+ instructions: parsed.data.instructions,
112
148
  });
113
149
  return turnStarted(session);
114
150
  }
@@ -94,7 +94,7 @@ export default defineEval({
94
94
  export function agentsMd(name, projectRoot = "bot") {
95
95
  return `# ${name}
96
96
 
97
- Grok Bot Development Kit (BDK) project (\`${PACKAGE_NAME}\`). This file is
97
+ Bot Development Kit (BDK) project (\`${PACKAGE_NAME}\`). This file is
98
98
  for coding agents editing the project. The served agent's prompt is
99
99
  \`${projectRoot}/instructions.md\`.
100
100
 
@@ -0,0 +1,7 @@
1
+ import type { SessionModelConfig } from "../types.js";
2
+ export declare const MODEL_CONFIG_REQUIRES_DRY_RUN = "invalid argument: modelConfig requires dryRun";
3
+ export declare class InvalidModelConfigError extends Error {
4
+ constructor(message: string);
5
+ }
6
+ export declare function modelConfigForDryRun(modelConfig: unknown, dryRun: boolean | undefined): SessionModelConfig | undefined;
7
+ //# sourceMappingURL=model-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-config.d.ts","sourceRoot":"","sources":["../../src/internal/model-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD,eAAO,MAAM,6BAA6B,kDAAkD,CAAC;AAE7F,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAyCD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,OAAO,GAAG,SAAS,GAC1B,kBAAkB,GAAG,SAAS,CAehC"}
@@ -0,0 +1,67 @@
1
+ import { isRecord } from "./is-record.js";
2
+ const MODEL_ID = /^[a-z0-9][a-z0-9.-]{0,127}$/;
3
+ const LEVELS = new Set(["low", "medium", "high", "xhigh"]);
4
+ export const MODEL_CONFIG_REQUIRES_DRY_RUN = "invalid argument: modelConfig requires dryRun";
5
+ export class InvalidModelConfigError extends Error {
6
+ constructor(message) {
7
+ super(message);
8
+ this.name = "InvalidModelConfigError";
9
+ }
10
+ }
11
+ function invalid(message) {
12
+ throw new InvalidModelConfigError(message);
13
+ }
14
+ function setting(value, where) {
15
+ if (!isRecord(value))
16
+ invalid(`invalid argument: ${where}.id is not a model id`);
17
+ const id = value.id;
18
+ if (typeof id !== "string" || !MODEL_ID.test(id)) {
19
+ invalid(`invalid argument: ${where}.id is not a model id`);
20
+ }
21
+ const rawParams = value.params;
22
+ if (!Array.isArray(rawParams))
23
+ invalid(`invalid argument: ${where} requires params`);
24
+ const effortId = id.includes("gpt") ? "reasoning" : "effort";
25
+ const params = [];
26
+ const seen = new Set();
27
+ for (const param of rawParams) {
28
+ if (!isRecord(param))
29
+ invalid(`invalid argument: ${where} param "" is not allowed`);
30
+ const paramId = typeof param.id === "string" ? param.id : "";
31
+ const paramValue = typeof param.value === "string" ? param.value : "";
32
+ if (paramId === "" ||
33
+ paramValue === "" ||
34
+ (paramId !== effortId && paramId !== "fast") ||
35
+ seen.has(paramId)) {
36
+ invalid(`invalid argument: ${where} param ${JSON.stringify(paramId)} is not allowed`);
37
+ }
38
+ const valueOk = paramId === "fast" ? paramValue === "true" || paramValue === "false" : LEVELS.has(paramValue);
39
+ if (!valueOk)
40
+ invalid(`invalid argument: ${where} param ${JSON.stringify(paramId)} bad value`);
41
+ seen.add(paramId);
42
+ params.push({ id: paramId, value: paramValue });
43
+ }
44
+ if (!seen.has(effortId) || !seen.has("fast")) {
45
+ invalid(`invalid argument: ${where} requires params ${effortId} and fast`);
46
+ }
47
+ return { id, params };
48
+ }
49
+ export function modelConfigForDryRun(modelConfig, dryRun) {
50
+ if (modelConfig === undefined)
51
+ return undefined;
52
+ if (dryRun !== true)
53
+ invalid(MODEL_CONFIG_REQUIRES_DRY_RUN);
54
+ if (!isRecord(modelConfig)) {
55
+ invalid("invalid argument: modelConfig must be { model, fallbacks? }");
56
+ }
57
+ const model = setting(modelConfig.model, "modelConfig.model");
58
+ const fallbacks = modelConfig.fallbacks;
59
+ if (fallbacks === undefined)
60
+ return { model, fallbacks: [] };
61
+ if (!Array.isArray(fallbacks))
62
+ invalid("invalid argument: modelConfig.fallbacks must be an array");
63
+ return {
64
+ model,
65
+ fallbacks: fallbacks.map((item, i) => setting(item, `modelConfig.fallbacks[${i}]`)),
66
+ };
67
+ }
@@ -9,6 +9,9 @@
9
9
  * server URL. Cloud-runtime turns run on a VM that cannot reach loopback,
10
10
  * so they use the serve `publicUrl` when configured — and omit the peer
11
11
  * (with a startup warning) when it is not.
12
+ *
13
+ * A single-agent serve has no peers mounted beside it. Given a peers URL,
14
+ * it resolves every peer there for both runtimes instead of omitting them.
12
15
  */
13
16
  import { type AgentProject } from "../types.js";
14
17
  import type { EngineResolvedConnection } from "./session-engine.js";
@@ -21,17 +24,19 @@ export interface PeerConnectionRef {
21
24
  }
22
25
  /** Every peer connection an agent declares, host connections included. */
23
26
  export declare function peerConnectionRefs(project: AgentProject): PeerConnectionRef[];
27
+ /** Deploy slugs of every peer an agent declares, deduped and sorted. */
28
+ export declare function peerDeploySlugs(project: AgentProject): string[];
24
29
  /**
25
30
  * Validate every peer MCP connection across `mounts` and return them grouped by
26
31
  * the referencing mount's slug. Throws on references to unknown slugs and on
27
32
  * self-references (an agent asking itself recurses forever). A single-mode
28
- * serve, as on every hosted deploy, mounts no other agents, so its peers are
29
- * omitted with a warning instead of failing boot.
33
+ * serve mounts no other agents: with a `peersUrl` its peers resolve there,
34
+ * and without one they are omitted with a warning instead of failing boot.
30
35
  */
31
36
  export declare function collectPeerConnections(mounts: Array<{
32
37
  slug: string;
33
38
  project: AgentProject;
34
- }>, logger: (line: string) => void): Map<string, PeerConnectionRef[]>;
39
+ }>, logger: (line: string) => void, peersUrl?: string): Map<string, PeerConnectionRef[]>;
35
40
  /**
36
41
  * Resolve validated peer refs to concrete MCP URLs once the server is
37
42
  * listening. `serverUrl` is the loopback base (`http://127.0.0.1:<port>`);
@@ -45,4 +50,14 @@ export declare function resolvePeerConnections(args: {
45
50
  publicUrl?: string;
46
51
  authToken?: string;
47
52
  }): EngineResolvedConnection[];
53
+ /**
54
+ * Resolve a single-agent serve's peers against a host that serves each agent
55
+ * at `<peersUrl>/<slug>/v1/mcp`. Local and cloud turns share the URL. The
56
+ * bearer is the Cursor API key bound to this host, expanded each time a
57
+ * client opens, so a key bound after listen still authenticates.
58
+ */
59
+ export declare function resolveHostedPeerConnections(args: {
60
+ refs: PeerConnectionRef[];
61
+ peersUrl: string;
62
+ }): EngineResolvedConnection[];
48
63
  //# sourceMappingURL=peer-connections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"peer-connections.d.ts","sourceRoot":"","sources":["../../src/internal/peer-connections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAK7E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,EACtD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC7B,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAgClC;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,wBAAwB,EAAE,CAa7B"}
1
+ {"version":3,"file":"peer-connections.d.ts","sourceRoot":"","sources":["../../src/internal/peer-connections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAK7E;AAUD,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAG/D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,EACtD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAyClC;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,wBAAwB,EAAE,CAa7B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,wBAAwB,EAAE,CAW7B"}
@@ -9,6 +9,9 @@
9
9
  * server URL. Cloud-runtime turns run on a VM that cannot reach loopback,
10
10
  * so they use the serve `publicUrl` when configured — and omit the peer
11
11
  * (with a startup warning) when it is not.
12
+ *
13
+ * A single-agent serve has no peers mounted beside it. Given a peers URL,
14
+ * it resolves every peer there for both runtimes instead of omitting them.
12
15
  */
13
16
  import { isPeerConnectionTransport } from "../types.js";
14
17
  import { MCP_ENDPOINT_PATH } from "./mcp-endpoint.js";
@@ -16,22 +19,41 @@ import { MCP_ENDPOINT_PATH } from "./mcp-endpoint.js";
16
19
  export function peerConnectionRefs(project) {
17
20
  return [...project.agent.connections, ...(project.agent.hostConnections ?? [])].flatMap(({ name, transport }) => isPeerConnectionTransport(transport) ? [{ name, targetSlug: transport.agent }] : []);
18
21
  }
22
+ /**
23
+ * The slug a deployed peer answers to. `bdk deploy` lowercases directory
24
+ * names into slugs, so `{ agent: "Builder" }` names the `builder` deployment.
25
+ */
26
+ function peerDeploySlug(targetSlug) {
27
+ return targetSlug.toLowerCase();
28
+ }
29
+ /** Deploy slugs of every peer an agent declares, deduped and sorted. */
30
+ export function peerDeploySlugs(project) {
31
+ const slugs = peerConnectionRefs(project).map(({ targetSlug }) => peerDeploySlug(targetSlug));
32
+ return [...new Set(slugs)].sort();
33
+ }
19
34
  /**
20
35
  * Validate every peer MCP connection across `mounts` and return them grouped by
21
36
  * the referencing mount's slug. Throws on references to unknown slugs and on
22
37
  * self-references (an agent asking itself recurses forever). A single-mode
23
- * serve, as on every hosted deploy, mounts no other agents, so its peers are
24
- * omitted with a warning instead of failing boot.
38
+ * serve mounts no other agents: with a `peersUrl` its peers resolve there,
39
+ * and without one they are omitted with a warning instead of failing boot.
25
40
  */
26
- export function collectPeerConnections(mounts, logger) {
41
+ export function collectPeerConnections(mounts, logger, peersUrl) {
27
42
  const [solo] = mounts;
28
43
  if (mounts.length === 1 && solo?.slug === "") {
29
- const names = peerConnectionRefs(solo.project).map(({ name }) => name);
30
- if (names.length > 0) {
31
- logger(`[bdk] warning: agent "${solo.project.name}" has peer MCP connections (${names.join(", ")}) but --mode single mounts no other agents, so they are omitted; peers resolve only in multi-agent serve.`);
44
+ const refs = peerConnectionRefs(solo.project);
45
+ if (refs.length === 0) {
46
+ return new Map();
32
47
  }
48
+ if (peersUrl !== undefined) {
49
+ return new Map([["", refs]]);
50
+ }
51
+ logger(`[bdk] warning: agent "${solo.project.name}" has peer MCP connections (${refs.map(({ name }) => name).join(", ")}) but --mode single mounts no other agents, so they are omitted; peers resolve only in multi-agent serve.`);
33
52
  return new Map();
34
53
  }
54
+ if (peersUrl !== undefined) {
55
+ throw new Error("--peers-url resolves the peers of a single-agent serve (--mode single); a multi-agent serve resolves them among its mounted agents.");
56
+ }
35
57
  const knownSlugs = new Set(mounts.map(({ slug }) => slug));
36
58
  const bySlug = new Map();
37
59
  for (const { slug, project } of mounts) {
@@ -70,6 +92,24 @@ export function resolvePeerConnections(args) {
70
92
  ...(headers === undefined ? {} : { headers }),
71
93
  }));
72
94
  }
95
+ /**
96
+ * Resolve a single-agent serve's peers against a host that serves each agent
97
+ * at `<peersUrl>/<slug>/v1/mcp`. Local and cloud turns share the URL. The
98
+ * bearer is the Cursor API key bound to this host, expanded each time a
99
+ * client opens, so a key bound after listen still authenticates.
100
+ */
101
+ export function resolveHostedPeerConnections(args) {
102
+ const base = trimTrailingSlash(args.peersUrl);
103
+ return args.refs.map((ref) => {
104
+ const url = `${base}/${peerDeploySlug(ref.targetSlug)}${MCP_ENDPOINT_PATH}`;
105
+ return {
106
+ name: ref.name,
107
+ localUrl: url,
108
+ cloudUrl: url,
109
+ headers: { authorization: "Bearer ${CURSOR_API_KEY}" },
110
+ };
111
+ });
112
+ }
73
113
  function trimTrailingSlash(url) {
74
114
  return url.endsWith("/") ? url.slice(0, -1) : url;
75
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request-error-status.d.ts","sourceRoot":"","sources":["../../src/internal/request-error-status.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AAGvC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,2BAA2B,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CA8DpF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAElE"}
1
+ {"version":3,"file":"request-error-status.d.ts","sourceRoot":"","sources":["../../src/internal/request-error-status.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,+BAA+B,CAAC;AAIvC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,2BAA2B,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAkEpF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAElE"}
@@ -3,6 +3,7 @@ import { InvalidAsOfError, VacuousTimeArgsError } from "./as-of.js";
3
3
  import { V2EngineError } from "./continuation-identity.js";
4
4
  import { GUEST_CONNECT_STALLED, GUEST_NETWORK_UNAVAILABLE, GuestNetworkUnavailableError, hasGuestNetworkErrno, isQuietGuestConnectStall, } from "./guest-network.js";
5
5
  import { HOSTED_GUEST_RETRY_TERMINAL, HOSTED_GUEST_RETRY_TRANSIENT, } from "./hosted-delivery-protocol.js";
6
+ import { InvalidModelConfigError } from "./model-config.js";
6
7
  import { SessionAuthError, SessionBusyError } from "./session-engine.js";
7
8
  /**
8
9
  * Expected throw → HTTP mapping used by `handleRequest` and hosted flush.
@@ -41,7 +42,9 @@ export function mapThrownRequestError(error) {
41
42
  retry: HOSTED_GUEST_RETRY_TERMINAL,
42
43
  };
43
44
  }
44
- if (error instanceof InvalidAsOfError || error instanceof VacuousTimeArgsError) {
45
+ if (error instanceof InvalidAsOfError ||
46
+ error instanceof VacuousTimeArgsError ||
47
+ error instanceof InvalidModelConfigError) {
45
48
  return {
46
49
  status: 400,
47
50
  code: "invalid_request",
@@ -4,7 +4,8 @@
4
4
  * account bridge — resolve to concrete URLs and join the engine's
5
5
  * resolved-connection set. Local turns call both over loopback; cloud
6
6
  * turns use the serve `publicUrl` for peers and the account's native
7
- * connectors instead of the bridge.
7
+ * connectors instead of the bridge. A single-agent serve with a peers URL
8
+ * reaches its peers there from both runtimes.
8
9
  */
9
10
  import { type AgentProject } from "../types.js";
10
11
  import { type CursorAccountConnectionRef, type CursorAccountMcpBridge } from "./cursor/account-mcp.js";
@@ -55,6 +56,8 @@ export declare function resolveMountConnections(args: {
55
56
  accountBridge?: CursorAccountMcpBridge;
56
57
  publicUrl?: string;
57
58
  authToken?: string;
59
+ /** Resolves `peerRefs` on another host; see `resolveHostedPeerConnections`. */
60
+ peersUrl?: string;
58
61
  /** See {@link validateMountConnectionsConfig}. */
59
62
  cloudToolsBridge?: boolean;
60
63
  logger: (line: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-connections.d.ts","sourceRoot":"","sources":["../../src/internal/resolved-connections.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAE5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,iBAAiB,EAA0B,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,IAAI,CA0BP;AAED,qEAAqE;AACrE,wBAAgB,wCAAwC,CAAC,IAAI,EAAE;IAC7D,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,mBAAmB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzD;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpC,GAAG,IAAI,CAoBP;AAED,iFAAiF;AACjF,wBAAgB,oCAAoC,CAAC,IAAI,EAAE;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,qBAAqB,EAAE,OAAO,CAAC;CAChC,GAAG,IAAI,CAUP;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,GAAG,wBAAwB,EAAE,CAgE7B"}
1
+ {"version":3,"file":"resolved-connections.d.ts","sourceRoot":"","sources":["../../src/internal/resolved-connections.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAE5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,IAAI,CA0BP;AAED,qEAAqE;AACrE,wBAAgB,wCAAwC,CAAC,IAAI,EAAE;IAC7D,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,mBAAmB,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzD;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpC,GAAG,IAAI,CAoBP;AAED,iFAAiF;AACjF,wBAAgB,oCAAoC,CAAC,IAAI,EAAE;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,qBAAqB,EAAE,OAAO,CAAC;CAChC,GAAG,IAAI,CAUP;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,GAAG,wBAAwB,EAAE,CAmE7B"}