@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
@@ -11,201 +11,187 @@
11
11
  * Production should set App credentials and omit ambient PATs. Local testing
12
12
  * can keep using a PAT or `gh auth login` when App creds are unset.
13
13
  */
14
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
- return new (P || (P = Promise))(function (resolve, reject) {
17
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
- step((generator = generator.apply(thisArg, _arguments || [])).next());
21
- });
22
- };
23
14
  import { execFile } from "node:child_process";
24
15
  import { promisify } from "node:util";
25
16
  import { createAppAuth } from "@octokit/auth-app";
17
+ import { isSecretRef } from "../../types.js";
26
18
  const execFileAsync = promisify(execFile);
27
19
  let ghAuthTokenCache = null;
28
- const GH_AUTH_CACHE_MS = 5 * 60000;
20
+ const GH_AUTH_CACHE_MS = 5 * 60_000;
29
21
  /** Refresh exported `GH_TOKEN` before installation tokens expire (~60m). */
30
- const GH_CLI_TOKEN_REFRESH_MS = 50 * 60000;
22
+ const GH_CLI_TOKEN_REFRESH_MS = 50 * 60_000;
31
23
  let ghCliTokenRefreshTimer = null;
32
- /** Resolve a credential value (literal or lazy). */
33
- export function resolveCredentialValue(value) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- if (value === undefined) {
36
- return undefined;
37
- }
38
- const resolved = typeof value === "function" ? yield value() : value;
39
- if (typeof resolved !== "string") {
40
- return undefined;
41
- }
42
- const trimmed = resolved.trim();
43
- return trimmed === "" ? undefined : trimmed;
44
- });
24
+ /**
25
+ * Resolve a credential value: a literal, a lazy getter, or a named secret
26
+ * read from `process.env` (locally the shell; hosted, the bound deployment
27
+ * secrets the runtime loads into the environment per request).
28
+ */
29
+ export async function resolveCredentialValue(value) {
30
+ if (value === undefined) {
31
+ return undefined;
32
+ }
33
+ const resolved = typeof value === "function"
34
+ ? await value()
35
+ : isSecretRef(value)
36
+ ? process.env[value.secretName]
37
+ : value;
38
+ if (typeof resolved !== "string") {
39
+ return undefined;
40
+ }
41
+ const trimmed = resolved.trim();
42
+ return trimmed === "" ? undefined : trimmed;
45
43
  }
46
44
  /** True when App id + private key are configured (credentials or env). */
47
- export function hasGitHubAppCredentials(credentials) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- try {
50
- yield resolveGitHubAppId(credentials === null || credentials === void 0 ? void 0 : credentials.appId);
51
- yield resolveGitHubPrivateKey(credentials === null || credentials === void 0 ? void 0 : credentials.privateKey);
52
- return true;
53
- }
54
- catch (_a) {
55
- return false;
56
- }
57
- });
45
+ export async function hasGitHubAppCredentials(credentials) {
46
+ try {
47
+ await resolveGitHubAppId(credentials?.appId);
48
+ await resolveGitHubPrivateKey(credentials?.privateKey);
49
+ return true;
50
+ }
51
+ catch {
52
+ return false;
53
+ }
58
54
  }
59
55
  /**
60
56
  * Resolve an installation id from the call site, then
61
57
  * `GITHUB_APP_INSTALLATION_ID` (host / non-webhook GitHub calls).
62
58
  */
63
- export function resolveGitHubInstallationId(installationId) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- if (installationId !== undefined && Number.isInteger(installationId) && installationId > 0) {
66
- return installationId;
67
- }
68
- const fromEnv = yield resolveCredentialValue(process.env.GITHUB_APP_INSTALLATION_ID);
69
- if (fromEnv === undefined) {
70
- return undefined;
71
- }
72
- if (!/^[1-9][0-9]*$/u.test(fromEnv)) {
73
- return undefined;
74
- }
75
- return Number(fromEnv);
76
- });
59
+ export async function resolveGitHubInstallationId(installationId) {
60
+ if (installationId !== undefined && Number.isInteger(installationId) && installationId > 0) {
61
+ return installationId;
62
+ }
63
+ const fromEnv = await resolveCredentialValue(process.env.GITHUB_APP_INSTALLATION_ID);
64
+ if (fromEnv === undefined) {
65
+ return undefined;
66
+ }
67
+ if (!/^[1-9][0-9]*$/u.test(fromEnv)) {
68
+ return undefined;
69
+ }
70
+ return Number(fromEnv);
77
71
  }
78
72
  /**
79
73
  * Resolve a bearer token for GitHub REST calls. Prefer explicit credentials,
80
74
  * then App installation tokens when configured, then local PAT / `gh auth`.
81
75
  */
82
- export function resolveGitHubAccessToken(input) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- var _a, _b, _c, _d;
85
- var _e, _f;
86
- const explicit = (_e = (yield resolveCredentialValue((_a = input.credentials) === null || _a === void 0 ? void 0 : _a.token))) !== null && _e !== void 0 ? _e : (yield resolveCredentialValue((_b = input.credentials) === null || _b === void 0 ? void 0 : _b.installationToken));
87
- if (explicit !== undefined) {
88
- return explicit;
89
- }
90
- const installationId = yield resolveGitHubInstallationId(input.installationId);
91
- if (installationId !== undefined && (yield hasGitHubAppCredentials(input.credentials))) {
92
- return createGitHubInstallationToken({
93
- api: input.api,
94
- appId: (_c = input.credentials) === null || _c === void 0 ? void 0 : _c.appId,
95
- installationId,
96
- privateKey: (_d = input.credentials) === null || _d === void 0 ? void 0 : _d.privateKey,
97
- });
98
- }
99
- const fromEnv = (_f = (yield resolveCredentialValue(process.env.GITHUB_TOKEN))) !== null && _f !== void 0 ? _f : (yield resolveCredentialValue(process.env.GH_TOKEN));
100
- if (fromEnv !== undefined) {
101
- return fromEnv;
102
- }
103
- const fromGh = yield tryResolveGhAuthToken();
104
- if (fromGh !== undefined) {
105
- return fromGh;
106
- }
107
- throw new Error("githubChannel: no GitHub token available (set GITHUB_APP_ID + GITHUB_APP_PRIVATE_KEY + installation id, or GITHUB_TOKEN / GH_TOKEN, or run `gh auth login`).");
108
- });
76
+ export async function resolveGitHubAccessToken(input) {
77
+ const explicit = (await resolveCredentialValue(input.credentials?.token)) ??
78
+ (await resolveCredentialValue(input.credentials?.installationToken));
79
+ if (explicit !== undefined) {
80
+ return explicit;
81
+ }
82
+ const installationId = await resolveGitHubInstallationId(input.installationId);
83
+ if (installationId !== undefined && (await hasGitHubAppCredentials(input.credentials))) {
84
+ return createGitHubInstallationToken({
85
+ api: input.api,
86
+ appId: input.credentials?.appId,
87
+ installationId,
88
+ privateKey: input.credentials?.privateKey,
89
+ });
90
+ }
91
+ const fromEnv = (await resolveCredentialValue(process.env.GITHUB_TOKEN)) ??
92
+ (await resolveCredentialValue(process.env.GH_TOKEN));
93
+ if (fromEnv !== undefined) {
94
+ return fromEnv;
95
+ }
96
+ const fromGh = await tryResolveGhAuthToken();
97
+ if (fromGh !== undefined) {
98
+ return fromGh;
99
+ }
100
+ throw new Error("githubChannel: no GitHub token available (set GITHUB_APP_ID + GITHUB_APP_PRIVATE_KEY + installation id, or GITHUB_TOKEN / GH_TOKEN, or run `gh auth login`).");
109
101
  }
110
102
  /** Soft resolve — returns undefined instead of throwing. */
111
- export function tryResolveGitHubAccessToken(input) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- try {
114
- return yield resolveGitHubAccessToken(input);
115
- }
116
- catch (_a) {
117
- return undefined;
118
- }
119
- });
103
+ export async function tryResolveGitHubAccessToken(input) {
104
+ try {
105
+ return await resolveGitHubAccessToken(input);
106
+ }
107
+ catch {
108
+ return undefined;
109
+ }
120
110
  }
121
111
  /** Read `gh auth token` when the CLI is logged in. Cached briefly. */
122
- export function tryResolveGhAuthToken() {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- if (ghAuthTokenCache !== null && Date.now() < ghAuthTokenCache.expiresAtMs) {
125
- return ghAuthTokenCache.token;
126
- }
127
- try {
128
- const { stdout } = yield execFileAsync("gh", ["auth", "token"], {
129
- timeout: 5000,
130
- env: process.env,
131
- });
132
- const token = stdout.trim();
133
- if (token === "") {
134
- return undefined;
135
- }
136
- ghAuthTokenCache = {
137
- token,
138
- expiresAtMs: Date.now() + GH_AUTH_CACHE_MS,
139
- };
140
- return token;
141
- }
142
- catch (_a) {
112
+ export async function tryResolveGhAuthToken() {
113
+ if (ghAuthTokenCache !== null && Date.now() < ghAuthTokenCache.expiresAtMs) {
114
+ return ghAuthTokenCache.token;
115
+ }
116
+ try {
117
+ const { stdout } = await execFileAsync("gh", ["auth", "token"], {
118
+ timeout: 5_000,
119
+ env: process.env,
120
+ });
121
+ const token = stdout.trim();
122
+ if (token === "") {
143
123
  return undefined;
144
124
  }
145
- });
125
+ ghAuthTokenCache = {
126
+ token,
127
+ expiresAtMs: Date.now() + GH_AUTH_CACHE_MS,
128
+ };
129
+ return token;
130
+ }
131
+ catch {
132
+ return undefined;
133
+ }
146
134
  }
147
- export function resolveGitHubAppId(appId) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- const source = appId !== null && appId !== void 0 ? appId : (process.env.GITHUB_APP_ID !== undefined && process.env.GITHUB_APP_ID !== ""
135
+ export async function resolveGitHubAppId(appId) {
136
+ const source = appId ??
137
+ (process.env.GITHUB_APP_ID !== undefined && process.env.GITHUB_APP_ID !== ""
150
138
  ? process.env.GITHUB_APP_ID
151
139
  : undefined);
152
- if (source === undefined) {
153
- throw new Error("githubChannel: GITHUB_APP_ID is required.");
154
- }
155
- if (typeof source === "number") {
156
- return String(source);
157
- }
158
- const value = yield resolveCredentialValue(source);
159
- if (value === undefined) {
160
- throw new Error("githubChannel: GITHUB_APP_ID is required.");
161
- }
162
- return value;
163
- });
140
+ if (source === undefined) {
141
+ throw new Error("githubChannel: GITHUB_APP_ID is required.");
142
+ }
143
+ if (typeof source === "number") {
144
+ return String(source);
145
+ }
146
+ const value = await resolveCredentialValue(source);
147
+ if (value === undefined) {
148
+ throw new Error("githubChannel: GITHUB_APP_ID is required.");
149
+ }
150
+ return value;
164
151
  }
165
- export function resolveGitHubPrivateKey(privateKey) {
166
- return __awaiter(this, void 0, void 0, function* () {
167
- const source = privateKey !== null && privateKey !== void 0 ? privateKey : (process.env.GITHUB_APP_PRIVATE_KEY !== undefined && process.env.GITHUB_APP_PRIVATE_KEY !== ""
152
+ export async function resolveGitHubPrivateKey(privateKey) {
153
+ const source = privateKey ??
154
+ (process.env.GITHUB_APP_PRIVATE_KEY !== undefined && process.env.GITHUB_APP_PRIVATE_KEY !== ""
168
155
  ? process.env.GITHUB_APP_PRIVATE_KEY
169
156
  : undefined);
170
- if (source === undefined) {
171
- throw new Error("githubChannel: GITHUB_APP_PRIVATE_KEY is required.");
172
- }
173
- const value = yield resolveCredentialValue(source);
174
- if (value === undefined) {
175
- throw new Error("githubChannel: GITHUB_APP_PRIVATE_KEY is required.");
176
- }
177
- return value.replace(/\\n/gu, "\n");
178
- });
157
+ if (source === undefined) {
158
+ throw new Error("githubChannel: GITHUB_APP_PRIVATE_KEY is required.");
159
+ }
160
+ const value = await resolveCredentialValue(source);
161
+ if (value === undefined) {
162
+ throw new Error("githubChannel: GITHUB_APP_PRIVATE_KEY is required.");
163
+ }
164
+ return value.replace(/\\n/gu, "\n");
179
165
  }
180
166
  /**
181
167
  * Mint an installation access token via `@octokit/auth-app`.
182
168
  * Prefer {@link createGitHubOctokit} for normal API work — this is for
183
169
  * callers that only need the raw token string.
184
170
  */
185
- export function createGitHubInstallationToken(input) {
186
- return __awaiter(this, void 0, void 0, function* () {
187
- var _a;
188
- const appId = yield resolveGitHubAppId(input.appId);
189
- const privateKey = yield resolveGitHubPrivateKey(input.privateKey);
190
- // Prefer createGitHubOctokit for API work — this path only mints a raw
191
- // token. Custom fetch belongs on the Octokit client, not createAppAuth
192
- // (StrategyOptions.request expects a full RequestInterface).
193
- const auth = createAppAuth(Object.assign({ appId,
194
- privateKey }, (((_a = input.api) === null || _a === void 0 ? void 0 : _a.apiBaseUrl) === undefined ? {} : { baseUrl: input.api.apiBaseUrl })));
195
- try {
196
- const result = yield auth({
197
- type: "installation",
198
- installationId: input.installationId,
199
- });
200
- return result.token;
201
- }
202
- catch (error) {
203
- throw installationTokenMintError(error, {
204
- appId,
205
- installationId: input.installationId,
206
- });
207
- }
171
+ export async function createGitHubInstallationToken(input) {
172
+ const appId = await resolveGitHubAppId(input.appId);
173
+ const privateKey = await resolveGitHubPrivateKey(input.privateKey);
174
+ // Prefer createGitHubOctokit for API work — this path only mints a raw
175
+ // token. Custom fetch belongs on the Octokit client, not createAppAuth
176
+ // (StrategyOptions.request expects a full RequestInterface).
177
+ const auth = createAppAuth({
178
+ appId,
179
+ privateKey,
180
+ ...(input.api?.apiBaseUrl === undefined ? {} : { baseUrl: input.api.apiBaseUrl }),
208
181
  });
182
+ try {
183
+ const result = await auth({
184
+ type: "installation",
185
+ installationId: input.installationId,
186
+ });
187
+ return result.token;
188
+ }
189
+ catch (error) {
190
+ throw installationTokenMintError(error, {
191
+ appId,
192
+ installationId: input.installationId,
193
+ });
194
+ }
209
195
  }
210
196
  /**
211
197
  * Octokit's bare mint failure ("Not Found - <docs url>") names neither the
@@ -236,23 +222,20 @@ function installationTokenMintError(error, context) {
236
222
  * agent-serve). Intended for serve warmup when auth source is `app`.
237
223
  * Returns whether `GH_TOKEN` was written; refreshes on an interval.
238
224
  */
239
- export function ensureGhCliTokenEnv() {
240
- return __awaiter(this, void 0, void 0, function* () {
241
- var _a;
242
- const token = yield tryResolveGitHubAccessToken({});
243
- if (token === undefined) {
244
- return false;
245
- }
246
- process.env.GH_TOKEN = token;
247
- if (ghCliTokenRefreshTimer === null) {
248
- const timer = setInterval(() => {
249
- void ensureGhCliTokenEnv();
250
- }, GH_CLI_TOKEN_REFRESH_MS);
251
- (_a = timer.unref) === null || _a === void 0 ? void 0 : _a.call(timer);
252
- ghCliTokenRefreshTimer = timer;
253
- }
254
- return true;
255
- });
225
+ export async function ensureGhCliTokenEnv() {
226
+ const token = await tryResolveGitHubAccessToken({});
227
+ if (token === undefined) {
228
+ return false;
229
+ }
230
+ process.env.GH_TOKEN = token;
231
+ if (ghCliTokenRefreshTimer === null) {
232
+ const timer = setInterval(() => {
233
+ void ensureGhCliTokenEnv();
234
+ }, GH_CLI_TOKEN_REFRESH_MS);
235
+ timer.unref?.();
236
+ ghCliTokenRefreshTimer = timer;
237
+ }
238
+ return true;
256
239
  }
257
240
  /** Clears in-memory caches. Intended for tests. */
258
241
  export function clearGitHubAuthCaches() {
@@ -1,15 +1,6 @@
1
1
  /**
2
2
  * Rebuild GitHub API + thread handles for inbound hooks and stream events.
3
3
  */
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
4
  import { callGitHubApi, createGitHubCommitStatus, createGitHubIssueComment, createGitHubOctokit, createGitHubReaction, createGitHubReviewCommentReply, } from "./api.js";
14
5
  import { createGitHubCheck } from "./checks.js";
15
6
  /** Hidden marker on outbound GitHub comments so inbound dispatch ignores them. */
@@ -21,17 +12,22 @@ export function formatGitHubOutboundComment(body) {
21
12
  return `${body.trimEnd()}\n\n${GITHUB_OUTBOUND_MARKER}`;
22
13
  }
23
14
  export function buildGitHubBinding(input) {
24
- var _a, _b;
25
15
  const { config, state } = input;
26
- const repository = Object.assign({ fullName: `${state.owner}/${state.repo}`, url: (_a = state.repositoryUrl) !== null && _a !== void 0 ? _a : `https://github.com/${state.owner}/${state.repo}`, owner: state.owner, name: state.repo }, (state.repositoryId === null ? {} : { id: state.repositoryId }));
27
- const installationId = (_b = state.installationId) !== null && _b !== void 0 ? _b : undefined;
16
+ const repository = {
17
+ fullName: `${state.owner}/${state.repo}`,
18
+ url: state.repositoryUrl ?? `https://github.com/${state.owner}/${state.repo}`,
19
+ owner: state.owner,
20
+ name: state.repo,
21
+ ...(state.repositoryId === null ? {} : { id: state.repositoryId }),
22
+ };
23
+ const installationId = state.installationId ?? undefined;
28
24
  let octokitPromise;
29
25
  const getOctokit = () => {
30
- octokitPromise !== null && octokitPromise !== void 0 ? octokitPromise : (octokitPromise = createGitHubOctokit({
26
+ octokitPromise ??= createGitHubOctokit({
31
27
  api: config.api,
32
28
  credentials: config.credentials,
33
29
  installationId,
34
- }));
30
+ });
35
31
  return octokitPromise;
36
32
  };
37
33
  const github = {
@@ -49,21 +45,36 @@ export function buildGitHubBinding(input) {
49
45
  });
50
46
  },
51
47
  createStatus(status) {
52
- return createGitHubCommitStatus(Object.assign(Object.assign(Object.assign({ api: config.api, credentials: config.credentials, installationId, owner: state.owner, repo: state.repo, sha: status.sha, state: status.state }, (status.context === undefined ? {} : { context: status.context })), (status.description === undefined ? {} : { description: status.description })), (status.targetUrl === undefined ? {} : { targetUrl: status.targetUrl })));
48
+ return createGitHubCommitStatus({
49
+ api: config.api,
50
+ credentials: config.credentials,
51
+ installationId,
52
+ owner: state.owner,
53
+ repo: state.repo,
54
+ sha: status.sha,
55
+ state: status.state,
56
+ ...(status.context === undefined ? {} : { context: status.context }),
57
+ ...(status.description === undefined ? {} : { description: status.description }),
58
+ ...(status.targetUrl === undefined ? {} : { targetUrl: status.targetUrl }),
59
+ });
53
60
  },
54
61
  createCheck(check) {
55
- return createGitHubCheck(Object.assign(Object.assign({}, check), { github: { getOctokit }, owner: state.owner, repo: state.repo }));
62
+ return createGitHubCheck({
63
+ ...check,
64
+ github: { getOctokit },
65
+ owner: state.owner,
66
+ repo: state.repo,
67
+ });
56
68
  },
57
69
  };
58
70
  const thread = {
59
71
  kind: state.conversationKind,
60
72
  post(message) {
61
- var _a, _b;
62
73
  if (state.conversationKind === "review_thread") {
63
74
  return createGitHubReviewCommentReply({
64
75
  api: config.api,
65
76
  body: message,
66
- commentId: requiredNumber((_a = state.reviewThreadRootCommentId) !== null && _a !== void 0 ? _a : state.reviewCommentId, "reviewThreadRootCommentId"),
77
+ commentId: requiredNumber(state.reviewThreadRootCommentId ?? state.reviewCommentId, "reviewThreadRootCommentId"),
67
78
  credentials: config.credentials,
68
79
  installationId,
69
80
  owner: state.owner,
@@ -76,31 +87,29 @@ export function buildGitHubBinding(input) {
76
87
  body: message,
77
88
  credentials: config.credentials,
78
89
  installationId,
79
- issueNumber: requiredNumber((_b = state.issueNumber) !== null && _b !== void 0 ? _b : state.pullRequestNumber, "issueNumber"),
90
+ issueNumber: requiredNumber(state.issueNumber ?? state.pullRequestNumber, "issueNumber"),
80
91
  owner: state.owner,
81
92
  repo: state.repo,
82
93
  });
83
94
  },
84
- react(content) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- const commentId = state.conversationKind === "review_thread"
87
- ? state.reviewCommentId
88
- : state.triggeringCommentId;
89
- if (commentId === null) {
90
- return;
91
- }
92
- yield createGitHubReaction({
93
- api: config.api,
94
- commentId,
95
- content,
96
- credentials: config.credentials,
97
- installationId,
98
- owner: state.owner,
99
- repo: state.repo,
100
- subject: state.conversationKind === "review_thread"
101
- ? "pull_request_review_comment"
102
- : "issue_comment",
103
- });
95
+ async react(content) {
96
+ const commentId = state.conversationKind === "review_thread"
97
+ ? state.reviewCommentId
98
+ : state.triggeringCommentId;
99
+ if (commentId === null) {
100
+ return;
101
+ }
102
+ await createGitHubReaction({
103
+ api: config.api,
104
+ commentId,
105
+ content,
106
+ credentials: config.credentials,
107
+ installationId,
108
+ owner: state.owner,
109
+ repo: state.repo,
110
+ subject: state.conversationKind === "review_thread"
111
+ ? "pull_request_review_comment"
112
+ : "issue_comment",
104
113
  });
105
114
  },
106
115
  };
@@ -12,15 +12,6 @@
12
12
  * `contents-write` tier; GitHub App / PAT credentials need the equivalent
13
13
  * permission. API failures are normalized into `GitHubApiError`.
14
14
  */
15
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
16
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17
- return new (P || (P = Promise))(function (resolve, reject) {
18
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
19
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
20
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
21
- step((generator = generator.apply(thisArg, _arguments || [])).next());
22
- });
23
- };
24
15
  import { openCiCheck, resumeCiCheck, } from "../checks.js";
25
16
  import { wrapOctokitError } from "./api.js";
26
17
  /**
@@ -29,8 +20,8 @@ import { wrapOctokitError } from "./api.js";
29
20
  */
30
21
  function githubCheckWriter(input) {
31
22
  let checkRunId = input.checkRunId;
32
- return (write) => __awaiter(this, void 0, void 0, function* () {
33
- const octokit = yield input.github.getOctokit();
23
+ return async (write) => {
24
+ const octokit = await input.github.getOctokit();
34
25
  const base = {
35
26
  owner: input.owner,
36
27
  repo: input.repo,
@@ -46,7 +37,11 @@ function githubCheckWriter(input) {
46
37
  throw new Error("githubChannel: cannot create a check without a sha.");
47
38
  }
48
39
  try {
49
- const response = yield octokit.rest.checks.create(Object.assign(Object.assign({}, base), { head_sha: input.sha, started_at: write.startedAt }));
40
+ const response = await octokit.rest.checks.create({
41
+ ...base,
42
+ head_sha: input.sha,
43
+ started_at: write.startedAt,
44
+ });
50
45
  checkRunId = response.data.id;
51
46
  return {
52
47
  id: response.data.id,
@@ -58,13 +53,13 @@ function githubCheckWriter(input) {
58
53
  }
59
54
  }
60
55
  try {
61
- yield octokit.rest.checks.update(Object.assign(Object.assign({}, base), { check_run_id: checkRunId }));
56
+ await octokit.rest.checks.update({ ...base, check_run_id: checkRunId });
62
57
  return undefined;
63
58
  }
64
59
  catch (error) {
65
60
  throw wrapOctokitError(error, "PATCH", `/repos/${input.owner}/${input.repo}/check-runs/${checkRunId}`);
66
61
  }
67
- });
62
+ };
68
63
  }
69
64
  /**
70
65
  * Create a CI check run on a commit and return a handle for later updates.
@@ -27,8 +27,6 @@ export function parseCursorGithubPermissions(value, fallback = "pr-write") {
27
27
  * `--repo` / channel `{ repos }`).
28
28
  */
29
29
  export function githubRepoFromOctokitRequest(request) {
30
- var _a, _b;
31
- var _c, _d;
32
30
  if (typeof request.owner === "string" && typeof request.repo === "string") {
33
31
  const slug = `${request.owner.trim()}/${request.repo.trim()}`.toLowerCase();
34
32
  if (CURSOR_GITHUB_REPO_PATTERN.test(slug) && !slug.includes("..")) {
@@ -39,8 +37,8 @@ export function githubRepoFromOctokitRequest(request) {
39
37
  return undefined;
40
38
  }
41
39
  const match = request.url.match(/\/repos\/([^/?#]+)\/([^/?#]+)/);
42
- const owner = (_c = (_a = match === null || match === void 0 ? void 0 : match[1]) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _c !== void 0 ? _c : "";
43
- const repo = (_d = (_b = match === null || match === void 0 ? void 0 : match[2]) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _d !== void 0 ? _d : "";
40
+ const owner = match?.[1]?.trim() ?? "";
41
+ const repo = match?.[2]?.trim() ?? "";
44
42
  if (owner === "" || repo === "" || owner.includes("{") || repo.includes("{")) {
45
43
  return undefined;
46
44
  }
@@ -64,7 +62,6 @@ export function resolveCursorGithubCredentialScope(values, permissions = "pr-wri
64
62
  return parseCursorGithubRepoScope(repos, permissions);
65
63
  }
66
64
  export function parseCursorGithubRepoScope(values, permissions = "pr-write") {
67
- var _a;
68
65
  const repos = [...new Set(values.map(repo => repo.trim().toLowerCase()).filter(Boolean))];
69
66
  if (repos.length === 0) {
70
67
  throw new Error("Cursor account GitHub credentials require at least one repository.");
@@ -77,7 +74,7 @@ export function parseCursorGithubRepoScope(values, permissions = "pr-write") {
77
74
  throw new Error(`Invalid Cursor account GitHub repository "${repo}"; expected owner/repo.`);
78
75
  }
79
76
  }
80
- const owner = (_a = repos[0]) === null || _a === void 0 ? void 0 : _a.split("/", 1)[0];
77
+ const owner = repos[0]?.split("/", 1)[0];
81
78
  if (owner === undefined) {
82
79
  throw new Error("Cursor account GitHub repository owner is missing.");
83
80
  }
@@ -97,9 +94,8 @@ export function parseCursorGithubRepoScope(values, permissions = "pr-write") {
97
94
  * post Checks API runs. `"read"` cannot post merge-box checks.
98
95
  */
99
96
  export function cursorGithubPermissionsForChannel(options, authored = "pr-write") {
100
- var _a;
101
- const base = authored !== null && authored !== void 0 ? authored : "pr-write";
102
- const commitStatus = (_a = options.progress) === null || _a === void 0 ? void 0 : _a.commitStatus;
97
+ const base = authored ?? "pr-write";
98
+ const commitStatus = options.progress?.commitStatus;
103
99
  const wantsChecks = options.checks === true || (commitStatus !== undefined && commitStatus !== false);
104
100
  if (!wantsChecks) {
105
101
  return base;
@@ -142,8 +138,7 @@ export function createCursorGithubProxyHostResolver(input) {
142
138
  }
143
139
  /** Proxy transport for a resolver's credentials, when the host bound one. */
144
140
  export function getCursorAccountGithubProxyTransport(resolver) {
145
- var _a;
146
- return (_a = pendingByResolver.get(resolver)) === null || _a === void 0 ? void 0 : _a.getProxyTransport();
141
+ return pendingByResolver.get(resolver)?.getProxyTransport();
147
142
  }
148
143
  const pendingByResolver = new WeakMap();
149
144
  /**