@cursor/bdk 0.2.9 → 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 (570) hide show
  1. package/dist/artifacts.js +3 -5
  2. package/dist/bin/agent-serve.js +803 -812
  3. package/dist/channels/bitbucket/api.js +305 -321
  4. package/dist/channels/bitbucket/binding.js +97 -61
  5. package/dist/channels/bitbucket/bitbucket-channel.d.ts +15 -1
  6. package/dist/channels/bitbucket/bitbucket-channel.d.ts.map +1 -1
  7. package/dist/channels/bitbucket/bitbucket-channel.js +95 -42
  8. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +11 -0
  9. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
  10. package/dist/channels/bitbucket/bitbucket-webhook.js +214 -204
  11. package/dist/channels/bitbucket/checks.js +9 -21
  12. package/dist/channels/bitbucket/cursor-account.js +1 -1
  13. package/dist/channels/bitbucket/defaults.js +14 -4
  14. package/dist/channels/bitbucket/events.js +1 -2
  15. package/dist/channels/bitbucket/index.d.ts +6 -2
  16. package/dist/channels/bitbucket/index.d.ts.map +1 -1
  17. package/dist/channels/bitbucket/index.js +6 -2
  18. package/dist/channels/bitbucket/replay.js +80 -56
  19. package/dist/channels/bitbucket/state.js +16 -7
  20. package/dist/channels/bitbucket/types.d.ts +11 -2
  21. package/dist/channels/bitbucket/types.d.ts.map +1 -1
  22. package/dist/channels/checks.js +18 -28
  23. package/dist/channels/deployments/deployments-channel.js +26 -34
  24. package/dist/channels/github/api.js +216 -210
  25. package/dist/channels/github/auth.d.ts +5 -1
  26. package/dist/channels/github/auth.d.ts.map +1 -1
  27. package/dist/channels/github/auth.js +157 -174
  28. package/dist/channels/github/binding.js +48 -39
  29. package/dist/channels/github/checks.js +9 -14
  30. package/dist/channels/github/cursor-account.js +6 -11
  31. package/dist/channels/github/defaults.js +105 -130
  32. package/dist/channels/github/forward.js +13 -17
  33. package/dist/channels/github/github-channel.d.ts +43 -2
  34. package/dist/channels/github/github-channel.d.ts.map +1 -1
  35. package/dist/channels/github/github-channel.js +1228 -958
  36. package/dist/channels/github/progress.js +145 -146
  37. package/dist/channels/github/replay.js +30 -39
  38. package/dist/channels/github/state.js +40 -16
  39. package/dist/channels/github/types.d.ts +30 -6
  40. package/dist/channels/github/types.d.ts.map +1 -1
  41. package/dist/channels/gitlab/api.js +100 -114
  42. package/dist/channels/gitlab/binding.js +52 -33
  43. package/dist/channels/gitlab/checks.js +28 -29
  44. package/dist/channels/gitlab/cursor-account.js +1 -1
  45. package/dist/channels/gitlab/defaults.js +9 -3
  46. package/dist/channels/gitlab/gitlab-channel.d.ts +16 -1
  47. package/dist/channels/gitlab/gitlab-channel.d.ts.map +1 -1
  48. package/dist/channels/gitlab/gitlab-channel.js +95 -42
  49. package/dist/channels/gitlab/gitlab-webhook.d.ts +10 -1
  50. package/dist/channels/gitlab/gitlab-webhook.d.ts.map +1 -1
  51. package/dist/channels/gitlab/gitlab-webhook.js +282 -249
  52. package/dist/channels/gitlab/index.d.ts +6 -2
  53. package/dist/channels/gitlab/index.d.ts.map +1 -1
  54. package/dist/channels/gitlab/index.js +6 -2
  55. package/dist/channels/gitlab/replay.js +50 -27
  56. package/dist/channels/gitlab/state.js +14 -6
  57. package/dist/channels/gitlab/types.d.ts +13 -2
  58. package/dist/channels/gitlab/types.d.ts.map +1 -1
  59. package/dist/channels/origin/api.js +100 -116
  60. package/dist/channels/origin/binding.js +15 -16
  61. package/dist/channels/origin/checks.js +30 -28
  62. package/dist/channels/origin/defaults.js +50 -65
  63. package/dist/channels/origin/origin-channel.js +266 -272
  64. package/dist/channels/origin/origin-webhook.js +70 -88
  65. package/dist/channels/origin/reactions.js +9 -21
  66. package/dist/channels/origin/state.js +13 -5
  67. package/dist/channels/slack/agentic-delivery.js +426 -478
  68. package/dist/channels/slack/agentic-posted.js +9 -10
  69. package/dist/channels/slack/agentic-signals.js +2 -3
  70. package/dist/channels/slack/api.js +417 -427
  71. package/dist/channels/slack/approvals.js +1 -1
  72. package/dist/channels/slack/assistant.js +37 -47
  73. package/dist/channels/slack/attachments.js +188 -206
  74. package/dist/channels/slack/auth.js +8 -6
  75. package/dist/channels/slack/bot-mentions.js +31 -45
  76. package/dist/channels/slack/channel-watch.js +42 -48
  77. package/dist/channels/slack/cli-project.js +112 -137
  78. package/dist/channels/slack/code-fences.js +3 -5
  79. package/dist/channels/slack/constants.js +2 -2
  80. package/dist/channels/slack/credentials.js +23 -38
  81. package/dist/channels/slack/defaults.js +292 -331
  82. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  83. package/dist/channels/slack/dispatch.js +533 -460
  84. package/dist/channels/slack/doctor.js +200 -214
  85. package/dist/channels/slack/eval-directive.js +79 -96
  86. package/dist/channels/slack/event-id-dedupe.js +1 -1
  87. package/dist/channels/slack/external-policy.js +26 -39
  88. package/dist/channels/slack/footer.js +28 -41
  89. package/dist/channels/slack/inbound.d.ts +1 -0
  90. package/dist/channels/slack/inbound.d.ts.map +1 -1
  91. package/dist/channels/slack/inbound.js +50 -31
  92. package/dist/channels/slack/init.d.ts +1 -5
  93. package/dist/channels/slack/init.d.ts.map +1 -1
  94. package/dist/channels/slack/init.js +42 -59
  95. package/dist/channels/slack/interactive.d.ts +9 -3
  96. package/dist/channels/slack/interactive.d.ts.map +1 -1
  97. package/dist/channels/slack/interactive.js +160 -162
  98. package/dist/channels/slack/links.js +1 -2
  99. package/dist/channels/slack/live-delivery.js +172 -190
  100. package/dist/channels/slack/manifest.d.ts.map +1 -1
  101. package/dist/channels/slack/manifest.js +44 -23
  102. package/dist/channels/slack/message-body.js +2 -2
  103. package/dist/channels/slack/nudge-carrier.js +30 -42
  104. package/dist/channels/slack/nudge-store.js +164 -191
  105. package/dist/channels/slack/paint-start.js +66 -81
  106. package/dist/channels/slack/placeholder.js +123 -152
  107. package/dist/channels/slack/pr-ref.js +1 -1
  108. package/dist/channels/slack/progress-delivery.js +65 -78
  109. package/dist/channels/slack/reasoning-card.js +36 -49
  110. package/dist/channels/slack/recording-sink.js +12 -24
  111. package/dist/channels/slack/reply-options.js +7 -12
  112. package/dist/channels/slack/self-identity.js +27 -35
  113. package/dist/channels/slack/sender-name.d.ts +12 -3
  114. package/dist/channels/slack/sender-name.d.ts.map +1 -1
  115. package/dist/channels/slack/sender-name.js +57 -61
  116. package/dist/channels/slack/setup.js +2 -4
  117. package/dist/channels/slack/slack-channel.d.ts +6 -4
  118. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  119. package/dist/channels/slack/slack-channel.js +441 -308
  120. package/dist/channels/slack/socket-mode.js +38 -52
  121. package/dist/channels/slack/thread-context.js +143 -160
  122. package/dist/channels/slack/tool-approval-events.js +149 -166
  123. package/dist/channels/slack/tool-cards.js +6 -11
  124. package/dist/channels/slack/tool-chip.js +1 -2
  125. package/dist/channels/slack/types.d.ts +15 -17
  126. package/dist/channels/slack/types.d.ts.map +1 -1
  127. package/dist/channels/slack/upload.js +84 -97
  128. package/dist/channels/slack/user-info.js +27 -41
  129. package/dist/channels.js +9 -20
  130. package/dist/dashboard-session-url.js +3 -4
  131. package/dist/docs/404.html +2 -2
  132. package/dist/docs/assets/{app.BNhEdGa8.js → app.DXI7bwox.js} +4 -4
  133. package/dist/docs/assets/{building-with-agents.md.BPjPFxFg.js → building-with-agents.md.Df87rAe1.js} +1 -1
  134. package/dist/docs/assets/chunks/@localSearchIndexroot.CtLtpWcx.js +1 -0
  135. package/dist/docs/assets/chunks/{VPLocalSearchBox.DIdUV1Ph.js → VPLocalSearchBox.BrbO5mEe.js} +1 -1
  136. package/dist/docs/assets/chunks/{arc.lELI4_SR.js → arc.BOG1yms8.js} +1 -1
  137. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.iCMdvuoM.js → architectureDiagram-Q4EWVU46.C0hsMZnZ.js} +1 -1
  138. package/dist/docs/assets/chunks/{baseUniq.C1-nDJBf.js → baseUniq.H044KjKs.js} +1 -1
  139. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.ClemzBox.js → blockDiagram-DXYQGD6D.BsRW6GoB.js} +1 -1
  140. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.BqTak6cR.js → c4Diagram-AHTNJAMY.B9HV5PFR.js} +1 -1
  141. package/dist/docs/assets/chunks/channel.CBwrU9rP.js +1 -0
  142. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.CUS3qs_R.js → chunk-4BX2VUAB.CPoT_ajl.js} +1 -1
  143. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.dz5fdHcl.js → chunk-4TB4RGXK.DZBwWuCL.js} +1 -1
  144. package/dist/docs/assets/chunks/{chunk-55IACEB6.D6BEBmve.js → chunk-55IACEB6.CZ3yTiyq.js} +1 -1
  145. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.B5uK4ID9.js → chunk-EDXVE4YY.6DfvHSd8.js} +1 -1
  146. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.PgOJgNQs.js → chunk-FMBD7UC4.CpBj8HfK.js} +1 -1
  147. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CvkTrCii.js → chunk-OYMX7WX6.BdKo8YqS.js} +1 -1
  148. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BnSfKYsB.js → chunk-QZHKN3VN.BnXNyxJx.js} +1 -1
  149. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.MZH6v5UC.js → chunk-YZCP3GAM.Cg1OcF8G.js} +1 -1
  150. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CbC_mrvB.js +1 -0
  151. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CbC_mrvB.js +1 -0
  152. package/dist/docs/assets/chunks/clone.BTvFyY1a.js +1 -0
  153. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BBbw_YZi.js → cose-bilkent-S5V4N54A.1SP8al9c.js} +1 -1
  154. package/dist/docs/assets/chunks/{dagre-KV5264BT.CNJB2l7E.js → dagre-KV5264BT.DS1L6hJt.js} +1 -1
  155. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.BQzlnFfq.js → diagram-5BDNPKRD.ChsausbG.js} +1 -1
  156. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DkgqqZMz.js → diagram-G4DWMVQ6.3XsptNWj.js} +1 -1
  157. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.DIT8L7H_.js → diagram-MMDJMWI5.DPA9Dk_P.js} +1 -1
  158. package/dist/docs/assets/chunks/{diagram-TYMM5635.3xLPZWGJ.js → diagram-TYMM5635.BVswXWrB.js} +1 -1
  159. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.5_IHz8jF.js → erDiagram-SMLLAGMA.BSak5OSP.js} +1 -1
  160. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.BGUCXz8A.js → flowDiagram-DWJPFMVM.CQgN4TTz.js} +1 -1
  161. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.DbfFavS1.js → ganttDiagram-T4ZO3ILL.GrT0kA4a.js} +1 -1
  162. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.D2yKdeNW.js → gitGraphDiagram-UUTBAWPF.CdS7Ucll.js} +1 -1
  163. package/dist/docs/assets/chunks/{graph.CSCxwHba.js → graph.BVqKRmRo.js} +1 -1
  164. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.FDeb6xHY.js → infoDiagram-42DDH7IO.C3C9FRto.js} +1 -1
  165. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DbeYs9VL.js → ishikawaDiagram-UXIWVN3A.2FuAh_Zj.js} +1 -1
  166. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CWjKINpx.js → journeyDiagram-VCZTEJTY.CaHMfK4b.js} +1 -1
  167. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.B4FrAlwz.js → kanban-definition-6JOO6SKY.CjhIUwcA.js} +1 -1
  168. package/dist/docs/assets/chunks/{layout.DFGxQ9ab.js → layout.CGU3gfSf.js} +1 -1
  169. package/dist/docs/assets/chunks/{linear.BmjZ-G59.js → linear.DaihpW_n.js} +1 -1
  170. package/dist/docs/assets/chunks/{min.DZSxulMW.js → min.BS-j8kHQ.js} +1 -1
  171. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.CHLi3-aN.js → mindmap-definition-QFDTVHPH.BVJ1Bbnk.js} +1 -1
  172. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.DteG-CkU.js → pieDiagram-DEJITSTG.Cz1WIv9r.js} +1 -1
  173. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D458ipN3.js → quadrantDiagram-34T5L4WZ.DKLFxcjy.js} +1 -1
  174. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DcFgUxst.js → requirementDiagram-MS252O5E.BHegiK7x.js} +1 -1
  175. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BwQAMmSA.js → sankeyDiagram-XADWPNL6.DYkY6yPc.js} +1 -1
  176. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.B_Xdsrh9.js → sequenceDiagram-FGHM5R23.DYQ1QUrI.js} +1 -1
  177. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.CdfDW6-C.js → stateDiagram-FHFEXIEX.Iru8BsFo.js} +1 -1
  178. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BYXl4LW6.js +1 -0
  179. package/dist/docs/assets/chunks/{theme.sfdL3srp.js → theme.DaplWQhQ.js} +2 -2
  180. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.56-4hXaC.js → timeline-definition-GMOUNBTQ.BwFA8hiX.js} +1 -1
  181. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CvZSQBO7.js → vennDiagram-DHZGUBPP.CZ60W1C_.js} +1 -1
  182. package/dist/docs/assets/chunks/{wardley-RL74JXVD.C9qc8k39.js → wardley-RL74JXVD.iXazD3Z7.js} +1 -1
  183. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.D9s0nihi.js → wardleyDiagram-NUSXRM2D.B69D2r8-.js} +1 -1
  184. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.BVJSpYrC.js → xychartDiagram-5P7HB3ND.CLPZEIU9.js} +1 -1
  185. package/dist/docs/assets/{deployment.md.BdqTiGdc.js → deployment.md.BYuEcDBv.js} +2 -2
  186. package/dist/docs/assets/{guides_bitbucket.md.BB6fqD-M.js → guides_bitbucket.md.CKUayYtD.js} +3 -3
  187. package/dist/docs/assets/{guides_bitbucket.md.BB6fqD-M.lean.js → guides_bitbucket.md.CKUayYtD.lean.js} +1 -1
  188. package/dist/docs/assets/{guides_github.md.Cr1Xlf-m.js → guides_github.md.TuNiZAOQ.js} +4 -4
  189. package/dist/docs/assets/{guides_github.md.Cr1Xlf-m.lean.js → guides_github.md.TuNiZAOQ.lean.js} +1 -1
  190. package/dist/docs/assets/{guides_gitlab.md.CMpmFi4M.js → guides_gitlab.md.CtNI4fSH.js} +4 -4
  191. package/dist/docs/assets/{guides_gitlab.md.CMpmFi4M.lean.js → guides_gitlab.md.CtNI4fSH.lean.js} +1 -1
  192. package/dist/docs/assets/guides_migrate.md.sCAvvlC6.js +7 -0
  193. package/dist/docs/assets/guides_migrate.md.sCAvvlC6.lean.js +1 -0
  194. package/dist/docs/assets/{reference_cli.md.GwugN3n-.js → reference_cli.md.dYCAL2lB.js} +4 -3
  195. package/dist/docs/assets/reference_cli.md.dYCAL2lB.lean.js +1 -0
  196. package/dist/docs/assets/{reference_skills.md.ClkMoQsV.js → reference_skills.md.C0guGcH0.js} +3 -3
  197. package/dist/docs/assets/troubleshooting.md.x-GBa7wN.js +1 -0
  198. package/dist/docs/assets/{troubleshooting.md.Bscj6ODe.lean.js → troubleshooting.md.x-GBa7wN.lean.js} +1 -1
  199. package/dist/docs/building-with-agents.html +37 -37
  200. package/dist/docs/building-with-agents.md +2 -0
  201. package/dist/docs/deployment.html +38 -38
  202. package/dist/docs/deployment.md +7 -0
  203. package/dist/docs/evals.html +36 -36
  204. package/dist/docs/guides/agent-to-agent.html +35 -35
  205. package/dist/docs/guides/bitbucket.html +38 -38
  206. package/dist/docs/guides/bitbucket.md +9 -1
  207. package/dist/docs/guides/cloud-agents.html +35 -35
  208. package/dist/docs/guides/convert-automation.html +35 -35
  209. package/dist/docs/guides/github.html +39 -39
  210. package/dist/docs/guides/github.md +20 -4
  211. package/dist/docs/guides/gitlab.html +38 -38
  212. package/dist/docs/guides/gitlab.md +9 -1
  213. package/dist/docs/guides/grokbot-agents.html +35 -35
  214. package/dist/docs/guides/hooks.html +35 -35
  215. package/dist/docs/guides/improve.html +35 -35
  216. package/dist/docs/guides/jev.html +35 -35
  217. package/dist/docs/guides/mcp-oauth.html +35 -35
  218. package/dist/docs/guides/migrate.html +66 -0
  219. package/dist/docs/guides/migrate.md +122 -0
  220. package/dist/docs/guides/opentelemetry.html +35 -35
  221. package/dist/docs/guides/slack.html +35 -35
  222. package/dist/docs/guides/webhooks.html +35 -35
  223. package/dist/docs/hashmap.json +1 -1
  224. package/dist/docs/hillclimbing.html +35 -35
  225. package/dist/docs/index.html +35 -35
  226. package/dist/docs/llms-full.txt +214 -6
  227. package/dist/docs/llms.txt +1 -0
  228. package/dist/docs/quickstart.html +35 -35
  229. package/dist/docs/reference/agent-config.html +35 -35
  230. package/dist/docs/reference/artifacts.html +35 -35
  231. package/dist/docs/reference/channels.html +35 -35
  232. package/dist/docs/reference/cli.html +39 -38
  233. package/dist/docs/reference/cli.md +39 -0
  234. package/dist/docs/reference/connections.html +35 -35
  235. package/dist/docs/reference/evals.html +35 -35
  236. package/dist/docs/reference/extensions.html +35 -35
  237. package/dist/docs/reference/hooks.html +35 -35
  238. package/dist/docs/reference/http-api.html +35 -35
  239. package/dist/docs/reference/instructions.html +35 -35
  240. package/dist/docs/reference/playground.html +35 -35
  241. package/dist/docs/reference/project-layout.html +35 -35
  242. package/dist/docs/reference/prompt.html +35 -35
  243. package/dist/docs/reference/schedules.html +35 -35
  244. package/dist/docs/reference/sessions.html +35 -35
  245. package/dist/docs/reference/skills.html +38 -38
  246. package/dist/docs/reference/subagents.html +35 -35
  247. package/dist/docs/reference/tools.html +35 -35
  248. package/dist/docs/templates/agentic-owners.html +35 -35
  249. package/dist/docs/templates/grokbot-agents.html +35 -35
  250. package/dist/docs/templates/security-reviewer.html +35 -35
  251. package/dist/docs/templates/thermo-quality-review.html +35 -35
  252. package/dist/docs/templates/thermo-review.html +35 -35
  253. package/dist/docs/templates/triage.html +35 -35
  254. package/dist/docs/troubleshooting.html +36 -36
  255. package/dist/docs/troubleshooting.md +1 -0
  256. package/dist/evals/assertions.js +20 -34
  257. package/dist/evals/expect.js +3 -6
  258. package/dist/evals/judge.js +5 -8
  259. package/dist/evals/loaders.js +45 -62
  260. package/dist/evals/matchers.js +2 -3
  261. package/dist/evals/reporters.js +43 -67
  262. package/dist/evals/results.js +1 -1
  263. package/dist/evals/run-facts.js +5 -6
  264. package/dist/evals.js +27 -15
  265. package/dist/extensions/cursor-cloud-agents/extension.js +4 -1
  266. package/dist/extensions/cursor-cloud-agents/lib/backend.js +100 -126
  267. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +22 -38
  268. package/dist/extensions/cursor-cloud-agents/lib/repos.js +8 -10
  269. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -3
  270. package/dist/extensions/cursor-cloud-agents/lib/watch.js +52 -66
  271. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +29 -40
  272. package/dist/extensions/cursor-cloud-agents/tools/cancel.js +6 -17
  273. package/dist/extensions/cursor-cloud-agents/tools/dump.js +25 -36
  274. package/dist/extensions/cursor-cloud-agents/tools/get.js +3 -14
  275. package/dist/extensions/cursor-cloud-agents/tools/launch.js +13 -21
  276. package/dist/extensions/cursor-cloud-agents/tools/list.js +8 -19
  277. package/dist/extensions/cursor-cloud-agents/tools/reply.js +5 -16
  278. package/dist/extensions/cursor-grokbot-agents/extension.js +4 -1
  279. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +3 -3
  280. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +53 -73
  281. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +10 -23
  282. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +112 -132
  283. package/dist/extensions/cursor-grokbot-agents/lib/lock.js +1 -2
  284. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +5 -16
  285. package/dist/extensions/cursor-grokbot-agents/tools/check.js +4 -15
  286. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +2 -13
  287. package/dist/extensions/cursor-grokbot-agents/tools/list.js +11 -23
  288. package/dist/extensions/jev/extension.js +3 -3
  289. package/dist/extensions/jev/lib/evaluate.js +43 -60
  290. package/dist/extensions/jev/tools/evaluate.js +6 -17
  291. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  292. package/dist/extensions.js +3 -5
  293. package/dist/files-backends/cursor-hosted.js +504 -523
  294. package/dist/files-backends/local-fs.js +72 -134
  295. package/dist/files.js +3 -3
  296. package/dist/filesystem.js +562 -861
  297. package/dist/index.js +16 -35
  298. package/dist/internal/advertise-tools.js +74 -86
  299. package/dist/internal/artifacts-store.js +298 -361
  300. package/dist/internal/as-of.js +2 -4
  301. package/dist/internal/authored-alias-hooks.js +6 -4
  302. package/dist/internal/authored-loaders.js +37 -52
  303. package/dist/internal/bounded-int.js +1 -2
  304. package/dist/internal/bounded.js +13 -24
  305. package/dist/internal/brand.js +1 -1
  306. package/dist/internal/browser-origin-guard.js +4 -4
  307. package/dist/internal/builtin-tools/artifacts.js +15 -27
  308. package/dist/internal/builtin-tools/index.js +2 -3
  309. package/dist/internal/builtin-tools/reminders.js +33 -52
  310. package/dist/internal/channel-architecture.d.ts +21 -0
  311. package/dist/internal/channel-architecture.d.ts.map +1 -0
  312. package/dist/internal/channel-architecture.js +41 -0
  313. package/dist/internal/channel-dispatch.js +3 -4
  314. package/dist/internal/channel-route-dispatch.js +40 -51
  315. package/dist/internal/channel-state.js +1 -1
  316. package/dist/internal/chat-client.js +319 -340
  317. package/dist/internal/cli-ax.js +1262 -1294
  318. package/dist/internal/cli-bitbucket.js +244 -272
  319. package/dist/internal/cli-convert-automation.js +137 -151
  320. package/dist/internal/cli-cursor.js +126 -147
  321. package/dist/internal/cli-deploy.d.ts.map +1 -1
  322. package/dist/internal/cli-deploy.js +1457 -1507
  323. package/dist/internal/cli-docs.js +130 -147
  324. package/dist/internal/cli-github.js +437 -476
  325. package/dist/internal/cli-gitlab.js +259 -288
  326. package/dist/internal/cli-images.js +266 -334
  327. package/dist/internal/cli-manifest.js +25 -37
  328. package/dist/internal/cli-mcp-oauth.js +228 -247
  329. package/dist/internal/cli-mcp.js +358 -383
  330. package/dist/internal/cli-migrate.js +73 -90
  331. package/dist/internal/cli-skills.js +35 -47
  332. package/dist/internal/cli-slack-manual.d.ts +0 -1
  333. package/dist/internal/cli-slack-manual.d.ts.map +1 -1
  334. package/dist/internal/cli-slack-manual.js +175 -204
  335. package/dist/internal/cli-slack.d.ts +1 -1
  336. package/dist/internal/cli-slack.d.ts.map +1 -1
  337. package/dist/internal/cli-slack.js +416 -456
  338. package/dist/internal/cloud-merge.js +7 -3
  339. package/dist/internal/cloud-turn-cost.js +8 -1
  340. package/dist/internal/connection-env.js +5 -6
  341. package/dist/internal/continuation-channel.js +10 -7
  342. package/dist/internal/continuation-identity.js +85 -67
  343. package/dist/internal/conversation-mirror.js +112 -131
  344. package/dist/internal/convert-automation/convert-workflow.js +21 -31
  345. package/dist/internal/cron.js +3 -3
  346. package/dist/internal/cursor/account-mcp.js +147 -146
  347. package/dist/internal/cursor/backend-client.js +290 -320
  348. package/dist/internal/cursor/bound-secret-file.js +3 -3
  349. package/dist/internal/cursor/credentials.js +127 -142
  350. package/dist/internal/cursor/cursor-api-transport.js +4 -8
  351. package/dist/internal/cursor/github-credentials.js +91 -108
  352. package/dist/internal/cursor/hosted-bound-secrets.js +3 -4
  353. package/dist/internal/cursor/hosted-deployment-secrets.js +1 -1
  354. package/dist/internal/cursor/hosted-store-secrets.js +5 -9
  355. package/dist/internal/cursor/session-token.js +36 -48
  356. package/dist/internal/cursor/store-api-client.js +77 -92
  357. package/dist/internal/cursor-account-mcp-auth.js +132 -149
  358. package/dist/internal/cursor-agent-template.js +1 -1
  359. package/dist/internal/cursor-deployment-relay.js +33 -54
  360. package/dist/internal/cursor-event-relay.js +65 -59
  361. package/dist/internal/cursor-relay-core.js +258 -286
  362. package/dist/internal/deferred-channel-session.js +3 -12
  363. package/dist/internal/deploy-client.js +410 -475
  364. package/dist/internal/deploy-manifest.d.ts +17 -0
  365. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  366. package/dist/internal/deploy-manifest.js +71 -21
  367. package/dist/internal/deploy-source.js +31 -43
  368. package/dist/internal/discovery/agent-config.js +45 -59
  369. package/dist/internal/discovery/agent.js +276 -280
  370. package/dist/internal/discovery/channels.js +67 -80
  371. package/dist/internal/discovery/connections.js +286 -296
  372. package/dist/internal/discovery/context.js +2 -13
  373. package/dist/internal/discovery/cursor-plugin.js +223 -259
  374. package/dist/internal/discovery/extension-overlay.js +104 -131
  375. package/dist/internal/discovery/extensions.js +276 -281
  376. package/dist/internal/discovery/fs.js +56 -79
  377. package/dist/internal/discovery/hooks.js +39 -50
  378. package/dist/internal/discovery/info.js +17 -19
  379. package/dist/internal/discovery/instructions.js +58 -71
  380. package/dist/internal/discovery/modules.js +45 -58
  381. package/dist/internal/discovery/project.d.ts.map +1 -1
  382. package/dist/internal/discovery/project.js +192 -215
  383. package/dist/internal/discovery/reminders.js +41 -52
  384. package/dist/internal/discovery/runtime.js +1 -1
  385. package/dist/internal/discovery/schedules.js +71 -82
  386. package/dist/internal/discovery/seed-files.js +21 -32
  387. package/dist/internal/discovery/services.js +74 -96
  388. package/dist/internal/discovery/skills.js +77 -94
  389. package/dist/internal/discovery/subagent.js +79 -95
  390. package/dist/internal/discovery/tools.js +12 -23
  391. package/dist/internal/distribution.js +2 -2
  392. package/dist/internal/docs-site.js +30 -45
  393. package/dist/internal/duration.js +1 -1
  394. package/dist/internal/env-file.js +48 -64
  395. package/dist/internal/eval-judge-model.js +17 -28
  396. package/dist/internal/eval-run-store.js +265 -254
  397. package/dist/internal/eval-runner.d.ts +8 -0
  398. package/dist/internal/eval-runner.d.ts.map +1 -1
  399. package/dist/internal/eval-runner.js +406 -408
  400. package/dist/internal/eval-transport.d.ts +24 -0
  401. package/dist/internal/eval-transport.d.ts.map +1 -0
  402. package/dist/internal/eval-transport.js +22 -0
  403. package/dist/internal/evals-client.js +242 -246
  404. package/dist/internal/event-log.js +72 -120
  405. package/dist/internal/event-mapper.js +30 -31
  406. package/dist/internal/factory-resource-channel.js +16 -30
  407. package/dist/internal/filesystem/errors.js +6 -6
  408. package/dist/internal/filesystem/format.js +10 -13
  409. package/dist/internal/filesystem/merge.js +52 -94
  410. package/dist/internal/filesystem/nearest.js +15 -27
  411. package/dist/internal/filesystem/scratch.js +65 -85
  412. package/dist/internal/filesystem/tools.js +221 -241
  413. package/dist/internal/filesystem/walk.js +76 -143
  414. package/dist/internal/framework-file-storage.js +118 -139
  415. package/dist/internal/framework-storage-selection.js +21 -13
  416. package/dist/internal/frontmatter.js +4 -6
  417. package/dist/internal/github-fanout.js +50 -64
  418. package/dist/internal/guest-network.js +96 -109
  419. package/dist/internal/handleAgentServeTrigger.js +121 -126
  420. package/dist/internal/host-files.js +73 -88
  421. package/dist/internal/host-kv.js +21 -36
  422. package/dist/internal/host-otel.js +22 -19
  423. package/dist/internal/host-platforms.js +49 -63
  424. package/dist/internal/hosted-catch-protocol.d.ts +1 -0
  425. package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
  426. package/dist/internal/hosted-catch-protocol.js +1 -0
  427. package/dist/internal/hosted-catch.d.ts +5 -3
  428. package/dist/internal/hosted-catch.d.ts.map +1 -1
  429. package/dist/internal/hosted-catch.js +84 -93
  430. package/dist/internal/hosted-delivery-protocol.js +32 -8
  431. package/dist/internal/hosted-delivery.d.ts +13 -1
  432. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  433. package/dist/internal/hosted-delivery.js +614 -584
  434. package/dist/internal/hosted-eval-cases.d.ts +21 -0
  435. package/dist/internal/hosted-eval-cases.d.ts.map +1 -0
  436. package/dist/internal/hosted-eval-cases.js +162 -0
  437. package/dist/internal/hosted-execution-diag.js +38 -30
  438. package/dist/internal/hosted-execution-flush.js +75 -66
  439. package/dist/internal/hosted-execution-latency.js +16 -8
  440. package/dist/internal/hosted-managed-automation.js +2 -2
  441. package/dist/internal/hosting.js +2 -3
  442. package/dist/internal/http-channel-define.js +4 -1
  443. package/dist/internal/http-channel.js +101 -112
  444. package/dist/internal/http-control-plane-session.d.ts +18 -1
  445. package/dist/internal/http-control-plane-session.d.ts.map +1 -1
  446. package/dist/internal/http-control-plane-session.js +66 -32
  447. package/dist/internal/incoming-headers-to-fetch.js +1 -2
  448. package/dist/internal/init-interview.js +73 -93
  449. package/dist/internal/init-project.js +182 -214
  450. package/dist/internal/init-scaffold.js +10 -21
  451. package/dist/internal/inline-stdio-mcp.js +80 -86
  452. package/dist/internal/install-cursor-skills.js +231 -273
  453. package/dist/internal/legacy-command-guard.js +18 -31
  454. package/dist/internal/listen-port.js +34 -45
  455. package/dist/internal/local-control-plane.js +293 -307
  456. package/dist/internal/local-env.js +1 -1
  457. package/dist/internal/local-ingress.js +15 -9
  458. package/dist/internal/log-ring.js +1 -2
  459. package/dist/internal/logs-client.js +207 -227
  460. package/dist/internal/map-pool.js +24 -38
  461. package/dist/internal/mcp-endpoint.js +204 -180
  462. package/dist/internal/mcp-host.js +165 -168
  463. package/dist/internal/mcp-oauth-on-demand.js +170 -207
  464. package/dist/internal/mcp-oauth-persist.js +15 -29
  465. package/dist/internal/mcp-oauth.js +209 -266
  466. package/dist/internal/named-webhook-secret.d.ts +39 -0
  467. package/dist/internal/named-webhook-secret.d.ts.map +1 -0
  468. package/dist/internal/named-webhook-secret.js +47 -0
  469. package/dist/internal/open-browser.js +2 -3
  470. package/dist/internal/otel/collector.js +104 -68
  471. package/dist/internal/otel/config.js +24 -37
  472. package/dist/internal/otel/http.js +5 -7
  473. package/dist/internal/otel/mcp.js +3 -12
  474. package/dist/internal/otel/runtime.js +69 -83
  475. package/dist/internal/package-inline-stdio.js +57 -65
  476. package/dist/internal/peer-connections.js +9 -5
  477. package/dist/internal/platform-schedule-sync.js +39 -54
  478. package/dist/internal/platform-timers.js +176 -210
  479. package/dist/internal/playground/static.js +1 -2
  480. package/dist/internal/playground/toolchain.js +37 -53
  481. package/dist/internal/playground-proxy.js +230 -270
  482. package/dist/internal/process-memory-telemetry.js +33 -51
  483. package/dist/internal/prompt-context.js +3 -6
  484. package/dist/internal/reminder-control-plane-protocol.js +46 -13
  485. package/dist/internal/reminder-runner.js +770 -785
  486. package/dist/internal/reminder-schedule.js +1 -1
  487. package/dist/internal/reminder-store.js +57 -78
  488. package/dist/internal/request-error-status.js +1 -3
  489. package/dist/internal/request-headers.js +2 -2
  490. package/dist/internal/resolve-prod-target.js +119 -135
  491. package/dist/internal/resolved-connections.js +16 -6
  492. package/dist/internal/run-client.js +221 -229
  493. package/dist/internal/runtime-dispatch-runner.js +18 -43
  494. package/dist/internal/schedule-runner.js +49 -58
  495. package/dist/internal/scm/pr-url.js +7 -6
  496. package/dist/internal/sdk-runner.js +388 -363
  497. package/dist/internal/serve-restart.js +26 -39
  498. package/dist/internal/server.d.ts.map +1 -1
  499. package/dist/internal/server.js +1283 -1244
  500. package/dist/internal/session-cost.js +7 -9
  501. package/dist/internal/session-engine.d.ts +3 -1
  502. package/dist/internal/session-engine.d.ts.map +1 -1
  503. package/dist/internal/session-engine.js +2801 -2777
  504. package/dist/internal/session-links.js +12 -16
  505. package/dist/internal/session-run-log.js +134 -82
  506. package/dist/internal/session-store.js +133 -164
  507. package/dist/internal/sessions-client.js +97 -118
  508. package/dist/internal/skill-catalog.js +18 -23
  509. package/dist/internal/skills-sync.js +16 -30
  510. package/dist/internal/slack-provision-client.js +90 -116
  511. package/dist/internal/start-log-store.js +48 -67
  512. package/dist/internal/steering.js +1 -2
  513. package/dist/internal/storage-coordinator.js +160 -196
  514. package/dist/internal/store-mirror.js +16 -30
  515. package/dist/internal/stream-progress.js +6 -8
  516. package/dist/internal/terminal-style.js +3 -4
  517. package/dist/internal/testing/scm-continuation-fixtures.js +6 -2
  518. package/dist/internal/testing/slack-continuation-fixtures.d.ts +26 -0
  519. package/dist/internal/testing/slack-continuation-fixtures.d.ts.map +1 -0
  520. package/dist/internal/testing/slack-continuation-fixtures.js +136 -0
  521. package/dist/internal/tool-catalog.js +11 -5
  522. package/dist/internal/tool-result.js +1 -1
  523. package/dist/internal/trajectory.js +19 -22
  524. package/dist/internal/turn-cost.js +52 -62
  525. package/dist/internal/turn-governor.js +5 -8
  526. package/dist/internal/turn-lease-store.js +85 -105
  527. package/dist/internal/turn-outbox.js +28 -43
  528. package/dist/internal/update-check.js +231 -259
  529. package/dist/internal/v2-hosting.js +1 -2
  530. package/dist/internal/workspace-sync.js +25 -41
  531. package/dist/internal/workspace.js +111 -139
  532. package/dist/kv/memory-kv.js +27 -51
  533. package/dist/memory.js +106 -148
  534. package/dist/otel.js +5 -8
  535. package/dist/playground/assets/index-DXm_VXAQ.css +1 -0
  536. package/dist/playground/assets/{index-Co4CUVTQ.js → index-JekUQERK.js} +45 -45
  537. package/dist/playground/index.html +2 -2
  538. package/dist/prompt.js +2 -4
  539. package/dist/storage-backends/cursor-hosted-v2.js +53 -83
  540. package/dist/storage-backends/cursor-hosted.js +105 -145
  541. package/dist/storage-backends/file-kv.js +100 -128
  542. package/dist/storage-protocol.js +3 -5
  543. package/dist/storage.js +17 -26
  544. package/dist/types.d.ts +68 -0
  545. package/dist/types.d.ts.map +1 -1
  546. package/dist/types.js +20 -18
  547. package/docs/building-with-agents.md +2 -0
  548. package/docs/deployment.md +7 -0
  549. package/docs/guides/bitbucket.md +9 -1
  550. package/docs/guides/github.md +20 -4
  551. package/docs/guides/gitlab.md +9 -1
  552. package/docs/guides/migrate.md +127 -0
  553. package/docs/reference/cli.md +39 -0
  554. package/docs/troubleshooting.md +1 -0
  555. package/package.json +1 -1
  556. package/skills/debug/SKILL.md +1 -0
  557. package/skills/github/SKILL.md +23 -0
  558. package/skills/migrate-v2/SKILL.md +51 -10
  559. package/dist/docs/assets/chunks/@localSearchIndexroot.BJ8UZggu.js +0 -1
  560. package/dist/docs/assets/chunks/channel.BTJ5J9FI.js +0 -1
  561. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.D4BZ3cVV.js +0 -1
  562. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.D4BZ3cVV.js +0 -1
  563. package/dist/docs/assets/chunks/clone.62tX-O-1.js +0 -1
  564. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DkTs1aEU.js +0 -1
  565. package/dist/docs/assets/reference_cli.md.GwugN3n-.lean.js +0 -1
  566. package/dist/docs/assets/troubleshooting.md.Bscj6ODe.js +0 -1
  567. package/dist/playground/assets/index-C1g_PTTZ.css +0 -1
  568. /package/dist/docs/assets/{building-with-agents.md.BPjPFxFg.lean.js → building-with-agents.md.Df87rAe1.lean.js} +0 -0
  569. /package/dist/docs/assets/{deployment.md.BdqTiGdc.lean.js → deployment.md.BYuEcDBv.lean.js} +0 -0
  570. /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-Co4CUVTQ.js"></script>
12
- <link rel="stylesheet" crossorigin href="./assets/index-C1g_PTTZ.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
  };