@cursor/bdk 0.2.8 → 0.2.10

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 (581) hide show
  1. package/dist/artifacts.js +3 -5
  2. package/dist/bin/agent-serve.d.ts +1 -0
  3. package/dist/bin/agent-serve.d.ts.map +1 -1
  4. package/dist/bin/agent-serve.js +820 -807
  5. package/dist/channels/bitbucket/api.js +305 -321
  6. package/dist/channels/bitbucket/binding.js +97 -61
  7. package/dist/channels/bitbucket/bitbucket-channel.d.ts +15 -1
  8. package/dist/channels/bitbucket/bitbucket-channel.d.ts.map +1 -1
  9. package/dist/channels/bitbucket/bitbucket-channel.js +95 -42
  10. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +11 -0
  11. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
  12. package/dist/channels/bitbucket/bitbucket-webhook.js +214 -204
  13. package/dist/channels/bitbucket/checks.js +9 -21
  14. package/dist/channels/bitbucket/cursor-account.js +1 -1
  15. package/dist/channels/bitbucket/defaults.js +14 -4
  16. package/dist/channels/bitbucket/events.js +1 -2
  17. package/dist/channels/bitbucket/index.d.ts +6 -2
  18. package/dist/channels/bitbucket/index.d.ts.map +1 -1
  19. package/dist/channels/bitbucket/index.js +6 -2
  20. package/dist/channels/bitbucket/replay.js +80 -56
  21. package/dist/channels/bitbucket/state.js +16 -7
  22. package/dist/channels/bitbucket/types.d.ts +11 -2
  23. package/dist/channels/bitbucket/types.d.ts.map +1 -1
  24. package/dist/channels/checks.js +18 -28
  25. package/dist/channels/deployments/deployments-channel.js +26 -34
  26. package/dist/channels/github/api.js +216 -210
  27. package/dist/channels/github/auth.d.ts +5 -1
  28. package/dist/channels/github/auth.d.ts.map +1 -1
  29. package/dist/channels/github/auth.js +157 -174
  30. package/dist/channels/github/binding.js +48 -39
  31. package/dist/channels/github/checks.js +9 -14
  32. package/dist/channels/github/cursor-account.js +6 -11
  33. package/dist/channels/github/defaults.js +105 -130
  34. package/dist/channels/github/forward.js +13 -17
  35. package/dist/channels/github/github-channel.d.ts +43 -2
  36. package/dist/channels/github/github-channel.d.ts.map +1 -1
  37. package/dist/channels/github/github-channel.js +1228 -958
  38. package/dist/channels/github/progress.js +145 -146
  39. package/dist/channels/github/replay.js +30 -39
  40. package/dist/channels/github/state.js +40 -16
  41. package/dist/channels/github/types.d.ts +30 -6
  42. package/dist/channels/github/types.d.ts.map +1 -1
  43. package/dist/channels/gitlab/api.js +100 -114
  44. package/dist/channels/gitlab/binding.js +52 -33
  45. package/dist/channels/gitlab/checks.js +28 -29
  46. package/dist/channels/gitlab/cursor-account.js +1 -1
  47. package/dist/channels/gitlab/defaults.js +9 -3
  48. package/dist/channels/gitlab/gitlab-channel.d.ts +16 -1
  49. package/dist/channels/gitlab/gitlab-channel.d.ts.map +1 -1
  50. package/dist/channels/gitlab/gitlab-channel.js +95 -42
  51. package/dist/channels/gitlab/gitlab-webhook.d.ts +10 -1
  52. package/dist/channels/gitlab/gitlab-webhook.d.ts.map +1 -1
  53. package/dist/channels/gitlab/gitlab-webhook.js +282 -249
  54. package/dist/channels/gitlab/index.d.ts +6 -2
  55. package/dist/channels/gitlab/index.d.ts.map +1 -1
  56. package/dist/channels/gitlab/index.js +6 -2
  57. package/dist/channels/gitlab/replay.js +50 -27
  58. package/dist/channels/gitlab/state.js +14 -6
  59. package/dist/channels/gitlab/types.d.ts +13 -2
  60. package/dist/channels/gitlab/types.d.ts.map +1 -1
  61. package/dist/channels/origin/api.js +100 -116
  62. package/dist/channels/origin/binding.js +15 -16
  63. package/dist/channels/origin/checks.js +30 -28
  64. package/dist/channels/origin/defaults.js +50 -65
  65. package/dist/channels/origin/origin-channel.js +266 -272
  66. package/dist/channels/origin/origin-webhook.js +70 -88
  67. package/dist/channels/origin/reactions.js +9 -21
  68. package/dist/channels/origin/state.js +13 -5
  69. package/dist/channels/slack/agentic-delivery.js +426 -478
  70. package/dist/channels/slack/agentic-posted.js +9 -10
  71. package/dist/channels/slack/agentic-signals.js +2 -3
  72. package/dist/channels/slack/api.js +417 -427
  73. package/dist/channels/slack/approvals.js +1 -1
  74. package/dist/channels/slack/assistant.js +37 -47
  75. package/dist/channels/slack/attachments.js +188 -206
  76. package/dist/channels/slack/auth.js +8 -6
  77. package/dist/channels/slack/bot-mentions.js +31 -45
  78. package/dist/channels/slack/channel-watch.js +42 -48
  79. package/dist/channels/slack/cli-project.js +112 -137
  80. package/dist/channels/slack/code-fences.js +3 -5
  81. package/dist/channels/slack/constants.js +2 -2
  82. package/dist/channels/slack/credentials.js +23 -38
  83. package/dist/channels/slack/defaults.js +292 -331
  84. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  85. package/dist/channels/slack/dispatch.js +533 -460
  86. package/dist/channels/slack/doctor.js +200 -214
  87. package/dist/channels/slack/eval-directive.js +79 -96
  88. package/dist/channels/slack/event-id-dedupe.js +1 -1
  89. package/dist/channels/slack/external-policy.js +26 -39
  90. package/dist/channels/slack/footer.js +28 -41
  91. package/dist/channels/slack/inbound.d.ts +1 -0
  92. package/dist/channels/slack/inbound.d.ts.map +1 -1
  93. package/dist/channels/slack/inbound.js +50 -31
  94. package/dist/channels/slack/init.d.ts +1 -5
  95. package/dist/channels/slack/init.d.ts.map +1 -1
  96. package/dist/channels/slack/init.js +42 -59
  97. package/dist/channels/slack/interactive.d.ts +9 -3
  98. package/dist/channels/slack/interactive.d.ts.map +1 -1
  99. package/dist/channels/slack/interactive.js +160 -162
  100. package/dist/channels/slack/links.js +1 -2
  101. package/dist/channels/slack/live-delivery.js +172 -190
  102. package/dist/channels/slack/manifest.d.ts.map +1 -1
  103. package/dist/channels/slack/manifest.js +44 -23
  104. package/dist/channels/slack/message-body.js +2 -2
  105. package/dist/channels/slack/nudge-carrier.js +30 -42
  106. package/dist/channels/slack/nudge-store.js +164 -191
  107. package/dist/channels/slack/paint-start.js +66 -81
  108. package/dist/channels/slack/placeholder.js +123 -152
  109. package/dist/channels/slack/pr-ref.js +1 -1
  110. package/dist/channels/slack/progress-delivery.js +65 -78
  111. package/dist/channels/slack/reasoning-card.js +36 -49
  112. package/dist/channels/slack/recording-sink.js +12 -24
  113. package/dist/channels/slack/reply-options.js +7 -12
  114. package/dist/channels/slack/self-identity.js +27 -35
  115. package/dist/channels/slack/sender-name.d.ts +12 -3
  116. package/dist/channels/slack/sender-name.d.ts.map +1 -1
  117. package/dist/channels/slack/sender-name.js +57 -61
  118. package/dist/channels/slack/setup.js +2 -4
  119. package/dist/channels/slack/slack-channel.d.ts +6 -4
  120. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  121. package/dist/channels/slack/slack-channel.js +441 -308
  122. package/dist/channels/slack/socket-mode.js +38 -52
  123. package/dist/channels/slack/thread-context.js +143 -160
  124. package/dist/channels/slack/tool-approval-events.js +149 -166
  125. package/dist/channels/slack/tool-cards.js +6 -11
  126. package/dist/channels/slack/tool-chip.js +1 -2
  127. package/dist/channels/slack/types.d.ts +15 -17
  128. package/dist/channels/slack/types.d.ts.map +1 -1
  129. package/dist/channels/slack/upload.js +84 -97
  130. package/dist/channels/slack/user-info.js +27 -41
  131. package/dist/channels.js +9 -20
  132. package/dist/dashboard-session-url.js +3 -4
  133. package/dist/docs/404.html +2 -2
  134. package/dist/docs/assets/{app.oyjtOr3W.js → app.DXI7bwox.js} +4 -4
  135. package/dist/docs/assets/{building-with-agents.md.BPjPFxFg.js → building-with-agents.md.Df87rAe1.js} +1 -1
  136. package/dist/docs/assets/chunks/@localSearchIndexroot.CtLtpWcx.js +1 -0
  137. package/dist/docs/assets/chunks/{VPLocalSearchBox.D0P6J_UJ.js → VPLocalSearchBox.BrbO5mEe.js} +1 -1
  138. package/dist/docs/assets/chunks/{arc.B0LY1J1h.js → arc.BOG1yms8.js} +1 -1
  139. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.dPduLUxY.js → architectureDiagram-Q4EWVU46.C0hsMZnZ.js} +1 -1
  140. package/dist/docs/assets/chunks/{baseUniq.B_Ohm21h.js → baseUniq.H044KjKs.js} +1 -1
  141. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.B4zcanaJ.js → blockDiagram-DXYQGD6D.BsRW6GoB.js} +1 -1
  142. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.D9Iw21nx.js → c4Diagram-AHTNJAMY.B9HV5PFR.js} +1 -1
  143. package/dist/docs/assets/chunks/channel.CBwrU9rP.js +1 -0
  144. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.DDVwRShI.js → chunk-4BX2VUAB.CPoT_ajl.js} +1 -1
  145. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DsYcdn1i.js → chunk-4TB4RGXK.DZBwWuCL.js} +1 -1
  146. package/dist/docs/assets/chunks/{chunk-55IACEB6.BzzQvcYp.js → chunk-55IACEB6.CZ3yTiyq.js} +1 -1
  147. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BMiXZ7FX.js → chunk-EDXVE4YY.6DfvHSd8.js} +1 -1
  148. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.D_mBcLoc.js → chunk-FMBD7UC4.CpBj8HfK.js} +1 -1
  149. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CMVjWVMx.js → chunk-OYMX7WX6.BdKo8YqS.js} +1 -1
  150. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BG-FrPv9.js → chunk-QZHKN3VN.BnXNyxJx.js} +1 -1
  151. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CkFE1ap3.js → chunk-YZCP3GAM.Cg1OcF8G.js} +1 -1
  152. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CbC_mrvB.js +1 -0
  153. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CbC_mrvB.js +1 -0
  154. package/dist/docs/assets/chunks/clone.BTvFyY1a.js +1 -0
  155. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BVNnCTvY.js → cose-bilkent-S5V4N54A.1SP8al9c.js} +1 -1
  156. package/dist/docs/assets/chunks/{dagre-KV5264BT.CDN5PR9l.js → dagre-KV5264BT.DS1L6hJt.js} +1 -1
  157. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DQRUlT-i.js → diagram-5BDNPKRD.ChsausbG.js} +1 -1
  158. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.CoeblYQT.js → diagram-G4DWMVQ6.3XsptNWj.js} +1 -1
  159. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.DW3ymjl0.js → diagram-MMDJMWI5.DPA9Dk_P.js} +1 -1
  160. package/dist/docs/assets/chunks/{diagram-TYMM5635.BP0uN4Jw.js → diagram-TYMM5635.BVswXWrB.js} +1 -1
  161. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DVFUWEn4.js → erDiagram-SMLLAGMA.BSak5OSP.js} +1 -1
  162. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.HU-eHspv.js → flowDiagram-DWJPFMVM.CQgN4TTz.js} +1 -1
  163. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.DHNhXijY.js → ganttDiagram-T4ZO3ILL.GrT0kA4a.js} +1 -1
  164. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DkISXcO3.js → gitGraphDiagram-UUTBAWPF.CdS7Ucll.js} +1 -1
  165. package/dist/docs/assets/chunks/{graph.CCV0fuRR.js → graph.BVqKRmRo.js} +1 -1
  166. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.bgILzOoc.js → infoDiagram-42DDH7IO.C3C9FRto.js} +1 -1
  167. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.CuryXC0F.js → ishikawaDiagram-UXIWVN3A.2FuAh_Zj.js} +1 -1
  168. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BL1Pr-wu.js → journeyDiagram-VCZTEJTY.CaHMfK4b.js} +1 -1
  169. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.BbGjvk4l.js → kanban-definition-6JOO6SKY.CjhIUwcA.js} +1 -1
  170. package/dist/docs/assets/chunks/{layout.C4PfdldS.js → layout.CGU3gfSf.js} +1 -1
  171. package/dist/docs/assets/chunks/{linear.C3xD1T6X.js → linear.DaihpW_n.js} +1 -1
  172. package/dist/docs/assets/chunks/{min.CzgRAQ9c.js → min.BS-j8kHQ.js} +1 -1
  173. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.CA9rSWum.js → mindmap-definition-QFDTVHPH.BVJ1Bbnk.js} +1 -1
  174. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.B8MprgJu.js → pieDiagram-DEJITSTG.Cz1WIv9r.js} +1 -1
  175. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DndDwbKT.js → quadrantDiagram-34T5L4WZ.DKLFxcjy.js} +1 -1
  176. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.Zhfgwlnn.js → requirementDiagram-MS252O5E.BHegiK7x.js} +1 -1
  177. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.B6RRm6N5.js → sankeyDiagram-XADWPNL6.DYkY6yPc.js} +1 -1
  178. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Bfmz-1PN.js → sequenceDiagram-FGHM5R23.DYQ1QUrI.js} +1 -1
  179. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.gbrdNqgj.js → stateDiagram-FHFEXIEX.Iru8BsFo.js} +1 -1
  180. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BYXl4LW6.js +1 -0
  181. package/dist/docs/assets/chunks/{theme.gpWjytMh.js → theme.DaplWQhQ.js} +2 -2
  182. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.Bl1l7M1f.js → timeline-definition-GMOUNBTQ.BwFA8hiX.js} +1 -1
  183. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.Dfle4U0d.js → vennDiagram-DHZGUBPP.CZ60W1C_.js} +1 -1
  184. package/dist/docs/assets/chunks/wardley-RL74JXVD.iXazD3Z7.js +162 -0
  185. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.CM_4lmvZ.js → wardleyDiagram-NUSXRM2D.B69D2r8-.js} +1 -1
  186. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CHT5X28R.js → xychartDiagram-5P7HB3ND.CLPZEIU9.js} +1 -1
  187. package/dist/docs/assets/{deployment.md.BdqTiGdc.js → deployment.md.BYuEcDBv.js} +2 -2
  188. package/dist/docs/assets/{guides_bitbucket.md.BB6fqD-M.js → guides_bitbucket.md.CKUayYtD.js} +3 -3
  189. package/dist/docs/assets/{guides_bitbucket.md.BB6fqD-M.lean.js → guides_bitbucket.md.CKUayYtD.lean.js} +1 -1
  190. package/dist/docs/assets/{guides_github.md.Cr1Xlf-m.js → guides_github.md.TuNiZAOQ.js} +4 -4
  191. package/dist/docs/assets/{guides_github.md.Cr1Xlf-m.lean.js → guides_github.md.TuNiZAOQ.lean.js} +1 -1
  192. package/dist/docs/assets/{guides_gitlab.md.CMpmFi4M.js → guides_gitlab.md.CtNI4fSH.js} +4 -4
  193. package/dist/docs/assets/{guides_gitlab.md.CMpmFi4M.lean.js → guides_gitlab.md.CtNI4fSH.lean.js} +1 -1
  194. package/dist/docs/assets/guides_migrate.md.sCAvvlC6.js +7 -0
  195. package/dist/docs/assets/guides_migrate.md.sCAvvlC6.lean.js +1 -0
  196. package/dist/docs/assets/{reference_cli.md.GwugN3n-.js → reference_cli.md.dYCAL2lB.js} +4 -3
  197. package/dist/docs/assets/reference_cli.md.dYCAL2lB.lean.js +1 -0
  198. package/dist/docs/assets/{reference_skills.md.ClkMoQsV.js → reference_skills.md.C0guGcH0.js} +3 -3
  199. package/dist/docs/assets/troubleshooting.md.x-GBa7wN.js +1 -0
  200. package/dist/docs/assets/{troubleshooting.md.Bscj6ODe.lean.js → troubleshooting.md.x-GBa7wN.lean.js} +1 -1
  201. package/dist/docs/building-with-agents.html +37 -37
  202. package/dist/docs/building-with-agents.md +2 -0
  203. package/dist/docs/deployment.html +38 -38
  204. package/dist/docs/deployment.md +7 -0
  205. package/dist/docs/evals.html +36 -36
  206. package/dist/docs/guides/agent-to-agent.html +35 -35
  207. package/dist/docs/guides/bitbucket.html +38 -38
  208. package/dist/docs/guides/bitbucket.md +9 -1
  209. package/dist/docs/guides/cloud-agents.html +35 -35
  210. package/dist/docs/guides/convert-automation.html +35 -35
  211. package/dist/docs/guides/github.html +39 -39
  212. package/dist/docs/guides/github.md +20 -4
  213. package/dist/docs/guides/gitlab.html +38 -38
  214. package/dist/docs/guides/gitlab.md +9 -1
  215. package/dist/docs/guides/grokbot-agents.html +35 -35
  216. package/dist/docs/guides/hooks.html +35 -35
  217. package/dist/docs/guides/improve.html +35 -35
  218. package/dist/docs/guides/jev.html +35 -35
  219. package/dist/docs/guides/mcp-oauth.html +35 -35
  220. package/dist/docs/guides/migrate.html +66 -0
  221. package/dist/docs/guides/migrate.md +122 -0
  222. package/dist/docs/guides/opentelemetry.html +35 -35
  223. package/dist/docs/guides/slack.html +35 -35
  224. package/dist/docs/guides/webhooks.html +35 -35
  225. package/dist/docs/hashmap.json +1 -1
  226. package/dist/docs/hillclimbing.html +35 -35
  227. package/dist/docs/index.html +35 -35
  228. package/dist/docs/llms-full.txt +214 -6
  229. package/dist/docs/llms.txt +1 -0
  230. package/dist/docs/quickstart.html +35 -35
  231. package/dist/docs/reference/agent-config.html +35 -35
  232. package/dist/docs/reference/artifacts.html +35 -35
  233. package/dist/docs/reference/channels.html +35 -35
  234. package/dist/docs/reference/cli.html +39 -38
  235. package/dist/docs/reference/cli.md +39 -0
  236. package/dist/docs/reference/connections.html +35 -35
  237. package/dist/docs/reference/evals.html +35 -35
  238. package/dist/docs/reference/extensions.html +35 -35
  239. package/dist/docs/reference/hooks.html +35 -35
  240. package/dist/docs/reference/http-api.html +35 -35
  241. package/dist/docs/reference/instructions.html +35 -35
  242. package/dist/docs/reference/playground.html +35 -35
  243. package/dist/docs/reference/project-layout.html +35 -35
  244. package/dist/docs/reference/prompt.html +35 -35
  245. package/dist/docs/reference/schedules.html +35 -35
  246. package/dist/docs/reference/sessions.html +35 -35
  247. package/dist/docs/reference/skills.html +38 -38
  248. package/dist/docs/reference/subagents.html +35 -35
  249. package/dist/docs/reference/tools.html +35 -35
  250. package/dist/docs/templates/agentic-owners.html +35 -35
  251. package/dist/docs/templates/grokbot-agents.html +35 -35
  252. package/dist/docs/templates/security-reviewer.html +35 -35
  253. package/dist/docs/templates/thermo-quality-review.html +35 -35
  254. package/dist/docs/templates/thermo-review.html +35 -35
  255. package/dist/docs/templates/triage.html +35 -35
  256. package/dist/docs/troubleshooting.html +36 -36
  257. package/dist/docs/troubleshooting.md +1 -0
  258. package/dist/evals/assertions.js +20 -34
  259. package/dist/evals/expect.js +3 -6
  260. package/dist/evals/judge.js +5 -8
  261. package/dist/evals/loaders.js +45 -62
  262. package/dist/evals/matchers.js +2 -3
  263. package/dist/evals/reporters.js +43 -67
  264. package/dist/evals/results.js +1 -1
  265. package/dist/evals/run-facts.js +5 -6
  266. package/dist/evals.js +27 -15
  267. package/dist/extensions/cursor-cloud-agents/extension.js +4 -1
  268. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +0 -1
  269. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  270. package/dist/extensions/cursor-cloud-agents/lib/backend.js +101 -130
  271. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +22 -38
  272. package/dist/extensions/cursor-cloud-agents/lib/repos.js +8 -10
  273. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -3
  274. package/dist/extensions/cursor-cloud-agents/lib/watch.js +52 -66
  275. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +29 -40
  276. package/dist/extensions/cursor-cloud-agents/tools/cancel.js +6 -17
  277. package/dist/extensions/cursor-cloud-agents/tools/dump.js +25 -36
  278. package/dist/extensions/cursor-cloud-agents/tools/get.js +3 -14
  279. package/dist/extensions/cursor-cloud-agents/tools/launch.js +13 -21
  280. package/dist/extensions/cursor-cloud-agents/tools/list.d.ts.map +1 -1
  281. package/dist/extensions/cursor-cloud-agents/tools/list.js +9 -20
  282. package/dist/extensions/cursor-cloud-agents/tools/reply.js +5 -16
  283. package/dist/extensions/cursor-grokbot-agents/extension.js +4 -1
  284. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +3 -3
  285. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +53 -73
  286. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +10 -23
  287. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +112 -132
  288. package/dist/extensions/cursor-grokbot-agents/lib/lock.js +1 -2
  289. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +5 -16
  290. package/dist/extensions/cursor-grokbot-agents/tools/check.js +4 -15
  291. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +2 -13
  292. package/dist/extensions/cursor-grokbot-agents/tools/list.js +11 -23
  293. package/dist/extensions/jev/extension.js +3 -3
  294. package/dist/extensions/jev/lib/evaluate.js +43 -60
  295. package/dist/extensions/jev/tools/evaluate.js +6 -17
  296. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  297. package/dist/extensions.js +3 -5
  298. package/dist/files-backends/cursor-hosted.js +504 -523
  299. package/dist/files-backends/local-fs.js +72 -134
  300. package/dist/files.js +3 -3
  301. package/dist/filesystem.js +562 -861
  302. package/dist/index.js +16 -35
  303. package/dist/internal/advertise-tools.js +74 -86
  304. package/dist/internal/artifacts-store.js +298 -361
  305. package/dist/internal/as-of.js +2 -4
  306. package/dist/internal/authored-alias-hooks.js +6 -4
  307. package/dist/internal/authored-loaders.js +37 -52
  308. package/dist/internal/bounded-int.js +1 -2
  309. package/dist/internal/bounded.js +13 -24
  310. package/dist/internal/brand.js +1 -1
  311. package/dist/internal/browser-origin-guard.js +4 -4
  312. package/dist/internal/builtin-tools/artifacts.js +15 -27
  313. package/dist/internal/builtin-tools/index.js +2 -3
  314. package/dist/internal/builtin-tools/reminders.js +33 -52
  315. package/dist/internal/channel-architecture.d.ts +21 -0
  316. package/dist/internal/channel-architecture.d.ts.map +1 -0
  317. package/dist/internal/channel-architecture.js +41 -0
  318. package/dist/internal/channel-dispatch.js +3 -4
  319. package/dist/internal/channel-route-dispatch.js +40 -51
  320. package/dist/internal/channel-state.js +1 -1
  321. package/dist/internal/chat-client.js +319 -340
  322. package/dist/internal/cli-ax.js +1262 -1294
  323. package/dist/internal/cli-bitbucket.js +244 -272
  324. package/dist/internal/cli-convert-automation.js +137 -151
  325. package/dist/internal/cli-cursor.js +126 -147
  326. package/dist/internal/cli-deploy.d.ts.map +1 -1
  327. package/dist/internal/cli-deploy.js +1457 -1507
  328. package/dist/internal/cli-docs.js +130 -147
  329. package/dist/internal/cli-github.js +437 -476
  330. package/dist/internal/cli-gitlab.js +259 -288
  331. package/dist/internal/cli-images.js +266 -334
  332. package/dist/internal/cli-manifest.js +25 -37
  333. package/dist/internal/cli-mcp-oauth.js +228 -247
  334. package/dist/internal/cli-mcp.js +358 -383
  335. package/dist/internal/cli-migrate.d.ts +18 -0
  336. package/dist/internal/cli-migrate.d.ts.map +1 -0
  337. package/dist/internal/cli-migrate.js +136 -0
  338. package/dist/internal/cli-skills.js +35 -47
  339. package/dist/internal/cli-slack-manual.d.ts +0 -1
  340. package/dist/internal/cli-slack-manual.d.ts.map +1 -1
  341. package/dist/internal/cli-slack-manual.js +175 -204
  342. package/dist/internal/cli-slack.d.ts +1 -1
  343. package/dist/internal/cli-slack.d.ts.map +1 -1
  344. package/dist/internal/cli-slack.js +416 -456
  345. package/dist/internal/cloud-merge.js +7 -3
  346. package/dist/internal/cloud-turn-cost.js +8 -1
  347. package/dist/internal/connection-env.js +5 -6
  348. package/dist/internal/continuation-channel.js +10 -7
  349. package/dist/internal/continuation-identity.js +85 -67
  350. package/dist/internal/conversation-mirror.js +112 -131
  351. package/dist/internal/convert-automation/convert-workflow.js +21 -31
  352. package/dist/internal/cron.js +3 -3
  353. package/dist/internal/cursor/account-mcp.js +147 -146
  354. package/dist/internal/cursor/backend-client.js +290 -320
  355. package/dist/internal/cursor/bound-secret-file.js +3 -3
  356. package/dist/internal/cursor/credentials.d.ts +1 -0
  357. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  358. package/dist/internal/cursor/credentials.js +130 -142
  359. package/dist/internal/cursor/cursor-api-transport.js +4 -8
  360. package/dist/internal/cursor/github-credentials.js +91 -108
  361. package/dist/internal/cursor/hosted-bound-secrets.js +3 -4
  362. package/dist/internal/cursor/hosted-deployment-secrets.js +1 -1
  363. package/dist/internal/cursor/hosted-store-secrets.js +5 -9
  364. package/dist/internal/cursor/session-token.js +36 -48
  365. package/dist/internal/cursor/store-api-client.js +77 -92
  366. package/dist/internal/cursor-account-mcp-auth.js +132 -149
  367. package/dist/internal/cursor-agent-template.js +1 -1
  368. package/dist/internal/cursor-deployment-relay.js +33 -54
  369. package/dist/internal/cursor-event-relay.js +65 -59
  370. package/dist/internal/cursor-relay-core.js +258 -286
  371. package/dist/internal/deferred-channel-session.js +3 -12
  372. package/dist/internal/deploy-client.js +410 -475
  373. package/dist/internal/deploy-manifest.d.ts +17 -0
  374. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  375. package/dist/internal/deploy-manifest.js +71 -21
  376. package/dist/internal/deploy-source.js +31 -43
  377. package/dist/internal/discovery/agent-config.js +45 -59
  378. package/dist/internal/discovery/agent.js +276 -280
  379. package/dist/internal/discovery/channels.js +67 -80
  380. package/dist/internal/discovery/connections.js +286 -296
  381. package/dist/internal/discovery/context.js +2 -13
  382. package/dist/internal/discovery/cursor-plugin.js +223 -259
  383. package/dist/internal/discovery/extension-overlay.js +104 -131
  384. package/dist/internal/discovery/extensions.js +276 -281
  385. package/dist/internal/discovery/fs.js +56 -79
  386. package/dist/internal/discovery/hooks.js +39 -50
  387. package/dist/internal/discovery/info.js +17 -19
  388. package/dist/internal/discovery/instructions.js +58 -71
  389. package/dist/internal/discovery/modules.js +45 -58
  390. package/dist/internal/discovery/project.d.ts.map +1 -1
  391. package/dist/internal/discovery/project.js +192 -215
  392. package/dist/internal/discovery/reminders.js +41 -52
  393. package/dist/internal/discovery/runtime.js +1 -1
  394. package/dist/internal/discovery/schedules.js +71 -82
  395. package/dist/internal/discovery/seed-files.js +21 -32
  396. package/dist/internal/discovery/services.js +74 -96
  397. package/dist/internal/discovery/skills.js +77 -94
  398. package/dist/internal/discovery/subagent.js +79 -95
  399. package/dist/internal/discovery/tools.js +12 -23
  400. package/dist/internal/distribution.js +2 -2
  401. package/dist/internal/docs-site.js +30 -45
  402. package/dist/internal/duration.js +1 -1
  403. package/dist/internal/env-file.js +48 -64
  404. package/dist/internal/eval-judge-model.js +17 -28
  405. package/dist/internal/eval-run-store.js +265 -254
  406. package/dist/internal/eval-runner.d.ts +8 -0
  407. package/dist/internal/eval-runner.d.ts.map +1 -1
  408. package/dist/internal/eval-runner.js +406 -408
  409. package/dist/internal/eval-transport.d.ts +24 -0
  410. package/dist/internal/eval-transport.d.ts.map +1 -0
  411. package/dist/internal/eval-transport.js +22 -0
  412. package/dist/internal/evals-client.js +242 -246
  413. package/dist/internal/event-log.js +72 -120
  414. package/dist/internal/event-mapper.js +30 -31
  415. package/dist/internal/factory-resource-channel.js +16 -30
  416. package/dist/internal/filesystem/errors.js +6 -6
  417. package/dist/internal/filesystem/format.js +10 -13
  418. package/dist/internal/filesystem/merge.js +52 -94
  419. package/dist/internal/filesystem/nearest.js +15 -27
  420. package/dist/internal/filesystem/scratch.js +65 -85
  421. package/dist/internal/filesystem/tools.js +221 -241
  422. package/dist/internal/filesystem/walk.js +76 -143
  423. package/dist/internal/framework-file-storage.js +118 -139
  424. package/dist/internal/framework-storage-selection.js +21 -13
  425. package/dist/internal/frontmatter.js +4 -6
  426. package/dist/internal/github-fanout.js +50 -64
  427. package/dist/internal/guest-network.js +96 -109
  428. package/dist/internal/handleAgentServeTrigger.js +121 -126
  429. package/dist/internal/host-files.js +73 -88
  430. package/dist/internal/host-kv.js +21 -36
  431. package/dist/internal/host-otel.js +22 -19
  432. package/dist/internal/host-platforms.js +49 -63
  433. package/dist/internal/hosted-catch-protocol.d.ts +1 -0
  434. package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
  435. package/dist/internal/hosted-catch-protocol.js +1 -0
  436. package/dist/internal/hosted-catch.d.ts +5 -3
  437. package/dist/internal/hosted-catch.d.ts.map +1 -1
  438. package/dist/internal/hosted-catch.js +84 -93
  439. package/dist/internal/hosted-delivery-protocol.js +32 -8
  440. package/dist/internal/hosted-delivery.d.ts +13 -1
  441. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  442. package/dist/internal/hosted-delivery.js +614 -584
  443. package/dist/internal/hosted-eval-cases.d.ts +21 -0
  444. package/dist/internal/hosted-eval-cases.d.ts.map +1 -0
  445. package/dist/internal/hosted-eval-cases.js +162 -0
  446. package/dist/internal/hosted-execution-diag.js +38 -30
  447. package/dist/internal/hosted-execution-flush.js +75 -66
  448. package/dist/internal/hosted-execution-latency.js +16 -8
  449. package/dist/internal/hosted-managed-automation.js +2 -2
  450. package/dist/internal/hosting.js +2 -3
  451. package/dist/internal/http-channel-define.js +4 -1
  452. package/dist/internal/http-channel.js +101 -112
  453. package/dist/internal/http-control-plane-session.d.ts +18 -1
  454. package/dist/internal/http-control-plane-session.d.ts.map +1 -1
  455. package/dist/internal/http-control-plane-session.js +66 -32
  456. package/dist/internal/incoming-headers-to-fetch.js +1 -2
  457. package/dist/internal/init-interview.js +73 -93
  458. package/dist/internal/init-project.js +182 -214
  459. package/dist/internal/init-scaffold.js +10 -21
  460. package/dist/internal/inline-stdio-mcp.js +80 -86
  461. package/dist/internal/install-cursor-skills.d.ts.map +1 -1
  462. package/dist/internal/install-cursor-skills.js +238 -274
  463. package/dist/internal/legacy-command-guard.js +18 -31
  464. package/dist/internal/listen-port.js +34 -45
  465. package/dist/internal/local-control-plane.js +293 -307
  466. package/dist/internal/local-env.js +1 -1
  467. package/dist/internal/local-ingress.js +15 -9
  468. package/dist/internal/log-ring.js +1 -2
  469. package/dist/internal/logs-client.js +207 -227
  470. package/dist/internal/map-pool.js +24 -38
  471. package/dist/internal/mcp-endpoint.js +204 -180
  472. package/dist/internal/mcp-host.js +165 -168
  473. package/dist/internal/mcp-oauth-on-demand.js +170 -207
  474. package/dist/internal/mcp-oauth-persist.js +15 -29
  475. package/dist/internal/mcp-oauth.js +209 -266
  476. package/dist/internal/named-webhook-secret.d.ts +39 -0
  477. package/dist/internal/named-webhook-secret.d.ts.map +1 -0
  478. package/dist/internal/named-webhook-secret.js +47 -0
  479. package/dist/internal/open-browser.js +2 -3
  480. package/dist/internal/otel/collector.js +104 -68
  481. package/dist/internal/otel/config.js +24 -37
  482. package/dist/internal/otel/http.js +5 -7
  483. package/dist/internal/otel/mcp.js +3 -12
  484. package/dist/internal/otel/runtime.js +69 -83
  485. package/dist/internal/package-inline-stdio.js +57 -65
  486. package/dist/internal/peer-connections.js +9 -5
  487. package/dist/internal/platform-schedule-sync.js +39 -54
  488. package/dist/internal/platform-timers.js +176 -210
  489. package/dist/internal/playground/static.js +1 -2
  490. package/dist/internal/playground/toolchain.js +37 -53
  491. package/dist/internal/playground-proxy.js +230 -270
  492. package/dist/internal/process-memory-telemetry.js +33 -51
  493. package/dist/internal/prompt-context.js +3 -6
  494. package/dist/internal/reminder-control-plane-protocol.js +46 -13
  495. package/dist/internal/reminder-runner.js +770 -785
  496. package/dist/internal/reminder-schedule.js +1 -1
  497. package/dist/internal/reminder-store.js +57 -78
  498. package/dist/internal/request-error-status.js +1 -3
  499. package/dist/internal/request-headers.js +2 -2
  500. package/dist/internal/resolve-prod-target.js +119 -135
  501. package/dist/internal/resolved-connections.js +16 -6
  502. package/dist/internal/run-client.js +221 -229
  503. package/dist/internal/runtime-dispatch-runner.js +18 -43
  504. package/dist/internal/schedule-runner.js +49 -58
  505. package/dist/internal/scm/pr-url.js +7 -6
  506. package/dist/internal/sdk-runner.js +388 -363
  507. package/dist/internal/serve-restart.js +26 -39
  508. package/dist/internal/server.d.ts.map +1 -1
  509. package/dist/internal/server.js +1283 -1244
  510. package/dist/internal/session-cost.js +7 -9
  511. package/dist/internal/session-engine.d.ts +3 -1
  512. package/dist/internal/session-engine.d.ts.map +1 -1
  513. package/dist/internal/session-engine.js +2801 -2777
  514. package/dist/internal/session-links.js +12 -16
  515. package/dist/internal/session-run-log.js +134 -82
  516. package/dist/internal/session-store.js +133 -164
  517. package/dist/internal/sessions-client.js +97 -118
  518. package/dist/internal/skill-catalog.js +18 -23
  519. package/dist/internal/skills-sync.js +16 -30
  520. package/dist/internal/slack-provision-client.js +90 -116
  521. package/dist/internal/start-log-store.js +48 -67
  522. package/dist/internal/steering.js +1 -2
  523. package/dist/internal/storage-coordinator.js +160 -196
  524. package/dist/internal/store-mirror.js +16 -30
  525. package/dist/internal/stream-progress.js +6 -8
  526. package/dist/internal/terminal-style.js +3 -4
  527. package/dist/internal/testing/scm-continuation-fixtures.js +6 -2
  528. package/dist/internal/testing/slack-continuation-fixtures.d.ts +26 -0
  529. package/dist/internal/testing/slack-continuation-fixtures.d.ts.map +1 -0
  530. package/dist/internal/testing/slack-continuation-fixtures.js +136 -0
  531. package/dist/internal/tool-catalog.js +11 -5
  532. package/dist/internal/tool-result.js +1 -1
  533. package/dist/internal/trajectory.js +19 -22
  534. package/dist/internal/turn-cost.js +52 -62
  535. package/dist/internal/turn-governor.js +5 -8
  536. package/dist/internal/turn-lease-store.js +85 -105
  537. package/dist/internal/turn-outbox.js +28 -43
  538. package/dist/internal/update-check.js +231 -259
  539. package/dist/internal/v2-hosting.js +1 -2
  540. package/dist/internal/workspace-sync.js +25 -41
  541. package/dist/internal/workspace.js +111 -139
  542. package/dist/kv/memory-kv.js +27 -51
  543. package/dist/memory.js +106 -148
  544. package/dist/otel.js +5 -8
  545. package/dist/playground/assets/index-DXm_VXAQ.css +1 -0
  546. package/dist/playground/assets/{index-MijLHTbB.js → index-JekUQERK.js} +45 -45
  547. package/dist/playground/index.html +2 -2
  548. package/dist/prompt.js +2 -4
  549. package/dist/storage-backends/cursor-hosted-v2.js +53 -83
  550. package/dist/storage-backends/cursor-hosted.js +105 -145
  551. package/dist/storage-backends/file-kv.js +100 -128
  552. package/dist/storage-protocol.js +3 -5
  553. package/dist/storage.js +17 -26
  554. package/dist/types.d.ts +68 -0
  555. package/dist/types.d.ts.map +1 -1
  556. package/dist/types.js +20 -18
  557. package/docs/building-with-agents.md +2 -0
  558. package/docs/deployment.md +7 -0
  559. package/docs/guides/bitbucket.md +9 -1
  560. package/docs/guides/github.md +20 -4
  561. package/docs/guides/gitlab.md +9 -1
  562. package/docs/guides/migrate.md +127 -0
  563. package/docs/reference/cli.md +39 -0
  564. package/docs/troubleshooting.md +1 -0
  565. package/package.json +1 -1
  566. package/skills/debug/SKILL.md +1 -0
  567. package/skills/github/SKILL.md +23 -0
  568. package/skills/migrate-v2/SKILL.md +264 -0
  569. package/dist/docs/assets/chunks/@localSearchIndexroot.C25zYVuc.js +0 -1
  570. package/dist/docs/assets/chunks/channel.CRUyWDV-.js +0 -1
  571. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CG_UObcQ.js +0 -1
  572. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CG_UObcQ.js +0 -1
  573. package/dist/docs/assets/chunks/clone.NYSZ9qZN.js +0 -1
  574. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DOOmulfQ.js +0 -1
  575. package/dist/docs/assets/chunks/wardley-RL74JXVD.BJrCW6xc.js +0 -162
  576. package/dist/docs/assets/reference_cli.md.GwugN3n-.lean.js +0 -1
  577. package/dist/docs/assets/troubleshooting.md.Bscj6ODe.js +0 -1
  578. package/dist/playground/assets/index-DPKLl4C_.css +0 -1
  579. /package/dist/docs/assets/{building-with-agents.md.BPjPFxFg.lean.js → building-with-agents.md.Df87rAe1.lean.js} +0 -0
  580. /package/dist/docs/assets/{deployment.md.BdqTiGdc.lean.js → deployment.md.BYuEcDBv.lean.js} +0 -0
  581. /package/dist/docs/assets/{reference_skills.md.ClkMoQsV.lean.js → reference_skills.md.C0guGcH0.lean.js} +0 -0
@@ -8,8 +8,8 @@
8
8
  />
9
9
  <meta name="viewport" content="width=device-width, initial-scale=1" />
10
10
  <title>agent-serve playground</title>
11
- <script type="module" crossorigin src="./assets/index-MijLHTbB.js"></script>
12
- <link rel="stylesheet" crossorigin href="./assets/index-DPKLl4C_.css">
11
+ <script type="module" crossorigin src="./assets/index-JekUQERK.js"></script>
12
+ <link rel="stylesheet" crossorigin href="./assets/index-DXm_VXAQ.css">
13
13
  </head>
14
14
  <body>
15
15
  <div id="root"></div>
package/dist/prompt.js CHANGED
@@ -30,11 +30,9 @@
30
30
  * ```
31
31
  */
32
32
  function dedentLines(strings, values) {
33
- var _a, _b;
34
- var _c, _d;
35
33
  let text = "";
36
34
  for (let i = 0; i < strings.length; i++) {
37
- text += (_c = strings[i]) !== null && _c !== void 0 ? _c : "";
35
+ text += strings[i] ?? "";
38
36
  if (i < values.length) {
39
37
  text += String(values[i]);
40
38
  }
@@ -50,7 +48,7 @@ function dedentLines(strings, values) {
50
48
  if (line.trim() === "") {
51
49
  continue;
52
50
  }
53
- const indent = (_d = (_b = (_a = /^[ \t]*/u.exec(line)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.length) !== null && _d !== void 0 ? _d : 0;
51
+ const indent = /^[ \t]*/u.exec(line)?.[0]?.length ?? 0;
54
52
  if (indent < minIndent) {
55
53
  minIndent = indent;
56
54
  }
@@ -8,19 +8,9 @@
8
8
  * This backend is selected automatically for architecture v2. Authors do
9
9
  * not import it, and `agent/storage.ts` is rejected on v2.
10
10
  */
11
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
- return new (P || (P = Promise))(function (resolve, reject) {
14
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
- step((generator = generator.apply(thisArg, _arguments || [])).next());
18
- });
19
- };
20
11
  import { CURSOR_HOSTED_STORAGE, cursorHostedStorage, storageRpc, } from "./cursor-hosted.js";
21
12
  const KV_V2_PREFIX = "/internal/agentsdk/kv";
22
13
  function toCasResult(response) {
23
- var _a;
24
14
  if (response.ok) {
25
15
  if (response.version === null) {
26
16
  throw new Error("cursorHostedStorageV2: conditional write succeeded without a version token");
@@ -30,7 +20,7 @@ function toCasResult(response) {
30
20
  const current = response.current === null
31
21
  ? undefined
32
22
  : {
33
- value: (_a = response.current.value) !== null && _a !== void 0 ? _a : null,
23
+ value: response.current.value ?? null,
34
24
  version: response.current.version,
35
25
  };
36
26
  return { ok: false, current };
@@ -41,22 +31,20 @@ function toCasResult(response) {
41
31
  * that fails to advance means a broken server — fail loudly rather than
42
32
  * loop forever.
43
33
  */
44
- function listAllPages(options, body) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const entries = [];
47
- let cursor;
48
- for (;;) {
49
- const page = yield storageRpc(options, `${KV_V2_PREFIX}/list`, cursor === undefined ? body : Object.assign(Object.assign({}, body), { cursor }));
50
- entries.push(...page.entries);
51
- if (page.nextCursor === null) {
52
- return entries;
53
- }
54
- if (cursor !== undefined && page.nextCursor <= cursor) {
55
- throw new Error(`cursorHostedStorageV2: list("${body.prefix}") cursor did not advance`);
56
- }
57
- cursor = page.nextCursor;
34
+ async function listAllPages(options, body) {
35
+ const entries = [];
36
+ let cursor;
37
+ for (;;) {
38
+ const page = await storageRpc(options, `${KV_V2_PREFIX}/list`, cursor === undefined ? body : { ...body, cursor });
39
+ entries.push(...page.entries);
40
+ if (page.nextCursor === null) {
41
+ return entries;
42
+ }
43
+ if (cursor !== undefined && page.nextCursor <= cursor) {
44
+ throw new Error(`cursorHostedStorageV2: list("${body.prefix}") cursor did not advance`);
58
45
  }
59
- });
46
+ cursor = page.nextCursor;
47
+ }
60
48
  }
61
49
  /**
62
50
  * Architecture-v2 managed storage methods. The platform spreads these into
@@ -68,74 +56,56 @@ export function cursorHostedStorageV2(options = {}) {
68
56
  const v1 = cursorHostedStorage(options);
69
57
  return {
70
58
  [CURSOR_HOSTED_STORAGE]: true,
71
- put(key, value) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- yield storageRpc(options, `${KV_V2_PREFIX}/put`, { key, value });
74
- });
59
+ async put(key, value) {
60
+ await storageRpc(options, `${KV_V2_PREFIX}/put`, { key, value });
75
61
  },
76
- get(key) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- var _a;
79
- const result = yield storageRpc(options, `${KV_V2_PREFIX}/get`, { key });
80
- if (!result.found) {
81
- return undefined;
82
- }
83
- return (_a = result.value) !== null && _a !== void 0 ? _a : undefined;
84
- });
62
+ async get(key) {
63
+ const result = await storageRpc(options, `${KV_V2_PREFIX}/get`, { key });
64
+ if (!result.found) {
65
+ return undefined;
66
+ }
67
+ return result.value ?? undefined;
85
68
  },
86
- delete(key) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- yield storageRpc(options, `${KV_V2_PREFIX}/delete`, { key });
89
- });
69
+ async delete(key) {
70
+ await storageRpc(options, `${KV_V2_PREFIX}/delete`, { key });
90
71
  },
91
- list(prefix) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- const entries = yield listAllPages(options, { prefix });
94
- return entries.map(entry => { var _a; return ({
95
- key: entry.key,
96
- value: (_a = entry.value) !== null && _a !== void 0 ? _a : null,
97
- }); });
98
- });
72
+ async list(prefix) {
73
+ const entries = await listAllPages(options, { prefix });
74
+ return entries.map(entry => ({
75
+ key: entry.key,
76
+ value: entry.value ?? null,
77
+ }));
99
78
  },
100
79
  cas: {
101
- getWithVersion(key) {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- var _a;
104
- const result = yield storageRpc(options, `${KV_V2_PREFIX}/get`, { key });
105
- if (!result.found || result.version === null) {
106
- return undefined;
107
- }
108
- return { value: (_a = result.value) !== null && _a !== void 0 ? _a : null, version: result.version };
109
- });
80
+ async getWithVersion(key) {
81
+ const result = await storageRpc(options, `${KV_V2_PREFIX}/get`, { key });
82
+ if (!result.found || result.version === null) {
83
+ return undefined;
84
+ }
85
+ return { value: result.value ?? null, version: result.version };
110
86
  },
111
- putIfAbsent(key, value) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- const result = yield storageRpc(options, `${KV_V2_PREFIX}/put`, {
114
- key,
115
- value,
116
- ifAbsent: true,
117
- });
118
- return toCasResult(result);
87
+ async putIfAbsent(key, value) {
88
+ const result = await storageRpc(options, `${KV_V2_PREFIX}/put`, {
89
+ key,
90
+ value,
91
+ ifAbsent: true,
119
92
  });
93
+ return toCasResult(result);
120
94
  },
121
- putIfVersion(key, value, expectedVersion) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- const result = yield storageRpc(options, `${KV_V2_PREFIX}/put`, {
124
- key,
125
- value,
126
- ifVersion: expectedVersion,
127
- });
128
- return toCasResult(result);
95
+ async putIfVersion(key, value, expectedVersion) {
96
+ const result = await storageRpc(options, `${KV_V2_PREFIX}/put`, {
97
+ key,
98
+ value,
99
+ ifVersion: expectedVersion,
129
100
  });
101
+ return toCasResult(result);
130
102
  },
131
- listKeys(prefix) {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- const entries = yield listAllPages(options, {
134
- prefix,
135
- keysOnly: true,
136
- });
137
- return entries.map(entry => entry.key);
103
+ async listKeys(prefix) {
104
+ const entries = await listAllPages(options, {
105
+ prefix,
106
+ keysOnly: true,
138
107
  });
108
+ return entries.map(entry => entry.key);
139
109
  },
140
110
  },
141
111
  evals: v1.evals,
@@ -6,15 +6,6 @@
6
6
  * engine never receives a database URL. Cursor manages its storage
7
7
  * environment variables; do not add them to `hosting.secretNames`.
8
8
  */
9
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
- return new (P || (P = Promise))(function (resolve, reject) {
12
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
- step((generator = generator.apply(thisArg, _arguments || [])).next());
16
- });
17
- };
18
9
  import { injectActiveTraceContext } from "../otel.js";
19
10
  /**
20
11
  * Same default as {@link cursorExternalApiUrl} in the CLI credentials module,
@@ -67,7 +58,6 @@ export class StorageRpcError extends Error {
67
58
  }
68
59
  }
69
60
  function toCasResult(response) {
70
- var _a;
71
61
  if (response.ok) {
72
62
  if (response.version === null) {
73
63
  throw new Error("cursorHostedStorage: CAS success without a version token");
@@ -77,76 +67,72 @@ function toCasResult(response) {
77
67
  const current = response.current === null
78
68
  ? undefined
79
69
  : {
80
- value: (_a = response.current.value) !== null && _a !== void 0 ? _a : null,
70
+ value: response.current.value ?? null,
81
71
  version: response.current.version,
82
72
  };
83
73
  return { ok: false, current };
84
74
  }
85
75
  function resolveApiKey(options) {
86
- var _a, _b;
87
- var _c;
88
- const configured = (_c = (_a = options.resolveApiKey) === null || _a === void 0 ? void 0 : _a.call(options)) !== null && _c !== void 0 ? _c : options.apiKey;
89
- const key = (_b = (configured !== null && configured !== void 0 ? configured : process.env.CURSOR_API_KEY)) === null || _b === void 0 ? void 0 : _b.trim();
76
+ const configured = options.resolveApiKey?.() ?? options.apiKey;
77
+ const key = (configured ?? process.env.CURSOR_API_KEY)?.trim();
90
78
  if (key === undefined || key === "") {
91
79
  throw new Error("cursorHostedStorage requires CURSOR_API_KEY (deployment pod credential on Cursor hosting)");
92
80
  }
93
81
  return key;
94
82
  }
95
83
  function resolveBaseUrl(options) {
96
- var _a, _b;
97
- const raw = ((_b = (_a = options.baseUrl) !== null && _a !== void 0 ? _a : process.env.CURSOR_API_BASE_URL) !== null && _b !== void 0 ? _b : DEFAULT_CURSOR_EXTERNAL_API_URL).trim();
84
+ const raw = (options.baseUrl ??
85
+ process.env.CURSOR_API_BASE_URL ??
86
+ DEFAULT_CURSOR_EXTERNAL_API_URL).trim();
98
87
  return raw.endsWith("/") ? raw.slice(0, -1) : raw;
99
88
  }
100
89
  /**
101
90
  * Send one authenticated request through the control-plane proxy.
102
91
  */
103
- export function storageRpc(options, path, body) {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- var _a;
106
- const baseUrl = resolveBaseUrl(options);
107
- const apiKey = resolveApiKey(options);
108
- const fetchImpl = (_a = options.fetch) !== null && _a !== void 0 ? _a : globalThis.fetch;
109
- if (typeof fetchImpl !== "function") {
110
- throw new Error("cursorHostedStorage requires fetch");
111
- }
112
- const headers = new Headers({
113
- Authorization: `Bearer ${apiKey}`,
114
- "Content-Type": "application/json",
115
- });
116
- injectActiveTraceContext(headers);
117
- const response = yield fetchImpl(`${baseUrl}${path}`, {
118
- method: "POST",
119
- headers,
120
- body: JSON.stringify(body),
121
- });
122
- const text = yield response.text();
123
- let parsed;
124
- try {
125
- parsed = text.length === 0 ? {} : JSON.parse(text);
126
- }
127
- catch (_b) {
128
- throw new Error(`cursorHostedStorage ${path} returned non-JSON (${response.status})`);
129
- }
130
- if (!response.ok) {
131
- const error = parsed !== null &&
132
- typeof parsed === "object" &&
133
- "error" in parsed &&
134
- typeof parsed.error === "string"
135
- ? parsed.error
136
- : `HTTP ${response.status}`;
137
- const candidate = parsed !== null &&
138
- typeof parsed === "object" &&
139
- "code" in parsed &&
140
- typeof parsed.code === "string"
141
- ? parsed.code
142
- : undefined;
143
- const code = candidate !== undefined && STORAGE_RPC_ERROR_CODES.has(candidate)
144
- ? candidate
145
- : "agentsdk_storage_http_error";
146
- throw new StorageRpcError(`cursorHostedStorage ${path}: ${error}`, code, response.status);
147
- }
148
- return parsed;
92
+ export async function storageRpc(options, path, body) {
93
+ const baseUrl = resolveBaseUrl(options);
94
+ const apiKey = resolveApiKey(options);
95
+ const fetchImpl = options.fetch ?? globalThis.fetch;
96
+ if (typeof fetchImpl !== "function") {
97
+ throw new Error("cursorHostedStorage requires fetch");
98
+ }
99
+ const headers = new Headers({
100
+ Authorization: `Bearer ${apiKey}`,
101
+ "Content-Type": "application/json",
102
+ });
103
+ injectActiveTraceContext(headers);
104
+ const response = await fetchImpl(`${baseUrl}${path}`, {
105
+ method: "POST",
106
+ headers,
107
+ body: JSON.stringify(body),
149
108
  });
109
+ const text = await response.text();
110
+ let parsed;
111
+ try {
112
+ parsed = text.length === 0 ? {} : JSON.parse(text);
113
+ }
114
+ catch {
115
+ throw new Error(`cursorHostedStorage ${path} returned non-JSON (${response.status})`);
116
+ }
117
+ if (!response.ok) {
118
+ const error = parsed !== null &&
119
+ typeof parsed === "object" &&
120
+ "error" in parsed &&
121
+ typeof parsed.error === "string"
122
+ ? parsed.error
123
+ : `HTTP ${response.status}`;
124
+ const candidate = parsed !== null &&
125
+ typeof parsed === "object" &&
126
+ "code" in parsed &&
127
+ typeof parsed.code === "string"
128
+ ? parsed.code
129
+ : undefined;
130
+ const code = candidate !== undefined && STORAGE_RPC_ERROR_CODES.has(candidate)
131
+ ? candidate
132
+ : "agentsdk_storage_http_error";
133
+ throw new StorageRpcError(`cursorHostedStorage ${path}: ${error}`, code, response.status);
134
+ }
135
+ return parsed;
150
136
  }
151
137
  /**
152
138
  * Cursor-managed durable storage methods. Requests use the control-plane
@@ -155,110 +141,84 @@ export function storageRpc(options, path, body) {
155
141
  export function cursorHostedStorage(options = {}) {
156
142
  return {
157
143
  [CURSOR_HOSTED_STORAGE]: true,
158
- put(key, value) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- yield storageRpc(options, "/internal/agent-serve/storage/kv/put", {
161
- key,
162
- value,
163
- });
144
+ async put(key, value) {
145
+ await storageRpc(options, "/internal/agent-serve/storage/kv/put", {
146
+ key,
147
+ value,
164
148
  });
165
149
  },
166
- get(key) {
167
- return __awaiter(this, void 0, void 0, function* () {
168
- var _a;
169
- const result = yield storageRpc(options, "/internal/agent-serve/storage/kv/get", { key });
170
- if (!result.found) {
171
- return undefined;
172
- }
173
- return (_a = result.value) !== null && _a !== void 0 ? _a : undefined;
174
- });
150
+ async get(key) {
151
+ const result = await storageRpc(options, "/internal/agent-serve/storage/kv/get", { key });
152
+ if (!result.found) {
153
+ return undefined;
154
+ }
155
+ return result.value ?? undefined;
175
156
  },
176
- delete(key) {
177
- return __awaiter(this, void 0, void 0, function* () {
178
- yield storageRpc(options, "/internal/agent-serve/storage/kv/delete", {
179
- key,
180
- });
157
+ async delete(key) {
158
+ await storageRpc(options, "/internal/agent-serve/storage/kv/delete", {
159
+ key,
181
160
  });
182
161
  },
183
- list(prefix) {
184
- return __awaiter(this, void 0, void 0, function* () {
185
- const result = yield storageRpc(options, "/internal/agent-serve/storage/kv/list", { prefix });
186
- return result.entries;
187
- });
162
+ async list(prefix) {
163
+ const result = await storageRpc(options, "/internal/agent-serve/storage/kv/list", { prefix });
164
+ return result.entries;
188
165
  },
189
- listNewest(prefix, limit) {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- // Same route; the server orders the prefix range by row write time
192
- // and caps the rows instead of returning the whole range.
193
- const result = yield storageRpc(options, "/internal/agent-serve/storage/kv/list", {
194
- prefix,
195
- limit,
196
- newestFirst: true,
197
- });
198
- return result.entries;
166
+ async listNewest(prefix, limit) {
167
+ // Same route; the server orders the prefix range by row write time
168
+ // and caps the rows instead of returning the whole range.
169
+ const result = await storageRpc(options, "/internal/agent-serve/storage/kv/list", {
170
+ prefix,
171
+ limit,
172
+ newestFirst: true,
199
173
  });
174
+ return result.entries;
200
175
  },
201
176
  // Conditional writes over the same proxy (server routes: see the CAS
202
177
  // wire-protocol block above). The proxy scopes rows from the service
203
178
  // account, so ctx is not part of the wire contract.
204
179
  cas: {
205
- getWithVersion(key) {
206
- return __awaiter(this, void 0, void 0, function* () {
207
- var _a;
208
- const result = yield storageRpc(options, "/internal/agent-serve/storage/kv/get-with-version", { key });
209
- if (!result.found || result.version === null) {
210
- return undefined;
211
- }
212
- return { value: (_a = result.value) !== null && _a !== void 0 ? _a : null, version: result.version };
213
- });
180
+ async getWithVersion(key) {
181
+ const result = await storageRpc(options, "/internal/agent-serve/storage/kv/get-with-version", { key });
182
+ if (!result.found || result.version === null) {
183
+ return undefined;
184
+ }
185
+ return { value: result.value ?? null, version: result.version };
214
186
  },
215
- putIfAbsent(key, value) {
216
- return __awaiter(this, void 0, void 0, function* () {
217
- const result = yield storageRpc(options, "/internal/agent-serve/storage/kv/put-if-absent", { key, value });
218
- return toCasResult(result);
219
- });
187
+ async putIfAbsent(key, value) {
188
+ const result = await storageRpc(options, "/internal/agent-serve/storage/kv/put-if-absent", { key, value });
189
+ return toCasResult(result);
220
190
  },
221
- putIfVersion(key, value, expectedVersion) {
222
- return __awaiter(this, void 0, void 0, function* () {
223
- const result = yield storageRpc(options, "/internal/agent-serve/storage/kv/put-if-version", { key, value, expectedVersion });
224
- return toCasResult(result);
225
- });
191
+ async putIfVersion(key, value, expectedVersion) {
192
+ const result = await storageRpc(options, "/internal/agent-serve/storage/kv/put-if-version", { key, value, expectedVersion });
193
+ return toCasResult(result);
226
194
  },
227
- listKeys(prefix) {
228
- return __awaiter(this, void 0, void 0, function* () {
229
- const result = yield storageRpc(options, "/internal/agent-serve/storage/kv/list-keys", { prefix });
230
- if (result.truncated === true) {
231
- // Callers treat the result as the complete key set; a silently
232
- // capped scan hides missing keys. Fail loudly until pagination
233
- // lands.
234
- throw new Error(`cursorHostedStorage: listKeys("${prefix}") exceeded the server's row cap and was truncated; the result is incomplete`);
235
- }
236
- return result.keys;
237
- });
195
+ async listKeys(prefix) {
196
+ const result = await storageRpc(options, "/internal/agent-serve/storage/kv/list-keys", { prefix });
197
+ if (result.truncated === true) {
198
+ // Callers treat the result as the complete key set; a silently
199
+ // capped scan hides missing keys. Fail loudly until pagination
200
+ // lands.
201
+ throw new Error(`cursorHostedStorage: listKeys("${prefix}") exceeded the server's row cap and was truncated; the result is incomplete`);
202
+ }
203
+ return result.keys;
238
204
  },
239
205
  },
240
206
  evals: {
241
- put(run, ctx) {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- yield storageRpc(options, "/internal/agent-serve/storage/evals/put", {
244
- agentName: ctx.agentName,
245
- run,
246
- });
207
+ async put(run, ctx) {
208
+ await storageRpc(options, "/internal/agent-serve/storage/evals/put", {
209
+ agentName: ctx.agentName,
210
+ run,
247
211
  });
248
212
  },
249
- delete(runId, ctx) {
250
- return __awaiter(this, void 0, void 0, function* () {
251
- yield storageRpc(options, "/internal/agent-serve/storage/evals/delete", {
252
- agentName: ctx.agentName,
253
- runId,
254
- });
213
+ async delete(runId, ctx) {
214
+ await storageRpc(options, "/internal/agent-serve/storage/evals/delete", {
215
+ agentName: ctx.agentName,
216
+ runId,
255
217
  });
256
218
  },
257
- list(ctx) {
258
- return __awaiter(this, void 0, void 0, function* () {
259
- const result = yield storageRpc(options, "/internal/agent-serve/storage/evals/list", { agentName: ctx.agentName });
260
- return result.runs;
261
- });
219
+ async list(ctx) {
220
+ const result = await storageRpc(options, "/internal/agent-serve/storage/evals/list", { agentName: ctx.agentName });
221
+ return result.runs;
262
222
  },
263
223
  },
264
224
  };