@cursor/july 0.1.101 → 0.1.103

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 (862) hide show
  1. package/AGENTS.md +34 -32
  2. package/README.md +28 -3
  3. package/dist/ab.d.ts +1 -1
  4. package/dist/ab.js +1 -1
  5. package/dist/bin/agent-serve.d.ts +12 -12
  6. package/dist/bin/agent-serve.js +114 -36
  7. package/dist/channels/bitbucket/api.d.ts +176 -0
  8. package/dist/channels/bitbucket/api.d.ts.map +1 -0
  9. package/dist/channels/bitbucket/api.js +419 -0
  10. package/dist/channels/bitbucket/binding.d.ts +71 -0
  11. package/dist/channels/bitbucket/binding.d.ts.map +1 -0
  12. package/dist/channels/bitbucket/binding.js +269 -0
  13. package/dist/channels/bitbucket/bitbucket-channel.d.ts +33 -0
  14. package/dist/channels/bitbucket/bitbucket-channel.d.ts.map +1 -0
  15. package/dist/channels/bitbucket/bitbucket-channel.js +120 -0
  16. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +61 -0
  17. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -0
  18. package/dist/channels/bitbucket/bitbucket-webhook.js +394 -0
  19. package/dist/channels/bitbucket/checks.d.ts +67 -0
  20. package/dist/channels/bitbucket/checks.d.ts.map +1 -0
  21. package/dist/channels/bitbucket/checks.js +102 -0
  22. package/dist/channels/bitbucket/cursor-account.d.ts +37 -0
  23. package/dist/channels/bitbucket/cursor-account.d.ts.map +1 -0
  24. package/dist/channels/bitbucket/cursor-account.js +65 -0
  25. package/dist/channels/bitbucket/defaults.d.ts +26 -0
  26. package/dist/channels/bitbucket/defaults.d.ts.map +1 -0
  27. package/dist/channels/bitbucket/defaults.js +73 -0
  28. package/dist/channels/bitbucket/events.d.ts +22 -0
  29. package/dist/channels/bitbucket/events.d.ts.map +1 -0
  30. package/dist/channels/bitbucket/events.js +64 -0
  31. package/dist/channels/bitbucket/index.d.ts +34 -0
  32. package/dist/channels/bitbucket/index.d.ts.map +1 -0
  33. package/dist/channels/bitbucket/index.js +33 -0
  34. package/dist/channels/bitbucket/replay.d.ts +63 -0
  35. package/dist/channels/bitbucket/replay.d.ts.map +1 -0
  36. package/dist/channels/bitbucket/replay.js +304 -0
  37. package/dist/channels/bitbucket/state.d.ts +35 -0
  38. package/dist/channels/bitbucket/state.d.ts.map +1 -0
  39. package/dist/channels/bitbucket/state.js +21 -0
  40. package/dist/channels/bitbucket/types.d.ts +229 -0
  41. package/dist/channels/bitbucket/types.d.ts.map +1 -0
  42. package/dist/channels/bitbucket/types.js +1 -0
  43. package/dist/channels/deployments/deployments-channel.d.ts +22 -14
  44. package/dist/channels/deployments/deployments-channel.d.ts.map +1 -1
  45. package/dist/channels/deployments/deployments-channel.js +25 -27
  46. package/dist/channels/deployments/types.d.ts +12 -6
  47. package/dist/channels/deployments/types.d.ts.map +1 -1
  48. package/dist/channels/github/binding.d.ts +6 -0
  49. package/dist/channels/github/binding.d.ts.map +1 -1
  50. package/dist/channels/github/binding.js +3 -3
  51. package/dist/channels/github/cursor-account.d.ts +7 -3
  52. package/dist/channels/github/cursor-account.d.ts.map +1 -1
  53. package/dist/channels/github/cursor-account.js +10 -6
  54. package/dist/channels/github/events.d.ts +1 -1
  55. package/dist/channels/github/events.js +1 -1
  56. package/dist/channels/github/forward.d.ts +1 -1
  57. package/dist/channels/github/forward.d.ts.map +1 -1
  58. package/dist/channels/github/forward.js +3 -2
  59. package/dist/channels/github/github-channel.d.ts +29 -39
  60. package/dist/channels/github/github-channel.d.ts.map +1 -1
  61. package/dist/channels/github/github-channel.js +68 -101
  62. package/dist/channels/github/replay.d.ts +1 -1
  63. package/dist/channels/github/replay.js +1 -1
  64. package/dist/channels/github/state.d.ts +2 -0
  65. package/dist/channels/github/state.d.ts.map +1 -1
  66. package/dist/channels/github/state.js +14 -11
  67. package/dist/channels/github/types.d.ts +2 -4
  68. package/dist/channels/github/types.d.ts.map +1 -1
  69. package/dist/channels/gitlab/api.d.ts +91 -0
  70. package/dist/channels/gitlab/api.d.ts.map +1 -0
  71. package/dist/channels/gitlab/api.js +150 -0
  72. package/dist/channels/gitlab/binding.d.ts +58 -0
  73. package/dist/channels/gitlab/binding.d.ts.map +1 -0
  74. package/dist/channels/gitlab/binding.js +139 -0
  75. package/dist/channels/gitlab/checks.d.ts +110 -0
  76. package/dist/channels/gitlab/checks.d.ts.map +1 -0
  77. package/dist/channels/gitlab/checks.js +126 -0
  78. package/dist/channels/gitlab/cursor-account.d.ts +36 -0
  79. package/dist/channels/gitlab/cursor-account.d.ts.map +1 -0
  80. package/dist/channels/gitlab/cursor-account.js +65 -0
  81. package/dist/channels/gitlab/defaults.d.ts +25 -0
  82. package/dist/channels/gitlab/defaults.d.ts.map +1 -0
  83. package/dist/channels/gitlab/defaults.js +60 -0
  84. package/dist/channels/gitlab/events.d.ts +12 -0
  85. package/dist/channels/gitlab/events.d.ts.map +1 -0
  86. package/dist/channels/gitlab/events.js +28 -0
  87. package/dist/channels/gitlab/gitlab-channel.d.ts +33 -0
  88. package/dist/channels/gitlab/gitlab-channel.d.ts.map +1 -0
  89. package/dist/channels/gitlab/gitlab-channel.js +120 -0
  90. package/dist/channels/gitlab/gitlab-webhook.d.ts +45 -0
  91. package/dist/channels/gitlab/gitlab-webhook.d.ts.map +1 -0
  92. package/dist/channels/gitlab/gitlab-webhook.js +397 -0
  93. package/dist/channels/gitlab/index.d.ts +31 -0
  94. package/dist/channels/gitlab/index.d.ts.map +1 -0
  95. package/dist/channels/gitlab/index.js +30 -0
  96. package/dist/channels/gitlab/replay.d.ts +105 -0
  97. package/dist/channels/gitlab/replay.d.ts.map +1 -0
  98. package/dist/channels/gitlab/replay.js +206 -0
  99. package/dist/channels/gitlab/state.d.ts +33 -0
  100. package/dist/channels/gitlab/state.d.ts.map +1 -0
  101. package/dist/channels/gitlab/state.js +23 -0
  102. package/dist/channels/gitlab/types.d.ts +214 -0
  103. package/dist/channels/gitlab/types.d.ts.map +1 -0
  104. package/dist/channels/gitlab/types.js +1 -0
  105. package/dist/channels/origin/api.d.ts.map +1 -1
  106. package/dist/channels/origin/api.js +4 -2
  107. package/dist/channels/origin/origin-channel.d.ts +4 -9
  108. package/dist/channels/origin/origin-channel.d.ts.map +1 -1
  109. package/dist/channels/origin/origin-channel.js +8 -48
  110. package/dist/channels/origin/types.d.ts +20 -2
  111. package/dist/channels/origin/types.d.ts.map +1 -1
  112. package/dist/channels/slack/api.d.ts +1 -1
  113. package/dist/channels/slack/api.d.ts.map +1 -1
  114. package/dist/channels/slack/api.js +3 -1
  115. package/dist/channels/slack/assistant.d.ts +1 -1
  116. package/dist/channels/slack/assistant.d.ts.map +1 -1
  117. package/dist/channels/slack/dispatch.d.ts +3 -2
  118. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  119. package/dist/channels/slack/dispatch.js +28 -8
  120. package/dist/channels/slack/eval-directive.d.ts.map +1 -1
  121. package/dist/channels/slack/eval-directive.js +1 -7
  122. package/dist/channels/slack/inbound.d.ts +8 -0
  123. package/dist/channels/slack/inbound.d.ts.map +1 -1
  124. package/dist/channels/slack/inbound.js +28 -0
  125. package/dist/channels/slack/init.d.ts.map +1 -1
  126. package/dist/channels/slack/init.js +3 -3
  127. package/dist/channels/slack/manifest.d.ts.map +1 -1
  128. package/dist/channels/slack/manifest.js +2 -1
  129. package/dist/channels/slack/setup.d.ts +1 -1
  130. package/dist/channels/slack/setup.d.ts.map +1 -1
  131. package/dist/channels/slack/setup.js +6 -13
  132. package/dist/channels/slack/types.d.ts +1 -1
  133. package/dist/channels/slack/types.d.ts.map +1 -1
  134. package/dist/channels.d.ts +1 -1
  135. package/dist/channels.d.ts.map +1 -1
  136. package/dist/client.d.ts +1 -1
  137. package/dist/client.js +1 -1
  138. package/dist/connections.d.ts +1 -1
  139. package/dist/connections.js +1 -1
  140. package/dist/docs/404.html +2 -2
  141. package/dist/docs/ab.html +4 -4
  142. package/dist/docs/assets/{app.BASO9Kih.js → app.DW9pXkpL.js} +1 -1
  143. package/dist/docs/assets/chunks/@localSearchIndexroot.nrl1ifBq.js +1 -0
  144. package/dist/docs/assets/chunks/{VPLocalSearchBox.DwkqxoE0.js → VPLocalSearchBox.CdEIUwDg.js} +1 -1
  145. package/dist/docs/assets/chunks/{theme.CCil_13e.js → theme.YZMHgPgg.js} +2 -2
  146. package/dist/docs/assets/{concepts.md.lwAgBIMI.js → concepts.md.DgEcZOfT.js} +1 -1
  147. package/dist/docs/assets/{concepts.md.lwAgBIMI.lean.js → concepts.md.DgEcZOfT.lean.js} +1 -1
  148. package/dist/docs/assets/{evals.md.CPzDAwoH.js → evals.md.CbMoebP1.js} +1 -1
  149. package/dist/docs/assets/guides_cloud-agents.md.DS8RIjwx.js +9 -0
  150. package/dist/docs/assets/guides_cloud-agents.md.DS8RIjwx.lean.js +1 -0
  151. package/dist/docs/assets/{guides_github.md.BtPr9GaP.js → guides_github.md.DKYiT9do.js} +1 -1
  152. package/dist/docs/assets/{guides_opentelemetry.md.BVTXDCRg.js → guides_opentelemetry.md.COh9jFVg.js} +7 -8
  153. package/dist/docs/assets/{guides_opentelemetry.md.BVTXDCRg.lean.js → guides_opentelemetry.md.COh9jFVg.lean.js} +1 -1
  154. package/dist/docs/assets/index.md.D75GWhPl.js +5 -0
  155. package/dist/docs/assets/{index.md.Bb4k8kUm.lean.js → index.md.D75GWhPl.lean.js} +1 -1
  156. package/dist/docs/assets/{reference_agent-config.md.BHeYMgme.js → reference_agent-config.md.CHNpiyp4.js} +3 -3
  157. package/dist/docs/assets/{reference_channels.md.Cd2f2iyV.js → reference_channels.md.Dz8Cnudp.js} +2 -2
  158. package/dist/docs/assets/{reference_channels.md.Cd2f2iyV.lean.js → reference_channels.md.Dz8Cnudp.lean.js} +1 -1
  159. package/dist/docs/assets/{reference_cli.md.DfoeyvL0.js → reference_cli.md.CJNc_xYK.js} +1 -1
  160. package/dist/docs/assets/reference_extensions.md.DykHW3qL.js +62 -0
  161. package/dist/docs/assets/reference_extensions.md.DykHW3qL.lean.js +1 -0
  162. package/dist/docs/assets/reference_hooks.md.Ddt5DdgJ.js +73 -0
  163. package/dist/docs/assets/{reference_hooks.md.a8BJxMR5.lean.js → reference_hooks.md.Ddt5DdgJ.lean.js} +1 -1
  164. package/dist/docs/assets/{reference_playground.md.DnX5nL-B.js → reference_playground.md.4myJPxrf.js} +1 -1
  165. package/dist/docs/assets/{reference_project-layout.md.Bv4KOtlB.js → reference_project-layout.md.DuBu9a96.js} +2 -2
  166. package/dist/docs/assets/{reference_project-layout.md.Bv4KOtlB.lean.js → reference_project-layout.md.DuBu9a96.lean.js} +1 -1
  167. package/dist/docs/assets/reference_result.md.BK5SxDrf.js +19 -0
  168. package/dist/docs/assets/reference_result.md.BK5SxDrf.lean.js +1 -0
  169. package/dist/docs/assets/{reference_sessions.md.NxFP_CAC.js → reference_sessions.md.CueyOHSL.js} +1 -1
  170. package/dist/docs/assets/{reference_sessions.md.NxFP_CAC.lean.js → reference_sessions.md.CueyOHSL.lean.js} +1 -1
  171. package/dist/docs/assets/{reference_skills.md.BFW9retM.js → reference_skills.md.l2ezAcaN.js} +1 -1
  172. package/dist/docs/assets/{reference_tools.md.CvAHsdSp.js → reference_tools.md.aGrn99hP.js} +2 -2
  173. package/dist/docs/assets/skills_framework-map.md.haibFyoB.js +1 -0
  174. package/dist/docs/assets/{skills_framework-map.md.BTi817yv.lean.js → skills_framework-map.md.haibFyoB.lean.js} +1 -1
  175. package/dist/docs/assets/{skills_otel.md.CgiZryR3.js → skills_otel.md.CqhobH3B.js} +3 -3
  176. package/dist/docs/assets/{skills_otel.md.CgiZryR3.lean.js → skills_otel.md.CqhobH3B.lean.js} +1 -1
  177. package/dist/docs/assets/{templates_pr-autofixer.md.x5zl6-GT.js → templates_pr-autofixer.md.Bds_XWcV.js} +2 -2
  178. package/dist/docs/assets/{templates_pr-autofixer.md.x5zl6-GT.lean.js → templates_pr-autofixer.md.Bds_XWcV.lean.js} +1 -1
  179. package/dist/docs/building-with-agents.html +4 -4
  180. package/dist/docs/concepts.html +5 -5
  181. package/dist/docs/concepts.md +5 -7
  182. package/dist/docs/deployment.html +4 -4
  183. package/dist/docs/design/runtime-abstraction.md +2 -3
  184. package/dist/docs/evals.html +6 -6
  185. package/dist/docs/evals.md +9 -7
  186. package/dist/docs/guides/agent-to-agent.html +4 -4
  187. package/dist/docs/guides/cloud-agents.html +35 -0
  188. package/dist/docs/guides/cloud-agents.md +91 -0
  189. package/dist/docs/guides/convert-automation.html +4 -4
  190. package/dist/docs/guides/github.html +6 -6
  191. package/dist/docs/guides/github.md +0 -1
  192. package/dist/docs/guides/human-in-the-loop.html +4 -4
  193. package/dist/docs/guides/mcp-oauth.html +5 -5
  194. package/dist/docs/guides/opentelemetry.html +11 -12
  195. package/dist/docs/guides/opentelemetry.md +41 -17
  196. package/dist/docs/guides/slack.html +4 -4
  197. package/dist/docs/guides/webhooks.html +4 -4
  198. package/dist/docs/hashmap.json +1 -1
  199. package/dist/docs/hillclimbing.html +4 -4
  200. package/dist/docs/index.html +6 -6
  201. package/dist/docs/index.md +7 -3
  202. package/dist/docs/llms-full.txt +765 -209
  203. package/dist/docs/llms.txt +3 -1
  204. package/dist/docs/quickstart.html +4 -4
  205. package/dist/docs/reference/agent-config.html +8 -8
  206. package/dist/docs/reference/agent-config.md +6 -10
  207. package/dist/docs/reference/artifacts.html +5 -5
  208. package/dist/docs/reference/channels.html +6 -6
  209. package/dist/docs/reference/channels.md +18 -8
  210. package/dist/docs/reference/cli.html +5 -5
  211. package/dist/docs/reference/cli.md +3 -4
  212. package/dist/docs/reference/connections.html +4 -4
  213. package/dist/docs/reference/extensions.html +88 -0
  214. package/dist/docs/reference/extensions.md +264 -0
  215. package/dist/docs/reference/hooks.html +69 -10
  216. package/dist/docs/reference/hooks.md +215 -46
  217. package/dist/docs/reference/http-api.html +4 -4
  218. package/dist/docs/reference/instructions.html +4 -4
  219. package/dist/docs/reference/playground.html +5 -5
  220. package/dist/docs/reference/playground.md +3 -0
  221. package/dist/docs/reference/project-layout.html +6 -6
  222. package/dist/docs/reference/project-layout.md +4 -0
  223. package/dist/docs/reference/prompt.html +4 -4
  224. package/dist/docs/reference/result.html +45 -0
  225. package/dist/docs/reference/result.md +89 -0
  226. package/dist/docs/reference/schedules.html +4 -4
  227. package/dist/docs/reference/sessions.html +5 -5
  228. package/dist/docs/reference/sessions.md +3 -1
  229. package/dist/docs/reference/skills.html +6 -6
  230. package/dist/docs/reference/skills.md +2 -0
  231. package/dist/docs/reference/subagents.html +5 -5
  232. package/dist/docs/reference/tools.html +6 -6
  233. package/dist/docs/reference/tools.md +3 -2
  234. package/dist/docs/scaffolding-agents.html +4 -4
  235. package/dist/docs/skills/ab.html +4 -4
  236. package/dist/docs/skills/create-agent.html +4 -4
  237. package/dist/docs/skills/debug.html +4 -4
  238. package/dist/docs/skills/evals.html +4 -4
  239. package/dist/docs/skills/framework-map.html +5 -5
  240. package/dist/docs/skills/framework-map.md +3 -0
  241. package/dist/docs/skills/github.html +4 -4
  242. package/dist/docs/skills/hillclimb.html +4 -4
  243. package/dist/docs/skills/index.html +4 -4
  244. package/dist/docs/skills/mcp-auth.html +4 -4
  245. package/dist/docs/skills/otel.html +7 -7
  246. package/dist/docs/skills/otel.md +8 -3
  247. package/dist/docs/skills/setup-slack.html +4 -4
  248. package/dist/docs/storage.html +4 -4
  249. package/dist/docs/templates/agentic-owners.html +4 -4
  250. package/dist/docs/templates/agents-md.html +4 -4
  251. package/dist/docs/templates/code-wiki.html +4 -4
  252. package/dist/docs/templates/demo.html +4 -4
  253. package/dist/docs/templates/pr-autofixer.html +6 -6
  254. package/dist/docs/templates/pr-autofixer.md +0 -3
  255. package/dist/docs/templates/security-help.html +4 -4
  256. package/dist/docs/templates/security-reviewer.html +4 -4
  257. package/dist/docs/templates/triage.html +4 -4
  258. package/dist/docs/troubleshooting.html +4 -4
  259. package/dist/evals.d.ts +1 -1
  260. package/dist/evals.d.ts.map +1 -1
  261. package/dist/extensions/cursor-cloud-agents/extension.d.ts +9 -7
  262. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  263. package/dist/extensions/cursor-cloud-agents/extension.js +9 -7
  264. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +78 -0
  265. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -0
  266. package/dist/extensions/cursor-cloud-agents/lib/backend.js +286 -0
  267. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +5 -0
  268. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -0
  269. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +4 -0
  270. package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts +8 -0
  271. package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts.map +1 -0
  272. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +15 -0
  273. package/dist/extensions/cursor-cloud-agents/skills/handoff.md +21 -7
  274. package/dist/extensions/cursor-cloud-agents/tools/cancel.d.ts +4 -0
  275. package/dist/extensions/cursor-cloud-agents/tools/cancel.d.ts.map +1 -0
  276. package/dist/extensions/cursor-cloud-agents/tools/cancel.js +26 -0
  277. package/dist/extensions/cursor-cloud-agents/tools/dump.d.ts +4 -0
  278. package/dist/extensions/cursor-cloud-agents/tools/dump.d.ts.map +1 -0
  279. package/dist/extensions/cursor-cloud-agents/tools/dump.js +54 -0
  280. package/dist/extensions/cursor-cloud-agents/tools/get.d.ts +4 -0
  281. package/dist/extensions/cursor-cloud-agents/tools/get.d.ts.map +1 -0
  282. package/dist/extensions/cursor-cloud-agents/tools/get.js +25 -0
  283. package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -1
  284. package/dist/extensions/cursor-cloud-agents/tools/launch.js +14 -38
  285. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  286. package/dist/extensions/cursor-cloud-agents/tools/reply.d.ts +4 -0
  287. package/dist/extensions/cursor-cloud-agents/tools/reply.d.ts.map +1 -0
  288. package/dist/extensions/cursor-cloud-agents/tools/{follow_up.js → reply.js} +12 -14
  289. package/dist/extensions.d.ts +54 -17
  290. package/dist/extensions.d.ts.map +1 -1
  291. package/dist/extensions.js +83 -15
  292. package/dist/files-backends/cursor-hosted.d.ts +0 -8
  293. package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
  294. package/dist/files-backends/cursor-hosted.js +1 -11
  295. package/dist/files.d.ts +21 -4
  296. package/dist/files.d.ts.map +1 -1
  297. package/dist/files.js +38 -21
  298. package/dist/index.d.ts +6 -6
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +4 -4
  301. package/dist/internal/ab-snapshot.d.ts.map +1 -1
  302. package/dist/internal/ab-snapshot.js +0 -1
  303. package/dist/internal/advertise-tools.d.ts.map +1 -1
  304. package/dist/internal/advertise-tools.js +1 -3
  305. package/dist/internal/authored-alias-hooks.d.ts +4 -13
  306. package/dist/internal/authored-alias-hooks.d.ts.map +1 -1
  307. package/dist/internal/authored-alias-hooks.js +4 -20
  308. package/dist/internal/authored-loaders.d.ts +2 -3
  309. package/dist/internal/authored-loaders.d.ts.map +1 -1
  310. package/dist/internal/authored-loaders.js +6 -20
  311. package/dist/internal/channel-dispatch.d.ts +43 -0
  312. package/dist/internal/channel-dispatch.d.ts.map +1 -0
  313. package/dist/internal/channel-dispatch.js +77 -0
  314. package/dist/internal/chat-client.d.ts +1 -1
  315. package/dist/internal/chat-client.js +1 -1
  316. package/dist/internal/cli-ax.d.ts +5 -5
  317. package/dist/internal/cli-ax.d.ts.map +1 -1
  318. package/dist/internal/cli-ax.js +5 -5
  319. package/dist/internal/cli-bitbucket.d.ts +33 -0
  320. package/dist/internal/cli-bitbucket.d.ts.map +1 -0
  321. package/dist/internal/cli-bitbucket.js +359 -0
  322. package/dist/internal/cli-convert-automation.d.ts +1 -1
  323. package/dist/internal/cli-convert-automation.js +2 -2
  324. package/dist/internal/cli-cursor.d.ts +1 -1
  325. package/dist/internal/cli-cursor.d.ts.map +1 -1
  326. package/dist/internal/cli-cursor.js +2 -4
  327. package/dist/internal/cli-deploy.d.ts.map +1 -1
  328. package/dist/internal/cli-deploy.js +2 -6
  329. package/dist/internal/cli-github.d.ts +1 -1
  330. package/dist/internal/cli-github.js +3 -3
  331. package/dist/internal/cli-gitlab.d.ts +37 -0
  332. package/dist/internal/cli-gitlab.d.ts.map +1 -0
  333. package/dist/internal/cli-gitlab.js +380 -0
  334. package/dist/internal/cli-mcp.d.ts.map +1 -1
  335. package/dist/internal/cli-mcp.js +2 -6
  336. package/dist/internal/cli-slack.d.ts +1 -1
  337. package/dist/internal/cli-slack.d.ts.map +1 -1
  338. package/dist/internal/cli-slack.js +2 -4
  339. package/dist/internal/continuation-channel.d.ts +14 -0
  340. package/dist/internal/continuation-channel.d.ts.map +1 -1
  341. package/dist/internal/continuation-channel.js +56 -3
  342. package/dist/internal/continuation-identity.d.ts +14 -15
  343. package/dist/internal/continuation-identity.d.ts.map +1 -1
  344. package/dist/internal/continuation-identity.js +182 -7
  345. package/dist/internal/conversation-mirror.d.ts.map +1 -1
  346. package/dist/internal/conversation-mirror.js +17 -18
  347. package/dist/internal/convert-automation/types.d.ts +1 -1
  348. package/dist/internal/convert-automation/types.js +1 -1
  349. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  350. package/dist/internal/cursor/account-mcp.js +1 -3
  351. package/dist/internal/cursor/backend-client.d.ts +13 -5
  352. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  353. package/dist/internal/cursor/backend-client.js +30 -15
  354. package/dist/internal/cursor/bound-secret-file.d.ts +56 -0
  355. package/dist/internal/cursor/bound-secret-file.d.ts.map +1 -0
  356. package/dist/internal/cursor/bound-secret-file.js +88 -0
  357. package/dist/internal/cursor/credentials.d.ts +39 -5
  358. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  359. package/dist/internal/cursor/credentials.js +58 -8
  360. package/dist/internal/cursor/hosted-bound-secrets.d.ts +41 -0
  361. package/dist/internal/cursor/hosted-bound-secrets.d.ts.map +1 -0
  362. package/dist/internal/cursor/hosted-bound-secrets.js +54 -0
  363. package/dist/internal/cursor/hosted-deployment-secrets.d.ts +19 -5
  364. package/dist/internal/cursor/hosted-deployment-secrets.d.ts.map +1 -1
  365. package/dist/internal/cursor/hosted-deployment-secrets.js +29 -9
  366. package/dist/internal/cursor/hosted-store-secrets.d.ts +12 -1
  367. package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
  368. package/dist/internal/cursor/hosted-store-secrets.js +16 -1
  369. package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -1
  370. package/dist/internal/cursor-account-mcp-auth.js +2 -4
  371. package/dist/internal/cursor-deployment-relay.d.ts +6 -2
  372. package/dist/internal/cursor-deployment-relay.d.ts.map +1 -1
  373. package/dist/internal/cursor-deployment-relay.js +13 -9
  374. package/dist/internal/deploy-manifest.d.ts +1 -1
  375. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  376. package/dist/internal/deploy-manifest.js +1 -1
  377. package/dist/internal/discovery/ab.d.ts +9 -0
  378. package/dist/internal/discovery/ab.d.ts.map +1 -0
  379. package/dist/internal/discovery/ab.js +113 -0
  380. package/dist/internal/discovery/agent-config.d.ts +35 -0
  381. package/dist/internal/discovery/agent-config.d.ts.map +1 -0
  382. package/dist/internal/discovery/agent-config.js +173 -0
  383. package/dist/internal/discovery/agent.d.ts +16 -0
  384. package/dist/internal/discovery/agent.d.ts.map +1 -0
  385. package/dist/internal/discovery/agent.js +255 -0
  386. package/dist/internal/discovery/channels.d.ts +10 -0
  387. package/dist/internal/discovery/channels.d.ts.map +1 -0
  388. package/dist/internal/discovery/channels.js +97 -0
  389. package/dist/internal/discovery/connections.d.ts +13 -0
  390. package/dist/internal/discovery/connections.d.ts.map +1 -0
  391. package/dist/internal/discovery/connections.js +422 -0
  392. package/dist/internal/discovery/context.d.ts +20 -0
  393. package/dist/internal/discovery/context.d.ts.map +1 -0
  394. package/dist/internal/discovery/context.js +30 -0
  395. package/dist/internal/discovery/cursor-plugin.d.ts +25 -0
  396. package/dist/internal/discovery/cursor-plugin.d.ts.map +1 -0
  397. package/dist/internal/discovery/cursor-plugin.js +568 -0
  398. package/dist/internal/discovery/extension-overlay.d.ts +32 -0
  399. package/dist/internal/discovery/extension-overlay.d.ts.map +1 -0
  400. package/dist/internal/discovery/extension-overlay.js +191 -0
  401. package/dist/internal/discovery/extensions.d.ts +28 -0
  402. package/dist/internal/discovery/extensions.d.ts.map +1 -0
  403. package/dist/internal/discovery/extensions.js +375 -0
  404. package/dist/internal/discovery/fs.d.ts +15 -0
  405. package/dist/internal/discovery/fs.d.ts.map +1 -0
  406. package/dist/internal/discovery/fs.js +115 -0
  407. package/dist/internal/discovery/hooks.d.ts +7 -0
  408. package/dist/internal/discovery/hooks.d.ts.map +1 -0
  409. package/dist/internal/discovery/hooks.js +61 -0
  410. package/dist/internal/discovery/info.d.ts +6 -0
  411. package/dist/internal/discovery/info.d.ts.map +1 -0
  412. package/dist/internal/discovery/info.js +147 -0
  413. package/dist/internal/discovery/instructions.d.ts +7 -0
  414. package/dist/internal/discovery/instructions.d.ts.map +1 -0
  415. package/dist/internal/discovery/instructions.js +95 -0
  416. package/dist/internal/discovery/modules.d.ts +20 -0
  417. package/dist/internal/discovery/modules.d.ts.map +1 -0
  418. package/dist/internal/discovery/modules.js +107 -0
  419. package/dist/internal/discovery/names.d.ts +12 -0
  420. package/dist/internal/discovery/names.d.ts.map +1 -0
  421. package/dist/internal/discovery/names.js +37 -0
  422. package/dist/internal/discovery/project.d.ts +51 -0
  423. package/dist/internal/discovery/project.d.ts.map +1 -0
  424. package/dist/internal/discovery/project.js +293 -0
  425. package/dist/internal/discovery/runtime.d.ts +34 -0
  426. package/dist/internal/discovery/runtime.d.ts.map +1 -0
  427. package/dist/internal/discovery/runtime.js +97 -0
  428. package/dist/internal/discovery/schedules.d.ts +7 -0
  429. package/dist/internal/discovery/schedules.d.ts.map +1 -0
  430. package/dist/internal/discovery/schedules.js +118 -0
  431. package/dist/internal/discovery/seed-files.d.ts +7 -0
  432. package/dist/internal/discovery/seed-files.d.ts.map +1 -0
  433. package/dist/internal/discovery/seed-files.js +41 -0
  434. package/dist/internal/discovery/services.d.ts +21 -0
  435. package/dist/internal/discovery/services.d.ts.map +1 -0
  436. package/dist/internal/discovery/services.js +134 -0
  437. package/dist/internal/discovery/skills.d.ts +11 -0
  438. package/dist/internal/discovery/skills.d.ts.map +1 -0
  439. package/dist/internal/discovery/skills.js +156 -0
  440. package/dist/internal/discovery/subagent.d.ts +16 -0
  441. package/dist/internal/discovery/subagent.d.ts.map +1 -0
  442. package/dist/internal/discovery/subagent.js +128 -0
  443. package/dist/internal/discovery/tools.d.ts +18 -0
  444. package/dist/internal/discovery/tools.d.ts.map +1 -0
  445. package/dist/internal/discovery/tools.js +159 -0
  446. package/dist/internal/discovery.d.ts +8 -63
  447. package/dist/internal/discovery.d.ts.map +1 -1
  448. package/dist/internal/discovery.js +6 -2504
  449. package/dist/internal/distribution.d.ts +10 -27
  450. package/dist/internal/distribution.d.ts.map +1 -1
  451. package/dist/internal/distribution.js +25 -73
  452. package/dist/internal/docs-site.js +1 -1
  453. package/dist/internal/eval-run-store.d.ts +0 -1
  454. package/dist/internal/eval-run-store.d.ts.map +1 -1
  455. package/dist/internal/eval-runner.d.ts.map +1 -1
  456. package/dist/internal/framework-file-storage.d.ts +8 -0
  457. package/dist/internal/framework-file-storage.d.ts.map +1 -1
  458. package/dist/internal/framework-file-storage.js +14 -14
  459. package/dist/internal/framework-storage-selection.d.ts.map +1 -1
  460. package/dist/internal/framework-storage-selection.js +8 -7
  461. package/dist/internal/frontmatter.d.ts +11 -3
  462. package/dist/internal/frontmatter.d.ts.map +1 -1
  463. package/dist/internal/frontmatter.js +29 -3
  464. package/dist/internal/github-fanout.d.ts +1 -1
  465. package/dist/internal/github-fanout.js +1 -1
  466. package/dist/internal/guest-network.d.ts +101 -0
  467. package/dist/internal/guest-network.d.ts.map +1 -0
  468. package/dist/internal/guest-network.js +304 -0
  469. package/dist/internal/host-otel.d.ts +3 -3
  470. package/dist/internal/host-otel.d.ts.map +1 -1
  471. package/dist/internal/host-otel.js +8 -4
  472. package/dist/internal/hosted-admission-adapter.d.ts +8 -7
  473. package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
  474. package/dist/internal/hosted-delivery-protocol.d.ts +6 -0
  475. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  476. package/dist/internal/hosted-delivery-protocol.js +18 -5
  477. package/dist/internal/hosted-delivery.d.ts +18 -0
  478. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  479. package/dist/internal/hosted-delivery.js +248 -118
  480. package/dist/internal/http-channel.d.ts.map +1 -1
  481. package/dist/internal/http-channel.js +1 -3
  482. package/dist/internal/init-interview.d.ts.map +1 -1
  483. package/dist/internal/init-interview.js +1 -3
  484. package/dist/internal/init-project.d.ts +2 -2
  485. package/dist/internal/init-project.js +2 -2
  486. package/dist/internal/inline-stdio-define-stub.d.ts +1 -1
  487. package/dist/internal/inline-stdio-define-stub.d.ts.map +1 -1
  488. package/dist/internal/inline-stdio-define-stub.js +1 -1
  489. package/dist/internal/is-record.d.ts +2 -0
  490. package/dist/internal/is-record.d.ts.map +1 -0
  491. package/dist/internal/is-record.js +3 -0
  492. package/dist/internal/json-schema.d.ts.map +1 -1
  493. package/dist/internal/json-schema.js +18 -10
  494. package/dist/internal/local-control-plane.d.ts +1 -2
  495. package/dist/internal/local-control-plane.d.ts.map +1 -1
  496. package/dist/internal/local-control-plane.js +3 -20
  497. package/dist/internal/mcp-endpoint.d.ts.map +1 -1
  498. package/dist/internal/mcp-endpoint.js +1 -3
  499. package/dist/internal/mcp-host.d.ts.map +1 -1
  500. package/dist/internal/mcp-host.js +37 -20
  501. package/dist/internal/otel/collector.d.ts +22 -0
  502. package/dist/internal/otel/collector.d.ts.map +1 -1
  503. package/dist/internal/otel/collector.js +145 -126
  504. package/dist/internal/otel/config.d.ts +0 -2
  505. package/dist/internal/otel/config.d.ts.map +1 -1
  506. package/dist/internal/otel/config.js +17 -20
  507. package/dist/internal/otel/http.d.ts +2 -0
  508. package/dist/internal/otel/http.d.ts.map +1 -1
  509. package/dist/internal/otel/http.js +8 -10
  510. package/dist/internal/otel/mcp.d.ts +16 -0
  511. package/dist/internal/otel/mcp.d.ts.map +1 -0
  512. package/dist/internal/otel/mcp.js +55 -0
  513. package/dist/internal/otel/propagation.d.ts +6 -0
  514. package/dist/internal/otel/propagation.d.ts.map +1 -0
  515. package/dist/internal/otel/propagation.js +14 -0
  516. package/dist/internal/otel/runtime.d.ts +26 -1
  517. package/dist/internal/otel/runtime.d.ts.map +1 -1
  518. package/dist/internal/otel/runtime.js +166 -15
  519. package/dist/internal/package-inline-stdio.d.ts.map +1 -1
  520. package/dist/internal/package-inline-stdio.js +3 -11
  521. package/dist/internal/playground/toolchain.d.ts +1 -1
  522. package/dist/internal/playground/toolchain.d.ts.map +1 -1
  523. package/dist/internal/playground/toolchain.js +1 -1
  524. package/dist/internal/request-error-status.d.ts +12 -0
  525. package/dist/internal/request-error-status.d.ts.map +1 -0
  526. package/dist/internal/request-error-status.js +52 -0
  527. package/dist/internal/resolve-prod-target.d.ts +1 -1
  528. package/dist/internal/resolve-prod-target.d.ts.map +1 -1
  529. package/dist/internal/resolve-prod-target.js +3 -7
  530. package/dist/internal/result-output.d.ts +18 -0
  531. package/dist/internal/result-output.d.ts.map +1 -0
  532. package/dist/internal/result-output.js +33 -0
  533. package/dist/internal/run-client.d.ts +2 -2
  534. package/dist/internal/run-client.js +2 -2
  535. package/dist/internal/runtime-dispatch-runner.d.ts +1 -11
  536. package/dist/internal/runtime-dispatch-runner.d.ts.map +1 -1
  537. package/dist/internal/runtime-dispatch-runner.js +2 -15
  538. package/dist/internal/sdk-runner.d.ts.map +1 -1
  539. package/dist/internal/sdk-runner.js +3 -6
  540. package/dist/internal/server.d.ts.map +1 -1
  541. package/dist/internal/server.js +110 -35
  542. package/dist/internal/session-cost.d.ts +3 -3
  543. package/dist/internal/session-cost.d.ts.map +1 -1
  544. package/dist/internal/session-cost.js +3 -3
  545. package/dist/internal/session-engine.d.ts +31 -11
  546. package/dist/internal/session-engine.d.ts.map +1 -1
  547. package/dist/internal/session-engine.js +208 -102
  548. package/dist/internal/session-run-log.d.ts +2 -1
  549. package/dist/internal/session-run-log.d.ts.map +1 -1
  550. package/dist/internal/session-run-log.js +14 -17
  551. package/dist/internal/skills-sync.d.ts +1 -4
  552. package/dist/internal/skills-sync.d.ts.map +1 -1
  553. package/dist/internal/skills-sync.js +10 -50
  554. package/dist/internal/sleep.d.ts +2 -0
  555. package/dist/internal/sleep.d.ts.map +1 -0
  556. package/dist/internal/sleep.js +3 -0
  557. package/dist/internal/start-log-store.d.ts +1 -1
  558. package/dist/internal/start-log-store.d.ts.map +1 -1
  559. package/dist/internal/start-log-store.js +12 -14
  560. package/dist/internal/storage-coordinator.d.ts +4 -1
  561. package/dist/internal/storage-coordinator.d.ts.map +1 -1
  562. package/dist/internal/storage-coordinator.js +15 -13
  563. package/dist/internal/store-mirror.d.ts +29 -0
  564. package/dist/internal/store-mirror.d.ts.map +1 -0
  565. package/dist/internal/store-mirror.js +70 -0
  566. package/dist/internal/tenant-slack/relay.d.ts +73 -0
  567. package/dist/internal/tenant-slack/relay.d.ts.map +1 -0
  568. package/dist/internal/tenant-slack/relay.js +138 -0
  569. package/dist/internal/testing/scm-continuation-fixtures.d.ts +33 -0
  570. package/dist/internal/testing/scm-continuation-fixtures.d.ts.map +1 -0
  571. package/dist/internal/testing/scm-continuation-fixtures.js +253 -0
  572. package/dist/internal/tool-catalog.d.ts.map +1 -1
  573. package/dist/internal/tool-catalog.js +9 -6
  574. package/dist/internal/turn-cost.d.ts +14 -0
  575. package/dist/internal/turn-cost.d.ts.map +1 -1
  576. package/dist/internal/turn-cost.js +41 -9
  577. package/dist/internal/v2-hosting.d.ts +22 -0
  578. package/dist/internal/v2-hosting.d.ts.map +1 -0
  579. package/dist/internal/v2-hosting.js +23 -0
  580. package/dist/internal/workspace-sync.d.ts +22 -0
  581. package/dist/internal/workspace-sync.d.ts.map +1 -0
  582. package/dist/internal/workspace-sync.js +49 -0
  583. package/dist/internal/workspace.d.ts +7 -0
  584. package/dist/internal/workspace.d.ts.map +1 -1
  585. package/dist/internal/workspace.js +13 -0
  586. package/dist/otel.d.ts +39 -1
  587. package/dist/otel.d.ts.map +1 -1
  588. package/dist/otel.js +118 -1
  589. package/dist/playground/assets/index-59KvgREd.js +67 -0
  590. package/dist/playground/assets/index-MbMxXg-y.css +1 -0
  591. package/dist/playground/index.html +2 -2
  592. package/dist/result.d.ts +24 -0
  593. package/dist/result.d.ts.map +1 -0
  594. package/dist/result.js +27 -0
  595. package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
  596. package/dist/storage-backends/cursor-hosted.js +7 -4
  597. package/dist/storage-protocol.d.ts +24 -23
  598. package/dist/storage-protocol.d.ts.map +1 -1
  599. package/dist/storage-protocol.js +69 -68
  600. package/dist/storage.d.ts +2 -2
  601. package/dist/storage.d.ts.map +1 -1
  602. package/dist/storage.js +1 -1
  603. package/dist/tools.d.ts +9 -0
  604. package/dist/tools.d.ts.map +1 -1
  605. package/dist/tools.js +9 -0
  606. package/dist/types.d.ts +126 -23
  607. package/dist/types.d.ts.map +1 -1
  608. package/docs/README.md +7 -3
  609. package/docs/concepts.md +5 -7
  610. package/docs/design/runtime-abstraction.md +2 -3
  611. package/docs/evals.md +9 -7
  612. package/docs/guides/cloud-agents.md +96 -0
  613. package/docs/guides/github.md +0 -1
  614. package/docs/guides/opentelemetry.md +41 -17
  615. package/docs/reference/agent-config.md +6 -10
  616. package/docs/reference/channels.md +18 -8
  617. package/docs/reference/cli.md +3 -4
  618. package/docs/reference/extensions.md +269 -0
  619. package/docs/reference/hooks.md +215 -46
  620. package/docs/reference/playground.md +3 -0
  621. package/docs/reference/project-layout.md +4 -0
  622. package/docs/reference/result.md +94 -0
  623. package/docs/reference/sessions.md +3 -1
  624. package/docs/reference/skills.md +2 -0
  625. package/docs/reference/tools.md +3 -2
  626. package/docs/templates/pr-autofixer.md +0 -3
  627. package/package.json +29 -10
  628. package/skills/framework-map/SKILL.md +3 -0
  629. package/skills/otel/SKILL.md +8 -3
  630. package/src/ab.ts +1 -1
  631. package/src/bin/agent-serve.ts +121 -21
  632. package/src/channels/bitbucket/api.ts +623 -0
  633. package/src/channels/bitbucket/binding.ts +414 -0
  634. package/src/channels/bitbucket/bitbucket-channel.ts +182 -0
  635. package/src/channels/bitbucket/bitbucket-webhook.ts +576 -0
  636. package/src/channels/bitbucket/checks.ts +154 -0
  637. package/src/channels/bitbucket/cursor-account.ts +117 -0
  638. package/src/channels/bitbucket/defaults.ts +110 -0
  639. package/src/channels/bitbucket/events.ts +84 -0
  640. package/src/channels/bitbucket/index.ts +49 -0
  641. package/src/channels/bitbucket/replay.ts +439 -0
  642. package/src/channels/bitbucket/state.ts +59 -0
  643. package/src/channels/bitbucket/types.ts +266 -0
  644. package/src/channels/deployments/deployments-channel.ts +25 -43
  645. package/src/channels/deployments/types.ts +12 -6
  646. package/src/channels/github/binding.ts +8 -1
  647. package/src/channels/github/cursor-account.ts +17 -6
  648. package/src/channels/github/events.ts +1 -1
  649. package/src/channels/github/forward.ts +3 -2
  650. package/src/channels/github/github-channel.ts +74 -221
  651. package/src/channels/github/replay.ts +1 -1
  652. package/src/channels/github/state.ts +6 -0
  653. package/src/channels/github/types.ts +2 -5
  654. package/src/channels/gitlab/api.ts +228 -0
  655. package/src/channels/gitlab/binding.ts +233 -0
  656. package/src/channels/gitlab/checks.ts +243 -0
  657. package/src/channels/gitlab/cursor-account.ts +114 -0
  658. package/src/channels/gitlab/defaults.ts +93 -0
  659. package/src/channels/gitlab/events.ts +44 -0
  660. package/src/channels/gitlab/gitlab-channel.ts +176 -0
  661. package/src/channels/gitlab/gitlab-webhook.ts +555 -0
  662. package/src/channels/gitlab/index.ts +43 -0
  663. package/src/channels/gitlab/replay.ts +347 -0
  664. package/src/channels/gitlab/state.ts +55 -0
  665. package/src/channels/gitlab/types.ts +263 -0
  666. package/src/channels/origin/api.ts +4 -2
  667. package/src/channels/origin/origin-channel.ts +19 -94
  668. package/src/channels/origin/types.ts +23 -2
  669. package/src/channels/slack/api.ts +4 -2
  670. package/src/channels/slack/assistant.ts +1 -1
  671. package/src/channels/slack/dispatch.ts +27 -2
  672. package/src/channels/slack/eval-directive.ts +1 -6
  673. package/src/channels/slack/inbound.ts +37 -0
  674. package/src/channels/slack/init.ts +6 -3
  675. package/src/channels/slack/manifest.ts +2 -1
  676. package/src/channels/slack/setup.ts +7 -6
  677. package/src/channels/slack/types.ts +1 -1
  678. package/src/channels.ts +0 -1
  679. package/src/client.ts +1 -1
  680. package/src/connections.ts +1 -1
  681. package/src/evals.ts +1 -1
  682. package/src/extensions/cursor-cloud-agents/extension.ts +9 -7
  683. package/src/extensions/cursor-cloud-agents/lib/backend.ts +395 -0
  684. package/src/extensions/cursor-cloud-agents/lib/inputs.ts +5 -0
  685. package/src/extensions/cursor-cloud-agents/lib/transcript.ts +23 -0
  686. package/src/extensions/cursor-cloud-agents/skills/handoff.md +21 -7
  687. package/src/extensions/cursor-cloud-agents/tools/cancel.ts +19 -0
  688. package/src/extensions/cursor-cloud-agents/tools/dump.ts +51 -0
  689. package/src/extensions/cursor-cloud-agents/tools/get.ts +18 -0
  690. package/src/extensions/cursor-cloud-agents/tools/launch.ts +22 -42
  691. package/src/extensions/cursor-cloud-agents/tools/list.ts +1 -1
  692. package/src/extensions/cursor-cloud-agents/tools/reply.ts +34 -0
  693. package/src/extensions.ts +100 -15
  694. package/src/files-backends/cursor-hosted.ts +1 -17
  695. package/src/files.ts +64 -37
  696. package/src/index.ts +27 -26
  697. package/src/internal/ab-snapshot.ts +0 -3
  698. package/src/internal/advertise-tools.ts +1 -4
  699. package/src/internal/authored-alias-hooks.ts +4 -21
  700. package/src/internal/authored-loaders.ts +6 -23
  701. package/src/internal/channel-dispatch.ts +160 -0
  702. package/src/internal/chat-client.ts +1 -1
  703. package/src/internal/cli-ax.ts +5 -5
  704. package/src/internal/cli-bitbucket.ts +477 -0
  705. package/src/internal/cli-convert-automation.ts +7 -7
  706. package/src/internal/cli-cursor.ts +2 -5
  707. package/src/internal/cli-deploy.ts +2 -8
  708. package/src/internal/cli-github.ts +3 -3
  709. package/src/internal/cli-gitlab.ts +485 -0
  710. package/src/internal/cli-mcp.ts +2 -7
  711. package/src/internal/cli-slack.ts +2 -5
  712. package/src/internal/continuation-channel.ts +82 -1
  713. package/src/internal/continuation-identity.ts +229 -11
  714. package/src/internal/conversation-mirror.ts +27 -21
  715. package/src/internal/convert-automation/types.ts +1 -1
  716. package/src/internal/cursor/account-mcp.ts +1 -4
  717. package/src/internal/cursor/backend-client.ts +41 -20
  718. package/src/internal/cursor/bound-secret-file.ts +108 -0
  719. package/src/internal/cursor/credentials.ts +75 -10
  720. package/src/internal/cursor/hosted-bound-secrets.ts +75 -0
  721. package/src/internal/cursor/hosted-deployment-secrets.ts +42 -11
  722. package/src/internal/cursor/hosted-store-secrets.ts +28 -1
  723. package/src/internal/cursor-account-mcp-auth.ts +2 -5
  724. package/src/internal/cursor-deployment-relay.ts +11 -7
  725. package/src/internal/deploy-manifest.ts +4 -2
  726. package/src/internal/discovery/ab.ts +131 -0
  727. package/src/internal/discovery/agent-config.ts +222 -0
  728. package/src/internal/discovery/agent.ts +319 -0
  729. package/src/internal/discovery/channels.ts +105 -0
  730. package/src/internal/discovery/connections.ts +545 -0
  731. package/src/internal/discovery/context.ts +46 -0
  732. package/src/internal/discovery/cursor-plugin.ts +705 -0
  733. package/src/internal/discovery/extension-overlay.ts +274 -0
  734. package/src/internal/discovery/extensions.ts +573 -0
  735. package/src/internal/discovery/fs.ts +108 -0
  736. package/src/internal/discovery/hooks.ts +63 -0
  737. package/src/internal/discovery/info.ts +186 -0
  738. package/src/internal/discovery/instructions.ts +113 -0
  739. package/src/internal/discovery/modules.ts +113 -0
  740. package/src/internal/discovery/names.ts +45 -0
  741. package/src/internal/discovery/project.ts +341 -0
  742. package/src/internal/discovery/runtime.ts +158 -0
  743. package/src/internal/discovery/schedules.ts +120 -0
  744. package/src/internal/discovery/seed-files.ts +37 -0
  745. package/src/internal/discovery/services.ts +160 -0
  746. package/src/internal/discovery/skills.ts +186 -0
  747. package/src/internal/discovery/subagent.ts +136 -0
  748. package/src/internal/discovery/tools.ts +182 -0
  749. package/src/internal/discovery.ts +18 -3081
  750. package/src/internal/distribution.ts +35 -83
  751. package/src/internal/docs-site.ts +1 -1
  752. package/src/internal/eval-run-store.ts +0 -7
  753. package/src/internal/eval-runner.ts +0 -1
  754. package/src/internal/framework-file-storage.ts +14 -14
  755. package/src/internal/framework-storage-selection.ts +9 -9
  756. package/src/internal/frontmatter.ts +36 -3
  757. package/src/internal/github-fanout.ts +1 -1
  758. package/src/internal/guest-network.ts +383 -0
  759. package/src/internal/host-otel.ts +8 -4
  760. package/src/internal/hosted-admission-adapter.ts +8 -8
  761. package/src/internal/hosted-delivery-protocol.ts +26 -1
  762. package/src/internal/hosted-delivery.ts +376 -192
  763. package/src/internal/http-channel.ts +1 -4
  764. package/src/internal/init-interview.ts +1 -4
  765. package/src/internal/init-project.ts +2 -2
  766. package/src/internal/inline-stdio-define-stub.ts +1 -1
  767. package/src/internal/is-record.ts +3 -0
  768. package/src/internal/json-schema.ts +19 -10
  769. package/src/internal/local-control-plane.ts +5 -24
  770. package/src/internal/mcp-endpoint.ts +1 -4
  771. package/src/internal/mcp-host.ts +84 -31
  772. package/src/internal/otel/collector.ts +200 -165
  773. package/src/internal/otel/config.ts +10 -14
  774. package/src/internal/otel/http.ts +16 -13
  775. package/src/internal/otel/mcp.ts +56 -0
  776. package/src/internal/otel/propagation.ts +17 -0
  777. package/src/internal/otel/runtime.ts +242 -25
  778. package/src/internal/package-inline-stdio.ts +3 -12
  779. package/src/internal/playground/toolchain.ts +1 -1
  780. package/src/internal/request-error-status.ts +72 -0
  781. package/src/internal/resolve-prod-target.ts +3 -8
  782. package/src/internal/result-output.ts +34 -0
  783. package/src/internal/run-client.ts +2 -2
  784. package/src/internal/runtime-dispatch-runner.ts +3 -21
  785. package/src/internal/sdk-runner.ts +3 -7
  786. package/src/internal/server.ts +153 -44
  787. package/src/internal/session-cost.ts +3 -3
  788. package/src/internal/session-engine.ts +274 -81
  789. package/src/internal/session-run-log.ts +18 -20
  790. package/src/internal/skills-sync.ts +13 -63
  791. package/src/internal/sleep.ts +3 -0
  792. package/src/internal/start-log-store.ts +13 -16
  793. package/src/internal/storage-coordinator.ts +19 -16
  794. package/src/internal/store-mirror.ts +86 -0
  795. package/src/internal/tenant-slack/relay.ts +179 -0
  796. package/src/internal/testing/scm-continuation-fixtures.ts +286 -0
  797. package/src/internal/tool-catalog.ts +9 -6
  798. package/src/internal/turn-cost.ts +47 -4
  799. package/src/internal/v2-hosting.ts +38 -0
  800. package/src/internal/workspace-sync.ts +55 -0
  801. package/src/internal/workspace.ts +14 -0
  802. package/src/otel.ts +180 -2
  803. package/src/result.ts +36 -0
  804. package/src/storage-backends/cursor-hosted.ts +7 -4
  805. package/src/storage-protocol.ts +102 -95
  806. package/src/storage.ts +4 -0
  807. package/src/tools.ts +18 -0
  808. package/src/types.ts +146 -34
  809. package/templates/triage/agent/lib/types.ts +0 -2
  810. package/dist/continuation.d.ts +0 -20
  811. package/dist/continuation.d.ts.map +0 -1
  812. package/dist/continuation.js +0 -18
  813. package/dist/docs/assets/chunks/@localSearchIndexroot.DbFXINq2.js +0 -1
  814. package/dist/docs/assets/guides_cloud-runtime.md.CkYbjnAX.js +0 -9
  815. package/dist/docs/assets/guides_cloud-runtime.md.CkYbjnAX.lean.js +0 -1
  816. package/dist/docs/assets/index.md.Bb4k8kUm.js +0 -5
  817. package/dist/docs/assets/reference_hooks.md.a8BJxMR5.js +0 -14
  818. package/dist/docs/assets/skills_framework-map.md.BTi817yv.js +0 -1
  819. package/dist/docs/guides/cloud-runtime.html +0 -35
  820. package/dist/docs/guides/cloud-runtime.md +0 -115
  821. package/dist/extensions/cursor-cloud-agents/lib/cloud.d.ts +0 -30
  822. package/dist/extensions/cursor-cloud-agents/lib/cloud.d.ts.map +0 -1
  823. package/dist/extensions/cursor-cloud-agents/lib/cloud.js +0 -45
  824. package/dist/extensions/cursor-cloud-agents/tools/follow_up.d.ts +0 -4
  825. package/dist/extensions/cursor-cloud-agents/tools/follow_up.d.ts.map +0 -1
  826. package/dist/extensions/cursor-cloud-agents/tools/status.d.ts +0 -4
  827. package/dist/extensions/cursor-cloud-agents/tools/status.d.ts.map +0 -1
  828. package/dist/extensions/cursor-cloud-agents/tools/status.js +0 -41
  829. package/dist/internal/convert-automation/index.d.ts +0 -3
  830. package/dist/internal/convert-automation/index.d.ts.map +0 -1
  831. package/dist/internal/convert-automation/index.js +0 -1
  832. package/dist/internal/grokbot/runner.d.ts +0 -64
  833. package/dist/internal/grokbot/runner.d.ts.map +0 -1
  834. package/dist/internal/grokbot/runner.js +0 -282
  835. package/dist/internal/managed-delivery.d.ts +0 -80
  836. package/dist/internal/managed-delivery.d.ts.map +0 -1
  837. package/dist/internal/managed-delivery.js +0 -86
  838. package/dist/internal/review-comments.d.ts +0 -370
  839. package/dist/internal/review-comments.d.ts.map +0 -1
  840. package/dist/internal/review-comments.js +0 -921
  841. package/dist/internal/shallow-clone.d.ts +0 -176
  842. package/dist/internal/shallow-clone.d.ts.map +0 -1
  843. package/dist/internal/shallow-clone.js +0 -419
  844. package/dist/playground/assets/index-BnNN1-EK.js +0 -69
  845. package/dist/playground/assets/index-DBQCwFp0.css +0 -1
  846. package/docs/guides/cloud-runtime.md +0 -120
  847. package/src/continuation.ts +0 -49
  848. package/src/extensions/cursor-cloud-agents/lib/cloud.ts +0 -79
  849. package/src/extensions/cursor-cloud-agents/tools/follow_up.ts +0 -29
  850. package/src/extensions/cursor-cloud-agents/tools/status.ts +0 -39
  851. package/src/internal/convert-automation/index.ts +0 -10
  852. package/src/internal/grokbot/runner.ts +0 -370
  853. package/src/internal/managed-delivery.ts +0 -125
  854. package/src/internal/review-comments.ts +0 -1363
  855. package/src/internal/shallow-clone.ts +0 -609
  856. /package/dist/docs/assets/{evals.md.CPzDAwoH.lean.js → evals.md.CbMoebP1.lean.js} +0 -0
  857. /package/dist/docs/assets/{guides_github.md.BtPr9GaP.lean.js → guides_github.md.DKYiT9do.lean.js} +0 -0
  858. /package/dist/docs/assets/{reference_agent-config.md.BHeYMgme.lean.js → reference_agent-config.md.CHNpiyp4.lean.js} +0 -0
  859. /package/dist/docs/assets/{reference_cli.md.DfoeyvL0.lean.js → reference_cli.md.CJNc_xYK.lean.js} +0 -0
  860. /package/dist/docs/assets/{reference_playground.md.DnX5nL-B.lean.js → reference_playground.md.4myJPxrf.lean.js} +0 -0
  861. /package/dist/docs/assets/{reference_skills.md.BFW9retM.lean.js → reference_skills.md.l2ezAcaN.lean.js} +0 -0
  862. /package/dist/docs/assets/{reference_tools.md.CvAHsdSp.lean.js → reference_tools.md.aGrn99hP.lean.js} +0 -0
@@ -7,11 +7,19 @@ import {
7
7
  loopbackGitHubDev,
8
8
  POST,
9
9
  } from "../../channels.js";
10
+ import {
11
+ acknowledgeTask,
12
+ acknowledgeTurn,
13
+ isTaskDispatch,
14
+ scheduleAfterAck,
15
+ skipped,
16
+ turnStarted,
17
+ withPropagatingBackgroundErrors,
18
+ } from "../../internal/channel-dispatch.js";
10
19
  import {
11
20
  continuationSource,
12
21
  normalizeIdentity,
13
22
  } from "../../internal/continuation-identity.js";
14
- import { isDeferredChannelSession } from "../../internal/deferred-channel-session.js";
15
23
  import { isDevMode } from "../../internal/dev-mode.js";
16
24
  import { attachHostedAdmissionAdapter } from "../../internal/hosted-admission-adapter.js";
17
25
  import { bindLocalIngressSend } from "../../internal/local-ingress.js";
@@ -55,7 +63,6 @@ import type {
55
63
  GitHubComment,
56
64
  GitHubConversationKind,
57
65
  GitHubCredentialValue,
58
- GitHubDispatch,
59
66
  GitHubEventContext,
60
67
  GitHubIssueEvent,
61
68
  GitHubPullRequestAction,
@@ -64,7 +71,6 @@ import type {
64
71
  GitHubRawEvent,
65
72
  GitHubRepositoryRef,
66
73
  GitHubStatusEvent,
67
- GitHubTaskDispatch,
68
74
  GitHubTurnDispatch,
69
75
  GitHubUser,
70
76
  GitHubWorkflowRunEvent,
@@ -227,24 +233,10 @@ export function parseGitHubPrContinuationKey(
227
233
  };
228
234
  }
229
235
 
230
- /** @deprecated Prefer {@link githubContinuationKey}. */
231
- export function githubPullRequestContinuationKey(
232
- ctx: GitHubParsedContext
233
- ): string {
234
- return githubContinuationKey(ctx);
235
- }
236
-
237
236
  export function defaultGitHubTitle(ctx: GitHubParsedContext): string {
238
237
  return `GitHub ${ctx.repository.fullName}#${ctx.conversation.number}`;
239
238
  }
240
239
 
241
- /** @deprecated Prefer {@link defaultGitHubTitle}. */
242
- export function defaultGitHubPullRequestTitle(
243
- ctx: GitHubParsedContext
244
- ): string {
245
- return defaultGitHubTitle(ctx);
246
- }
247
-
248
240
  export function defaultGitHubPullRequestMessage(
249
241
  ctx: GitHubParsedContext,
250
242
  pullRequest: GitHubPullRequestEvent
@@ -303,12 +295,6 @@ export function defaultOnComment(
303
295
  return { auth: defaultGitHubAuth(ctx) };
304
296
  }
305
297
 
306
- function isTaskDispatch(
307
- dispatch: GitHubDispatch
308
- ): dispatch is GitHubTaskDispatch {
309
- return "task" in dispatch;
310
- }
311
-
312
298
  export function shouldDispatchGitHubComment(args: {
313
299
  body: string;
314
300
  author?: GitHubUser;
@@ -439,98 +425,17 @@ function verifyWebhookSha256Signature(args: {
439
425
  }
440
426
 
441
427
  /**
442
- * GitHub webhook channel (Eve-compatible dispatch surface). Point a GitHub App
443
- * or repository webhook at `/<agent>/v1/channels/github` and declare inbound
444
- * hooks:
445
- *
446
- * ```ts
447
- * import { defaultGitHubAuth, githubChannel } from "@cursor/july/channels/github";
448
- *
449
- * export default githubChannel({
450
- * botName: "my-agent",
451
- * credentials: { webhookSecret: () => process.env.GITHUB_WEBHOOK_SECRET },
452
- * // Replaces the @mention gate. Prefer typed Octokit via getOctokit().
453
- * onComment: (ctx, comment) => ({ auth: defaultGitHubAuth(ctx) }),
454
- * onPullRequest: (ctx, pr) =>
455
- * pr.action === "opened" ? { auth: defaultGitHubAuth(ctx) } : null,
456
- * onStatus: (ctx, status) =>
457
- * status.state === "failure"
458
- * ? {
459
- * task: async () => {
460
- * const octokit = await ctx.github.getOctokit();
461
- * await octokit.rest.repos.createCommitStatus({
462
- * owner: ctx.repository.owner,
463
- * repo: ctx.repository.name,
464
- * sha: status.sha,
465
- * state: "pending",
466
- * context: "agent/triage",
467
- * });
468
- * },
469
- * }
470
- * : null,
471
- * onEvent: (ctx, event) =>
472
- * event.eventName === "label" ? { auth: defaultGitHubAuth(ctx) } : null,
473
- * });
474
- * ```
475
- */
476
- /**
477
- * Core GitHub webhook dispatch used by {@link githubChannel} routes and by
478
- * {@link handleAgentServeTrigger} fan-out. Signature verification is the
479
- * caller's responsibility (HTTP route verifies; internal fan-out skips).
480
- */
481
- /**
482
- * Run authored GitHub hooks and `send()`. Does not extract a v2 mailbox —
483
- * the local CP (or hosted verified ingress) stamps before this runs.
428
+ * Run the authored hooks for one GitHub delivery and `send()` the turn.
429
+ * Callers own delivery auth: the HTTP route verifies the HMAC; trigger
430
+ * fan-out and hosted admission arrive verified. The v2 mailbox is stamped
431
+ * upstream (local CP or hosted ingress), never here.
484
432
  */
485
- export type GitHubDispatchOutcome = "skip" | "send" | "task";
486
-
487
- const dispatchOutcomeByResponse = new WeakMap<
488
- Response,
489
- GitHubDispatchOutcome
490
- >();
491
-
492
- function withDispatchOutcome(
493
- response: Response,
494
- outcome: GitHubDispatchOutcome
495
- ): Response {
496
- dispatchOutcomeByResponse.set(response, outcome);
497
- return response;
498
- }
499
-
500
- export function getGitHubDispatchOutcome(
501
- response: Response
502
- ): GitHubDispatchOutcome | undefined {
503
- return dispatchOutcomeByResponse.get(response);
504
- }
505
-
506
- const PROPAGATE_BACKGROUND_ERRORS = Symbol("propagateBackgroundErrors");
507
-
508
- type GitHubHandlerArgs = ChannelHandlerArgs & {
509
- [PROPAGATE_BACKGROUND_ERRORS]?: true;
510
- };
511
-
512
- export function withPropagatingGitHubBackgroundErrors(
513
- args: ChannelHandlerArgs
514
- ): ChannelHandlerArgs {
515
- return Object.assign(args, { [PROPAGATE_BACKGROUND_ERRORS]: true as const });
516
- }
517
-
518
433
  export async function dispatchGitHubWebhook(input: {
519
434
  options: GitHubChannelOptions;
520
435
  eventName: string | null;
521
436
  payload: unknown;
522
437
  deliveryId?: string;
523
438
  args: ChannelHandlerArgs;
524
- }): Promise<Response> {
525
- return dispatchGitHubWebhookInner(input);
526
- }
527
-
528
- async function dispatchGitHubWebhookInner(input: {
529
- options: GitHubChannelOptions;
530
- eventName: string | null;
531
- payload: unknown;
532
- deliveryId?: string;
533
- args: ChannelHandlerArgs;
534
439
  }): Promise<Response> {
535
440
  const { options, eventName, payload, deliveryId, args } = input;
536
441
  const botName = options.botName ?? process.env.GITHUB_APP_SLUG;
@@ -621,12 +526,7 @@ async function dispatchGitHubWebhookInner(input: {
621
526
  args,
622
527
  });
623
528
  }
624
- return Response.json({
625
- ok: true,
626
- skipped: true,
627
- reason: "unsupported_event",
628
- event: eventName,
629
- });
529
+ return skipped("unsupported_event", { event: eventName });
630
530
  }
631
531
  }
632
532
 
@@ -701,6 +601,41 @@ export function getGitHubChannelOptions(
701
601
  return githubChannelOptionsByDefinition.get(definition);
702
602
  }
703
603
 
604
+ /**
605
+ * GitHub webhook channel (Eve-compatible dispatch surface). Point a GitHub App
606
+ * or repository webhook at `/<agent>/v1/channels/github` and declare inbound
607
+ * hooks:
608
+ *
609
+ * ```ts
610
+ * import { defaultGitHubAuth, githubChannel } from "@cursor/july/channels/github";
611
+ *
612
+ * export default githubChannel({
613
+ * botName: "my-agent",
614
+ * credentials: { webhookSecret: () => process.env.GITHUB_WEBHOOK_SECRET },
615
+ * // Replaces the @mention gate. Prefer typed Octokit via getOctokit().
616
+ * onComment: (ctx, comment) => ({ auth: defaultGitHubAuth(ctx) }),
617
+ * onPullRequest: (ctx, pr) =>
618
+ * pr.action === "opened" ? { auth: defaultGitHubAuth(ctx) } : null,
619
+ * onStatus: (ctx, status) =>
620
+ * status.state === "failure"
621
+ * ? {
622
+ * task: async () => {
623
+ * const octokit = await ctx.github.getOctokit();
624
+ * await octokit.rest.repos.createCommitStatus({
625
+ * owner: ctx.repository.owner,
626
+ * repo: ctx.repository.name,
627
+ * sha: status.sha,
628
+ * state: "pending",
629
+ * context: "agent/triage",
630
+ * });
631
+ * },
632
+ * }
633
+ * : null,
634
+ * onEvent: (ctx, event) =>
635
+ * event.eventName === "label" ? { auth: defaultGitHubAuth(ctx) } : null,
636
+ * });
637
+ * ```
638
+ */
704
639
  export function githubChannel(
705
640
  options: GitHubChannelOptions = {}
706
641
  ): ChannelDefinition<GitHubChannelState> {
@@ -807,7 +742,7 @@ export function githubChannel(
807
742
  githubChannelOptionsByDefinition.set(definition, channelOptions);
808
743
  attachHostedAdmissionAdapter(definition, {
809
744
  kind: GITHUB_CHANNEL_KIND,
810
- prepareArgs: withPropagatingGitHubBackgroundErrors,
745
+ prepareArgs: withPropagatingBackgroundErrors,
811
746
  dispatch: ({ eventType, payload, deliveryId, args }) =>
812
747
  dispatchGitHubWebhook({
813
748
  options: channelOptions,
@@ -816,10 +751,6 @@ export function githubChannel(
816
751
  deliveryId,
817
752
  args,
818
753
  }),
819
- getOutcome: (response) => {
820
- const outcome = getGitHubDispatchOutcome(response);
821
- return outcome === "skip" || outcome === "task" ? outcome : undefined;
822
- },
823
754
  });
824
755
  if (cursorCredentials !== undefined) {
825
756
  registerGithubCursorAccountRuntime(definition, {
@@ -868,6 +799,7 @@ async function handlePullRequest(input: {
868
799
  repo: parsed.ctx.repository.name,
869
800
  number: parsed.ctx.conversation.number,
870
801
  repositoryId: parsed.ctx.repository.id,
802
+ repositoryUrl: parsed.ctx.repository.url,
871
803
  installationId,
872
804
  });
873
805
  const ctx = enrichEventContext({
@@ -888,7 +820,7 @@ async function handlePullRequest(input: {
888
820
  }
889
821
 
890
822
  if (isTaskDispatch(dispatch)) {
891
- return acknowledgeTask(input.args, dispatch, {
823
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
892
824
  action: pullRequest.action,
893
825
  prUrl: pullRequest.url,
894
826
  headSha: pullRequest.headSha,
@@ -961,6 +893,7 @@ async function handleIssueComment(input: {
961
893
  repo: parsed.ctx.repository.name,
962
894
  number: parsed.ctx.conversation.number,
963
895
  repositoryId: parsed.ctx.repository.id,
896
+ repositoryUrl: parsed.ctx.repository.url,
964
897
  installationId,
965
898
  triggeringCommentId: parsed.comment.id,
966
899
  });
@@ -984,7 +917,7 @@ async function handleIssueComment(input: {
984
917
  return skipped("not_dispatched");
985
918
  }
986
919
  if (isTaskDispatch(dispatch)) {
987
- return acknowledgeTask(input.args, dispatch, {
920
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
988
921
  event: "issue_comment",
989
922
  action: parsed.action,
990
923
  });
@@ -1052,6 +985,7 @@ async function handleReviewComment(input: {
1052
985
  repo: parsed.ctx.repository.name,
1053
986
  number: parsed.ctx.conversation.number,
1054
987
  repositoryId: parsed.ctx.repository.id,
988
+ repositoryUrl: parsed.ctx.repository.url,
1055
989
  installationId,
1056
990
  triggeringCommentId: parsed.comment.id,
1057
991
  reviewCommentId: parsed.comment.id,
@@ -1077,7 +1011,7 @@ async function handleReviewComment(input: {
1077
1011
  return skipped("not_dispatched");
1078
1012
  }
1079
1013
  if (isTaskDispatch(dispatch)) {
1080
- return acknowledgeTask(input.args, dispatch, {
1014
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1081
1015
  event: "pull_request_review_comment",
1082
1016
  action: parsed.action,
1083
1017
  });
@@ -1137,6 +1071,7 @@ async function handleIssue(input: {
1137
1071
  repo: parsed.ctx.repository.name,
1138
1072
  number: parsed.ctx.conversation.number,
1139
1073
  repositoryId: parsed.ctx.repository.id,
1074
+ repositoryUrl: parsed.ctx.repository.url,
1140
1075
  installationId,
1141
1076
  });
1142
1077
  const ctx = enrichEventContext({
@@ -1153,7 +1088,7 @@ async function handleIssue(input: {
1153
1088
  return skipped("not_dispatched", { action: parsed.issue.action });
1154
1089
  }
1155
1090
  if (isTaskDispatch(dispatch)) {
1156
- return acknowledgeTask(input.args, dispatch, {
1091
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1157
1092
  event: "issues",
1158
1093
  action: parsed.issue.action,
1159
1094
  issueNumber: parsed.issue.number,
@@ -1213,7 +1148,7 @@ async function handleCheckSuite(input: {
1213
1148
  parsed.checkSuite
1214
1149
  );
1215
1150
  if (dispatch !== null && isTaskDispatch(dispatch)) {
1216
- return acknowledgeTask(input.args, dispatch, {
1151
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1217
1152
  event: "check_suite",
1218
1153
  action: parsed.checkSuite.action,
1219
1154
  checkSuiteId: parsed.checkSuite.checkSuiteId,
@@ -1227,6 +1162,7 @@ async function handleCheckSuite(input: {
1227
1162
  repo: parsed.ctx.repository.name,
1228
1163
  number: parsed.ctx.conversation.number,
1229
1164
  repositoryId: parsed.ctx.repository.id,
1165
+ repositoryUrl: parsed.ctx.repository.url,
1230
1166
  installationId,
1231
1167
  });
1232
1168
  const ctx = enrichEventContext({
@@ -1243,7 +1179,7 @@ async function handleCheckSuite(input: {
1243
1179
  return skipped("not_dispatched", { action: parsed.checkSuite.action });
1244
1180
  }
1245
1181
  if (isTaskDispatch(dispatch)) {
1246
- return acknowledgeTask(input.args, dispatch, {
1182
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1247
1183
  event: "check_suite",
1248
1184
  action: parsed.checkSuite.action,
1249
1185
  checkSuiteId: parsed.checkSuite.checkSuiteId,
@@ -1308,7 +1244,7 @@ async function handleCheckRun(input: {
1308
1244
  parsed.checkRun
1309
1245
  );
1310
1246
  if (dispatch !== null && isTaskDispatch(dispatch)) {
1311
- return acknowledgeTask(input.args, dispatch, {
1247
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1312
1248
  event: "check_run",
1313
1249
  action: parsed.checkRun.action,
1314
1250
  checkRunId: parsed.checkRun.checkRunId,
@@ -1322,6 +1258,7 @@ async function handleCheckRun(input: {
1322
1258
  repo: parsed.ctx.repository.name,
1323
1259
  number: parsed.ctx.conversation.number,
1324
1260
  repositoryId: parsed.ctx.repository.id,
1261
+ repositoryUrl: parsed.ctx.repository.url,
1325
1262
  installationId,
1326
1263
  });
1327
1264
  const ctx = enrichEventContext({
@@ -1338,7 +1275,7 @@ async function handleCheckRun(input: {
1338
1275
  return skipped("not_dispatched", { action: parsed.checkRun.action });
1339
1276
  }
1340
1277
  if (isTaskDispatch(dispatch)) {
1341
- return acknowledgeTask(input.args, dispatch, {
1278
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1342
1279
  event: "check_run",
1343
1280
  action: parsed.checkRun.action,
1344
1281
  checkRunId: parsed.checkRun.checkRunId,
@@ -1399,7 +1336,7 @@ async function handleWorkflowRun(input: {
1399
1336
  parsed.workflowRun
1400
1337
  );
1401
1338
  if (dispatch !== null && isTaskDispatch(dispatch)) {
1402
- return acknowledgeTask(input.args, dispatch, {
1339
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1403
1340
  event: "workflow_run",
1404
1341
  action: parsed.workflowRun.action,
1405
1342
  workflowRunId: parsed.workflowRun.workflowRunId,
@@ -1413,6 +1350,7 @@ async function handleWorkflowRun(input: {
1413
1350
  repo: parsed.ctx.repository.name,
1414
1351
  number: parsed.ctx.conversation.number,
1415
1352
  repositoryId: parsed.ctx.repository.id,
1353
+ repositoryUrl: parsed.ctx.repository.url,
1416
1354
  installationId,
1417
1355
  });
1418
1356
  const ctx = enrichEventContext({
@@ -1429,7 +1367,7 @@ async function handleWorkflowRun(input: {
1429
1367
  return skipped("not_dispatched", { action: parsed.workflowRun.action });
1430
1368
  }
1431
1369
  if (isTaskDispatch(dispatch)) {
1432
- return acknowledgeTask(input.args, dispatch, {
1370
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1433
1371
  event: "workflow_run",
1434
1372
  action: parsed.workflowRun.action,
1435
1373
  workflowRunId: parsed.workflowRun.workflowRunId,
@@ -1487,6 +1425,7 @@ async function handleStatus(input: {
1487
1425
  repo: parsed.ctx.repository.name,
1488
1426
  number: parsed.ctx.conversation.number,
1489
1427
  repositoryId: parsed.ctx.repository.id,
1428
+ repositoryUrl: parsed.ctx.repository.url,
1490
1429
  installationId,
1491
1430
  });
1492
1431
  const ctx = enrichEventContext({
@@ -1506,7 +1445,7 @@ async function handleStatus(input: {
1506
1445
  });
1507
1446
  }
1508
1447
  if (isTaskDispatch(dispatch)) {
1509
- return acknowledgeTask(input.args, dispatch, {
1448
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1510
1449
  event: "status",
1511
1450
  state: parsed.status.state,
1512
1451
  sha: parsed.status.sha,
@@ -1563,6 +1502,7 @@ async function handleGenericEvent(input: {
1563
1502
  repo: parsed.ctx.repository.name,
1564
1503
  number: parsed.ctx.conversation.number,
1565
1504
  repositoryId: parsed.ctx.repository.id,
1505
+ repositoryUrl: parsed.ctx.repository.url,
1566
1506
  installationId,
1567
1507
  });
1568
1508
  const ctx = enrichEventContext({
@@ -1579,7 +1519,7 @@ async function handleGenericEvent(input: {
1579
1519
  return skipped("not_dispatched", { event: input.eventName });
1580
1520
  }
1581
1521
  if (isTaskDispatch(dispatch)) {
1582
- return acknowledgeTask(input.args, dispatch, {
1522
+ return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
1583
1523
  event: input.eventName,
1584
1524
  ...(parsed.event.action === undefined
1585
1525
  ? {}
@@ -1637,101 +1577,13 @@ async function startTurn(input: {
1637
1577
  };
1638
1578
 
1639
1579
  if (lazy) {
1640
- scheduleAfterAck(input.args, async () => {
1580
+ scheduleAfterAck(input.args, GITHUB_CHANNEL_KIND, async () => {
1641
1581
  await sendTurn();
1642
1582
  });
1643
1583
  return acknowledgeTurn();
1644
1584
  }
1645
1585
 
1646
- const session = await sendTurn();
1647
- if (isDeferredChannelSession(session)) {
1648
- // Hosted admission captured the send; the control plane allocates the
1649
- // session after acknowledgement, so there is nothing to report yet.
1650
- return acknowledgeTurn();
1651
- }
1652
- return withDispatchOutcome(
1653
- Response.json({
1654
- ok: true,
1655
- sessionId: session.id,
1656
- isNew: session.isNew,
1657
- continuationToken: session.continuationToken,
1658
- }),
1659
- "send"
1660
- );
1661
- }
1662
-
1663
- function scheduleAfterAck(
1664
- args: ChannelHandlerArgs,
1665
- work: () => void | Promise<void>
1666
- ): void {
1667
- // Defer past the current turn so the 202 can flush before work starts
1668
- // (and so tests can assert scheduling without racing microtasks).
1669
- args.waitUntil(
1670
- new Promise<void>((resolve, reject) => {
1671
- setImmediate(() => {
1672
- Promise.resolve()
1673
- .then(work)
1674
- .then(
1675
- () => resolve(),
1676
- (error: unknown) => {
1677
- if (
1678
- (args as GitHubHandlerArgs)[PROPAGATE_BACKGROUND_ERRORS] ===
1679
- true
1680
- ) {
1681
- reject(error);
1682
- return;
1683
- }
1684
- const detail =
1685
- error instanceof Error
1686
- ? (error.stack ?? error.message)
1687
- : String(error);
1688
- console.error(`[github] background dispatch failed: ${detail}`);
1689
- resolve();
1690
- }
1691
- );
1692
- });
1693
- })
1694
- );
1695
- }
1696
-
1697
- /** 202 ack for a turn whose send completes after the response flushes. */
1698
- function acknowledgeTurn(): Response {
1699
- return withDispatchOutcome(
1700
- Response.json(
1701
- { ok: true, dispatched: true, mode: "turn" },
1702
- { status: 202 }
1703
- ),
1704
- "send"
1705
- );
1706
- }
1707
-
1708
- function acknowledgeTask(
1709
- args: ChannelHandlerArgs,
1710
- dispatch: GitHubTaskDispatch,
1711
- extra: Record<string, unknown>
1712
- ): Response {
1713
- // Hand the task the per-delivery send/waitUntil so hosted admission can
1714
- // capture task-initiated sends; startup-captured sends bypass capture.
1715
- scheduleAfterAck(args, () =>
1716
- dispatch.task({ send: args.send, waitUntil: args.waitUntil })
1717
- );
1718
- return withDispatchOutcome(
1719
- Response.json(
1720
- { ok: true, dispatched: true, mode: "task", ...extra },
1721
- { status: 202 }
1722
- ),
1723
- "task"
1724
- );
1725
- }
1726
-
1727
- function skipped(
1728
- reason: string,
1729
- extra: Record<string, unknown> = {}
1730
- ): Response {
1731
- return withDispatchOutcome(
1732
- Response.json({ ok: true, skipped: true, reason, ...extra }),
1733
- "skip"
1734
- );
1586
+ return turnStarted(await sendTurn());
1735
1587
  }
1736
1588
 
1737
1589
  function formatCiMessage(
@@ -2538,6 +2390,7 @@ function enrichCiContext(input: {
2538
2390
  repo: input.ctx.repository.name,
2539
2391
  number: input.ctx.conversation.number,
2540
2392
  repositoryId: input.ctx.repository.id,
2393
+ repositoryUrl: input.ctx.repository.url,
2541
2394
  installationId: input.installationId,
2542
2395
  });
2543
2396
  return enrichEventContext({
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Synthesize GitHub webhook payloads from data you can *read* about a PR, so
3
- * `agent-serve github replay` can exercise a `githubChannel()` without repo
3
+ * `agent-sdk github replay` can exercise a `githubChannel()` without repo
4
4
  * admin, without the `gh webhook forward` relay, and deterministically (great
5
5
  * for hillclimbing).
6
6
  *
@@ -37,6 +37,7 @@ export function emptyGitHubChannelState(
37
37
  pullRequestNumber: null,
38
38
  repo: "",
39
39
  repositoryId: null,
40
+ repositoryUrl: null,
40
41
  reviewCommentId: null,
41
42
  reviewThreadRootCommentId: null,
42
43
  triggeringCommentId: null,
@@ -60,6 +61,8 @@ export function githubBindingStateForEvent(input: {
60
61
  repo: string;
61
62
  number: number;
62
63
  repositoryId?: number;
64
+ /** `repository.html_url` (GHES host lives here). */
65
+ repositoryUrl?: string;
63
66
  installationId?: number;
64
67
  triggeringCommentId?: number;
65
68
  reviewCommentId?: number;
@@ -74,6 +77,7 @@ export function githubBindingStateForEvent(input: {
74
77
  pullRequestNumber: null,
75
78
  repo: input.repo,
76
79
  repositoryId: input.repositoryId ?? null,
80
+ repositoryUrl: input.repositoryUrl ?? null,
77
81
  reviewCommentId: null,
78
82
  reviewThreadRootCommentId: null,
79
83
  triggeringCommentId: input.triggeringCommentId ?? null,
@@ -88,6 +92,7 @@ export function githubBindingStateForEvent(input: {
88
92
  pullRequestNumber: input.number,
89
93
  repo: input.repo,
90
94
  repositoryId: input.repositoryId ?? null,
95
+ repositoryUrl: input.repositoryUrl ?? null,
91
96
  reviewCommentId: input.reviewCommentId ?? null,
92
97
  reviewThreadRootCommentId:
93
98
  input.reviewThreadRootCommentId ??
@@ -105,6 +110,7 @@ export function githubBindingStateForEvent(input: {
105
110
  pullRequestNumber: input.number,
106
111
  repo: input.repo,
107
112
  repositoryId: input.repositoryId ?? null,
113
+ repositoryUrl: input.repositoryUrl ?? null,
108
114
  reviewCommentId: null,
109
115
  reviewThreadRootCommentId: null,
110
116
  triggeringCommentId: input.triggeringCommentId ?? null,
@@ -1,4 +1,4 @@
1
- import type { ContinuationIdentity } from "../../continuation.js";
1
+ import type { ContinuationIdentity } from "../../internal/continuation-identity.js";
2
2
  import type {
3
3
  AgentCloudOptions,
4
4
  ArtifactsApi,
@@ -61,9 +61,6 @@ export interface GitHubChannelCredentials {
61
61
  privateKey?: GitHubCredentialValue;
62
62
  }
63
63
 
64
- /** @deprecated Prefer {@link GitHubChannelCredentials}. */
65
- export type GitHubCredentials = GitHubChannelCredentials;
66
-
67
64
  export type GitHubPullRequestAction =
68
65
  | "opened"
69
66
  | "reopened"
@@ -525,7 +522,7 @@ export interface GitHubChannelOptions {
525
522
  /** Route path under `/v1/channels/<name>`. Defaults to `/`. */
526
523
  path?: string;
527
524
  /**
528
- * Webhook events advertised to `agent-serve github forward` (published as
525
+ * Webhook events advertised to `agent-sdk github forward` (published as
529
526
  * `meta.githubWebhookEvents`). Defaults to the set derived from the declared
530
527
  * hooks. Set this to pin an exact list — e.g. to include events only handled
531
528
  * through {@link onEvent} such as `pull_request_review`.