@cursor/bdk 0.2.2 → 0.2.3

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 (284) hide show
  1. package/AGENTS.md +1 -1
  2. package/dist/bin/agent-serve.js +23 -7
  3. package/dist/channels/github/auth.d.ts.map +1 -1
  4. package/dist/channels/github/auth.js +36 -5
  5. package/dist/connections.d.ts +1 -1
  6. package/dist/connections.js +1 -1
  7. package/dist/docs/404.html +2 -2
  8. package/dist/docs/assets/{app.DtYVVVyK.js → app.BOIHhrKi.js} +4 -4
  9. package/dist/docs/assets/chunks/@localSearchIndexroot.D5L-b34G.js +1 -0
  10. package/dist/docs/assets/chunks/{VPLocalSearchBox.D47xT7J4.js → VPLocalSearchBox.D49zVZqM.js} +1 -1
  11. package/dist/docs/assets/chunks/{arc.CDJ6xzxR.js → arc.hmjb-sc4.js} +1 -1
  12. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.l1Xnjd3N.js → architectureDiagram-Q4EWVU46.CxEI1KqM.js} +1 -1
  13. package/dist/docs/assets/chunks/{baseUniq.x-finShZ.js → baseUniq.DHHvBWoV.js} +1 -1
  14. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.COC3qynH.js → blockDiagram-DXYQGD6D.DnXW-3bu.js} +1 -1
  15. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.DdQO850E.js → c4Diagram-AHTNJAMY.e-47O2jM.js} +1 -1
  16. package/dist/docs/assets/chunks/channel.BbOGaJQP.js +1 -0
  17. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.Dpn8omLk.js → chunk-4BX2VUAB.3ry4pYXB.js} +1 -1
  18. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.C0XWStUN.js → chunk-4TB4RGXK.DGIZFRx6.js} +1 -1
  19. package/dist/docs/assets/chunks/{chunk-55IACEB6.DsKSZfIM.js → chunk-55IACEB6.DKBnqg9U.js} +1 -1
  20. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.dNU6JDu6.js → chunk-EDXVE4YY.BIU8Ue5k.js} +1 -1
  21. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DN41fxKE.js → chunk-FMBD7UC4.DP-TFhjI.js} +1 -1
  22. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.COpKCZus.js → chunk-OYMX7WX6.Ux0OYj5v.js} +1 -1
  23. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.HDB-azx2.js → chunk-QZHKN3VN.BzHMwYox.js} +1 -1
  24. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DEeX_a2j.js → chunk-YZCP3GAM.D4OGAsSP.js} +1 -1
  25. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Db58HCb1.js +1 -0
  26. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Db58HCb1.js +1 -0
  27. package/dist/docs/assets/chunks/clone.Co4MBflG.js +1 -0
  28. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.C3yGL2A8.js → cose-bilkent-S5V4N54A.Jq_7BUNx.js} +1 -1
  29. package/dist/docs/assets/chunks/{dagre-KV5264BT.Bpl24en4.js → dagre-KV5264BT.Di-skR2x.js} +1 -1
  30. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.nFco6seU.js → diagram-5BDNPKRD.DeREHIdH.js} +1 -1
  31. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DXhA6DWR.js → diagram-G4DWMVQ6.C7Kcqxro.js} +1 -1
  32. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.8GoOYcwk.js → diagram-MMDJMWI5.BK3eohyo.js} +1 -1
  33. package/dist/docs/assets/chunks/{diagram-TYMM5635.DDBlqvlJ.js → diagram-TYMM5635.C6TyymXT.js} +1 -1
  34. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.vl_N81P4.js → erDiagram-SMLLAGMA.DYGG-gGx.js} +1 -1
  35. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.Cteg8g7I.js → flowDiagram-DWJPFMVM.C9nBcSV4.js} +1 -1
  36. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.D4aMhlMM.js → ganttDiagram-T4ZO3ILL.wAg_ymsp.js} +1 -1
  37. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DF_J0D4q.js → gitGraphDiagram-UUTBAWPF.B87j9Oeg.js} +1 -1
  38. package/dist/docs/assets/chunks/{graph.DJs0LDCf.js → graph.CuFMj31w.js} +1 -1
  39. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Bb-4RQwg.js → infoDiagram-42DDH7IO.P_mLGumP.js} +1 -1
  40. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DEtQRSbc.js → ishikawaDiagram-UXIWVN3A.DyuL_MsT.js} +1 -1
  41. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.DhQQ75FA.js → journeyDiagram-VCZTEJTY.CtP09IoJ.js} +1 -1
  42. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.C4gEw3Rk.js → kanban-definition-6JOO6SKY.BoeSYPZo.js} +1 -1
  43. package/dist/docs/assets/chunks/{layout.DT-PGlXa.js → layout.B0lMMtNo.js} +1 -1
  44. package/dist/docs/assets/chunks/{linear.BMMe__JW.js → linear.HxRBiAFX.js} +1 -1
  45. package/dist/docs/assets/chunks/{min.XyaU9K9Q.js → min.BGlFFHwS.js} +1 -1
  46. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.CbBM6xZ-.js → mindmap-definition-QFDTVHPH.JyLBD9M8.js} +1 -1
  47. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.DFJoIVou.js → pieDiagram-DEJITSTG.DnSmNZF8.js} +1 -1
  48. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CQjkDYqb.js → quadrantDiagram-34T5L4WZ.CUCnbfCa.js} +1 -1
  49. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.D-mK-JQu.js → requirementDiagram-MS252O5E.py0IVUn5.js} +1 -1
  50. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BStQInpd.js → sankeyDiagram-XADWPNL6.Bkc-HWYp.js} +1 -1
  51. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.CA_eooPJ.js → sequenceDiagram-FGHM5R23.Dqn8Mlv2.js} +1 -1
  52. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.BXl-b7ad.js → stateDiagram-FHFEXIEX.JikkoQUU.js} +1 -1
  53. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CMsKhrW0.js +1 -0
  54. package/dist/docs/assets/chunks/{theme.q37tOs4x.js → theme.b6HQ6zG_.js} +2 -2
  55. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.vjuaGOSe.js → timeline-definition-GMOUNBTQ.BvpSXiBj.js} +1 -1
  56. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BxduJl-F.js → vennDiagram-DHZGUBPP.CU7MVnZx.js} +1 -1
  57. package/dist/docs/assets/chunks/wardley-RL74JXVD.BKwC4ctG.js +162 -0
  58. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.D1z3ds0D.js → wardleyDiagram-NUSXRM2D.BfaF6Uhe.js} +1 -1
  59. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CRU5Ti9b.js → xychartDiagram-5P7HB3ND.Bg5dcpj4.js} +1 -1
  60. package/dist/docs/assets/{deployment.md.nGo1yIsa.js → deployment.md.BJ8i7Q6p.js} +5 -8
  61. package/dist/docs/assets/{deployment.md.nGo1yIsa.lean.js → deployment.md.BJ8i7Q6p.lean.js} +1 -1
  62. package/dist/docs/assets/{guides_github.md.C2_DSWlE.js → guides_github.md.Bq9kQU9B.js} +9 -3
  63. package/dist/docs/assets/{guides_github.md.C2_DSWlE.lean.js → guides_github.md.Bq9kQU9B.lean.js} +1 -1
  64. package/dist/docs/assets/{guides_slack.md.ZbHQETOT.js → guides_slack.md.diqqXTTm.js} +2 -2
  65. package/dist/docs/assets/{guides_slack.md.ZbHQETOT.lean.js → guides_slack.md.diqqXTTm.lean.js} +1 -1
  66. package/dist/docs/assets/{quickstart.md.wG4shE1f.js → quickstart.md.CHpHPBUN.js} +5 -3
  67. package/dist/docs/assets/{quickstart.md.wG4shE1f.lean.js → quickstart.md.CHpHPBUN.lean.js} +1 -1
  68. package/dist/docs/assets/{reference_artifacts.md.CFMNPreZ.js → reference_artifacts.md.CQfKq8F2.js} +1 -1
  69. package/dist/docs/assets/reference_cli.md.DgeLTO18.js +91 -0
  70. package/dist/docs/assets/reference_cli.md.DgeLTO18.lean.js +1 -0
  71. package/dist/docs/assets/{reference_connections.md._XpKiOaF.js → reference_connections.md.COq--gAm.js} +7 -3
  72. package/dist/docs/assets/{reference_connections.md._XpKiOaF.lean.js → reference_connections.md.COq--gAm.lean.js} +1 -1
  73. package/dist/docs/assets/{reference_evals.md.DqNyHMA6.js → reference_evals.md.CJm3uCUm.js} +4 -4
  74. package/dist/docs/assets/{reference_evals.md.DqNyHMA6.lean.js → reference_evals.md.CJm3uCUm.lean.js} +1 -1
  75. package/dist/docs/assets/{reference_skills.md.CRFTxt9M.js → reference_skills.md.Cy00QMKS.js} +3 -3
  76. package/dist/docs/assets/{reference_skills.md.CRFTxt9M.lean.js → reference_skills.md.Cy00QMKS.lean.js} +1 -1
  77. package/dist/docs/assets/troubleshooting.md.Cw5PKa3t.js +1 -0
  78. package/dist/docs/assets/{troubleshooting.md.BzZSu1Gz.lean.js → troubleshooting.md.Cw5PKa3t.lean.js} +1 -1
  79. package/dist/docs/building-with-agents.html +35 -35
  80. package/dist/docs/deployment.html +40 -43
  81. package/dist/docs/deployment.md +45 -15
  82. package/dist/docs/evals.html +35 -35
  83. package/dist/docs/guides/agent-to-agent.html +35 -35
  84. package/dist/docs/guides/bitbucket.html +35 -35
  85. package/dist/docs/guides/cloud-agents.html +35 -35
  86. package/dist/docs/guides/convert-automation.html +35 -35
  87. package/dist/docs/guides/github.html +43 -37
  88. package/dist/docs/guides/github.md +34 -0
  89. package/dist/docs/guides/gitlab.html +35 -35
  90. package/dist/docs/guides/grokbot-agents.html +35 -35
  91. package/dist/docs/guides/hooks.html +35 -35
  92. package/dist/docs/guides/improve.html +35 -35
  93. package/dist/docs/guides/jev.html +35 -35
  94. package/dist/docs/guides/mcp-oauth.html +35 -35
  95. package/dist/docs/guides/opentelemetry.html +35 -35
  96. package/dist/docs/guides/slack.html +37 -37
  97. package/dist/docs/guides/slack.md +5 -0
  98. package/dist/docs/guides/webhooks.html +35 -35
  99. package/dist/docs/hashmap.json +1 -1
  100. package/dist/docs/hillclimbing.html +35 -35
  101. package/dist/docs/index.html +35 -35
  102. package/dist/docs/llms-full.txt +198 -92
  103. package/dist/docs/quickstart.html +40 -38
  104. package/dist/docs/quickstart.md +7 -1
  105. package/dist/docs/reference/agent-config.html +35 -35
  106. package/dist/docs/reference/artifacts.html +37 -37
  107. package/dist/docs/reference/artifacts.md +1 -1
  108. package/dist/docs/reference/channels.html +35 -35
  109. package/dist/docs/reference/cli.html +55 -61
  110. package/dist/docs/reference/cli.md +65 -63
  111. package/dist/docs/reference/connections.html +42 -38
  112. package/dist/docs/reference/connections.md +28 -2
  113. package/dist/docs/reference/evals.html +39 -39
  114. package/dist/docs/reference/evals.md +6 -7
  115. package/dist/docs/reference/extensions.html +35 -35
  116. package/dist/docs/reference/hooks.html +35 -35
  117. package/dist/docs/reference/http-api.html +35 -35
  118. package/dist/docs/reference/instructions.html +35 -35
  119. package/dist/docs/reference/playground.html +35 -35
  120. package/dist/docs/reference/project-layout.html +35 -35
  121. package/dist/docs/reference/prompt.html +35 -35
  122. package/dist/docs/reference/schedules.html +35 -35
  123. package/dist/docs/reference/sessions.html +35 -35
  124. package/dist/docs/reference/skills.html +38 -38
  125. package/dist/docs/reference/subagents.html +35 -35
  126. package/dist/docs/reference/tools.html +35 -35
  127. package/dist/docs/templates/agentic-owners.html +35 -35
  128. package/dist/docs/templates/security-reviewer.html +35 -35
  129. package/dist/docs/templates/thermo-quality-review.html +35 -35
  130. package/dist/docs/templates/thermo-review.html +35 -35
  131. package/dist/docs/templates/triage.html +35 -35
  132. package/dist/docs/troubleshooting.html +36 -36
  133. package/dist/docs/troubleshooting.md +7 -3
  134. package/dist/extensions/cursor-grokbot-agents/extension.d.ts +77 -0
  135. package/dist/extensions/cursor-grokbot-agents/extension.d.ts.map +1 -0
  136. package/dist/extensions/cursor-grokbot-agents/extension.js +63 -0
  137. package/dist/extensions/cursor-grokbot-agents/lib/agents.d.ts +11 -0
  138. package/dist/extensions/cursor-grokbot-agents/lib/agents.d.ts.map +1 -0
  139. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +31 -0
  140. package/dist/extensions/cursor-grokbot-agents/lib/backend.d.ts +56 -0
  141. package/dist/extensions/cursor-grokbot-agents/lib/backend.d.ts.map +1 -0
  142. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +158 -0
  143. package/dist/extensions/cursor-grokbot-agents/lib/contacts.d.ts +28 -0
  144. package/dist/extensions/cursor-grokbot-agents/lib/contacts.d.ts.map +1 -0
  145. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +59 -0
  146. package/dist/extensions/cursor-grokbot-agents/lib/conversation.d.ts +53 -0
  147. package/dist/extensions/cursor-grokbot-agents/lib/conversation.d.ts.map +1 -0
  148. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +206 -0
  149. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +4 -0
  150. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -0
  151. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +15 -0
  152. package/dist/extensions/cursor-grokbot-agents/lib/lock.d.ts +12 -0
  153. package/dist/extensions/cursor-grokbot-agents/lib/lock.d.ts.map +1 -0
  154. package/dist/extensions/cursor-grokbot-agents/lib/lock.js +25 -0
  155. package/dist/extensions/cursor-grokbot-agents/skills/consult.md +40 -0
  156. package/dist/extensions/cursor-grokbot-agents/tools/ask.d.ts +4 -0
  157. package/dist/extensions/cursor-grokbot-agents/tools/ask.d.ts.map +1 -0
  158. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +37 -0
  159. package/dist/extensions/cursor-grokbot-agents/tools/check.d.ts +4 -0
  160. package/dist/extensions/cursor-grokbot-agents/tools/check.d.ts.map +1 -0
  161. package/dist/extensions/cursor-grokbot-agents/tools/check.js +32 -0
  162. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.d.ts +4 -0
  163. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.d.ts.map +1 -0
  164. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +24 -0
  165. package/dist/extensions/cursor-grokbot-agents/tools/list.d.ts +4 -0
  166. package/dist/extensions/cursor-grokbot-agents/tools/list.d.ts.map +1 -0
  167. package/dist/extensions/cursor-grokbot-agents/tools/list.js +34 -0
  168. package/dist/internal/cli-ax.d.ts +1 -0
  169. package/dist/internal/cli-ax.d.ts.map +1 -1
  170. package/dist/internal/cli-ax.js +43 -10
  171. package/dist/internal/cli-deploy.d.ts +5 -1
  172. package/dist/internal/cli-deploy.d.ts.map +1 -1
  173. package/dist/internal/cli-deploy.js +22 -4
  174. package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
  175. package/dist/internal/cli-mcp-oauth.js +2 -1
  176. package/dist/internal/cli-skills.d.ts +1 -1
  177. package/dist/internal/cli-skills.d.ts.map +1 -1
  178. package/dist/internal/cli-skills.js +5 -5
  179. package/dist/internal/connection-env.d.ts +31 -0
  180. package/dist/internal/connection-env.d.ts.map +1 -0
  181. package/dist/internal/connection-env.js +84 -0
  182. package/dist/internal/cursor/backend-client.js +5 -0
  183. package/dist/internal/deploy-client.d.ts +30 -6
  184. package/dist/internal/deploy-client.d.ts.map +1 -1
  185. package/dist/internal/deploy-client.js +45 -9
  186. package/dist/internal/discovery/connections.d.ts.map +1 -1
  187. package/dist/internal/discovery/connections.js +11 -0
  188. package/dist/internal/hosted-delivery-protocol.d.ts +36 -11
  189. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  190. package/dist/internal/hosted-delivery-protocol.js +31 -8
  191. package/dist/internal/hosted-delivery.d.ts +2 -2
  192. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  193. package/dist/internal/hosted-delivery.js +228 -48
  194. package/dist/internal/hosting.d.ts +2 -2
  195. package/dist/internal/hosting.d.ts.map +1 -1
  196. package/dist/internal/hosting.js +9 -3
  197. package/dist/internal/install-cursor-skills.d.ts +20 -24
  198. package/dist/internal/install-cursor-skills.d.ts.map +1 -1
  199. package/dist/internal/install-cursor-skills.js +50 -48
  200. package/dist/internal/legacy-command-guard.d.ts +2 -0
  201. package/dist/internal/legacy-command-guard.d.ts.map +1 -1
  202. package/dist/internal/legacy-command-guard.js +10 -1
  203. package/dist/internal/mcp-host.d.ts +6 -0
  204. package/dist/internal/mcp-host.d.ts.map +1 -1
  205. package/dist/internal/mcp-host.js +35 -16
  206. package/dist/internal/sdk-runner.d.ts +2 -0
  207. package/dist/internal/sdk-runner.d.ts.map +1 -1
  208. package/dist/internal/sdk-runner.js +10 -0
  209. package/dist/internal/server.d.ts.map +1 -1
  210. package/dist/internal/server.js +11 -1
  211. package/dist/internal/session-engine.d.ts.map +1 -1
  212. package/dist/internal/session-engine.js +9 -5
  213. package/dist/types.d.ts +11 -1
  214. package/dist/types.d.ts.map +1 -1
  215. package/docs/deployment.md +45 -15
  216. package/docs/guides/github.md +34 -0
  217. package/docs/guides/slack.md +5 -0
  218. package/docs/quickstart.md +7 -1
  219. package/docs/reference/artifacts.md +1 -1
  220. package/docs/reference/cli.md +65 -63
  221. package/docs/reference/connections.md +28 -2
  222. package/docs/reference/evals.md +6 -7
  223. package/docs/troubleshooting.md +7 -3
  224. package/package.json +1 -3
  225. package/scripts/install-cursor-skills.mjs +1 -1
  226. package/skills/create-agent/SKILL.md +1 -1
  227. package/skills/debug/SKILL.md +1 -1
  228. package/skills/deploy/SKILL.md +1 -1
  229. package/skills/evals/SKILL.md +1 -1
  230. package/skills/framework-map/SKILL.md +1 -1
  231. package/skills/github/SKILL.md +1 -1
  232. package/skills/hillclimb/SKILL.md +1 -1
  233. package/skills/mcp-auth/SKILL.md +1 -1
  234. package/skills/otel/SKILL.md +1 -1
  235. package/skills/setup-slack/SKILL.md +1 -1
  236. package/src/bin/agent-serve.ts +27 -6
  237. package/src/channels/github/auth.ts +44 -5
  238. package/src/connections.ts +1 -1
  239. package/src/extensions/cursor-grokbot-agents/extension.ts +132 -0
  240. package/src/extensions/cursor-grokbot-agents/lib/agents.ts +42 -0
  241. package/src/extensions/cursor-grokbot-agents/lib/backend.ts +208 -0
  242. package/src/extensions/cursor-grokbot-agents/lib/contacts.ts +74 -0
  243. package/src/extensions/cursor-grokbot-agents/lib/conversation.ts +260 -0
  244. package/src/extensions/cursor-grokbot-agents/lib/inputs.ts +21 -0
  245. package/src/extensions/cursor-grokbot-agents/lib/lock.ts +26 -0
  246. package/src/extensions/cursor-grokbot-agents/skills/consult.md +40 -0
  247. package/src/extensions/cursor-grokbot-agents/tools/ask.ts +32 -0
  248. package/src/extensions/cursor-grokbot-agents/tools/check.ts +25 -0
  249. package/src/extensions/cursor-grokbot-agents/tools/interrupt.ts +17 -0
  250. package/src/extensions/cursor-grokbot-agents/tools/list.ts +26 -0
  251. package/src/internal/cli-ax.ts +52 -7
  252. package/src/internal/cli-deploy.ts +39 -6
  253. package/src/internal/cli-mcp-oauth.ts +2 -1
  254. package/src/internal/cli-skills.ts +4 -5
  255. package/src/internal/connection-env.ts +106 -0
  256. package/src/internal/cursor/backend-client.ts +6 -0
  257. package/src/internal/deploy-client.ts +79 -9
  258. package/src/internal/discovery/connections.ts +11 -0
  259. package/src/internal/hosted-delivery-protocol.ts +57 -20
  260. package/src/internal/hosted-delivery.ts +486 -228
  261. package/src/internal/hosting.ts +10 -3
  262. package/src/internal/install-cursor-skills.ts +56 -53
  263. package/src/internal/legacy-command-guard.ts +13 -1
  264. package/src/internal/mcp-host.ts +45 -17
  265. package/src/internal/sdk-runner.ts +11 -0
  266. package/src/internal/server.ts +13 -1
  267. package/src/internal/session-engine.ts +9 -5
  268. package/src/types.ts +11 -1
  269. package/templates/agents-md/bot/lib/collect.ts +1 -4
  270. package/templates/code-wiki/bot/channels/github.ts +2 -2
  271. package/templates/demo/bot/channels/github.ts +5 -1
  272. package/templates/pr-autofixer/bot/lib/start-drive.ts +4 -4
  273. package/templates/triage/bot/lib/types.ts +6 -6
  274. package/dist/docs/assets/chunks/@localSearchIndexroot.BgTA2tV1.js +0 -1
  275. package/dist/docs/assets/chunks/channel.B2nMEx82.js +0 -1
  276. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.D8iCH2ve.js +0 -1
  277. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.D8iCH2ve.js +0 -1
  278. package/dist/docs/assets/chunks/clone.5XNLjby0.js +0 -1
  279. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.yGM2uLZQ.js +0 -1
  280. package/dist/docs/assets/chunks/wardley-RL74JXVD.DKfyIejL.js +0 -162
  281. package/dist/docs/assets/reference_cli.md.BK2QUH67.js +0 -97
  282. package/dist/docs/assets/reference_cli.md.BK2QUH67.lean.js +0 -1
  283. package/dist/docs/assets/troubleshooting.md.BzZSu1Gz.js +0 -1
  284. /package/dist/docs/assets/{reference_artifacts.md.CFMNPreZ.lean.js → reference_artifacts.md.CQfKq8F2.lean.js} +0 -0
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Per-key chaining of async work. `host.kv` has no compare-and-swap, and a
3
+ * model that talks to two agents in one turn calls these tools in parallel,
4
+ * so read-modify-writes of one principal's records queue up here. The same
5
+ * chain keeps one hosted agent's sends and reads from interleaving within
6
+ * this process, so a reply attributes to the message that prompted it.
7
+ */
8
+ export class KeyedLock {
9
+ constructor() {
10
+ this.chains = new Map();
11
+ }
12
+ run(key, task) {
13
+ var _a;
14
+ const previous = (_a = this.chains.get(key)) !== null && _a !== void 0 ? _a : Promise.resolve();
15
+ const run = previous.then(task, task);
16
+ const settled = run.then(() => undefined, () => undefined);
17
+ this.chains.set(key, settled);
18
+ void settled.then(() => {
19
+ if (this.chains.get(key) === settled) {
20
+ this.chains.delete(key);
21
+ }
22
+ });
23
+ return run;
24
+ }
25
+ }
@@ -0,0 +1,40 @@
1
+ ---
2
+ description: "Talk to your Grok Bot agents: when to bring one in, how to write a message it can act on alone, and how to wait for, read, and interrupt its reply."
3
+ ---
4
+
5
+ # Consulting a Grok Bot agent
6
+
7
+ Bring a Grok Bot agent in when the person set one up for the job: a specialist with its own instructions, memory, and tools, such as one that decides whether an outdoor plan survives a forecast or one that keeps a household's calendar. Answer questions you can answer yourself.
8
+
9
+ The tools below are this extension's; they appear under its mount namespace, as `<namespace>__ask` and so on. Every agent is addressed by its `agent` name, as it appears in the Grok Bot app. When exactly one agent is configured, `agent` can be omitted.
10
+
11
+ ## Write for a stranger
12
+
13
+ Your message lands in the person's own conversation with that agent, the same one they see in the app. The agent does not see this conversation, your tools, or your earlier results. Say who is asking and why, paste the facts it needs rather than referring to them, and say what you want back and in what shape. One complete message beats a back-and-forth.
14
+
15
+ ## Ask
16
+
17
+ Call `ask` with the `agent` and the `message`. It sends the message and waits up to `wait_seconds` for the agent's turn to finish. The result carries `status`, the `reply` (everything the agent sent back during that turn, in order), and `sessionId`.
18
+
19
+ - `status: "finished"`: the turn is over; `reply` is the whole answer. No `reply` means the agent finished without sending anything.
20
+ - `status: "running"`: the agent is still working. Call `check` with the same `agent` to keep waiting; whatever it had sent so far is already in `reply`.
21
+
22
+ If `earlierReplies` is present, the agent had answered earlier messages that nobody read yet; pass them on when they matter, and do not mistake them for the reply to this message.
23
+
24
+ If `created` is true, no agent of that name existed on the account and an empty one was created. Tell the person and check the spelling before asking it anything else.
25
+
26
+ If `ask` fails because an agent of that name already exists in the Grok Bot app, nothing was created and nothing was sent. Tell the person. Do not invent a different name to get around it.
27
+
28
+ If `ask` refuses because the agent is still working on an earlier message, nothing was sent. If you have already asked that agent, call `check` to read the reply, then ask again; use `interrupt` when the earlier work should stop. On first contact, `check` and `interrupt` cannot address the agent yet, so tell the person it is busy, wait for the existing turn to finish in the Grok Bot app, and retry `ask`.
29
+
30
+ ## Wait for a long reply
31
+
32
+ Call `check` with the `agent`. It returns what the agent has sent since you last read, and `status: "running"` while the turn is still going. Pass `wait_seconds: 0` for a single look. Check when you need the answer, not in a tight loop; a long task can take minutes.
33
+
34
+ ## Interrupt
35
+
36
+ Call `interrupt` with the `agent` to stop its current turn. The agent keeps its conversation, so a later `ask` continues from there.
37
+
38
+ ## Which agents
39
+
40
+ `list` returns the agents configured for you, with what each is for, and the ones you have already asked. Names outside the configured set are refused; with no set configured, any name works, and an unknown name creates an agent.
@@ -0,0 +1,4 @@
1
+ import type { ToolDefinition } from "../../../types.js";
2
+ declare const ask: ToolDefinition;
3
+ export default ask;
4
+ //# sourceMappingURL=ask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-grokbot-agents/tools/ask.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxD,QAAA,MAAM,GAAG,EAAE,cAsBT,CAAC;eAEY,GAAG"}
@@ -0,0 +1,37 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { z } from "zod";
11
+ import { defineTool } from "../../../tools.js";
12
+ import extension from "../extension.js";
13
+ import { ask as askAgent } from "../lib/conversation.js";
14
+ import { agentName, waitSeconds } from "../lib/inputs.js";
15
+ const ask = defineTool({
16
+ description: 'Send a message to one of your Grok Bot agents and wait for its reply. The message lands in your own conversation with that agent, which does not see this one, so include everything it needs. Long turns return status "running": call check to keep waiting.',
17
+ effect: "write",
18
+ needsApproval: () => extension.config.needsApproval,
19
+ inputSchema: z.object({
20
+ agent: agentName,
21
+ message: z
22
+ .string()
23
+ .min(1)
24
+ .describe("What to tell or ask the agent. Self-contained: who is asking, the facts it needs, and what you want back."),
25
+ wait_seconds: waitSeconds,
26
+ }),
27
+ execute(input, ctx) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ return askAgent(ctx, {
30
+ agent: input.agent,
31
+ message: input.message,
32
+ waitSeconds: input.wait_seconds,
33
+ });
34
+ });
35
+ },
36
+ });
37
+ export default ask;
@@ -0,0 +1,4 @@
1
+ import type { ToolDefinition } from "../../../types.js";
2
+ declare const check: ToolDefinition;
3
+ export default check;
4
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-grokbot-agents/tools/check.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,QAAA,MAAM,KAAK,EAAE,cAgBX,CAAC;eAEY,KAAK"}
@@ -0,0 +1,32 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { z } from "zod";
11
+ import { defineTool } from "../../../tools.js";
12
+ import { check as checkAgent } from "../lib/conversation.js";
13
+ import { agentName, waitSeconds } from "../lib/inputs.js";
14
+ const check = defineTool({
15
+ description: 'Wait for, or poll, the reply of a Grok Bot agent you asked: everything it has sent since you last read, and whether it is still working. Returns status "running" to keep waiting; pass wait_seconds 0 for a single look.',
16
+ // Reading advances the caller's cursor, which their other sessions read
17
+ // back, so a dry run answers this instead of running it.
18
+ effect: "write",
19
+ inputSchema: z.object({
20
+ agent: agentName,
21
+ wait_seconds: waitSeconds,
22
+ }),
23
+ execute(input, ctx) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return checkAgent(ctx, {
26
+ agent: input.agent,
27
+ waitSeconds: input.wait_seconds,
28
+ });
29
+ });
30
+ },
31
+ });
32
+ export default check;
@@ -0,0 +1,4 @@
1
+ import type { ToolDefinition } from "../../../types.js";
2
+ declare const interrupt: ToolDefinition;
3
+ export default interrupt;
4
+ //# sourceMappingURL=interrupt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrupt.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-grokbot-agents/tools/interrupt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,QAAA,MAAM,SAAS,EAAE,cAQf,CAAC;eAEY,SAAS"}
@@ -0,0 +1,24 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { z } from "zod";
11
+ import { defineTool } from "../../../tools.js";
12
+ import { interrupt as interruptAgent } from "../lib/conversation.js";
13
+ import { agentName } from "../lib/inputs.js";
14
+ const interrupt = defineTool({
15
+ description: "Stop what a Grok Bot agent you asked is doing right now. It keeps its conversation; ask it again to continue.",
16
+ effect: "write",
17
+ inputSchema: z.object({ agent: agentName }),
18
+ execute(input, ctx) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ return interruptAgent(ctx, { agent: input.agent });
21
+ });
22
+ },
23
+ });
24
+ export default interrupt;
@@ -0,0 +1,4 @@
1
+ import type { ToolDefinition } from "../../../types.js";
2
+ declare const list: ToolDefinition;
3
+ export default list;
4
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-grokbot-agents/tools/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,QAAA,MAAM,IAAI,EAAE,cAiBV,CAAC;eAEY,IAAI"}
@@ -0,0 +1,34 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { z } from "zod";
11
+ import { defineTool } from "../../../tools.js";
12
+ import extension from "../extension.js";
13
+ import { listContacts } from "../lib/contacts.js";
14
+ const list = defineTool({
15
+ description: "List the Grok Bot agents you can talk to: the ones configured for this agent, with what each is for, and the ones you have already asked, most recent first.",
16
+ effect: "read",
17
+ inputSchema: z.object({}),
18
+ execute(_input, ctx) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ var _a;
21
+ const contacts = yield listContacts(ctx);
22
+ return {
23
+ configured: (_a = extension.config.agents) !== null && _a !== void 0 ? _a : [],
24
+ contacted: contacts.map(contact => ({
25
+ name: contact.name,
26
+ sessionId: contact.sessionId,
27
+ firstContactAt: contact.firstContactAt,
28
+ lastContactAt: contact.lastContactAt,
29
+ })),
30
+ };
31
+ });
32
+ },
33
+ });
34
+ export default list;
@@ -203,6 +203,7 @@ export declare function cmdLogs(options: AxCliOptions): Promise<number>;
203
203
  * `sessions` — list sessions on a running (or `--prod` hosted) agent.
204
204
  */
205
205
  export declare function cmdSessions(options: AxCliOptions): Promise<number>;
206
+ export declare const HOSTED_RUNS_LAG_NOTE = "Turn running; runs may lag behind events.";
206
207
  /**
207
208
  * `session <id>` — view a full session (trajectory text by default).
208
209
  * `--json` → trajectory JSON; `--events` (`rawEvents`) → raw event list.
@@ -1 +1 @@
1
- {"version":3,"file":"cli-ax.d.ts","sourceRoot":"","sources":["../../src/internal/cli-ax.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-ax.d.ts","sourceRoot":"","sources":["../../src/internal/cli-ax.ts"],"names":[],"mappings":"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"}
@@ -23,14 +23,14 @@ import { lookupSessionContinuation, runChat } from "./chat-client.js";
23
23
  import { ensureCursorLogin } from "./cli-cursor.js";
24
24
  import { resolveDeployAuth } from "./cli-deploy.js";
25
25
  import { resolveApiKey } from "./cursor/credentials.js";
26
- import { DeployApiError } from "./deploy-client.js";
26
+ import { DeployApiError, } from "./deploy-client.js";
27
27
  import { CLI_COMMAND_NAME, PACKAGE_NAME } from "./distribution.js";
28
28
  import { discoverEvals, filterDiscoveredEvals, runDiscoveredEvals, } from "./eval-runner.js";
29
29
  import { cancelRemoteEvalRun, getRemoteEvalRun, listRemoteEvalRuns, listRemoteEvals, pollRemoteEvalRun, RemoteEvalError, snapshotToEvalRunResults, startRemoteEvalRun, } from "./evals-client.js";
30
30
  import { runTemplateInit } from "./init-interview.js";
31
31
  import { checkInitTarget, formatInitNextSteps, formatInitScaffoldSummary, initNextCommands, initProject, installScaffoldDependencies, linkCliOntoPath, printInitGuide, resolveTemplate, } from "./init-project.js";
32
32
  import { offerInstallCursorSkills } from "./install-cursor-skills.js";
33
- import { rejectV2ForLegacyCommand } from "./legacy-command-guard.js";
33
+ import { rejectV2ForLegacyCommand, v2HostedVerifyHint } from "./legacy-command-guard.js";
34
34
  import { runLogsTail, sanitizeCustomerError } from "./logs-client.js";
35
35
  import { mapPool } from "./map-pool.js";
36
36
  import { openBrowser } from "./open-browser.js";
@@ -531,6 +531,9 @@ function cmdHostedSession(options) {
531
531
  componentKey: trimNonEmpty(options.componentKey),
532
532
  });
533
533
  console.log(JSON.stringify(accepted, null, 2));
534
+ if (accepted.sessionId === undefined) {
535
+ process.stderr.write(`${v2HostedVerifyHint(slug)}\n`);
536
+ }
534
537
  return 0;
535
538
  }
536
539
  catch (error) {
@@ -590,7 +593,14 @@ export function cmdCall(options) {
590
593
  die(`--input must be valid JSON: ${error instanceof Error ? error.message : String(error)}`);
591
594
  }
592
595
  }
593
- const target = yield resolveTarget(options);
596
+ let target;
597
+ try {
598
+ target = yield resolveTarget(options);
599
+ }
600
+ catch (error) {
601
+ process.stderr.write(`${sanitizeCustomerError(error instanceof Error ? error.message : String(error))}\n`);
602
+ return 1;
603
+ }
594
604
  try {
595
605
  const body = { input };
596
606
  if (options.sessionId !== undefined) {
@@ -1543,14 +1553,25 @@ export function cmdSessions(options) {
1543
1553
  }
1544
1554
  });
1545
1555
  }
1546
- function formatHostedSessionRuns(sessionId, runs) {
1547
- var _a;
1548
- var _b, _c;
1556
+ export const HOSTED_RUNS_LAG_NOTE = "Turn running; runs may lag behind events.";
1557
+ function formatHostedSessionRuns(sessionId, runs, events) {
1558
+ var _a, _b, _c, _d;
1559
+ var _e, _f, _g;
1549
1560
  const lines = [`Session ${sessionId}`, `Hosted executions: ${runs.executions.length}`];
1550
1561
  for (const run of runs.executions) {
1551
- const failure = (_c = (_b = (_a = run.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : run.message) !== null && _c !== void 0 ? _c : "";
1562
+ const failure = (_f = (_e = (_a = run.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _e !== void 0 ? _e : run.message) !== null && _f !== void 0 ? _f : "";
1552
1563
  lines.push("", `${run.executionId} ${run.turnStatus} ${run.durationMs}ms ${run.writtenAt} ${failure}`.trimEnd(), ...run.logs.map(log => ` ${log.line}`));
1553
1564
  }
1565
+ const latestType = (_b = events === null || events === void 0 ? void 0 : events.events.at(-1)) === null || _b === void 0 ? void 0 : _b.type;
1566
+ if (events !== undefined && events.events.length > 0) {
1567
+ const latest = latestType === undefined ? "" : ` (latest ${latestType})`;
1568
+ lines.push("", `Events: ${events.events.length}${latest}`);
1569
+ }
1570
+ const turnRunning = ((_c = runs.executions.at(-1)) === null || _c === void 0 ? void 0 : _c.turnStatus) === "running" ||
1571
+ (runs.executions.length === 0 && ((_d = events === null || events === void 0 ? void 0 : events.execution) === null || _d === void 0 ? void 0 : _d.turnStatus) === "running");
1572
+ if (turnRunning && ((_g = events === null || events === void 0 ? void 0 : events.events.length) !== null && _g !== void 0 ? _g : 0) > 0) {
1573
+ lines.push(HOSTED_RUNS_LAG_NOTE);
1574
+ }
1554
1575
  return `${lines.join("\n")}\n`;
1555
1576
  }
1556
1577
  /** Read the v2 runs surface; only its 404 falls through to the v1 engine. */
@@ -1565,18 +1586,30 @@ function readHostedSessionRuns(sessionId, options) {
1565
1586
  return auth;
1566
1587
  }
1567
1588
  try {
1589
+ const slug = resolveProdSlug(options);
1568
1590
  const runs = yield auth.client.getAgentkitSessionRuns({
1569
1591
  teamId: auth.teamId,
1570
- slug: resolveProdSlug(options),
1592
+ slug,
1571
1593
  sessionId,
1572
1594
  });
1573
1595
  if (options.rawEvents === true || trimNonEmpty(options.out) !== undefined) {
1574
1596
  process.stderr.write("--events and --out need an engine trajectory.\n");
1575
1597
  return 2;
1576
1598
  }
1599
+ const latest = runs.executions.at(-1);
1600
+ const events = runs.executions.length === 0 || (latest === null || latest === void 0 ? void 0 : latest.turnStatus) === "running"
1601
+ ? yield auth.client
1602
+ .getAgentkitSessionEvents({
1603
+ teamId: auth.teamId,
1604
+ slug,
1605
+ sessionId,
1606
+ afterEventIndex: -1,
1607
+ })
1608
+ .catch(() => undefined)
1609
+ : undefined;
1577
1610
  process.stdout.write(options.json === true
1578
1611
  ? `${JSON.stringify(Object.assign({ sessionId }, runs), null, 2)}\n`
1579
- : formatHostedSessionRuns(sessionId, runs));
1612
+ : formatHostedSessionRuns(sessionId, runs, events));
1580
1613
  return 0;
1581
1614
  }
1582
1615
  catch (error) {
@@ -1611,7 +1644,7 @@ export function cmdSession(sessionId, options) {
1611
1644
  return started;
1612
1645
  }
1613
1646
  if (sessionId === undefined || sessionId.trim() === "") {
1614
- process.stderr.write(`Usage: ${CLI_COMMAND_NAME} session <sessionId> [--url | --prod] [--json | --text | --events] [--out <file.ndjson>]\n` +
1647
+ process.stderr.write(`Usage: ${CLI_COMMAND_NAME} session <ses_> [--url | --prod] [--slug <slug>] [--json | --text | --events] [--out <file.ndjson>]\n` +
1615
1648
  ` or: ${CLI_COMMAND_NAME} session --prod [<sessionId>] --slug <slug> --message "…" [--dry-run] [--as-of <instant>]\n`);
1616
1649
  return 2;
1617
1650
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `agent-sdk deploy | deployments | deployment | stop | delete | rotate-token |
2
+ * `agent-sdk deploy | deployments | deployment | stop | rollback | delete | rotate-token |
3
3
  * secrets set|list|unset` — Heroku-style deploys
4
4
  * onto Cursor's managed agent-serve hosting.
5
5
  *
@@ -149,6 +149,10 @@ export declare function cmdUpgrade(args: {
149
149
  slug: string | undefined;
150
150
  release: string | undefined;
151
151
  }, options: DeployCliOptions): Promise<number>;
152
+ export declare function cmdRollback(args: {
153
+ slug: string | undefined;
154
+ release: string | undefined;
155
+ }, options: DeployCliOptions): Promise<number>;
152
156
  export declare function cmdDelete(slug: string | undefined, options: DeployCliOptions): Promise<number>;
153
157
  export declare function cmdRotateToken(slug: string | undefined, options: DeployCliOptions): Promise<number>;
154
158
  export declare function cmdSecretsSet(slug: string | undefined, specs: string[], options: DeployCliOptions): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-deploy.d.ts","sourceRoot":"","sources":["../../src/internal/cli-deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-deploy.d.ts","sourceRoot":"","sources":["../../src/internal/cli-deploy.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `agent-sdk deploy | deployments | deployment | stop | delete | rotate-token |
2
+ * `agent-sdk deploy | deployments | deployment | stop | rollback | delete | rotate-token |
3
3
  * secrets set|list|unset` — Heroku-style deploys
4
4
  * onto Cursor's managed agent-serve hosting.
5
5
  *
@@ -1325,11 +1325,29 @@ export function cmdEventRepos(slug, repositories, options) {
1325
1325
  /** Release ids are uuids; anything else the user typed is a version. */
1326
1326
  const RELEASE_ID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1327
1327
  export function cmdUpgrade(args, options) {
1328
+ return __awaiter(this, void 0, void 0, function* () {
1329
+ return cmdPinRelease(args, options, {
1330
+ usage: `Usage: ${CLI} upgrade <slug> [--release <id|version>] [--team <id>] [--json]\n`,
1331
+ pin: (client, request) => client.upgradeAgentkitInstall(request),
1332
+ success: (slug, releaseId) => `${slug} now runs release ${releaseId}.\n`,
1333
+ });
1334
+ });
1335
+ }
1336
+ export function cmdRollback(args, options) {
1337
+ return __awaiter(this, void 0, void 0, function* () {
1338
+ return cmdPinRelease(args, options, {
1339
+ usage: `Usage: ${CLI} rollback <slug> [--release <id|version>] [--team <id>] [--json]\n`,
1340
+ pin: (client, request) => client.rollbackAgentkitInstall(request),
1341
+ success: (slug, releaseId) => `${slug} rolled back to release ${releaseId}.\n`,
1342
+ });
1343
+ });
1344
+ }
1345
+ function cmdPinRelease(args, options, pin) {
1328
1346
  return __awaiter(this, void 0, void 0, function* () {
1329
1347
  var _a, _b;
1330
1348
  const { slug, release } = args;
1331
1349
  if (slug === undefined || slug === "") {
1332
- ((_a = options.err) !== null && _a !== void 0 ? _a : ((text) => void process.stderr.write(text)))(`Usage: ${CLI} upgrade <slug> [--release <id|version>] [--team <id>] [--json]\n`);
1350
+ ((_a = options.err) !== null && _a !== void 0 ? _a : ((text) => void process.stderr.write(text)))(pin.usage);
1333
1351
  return 1;
1334
1352
  }
1335
1353
  const ctx = yield prepare(options);
@@ -1339,7 +1357,7 @@ export function cmdUpgrade(args, options) {
1339
1357
  const selector = (_b = release === null || release === void 0 ? void 0 : release.trim()) !== null && _b !== void 0 ? _b : "";
1340
1358
  let releaseId;
1341
1359
  try {
1342
- releaseId = yield ctx.client.upgradeAgentkitInstall(Object.assign({ teamId: ctx.teamId, slug }, (selector === ""
1360
+ releaseId = yield pin.pin(ctx.client, Object.assign({ teamId: ctx.teamId, slug }, (selector === ""
1343
1361
  ? {}
1344
1362
  : RELEASE_ID_RE.test(selector)
1345
1363
  ? { releaseId: selector }
@@ -1352,7 +1370,7 @@ export function cmdUpgrade(args, options) {
1352
1370
  ctx.out(`${JSON.stringify({ releaseId }, null, 2)}\n`);
1353
1371
  }
1354
1372
  else {
1355
- ctx.out(`${slug} now runs release ${releaseId}.\n`);
1373
+ ctx.out(pin.success(slug, releaseId));
1356
1374
  }
1357
1375
  return 0;
1358
1376
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cli-mcp-oauth.d.ts","sourceRoot":"","sources":["../../src/internal/cli-mcp-oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAqB5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,kBAAkB;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAeF,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqD9E;AAED,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC3E;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAElB;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6F/F"}
1
+ {"version":3,"file":"cli-mcp-oauth.d.ts","sourceRoot":"","sources":["../../src/internal/cli-mcp-oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAsB5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,kBAAkB;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAeF,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqD9E;AAED,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC3E;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAElB;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6F/F"}
@@ -22,6 +22,7 @@ import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
22
22
  import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
23
23
  import { isCursorAccountTransport } from "../types.js";
24
24
  import { resolveDeployAuth } from "./cli-deploy.js";
25
+ import { resolveConnectionEnvTemplates } from "./connection-env.js";
25
26
  import { CursorBackendClient } from "./cursor/backend-client.js";
26
27
  import { authorizeCursorAccountConnectors } from "./cursor-account-mcp-auth.js";
27
28
  import { deploymentServiceAccountId } from "./deploy-client.js";
@@ -56,7 +57,7 @@ export function cmdMcpOauth(options) {
56
57
  err(`${LOG_PREFIX} Unknown MCP connection "${options.connection}". Authored: ${known}.\n`);
57
58
  return 1;
58
59
  }
59
- const transport = connection.transport;
60
+ const transport = resolveConnectionEnvTemplates(connection.transport);
60
61
  if (isCursorAccountTransport(transport)) {
61
62
  return cmdMcpOauthCursorAccount(options, {
62
63
  servers: transport.servers,
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * `install-skills` — install the package's coding-agent skills into
3
- * `~/.cursor/skills/agentsdk/` without running `init`.
3
+ * `~/.cursor/skills/bdk/` without running `init`.
4
4
  *
5
5
  * Never prompts: running the command is the confirmation. The interactive
6
6
  * offer lives in `init`. Consumer `npm install` / `npx` copies the same
@@ -1 +1 @@
1
- {"version":3,"file":"cli-skills.d.ts","sourceRoot":"","sources":["../../src/internal/cli-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C7F"}
1
+ {"version":3,"file":"cli-skills.d.ts","sourceRoot":"","sources":["../../src/internal/cli-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C7F"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * `install-skills` — install the package's coding-agent skills into
3
- * `~/.cursor/skills/agentsdk/` without running `init`.
3
+ * `~/.cursor/skills/bdk/` without running `init`.
4
4
  *
5
5
  * Never prompts: running the command is the confirmation. The interactive
6
6
  * offer lives in `init`. Consumer `npm install` / `npx` copies the same
@@ -17,7 +17,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  });
18
18
  };
19
19
  import { CLI_COMMAND_NAME } from "./distribution.js";
20
- import { formatSkillInstall, installCursorSkills, LEGACY_CURSOR_SKILLS_NAMESPACE, planSkillInstall, } from "./install-cursor-skills.js";
20
+ import { formatSkillInstall, installCursorSkills, planSkillInstall, } from "./install-cursor-skills.js";
21
21
  import { stdoutPalette } from "./terminal-style.js";
22
22
  export function cmdInstallSkills() {
23
23
  return __awaiter(this, arguments, void 0, function* (options = {}) {
@@ -50,7 +50,7 @@ export function cmdInstallSkills() {
50
50
  return 0;
51
51
  }
52
52
  const action = plan.firstInstall ? "install" : "update";
53
- out(`Would ${action} ${plan.leaves.length} Agent SDK ${noun}\n`);
53
+ out(`Would ${action} ${plan.leaves.length} BDK ${noun}\n`);
54
54
  out(previewBlock(plan));
55
55
  return 0;
56
56
  }
@@ -69,8 +69,8 @@ function previewBlock(plan) {
69
69
  if (plan.orphans.length > 0) {
70
70
  lines.push(` removes: ${plan.orphans.join(", ")}`);
71
71
  }
72
- if (plan.hasLegacyNamespace) {
73
- lines.push(` removes: ${LEGACY_CURSOR_SKILLS_NAMESPACE}/ (legacy namespace)`);
72
+ for (const dir of plan.legacyDirs) {
73
+ lines.push(` removes: ${dir}`);
74
74
  }
75
75
  lines.push(` location: ${plan.directory}`);
76
76
  return `${lines.join("\n")}\n`;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * `${NAME}` expansion for MCP connection credentials, applied when a
3
+ * transport is built instead of when its module is imported.
4
+ *
5
+ * Discovery imports `mcp-connections/*.ts` once, at startup. A hosted
6
+ * deployment has none of its secrets in the environment at that point: the
7
+ * control plane binds them per request and `consumeHostedBoundSecrets` copies
8
+ * them into `process.env` at the top of the turn. A `process.env.TOKEN` read
9
+ * inside `defineConnection` therefore captures an empty value for the life of
10
+ * the process, while a `"Bearer ${TOKEN}"` template stays verbatim on the
11
+ * transport and resolves here, each time a client opens.
12
+ */
13
+ import type { ConnectionTransport } from "../types.js";
14
+ type Env = Record<string, string | undefined>;
15
+ /**
16
+ * Substitute `${NAME}` in the transport's headers (http/sse) or env (stdio)
17
+ * from the environment as it stands now. An unset variable resolves to an
18
+ * empty string, as reading it in the module would have.
19
+ */
20
+ export declare function resolveConnectionEnvTemplates<T extends ConnectionTransport>(transport: T, env?: Env): T;
21
+ /** Variables a transport templates that the environment does not define, in first-seen order. */
22
+ export declare function unresolvedConnectionEnvNames(transport: ConnectionTransport, env?: Env): string[];
23
+ /**
24
+ * Identifies the credentials a client would open with right now, so a cached
25
+ * client is recognizable as stale once the environment changes underneath it.
26
+ * Hashed rather than stored, so the cache key is not a second copy of the
27
+ * secret.
28
+ */
29
+ export declare function connectionCredentialsFingerprint(transport: ConnectionTransport, env?: Env): string;
30
+ export {};
31
+ //# sourceMappingURL=connection-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-env.d.ts","sourceRoot":"","sources":["../../src/internal/connection-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKvD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAkC9C;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,mBAAmB,EACzE,SAAS,EAAE,CAAC,EACZ,GAAG,GAAE,GAAiB,GACrB,CAAC,CAUH;AAED,iGAAiG;AACjG,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,mBAAmB,EAC9B,GAAG,GAAE,GAAiB,GACrB,MAAM,EAAE,CAWV;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,mBAAmB,EAC9B,GAAG,GAAE,GAAiB,GACrB,MAAM,CAMR"}