@cursor/july 0.1.109 → 0.1.112

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 (1166) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +0 -15
  3. package/dist/bin/agent-serve.js +99 -67
  4. package/dist/channels/bitbucket/api.js +8 -8
  5. package/dist/channels/bitbucket/binding.js +4 -4
  6. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  7. package/dist/channels/bitbucket/bitbucket-webhook.js +1 -1
  8. package/dist/channels/bitbucket/checks.d.ts.map +1 -1
  9. package/dist/channels/bitbucket/checks.js +1 -1
  10. package/dist/channels/bitbucket/cursor-account.js +1 -1
  11. package/dist/channels/bitbucket/events.js +1 -1
  12. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  13. package/dist/channels/checks.d.ts.map +1 -1
  14. package/dist/channels/checks.js +2 -2
  15. package/dist/channels/deployments/deployments-channel.js +1 -1
  16. package/dist/channels/github/cursor-account.js +3 -3
  17. package/dist/channels/github/defaults.d.ts.map +1 -1
  18. package/dist/channels/github/defaults.js +5 -3
  19. package/dist/channels/github/events.js +1 -1
  20. package/dist/channels/github/forward.js +8 -8
  21. package/dist/channels/github/github-channel.d.ts +29 -19
  22. package/dist/channels/github/github-channel.d.ts.map +1 -1
  23. package/dist/channels/github/github-channel.js +46 -32
  24. package/dist/channels/github/progress.d.ts.map +1 -1
  25. package/dist/channels/github/progress.js +7 -2
  26. package/dist/channels/github/state.d.ts +6 -0
  27. package/dist/channels/github/state.d.ts.map +1 -1
  28. package/dist/channels/github/types.d.ts +6 -0
  29. package/dist/channels/github/types.d.ts.map +1 -1
  30. package/dist/channels/gitlab/binding.js +4 -4
  31. package/dist/channels/gitlab/checks.d.ts.map +1 -1
  32. package/dist/channels/gitlab/checks.js +1 -1
  33. package/dist/channels/gitlab/cursor-account.js +1 -1
  34. package/dist/channels/gitlab/events.js +1 -1
  35. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  36. package/dist/channels/gitlab/gitlab-webhook.js +1 -1
  37. package/dist/channels/gitlab/replay.js +2 -2
  38. package/dist/channels/origin/binding.d.ts +2 -0
  39. package/dist/channels/origin/binding.d.ts.map +1 -1
  40. package/dist/channels/origin/binding.js +3 -3
  41. package/dist/channels/origin/checks.d.ts +19 -7
  42. package/dist/channels/origin/checks.d.ts.map +1 -1
  43. package/dist/channels/origin/checks.js +13 -9
  44. package/dist/channels/origin/cursor-account.js +1 -1
  45. package/dist/channels/origin/defaults.d.ts.map +1 -1
  46. package/dist/channels/origin/defaults.js +3 -1
  47. package/dist/channels/origin/events.js +1 -1
  48. package/dist/channels/origin/origin-channel.d.ts.map +1 -1
  49. package/dist/channels/origin/origin-channel.js +2 -1
  50. package/dist/channels/origin/origin-webhook.js +2 -2
  51. package/dist/channels/slack/agentic-delivery.d.ts +23 -0
  52. package/dist/channels/slack/agentic-delivery.d.ts.map +1 -0
  53. package/dist/channels/slack/agentic-delivery.js +560 -0
  54. package/dist/channels/slack/agentic-posted.d.ts +30 -0
  55. package/dist/channels/slack/agentic-posted.d.ts.map +1 -0
  56. package/dist/channels/slack/agentic-posted.js +102 -0
  57. package/dist/channels/slack/agentic-signals.d.ts +48 -0
  58. package/dist/channels/slack/agentic-signals.d.ts.map +1 -0
  59. package/dist/channels/slack/agentic-signals.js +204 -0
  60. package/dist/channels/slack/api.d.ts +20 -1
  61. package/dist/channels/slack/api.d.ts.map +1 -1
  62. package/dist/channels/slack/api.js +43 -11
  63. package/dist/channels/slack/approvals.js +1 -1
  64. package/dist/channels/slack/auth.d.ts.map +1 -1
  65. package/dist/channels/slack/auth.js +3 -1
  66. package/dist/channels/slack/blocks.js +3 -3
  67. package/dist/channels/slack/bot-mentions.d.ts.map +1 -1
  68. package/dist/channels/slack/bot-mentions.js +5 -5
  69. package/dist/channels/slack/channel-watch.js +1 -1
  70. package/dist/channels/slack/cli-project.js +3 -3
  71. package/dist/channels/slack/defaults.d.ts +3 -0
  72. package/dist/channels/slack/defaults.d.ts.map +1 -1
  73. package/dist/channels/slack/defaults.js +90 -29
  74. package/dist/channels/slack/dispatch.d.ts +44 -1
  75. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  76. package/dist/channels/slack/dispatch.js +323 -107
  77. package/dist/channels/slack/doctor.js +1 -1
  78. package/dist/channels/slack/eval-directive.js +1 -1
  79. package/dist/channels/slack/external-policy.d.ts +2 -1
  80. package/dist/channels/slack/external-policy.d.ts.map +1 -1
  81. package/dist/channels/slack/external-policy.js +13 -2
  82. package/dist/channels/slack/footer.d.ts +30 -0
  83. package/dist/channels/slack/footer.d.ts.map +1 -0
  84. package/dist/channels/slack/footer.js +88 -0
  85. package/dist/channels/slack/index.d.ts +2 -0
  86. package/dist/channels/slack/index.d.ts.map +1 -1
  87. package/dist/channels/slack/index.js +2 -0
  88. package/dist/channels/slack/interactive.d.ts.map +1 -1
  89. package/dist/channels/slack/interactive.js +5 -3
  90. package/dist/channels/slack/live-delivery.d.ts +1 -1
  91. package/dist/channels/slack/live-delivery.d.ts.map +1 -1
  92. package/dist/channels/slack/live-delivery.js +20 -6
  93. package/dist/channels/slack/log.d.ts.map +1 -1
  94. package/dist/channels/slack/log.js +1 -1
  95. package/dist/channels/slack/manifest.js +1 -1
  96. package/dist/channels/slack/nudge-carrier.js +1 -1
  97. package/dist/channels/slack/nudge-store.js +2 -2
  98. package/dist/channels/slack/paint-start.d.ts +22 -0
  99. package/dist/channels/slack/paint-start.d.ts.map +1 -0
  100. package/dist/channels/slack/paint-start.js +91 -0
  101. package/dist/channels/slack/placeholder.d.ts +62 -0
  102. package/dist/channels/slack/placeholder.d.ts.map +1 -0
  103. package/dist/channels/slack/placeholder.js +268 -0
  104. package/dist/channels/slack/progress-delivery.d.ts.map +1 -1
  105. package/dist/channels/slack/progress-delivery.js +13 -4
  106. package/dist/channels/slack/reasoning-chip.d.ts +8 -0
  107. package/dist/channels/slack/reasoning-chip.d.ts.map +1 -0
  108. package/dist/channels/slack/reasoning-chip.js +30 -0
  109. package/dist/channels/slack/recording-sink.d.ts +29 -0
  110. package/dist/channels/slack/recording-sink.d.ts.map +1 -0
  111. package/dist/channels/slack/recording-sink.js +142 -0
  112. package/dist/channels/slack/reply-options.d.ts +8 -1
  113. package/dist/channels/slack/reply-options.d.ts.map +1 -1
  114. package/dist/channels/slack/reply-options.js +59 -14
  115. package/dist/channels/slack/setup.js +1 -1
  116. package/dist/channels/slack/slack-channel.d.ts +2 -2
  117. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  118. package/dist/channels/slack/slack-channel.js +58 -30
  119. package/dist/channels/slack/socket-mode.js +2 -2
  120. package/dist/channels/slack/thread-context.js +5 -5
  121. package/dist/channels/slack/tool-approval-events.d.ts +5 -0
  122. package/dist/channels/slack/tool-approval-events.d.ts.map +1 -1
  123. package/dist/channels/slack/tool-approval-events.js +50 -38
  124. package/dist/channels/slack/tool-cards.js +1 -1
  125. package/dist/channels/slack/tool-chip.d.ts +9 -0
  126. package/dist/channels/slack/tool-chip.d.ts.map +1 -0
  127. package/dist/channels/slack/tool-chip.js +25 -0
  128. package/dist/channels/slack/types.d.ts +49 -7
  129. package/dist/channels/slack/types.d.ts.map +1 -1
  130. package/dist/channels/slack/upload.d.ts +13 -0
  131. package/dist/channels/slack/upload.d.ts.map +1 -0
  132. package/dist/channels/slack/upload.js +135 -0
  133. package/dist/channels.d.ts +10 -14
  134. package/dist/channels.d.ts.map +1 -1
  135. package/dist/channels.js +9 -21
  136. package/dist/dashboard-session-url.d.ts +15 -0
  137. package/dist/dashboard-session-url.d.ts.map +1 -0
  138. package/dist/dashboard-session-url.js +25 -0
  139. package/dist/docs/404.html +3 -3
  140. package/dist/docs/architecture.svg +59 -0
  141. package/dist/docs/assets/app.DxTdhphC.js +309 -0
  142. package/dist/docs/assets/building-with-agents.md.BBCx0AUo.js +9 -0
  143. package/dist/docs/assets/building-with-agents.md.BBCx0AUo.lean.js +1 -0
  144. package/dist/docs/assets/chunks/@localSearchIndexroot.QmjDU6Jh.js +1 -0
  145. package/dist/docs/assets/chunks/{VPLocalSearchBox.CVQERt56.js → VPLocalSearchBox.CR3KTF0X.js} +2 -2
  146. package/dist/docs/assets/chunks/arc.CVVqBOdS.js +1 -0
  147. package/dist/docs/assets/chunks/architectureDiagram-Q4EWVU46.CJHGP4ki.js +36 -0
  148. package/dist/docs/assets/chunks/baseUniq.r7UVVRBP.js +1 -0
  149. package/dist/docs/assets/chunks/blockDiagram-DXYQGD6D.DKmMaTre.js +132 -0
  150. package/dist/docs/assets/chunks/c4Diagram-AHTNJAMY.DDJsntUO.js +10 -0
  151. package/dist/docs/assets/chunks/channel.BjpoSbz_.js +1 -0
  152. package/dist/docs/assets/chunks/chunk-4BX2VUAB.BK2rKt6W.js +1 -0
  153. package/dist/docs/assets/chunks/chunk-4TB4RGXK.DRLV8RnF.js +206 -0
  154. package/dist/docs/assets/chunks/chunk-55IACEB6.DaKjxtb7.js +1 -0
  155. package/dist/docs/assets/chunks/chunk-EDXVE4YY.C5sPCIT1.js +1 -0
  156. package/dist/docs/assets/chunks/chunk-FMBD7UC4.CSGWyNTB.js +15 -0
  157. package/dist/docs/assets/chunks/chunk-OYMX7WX6.D5tK9XEr.js +231 -0
  158. package/dist/docs/assets/chunks/chunk-QZHKN3VN.BeZGd1UZ.js +1 -0
  159. package/dist/docs/assets/chunks/chunk-YZCP3GAM.U_tfWwQR.js +1 -0
  160. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.BgxOlMHw.js +1 -0
  161. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.BgxOlMHw.js +1 -0
  162. package/dist/docs/assets/chunks/clone.DRuGBKZC.js +1 -0
  163. package/dist/docs/assets/chunks/cose-bilkent-S5V4N54A.DVeRXIb6.js +1 -0
  164. package/dist/docs/assets/chunks/cytoscape.esm.BQk4lpUV.js +331 -0
  165. package/dist/docs/assets/chunks/dagre-KV5264BT.BpKJAeRZ.js +4 -0
  166. package/dist/docs/assets/chunks/defaultLocale.C4B-KCzX.js +1 -0
  167. package/dist/docs/assets/chunks/diagram-5BDNPKRD.BQOtrd1Z.js +10 -0
  168. package/dist/docs/assets/chunks/diagram-G4DWMVQ6.CSDAhjPI.js +24 -0
  169. package/dist/docs/assets/chunks/diagram-MMDJMWI5.Dpztst2S.js +43 -0
  170. package/dist/docs/assets/chunks/diagram-TYMM5635.qJHRizHR.js +24 -0
  171. package/dist/docs/assets/chunks/erDiagram-SMLLAGMA.vbDotH3l.js +85 -0
  172. package/dist/docs/assets/chunks/flowDiagram-DWJPFMVM.CqS_ZQr4.js +162 -0
  173. package/dist/docs/assets/chunks/{framework.BCISBCiQ.js → framework.BNw1pucY.js} +6 -6
  174. package/dist/docs/assets/chunks/ganttDiagram-T4ZO3ILL.DTLdR4pN.js +292 -0
  175. package/dist/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.D04lnbnr.js +106 -0
  176. package/dist/docs/assets/chunks/graph.BlfqLJsM.js +1 -0
  177. package/dist/docs/assets/chunks/infoDiagram-42DDH7IO.tAooImWA.js +2 -0
  178. package/dist/docs/assets/chunks/init.Gi6I4Gst.js +1 -0
  179. package/dist/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.ClUsVqnJ.js +70 -0
  180. package/dist/docs/assets/chunks/journeyDiagram-VCZTEJTY.C3tUgyCg.js +139 -0
  181. package/dist/docs/assets/chunks/kanban-definition-6JOO6SKY.CtD9-QCe.js +89 -0
  182. package/dist/docs/assets/chunks/katex.DkKDou_j.js +257 -0
  183. package/dist/docs/assets/chunks/layout.D38U-LnT.js +1 -0
  184. package/dist/docs/assets/chunks/linear.BJmssyhN.js +1 -0
  185. package/dist/docs/assets/chunks/min.DNgXoouU.js +1 -0
  186. package/dist/docs/assets/chunks/mindmap-definition-QFDTVHPH.Dcp6cxeu.js +96 -0
  187. package/dist/docs/assets/chunks/ordinal.DBvzRdQf.js +1 -0
  188. package/dist/docs/assets/chunks/pieDiagram-DEJITSTG.CLDw6zIs.js +30 -0
  189. package/dist/docs/assets/chunks/quadrantDiagram-34T5L4WZ.CYaeeY4c.js +7 -0
  190. package/dist/docs/assets/chunks/requirementDiagram-MS252O5E.gMYuRpq2.js +84 -0
  191. package/dist/docs/assets/chunks/sankeyDiagram-XADWPNL6.CZqyHFbc.js +10 -0
  192. package/dist/docs/assets/chunks/sequenceDiagram-FGHM5R23.BTsCjUDN.js +157 -0
  193. package/dist/docs/assets/chunks/stateDiagram-FHFEXIEX.CftT9mLJ.js +1 -0
  194. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.-43J68xB.js +1 -0
  195. package/dist/docs/assets/chunks/{theme.Dnsd3XOn.js → theme.B_7J9ZsV.js} +2 -2
  196. package/dist/docs/assets/chunks/timeline-definition-GMOUNBTQ.DbU3WUNw.js +120 -0
  197. package/dist/docs/assets/chunks/vennDiagram-DHZGUBPP.ixsq-q2u.js +34 -0
  198. package/dist/docs/assets/chunks/virtual_mermaid-config.DDnGl6nM.js +1 -0
  199. package/dist/docs/assets/chunks/wardley-RL74JXVD.WRXz-Dux.js +162 -0
  200. package/dist/docs/assets/chunks/wardleyDiagram-NUSXRM2D.C0ewvgbp.js +20 -0
  201. package/dist/docs/assets/chunks/xychartDiagram-5P7HB3ND.nAEhF4bO.js +7 -0
  202. package/dist/docs/assets/deployment.md.D2jQZuFx.js +32 -0
  203. package/dist/docs/assets/deployment.md.D2jQZuFx.lean.js +1 -0
  204. package/dist/docs/assets/evals.md.BYvfZ-PO.js +72 -0
  205. package/dist/docs/assets/evals.md.BYvfZ-PO.lean.js +1 -0
  206. package/dist/docs/assets/guides_agent-to-agent.md.8oDTfu-E.js +30 -0
  207. package/dist/docs/assets/guides_agent-to-agent.md.8oDTfu-E.lean.js +1 -0
  208. package/dist/docs/assets/guides_bitbucket.md.mpevW-VP.js +145 -0
  209. package/dist/docs/assets/guides_bitbucket.md.mpevW-VP.lean.js +1 -0
  210. package/dist/docs/assets/guides_cloud-agents.md.Cp1O3u-X.js +15 -0
  211. package/dist/docs/assets/guides_cloud-agents.md.Cp1O3u-X.lean.js +1 -0
  212. package/dist/docs/assets/guides_convert-automation.md.CqEyfP6Y.js +43 -0
  213. package/dist/docs/assets/guides_convert-automation.md.CqEyfP6Y.lean.js +1 -0
  214. package/dist/docs/assets/guides_github.md.BwpBp3ed.js +156 -0
  215. package/dist/docs/assets/guides_github.md.BwpBp3ed.lean.js +1 -0
  216. package/dist/docs/assets/guides_gitlab.md.DaEC3nMk.js +153 -0
  217. package/dist/docs/assets/guides_gitlab.md.DaEC3nMk.lean.js +1 -0
  218. package/dist/docs/assets/guides_grokbot-agents.md.CMhZNdEU.js +16 -0
  219. package/dist/docs/assets/guides_grokbot-agents.md.CMhZNdEU.lean.js +1 -0
  220. package/dist/docs/assets/guides_improve.md.Bnp4F99w.js +22 -0
  221. package/dist/docs/assets/guides_improve.md.Bnp4F99w.lean.js +1 -0
  222. package/dist/docs/assets/guides_mcp-oauth.md.bSFakfCY.js +50 -0
  223. package/dist/docs/assets/guides_mcp-oauth.md.bSFakfCY.lean.js +1 -0
  224. package/dist/docs/assets/guides_opentelemetry.md.BKDxQmmd.js +35 -0
  225. package/dist/docs/assets/guides_opentelemetry.md.BKDxQmmd.lean.js +1 -0
  226. package/dist/docs/assets/guides_slack.md.Bo96y42E.js +70 -0
  227. package/dist/docs/assets/guides_slack.md.Bo96y42E.lean.js +1 -0
  228. package/dist/docs/assets/guides_webhooks.md.1A72_VEE.js +92 -0
  229. package/dist/docs/assets/guides_webhooks.md.1A72_VEE.lean.js +1 -0
  230. package/dist/docs/assets/hillclimbing.md.D4E1o5Sa.js +7 -0
  231. package/dist/docs/assets/hillclimbing.md.D4E1o5Sa.lean.js +1 -0
  232. package/dist/docs/assets/index.md.C-t81M5J.js +17 -0
  233. package/dist/docs/assets/index.md.C-t81M5J.lean.js +1 -0
  234. package/dist/docs/assets/{quickstart.md.DdQOF7Y8.js → quickstart.md.DAvVhuuU.js} +30 -38
  235. package/dist/docs/assets/quickstart.md.DAvVhuuU.lean.js +1 -0
  236. package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.js → reference_agent-config.md.DGPyw7ms.js} +1 -1
  237. package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.lean.js → reference_agent-config.md.DGPyw7ms.lean.js} +1 -1
  238. package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.js → reference_artifacts.md.Bu_4HmsD.js} +1 -1
  239. package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.lean.js → reference_artifacts.md.Bu_4HmsD.lean.js} +1 -1
  240. package/dist/docs/assets/{reference_channels.md.CAo-iK4j.js → reference_channels.md.nFWbzAic.js} +2 -12
  241. package/dist/docs/assets/{reference_channels.md.CAo-iK4j.lean.js → reference_channels.md.nFWbzAic.lean.js} +1 -1
  242. package/dist/docs/assets/{reference_cli.md.Deg7849l.js → reference_cli.md.DLWDz9ij.js} +5 -3
  243. package/dist/docs/assets/{reference_cli.md.Deg7849l.lean.js → reference_cli.md.DLWDz9ij.lean.js} +1 -1
  244. package/dist/docs/assets/{reference_connections.md.BojkC6c5.js → reference_connections.md.CmyrlXfY.js} +4 -4
  245. package/dist/docs/assets/{reference_connections.md.BojkC6c5.lean.js → reference_connections.md.CmyrlXfY.lean.js} +1 -1
  246. package/dist/docs/assets/reference_evals.md.DNJzM_yf.js +57 -0
  247. package/dist/docs/assets/reference_evals.md.DNJzM_yf.lean.js +1 -0
  248. package/dist/docs/assets/reference_extensions.md.Ceq-qT8d.js +58 -0
  249. package/dist/docs/assets/reference_extensions.md.Ceq-qT8d.lean.js +1 -0
  250. package/dist/docs/assets/{reference_hooks.md.BlM_bOg6.js → reference_hooks.md.B7uzNENk.js} +3 -3
  251. package/dist/docs/assets/{reference_hooks.md.BlM_bOg6.lean.js → reference_hooks.md.B7uzNENk.lean.js} +1 -1
  252. package/dist/docs/assets/{reference_http-api.md.BwaCo-VO.js → reference_http-api.md.CduHavZ2.js} +3 -3
  253. package/dist/docs/assets/{reference_http-api.md.BwaCo-VO.lean.js → reference_http-api.md.CduHavZ2.lean.js} +1 -1
  254. package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.js → reference_instructions.md.CU1My5My.js} +1 -1
  255. package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.lean.js → reference_instructions.md.CU1My5My.lean.js} +1 -1
  256. package/dist/docs/assets/{reference_playground.md.DLnoaczX.js → reference_playground.md.Ch2d0Iqi.js} +1 -1
  257. package/dist/docs/assets/{reference_playground.md.DLnoaczX.lean.js → reference_playground.md.Ch2d0Iqi.lean.js} +1 -1
  258. package/dist/docs/assets/{reference_project-layout.md.BEU8MtQV.js → reference_project-layout.md.BGhgpy9V.js} +3 -3
  259. package/dist/docs/assets/{reference_project-layout.md.BEU8MtQV.lean.js → reference_project-layout.md.BGhgpy9V.lean.js} +1 -1
  260. package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.js → reference_prompt.md.Ccp0R53H.js} +1 -1
  261. package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.lean.js → reference_prompt.md.Ccp0R53H.lean.js} +1 -1
  262. package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.js → reference_schedules.md.B2Nm6FaD.js} +1 -1
  263. package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.lean.js → reference_schedules.md.B2Nm6FaD.lean.js} +1 -1
  264. package/dist/docs/assets/{reference_sessions.md.CyXV1MUw.js → reference_sessions.md.1_6Vyv7x.js} +1 -1
  265. package/dist/docs/assets/{reference_sessions.md.CyXV1MUw.lean.js → reference_sessions.md.1_6Vyv7x.lean.js} +1 -1
  266. package/dist/docs/assets/{reference_skills.md.l2ezAcaN.js → reference_skills.md.DjQkRefx.js} +1 -1
  267. package/dist/docs/assets/{reference_skills.md.l2ezAcaN.lean.js → reference_skills.md.DjQkRefx.lean.js} +1 -1
  268. package/dist/docs/assets/{reference_subagents.md.CfsIloPm.js → reference_subagents.md.BHsSMMyO.js} +2 -2
  269. package/dist/docs/assets/{reference_subagents.md.CfsIloPm.lean.js → reference_subagents.md.BHsSMMyO.lean.js} +1 -1
  270. package/dist/docs/assets/{reference_tools.md.aGrn99hP.js → reference_tools.md.BYzUTeVA.js} +4 -4
  271. package/dist/docs/assets/{reference_tools.md.aGrn99hP.lean.js → reference_tools.md.BYzUTeVA.lean.js} +1 -1
  272. package/dist/docs/assets/{style.DCD_zyg3.css → style.Cfo2vbik.css} +1 -1
  273. package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.js → templates_agentic-owners.md.9M575F5C.js} +1 -1
  274. package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.lean.js → templates_agentic-owners.md.9M575F5C.lean.js} +1 -1
  275. package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.js → templates_pr-autofixer.md.ws0DDXDy.js} +1 -1
  276. package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.lean.js → templates_pr-autofixer.md.ws0DDXDy.lean.js} +1 -1
  277. package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.js → templates_security-reviewer.md.KEFYXzfK.js} +1 -1
  278. package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.lean.js → templates_security-reviewer.md.KEFYXzfK.lean.js} +1 -1
  279. package/dist/docs/assets/templates_thermo-quality-review.md.VNJ_mohX.js +3 -0
  280. package/dist/docs/assets/templates_thermo-quality-review.md.VNJ_mohX.lean.js +1 -0
  281. package/dist/docs/assets/templates_thermo-review.md.Hi3zWOkP.js +3 -0
  282. package/dist/docs/assets/templates_thermo-review.md.Hi3zWOkP.lean.js +1 -0
  283. package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.js → templates_triage.md.CVGe_FG6.js} +1 -1
  284. package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.lean.js → templates_triage.md.CVGe_FG6.lean.js} +1 -1
  285. package/dist/docs/assets/troubleshooting.md.mnfFG2Em.js +1 -0
  286. package/dist/docs/assets/troubleshooting.md.mnfFG2Em.lean.js +1 -0
  287. package/dist/docs/building-with-agents.html +47 -18
  288. package/dist/docs/building-with-agents.md +94 -84
  289. package/dist/docs/deployment.html +62 -48
  290. package/dist/docs/deployment.md +117 -364
  291. package/dist/docs/evals.html +88 -194
  292. package/dist/docs/evals.md +146 -673
  293. package/dist/docs/guides/agent-to-agent.html +65 -12
  294. package/dist/docs/guides/agent-to-agent.md +125 -91
  295. package/dist/docs/guides/bitbucket.html +182 -14
  296. package/dist/docs/guides/bitbucket.md +249 -48
  297. package/dist/docs/guides/cloud-agents.html +49 -10
  298. package/dist/docs/guides/cloud-agents.md +123 -66
  299. package/dist/docs/guides/convert-automation.html +83 -19
  300. package/dist/docs/guides/convert-automation.md +156 -147
  301. package/dist/docs/guides/github.html +187 -62
  302. package/dist/docs/guides/github.md +260 -245
  303. package/dist/docs/guides/gitlab.html +187 -15
  304. package/dist/docs/guides/gitlab.md +249 -50
  305. package/dist/docs/guides/grokbot-agents.html +51 -11
  306. package/dist/docs/guides/grokbot-agents.md +116 -63
  307. package/dist/docs/guides/improve.html +51 -10
  308. package/dist/docs/guides/improve.md +111 -58
  309. package/dist/docs/guides/mcp-oauth.html +77 -22
  310. package/dist/docs/guides/mcp-oauth.md +111 -121
  311. package/dist/docs/guides/opentelemetry.html +72 -30
  312. package/dist/docs/guides/opentelemetry.md +105 -187
  313. package/dist/docs/guides/slack.html +89 -24
  314. package/dist/docs/guides/slack.md +170 -191
  315. package/dist/docs/guides/webhooks.html +100 -200
  316. package/dist/docs/guides/webhooks.md +154 -386
  317. package/dist/docs/hashmap.json +1 -1
  318. package/dist/docs/hillclimbing.html +47 -11
  319. package/dist/docs/hillclimbing.md +101 -55
  320. package/dist/docs/index.html +57 -12
  321. package/dist/docs/index.md +83 -150
  322. package/dist/docs/llms-full.txt +6244 -10784
  323. package/dist/docs/llms.txt +23 -46
  324. package/dist/docs/quickstart.html +70 -45
  325. package/dist/docs/quickstart.md +44 -105
  326. package/dist/docs/reference/agent-config.html +41 -8
  327. package/dist/docs/reference/artifacts.html +41 -8
  328. package/dist/docs/reference/channels.html +41 -18
  329. package/dist/docs/reference/channels.md +0 -16
  330. package/dist/docs/reference/cli.html +44 -9
  331. package/dist/docs/reference/cli.md +2 -16
  332. package/dist/docs/reference/connections.html +43 -10
  333. package/dist/docs/reference/connections.md +3 -5
  334. package/dist/docs/reference/evals.html +116 -0
  335. package/dist/docs/reference/evals.md +293 -0
  336. package/dist/docs/reference/extensions.html +83 -54
  337. package/dist/docs/reference/extensions.md +127 -199
  338. package/dist/docs/reference/hooks.html +42 -9
  339. package/dist/docs/reference/hooks.md +34 -36
  340. package/dist/docs/reference/http-api.html +42 -9
  341. package/dist/docs/reference/http-api.md +5 -5
  342. package/dist/docs/reference/instructions.html +41 -8
  343. package/dist/docs/reference/playground.html +40 -7
  344. package/dist/docs/reference/playground.md +2 -2
  345. package/dist/docs/reference/project-layout.html +42 -9
  346. package/dist/docs/reference/project-layout.md +3 -4
  347. package/dist/docs/reference/prompt.html +41 -8
  348. package/dist/docs/reference/schedules.html +41 -8
  349. package/dist/docs/reference/sessions.html +40 -7
  350. package/dist/docs/reference/sessions.md +5 -4
  351. package/dist/docs/reference/skills.html +41 -8
  352. package/dist/docs/reference/subagents.html +41 -8
  353. package/dist/docs/reference/subagents.md +2 -4
  354. package/dist/docs/reference/tools.html +43 -10
  355. package/dist/docs/reference/tools.md +2 -5
  356. package/dist/docs/templates/agentic-owners.html +41 -8
  357. package/dist/docs/templates/pr-autofixer.html +41 -8
  358. package/dist/docs/templates/security-reviewer.html +41 -8
  359. package/dist/docs/templates/thermo-quality-review.html +62 -0
  360. package/dist/docs/templates/thermo-quality-review.md +75 -0
  361. package/dist/docs/templates/thermo-review.html +62 -0
  362. package/dist/docs/templates/thermo-review.md +74 -0
  363. package/dist/docs/templates/triage.html +41 -8
  364. package/dist/docs/troubleshooting.html +41 -8
  365. package/dist/docs/troubleshooting.md +97 -67
  366. package/dist/evals/assertions.js +19 -19
  367. package/dist/evals/expect.js +1 -1
  368. package/dist/evals/judge.js +1 -1
  369. package/dist/evals/reporters.d.ts.map +1 -1
  370. package/dist/evals/reporters.js +8 -8
  371. package/dist/evals/run-facts.js +2 -2
  372. package/dist/evals.d.ts +1 -1
  373. package/dist/evals.d.ts.map +1 -1
  374. package/dist/evals.js +7 -7
  375. package/dist/extensions/cursor-cloud-agents/extension.js +1 -1
  376. package/dist/extensions/cursor-cloud-agents/lib/backend.js +3 -3
  377. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  378. package/dist/extensions/cursor-cloud-agents/lib/repos.js +6 -6
  379. package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts.map +1 -1
  380. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -2
  381. package/dist/extensions/cursor-cloud-agents/skills/handoff.md +3 -7
  382. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  383. package/dist/extensions/improve/extension.d.ts +3 -1
  384. package/dist/extensions/improve/extension.d.ts.map +1 -1
  385. package/dist/extensions/improve/extension.js +4 -2
  386. package/dist/extensions/improve/skills/yourself.js +2 -2
  387. package/dist/extensions/slack-communication/extension.d.ts +28 -0
  388. package/dist/extensions/slack-communication/extension.d.ts.map +1 -0
  389. package/dist/extensions/slack-communication/extension.js +32 -0
  390. package/dist/extensions/slack-communication/skills/slack-voice.d.ts +5 -0
  391. package/dist/extensions/slack-communication/skills/slack-voice.d.ts.map +1 -0
  392. package/dist/extensions/slack-communication/skills/slack-voice.js +54 -0
  393. package/dist/extensions/slack-communication/tools/delete-message.d.ts +4 -0
  394. package/dist/extensions/slack-communication/tools/delete-message.d.ts.map +1 -0
  395. package/dist/extensions/slack-communication/tools/delete-message.js +29 -0
  396. package/dist/extensions/slack-communication/tools/edit-message.d.ts +4 -0
  397. package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -0
  398. package/dist/extensions/slack-communication/tools/edit-message.js +37 -0
  399. package/dist/extensions/slack-communication/tools/post-card.d.ts +4 -0
  400. package/dist/extensions/slack-communication/tools/post-card.d.ts.map +1 -0
  401. package/dist/extensions/slack-communication/tools/post-card.js +25 -0
  402. package/dist/extensions/slack-communication/tools/post-file.d.ts +4 -0
  403. package/dist/extensions/slack-communication/tools/post-file.d.ts.map +1 -0
  404. package/dist/extensions/slack-communication/tools/post-file.js +76 -0
  405. package/dist/extensions/slack-communication/tools/post-update.d.ts +4 -0
  406. package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -0
  407. package/dist/extensions/slack-communication/tools/post-update.js +36 -0
  408. package/dist/extensions/slack-communication/tools/react.d.ts +4 -0
  409. package/dist/extensions/slack-communication/tools/react.d.ts.map +1 -0
  410. package/dist/extensions/slack-communication/tools/react.js +27 -0
  411. package/dist/extensions/slack-communication/tools/set-status.d.ts +4 -0
  412. package/dist/extensions/slack-communication/tools/set-status.d.ts.map +1 -0
  413. package/dist/extensions/slack-communication/tools/set-status.js +18 -0
  414. package/dist/files-backends/cursor-hosted.d.ts +18 -6
  415. package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
  416. package/dist/files-backends/cursor-hosted.js +357 -74
  417. package/dist/files-backends/local-fs.js +1 -1
  418. package/dist/files.d.ts +15 -0
  419. package/dist/files.d.ts.map +1 -1
  420. package/dist/filesystem.d.ts +46 -2
  421. package/dist/filesystem.d.ts.map +1 -1
  422. package/dist/filesystem.js +160 -113
  423. package/dist/index.d.ts +7 -10
  424. package/dist/index.d.ts.map +1 -1
  425. package/dist/index.js +5 -7
  426. package/dist/internal/advertise-tools.js +6 -6
  427. package/dist/internal/approval-gate.js +1 -1
  428. package/dist/internal/artifacts-store.js +3 -3
  429. package/dist/internal/as-of.js +2 -2
  430. package/dist/internal/authored-alias-hooks.js +1 -1
  431. package/dist/internal/builtin-tools/reminders.js +2 -2
  432. package/dist/internal/chat-client.js +5 -5
  433. package/dist/internal/cli-ax.d.ts +7 -0
  434. package/dist/internal/cli-ax.d.ts.map +1 -1
  435. package/dist/internal/cli-ax.js +140 -27
  436. package/dist/internal/cli-bitbucket.js +10 -10
  437. package/dist/internal/cli-convert-automation.js +2 -2
  438. package/dist/internal/cli-cursor.d.ts +3 -11
  439. package/dist/internal/cli-cursor.d.ts.map +1 -1
  440. package/dist/internal/cli-cursor.js +5 -10
  441. package/dist/internal/cli-deploy.d.ts +12 -2
  442. package/dist/internal/cli-deploy.d.ts.map +1 -1
  443. package/dist/internal/cli-deploy.js +328 -96
  444. package/dist/internal/cli-docs.js +5 -5
  445. package/dist/internal/cli-github.js +15 -16
  446. package/dist/internal/cli-gitlab.js +10 -10
  447. package/dist/internal/cli-manifest.js +1 -1
  448. package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
  449. package/dist/internal/cli-mcp-oauth.js +5 -5
  450. package/dist/internal/cli-mcp.js +3 -3
  451. package/dist/internal/cli-skills.js +2 -2
  452. package/dist/internal/cli-slack.js +5 -5
  453. package/dist/internal/cloud-turn-cost.js +1 -1
  454. package/dist/internal/continuation-identity.d.ts.map +1 -1
  455. package/dist/internal/continuation-identity.js +15 -9
  456. package/dist/internal/conversation-mirror.d.ts.map +1 -1
  457. package/dist/internal/conversation-mirror.js +33 -2
  458. package/dist/internal/convert-automation/convert-workflow.js +25 -24
  459. package/dist/internal/convert-automation/types.d.ts +8 -0
  460. package/dist/internal/convert-automation/types.d.ts.map +1 -1
  461. package/dist/internal/cursor/account-mcp.d.ts +2 -2
  462. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  463. package/dist/internal/cursor/account-mcp.js +32 -27
  464. package/dist/internal/cursor/backend-client.d.ts +15 -10
  465. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  466. package/dist/internal/cursor/backend-client.js +17 -11
  467. package/dist/internal/cursor/credentials.js +1 -1
  468. package/dist/internal/cursor/hosted-store-secrets.d.ts +16 -0
  469. package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
  470. package/dist/internal/cursor/hosted-store-secrets.js +25 -0
  471. package/dist/internal/cursor-account-mcp-auth.js +9 -9
  472. package/dist/internal/cursor-agent-template.d.ts +1 -1
  473. package/dist/internal/cursor-agent-template.d.ts.map +1 -1
  474. package/dist/internal/cursor-agent-template.js +2 -0
  475. package/dist/internal/cursor-deployment-relay.js +9 -9
  476. package/dist/internal/cursor-event-relay.js +10 -10
  477. package/dist/internal/cursor-relay-core.js +2 -2
  478. package/dist/internal/deploy-client.d.ts +106 -9
  479. package/dist/internal/deploy-client.d.ts.map +1 -1
  480. package/dist/internal/deploy-client.js +171 -23
  481. package/dist/internal/deploy-manifest.d.ts +13 -0
  482. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  483. package/dist/internal/deploy-manifest.js +32 -16
  484. package/dist/internal/discovery/agent-config.d.ts +5 -0
  485. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  486. package/dist/internal/discovery/agent-config.js +27 -0
  487. package/dist/internal/discovery/agent.d.ts.map +1 -1
  488. package/dist/internal/discovery/agent.js +10 -8
  489. package/dist/internal/discovery/channels.js +4 -4
  490. package/dist/internal/discovery/connections.js +4 -4
  491. package/dist/internal/discovery/cursor-plugin.js +12 -12
  492. package/dist/internal/discovery/extension-overlay.js +3 -3
  493. package/dist/internal/discovery/extensions.js +6 -6
  494. package/dist/internal/discovery/info.js +9 -9
  495. package/dist/internal/discovery/instructions.js +1 -1
  496. package/dist/internal/discovery/project.d.ts.map +1 -1
  497. package/dist/internal/discovery/project.js +4 -4
  498. package/dist/internal/discovery/services.js +1 -1
  499. package/dist/internal/discovery/tools.js +1 -1
  500. package/dist/internal/docs-site.js +2 -2
  501. package/dist/internal/env-file.js +1 -1
  502. package/dist/internal/eval-run-store.d.ts.map +1 -1
  503. package/dist/internal/eval-run-store.js +7 -7
  504. package/dist/internal/eval-runner.js +14 -14
  505. package/dist/internal/evals-client.js +4 -4
  506. package/dist/internal/event-log.js +8 -8
  507. package/dist/internal/event-mapper.d.ts +18 -0
  508. package/dist/internal/event-mapper.d.ts.map +1 -1
  509. package/dist/internal/event-mapper.js +34 -2
  510. package/dist/internal/filesystem/format.d.ts.map +1 -1
  511. package/dist/internal/filesystem/format.js +6 -3
  512. package/dist/internal/filesystem/scratch.js +3 -3
  513. package/dist/internal/filesystem/tools.d.ts.map +1 -1
  514. package/dist/internal/filesystem/tools.js +7 -7
  515. package/dist/internal/filesystem/walk.d.ts +7 -4
  516. package/dist/internal/filesystem/walk.d.ts.map +1 -1
  517. package/dist/internal/filesystem/walk.js +35 -12
  518. package/dist/internal/framework-file-storage.d.ts +6 -2
  519. package/dist/internal/framework-file-storage.d.ts.map +1 -1
  520. package/dist/internal/framework-file-storage.js +91 -2
  521. package/dist/internal/framework-storage-selection.d.ts +0 -6
  522. package/dist/internal/framework-storage-selection.d.ts.map +1 -1
  523. package/dist/internal/framework-storage-selection.js +2 -11
  524. package/dist/internal/github-fanout.js +3 -3
  525. package/dist/internal/guest-network.js +4 -4
  526. package/dist/internal/host-files.js +1 -1
  527. package/dist/internal/host-kv.js +2 -2
  528. package/dist/internal/hosted-admission-adapter.d.ts +5 -0
  529. package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
  530. package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
  531. package/dist/internal/hosted-catch-protocol.js +2 -4
  532. package/dist/internal/hosted-catch.js +1 -1
  533. package/dist/internal/hosted-delivery-protocol.d.ts +46 -0
  534. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  535. package/dist/internal/hosted-delivery-protocol.js +126 -9
  536. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  537. package/dist/internal/hosted-delivery.js +209 -64
  538. package/dist/internal/hosted-execution-diag.js +3 -3
  539. package/dist/internal/hosted-execution-latency.d.ts +80 -0
  540. package/dist/internal/hosted-execution-latency.d.ts.map +1 -0
  541. package/dist/internal/hosted-execution-latency.js +220 -0
  542. package/dist/internal/hosting.d.ts +5 -5
  543. package/dist/internal/hosting.d.ts.map +1 -1
  544. package/dist/internal/hosting.js +5 -6
  545. package/dist/internal/http-channel-define.d.ts +11 -0
  546. package/dist/internal/http-channel-define.d.ts.map +1 -0
  547. package/dist/internal/http-channel-define.js +18 -0
  548. package/dist/internal/http-channel.d.ts +2 -3
  549. package/dist/internal/http-channel.d.ts.map +1 -1
  550. package/dist/internal/http-channel.js +3 -4
  551. package/dist/internal/http-control-plane-session.d.ts +7 -3
  552. package/dist/internal/http-control-plane-session.d.ts.map +1 -1
  553. package/dist/internal/http-control-plane-session.js +22 -10
  554. package/dist/internal/incoming-headers-to-fetch.d.ts +10 -0
  555. package/dist/internal/incoming-headers-to-fetch.d.ts.map +1 -0
  556. package/dist/internal/incoming-headers-to-fetch.js +41 -0
  557. package/dist/internal/init-interview.js +7 -7
  558. package/dist/internal/init-project.d.ts.map +1 -1
  559. package/dist/internal/init-project.js +18 -14
  560. package/dist/internal/init-scaffold.js +1 -1
  561. package/dist/internal/inline-stdio-mcp.js +2 -2
  562. package/dist/internal/install-cursor-skills.js +10 -10
  563. package/dist/internal/json-schema.js +1 -1
  564. package/dist/internal/local-control-plane.d.ts.map +1 -1
  565. package/dist/internal/local-control-plane.js +3 -3
  566. package/dist/internal/local-env.js +3 -3
  567. package/dist/internal/log-ring.js +1 -1
  568. package/dist/internal/logs-client.js +1 -1
  569. package/dist/internal/mcp-endpoint.js +8 -8
  570. package/dist/internal/mcp-host.js +4 -4
  571. package/dist/internal/mcp-oauth-on-demand.js +3 -3
  572. package/dist/internal/mcp-oauth.js +5 -5
  573. package/dist/internal/net.js +2 -2
  574. package/dist/internal/otel/config.js +3 -3
  575. package/dist/internal/otel/runtime.js +13 -13
  576. package/dist/internal/peer-connections.js +2 -2
  577. package/dist/internal/platform-schedule-sync.js +1 -1
  578. package/dist/internal/platform-timers.js +1 -1
  579. package/dist/internal/playground/static.js +2 -2
  580. package/dist/internal/playground/toolchain.js +2 -2
  581. package/dist/internal/playground-proxy.js +3 -3
  582. package/dist/internal/process-memory-telemetry.js +1 -1
  583. package/dist/internal/reminder-runner.d.ts.map +1 -1
  584. package/dist/internal/reminder-runner.js +7 -7
  585. package/dist/internal/reminder-store.js +1 -1
  586. package/dist/internal/request-error-status.d.ts.map +1 -1
  587. package/dist/internal/request-error-status.js +9 -0
  588. package/dist/internal/resolved-connections.js +8 -8
  589. package/dist/internal/result-output.d.ts +14 -2
  590. package/dist/internal/result-output.d.ts.map +1 -1
  591. package/dist/internal/result-output.js +45 -2
  592. package/dist/internal/router.js +4 -4
  593. package/dist/internal/run-client.js +2 -2
  594. package/dist/internal/schedule-runner.js +6 -6
  595. package/dist/internal/scm/pr-url.d.ts +3 -1
  596. package/dist/internal/scm/pr-url.d.ts.map +1 -1
  597. package/dist/internal/scm/pr-url.js +10 -2
  598. package/dist/internal/sdk-runner.d.ts.map +1 -1
  599. package/dist/internal/sdk-runner.js +14 -15
  600. package/dist/internal/serve-restart.js +1 -1
  601. package/dist/internal/server.d.ts.map +1 -1
  602. package/dist/internal/server.js +175 -126
  603. package/dist/internal/session-cost.js +3 -3
  604. package/dist/internal/session-engine.d.ts +34 -0
  605. package/dist/internal/session-engine.d.ts.map +1 -1
  606. package/dist/internal/session-engine.js +386 -184
  607. package/dist/internal/session-run-log.d.ts.map +1 -1
  608. package/dist/internal/session-run-log.js +4 -4
  609. package/dist/internal/session-store.d.ts +47 -3
  610. package/dist/internal/session-store.d.ts.map +1 -1
  611. package/dist/internal/session-store.js +198 -33
  612. package/dist/internal/sessions-client.js +3 -3
  613. package/dist/internal/skill-catalog.d.ts +28 -0
  614. package/dist/internal/skill-catalog.d.ts.map +1 -0
  615. package/dist/internal/skill-catalog.js +44 -0
  616. package/dist/internal/slack-thread-key.d.ts +7 -0
  617. package/dist/internal/slack-thread-key.d.ts.map +1 -0
  618. package/dist/internal/slack-thread-key.js +10 -0
  619. package/dist/internal/sleep.js +1 -1
  620. package/dist/internal/storage-coordinator.d.ts +17 -0
  621. package/dist/internal/storage-coordinator.d.ts.map +1 -1
  622. package/dist/internal/storage-coordinator.js +111 -11
  623. package/dist/internal/storage.d.ts +2 -0
  624. package/dist/internal/storage.d.ts.map +1 -0
  625. package/dist/internal/storage.js +1 -0
  626. package/dist/internal/store-mirror.js +4 -4
  627. package/dist/internal/terminal-style.js +2 -2
  628. package/dist/internal/tool-result.js +3 -3
  629. package/dist/internal/trajectory.js +7 -7
  630. package/dist/internal/turn-governor.js +2 -2
  631. package/dist/internal/turn-outbox.js +1 -1
  632. package/dist/internal/update-check.js +2 -2
  633. package/dist/internal/v2-hosting.d.ts +9 -0
  634. package/dist/internal/v2-hosting.d.ts.map +1 -1
  635. package/dist/internal/v2-hosting.js +10 -0
  636. package/dist/internal/workspace.d.ts +13 -10
  637. package/dist/internal/workspace.d.ts.map +1 -1
  638. package/dist/internal/workspace.js +17 -16
  639. package/dist/kv/memory-kv.d.ts +6 -4
  640. package/dist/kv/memory-kv.d.ts.map +1 -1
  641. package/dist/kv/memory-kv.js +9 -7
  642. package/dist/kv.d.ts +4 -7
  643. package/dist/kv.d.ts.map +1 -1
  644. package/dist/kv.js +4 -7
  645. package/dist/otel-public.d.ts +7 -0
  646. package/dist/otel-public.d.ts.map +1 -0
  647. package/dist/otel-public.js +5 -0
  648. package/dist/otel.d.ts +7 -2
  649. package/dist/otel.d.ts.map +1 -1
  650. package/dist/otel.js +7 -2
  651. package/dist/playground/assets/index-B1c1LeIf.js +67 -0
  652. package/dist/playground/assets/index-CK2LX3iD.css +1 -0
  653. package/dist/playground/index.html +2 -2
  654. package/dist/prompt.js +1 -1
  655. package/dist/result.d.ts +10 -4
  656. package/dist/result.d.ts.map +1 -1
  657. package/dist/result.js +9 -3
  658. package/dist/storage-backends/cursor-hosted-v2.js +2 -2
  659. package/dist/storage-backends/cursor-hosted.d.ts +5 -17
  660. package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
  661. package/dist/storage-backends/cursor-hosted.js +6 -20
  662. package/dist/storage-backends/file-kv.js +7 -7
  663. package/dist/storage.d.ts +20 -2
  664. package/dist/storage.d.ts.map +1 -1
  665. package/dist/storage.js +7 -6
  666. package/dist/types.d.ts +76 -11
  667. package/dist/types.d.ts.map +1 -1
  668. package/dist/types.js +12 -4
  669. package/docs/README.md +85 -152
  670. package/docs/building-with-agents.md +96 -86
  671. package/docs/deployment.md +118 -365
  672. package/docs/evals.md +147 -674
  673. package/docs/guides/agent-to-agent.md +126 -92
  674. package/docs/guides/bitbucket.md +250 -49
  675. package/docs/guides/cloud-agents.md +124 -67
  676. package/docs/guides/convert-automation.md +157 -148
  677. package/docs/guides/github.md +261 -246
  678. package/docs/guides/gitlab.md +250 -51
  679. package/docs/guides/grokbot-agents.md +117 -64
  680. package/docs/guides/improve.md +112 -59
  681. package/docs/guides/mcp-oauth.md +112 -122
  682. package/docs/guides/opentelemetry.md +106 -188
  683. package/docs/guides/slack.md +171 -192
  684. package/docs/guides/webhooks.md +155 -387
  685. package/docs/hillclimbing.md +102 -56
  686. package/docs/quickstart.md +45 -106
  687. package/docs/reference/channels.md +0 -16
  688. package/docs/reference/cli.md +2 -16
  689. package/docs/reference/connections.md +3 -5
  690. package/docs/reference/evals.md +298 -0
  691. package/docs/reference/extensions.md +128 -200
  692. package/docs/reference/hooks.md +34 -36
  693. package/docs/reference/http-api.md +5 -5
  694. package/docs/reference/playground.md +2 -2
  695. package/docs/reference/project-layout.md +3 -4
  696. package/docs/reference/sessions.md +5 -4
  697. package/docs/reference/subagents.md +2 -4
  698. package/docs/reference/tools.md +2 -5
  699. package/docs/templates/thermo-quality-review.md +80 -0
  700. package/docs/templates/thermo-review.md +79 -0
  701. package/docs/troubleshooting.md +98 -68
  702. package/package.json +55 -37
  703. package/skills/framework-map/SKILL.md +2 -2
  704. package/skills/github/SKILL.md +21 -13
  705. package/skills/otel/SKILL.md +8 -18
  706. package/src/bin/agent-serve.ts +115 -72
  707. package/src/channels/bitbucket/api.ts +8 -8
  708. package/src/channels/bitbucket/binding.ts +4 -4
  709. package/src/channels/bitbucket/bitbucket-channel.ts +1 -1
  710. package/src/channels/bitbucket/bitbucket-webhook.ts +1 -1
  711. package/src/channels/bitbucket/checks.ts +3 -4
  712. package/src/channels/bitbucket/cursor-account.ts +1 -1
  713. package/src/channels/bitbucket/events.ts +1 -1
  714. package/src/channels/change-monitors/change-monitors-channel.ts +2 -2
  715. package/src/channels/checks.ts +5 -4
  716. package/src/channels/deployments/deployments-channel.ts +1 -1
  717. package/src/channels/github/api.ts +1 -1
  718. package/src/channels/github/checks.ts +1 -1
  719. package/src/channels/github/cursor-account.ts +3 -3
  720. package/src/channels/github/defaults.ts +8 -4
  721. package/src/channels/github/events.ts +1 -1
  722. package/src/channels/github/forward.ts +8 -8
  723. package/src/channels/github/github-channel.ts +48 -21
  724. package/src/channels/github/progress.ts +7 -2
  725. package/src/channels/github/state.ts +6 -0
  726. package/src/channels/github/types.ts +6 -0
  727. package/src/channels/gitlab/binding.ts +4 -4
  728. package/src/channels/gitlab/checks.ts +3 -4
  729. package/src/channels/gitlab/cursor-account.ts +1 -1
  730. package/src/channels/gitlab/events.ts +1 -1
  731. package/src/channels/gitlab/gitlab-channel.ts +1 -1
  732. package/src/channels/gitlab/gitlab-webhook.ts +1 -1
  733. package/src/channels/gitlab/replay.ts +2 -2
  734. package/src/channels/origin/binding.ts +6 -3
  735. package/src/channels/origin/checks.ts +27 -17
  736. package/src/channels/origin/cursor-account.ts +1 -1
  737. package/src/channels/origin/defaults.ts +5 -1
  738. package/src/channels/origin/events.ts +1 -1
  739. package/src/channels/origin/origin-channel.ts +2 -1
  740. package/src/channels/origin/origin-webhook.ts +2 -2
  741. package/src/channels/slack/agentic-delivery.ts +661 -0
  742. package/src/channels/slack/agentic-posted.ts +148 -0
  743. package/src/channels/slack/agentic-signals.ts +248 -0
  744. package/src/channels/slack/api.ts +51 -11
  745. package/src/channels/slack/approvals.ts +1 -1
  746. package/src/channels/slack/attachments.ts +1 -1
  747. package/src/channels/slack/auth.ts +3 -1
  748. package/src/channels/slack/blocks.ts +3 -3
  749. package/src/channels/slack/bot-mentions.ts +5 -7
  750. package/src/channels/slack/channel-watch.ts +1 -1
  751. package/src/channels/slack/cli-project.ts +3 -3
  752. package/src/channels/slack/defaults.ts +109 -37
  753. package/src/channels/slack/dispatch.ts +419 -168
  754. package/src/channels/slack/doctor.ts +1 -1
  755. package/src/channels/slack/eval-directive.ts +1 -1
  756. package/src/channels/slack/external-policy.ts +15 -2
  757. package/src/channels/slack/footer.ts +108 -0
  758. package/src/channels/slack/index.ts +2 -0
  759. package/src/channels/slack/interactive.ts +4 -2
  760. package/src/channels/slack/live-delivery.ts +23 -7
  761. package/src/channels/slack/log.ts +1 -1
  762. package/src/channels/slack/manifest.ts +1 -1
  763. package/src/channels/slack/nudge-carrier.ts +1 -1
  764. package/src/channels/slack/nudge-store.ts +2 -2
  765. package/src/channels/slack/paint-start.ts +93 -0
  766. package/src/channels/slack/placeholder.ts +366 -0
  767. package/src/channels/slack/progress-delivery.ts +14 -1
  768. package/src/channels/slack/reasoning-chip.ts +48 -0
  769. package/src/channels/slack/recording-sink.ts +176 -0
  770. package/src/channels/slack/reply-options.ts +71 -15
  771. package/src/channels/slack/setup.ts +1 -1
  772. package/src/channels/slack/slack-channel.ts +81 -14
  773. package/src/channels/slack/socket-mode.ts +2 -2
  774. package/src/channels/slack/thread-context.ts +5 -5
  775. package/src/channels/slack/tool-approval-events.ts +54 -38
  776. package/src/channels/slack/tool-cards.ts +1 -1
  777. package/src/channels/slack/tool-chip.ts +36 -0
  778. package/src/channels/slack/types.ts +47 -7
  779. package/src/channels/slack/upload.ts +142 -0
  780. package/src/channels.ts +12 -30
  781. package/src/dashboard-session-url.ts +32 -0
  782. package/src/evals/assertions.ts +19 -19
  783. package/src/evals/expect.ts +1 -1
  784. package/src/evals/judge.ts +1 -1
  785. package/src/evals/reporters.ts +8 -9
  786. package/src/evals/run-facts.ts +2 -2
  787. package/src/evals.ts +7 -10
  788. package/src/extensions/cursor-cloud-agents/extension.ts +1 -1
  789. package/src/extensions/cursor-cloud-agents/lib/backend.ts +3 -3
  790. package/src/extensions/cursor-cloud-agents/lib/fleet.ts +1 -1
  791. package/src/extensions/cursor-cloud-agents/lib/repos.ts +3 -3
  792. package/src/extensions/cursor-cloud-agents/lib/transcript.ts +3 -4
  793. package/src/extensions/cursor-cloud-agents/skills/handoff.md +3 -7
  794. package/src/extensions/cursor-cloud-agents/tools/list.ts +1 -1
  795. package/src/extensions/improve/extension.ts +4 -2
  796. package/src/extensions/improve/skills/yourself.ts +2 -2
  797. package/src/extensions/slack-communication/evals/harness.ts +728 -0
  798. package/src/extensions/slack-communication/evals/slack-communication.eval.ts +953 -0
  799. package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +194 -0
  800. package/src/extensions/slack-communication/extension.ts +45 -0
  801. package/src/extensions/slack-communication/skills/slack-voice.ts +59 -0
  802. package/src/extensions/slack-communication/tools/delete-message.ts +34 -0
  803. package/src/extensions/slack-communication/tools/edit-message.ts +42 -0
  804. package/src/extensions/slack-communication/tools/post-card.ts +28 -0
  805. package/src/extensions/slack-communication/tools/post-file.ts +85 -0
  806. package/src/extensions/slack-communication/tools/post-update.ts +41 -0
  807. package/src/extensions/slack-communication/tools/react.ts +33 -0
  808. package/src/extensions/slack-communication/tools/set-status.ts +21 -0
  809. package/src/files-backends/cursor-hosted.ts +502 -98
  810. package/src/files-backends/local-fs.ts +1 -1
  811. package/src/files.ts +15 -0
  812. package/src/filesystem.ts +182 -81
  813. package/src/index.ts +7 -36
  814. package/src/internal/advertise-tools.ts +6 -6
  815. package/src/internal/approval-gate.ts +1 -1
  816. package/src/internal/artifacts-store.ts +3 -3
  817. package/src/internal/as-of.ts +2 -2
  818. package/src/internal/authored-alias-hooks.ts +1 -1
  819. package/src/internal/authored-loaders.ts +2 -3
  820. package/src/internal/builtin-tools/reminders.ts +2 -2
  821. package/src/internal/chat-client.ts +5 -5
  822. package/src/internal/cli-ax.ts +172 -29
  823. package/src/internal/cli-bitbucket.ts +11 -11
  824. package/src/internal/cli-convert-automation.ts +2 -2
  825. package/src/internal/cli-cursor.ts +5 -16
  826. package/src/internal/cli-deploy.ts +389 -104
  827. package/src/internal/cli-docs.ts +5 -5
  828. package/src/internal/cli-github.ts +16 -19
  829. package/src/internal/cli-gitlab.ts +11 -11
  830. package/src/internal/cli-manifest.ts +1 -1
  831. package/src/internal/cli-mcp-oauth.ts +5 -7
  832. package/src/internal/cli-mcp.ts +3 -3
  833. package/src/internal/cli-skills.ts +2 -2
  834. package/src/internal/cli-slack.ts +5 -5
  835. package/src/internal/cloud-turn-cost.ts +1 -1
  836. package/src/internal/continuation-identity.ts +14 -9
  837. package/src/internal/conversation-mirror.ts +36 -3
  838. package/src/internal/convert-automation/convert-workflow.ts +27 -27
  839. package/src/internal/convert-automation/types.ts +9 -0
  840. package/src/internal/cursor/account-mcp.ts +48 -31
  841. package/src/internal/cursor/backend-client.ts +28 -17
  842. package/src/internal/cursor/credentials.ts +1 -1
  843. package/src/internal/cursor/hosted-store-secrets.ts +34 -0
  844. package/src/internal/cursor-account-mcp-auth.ts +9 -9
  845. package/src/internal/cursor-agent-template.ts +2 -0
  846. package/src/internal/cursor-deployment-relay.ts +10 -10
  847. package/src/internal/cursor-event-relay.ts +10 -10
  848. package/src/internal/cursor-relay-core.ts +2 -2
  849. package/src/internal/deploy-client.ts +266 -24
  850. package/src/internal/deploy-manifest.ts +46 -8
  851. package/src/internal/discovery/agent-config.ts +34 -0
  852. package/src/internal/discovery/agent.ts +14 -6
  853. package/src/internal/discovery/channels.ts +4 -4
  854. package/src/internal/discovery/connections.ts +4 -4
  855. package/src/internal/discovery/cursor-plugin.ts +12 -12
  856. package/src/internal/discovery/extension-overlay.ts +3 -3
  857. package/src/internal/discovery/extensions.ts +6 -6
  858. package/src/internal/discovery/info.ts +9 -9
  859. package/src/internal/discovery/instructions.ts +1 -1
  860. package/src/internal/discovery/project.ts +4 -4
  861. package/src/internal/discovery/services.ts +1 -1
  862. package/src/internal/discovery/tools.ts +1 -1
  863. package/src/internal/docs-site.ts +2 -2
  864. package/src/internal/env-file.ts +2 -2
  865. package/src/internal/eval-run-store.ts +7 -9
  866. package/src/internal/eval-runner.ts +20 -20
  867. package/src/internal/evals-client.ts +6 -6
  868. package/src/internal/event-log.ts +10 -10
  869. package/src/internal/event-mapper.ts +37 -2
  870. package/src/internal/filesystem/format.ts +11 -12
  871. package/src/internal/filesystem/scratch.ts +3 -3
  872. package/src/internal/filesystem/tools.ts +8 -8
  873. package/src/internal/filesystem/walk.ts +61 -16
  874. package/src/internal/framework-file-storage.ts +104 -4
  875. package/src/internal/framework-storage-selection.ts +2 -12
  876. package/src/internal/github-fanout.ts +4 -4
  877. package/src/internal/guest-network.ts +4 -4
  878. package/src/internal/host-files.ts +1 -1
  879. package/src/internal/host-kv.ts +2 -2
  880. package/src/internal/hosted-admission-adapter.ts +5 -0
  881. package/src/internal/hosted-catch-protocol.ts +3 -5
  882. package/src/internal/hosted-catch.ts +1 -1
  883. package/src/internal/hosted-delivery-protocol.ts +189 -14
  884. package/src/internal/hosted-delivery.ts +294 -81
  885. package/src/internal/hosted-execution-diag.ts +3 -3
  886. package/src/internal/hosted-execution-latency.ts +334 -0
  887. package/src/internal/hosting.ts +5 -6
  888. package/src/internal/http-channel-define.ts +27 -0
  889. package/src/internal/http-channel.ts +3 -4
  890. package/src/internal/http-control-plane-session.ts +24 -11
  891. package/src/internal/incoming-headers-to-fetch.ts +54 -0
  892. package/src/internal/init-interview.ts +7 -7
  893. package/src/internal/init-project.ts +18 -16
  894. package/src/internal/init-scaffold.ts +1 -1
  895. package/src/internal/inline-stdio-mcp.ts +2 -2
  896. package/src/internal/install-cursor-skills.ts +11 -11
  897. package/src/internal/json-schema.ts +1 -1
  898. package/src/internal/local-control-plane.ts +4 -5
  899. package/src/internal/local-env.ts +3 -3
  900. package/src/internal/log-ring.ts +1 -1
  901. package/src/internal/logs-client.ts +1 -1
  902. package/src/internal/mcp-endpoint.ts +10 -10
  903. package/src/internal/mcp-host.ts +9 -9
  904. package/src/internal/mcp-oauth-on-demand.ts +3 -3
  905. package/src/internal/mcp-oauth.ts +5 -5
  906. package/src/internal/net.ts +2 -2
  907. package/src/internal/otel/config.ts +3 -3
  908. package/src/internal/otel/runtime.ts +14 -14
  909. package/src/internal/peer-connections.ts +2 -2
  910. package/src/internal/platform-schedule-sync.ts +1 -1
  911. package/src/internal/platform-timers.ts +1 -1
  912. package/src/internal/playground/static.ts +2 -2
  913. package/src/internal/playground/toolchain.ts +2 -2
  914. package/src/internal/playground-proxy.ts +3 -3
  915. package/src/internal/process-memory-telemetry.ts +1 -1
  916. package/src/internal/reminder-runner.ts +8 -10
  917. package/src/internal/reminder-store.ts +1 -1
  918. package/src/internal/request-error-status.ts +9 -0
  919. package/src/internal/resolved-connections.ts +8 -8
  920. package/src/internal/result-output.ts +62 -5
  921. package/src/internal/router.ts +4 -4
  922. package/src/internal/run-client.ts +2 -2
  923. package/src/internal/schedule-runner.ts +6 -6
  924. package/src/internal/scm/pr-url.ts +11 -2
  925. package/src/internal/sdk-runner.ts +14 -28
  926. package/src/internal/serve-restart.ts +1 -1
  927. package/src/internal/server.ts +201 -140
  928. package/src/internal/session-cost.ts +3 -3
  929. package/src/internal/session-engine.ts +516 -244
  930. package/src/internal/session-run-log.ts +4 -6
  931. package/src/internal/session-store.ts +213 -39
  932. package/src/internal/sessions-client.ts +3 -3
  933. package/src/internal/skill-catalog.ts +69 -0
  934. package/src/internal/slack-thread-key.ts +11 -0
  935. package/src/internal/sleep.ts +1 -1
  936. package/src/internal/storage-coordinator.ts +118 -21
  937. package/src/internal/storage.ts +1 -0
  938. package/src/internal/store-mirror.ts +4 -4
  939. package/src/internal/terminal-style.ts +2 -2
  940. package/src/internal/tool-result.ts +3 -3
  941. package/src/internal/trajectory.ts +7 -7
  942. package/src/internal/turn-governor.ts +2 -2
  943. package/src/internal/turn-outbox.ts +1 -1
  944. package/src/internal/update-check.ts +2 -2
  945. package/src/internal/v2-hosting.ts +14 -0
  946. package/src/internal/workspace.ts +17 -17
  947. package/src/kv/memory-kv.ts +9 -7
  948. package/src/kv.ts +4 -7
  949. package/src/otel-public.ts +24 -0
  950. package/src/otel.ts +7 -2
  951. package/src/prompt.ts +1 -1
  952. package/src/result.ts +10 -8
  953. package/src/storage-backends/cursor-hosted-v2.ts +2 -2
  954. package/src/storage-backends/cursor-hosted.ts +6 -23
  955. package/src/storage-backends/file-kv.ts +7 -7
  956. package/src/storage.ts +22 -7
  957. package/src/types.ts +91 -17
  958. package/templates/agentic-owners/agent/channels/github.ts +3 -6
  959. package/templates/agentic-owners/agent/lib/github.ts +5 -5
  960. package/templates/agentic-owners/agent/lib/owners/decision.ts +13 -10
  961. package/templates/agentic-owners/agent/lib/owners/handles.ts +2 -2
  962. package/templates/agentic-owners/agent/lib/owners/match.ts +3 -3
  963. package/templates/agentic-owners/agent/lib/owners/matching.ts +1 -1
  964. package/templates/agentic-owners/agent/lib/owners/parse.ts +4 -9
  965. package/templates/agentic-owners/agent/lib/owners/prompt.ts +1 -1
  966. package/templates/agentic-owners/agent/lib/review.ts +37 -30
  967. package/templates/agentic-owners/evals/owners.eval.ts +2 -2
  968. package/templates/agentic-owners/package.json +1 -1
  969. package/templates/agents-md/agent/lib/collect.ts +16 -10
  970. package/templates/agents-md/agent/lib/config.ts +1 -1
  971. package/templates/agents-md/agent/tools/apply_agents.ts +10 -8
  972. package/templates/agents-md/package.json +1 -1
  973. package/templates/code-wiki/agent/channels/github.ts +4 -7
  974. package/templates/code-wiki/agent/lib/repos.ts +1 -1
  975. package/templates/code-wiki/agent/tools/apply_wiki.ts +3 -4
  976. package/templates/code-wiki/package.json +1 -1
  977. package/templates/demo/agent/lib/collect.ts +6 -2
  978. package/templates/demo/agent/lib/repos.ts +1 -1
  979. package/templates/demo/agent/tools/record_demo.ts +1 -1
  980. package/templates/demo/evals/demo.eval.ts +1 -5
  981. package/templates/demo/package.json +1 -1
  982. package/templates/grokbot-agents/package.json +1 -1
  983. package/templates/pr-autofixer/agent/channels/github.ts +16 -13
  984. package/templates/pr-autofixer/agent/lib/merge-watch.ts +2 -4
  985. package/templates/pr-autofixer/agent/lib/repos.ts +2 -2
  986. package/templates/pr-autofixer/agent/lib/webhook-routing.ts +1 -1
  987. package/templates/pr-autofixer/package.json +1 -1
  988. package/templates/security-help/agent/lib/repos.ts +1 -1
  989. package/templates/security-help/package.json +1 -1
  990. package/templates/security-reviewer/agent/lib/repos.ts +1 -1
  991. package/templates/security-reviewer/agent/tools/post_findings.ts +1 -3
  992. package/templates/security-reviewer/package.json +1 -1
  993. package/templates/thermo-quality-review/README.md +35 -0
  994. package/templates/thermo-quality-review/agent/agent.ts +8 -0
  995. package/templates/thermo-quality-review/agent/channels/github.ts +42 -0
  996. package/templates/thermo-quality-review/agent/instructions.md +43 -0
  997. package/templates/thermo-quality-review/agent/tools/post_findings.ts +70 -0
  998. package/templates/thermo-quality-review/evals/evals.config.ts +5 -0
  999. package/templates/thermo-quality-review/evals/review.eval.ts +62 -0
  1000. package/templates/thermo-quality-review/package.json +18 -0
  1001. package/templates/thermo-quality-review/tsconfig.json +12 -0
  1002. package/templates/thermo-review/README.md +35 -0
  1003. package/templates/thermo-review/agent/agent.ts +8 -0
  1004. package/templates/thermo-review/agent/channels/github.ts +42 -0
  1005. package/templates/thermo-review/agent/instructions.md +40 -0
  1006. package/templates/thermo-review/agent/tools/post_findings.ts +70 -0
  1007. package/templates/thermo-review/evals/evals.config.ts +5 -0
  1008. package/templates/thermo-review/evals/review.eval.ts +53 -0
  1009. package/templates/thermo-review/package.json +18 -0
  1010. package/templates/thermo-review/tsconfig.json +12 -0
  1011. package/templates/triage/agent/lib/actuate.ts +26 -41
  1012. package/templates/triage/agent/lib/parse-queue-event.ts +2 -1
  1013. package/templates/triage/agent/lib/verify-webhook.ts +10 -5
  1014. package/templates/triage/agent/tools/record_triage.ts +1 -4
  1015. package/templates/triage/package.json +1 -1
  1016. package/dist/client.d.ts +0 -14
  1017. package/dist/client.d.ts.map +0 -1
  1018. package/dist/client.js +0 -12
  1019. package/dist/docs/assets/app.Cr-wVbnB.js +0 -1
  1020. package/dist/docs/assets/building-with-agents.md.D0KbSkJn.js +0 -13
  1021. package/dist/docs/assets/building-with-agents.md.D0KbSkJn.lean.js +0 -1
  1022. package/dist/docs/assets/chunks/@localSearchIndexroot.CFVQ4S17.js +0 -1
  1023. package/dist/docs/assets/concepts.md.B4o63Gul.js +0 -1
  1024. package/dist/docs/assets/concepts.md.B4o63Gul.lean.js +0 -1
  1025. package/dist/docs/assets/deployment.md.JenwuCCB.js +0 -51
  1026. package/dist/docs/assets/deployment.md.JenwuCCB.lean.js +0 -1
  1027. package/dist/docs/assets/evals.md.C7JLjoEP.js +0 -211
  1028. package/dist/docs/assets/evals.md.C7JLjoEP.lean.js +0 -1
  1029. package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.js +0 -10
  1030. package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.lean.js +0 -1
  1031. package/dist/docs/assets/guides_bitbucket.md.DZPzmUjU.js +0 -10
  1032. package/dist/docs/assets/guides_bitbucket.md.DZPzmUjU.lean.js +0 -1
  1033. package/dist/docs/assets/guides_cloud-agents.md.BsloyHdY.js +0 -9
  1034. package/dist/docs/assets/guides_cloud-agents.md.BsloyHdY.lean.js +0 -1
  1035. package/dist/docs/assets/guides_convert-automation.md.B4sjlodG.js +0 -12
  1036. package/dist/docs/assets/guides_convert-automation.md.B4sjlodG.lean.js +0 -1
  1037. package/dist/docs/assets/guides_github.md.TZaTZlfz.js +0 -64
  1038. package/dist/docs/assets/guides_github.md.TZaTZlfz.lean.js +0 -1
  1039. package/dist/docs/assets/guides_gitlab.md.BmqwQfdG.js +0 -14
  1040. package/dist/docs/assets/guides_gitlab.md.BmqwQfdG.lean.js +0 -1
  1041. package/dist/docs/assets/guides_grokbot-agents.md.DyV-WArv.js +0 -9
  1042. package/dist/docs/assets/guides_grokbot-agents.md.DyV-WArv.lean.js +0 -1
  1043. package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.js +0 -28
  1044. package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.lean.js +0 -1
  1045. package/dist/docs/assets/guides_improve.md.BGVk32bK.js +0 -14
  1046. package/dist/docs/assets/guides_improve.md.BGVk32bK.lean.js +0 -1
  1047. package/dist/docs/assets/guides_mcp-oauth.md.Dp6cDP7f.js +0 -28
  1048. package/dist/docs/assets/guides_mcp-oauth.md.Dp6cDP7f.lean.js +0 -1
  1049. package/dist/docs/assets/guides_opentelemetry.md.SCRMskno.js +0 -26
  1050. package/dist/docs/assets/guides_opentelemetry.md.SCRMskno.lean.js +0 -1
  1051. package/dist/docs/assets/guides_slack.md.D4RVMM4G.js +0 -38
  1052. package/dist/docs/assets/guides_slack.md.D4RVMM4G.lean.js +0 -1
  1053. package/dist/docs/assets/guides_webhooks.md.CJK484ex.js +0 -225
  1054. package/dist/docs/assets/guides_webhooks.md.CJK484ex.lean.js +0 -1
  1055. package/dist/docs/assets/hillclimbing.md.BOiVo1tf.js +0 -4
  1056. package/dist/docs/assets/hillclimbing.md.BOiVo1tf.lean.js +0 -1
  1057. package/dist/docs/assets/index.md.DD9Q2XuJ.js +0 -5
  1058. package/dist/docs/assets/index.md.DD9Q2XuJ.lean.js +0 -1
  1059. package/dist/docs/assets/quickstart.md.DdQOF7Y8.lean.js +0 -1
  1060. package/dist/docs/assets/reference_extensions.md.ZAVUyuEX.js +0 -62
  1061. package/dist/docs/assets/reference_extensions.md.ZAVUyuEX.lean.js +0 -1
  1062. package/dist/docs/assets/reference_result.md.BK5SxDrf.js +0 -19
  1063. package/dist/docs/assets/reference_result.md.BK5SxDrf.lean.js +0 -1
  1064. package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.js +0 -1
  1065. package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.lean.js +0 -1
  1066. package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.js +0 -8
  1067. package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.lean.js +0 -1
  1068. package/dist/docs/assets/skills_debug.md.CVjCXMFF.js +0 -1
  1069. package/dist/docs/assets/skills_debug.md.CVjCXMFF.lean.js +0 -1
  1070. package/dist/docs/assets/skills_deploy.md.CWqi_ZxW.js +0 -35
  1071. package/dist/docs/assets/skills_deploy.md.CWqi_ZxW.lean.js +0 -1
  1072. package/dist/docs/assets/skills_evals.md.DFxYPErF.js +0 -25
  1073. package/dist/docs/assets/skills_evals.md.DFxYPErF.lean.js +0 -1
  1074. package/dist/docs/assets/skills_framework-map.md.BxLSOhSY.js +0 -1
  1075. package/dist/docs/assets/skills_framework-map.md.BxLSOhSY.lean.js +0 -1
  1076. package/dist/docs/assets/skills_github.md.hgFX_oKY.js +0 -16
  1077. package/dist/docs/assets/skills_github.md.hgFX_oKY.lean.js +0 -1
  1078. package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.js +0 -7
  1079. package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.lean.js +0 -1
  1080. package/dist/docs/assets/skills_index.md.DL7EHaQ-.js +0 -1
  1081. package/dist/docs/assets/skills_index.md.DL7EHaQ-.lean.js +0 -1
  1082. package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.js +0 -18
  1083. package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.lean.js +0 -1
  1084. package/dist/docs/assets/skills_otel.md.B5Ddv1xH.js +0 -8
  1085. package/dist/docs/assets/skills_otel.md.B5Ddv1xH.lean.js +0 -1
  1086. package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.js +0 -20
  1087. package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.lean.js +0 -1
  1088. package/dist/docs/assets/storage.md.BUrhJ-Zz.js +0 -30
  1089. package/dist/docs/assets/storage.md.BUrhJ-Zz.lean.js +0 -1
  1090. package/dist/docs/assets/templates_agents-md.md.CXSMZljE.js +0 -2
  1091. package/dist/docs/assets/templates_agents-md.md.CXSMZljE.lean.js +0 -1
  1092. package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.js +0 -2
  1093. package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.lean.js +0 -1
  1094. package/dist/docs/assets/templates_demo.md.BeQX9V3H.js +0 -4
  1095. package/dist/docs/assets/templates_demo.md.BeQX9V3H.lean.js +0 -1
  1096. package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.js +0 -3
  1097. package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.lean.js +0 -1
  1098. package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.js +0 -4
  1099. package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.lean.js +0 -1
  1100. package/dist/docs/assets/troubleshooting.md.CYEAO9bM.js +0 -1
  1101. package/dist/docs/assets/troubleshooting.md.CYEAO9bM.lean.js +0 -1
  1102. package/dist/docs/concepts.html +0 -27
  1103. package/dist/docs/concepts.md +0 -166
  1104. package/dist/docs/design/filesystem.md +0 -376
  1105. package/dist/docs/design/runtime-abstraction.md +0 -1756
  1106. package/dist/docs/guides/human-in-the-loop.html +0 -54
  1107. package/dist/docs/guides/human-in-the-loop.md +0 -126
  1108. package/dist/docs/reference/result.html +0 -45
  1109. package/dist/docs/reference/result.md +0 -89
  1110. package/dist/docs/scaffolding-agents.html +0 -27
  1111. package/dist/docs/scaffolding-agents.md +0 -130
  1112. package/dist/docs/skills/create-agent.html +0 -34
  1113. package/dist/docs/skills/create-agent.md +0 -160
  1114. package/dist/docs/skills/debug.html +0 -27
  1115. package/dist/docs/skills/debug.md +0 -36
  1116. package/dist/docs/skills/deploy.html +0 -61
  1117. package/dist/docs/skills/deploy.md +0 -161
  1118. package/dist/docs/skills/evals.html +0 -51
  1119. package/dist/docs/skills/evals.md +0 -137
  1120. package/dist/docs/skills/framework-map.html +0 -27
  1121. package/dist/docs/skills/framework-map.md +0 -99
  1122. package/dist/docs/skills/github.html +0 -42
  1123. package/dist/docs/skills/github.md +0 -93
  1124. package/dist/docs/skills/hillclimb.html +0 -33
  1125. package/dist/docs/skills/hillclimb.md +0 -55
  1126. package/dist/docs/skills/index.html +0 -27
  1127. package/dist/docs/skills/index.md +0 -21
  1128. package/dist/docs/skills/mcp-auth.html +0 -44
  1129. package/dist/docs/skills/mcp-auth.md +0 -76
  1130. package/dist/docs/skills/otel.html +0 -34
  1131. package/dist/docs/skills/otel.md +0 -53
  1132. package/dist/docs/skills/setup-slack.html +0 -46
  1133. package/dist/docs/skills/setup-slack.md +0 -141
  1134. package/dist/docs/storage.html +0 -56
  1135. package/dist/docs/storage.md +0 -167
  1136. package/dist/docs/templates/agents-md.html +0 -28
  1137. package/dist/docs/templates/agents-md.md +0 -105
  1138. package/dist/docs/templates/code-wiki.html +0 -28
  1139. package/dist/docs/templates/code-wiki.md +0 -91
  1140. package/dist/docs/templates/demo.html +0 -30
  1141. package/dist/docs/templates/demo.md +0 -80
  1142. package/dist/docs/templates/grokbot-agents.html +0 -29
  1143. package/dist/docs/templates/grokbot-agents.md +0 -48
  1144. package/dist/docs/templates/security-help.html +0 -30
  1145. package/dist/docs/templates/security-help.md +0 -65
  1146. package/dist/internal/tenant-slack/relay.d.ts +0 -75
  1147. package/dist/internal/tenant-slack/relay.d.ts.map +0 -1
  1148. package/dist/internal/tenant-slack/relay.js +0 -148
  1149. package/dist/playground/assets/index-Bhxzrcf6.css +0 -1
  1150. package/dist/playground/assets/index-CqLX5uF3.js +0 -67
  1151. package/docs/concepts.md +0 -171
  1152. package/docs/design/filesystem.md +0 -376
  1153. package/docs/design/runtime-abstraction.md +0 -1756
  1154. package/docs/guides/human-in-the-loop.md +0 -131
  1155. package/docs/reference/result.md +0 -94
  1156. package/docs/scaffolding-agents.md +0 -135
  1157. package/docs/skills/index.md +0 -26
  1158. package/docs/storage.md +0 -172
  1159. package/docs/templates/agents-md.md +0 -110
  1160. package/docs/templates/code-wiki.md +0 -96
  1161. package/docs/templates/demo.md +0 -85
  1162. package/docs/templates/grokbot-agents.md +0 -53
  1163. package/docs/templates/security-help.md +0 -70
  1164. package/src/client.ts +0 -23
  1165. package/src/internal/tenant-slack/relay.ts +0 -203
  1166. package/templates/pr-autofixer/agent/storage.ts +0 -7
@@ -54,6 +54,7 @@ import {
54
54
  parseCursorOriginRepoScope,
55
55
  } from "../channels/origin/cursor-account.js";
56
56
  import { findOriginChannelTargets } from "../channels/origin/origin-channel.js";
57
+ import { appendSlackQuietHint } from "../channels/slack/agentic-posted.js";
57
58
  import { allowAll, bearerAuth, localDevStrict } from "../channels.js";
58
59
  import type {
59
60
  AgentProject,
@@ -145,6 +146,10 @@ import {
145
146
  readJsonObject,
146
147
  requireSessionOwner,
147
148
  } from "./http-channel.js";
149
+ import {
150
+ incomingHeadersToFetch,
151
+ incomingRequestHost,
152
+ } from "./incoming-headers-to-fetch.js";
148
153
  import { DEFAULT_SERVE_PORT, listenHttpServer } from "./listen-port.js";
149
154
  import {
150
155
  createLocalControlPlane,
@@ -233,13 +238,18 @@ import {
233
238
  unregisterSessionRunFatalFlush,
234
239
  } from "./session-run-log.js";
235
240
  import { sessionUrlsForRequest } from "./session-urls.js";
241
+ import {
242
+ readSkillDetail,
243
+ skillListEntry,
244
+ UnknownSkillError,
245
+ } from "./skill-catalog.js";
236
246
  import { flushLocalStartLog, selectStartLogStore } from "./start-log-store.js";
237
247
  import { catalogDetailEntry, catalogListEntry } from "./tool-catalog.js";
238
248
 
239
249
  function memoryHealthFields(engines: readonly SessionEngine[]) {
240
250
  return collectMemoryHealthFields({
241
251
  eventLog: () =>
242
- sumEventLogStats(engines.map((engine) => engine.eventLogMemoryStats())),
252
+ sumEventLogStats(engines.map(engine => engine.eventLogMemoryStats())),
243
253
  });
244
254
  }
245
255
 
@@ -276,7 +286,7 @@ function localControlPlaneRoute(
276
286
  ): RouteLocalIngressContinuation | undefined {
277
287
  for (const runtime of runtimes) {
278
288
  if (runtime.controlPlane !== undefined) {
279
- return (input) => runtime.controlPlane!.routeContinuation(input);
289
+ return input => runtime.controlPlane!.routeContinuation(input);
280
290
  }
281
291
  }
282
292
  return undefined;
@@ -285,7 +295,7 @@ function localControlPlaneRoute(
285
295
  function firstLocalControlPlane(
286
296
  runtimes: readonly MountedRuntime[]
287
297
  ): LocalControlPlane | undefined {
288
- return runtimes.find((runtime) => runtime.controlPlane !== undefined)
298
+ return runtimes.find(runtime => runtime.controlPlane !== undefined)
289
299
  ?.controlPlane;
290
300
  }
291
301
 
@@ -324,7 +334,7 @@ export async function startServer(
324
334
  const label = slug === "" ? project.name : `${slug} (${project.name})`;
325
335
  throw new Error(
326
336
  `Refusing to serve agent ${label} — it has errors:\n${formatDiagnostics(
327
- project.diagnostics.filter((d) => d.severity === "error")
337
+ project.diagnostics.filter(d => d.severity === "error")
328
338
  )}`
329
339
  );
330
340
  }
@@ -340,12 +350,9 @@ export async function startServer(
340
350
  noControlPlane?: boolean;
341
351
  /** `--cursor-scm-proxy`: every cursorAccount SCM pack routes via the backend forwarder. */
342
352
  cursorScmProxy?: boolean;
343
- /** Deprecated alias (`--cursor-github-proxy`); same effect as cursorScmProxy. */
344
- cursorGithubProxy?: boolean;
345
353
  };
346
354
  const noControlPlane = hosted.noControlPlane === true;
347
- const scmProxyRequested =
348
- hosted.cursorScmProxy === true || hosted.cursorGithubProxy === true;
355
+ const scmProxyRequested = hosted.cursorScmProxy === true;
349
356
  const runSchedules = options.schedules ?? !dev;
350
357
  const runReminders = options.reminders ?? !dev;
351
358
 
@@ -355,7 +362,7 @@ export async function startServer(
355
362
  process.env.CURSOR_AGENTKIT_VERSION ??= packageVersion();
356
363
 
357
364
  const authoredOtel = pickAuthoredOtel(
358
- mounts.map((m) => ({
365
+ mounts.map(m => ({
359
366
  slug: m.slug,
360
367
  name: m.project.name,
361
368
  otel: m.project.otel,
@@ -419,8 +426,8 @@ export async function startServer(
419
426
  noControlPlane,
420
427
  config: effectiveCursorEvents,
421
428
  auth: cursorEventsAuth,
422
- v1Mounts: mounts.filter((mount) => !isV2Project(mount.project)),
423
- v2Mounts: mounts.filter((mount) => isV2Project(mount.project)),
429
+ v1Mounts: mounts.filter(mount => !isV2Project(mount.project)),
430
+ v2Mounts: mounts.filter(mount => isV2Project(mount.project)),
424
431
  githubRepos: cursorGithubConfig.cursorEvents?.repos ?? [],
425
432
  originRepos: cursorOriginScope?.repos ?? [],
426
433
  });
@@ -700,7 +707,7 @@ export async function startServer(
700
707
  await flushLocalStartLog({ store: startLogStore, startLogId });
701
708
  };
702
709
  if (sessionRunLog !== undefined) {
703
- registerSessionRunFatalFlush(async (error) => {
710
+ registerSessionRunFatalFlush(async error => {
704
711
  await flushHostedExecutionProcessDeath({
705
712
  flushProcessDeath: (reason, flushError) =>
706
713
  sessionRunLog.flushProcessDeath(reason, flushError),
@@ -725,7 +732,7 @@ export async function startServer(
725
732
  // dispatching runner is only interposed when a mount needs it. An
726
733
  // injected test runner receives every turn, grokbot included.
727
734
  const hasGrokBotMounts = mounts.some(
728
- (mount) => mount.project.agent.runtime === "grokbot"
735
+ mount => mount.project.agent.runtime === "grokbot"
729
736
  );
730
737
  // Fail closed like cursor-account GitHub/MCP: grokbot turns execute on the
731
738
  // signed-in account's hosted computer, so anonymous admission needs its
@@ -874,10 +881,10 @@ export async function startServer(
874
881
  const localControlPlane = noControlPlane
875
882
  ? undefined
876
883
  : await createLocalControlPlane({
877
- fireSchedule: (name) => scheduleRunner.dispatch(name),
884
+ fireSchedule: name => scheduleRunner.dispatch(name),
878
885
  ...(useReminderCpProtocol
879
886
  ? {
880
- executeReminder: (descriptor) =>
887
+ executeReminder: descriptor =>
881
888
  reminderRunner.executeFire(descriptor),
882
889
  }
883
890
  : {
@@ -921,21 +928,21 @@ export async function startServer(
921
928
  // boot and makes /v1/dev/evals complete from the first request).
922
929
  await evalRuns.hydrate();
923
930
  engine.setReminders({
924
- create: (input) => reminderRunner.create(input),
925
- list: (filter) => reminderRunner.list(filter),
931
+ create: input => reminderRunner.create(input),
932
+ list: filter => reminderRunner.list(filter),
926
933
  cancel: (id, reason) => reminderRunner.cancel(id, reason),
927
934
  cancelForContinuation: (token, reason) =>
928
935
  reminderRunner.cancelForContinuation(token, reason),
929
936
  rekeyContinuation: (channelId, oldToken, newToken) =>
930
937
  reminderRunner.rekeyContinuation(channelId, oldToken, newToken),
931
- dispatch: (id) => reminderRunner.dispatch(id),
938
+ dispatch: id => reminderRunner.dispatch(id),
932
939
  });
933
940
  engine.setEvals({
934
941
  list: () => evalRuns.list(),
935
- get: (runId) => evalRuns.get(runId),
942
+ get: runId => evalRuns.get(runId),
936
943
  listRunsWithActive: () => evalRuns.listRunsWithActive(),
937
- start: (input) => evalRuns.start(input),
938
- cancel: (runId) => evalRuns.cancel(runId),
944
+ start: input => evalRuns.start(input),
945
+ cancel: runId => evalRuns.cancel(runId),
939
946
  });
940
947
  const runtime: MountedRuntime = {
941
948
  slug,
@@ -987,7 +994,7 @@ export async function startServer(
987
994
  send: (message, sendOptions) =>
988
995
  engine.send(channel.id, message, sendOptions),
989
996
  architecture: project.agent.architecture,
990
- getSession: (sessionId) =>
997
+ getSession: sessionId =>
991
998
  engine.getChannelSession(channel.id, sessionId),
992
999
  receive: (target, input) => engine.receive(target, input),
993
1000
  callTool: (toolName, input, callOptions) =>
@@ -995,23 +1002,23 @@ export async function startServer(
995
1002
  emitAssistantMessage: (sessionId, text) =>
996
1003
  engine.emitAssistantMessage(sessionId, text),
997
1004
  host: engine.host,
998
- waitUntil: (promise) => {
1005
+ waitUntil: promise => {
999
1006
  engine.trackBackground(promise);
1000
1007
  },
1001
1008
  resolveApproval: (sessionId, callId, decision, auth) =>
1002
1009
  engine.resolveApproval(sessionId, callId, decision, auth),
1003
1010
  resolveAuth: (sessionId, callId, decision, auth) =>
1004
1011
  engine.resolveAuth(sessionId, callId, decision, auth),
1005
- hasContinuationSession: (continuationToken) =>
1012
+ hasContinuationSession: continuationToken =>
1006
1013
  engine.hasContinuationSession(channel.id, continuationToken),
1007
- isContinuationBusy: (continuationToken) =>
1014
+ isContinuationBusy: continuationToken =>
1008
1015
  engine.isContinuationBusy(channel.id, continuationToken),
1009
- getContinuationLastBotMessageTs: (continuationToken) =>
1016
+ getContinuationLastBotMessageTs: continuationToken =>
1010
1017
  engine.getContinuationLastBotMessageTs(
1011
1018
  channel.id,
1012
1019
  continuationToken
1013
1020
  ),
1014
- interruptContinuation: (continuationToken) =>
1021
+ interruptContinuation: continuationToken =>
1015
1022
  engine.interruptContinuation(channel.id, continuationToken),
1016
1023
  logger,
1017
1024
  artifacts: engine.artifacts,
@@ -1075,7 +1082,7 @@ export async function startServer(
1075
1082
  slug,
1076
1083
  name: project.name,
1077
1084
  })),
1078
- ...memoryHealthFields(runtimes.map((runtime) => runtime.engine)),
1085
+ ...memoryHealthFields(runtimes.map(runtime => runtime.engine)),
1079
1086
  }),
1080
1087
  });
1081
1088
  }
@@ -1114,34 +1121,32 @@ export async function startServer(
1114
1121
  // to run via their onPullRequest / onComment / … hooks.
1115
1122
  const collectGitHubTargetsFrom = (selected: readonly MountedRuntime[]) =>
1116
1123
  collectGitHubTriggerTargets({
1117
- mounts: selected.map((runtime) => ({
1124
+ mounts: selected.map(runtime => ({
1118
1125
  slug: runtime.slug,
1119
1126
  channels: runtime.project.channels,
1120
- buildHandlerArgs: (channelId) =>
1127
+ buildHandlerArgs: channelId =>
1121
1128
  buildChannelHandlerArgs({ runtime, channelId }),
1122
1129
  })),
1123
1130
  });
1124
1131
  const collectOriginTargetsFrom = (selected: readonly MountedRuntime[]) =>
1125
1132
  collectOriginTriggerTargets({
1126
- mounts: selected.map((runtime) => ({
1133
+ mounts: selected.map(runtime => ({
1127
1134
  slug: runtime.slug,
1128
1135
  channels: runtime.project.channels,
1129
- buildHandlerArgs: (channelId) =>
1136
+ buildHandlerArgs: channelId =>
1130
1137
  buildChannelHandlerArgs({ runtime, channelId }),
1131
1138
  })),
1132
1139
  });
1133
1140
  const collectGitHubTargets = () => collectGitHubTargetsFrom(runtimes);
1134
- const v1Runtimes = runtimes.filter(
1135
- (runtime) => !isV2Project(runtime.project)
1136
- );
1137
- const v2Runtimes = runtimes.filter((runtime) => isV2Project(runtime.project));
1138
- const v1Mounts = mounts.filter((mount) => !isV2Project(mount.project));
1139
- const v2Mounts = mounts.filter((mount) => isV2Project(mount.project));
1141
+ const v1Runtimes = runtimes.filter(runtime => !isV2Project(runtime.project));
1142
+ const v2Runtimes = runtimes.filter(runtime => isV2Project(runtime.project));
1143
+ const v1Mounts = mounts.filter(mount => !isV2Project(mount.project));
1144
+ const v2Mounts = mounts.filter(mount => isV2Project(mount.project));
1140
1145
  router.add({
1141
1146
  method: "POST",
1142
1147
  pattern: "/v1/webhooks/github",
1143
1148
  auth: [localDevStrict()],
1144
- handler: async (request) => {
1149
+ handler: async request => {
1145
1150
  const bodyText = await request.text();
1146
1151
  const routeContinuation = localControlPlaneRoute(runtimes);
1147
1152
  const result = await handleAgentServeTrigger({
@@ -1285,8 +1290,8 @@ export async function startServer(
1285
1290
  );
1286
1291
  if (accountBridge !== undefined && accountRefs !== undefined) {
1287
1292
  const bridge = accountBridge;
1288
- runtime.engine.setCursorAccountAuthProbe(async (connection) => {
1289
- const ref = accountRefs.find((entry) => entry.name === connection);
1293
+ runtime.engine.setCursorAccountAuthProbe(async connection => {
1294
+ const ref = accountRefs.find(entry => entry.name === connection);
1290
1295
  if (ref === undefined) {
1291
1296
  return undefined;
1292
1297
  }
@@ -1294,7 +1299,7 @@ export async function startServer(
1294
1299
  });
1295
1300
  }
1296
1301
  const hasServerTools = runtime.project.agent.tools.some(
1297
- (tool) => tool.execution === "server"
1302
+ tool => tool.execution === "server"
1298
1303
  );
1299
1304
  // Host-bridged connections ride the same endpoint as server tools, so
1300
1305
  // the cloud tools connection is set whenever either needs it.
@@ -1352,7 +1357,7 @@ export async function startServer(
1352
1357
  runtime.evalRuns.loopbackUrl =
1353
1358
  runtime.slug === "" ? url : `${url}/${runtime.slug}`;
1354
1359
  }
1355
- const runtimeBySlug = new Map(runtimes.map((r) => [r.slug, r]));
1360
+ const runtimeBySlug = new Map(runtimes.map(r => [r.slug, r]));
1356
1361
 
1357
1362
  // --dev: spawn Vite HMR. Single-agent infers the slug base; multi-agent
1358
1363
  // serves `/<slug>/playground` on the HMR origin (optional AGENT_SERVE_BASE
@@ -1424,8 +1429,7 @@ export async function startServer(
1424
1429
  close: async () => {
1425
1430
  if (sessionRunLog !== undefined) {
1426
1431
  await flushHostedExecutionProcessDeath({
1427
- flushProcessDeath: (reason) =>
1428
- sessionRunLog.flushProcessDeath(reason),
1432
+ flushProcessDeath: reason => sessionRunLog.flushProcessDeath(reason),
1429
1433
  flushStartLog,
1430
1434
  startLogId: lastStartLogId,
1431
1435
  reason: "process_exit",
@@ -1460,7 +1464,7 @@ export async function startServer(
1460
1464
  server.close();
1461
1465
  server.closeAllConnections();
1462
1466
  try {
1463
- await Promise.all(runtimes.map((runtime) => runtime.engine.close()));
1467
+ await Promise.all(runtimes.map(runtime => runtime.engine.close()));
1464
1468
  } finally {
1465
1469
  cursorGithubCredentials?.stop();
1466
1470
  await shutdownOtelRuntime(otelRuntime);
@@ -1532,7 +1536,7 @@ function mountAgentRoutes(
1532
1536
  // loopback-only + per-boot bearer secret, never on the public auth chain.
1533
1537
  if (args.accountBridge !== undefined && args.accountRefs !== undefined) {
1534
1538
  const bridge = args.accountBridge;
1535
- const refByName = new Map(args.accountRefs.map((ref) => [ref.name, ref]));
1539
+ const refByName = new Map(args.accountRefs.map(ref => [ref.name, ref]));
1536
1540
  router.add({
1537
1541
  method: "POST",
1538
1542
  pattern: `${base}${cursorAccountMcpPath(":connection")}`,
@@ -1546,7 +1550,7 @@ function mountAgentRoutes(
1546
1550
  `No Cursor account MCP connection named "${ctx.params.connection ?? ""}" on this agent.`
1547
1551
  );
1548
1552
  }
1549
- return bridge.handle(request, ref);
1553
+ return bridge.handle(request, ref, appendSlackQuietHint);
1550
1554
  },
1551
1555
  });
1552
1556
  }
@@ -1559,7 +1563,7 @@ function mountAgentRoutes(
1559
1563
  const httpAuth = project.httpChannel.auth ?? defaultAuth;
1560
1564
  // Temporal posts this marker on a direct pod port-token fetch. The alias
1561
1565
  // proxy strips it, so webhook/playground tokens cannot present it.
1562
- const platformTimerFireAuth: AuthPolicy = (request) => {
1566
+ const platformTimerFireAuth: AuthPolicy = request => {
1563
1567
  if (request.headers.get("x-agent-serve-timed-work") === "1") {
1564
1568
  return {
1565
1569
  authenticator: "app",
@@ -1569,7 +1573,15 @@ function mountAgentRoutes(
1569
1573
  }
1570
1574
  return null;
1571
1575
  };
1572
- if (noControlPlane === true && isV2Project(project)) {
1576
+ // A v2 mount served under `--no-control-plane` is a hosted v2 guest: the
1577
+ // hosted control plane drives it through the hosted delivery route below.
1578
+ // Session HTTP is a control-plane surface, so such a guest mounts no
1579
+ // `/v1/session*` or `/v1/sessions` routes — session starts arrive as hosted
1580
+ // admissions (`agentsdk.session` on the built-in http channel) and session
1581
+ // reads come from the control plane's runs surface and durable storage.
1582
+ // Local dev, self-hosted serve, and hosted v1 keep the engine mounts.
1583
+ const hostedV2Guest = noControlPlane === true && isV2Project(project);
1584
+ if (hostedV2Guest) {
1573
1585
  registerHostedDeliveryRoute({
1574
1586
  router,
1575
1587
  base,
@@ -1587,7 +1599,7 @@ function mountAgentRoutes(
1587
1599
  }),
1588
1600
  fireReminder: (reminderId, fireCount) =>
1589
1601
  reminderRunner.dispatch(reminderId, { expectedFireCount: fireCount }),
1590
- executeReminderDescriptor: async (descriptor) => {
1602
+ executeReminderDescriptor: async descriptor => {
1591
1603
  if (reminderControlPlane === undefined) {
1592
1604
  throw new Error("hosted reminder CP client is not configured");
1593
1605
  }
@@ -1614,7 +1626,7 @@ function mountAgentRoutes(
1614
1626
  outcome: "fired" as const,
1615
1627
  };
1616
1628
  },
1617
- drainSessionDurability: (sessionId) =>
1629
+ drainSessionDurability: sessionId =>
1618
1630
  engine.drainSessionDurability(sessionId),
1619
1631
  flushOtel: args.flushOtel,
1620
1632
  ...(args.diagStateRoot === undefined
@@ -1623,7 +1635,7 @@ function mountAgentRoutes(
1623
1635
  ...(sessionRunLog === undefined
1624
1636
  ? {}
1625
1637
  : {
1626
- persistSessionRun: async (document) => {
1638
+ persistSessionRun: async document => {
1627
1639
  await sessionRunLog.persist(document);
1628
1640
  },
1629
1641
  flushStartLog,
@@ -1651,7 +1663,7 @@ function mountAgentRoutes(
1651
1663
  method: "GET",
1652
1664
  pattern: `${base}${mcpOauthServeCallbackPath()}`,
1653
1665
  auth: "none",
1654
- handler: (request) => engine.oauthCallbackHub.handleCallback(request),
1666
+ handler: request => engine.oauthCallbackHub.handleCallback(request),
1655
1667
  });
1656
1668
 
1657
1669
  router.add({
@@ -1729,7 +1741,7 @@ function mountAgentRoutes(
1729
1741
  method: "GET",
1730
1742
  pattern: `${base}/v1/logs`,
1731
1743
  auth: httpAuth,
1732
- handler: (request) => {
1744
+ handler: request => {
1733
1745
  const url = new URL(request.url);
1734
1746
  const afterRaw = url.searchParams.get("after");
1735
1747
  const after =
@@ -1748,34 +1760,38 @@ function mountAgentRoutes(
1748
1760
  },
1749
1761
  });
1750
1762
 
1751
- router.add({
1752
- method: "GET",
1753
- pattern: `${base}/v1/sessions`,
1754
- auth: httpAuth,
1755
- handler: async (request, ctx) => {
1756
- // Same gate as requireSessionOwner / relaxSessionReadAuth: never with
1757
- // bearer or custom channel auth (strict per-principal isolation).
1758
- // `--allow-anonymous` alone is a shared-principal trust boundary (corp
1759
- // Okta ALB); `--dev` alone stays loopback-only.
1760
- const includeAll =
1761
- relaxSessionReadAuth &&
1762
- (relaxSessionReadAuthBeyondLoopback ||
1763
- (typeof ctx.requestIp === "string" &&
1764
- isLoopbackAddress(ctx.requestIp)));
1765
- // `?latest=1` — only the newest visible session. Clients binding a
1766
- // default session (agsh) do not need the whole list, and on hosted
1767
- // storage the whole list is a database scan.
1768
- const latest = new URL(request.url).searchParams.get("latest");
1769
- const listed =
1770
- latest === "1" || latest === "true"
1771
- ? await engine.latestSessionWithSource(ctx.auth, { includeAll })
1772
- : await engine.listSessionsWithSource(ctx.auth, { includeAll });
1773
- return jsonResponse({
1774
- sessions: listed.sessions,
1775
- source: listed.source,
1776
- });
1777
- },
1778
- });
1763
+ // Session list is session surface: not mounted on a hosted v2 guest (the
1764
+ // control plane owns session reads there; see hostedV2Guest above).
1765
+ if (!hostedV2Guest) {
1766
+ router.add({
1767
+ method: "GET",
1768
+ pattern: `${base}/v1/sessions`,
1769
+ auth: httpAuth,
1770
+ handler: async (request, ctx) => {
1771
+ // Same gate as requireSessionOwner / relaxSessionReadAuth: never with
1772
+ // bearer or custom channel auth (strict per-principal isolation).
1773
+ // `--allow-anonymous` alone is a shared-principal trust boundary (corp
1774
+ // Okta ALB); `--dev` alone stays loopback-only.
1775
+ const includeAll =
1776
+ relaxSessionReadAuth &&
1777
+ (relaxSessionReadAuthBeyondLoopback ||
1778
+ (typeof ctx.requestIp === "string" &&
1779
+ isLoopbackAddress(ctx.requestIp)));
1780
+ // `?latest=1` only the newest visible session. Clients binding a
1781
+ // default session (agsh) do not need the whole list, and on hosted
1782
+ // storage the whole list is a database scan.
1783
+ const latest = new URL(request.url).searchParams.get("latest");
1784
+ const listed =
1785
+ latest === "1" || latest === "true"
1786
+ ? await engine.latestSessionWithSource(ctx.auth, { includeAll })
1787
+ : await engine.listSessionsWithSource(ctx.auth, { includeAll });
1788
+ return jsonResponse({
1789
+ sessions: listed.sessions,
1790
+ source: listed.source,
1791
+ });
1792
+ },
1793
+ });
1794
+ }
1779
1795
 
1780
1796
  // Durable artifacts (ctx.artifacts / tag_artifact), newest-updated first.
1781
1797
  router.add({
@@ -2085,6 +2101,45 @@ function mountAgentRoutes(
2085
2101
  },
2086
2102
  });
2087
2103
 
2104
+ // Deterministic skill reads: the body the harness would receive, plus
2105
+ // resolved sibling files. Read-only, so plain GETs with no session binding.
2106
+ router.add({
2107
+ method: "GET",
2108
+ pattern: `${base}/v1/skills`,
2109
+ auth: httpAuth,
2110
+ handler: async () =>
2111
+ jsonResponse({
2112
+ skills: project.agent.skills.map(skillListEntry),
2113
+ }),
2114
+ });
2115
+
2116
+ router.add({
2117
+ method: "GET",
2118
+ pattern: `${base}/v1/skills/:skillName`,
2119
+ auth: httpAuth,
2120
+ handler: async (_request, ctx) => {
2121
+ const skillName = ctx.params.skillName ?? "";
2122
+ try {
2123
+ return jsonResponse(
2124
+ await readSkillDetail(project.agent.skills, skillName)
2125
+ );
2126
+ } catch (error) {
2127
+ if (error instanceof UnknownSkillError) {
2128
+ return jsonResponse(
2129
+ {
2130
+ ok: false,
2131
+ error: "unknown_skill",
2132
+ message: error.message,
2133
+ availableSkills: error.availableSkillNames,
2134
+ },
2135
+ { status: 404 }
2136
+ );
2137
+ }
2138
+ throw error;
2139
+ }
2140
+ },
2141
+ });
2142
+
2088
2143
  if (playground) {
2089
2144
  // Serve the built Vite SPA. `<base href>` is injected so the SPA's relative
2090
2145
  // asset URLs resolve under this mount regardless of the trailing slash the
@@ -2108,18 +2163,25 @@ function mountAgentRoutes(
2108
2163
  });
2109
2164
  }
2110
2165
 
2111
- for (const route of buildHttpChannelRoutes({
2112
- engine,
2113
- config: project.httpChannel,
2114
- auth: httpAuth,
2115
- basePath: base,
2116
- // Dev playground lists every session (`includeAll`); allow opening them
2117
- // (see relaxSessionReadAuth above).
2118
- relaxSessionReadAuth,
2119
- relaxSessionReadAuthBeyondLoopback,
2120
- relaxSessionApprovalAuth,
2121
- })) {
2122
- router.add(route);
2166
+ // The built-in HTTP session channel (`/v1/session*`, including the
2167
+ // session-scoped approvals/auths routes) is session surface: not mounted on
2168
+ // a hosted v2 guest (see hostedV2Guest above). The `http` channel itself
2169
+ // stays registered with the hosted delivery route, which is how the control
2170
+ // plane's session starts reach it.
2171
+ if (!hostedV2Guest) {
2172
+ for (const route of buildHttpChannelRoutes({
2173
+ engine,
2174
+ config: project.httpChannel,
2175
+ auth: httpAuth,
2176
+ basePath: base,
2177
+ // Dev playground lists every session (`includeAll`); allow opening them
2178
+ // (see relaxSessionReadAuth above).
2179
+ relaxSessionReadAuth,
2180
+ relaxSessionReadAuthBeyondLoopback,
2181
+ relaxSessionApprovalAuth,
2182
+ })) {
2183
+ router.add(route);
2184
+ }
2123
2185
  }
2124
2186
 
2125
2187
  // Playground eval list/run — available without `--dev` (corp / allow-anonymous).
@@ -2142,7 +2204,7 @@ function mountAgentRoutes(
2142
2204
  method: "POST",
2143
2205
  pattern: `${base}/v1/dev/evals/runs`,
2144
2206
  auth: httpAuth,
2145
- handler: async (request) => {
2207
+ handler: async request => {
2146
2208
  const body = await readJsonObject(request);
2147
2209
  const filterIds = asStringArray(body?.filterIds);
2148
2210
  const tags = asStringArray(body?.tags);
@@ -2340,9 +2402,9 @@ function mountAgentRoutes(
2340
2402
  const reminderId = ctx.params.reminderId ?? "";
2341
2403
  try {
2342
2404
  const listed = await reminderRunner.list();
2343
- const reminder = listed.find((r) => r.id === reminderId);
2405
+ const reminder = listed.find(r => r.id === reminderId);
2344
2406
  if (reminder === undefined) {
2345
- const ids = listed.map((r) => r.id);
2407
+ const ids = listed.map(r => r.id);
2346
2408
  throw new UnknownReminderError(reminderId, ids);
2347
2409
  }
2348
2410
  const ownership = await assertReminderReadable({
@@ -2476,17 +2538,17 @@ function collectCursorEventSubscriptions(input: {
2476
2538
  const githubTargets = findGitHubChannelTargets(input.mounts);
2477
2539
  const originTargets = findOriginChannelTargets(input.mounts);
2478
2540
  const githubEvents = [
2479
- ...new Set(githubTargets.flatMap((target) => target.events)),
2541
+ ...new Set(githubTargets.flatMap(target => target.events)),
2480
2542
  ];
2481
2543
  const originEvents = [
2482
- ...new Set(originTargets.flatMap((target) => target.events)),
2544
+ ...new Set(originTargets.flatMap(target => target.events)),
2483
2545
  ];
2484
2546
  const githubRepos = [
2485
- ...new Set(input.githubRepos.map((repo) => repo.trim().toLowerCase())),
2486
- ].filter((repo) => repo.length > 0);
2547
+ ...new Set(input.githubRepos.map(repo => repo.trim().toLowerCase())),
2548
+ ].filter(repo => repo.length > 0);
2487
2549
  const originRepos = [
2488
- ...new Set(input.originRepos.map((repo) => repo.trim().toLowerCase())),
2489
- ].filter((repo) => repo.length > 0);
2550
+ ...new Set(input.originRepos.map(repo => repo.trim().toLowerCase())),
2551
+ ].filter(repo => repo.length > 0);
2490
2552
 
2491
2553
  const subscriptions: CursorScmSubscription[] = [];
2492
2554
  if (githubEvents.length > 0 && githubRepos.length > 0) {
@@ -2586,8 +2648,8 @@ function startCursorEventRelay(input: {
2586
2648
  } else if (input.lane === "control-plane") {
2587
2649
  return undefined;
2588
2650
  } else if (
2589
- input.githubRepos.every((repo) => repo.trim() === "") &&
2590
- input.originRepos.every((repo) => repo.trim() === "")
2651
+ input.githubRepos.every(repo => repo.trim() === "") &&
2652
+ input.originRepos.every(repo => repo.trim() === "")
2591
2653
  ) {
2592
2654
  logger(
2593
2655
  "[agent-sdk] cursor-events: no repos configured (pass --repo owner/name); relay disabled"
@@ -2608,9 +2670,9 @@ function startCursorEventRelay(input: {
2608
2670
  subscriptions,
2609
2671
  stateDir: join(baseStateRoot, input.stateDirName ?? "cursor-events"),
2610
2672
  logger,
2611
- dispatch: async (event) => {
2673
+ dispatch: async event => {
2612
2674
  if (event.provider === "origin") {
2613
- const targets = input.collectOriginTargets().filter((target) => {
2675
+ const targets = input.collectOriginTargets().filter(target => {
2614
2676
  const cursorAccount = target.options.cursorAccount;
2615
2677
  if (
2616
2678
  input.cursorAccountOnly &&
@@ -2622,7 +2684,7 @@ function startCursorEventRelay(input: {
2622
2684
  return typeof cursorAccount !== "object"
2623
2685
  ? true
2624
2686
  : cursorAccount.repos.some(
2625
- (repo) => repo.toLowerCase() === event.repo.toLowerCase()
2687
+ repo => repo.toLowerCase() === event.repo.toLowerCase()
2626
2688
  );
2627
2689
  });
2628
2690
  const result = await handleAgentServeTrigger({
@@ -2637,7 +2699,7 @@ function startCursorEventRelay(input: {
2637
2699
  return;
2638
2700
  }
2639
2701
  if (event.provider !== "github") return;
2640
- const targets = input.collectGitHubTargets().filter((target) => {
2702
+ const targets = input.collectGitHubTargets().filter(target => {
2641
2703
  const cursorAccount = target.options.cursorAccount;
2642
2704
  if (
2643
2705
  input.cursorAccountOnly &&
@@ -2649,7 +2711,7 @@ function startCursorEventRelay(input: {
2649
2711
  return typeof cursorAccount !== "object"
2650
2712
  ? true
2651
2713
  : cursorAccount.repos.some(
2652
- (repo) => repo.toLowerCase() === event.repo.toLowerCase()
2714
+ repo => repo.toLowerCase() === event.repo.toLowerCase()
2653
2715
  );
2654
2716
  });
2655
2717
  const result = await handleAgentServeTrigger({
@@ -2681,9 +2743,9 @@ function logCursorScmDispatch(
2681
2743
  result: Awaited<ReturnType<typeof handleAgentServeTrigger>>
2682
2744
  ): void {
2683
2745
  const outcomes = result.targets
2684
- .map((target) => formatCursorScmDispatchOutcome(target))
2746
+ .map(target => formatCursorScmDispatchOutcome(target))
2685
2747
  .join(", ");
2686
- const rejected = result.targets.filter((target) => target.status >= 400);
2748
+ const rejected = result.targets.filter(target => target.status >= 400);
2687
2749
  if (rejected.length > 0) {
2688
2750
  logger(
2689
2751
  `[agent-sdk] cursor-events: dropped ${formatCursorScmEventLog(event)} before hook: ${rejected.map(formatCursorScmDispatchOutcome).join(", ")}`
@@ -2751,7 +2813,7 @@ function resolveCursorGithubEventConfig(input: {
2751
2813
  }
2752
2814
  const repos = [
2753
2815
  ...(input.configured?.repos ?? []),
2754
- ...input.targets.flatMap((target) => [
2816
+ ...input.targets.flatMap(target => [
2755
2817
  ...(target.accountRuntime.scope?.repos ?? []),
2756
2818
  ]),
2757
2819
  ];
@@ -2813,12 +2875,12 @@ function resolveCursorOriginRepoScope(input: {
2813
2875
  return undefined;
2814
2876
  }
2815
2877
  const wantsHostRepos = input.targets.some(
2816
- (target) => target.accountRuntime.options.cursorAccount === true
2878
+ target => target.accountRuntime.options.cursorAccount === true
2817
2879
  );
2818
2880
  const repos = [
2819
2881
  ...(wantsHostRepos ? input.explicitRepos : []),
2820
2882
  ...input.targets.flatMap(
2821
- (target) => target.accountRuntime.scope?.repos ?? []
2883
+ target => target.accountRuntime.scope?.repos ?? []
2822
2884
  ),
2823
2885
  ];
2824
2886
  if (repos.length === 0) {
@@ -2830,7 +2892,7 @@ function resolveCursorOriginRepoScope(input: {
2830
2892
  function buildAgentIndexEntries(runtimes: MountedRuntime[]): AgentIndexEntry[] {
2831
2893
  return runtimes.map(({ slug, project }) => {
2832
2894
  const hasSlack = project.channels.some(
2833
- (channel) => channel.definition.meta?.kind === "slack"
2895
+ channel => channel.definition.meta?.kind === "slack"
2834
2896
  );
2835
2897
  return {
2836
2898
  slug,
@@ -2877,7 +2939,7 @@ function liveDeploymentSubscriptionUnion(
2877
2939
  targets: readonly CursorDeploymentTarget[]
2878
2940
  ): ResolvedSubscription[] {
2879
2941
  return mergeResolvedSubscriptions(
2880
- targets.map((target) => resolveDeploymentSubscriptions(target.options))
2942
+ targets.map(target => resolveDeploymentSubscriptions(target.options))
2881
2943
  );
2882
2944
  }
2883
2945
 
@@ -2918,7 +2980,7 @@ function startCursorDeploymentRelay(input: {
2918
2980
  logger(
2919
2981
  `[agent-sdk] deployment-events: no deploy sources yet on ${targets
2920
2982
  .map(
2921
- (target) =>
2983
+ target =>
2922
2984
  `${target.runtime.slug || target.runtime.project.name}/${target.channelId}`
2923
2985
  )
2924
2986
  .join(", ")}; the relay will register when a channel lists some`
@@ -2935,14 +2997,14 @@ function startCursorDeploymentRelay(input: {
2935
2997
  stateDir: join(baseStateRoot, "deployment-events"),
2936
2998
  subscriptions: () => liveDeploymentSubscriptionUnion(targets),
2937
2999
  logger,
2938
- dispatch: async (event) =>
3000
+ dispatch: async event =>
2939
3001
  fanOutDeploymentEvent({
2940
3002
  event,
2941
3003
  logger,
2942
- targets: targets.map((target) => ({
3004
+ targets: targets.map(target => ({
2943
3005
  name: `${target.runtime.slug || target.runtime.project.name}/${target.channelId}`,
2944
3006
  subscriptions: resolveDeploymentSubscriptions(target.options),
2945
- deliver: (delivered) =>
3007
+ deliver: delivered =>
2946
3008
  dispatchDeploymentEvent({
2947
3009
  options: target.options,
2948
3010
  event: delivered,
@@ -2984,17 +3046,28 @@ function buildChannelHandlerArgs(input: {
2984
3046
  auth: sendOptions.auth !== undefined ? sendOptions.auth : auth,
2985
3047
  hostedSessionId: input.hostedSessionId,
2986
3048
  }),
2987
- getSession: (sessionId) =>
3049
+ getSession: sessionId =>
2988
3050
  runtime.engine.getChannelSession(channelId, sessionId),
2989
3051
  receive: (target, inputReceive) =>
2990
3052
  runtime.engine.receive(target, inputReceive),
2991
3053
  callTool: (toolName, toolInput, callOptions) =>
2992
3054
  runtime.engine.callTool(toolName, toolInput, callOptions),
2993
- waitUntil: (promise) => {
3055
+ waitUntil: promise => {
2994
3056
  runtime.engine.trackBackground(promise);
2995
3057
  },
2996
3058
  sessionUrls: (req, sessionId) =>
2997
3059
  sessionUrlsForRequest(req, base, sessionId),
3060
+ hasContinuationSession: continuationToken =>
3061
+ runtime.engine.hasContinuationSession(channelId, continuationToken),
3062
+ isContinuationBusy: continuationToken =>
3063
+ runtime.engine.isContinuationBusy(channelId, continuationToken),
3064
+ getContinuationLastBotMessageTs: continuationToken =>
3065
+ runtime.engine.getContinuationLastBotMessageTs(
3066
+ channelId,
3067
+ continuationToken
3068
+ ),
3069
+ interruptContinuation: continuationToken =>
3070
+ runtime.engine.interruptContinuation(channelId, continuationToken),
2998
3071
  };
2999
3072
  }
3000
3073
 
@@ -3120,22 +3193,10 @@ async function resolveAuth(
3120
3193
 
3121
3194
  async function toFetchRequest(req: IncomingMessage): Promise<Request> {
3122
3195
  const method = req.method ?? "GET";
3123
- const hostHeader = req.headers.host ?? "127.0.0.1";
3196
+ const hostHeader = incomingRequestHost(req.headers);
3124
3197
  const url = new URL(req.url ?? "/", `http://${hostHeader}`);
3125
-
3126
- const headers = new Headers();
3127
- for (const [key, value] of Object.entries(req.headers)) {
3128
- if (value === undefined) {
3129
- continue;
3130
- }
3131
- if (Array.isArray(value)) {
3132
- for (const item of value) {
3133
- headers.append(key, item);
3134
- }
3135
- } else {
3136
- headers.set(key, value);
3137
- }
3138
- }
3198
+ // Drop HTTP/2 pseudo-headers (`:method`, …) — Fetch `Headers` rejects them.
3199
+ const headers = incomingHeadersToFetch(req.headers);
3139
3200
 
3140
3201
  if (method === "GET" || method === "HEAD") {
3141
3202
  return new Request(url, { method, headers });
@@ -3192,7 +3253,7 @@ async function writeFetchResponse(
3192
3253
 
3193
3254
  const reader = response.body.getReader();
3194
3255
  let clientGone = false;
3195
- const closed = new Promise<void>((resolve) => {
3256
+ const closed = new Promise<void>(resolve => {
3196
3257
  res.once("close", () => {
3197
3258
  if (!res.writableFinished) {
3198
3259
  clientGone = true;