@cursor/july 0.1.108 → 0.1.111

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 (1170) hide show
  1. package/AGENTS.md +3 -7
  2. package/README.md +3 -21
  3. package/dist/bin/agent-serve.js +81 -66
  4. package/dist/channels/bitbucket/api.d.ts +41 -0
  5. package/dist/channels/bitbucket/api.d.ts.map +1 -1
  6. package/dist/channels/bitbucket/api.js +266 -6
  7. package/dist/channels/bitbucket/binding.d.ts +4 -0
  8. package/dist/channels/bitbucket/binding.d.ts.map +1 -1
  9. package/dist/channels/bitbucket/binding.js +20 -4
  10. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  11. package/dist/channels/bitbucket/bitbucket-webhook.js +1 -1
  12. package/dist/channels/bitbucket/checks.d.ts.map +1 -1
  13. package/dist/channels/bitbucket/checks.js +1 -1
  14. package/dist/channels/bitbucket/cursor-account.js +1 -1
  15. package/dist/channels/bitbucket/events.js +1 -1
  16. package/dist/channels/bitbucket/index.d.ts +1 -1
  17. package/dist/channels/bitbucket/index.d.ts.map +1 -1
  18. package/dist/channels/bitbucket/index.js +1 -1
  19. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  20. package/dist/channels/checks.d.ts.map +1 -1
  21. package/dist/channels/checks.js +2 -2
  22. package/dist/channels/deployments/deployments-channel.js +1 -1
  23. package/dist/channels/github/cursor-account.js +3 -3
  24. package/dist/channels/github/defaults.d.ts.map +1 -1
  25. package/dist/channels/github/defaults.js +5 -3
  26. package/dist/channels/github/events.js +1 -1
  27. package/dist/channels/github/forward.js +8 -8
  28. package/dist/channels/github/github-channel.d.ts.map +1 -1
  29. package/dist/channels/github/github-channel.js +17 -13
  30. package/dist/channels/github/progress.d.ts.map +1 -1
  31. package/dist/channels/github/progress.js +7 -2
  32. package/dist/channels/github/state.d.ts +6 -0
  33. package/dist/channels/github/state.d.ts.map +1 -1
  34. package/dist/channels/github/types.d.ts +6 -0
  35. package/dist/channels/github/types.d.ts.map +1 -1
  36. package/dist/channels/gitlab/api.d.ts +27 -0
  37. package/dist/channels/gitlab/api.d.ts.map +1 -1
  38. package/dist/channels/gitlab/api.js +88 -0
  39. package/dist/channels/gitlab/binding.d.ts +5 -0
  40. package/dist/channels/gitlab/binding.d.ts.map +1 -1
  41. package/dist/channels/gitlab/binding.js +14 -4
  42. package/dist/channels/gitlab/checks.d.ts.map +1 -1
  43. package/dist/channels/gitlab/checks.js +1 -1
  44. package/dist/channels/gitlab/cursor-account.js +1 -1
  45. package/dist/channels/gitlab/events.js +1 -1
  46. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  47. package/dist/channels/gitlab/gitlab-webhook.js +1 -1
  48. package/dist/channels/gitlab/index.d.ts +1 -1
  49. package/dist/channels/gitlab/index.d.ts.map +1 -1
  50. package/dist/channels/gitlab/index.js +1 -1
  51. package/dist/channels/gitlab/replay.js +2 -2
  52. package/dist/channels/origin/binding.d.ts +2 -0
  53. package/dist/channels/origin/binding.d.ts.map +1 -1
  54. package/dist/channels/origin/binding.js +3 -3
  55. package/dist/channels/origin/checks.d.ts +19 -7
  56. package/dist/channels/origin/checks.d.ts.map +1 -1
  57. package/dist/channels/origin/checks.js +13 -9
  58. package/dist/channels/origin/cursor-account.js +1 -1
  59. package/dist/channels/origin/defaults.d.ts.map +1 -1
  60. package/dist/channels/origin/defaults.js +3 -1
  61. package/dist/channels/origin/events.js +1 -1
  62. package/dist/channels/origin/origin-channel.d.ts.map +1 -1
  63. package/dist/channels/origin/origin-channel.js +2 -1
  64. package/dist/channels/origin/origin-webhook.js +2 -2
  65. package/dist/channels/slack/agentic-delivery.d.ts +23 -0
  66. package/dist/channels/slack/agentic-delivery.d.ts.map +1 -0
  67. package/dist/channels/slack/agentic-delivery.js +558 -0
  68. package/dist/channels/slack/agentic-posted.d.ts +30 -0
  69. package/dist/channels/slack/agentic-posted.d.ts.map +1 -0
  70. package/dist/channels/slack/agentic-posted.js +102 -0
  71. package/dist/channels/slack/agentic-signals.d.ts +48 -0
  72. package/dist/channels/slack/agentic-signals.d.ts.map +1 -0
  73. package/dist/channels/slack/agentic-signals.js +204 -0
  74. package/dist/channels/slack/api.d.ts +20 -1
  75. package/dist/channels/slack/api.d.ts.map +1 -1
  76. package/dist/channels/slack/api.js +43 -11
  77. package/dist/channels/slack/approvals.js +1 -1
  78. package/dist/channels/slack/auth.d.ts.map +1 -1
  79. package/dist/channels/slack/auth.js +3 -1
  80. package/dist/channels/slack/blocks.js +3 -3
  81. package/dist/channels/slack/bot-mentions.d.ts.map +1 -1
  82. package/dist/channels/slack/bot-mentions.js +5 -5
  83. package/dist/channels/slack/channel-watch.js +1 -1
  84. package/dist/channels/slack/cli-project.js +3 -3
  85. package/dist/channels/slack/defaults.d.ts +3 -0
  86. package/dist/channels/slack/defaults.d.ts.map +1 -1
  87. package/dist/channels/slack/defaults.js +90 -29
  88. package/dist/channels/slack/dispatch.d.ts +44 -1
  89. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  90. package/dist/channels/slack/dispatch.js +233 -103
  91. package/dist/channels/slack/doctor.js +1 -1
  92. package/dist/channels/slack/eval-directive.js +1 -1
  93. package/dist/channels/slack/external-policy.d.ts +2 -1
  94. package/dist/channels/slack/external-policy.d.ts.map +1 -1
  95. package/dist/channels/slack/external-policy.js +13 -2
  96. package/dist/channels/slack/footer.d.ts +30 -0
  97. package/dist/channels/slack/footer.d.ts.map +1 -0
  98. package/dist/channels/slack/footer.js +88 -0
  99. package/dist/channels/slack/index.d.ts +2 -0
  100. package/dist/channels/slack/index.d.ts.map +1 -1
  101. package/dist/channels/slack/index.js +2 -0
  102. package/dist/channels/slack/interactive.d.ts.map +1 -1
  103. package/dist/channels/slack/interactive.js +5 -3
  104. package/dist/channels/slack/live-delivery.d.ts +1 -1
  105. package/dist/channels/slack/live-delivery.d.ts.map +1 -1
  106. package/dist/channels/slack/live-delivery.js +20 -6
  107. package/dist/channels/slack/log.d.ts.map +1 -1
  108. package/dist/channels/slack/log.js +1 -1
  109. package/dist/channels/slack/manifest.js +1 -1
  110. package/dist/channels/slack/nudge-carrier.js +1 -1
  111. package/dist/channels/slack/nudge-store.js +2 -2
  112. package/dist/channels/slack/paint-start.d.ts +22 -0
  113. package/dist/channels/slack/paint-start.d.ts.map +1 -0
  114. package/dist/channels/slack/paint-start.js +91 -0
  115. package/dist/channels/slack/placeholder.d.ts +36 -0
  116. package/dist/channels/slack/placeholder.d.ts.map +1 -0
  117. package/dist/channels/slack/placeholder.js +240 -0
  118. package/dist/channels/slack/progress-delivery.d.ts.map +1 -1
  119. package/dist/channels/slack/progress-delivery.js +13 -4
  120. package/dist/channels/slack/reasoning-chip.d.ts +8 -0
  121. package/dist/channels/slack/reasoning-chip.d.ts.map +1 -0
  122. package/dist/channels/slack/reasoning-chip.js +30 -0
  123. package/dist/channels/slack/recording-sink.d.ts +29 -0
  124. package/dist/channels/slack/recording-sink.d.ts.map +1 -0
  125. package/dist/channels/slack/recording-sink.js +142 -0
  126. package/dist/channels/slack/reply-options.d.ts +8 -1
  127. package/dist/channels/slack/reply-options.d.ts.map +1 -1
  128. package/dist/channels/slack/reply-options.js +59 -14
  129. package/dist/channels/slack/setup.js +1 -1
  130. package/dist/channels/slack/slack-channel.d.ts +12 -5
  131. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  132. package/dist/channels/slack/slack-channel.js +110 -24
  133. package/dist/channels/slack/socket-mode.js +2 -2
  134. package/dist/channels/slack/thread-context.js +5 -5
  135. package/dist/channels/slack/tool-approval-events.d.ts +5 -0
  136. package/dist/channels/slack/tool-approval-events.d.ts.map +1 -1
  137. package/dist/channels/slack/tool-approval-events.js +50 -38
  138. package/dist/channels/slack/tool-cards.js +1 -1
  139. package/dist/channels/slack/tool-chip.d.ts +9 -0
  140. package/dist/channels/slack/tool-chip.d.ts.map +1 -0
  141. package/dist/channels/slack/tool-chip.js +25 -0
  142. package/dist/channels/slack/types.d.ts +49 -7
  143. package/dist/channels/slack/types.d.ts.map +1 -1
  144. package/dist/channels/slack/upload.d.ts +13 -0
  145. package/dist/channels/slack/upload.d.ts.map +1 -0
  146. package/dist/channels/slack/upload.js +135 -0
  147. package/dist/channels.d.ts +10 -14
  148. package/dist/channels.d.ts.map +1 -1
  149. package/dist/channels.js +9 -21
  150. package/dist/dashboard-session-url.d.ts +15 -0
  151. package/dist/dashboard-session-url.d.ts.map +1 -0
  152. package/dist/dashboard-session-url.js +25 -0
  153. package/dist/docs/404.html +3 -3
  154. package/dist/docs/architecture.svg +59 -0
  155. package/dist/docs/assets/app.Drol6mi6.js +309 -0
  156. package/dist/docs/assets/{building-with-agents.md.CUSWxlP_.js → building-with-agents.md.CEGVXkmO.js} +2 -2
  157. package/dist/docs/assets/{building-with-agents.md.CUSWxlP_.lean.js → building-with-agents.md.CEGVXkmO.lean.js} +1 -1
  158. package/dist/docs/assets/chunks/@localSearchIndexroot.DtXk1hy-.js +1 -0
  159. package/dist/docs/assets/chunks/{VPLocalSearchBox.BOKxlYGP.js → VPLocalSearchBox.CdqoBZJX.js} +2 -2
  160. package/dist/docs/assets/chunks/arc.BVX3ycTn.js +1 -0
  161. package/dist/docs/assets/chunks/architectureDiagram-Q4EWVU46.CcChnMxX.js +36 -0
  162. package/dist/docs/assets/chunks/baseUniq.xwtXO-yt.js +1 -0
  163. package/dist/docs/assets/chunks/blockDiagram-DXYQGD6D.CijZ_taK.js +132 -0
  164. package/dist/docs/assets/chunks/c4Diagram-AHTNJAMY.0FBvwBvK.js +10 -0
  165. package/dist/docs/assets/chunks/channel.Bkv1N-gK.js +1 -0
  166. package/dist/docs/assets/chunks/chunk-4BX2VUAB.CELMmMDA.js +1 -0
  167. package/dist/docs/assets/chunks/chunk-4TB4RGXK.C4bhFtSm.js +206 -0
  168. package/dist/docs/assets/chunks/chunk-55IACEB6.ZnQ9gRRQ.js +1 -0
  169. package/dist/docs/assets/chunks/chunk-EDXVE4YY.DPlmglG-.js +1 -0
  170. package/dist/docs/assets/chunks/chunk-FMBD7UC4.BrUk8pff.js +15 -0
  171. package/dist/docs/assets/chunks/chunk-OYMX7WX6.CcmWIncu.js +231 -0
  172. package/dist/docs/assets/chunks/chunk-QZHKN3VN.D65-cs8I.js +1 -0
  173. package/dist/docs/assets/chunks/chunk-YZCP3GAM.qoXZpG9F.js +1 -0
  174. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CZDco1o8.js +1 -0
  175. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CZDco1o8.js +1 -0
  176. package/dist/docs/assets/chunks/clone.YSt_40_s.js +1 -0
  177. package/dist/docs/assets/chunks/cose-bilkent-S5V4N54A.8rYtqudO.js +1 -0
  178. package/dist/docs/assets/chunks/cytoscape.esm.BQk4lpUV.js +331 -0
  179. package/dist/docs/assets/chunks/dagre-KV5264BT.DrRP1fOh.js +4 -0
  180. package/dist/docs/assets/chunks/defaultLocale.C4B-KCzX.js +1 -0
  181. package/dist/docs/assets/chunks/diagram-5BDNPKRD.DHj_xA2_.js +10 -0
  182. package/dist/docs/assets/chunks/diagram-G4DWMVQ6.Bz_6nAKj.js +24 -0
  183. package/dist/docs/assets/chunks/diagram-MMDJMWI5.BWA0xSW9.js +43 -0
  184. package/dist/docs/assets/chunks/diagram-TYMM5635.CpTJLNJI.js +24 -0
  185. package/dist/docs/assets/chunks/erDiagram-SMLLAGMA.-7AWWSrP.js +85 -0
  186. package/dist/docs/assets/chunks/flowDiagram-DWJPFMVM.BTnQ742_.js +162 -0
  187. package/dist/docs/assets/chunks/framework.dypDpWZ3.js +19 -0
  188. package/dist/docs/assets/chunks/ganttDiagram-T4ZO3ILL.B5_HiiQ5.js +292 -0
  189. package/dist/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.CZcNTFZd.js +106 -0
  190. package/dist/docs/assets/chunks/graph.V2GLaab4.js +1 -0
  191. package/dist/docs/assets/chunks/infoDiagram-42DDH7IO.7pZOkCCU.js +2 -0
  192. package/dist/docs/assets/chunks/init.Gi6I4Gst.js +1 -0
  193. package/dist/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.DSMo3Qa3.js +70 -0
  194. package/dist/docs/assets/chunks/journeyDiagram-VCZTEJTY.BNEgWN1S.js +139 -0
  195. package/dist/docs/assets/chunks/kanban-definition-6JOO6SKY.B-4d4tC7.js +89 -0
  196. package/dist/docs/assets/chunks/katex.DkKDou_j.js +257 -0
  197. package/dist/docs/assets/chunks/layout.Dvbn9nSb.js +1 -0
  198. package/dist/docs/assets/chunks/linear.D2GM4p4b.js +1 -0
  199. package/dist/docs/assets/chunks/min.DVBtLK-B.js +1 -0
  200. package/dist/docs/assets/chunks/mindmap-definition-QFDTVHPH.CnJRI55x.js +96 -0
  201. package/dist/docs/assets/chunks/ordinal.DBvzRdQf.js +1 -0
  202. package/dist/docs/assets/chunks/pieDiagram-DEJITSTG.CtoaTFlA.js +30 -0
  203. package/dist/docs/assets/chunks/quadrantDiagram-34T5L4WZ.DtT24_vN.js +7 -0
  204. package/dist/docs/assets/chunks/requirementDiagram-MS252O5E.CjSO4o8f.js +84 -0
  205. package/dist/docs/assets/chunks/sankeyDiagram-XADWPNL6.-wWiIVWa.js +10 -0
  206. package/dist/docs/assets/chunks/sequenceDiagram-FGHM5R23.DSk8s4gX.js +157 -0
  207. package/dist/docs/assets/chunks/stateDiagram-FHFEXIEX.BFKAsdkN.js +1 -0
  208. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C4CLm481.js +1 -0
  209. package/dist/docs/assets/chunks/{theme.DbDZW-zb.js → theme.C0MctGaz.js} +2 -2
  210. package/dist/docs/assets/chunks/timeline-definition-GMOUNBTQ.TUNJbAFe.js +120 -0
  211. package/dist/docs/assets/chunks/vennDiagram-DHZGUBPP.C-RGNnk4.js +34 -0
  212. package/dist/docs/assets/chunks/virtual_mermaid-config.DDnGl6nM.js +1 -0
  213. package/dist/docs/assets/chunks/wardley-RL74JXVD.g5efOWmT.js +162 -0
  214. package/dist/docs/assets/chunks/wardleyDiagram-NUSXRM2D.DH4zt73Y.js +20 -0
  215. package/dist/docs/assets/chunks/xychartDiagram-5P7HB3ND.B-3k6bF6.js +7 -0
  216. package/dist/docs/assets/{deployment.md.JenwuCCB.js → deployment.md.Dm4Qo3hp.js} +5 -5
  217. package/dist/docs/assets/{deployment.md.JenwuCCB.lean.js → deployment.md.Dm4Qo3hp.lean.js} +1 -1
  218. package/dist/docs/assets/evals.md.BLDRt5LH.js +211 -0
  219. package/dist/docs/assets/evals.md.BLDRt5LH.lean.js +1 -0
  220. package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.js +14 -0
  221. package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.lean.js +1 -0
  222. package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.js +10 -0
  223. package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.lean.js +1 -0
  224. package/dist/docs/assets/{guides_cloud-agents.md.BsloyHdY.js → guides_cloud-agents.md.lSE_l7lH.js} +2 -2
  225. package/dist/docs/assets/{guides_cloud-agents.md.BsloyHdY.lean.js → guides_cloud-agents.md.lSE_l7lH.lean.js} +1 -1
  226. package/dist/docs/assets/{guides_convert-automation.md.B4sjlodG.js → guides_convert-automation.md.Ck6Cr68A.js} +1 -1
  227. package/dist/docs/assets/{guides_convert-automation.md.B4sjlodG.lean.js → guides_convert-automation.md.Ck6Cr68A.lean.js} +1 -1
  228. package/dist/docs/assets/{guides_github.md.BH33UEBJ.js → guides_github.md.D6ER29dG.js} +13 -3
  229. package/dist/docs/assets/{guides_github.md.BH33UEBJ.lean.js → guides_github.md.D6ER29dG.lean.js} +1 -1
  230. package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.js +14 -0
  231. package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.lean.js +1 -0
  232. package/dist/docs/assets/guides_grokbot-agents.md.WBZIOvkz.js +9 -0
  233. package/dist/docs/assets/{guides_grokbot-agents.md.DyV-WArv.lean.js → guides_grokbot-agents.md.WBZIOvkz.lean.js} +1 -1
  234. package/dist/docs/assets/{guides_improve.md.BGVk32bK.js → guides_improve.md.BKaDuKKK.js} +1 -1
  235. package/dist/docs/assets/{guides_improve.md.BGVk32bK.lean.js → guides_improve.md.BKaDuKKK.lean.js} +1 -1
  236. package/dist/docs/assets/{guides_mcp-oauth.md.Dp6cDP7f.js → guides_mcp-oauth.md.DMNMpXtO.js} +1 -1
  237. package/dist/docs/assets/{guides_mcp-oauth.md.Dp6cDP7f.lean.js → guides_mcp-oauth.md.DMNMpXtO.lean.js} +1 -1
  238. package/dist/docs/assets/{guides_opentelemetry.md.SCRMskno.js → guides_opentelemetry.md._CRfDyzH.js} +14 -14
  239. package/dist/docs/assets/{guides_opentelemetry.md.SCRMskno.lean.js → guides_opentelemetry.md._CRfDyzH.lean.js} +1 -1
  240. package/dist/docs/assets/{guides_slack.md.D4RVMM4G.js → guides_slack.md.DdT8rmsj.js} +12 -4
  241. package/dist/docs/assets/{guides_slack.md.D4RVMM4G.lean.js → guides_slack.md.DdT8rmsj.lean.js} +1 -1
  242. package/dist/docs/assets/{guides_webhooks.md.DKdA43Qm.js → guides_webhooks.md.aQW10HRe.js} +3 -3
  243. package/dist/docs/assets/{guides_webhooks.md.DKdA43Qm.lean.js → guides_webhooks.md.aQW10HRe.lean.js} +1 -1
  244. package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.js +1 -0
  245. package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.lean.js +1 -0
  246. package/dist/docs/assets/index.md.BFVyY2KT.js +17 -0
  247. package/dist/docs/assets/index.md.BFVyY2KT.lean.js +1 -0
  248. package/dist/docs/assets/{quickstart.md.DdQOF7Y8.js → quickstart.md.D3MjSZN-.js} +30 -38
  249. package/dist/docs/assets/quickstart.md.D3MjSZN-.lean.js +1 -0
  250. package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.js → reference_agent-config.md.CfVA-LZJ.js} +1 -1
  251. package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.lean.js → reference_agent-config.md.CfVA-LZJ.lean.js} +1 -1
  252. package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.js → reference_artifacts.md.Vf7qyIZ-.js} +1 -1
  253. package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.lean.js → reference_artifacts.md.Vf7qyIZ-.lean.js} +1 -1
  254. package/dist/docs/assets/{reference_channels.md.D-qTqwcq.js → reference_channels.md.icqLKcTc.js} +2 -12
  255. package/dist/docs/assets/{reference_channels.md.D-qTqwcq.lean.js → reference_channels.md.icqLKcTc.lean.js} +1 -1
  256. package/dist/docs/assets/{reference_cli.md.Ca26u0Es.js → reference_cli.md.B2dBL6L8.js} +4 -4
  257. package/dist/docs/assets/{reference_cli.md.Ca26u0Es.lean.js → reference_cli.md.B2dBL6L8.lean.js} +1 -1
  258. package/dist/docs/assets/{reference_connections.md.BojkC6c5.js → reference_connections.md.Cb3U_c8n.js} +4 -4
  259. package/dist/docs/assets/{reference_connections.md.BojkC6c5.lean.js → reference_connections.md.Cb3U_c8n.lean.js} +1 -1
  260. package/dist/docs/assets/{reference_extensions.md.CPWt00ds.js → reference_extensions.md.wlFD3cUR.js} +3 -3
  261. package/dist/docs/assets/{reference_extensions.md.CPWt00ds.lean.js → reference_extensions.md.wlFD3cUR.lean.js} +1 -1
  262. package/dist/docs/assets/{reference_hooks.md.Ddt5DdgJ.js → reference_hooks.md.CZuynAxj.js} +3 -3
  263. package/dist/docs/assets/{reference_hooks.md.Ddt5DdgJ.lean.js → reference_hooks.md.CZuynAxj.lean.js} +1 -1
  264. package/dist/docs/assets/{reference_http-api.md.oySXBO8o.js → reference_http-api.md.DTKcYE6L.js} +3 -3
  265. package/dist/docs/assets/{reference_http-api.md.oySXBO8o.lean.js → reference_http-api.md.DTKcYE6L.lean.js} +1 -1
  266. package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.js → reference_instructions.md.D7gkckK-.js} +1 -1
  267. package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.lean.js → reference_instructions.md.D7gkckK-.lean.js} +1 -1
  268. package/dist/docs/assets/{reference_playground.md.4myJPxrf.js → reference_playground.md.D2YExv5K.js} +1 -1
  269. package/dist/docs/assets/{reference_playground.md.4myJPxrf.lean.js → reference_playground.md.D2YExv5K.lean.js} +1 -1
  270. package/dist/docs/assets/reference_project-layout.md.DPxbUJyt.js +19 -0
  271. package/dist/docs/assets/{reference_project-layout.md.DuBu9a96.lean.js → reference_project-layout.md.DPxbUJyt.lean.js} +1 -1
  272. package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.js → reference_prompt.md.BQ5uAv1F.js} +1 -1
  273. package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.lean.js → reference_prompt.md.BQ5uAv1F.lean.js} +1 -1
  274. package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.js → reference_schedules.md.BasfZWO-.js} +1 -1
  275. package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.lean.js → reference_schedules.md.BasfZWO-.lean.js} +1 -1
  276. package/dist/docs/assets/reference_sessions.md.YKvIsWAx.js +1 -0
  277. package/dist/docs/assets/{reference_sessions.md.CueyOHSL.lean.js → reference_sessions.md.YKvIsWAx.lean.js} +1 -1
  278. package/dist/docs/assets/{reference_skills.md.l2ezAcaN.js → reference_skills.md.rNgpsGd0.js} +1 -1
  279. package/dist/docs/assets/{reference_skills.md.l2ezAcaN.lean.js → reference_skills.md.rNgpsGd0.lean.js} +1 -1
  280. package/dist/docs/assets/{reference_subagents.md.CfsIloPm.js → reference_subagents.md.e5qitjJt.js} +2 -2
  281. package/dist/docs/assets/{reference_subagents.md.CfsIloPm.lean.js → reference_subagents.md.e5qitjJt.lean.js} +1 -1
  282. package/dist/docs/assets/{reference_tools.md.aGrn99hP.js → reference_tools.md.BdCO2aHZ.js} +4 -4
  283. package/dist/docs/assets/{reference_tools.md.aGrn99hP.lean.js → reference_tools.md.BdCO2aHZ.lean.js} +1 -1
  284. package/dist/docs/assets/{style.DCD_zyg3.css → style.Cfo2vbik.css} +1 -1
  285. package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.js → templates_agentic-owners.md.Da_AGDlH.js} +1 -1
  286. package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.lean.js → templates_agentic-owners.md.Da_AGDlH.lean.js} +1 -1
  287. package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.js → templates_pr-autofixer.md.DqxocIGh.js} +1 -1
  288. package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.lean.js → templates_pr-autofixer.md.DqxocIGh.lean.js} +1 -1
  289. package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.js → templates_security-reviewer.md.Bhnvd8VE.js} +1 -1
  290. package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.lean.js → templates_security-reviewer.md.Bhnvd8VE.lean.js} +1 -1
  291. package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.js → templates_triage.md.BdBWO9Ic.js} +1 -1
  292. package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.lean.js → templates_triage.md.BdBWO9Ic.lean.js} +1 -1
  293. package/dist/docs/assets/{troubleshooting.md.CYEAO9bM.js → troubleshooting.md.BcgNoYtJ.js} +1 -1
  294. package/dist/docs/assets/{troubleshooting.md.CYEAO9bM.lean.js → troubleshooting.md.BcgNoYtJ.lean.js} +1 -1
  295. package/dist/docs/building-with-agents.html +41 -8
  296. package/dist/docs/building-with-agents.md +15 -16
  297. package/dist/docs/deployment.html +44 -11
  298. package/dist/docs/deployment.md +6 -7
  299. package/dist/docs/evals.html +196 -37
  300. package/dist/docs/evals.md +612 -297
  301. package/dist/docs/guides/agent-to-agent.html +48 -11
  302. package/dist/docs/guides/agent-to-agent.md +40 -83
  303. package/dist/docs/guides/bitbucket.html +69 -0
  304. package/dist/docs/guides/bitbucket.md +84 -0
  305. package/dist/docs/guides/cloud-agents.html +41 -8
  306. package/dist/docs/guides/cloud-agents.md +24 -20
  307. package/dist/docs/guides/convert-automation.html +41 -8
  308. package/dist/docs/guides/github.html +52 -9
  309. package/dist/docs/guides/github.md +32 -1
  310. package/dist/docs/guides/gitlab.html +73 -0
  311. package/dist/docs/guides/gitlab.md +92 -0
  312. package/dist/docs/guides/grokbot-agents.html +41 -8
  313. package/dist/docs/guides/grokbot-agents.md +26 -19
  314. package/dist/docs/guides/improve.html +41 -8
  315. package/dist/docs/guides/mcp-oauth.html +41 -8
  316. package/dist/docs/guides/mcp-oauth.md +1 -1
  317. package/dist/docs/guides/opentelemetry.html +53 -20
  318. package/dist/docs/guides/opentelemetry.md +28 -41
  319. package/dist/docs/guides/slack.html +51 -10
  320. package/dist/docs/guides/slack.md +53 -4
  321. package/dist/docs/guides/webhooks.html +42 -9
  322. package/dist/docs/guides/webhooks.md +7 -6
  323. package/dist/docs/hashmap.json +1 -1
  324. package/dist/docs/hillclimbing.html +40 -10
  325. package/dist/docs/hillclimbing.md +7 -7
  326. package/dist/docs/index.html +57 -12
  327. package/dist/docs/index.md +81 -146
  328. package/dist/docs/llms-full.txt +1368 -5551
  329. package/dist/docs/llms.txt +6 -31
  330. package/dist/docs/quickstart.html +70 -45
  331. package/dist/docs/quickstart.md +44 -105
  332. package/dist/docs/reference/agent-config.html +41 -8
  333. package/dist/docs/reference/artifacts.html +41 -8
  334. package/dist/docs/reference/channels.html +41 -18
  335. package/dist/docs/reference/channels.md +16 -19
  336. package/dist/docs/reference/cli.html +43 -10
  337. package/dist/docs/reference/cli.md +6 -20
  338. package/dist/docs/reference/connections.html +43 -10
  339. package/dist/docs/reference/connections.md +3 -5
  340. package/dist/docs/reference/extensions.html +43 -10
  341. package/dist/docs/reference/extensions.md +2 -5
  342. package/dist/docs/reference/hooks.html +42 -9
  343. package/dist/docs/reference/hooks.md +11 -16
  344. package/dist/docs/reference/http-api.html +42 -9
  345. package/dist/docs/reference/http-api.md +6 -7
  346. package/dist/docs/reference/instructions.html +41 -8
  347. package/dist/docs/reference/playground.html +40 -7
  348. package/dist/docs/reference/playground.md +2 -6
  349. package/dist/docs/reference/project-layout.html +42 -9
  350. package/dist/docs/reference/project-layout.md +4 -12
  351. package/dist/docs/reference/prompt.html +41 -8
  352. package/dist/docs/reference/schedules.html +41 -8
  353. package/dist/docs/reference/sessions.html +40 -7
  354. package/dist/docs/reference/sessions.md +6 -6
  355. package/dist/docs/reference/skills.html +41 -8
  356. package/dist/docs/reference/subagents.html +41 -8
  357. package/dist/docs/reference/subagents.md +2 -4
  358. package/dist/docs/reference/tools.html +43 -10
  359. package/dist/docs/reference/tools.md +2 -5
  360. package/dist/docs/templates/agentic-owners.html +41 -8
  361. package/dist/docs/templates/pr-autofixer.html +41 -8
  362. package/dist/docs/templates/security-reviewer.html +41 -8
  363. package/dist/docs/templates/triage.html +41 -8
  364. package/dist/docs/troubleshooting.html +40 -7
  365. package/dist/docs/troubleshooting.md +1 -2
  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/tools/list.js +1 -1
  382. package/dist/extensions/improve/skills/yourself.js +1 -1
  383. package/dist/extensions/slack-communication/extension.d.ts +28 -0
  384. package/dist/extensions/slack-communication/extension.d.ts.map +1 -0
  385. package/dist/extensions/slack-communication/extension.js +32 -0
  386. package/dist/extensions/slack-communication/skills/slack-voice.d.ts +5 -0
  387. package/dist/extensions/slack-communication/skills/slack-voice.d.ts.map +1 -0
  388. package/dist/extensions/slack-communication/skills/slack-voice.js +54 -0
  389. package/dist/extensions/slack-communication/tools/delete-message.d.ts +4 -0
  390. package/dist/extensions/slack-communication/tools/delete-message.d.ts.map +1 -0
  391. package/dist/extensions/slack-communication/tools/delete-message.js +29 -0
  392. package/dist/extensions/slack-communication/tools/edit-message.d.ts +4 -0
  393. package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -0
  394. package/dist/extensions/slack-communication/tools/edit-message.js +37 -0
  395. package/dist/extensions/slack-communication/tools/post-card.d.ts +4 -0
  396. package/dist/extensions/slack-communication/tools/post-card.d.ts.map +1 -0
  397. package/dist/extensions/slack-communication/tools/post-card.js +25 -0
  398. package/dist/extensions/slack-communication/tools/post-file.d.ts +4 -0
  399. package/dist/extensions/slack-communication/tools/post-file.d.ts.map +1 -0
  400. package/dist/extensions/slack-communication/tools/post-file.js +76 -0
  401. package/dist/extensions/slack-communication/tools/post-update.d.ts +4 -0
  402. package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -0
  403. package/dist/extensions/slack-communication/tools/post-update.js +36 -0
  404. package/dist/extensions/slack-communication/tools/react.d.ts +4 -0
  405. package/dist/extensions/slack-communication/tools/react.d.ts.map +1 -0
  406. package/dist/extensions/slack-communication/tools/react.js +27 -0
  407. package/dist/extensions/slack-communication/tools/set-status.d.ts +4 -0
  408. package/dist/extensions/slack-communication/tools/set-status.d.ts.map +1 -0
  409. package/dist/extensions/slack-communication/tools/set-status.js +18 -0
  410. package/dist/extensions.d.ts +2 -3
  411. package/dist/extensions.d.ts.map +1 -1
  412. package/dist/extensions.js +2 -5
  413. package/dist/files-backends/cursor-hosted.d.ts +18 -6
  414. package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
  415. package/dist/files-backends/cursor-hosted.js +357 -74
  416. package/dist/files-backends/local-fs.js +1 -1
  417. package/dist/files.d.ts +15 -0
  418. package/dist/files.d.ts.map +1 -1
  419. package/dist/filesystem.d.ts.map +1 -1
  420. package/dist/filesystem.js +15 -15
  421. package/dist/index.d.ts +6 -10
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +5 -8
  424. package/dist/internal/advertise-tools.js +6 -6
  425. package/dist/internal/approval-gate.js +1 -1
  426. package/dist/internal/artifacts-store.js +3 -3
  427. package/dist/internal/as-of.js +2 -2
  428. package/dist/internal/authored-alias-hooks.d.ts +5 -0
  429. package/dist/internal/authored-alias-hooks.d.ts.map +1 -1
  430. package/dist/internal/authored-alias-hooks.js +17 -0
  431. package/dist/internal/authored-loaders.d.ts +4 -0
  432. package/dist/internal/authored-loaders.d.ts.map +1 -1
  433. package/dist/internal/authored-loaders.js +21 -2
  434. package/dist/internal/builtin-tools/reminders.js +2 -2
  435. package/dist/internal/chat-client.js +5 -5
  436. package/dist/internal/cli-ax.d.ts +2 -2
  437. package/dist/internal/cli-ax.d.ts.map +1 -1
  438. package/dist/internal/cli-ax.js +69 -15
  439. package/dist/internal/cli-bitbucket.js +10 -10
  440. package/dist/internal/cli-convert-automation.js +2 -2
  441. package/dist/internal/cli-cursor.d.ts +3 -11
  442. package/dist/internal/cli-cursor.d.ts.map +1 -1
  443. package/dist/internal/cli-cursor.js +5 -10
  444. package/dist/internal/cli-deploy.d.ts +12 -2
  445. package/dist/internal/cli-deploy.d.ts.map +1 -1
  446. package/dist/internal/cli-deploy.js +328 -96
  447. package/dist/internal/cli-docs.js +5 -5
  448. package/dist/internal/cli-github.js +15 -16
  449. package/dist/internal/cli-gitlab.js +10 -10
  450. package/dist/internal/cli-manifest.js +1 -1
  451. package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
  452. package/dist/internal/cli-mcp-oauth.js +5 -5
  453. package/dist/internal/cli-mcp.js +3 -3
  454. package/dist/internal/cli-skills.js +2 -2
  455. package/dist/internal/cli-slack.js +5 -5
  456. package/dist/internal/cloud-turn-cost.js +1 -1
  457. package/dist/internal/continuation-channel.d.ts.map +1 -1
  458. package/dist/internal/continuation-channel.js +2 -2
  459. package/dist/internal/continuation-identity.d.ts.map +1 -1
  460. package/dist/internal/continuation-identity.js +22 -12
  461. package/dist/internal/conversation-mirror.d.ts.map +1 -1
  462. package/dist/internal/conversation-mirror.js +33 -2
  463. package/dist/internal/convert-automation/convert-workflow.js +25 -24
  464. package/dist/internal/convert-automation/types.d.ts +8 -0
  465. package/dist/internal/convert-automation/types.d.ts.map +1 -1
  466. package/dist/internal/cursor/account-mcp.d.ts +2 -2
  467. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  468. package/dist/internal/cursor/account-mcp.js +32 -27
  469. package/dist/internal/cursor/backend-client.d.ts +15 -10
  470. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  471. package/dist/internal/cursor/backend-client.js +17 -11
  472. package/dist/internal/cursor/credentials.js +1 -1
  473. package/dist/internal/cursor/hosted-store-secrets.d.ts +16 -0
  474. package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
  475. package/dist/internal/cursor/hosted-store-secrets.js +25 -0
  476. package/dist/internal/cursor-account-mcp-auth.js +9 -9
  477. package/dist/internal/cursor-deployment-relay.js +9 -9
  478. package/dist/internal/cursor-event-relay.js +10 -10
  479. package/dist/internal/cursor-relay-core.js +2 -2
  480. package/dist/internal/deploy-client.d.ts +106 -9
  481. package/dist/internal/deploy-client.d.ts.map +1 -1
  482. package/dist/internal/deploy-client.js +171 -23
  483. package/dist/internal/deploy-manifest.d.ts +13 -0
  484. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  485. package/dist/internal/deploy-manifest.js +32 -16
  486. package/dist/internal/discovery/agent-config.d.ts +5 -0
  487. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  488. package/dist/internal/discovery/agent-config.js +27 -0
  489. package/dist/internal/discovery/agent.d.ts +1 -1
  490. package/dist/internal/discovery/agent.d.ts.map +1 -1
  491. package/dist/internal/discovery/agent.js +10 -13
  492. package/dist/internal/discovery/channels.js +4 -4
  493. package/dist/internal/discovery/connections.js +4 -4
  494. package/dist/internal/discovery/cursor-plugin.js +12 -12
  495. package/dist/internal/discovery/extension-overlay.d.ts +1 -2
  496. package/dist/internal/discovery/extension-overlay.d.ts.map +1 -1
  497. package/dist/internal/discovery/extension-overlay.js +3 -17
  498. package/dist/internal/discovery/extensions.d.ts +1 -2
  499. package/dist/internal/discovery/extensions.d.ts.map +1 -1
  500. package/dist/internal/discovery/extensions.js +10 -28
  501. package/dist/internal/discovery/info.d.ts.map +1 -1
  502. package/dist/internal/discovery/info.js +44 -26
  503. package/dist/internal/discovery/instructions.js +1 -1
  504. package/dist/internal/discovery/modules.js +0 -1
  505. package/dist/internal/discovery/project.d.ts.map +1 -1
  506. package/dist/internal/discovery/project.js +4 -20
  507. package/dist/internal/discovery/services.js +1 -1
  508. package/dist/internal/discovery/tools.js +1 -1
  509. package/dist/internal/docs-site.js +2 -2
  510. package/dist/internal/env-file.js +1 -1
  511. package/dist/internal/eval-run-store.d.ts.map +1 -1
  512. package/dist/internal/eval-run-store.js +7 -7
  513. package/dist/internal/eval-runner.js +14 -15
  514. package/dist/internal/evals-client.js +4 -4
  515. package/dist/internal/event-log.js +8 -8
  516. package/dist/internal/event-mapper.d.ts +18 -0
  517. package/dist/internal/event-mapper.d.ts.map +1 -1
  518. package/dist/internal/event-mapper.js +34 -2
  519. package/dist/internal/filesystem/format.d.ts.map +1 -1
  520. package/dist/internal/filesystem/format.js +6 -3
  521. package/dist/internal/filesystem/scratch.js +3 -3
  522. package/dist/internal/filesystem/tools.d.ts.map +1 -1
  523. package/dist/internal/filesystem/tools.js +6 -6
  524. package/dist/internal/filesystem/walk.js +1 -1
  525. package/dist/internal/framework-file-storage.d.ts +10 -7
  526. package/dist/internal/framework-file-storage.d.ts.map +1 -1
  527. package/dist/internal/framework-file-storage.js +95 -7
  528. package/dist/internal/framework-storage-selection.d.ts +2 -8
  529. package/dist/internal/framework-storage-selection.d.ts.map +1 -1
  530. package/dist/internal/framework-storage-selection.js +4 -13
  531. package/dist/internal/github-fanout.js +3 -3
  532. package/dist/internal/guest-network.js +4 -4
  533. package/dist/internal/host-files.js +1 -1
  534. package/dist/internal/host-kv.js +2 -2
  535. package/dist/internal/hosted-admission-adapter.d.ts +2 -0
  536. package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
  537. package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
  538. package/dist/internal/hosted-catch-protocol.js +2 -4
  539. package/dist/internal/hosted-catch.js +1 -1
  540. package/dist/internal/hosted-delivery-protocol.d.ts +29 -0
  541. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  542. package/dist/internal/hosted-delivery-protocol.js +76 -8
  543. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  544. package/dist/internal/hosted-delivery.js +201 -64
  545. package/dist/internal/hosted-execution-diag.js +3 -3
  546. package/dist/internal/hosted-execution-latency.d.ts +80 -0
  547. package/dist/internal/hosted-execution-latency.d.ts.map +1 -0
  548. package/dist/internal/hosted-execution-latency.js +220 -0
  549. package/dist/internal/hosting.d.ts +5 -5
  550. package/dist/internal/hosting.d.ts.map +1 -1
  551. package/dist/internal/hosting.js +5 -6
  552. package/dist/internal/http-channel-define.d.ts +11 -0
  553. package/dist/internal/http-channel-define.d.ts.map +1 -0
  554. package/dist/internal/http-channel-define.js +18 -0
  555. package/dist/internal/http-channel.d.ts +2 -3
  556. package/dist/internal/http-channel.d.ts.map +1 -1
  557. package/dist/internal/http-channel.js +3 -4
  558. package/dist/internal/http-control-plane-session.d.ts +7 -3
  559. package/dist/internal/http-control-plane-session.d.ts.map +1 -1
  560. package/dist/internal/http-control-plane-session.js +22 -10
  561. package/dist/internal/incoming-headers-to-fetch.d.ts +10 -0
  562. package/dist/internal/incoming-headers-to-fetch.d.ts.map +1 -0
  563. package/dist/internal/incoming-headers-to-fetch.js +41 -0
  564. package/dist/internal/init-interview.js +7 -7
  565. package/dist/internal/init-project.d.ts.map +1 -1
  566. package/dist/internal/init-project.js +14 -14
  567. package/dist/internal/init-scaffold.d.ts.map +1 -1
  568. package/dist/internal/init-scaffold.js +2 -3
  569. package/dist/internal/inline-stdio-mcp.js +2 -2
  570. package/dist/internal/install-cursor-skills.d.ts +5 -2
  571. package/dist/internal/install-cursor-skills.d.ts.map +1 -1
  572. package/dist/internal/install-cursor-skills.js +35 -15
  573. package/dist/internal/json-schema.js +1 -1
  574. package/dist/internal/local-control-plane.d.ts.map +1 -1
  575. package/dist/internal/local-control-plane.js +3 -3
  576. package/dist/internal/local-env.js +3 -3
  577. package/dist/internal/log-ring.js +1 -1
  578. package/dist/internal/logs-client.js +1 -1
  579. package/dist/internal/mcp-endpoint.js +8 -8
  580. package/dist/internal/mcp-host.js +4 -4
  581. package/dist/internal/mcp-oauth-on-demand.js +3 -3
  582. package/dist/internal/mcp-oauth.js +5 -5
  583. package/dist/internal/net.js +2 -2
  584. package/dist/internal/otel/config.js +3 -3
  585. package/dist/internal/otel/runtime.js +13 -13
  586. package/dist/internal/peer-connections.js +2 -2
  587. package/dist/internal/platform-schedule-sync.js +1 -1
  588. package/dist/internal/platform-timers.js +1 -1
  589. package/dist/internal/playground/static.js +2 -2
  590. package/dist/internal/playground/toolchain.js +2 -2
  591. package/dist/internal/playground-proxy.js +3 -3
  592. package/dist/internal/process-memory-telemetry.js +1 -1
  593. package/dist/internal/reminder-runner.d.ts.map +1 -1
  594. package/dist/internal/reminder-runner.js +7 -7
  595. package/dist/internal/reminder-store.js +1 -1
  596. package/dist/internal/request-error-status.d.ts.map +1 -1
  597. package/dist/internal/request-error-status.js +9 -0
  598. package/dist/internal/resolved-connections.js +8 -8
  599. package/dist/internal/result-output.d.ts +14 -2
  600. package/dist/internal/result-output.d.ts.map +1 -1
  601. package/dist/internal/result-output.js +45 -2
  602. package/dist/internal/router.js +4 -4
  603. package/dist/internal/run-client.d.ts +1 -1
  604. package/dist/internal/run-client.js +2 -2
  605. package/dist/internal/schedule-runner.js +6 -6
  606. package/dist/internal/scm/pr-url.d.ts +3 -1
  607. package/dist/internal/scm/pr-url.d.ts.map +1 -1
  608. package/dist/internal/scm/pr-url.js +10 -2
  609. package/dist/internal/sdk-runner.d.ts.map +1 -1
  610. package/dist/internal/sdk-runner.js +15 -16
  611. package/dist/internal/serve-restart.js +1 -1
  612. package/dist/internal/server.d.ts.map +1 -1
  613. package/dist/internal/server.js +81 -101
  614. package/dist/internal/session-cost.js +3 -3
  615. package/dist/internal/session-engine.d.ts +39 -35
  616. package/dist/internal/session-engine.d.ts.map +1 -1
  617. package/dist/internal/session-engine.js +394 -343
  618. package/dist/internal/session-run-log.d.ts.map +1 -1
  619. package/dist/internal/session-run-log.js +4 -4
  620. package/dist/internal/session-store.d.ts +47 -3
  621. package/dist/internal/session-store.d.ts.map +1 -1
  622. package/dist/internal/session-store.js +198 -33
  623. package/dist/internal/sessions-client.js +3 -3
  624. package/dist/internal/slack-thread-key.d.ts +7 -0
  625. package/dist/internal/slack-thread-key.d.ts.map +1 -0
  626. package/dist/internal/slack-thread-key.js +10 -0
  627. package/dist/internal/sleep.js +1 -1
  628. package/dist/internal/storage-coordinator.d.ts +22 -19
  629. package/dist/internal/storage-coordinator.d.ts.map +1 -1
  630. package/dist/internal/storage-coordinator.js +114 -73
  631. package/dist/internal/storage-roles.d.ts +4 -9
  632. package/dist/internal/storage-roles.d.ts.map +1 -1
  633. package/dist/internal/storage-roles.js +2 -2
  634. package/dist/internal/storage.d.ts +2 -0
  635. package/dist/internal/storage.d.ts.map +1 -0
  636. package/dist/internal/storage.js +1 -0
  637. package/dist/internal/store-mirror.js +4 -4
  638. package/dist/internal/terminal-style.js +2 -2
  639. package/dist/internal/tool-result.js +3 -3
  640. package/dist/internal/trajectory.js +7 -7
  641. package/dist/internal/turn-governor.js +2 -2
  642. package/dist/internal/turn-outbox.js +1 -1
  643. package/dist/internal/update-check.js +2 -2
  644. package/dist/internal/v2-hosting.d.ts +9 -0
  645. package/dist/internal/v2-hosting.d.ts.map +1 -1
  646. package/dist/internal/v2-hosting.js +10 -0
  647. package/dist/internal/workspace.d.ts +13 -10
  648. package/dist/internal/workspace.d.ts.map +1 -1
  649. package/dist/internal/workspace.js +17 -16
  650. package/dist/kv/memory-kv.d.ts +6 -4
  651. package/dist/kv/memory-kv.d.ts.map +1 -1
  652. package/dist/kv/memory-kv.js +9 -7
  653. package/dist/kv.d.ts +4 -7
  654. package/dist/kv.d.ts.map +1 -1
  655. package/dist/kv.js +4 -7
  656. package/dist/otel-public.d.ts +7 -0
  657. package/dist/otel-public.d.ts.map +1 -0
  658. package/dist/otel-public.js +5 -0
  659. package/dist/otel.d.ts +7 -2
  660. package/dist/otel.d.ts.map +1 -1
  661. package/dist/otel.js +7 -2
  662. package/dist/playground/assets/index-BLlKgZtI.css +1 -0
  663. package/dist/playground/assets/index-CDS5p9sR.js +67 -0
  664. package/dist/playground/index.html +2 -2
  665. package/dist/prompt.js +1 -1
  666. package/dist/result.d.ts +10 -4
  667. package/dist/result.d.ts.map +1 -1
  668. package/dist/result.js +9 -3
  669. package/dist/storage-backends/cursor-hosted-v2.d.ts +4 -5
  670. package/dist/storage-backends/cursor-hosted-v2.d.ts.map +1 -1
  671. package/dist/storage-backends/cursor-hosted-v2.js +6 -7
  672. package/dist/storage-backends/cursor-hosted.d.ts +6 -19
  673. package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
  674. package/dist/storage-backends/cursor-hosted.js +6 -50
  675. package/dist/storage-backends/file-kv.d.ts +9 -12
  676. package/dist/storage-backends/file-kv.d.ts.map +1 -1
  677. package/dist/storage-backends/file-kv.js +18 -54
  678. package/dist/storage-protocol.d.ts +3 -11
  679. package/dist/storage-protocol.d.ts.map +1 -1
  680. package/dist/storage-protocol.js +3 -11
  681. package/dist/storage.d.ts +28 -38
  682. package/dist/storage.d.ts.map +1 -1
  683. package/dist/storage.js +15 -50
  684. package/dist/types.d.ts +87 -68
  685. package/dist/types.d.ts.map +1 -1
  686. package/dist/types.js +12 -4
  687. package/docs/README.md +83 -148
  688. package/docs/building-with-agents.md +15 -16
  689. package/docs/deployment.md +6 -7
  690. package/docs/evals.md +613 -298
  691. package/docs/guides/agent-to-agent.md +41 -84
  692. package/docs/guides/bitbucket.md +89 -0
  693. package/docs/guides/cloud-agents.md +25 -20
  694. package/docs/guides/github.md +32 -1
  695. package/docs/guides/gitlab.md +97 -0
  696. package/docs/guides/grokbot-agents.md +27 -19
  697. package/docs/guides/mcp-oauth.md +1 -1
  698. package/docs/guides/opentelemetry.md +28 -41
  699. package/docs/guides/slack.md +53 -4
  700. package/docs/guides/webhooks.md +7 -6
  701. package/docs/hillclimbing.md +7 -7
  702. package/docs/quickstart.md +45 -106
  703. package/docs/reference/channels.md +16 -19
  704. package/docs/reference/cli.md +6 -20
  705. package/docs/reference/connections.md +3 -5
  706. package/docs/reference/extensions.md +2 -5
  707. package/docs/reference/hooks.md +11 -16
  708. package/docs/reference/http-api.md +6 -7
  709. package/docs/reference/playground.md +2 -6
  710. package/docs/reference/project-layout.md +4 -12
  711. package/docs/reference/sessions.md +6 -6
  712. package/docs/reference/subagents.md +2 -4
  713. package/docs/reference/tools.md +2 -5
  714. package/docs/troubleshooting.md +1 -2
  715. package/package.json +55 -43
  716. package/skills/deploy/SKILL.md +169 -0
  717. package/skills/evals/SKILL.md +45 -8
  718. package/skills/framework-map/SKILL.md +3 -4
  719. package/skills/otel/SKILL.md +8 -18
  720. package/src/bin/agent-serve.ts +93 -72
  721. package/src/channels/bitbucket/api.ts +347 -6
  722. package/src/channels/bitbucket/binding.ts +29 -4
  723. package/src/channels/bitbucket/bitbucket-channel.ts +1 -1
  724. package/src/channels/bitbucket/bitbucket-webhook.ts +1 -1
  725. package/src/channels/bitbucket/checks.ts +3 -4
  726. package/src/channels/bitbucket/cursor-account.ts +1 -1
  727. package/src/channels/bitbucket/events.ts +1 -1
  728. package/src/channels/bitbucket/index.ts +2 -0
  729. package/src/channels/change-monitors/change-monitors-channel.ts +2 -2
  730. package/src/channels/checks.ts +5 -4
  731. package/src/channels/deployments/deployments-channel.ts +1 -1
  732. package/src/channels/github/api.ts +1 -1
  733. package/src/channels/github/checks.ts +1 -1
  734. package/src/channels/github/cursor-account.ts +3 -3
  735. package/src/channels/github/defaults.ts +8 -4
  736. package/src/channels/github/events.ts +1 -1
  737. package/src/channels/github/forward.ts +8 -8
  738. package/src/channels/github/github-channel.ts +19 -2
  739. package/src/channels/github/progress.ts +7 -2
  740. package/src/channels/github/state.ts +6 -0
  741. package/src/channels/github/types.ts +6 -0
  742. package/src/channels/gitlab/api.ts +123 -0
  743. package/src/channels/gitlab/binding.ts +16 -4
  744. package/src/channels/gitlab/checks.ts +3 -4
  745. package/src/channels/gitlab/cursor-account.ts +1 -1
  746. package/src/channels/gitlab/events.ts +1 -1
  747. package/src/channels/gitlab/gitlab-channel.ts +1 -1
  748. package/src/channels/gitlab/gitlab-webhook.ts +1 -1
  749. package/src/channels/gitlab/index.ts +1 -0
  750. package/src/channels/gitlab/replay.ts +2 -2
  751. package/src/channels/origin/binding.ts +6 -3
  752. package/src/channels/origin/checks.ts +27 -17
  753. package/src/channels/origin/cursor-account.ts +1 -1
  754. package/src/channels/origin/defaults.ts +5 -1
  755. package/src/channels/origin/events.ts +1 -1
  756. package/src/channels/origin/origin-channel.ts +2 -1
  757. package/src/channels/origin/origin-webhook.ts +2 -2
  758. package/src/channels/slack/agentic-delivery.ts +659 -0
  759. package/src/channels/slack/agentic-posted.ts +148 -0
  760. package/src/channels/slack/agentic-signals.ts +248 -0
  761. package/src/channels/slack/api.ts +51 -11
  762. package/src/channels/slack/approvals.ts +1 -1
  763. package/src/channels/slack/attachments.ts +1 -1
  764. package/src/channels/slack/auth.ts +3 -1
  765. package/src/channels/slack/blocks.ts +3 -3
  766. package/src/channels/slack/bot-mentions.ts +5 -7
  767. package/src/channels/slack/channel-watch.ts +1 -1
  768. package/src/channels/slack/cli-project.ts +3 -3
  769. package/src/channels/slack/defaults.ts +109 -37
  770. package/src/channels/slack/dispatch.ts +323 -164
  771. package/src/channels/slack/doctor.ts +1 -1
  772. package/src/channels/slack/eval-directive.ts +1 -1
  773. package/src/channels/slack/external-policy.ts +15 -2
  774. package/src/channels/slack/footer.ts +108 -0
  775. package/src/channels/slack/index.ts +2 -0
  776. package/src/channels/slack/interactive.ts +4 -2
  777. package/src/channels/slack/live-delivery.ts +23 -7
  778. package/src/channels/slack/log.ts +1 -1
  779. package/src/channels/slack/manifest.ts +1 -1
  780. package/src/channels/slack/nudge-carrier.ts +1 -1
  781. package/src/channels/slack/nudge-store.ts +2 -2
  782. package/src/channels/slack/paint-start.ts +93 -0
  783. package/src/channels/slack/placeholder.ts +315 -0
  784. package/src/channels/slack/progress-delivery.ts +14 -1
  785. package/src/channels/slack/reasoning-chip.ts +48 -0
  786. package/src/channels/slack/recording-sink.ts +176 -0
  787. package/src/channels/slack/reply-options.ts +71 -15
  788. package/src/channels/slack/setup.ts +1 -1
  789. package/src/channels/slack/slack-channel.ts +140 -18
  790. package/src/channels/slack/socket-mode.ts +2 -2
  791. package/src/channels/slack/thread-context.ts +5 -5
  792. package/src/channels/slack/tool-approval-events.ts +54 -38
  793. package/src/channels/slack/tool-cards.ts +1 -1
  794. package/src/channels/slack/tool-chip.ts +36 -0
  795. package/src/channels/slack/types.ts +47 -7
  796. package/src/channels/slack/upload.ts +142 -0
  797. package/src/channels.ts +12 -30
  798. package/src/dashboard-session-url.ts +32 -0
  799. package/src/evals/assertions.ts +19 -19
  800. package/src/evals/expect.ts +1 -1
  801. package/src/evals/judge.ts +1 -1
  802. package/src/evals/reporters.ts +8 -9
  803. package/src/evals/run-facts.ts +2 -2
  804. package/src/evals.ts +7 -10
  805. package/src/extensions/cursor-cloud-agents/extension.ts +1 -1
  806. package/src/extensions/cursor-cloud-agents/lib/backend.ts +3 -3
  807. package/src/extensions/cursor-cloud-agents/lib/fleet.ts +1 -1
  808. package/src/extensions/cursor-cloud-agents/lib/repos.ts +3 -3
  809. package/src/extensions/cursor-cloud-agents/lib/transcript.ts +3 -4
  810. package/src/extensions/cursor-cloud-agents/tools/list.ts +1 -1
  811. package/src/extensions/improve/skills/yourself.ts +1 -1
  812. package/src/extensions/slack-communication/evals/harness.ts +728 -0
  813. package/src/extensions/slack-communication/evals/slack-communication.eval.ts +953 -0
  814. package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +194 -0
  815. package/src/extensions/slack-communication/extension.ts +45 -0
  816. package/src/extensions/slack-communication/skills/slack-voice.ts +59 -0
  817. package/src/extensions/slack-communication/tools/delete-message.ts +34 -0
  818. package/src/extensions/slack-communication/tools/edit-message.ts +42 -0
  819. package/src/extensions/slack-communication/tools/post-card.ts +28 -0
  820. package/src/extensions/slack-communication/tools/post-file.ts +85 -0
  821. package/src/extensions/slack-communication/tools/post-update.ts +41 -0
  822. package/src/extensions/slack-communication/tools/react.ts +33 -0
  823. package/src/extensions/slack-communication/tools/set-status.ts +21 -0
  824. package/src/extensions.ts +2 -6
  825. package/src/files-backends/cursor-hosted.ts +502 -98
  826. package/src/files-backends/local-fs.ts +1 -1
  827. package/src/files.ts +15 -0
  828. package/src/filesystem.ts +16 -18
  829. package/src/index.ts +4 -39
  830. package/src/internal/advertise-tools.ts +6 -6
  831. package/src/internal/approval-gate.ts +1 -1
  832. package/src/internal/artifacts-store.ts +3 -3
  833. package/src/internal/as-of.ts +2 -2
  834. package/src/internal/authored-alias-hooks.ts +32 -0
  835. package/src/internal/authored-loaders.ts +25 -2
  836. package/src/internal/builtin-tools/reminders.ts +2 -2
  837. package/src/internal/chat-client.ts +5 -5
  838. package/src/internal/cli-ax.ts +85 -16
  839. package/src/internal/cli-bitbucket.ts +11 -11
  840. package/src/internal/cli-convert-automation.ts +2 -2
  841. package/src/internal/cli-cursor.ts +5 -16
  842. package/src/internal/cli-deploy.ts +389 -104
  843. package/src/internal/cli-docs.ts +5 -5
  844. package/src/internal/cli-github.ts +16 -19
  845. package/src/internal/cli-gitlab.ts +11 -11
  846. package/src/internal/cli-manifest.ts +1 -1
  847. package/src/internal/cli-mcp-oauth.ts +5 -7
  848. package/src/internal/cli-mcp.ts +3 -3
  849. package/src/internal/cli-skills.ts +2 -2
  850. package/src/internal/cli-slack.ts +5 -5
  851. package/src/internal/cloud-turn-cost.ts +1 -1
  852. package/src/internal/continuation-channel.ts +2 -1
  853. package/src/internal/continuation-identity.ts +23 -11
  854. package/src/internal/conversation-mirror.ts +36 -3
  855. package/src/internal/convert-automation/convert-workflow.ts +27 -27
  856. package/src/internal/convert-automation/types.ts +9 -0
  857. package/src/internal/cursor/account-mcp.ts +48 -31
  858. package/src/internal/cursor/backend-client.ts +28 -17
  859. package/src/internal/cursor/credentials.ts +1 -1
  860. package/src/internal/cursor/hosted-store-secrets.ts +34 -0
  861. package/src/internal/cursor-account-mcp-auth.ts +9 -9
  862. package/src/internal/cursor-deployment-relay.ts +10 -10
  863. package/src/internal/cursor-event-relay.ts +10 -10
  864. package/src/internal/cursor-relay-core.ts +2 -2
  865. package/src/internal/deploy-client.ts +266 -24
  866. package/src/internal/deploy-manifest.ts +46 -8
  867. package/src/internal/discovery/agent-config.ts +34 -0
  868. package/src/internal/discovery/agent.ts +15 -13
  869. package/src/internal/discovery/channels.ts +4 -4
  870. package/src/internal/discovery/connections.ts +4 -4
  871. package/src/internal/discovery/cursor-plugin.ts +12 -12
  872. package/src/internal/discovery/extension-overlay.ts +3 -21
  873. package/src/internal/discovery/extensions.ts +8 -32
  874. package/src/internal/discovery/info.ts +12 -22
  875. package/src/internal/discovery/instructions.ts +1 -1
  876. package/src/internal/discovery/modules.ts +0 -1
  877. package/src/internal/discovery/project.ts +4 -20
  878. package/src/internal/discovery/services.ts +1 -1
  879. package/src/internal/discovery/tools.ts +1 -1
  880. package/src/internal/docs-site.ts +2 -2
  881. package/src/internal/env-file.ts +2 -2
  882. package/src/internal/eval-run-store.ts +7 -9
  883. package/src/internal/eval-runner.ts +20 -21
  884. package/src/internal/evals-client.ts +6 -6
  885. package/src/internal/event-log.ts +10 -10
  886. package/src/internal/event-mapper.ts +37 -2
  887. package/src/internal/filesystem/format.ts +11 -12
  888. package/src/internal/filesystem/scratch.ts +3 -3
  889. package/src/internal/filesystem/tools.ts +6 -8
  890. package/src/internal/filesystem/walk.ts +1 -1
  891. package/src/internal/framework-file-storage.ts +108 -9
  892. package/src/internal/framework-storage-selection.ts +4 -14
  893. package/src/internal/github-fanout.ts +4 -4
  894. package/src/internal/guest-network.ts +4 -4
  895. package/src/internal/host-files.ts +1 -1
  896. package/src/internal/host-kv.ts +2 -2
  897. package/src/internal/hosted-admission-adapter.ts +2 -0
  898. package/src/internal/hosted-catch-protocol.ts +3 -5
  899. package/src/internal/hosted-catch.ts +1 -1
  900. package/src/internal/hosted-delivery-protocol.ts +111 -13
  901. package/src/internal/hosted-delivery.ts +286 -81
  902. package/src/internal/hosted-execution-diag.ts +3 -3
  903. package/src/internal/hosted-execution-latency.ts +334 -0
  904. package/src/internal/hosting.ts +5 -6
  905. package/src/internal/http-channel-define.ts +27 -0
  906. package/src/internal/http-channel.ts +3 -4
  907. package/src/internal/http-control-plane-session.ts +24 -11
  908. package/src/internal/incoming-headers-to-fetch.ts +54 -0
  909. package/src/internal/init-interview.ts +7 -7
  910. package/src/internal/init-project.ts +14 -16
  911. package/src/internal/init-scaffold.ts +2 -3
  912. package/src/internal/inline-stdio-mcp.ts +2 -2
  913. package/src/internal/install-cursor-skills.ts +49 -16
  914. package/src/internal/json-schema.ts +1 -1
  915. package/src/internal/local-control-plane.ts +4 -5
  916. package/src/internal/local-env.ts +3 -3
  917. package/src/internal/log-ring.ts +1 -1
  918. package/src/internal/logs-client.ts +1 -1
  919. package/src/internal/mcp-endpoint.ts +10 -10
  920. package/src/internal/mcp-host.ts +9 -9
  921. package/src/internal/mcp-oauth-on-demand.ts +3 -3
  922. package/src/internal/mcp-oauth.ts +5 -5
  923. package/src/internal/net.ts +2 -2
  924. package/src/internal/otel/config.ts +3 -3
  925. package/src/internal/otel/runtime.ts +14 -14
  926. package/src/internal/peer-connections.ts +2 -2
  927. package/src/internal/platform-schedule-sync.ts +1 -1
  928. package/src/internal/platform-timers.ts +1 -1
  929. package/src/internal/playground/static.ts +2 -2
  930. package/src/internal/playground/toolchain.ts +2 -2
  931. package/src/internal/playground-proxy.ts +3 -3
  932. package/src/internal/process-memory-telemetry.ts +1 -1
  933. package/src/internal/reminder-runner.ts +8 -10
  934. package/src/internal/reminder-store.ts +1 -1
  935. package/src/internal/request-error-status.ts +9 -0
  936. package/src/internal/resolved-connections.ts +8 -8
  937. package/src/internal/result-output.ts +62 -5
  938. package/src/internal/router.ts +4 -4
  939. package/src/internal/run-client.ts +3 -3
  940. package/src/internal/schedule-runner.ts +6 -6
  941. package/src/internal/scm/pr-url.ts +11 -2
  942. package/src/internal/sdk-runner.ts +15 -29
  943. package/src/internal/serve-restart.ts +1 -1
  944. package/src/internal/server.ts +97 -115
  945. package/src/internal/session-cost.ts +3 -3
  946. package/src/internal/session-engine.ts +517 -445
  947. package/src/internal/session-run-log.ts +4 -6
  948. package/src/internal/session-store.ts +213 -39
  949. package/src/internal/sessions-client.ts +3 -3
  950. package/src/internal/slack-thread-key.ts +11 -0
  951. package/src/internal/sleep.ts +1 -1
  952. package/src/internal/storage-coordinator.ts +122 -96
  953. package/src/internal/storage-roles.ts +4 -9
  954. package/src/internal/storage.ts +1 -0
  955. package/src/internal/store-mirror.ts +4 -4
  956. package/src/internal/terminal-style.ts +2 -2
  957. package/src/internal/tool-result.ts +3 -3
  958. package/src/internal/trajectory.ts +7 -7
  959. package/src/internal/turn-governor.ts +2 -2
  960. package/src/internal/turn-outbox.ts +1 -1
  961. package/src/internal/update-check.ts +2 -2
  962. package/src/internal/v2-hosting.ts +14 -0
  963. package/src/internal/workspace.ts +17 -17
  964. package/src/kv/memory-kv.ts +9 -7
  965. package/src/kv.ts +4 -7
  966. package/src/otel-public.ts +24 -0
  967. package/src/otel.ts +7 -2
  968. package/src/prompt.ts +1 -1
  969. package/src/result.ts +10 -8
  970. package/src/storage-backends/cursor-hosted-v2.ts +6 -9
  971. package/src/storage-backends/cursor-hosted.ts +6 -60
  972. package/src/storage-backends/file-kv.ts +17 -58
  973. package/src/storage-protocol.ts +3 -17
  974. package/src/storage.ts +32 -108
  975. package/src/types.ts +101 -73
  976. package/templates/agentic-owners/agent/channels/github.ts +3 -6
  977. package/templates/agentic-owners/agent/lib/github.ts +5 -5
  978. package/templates/agentic-owners/agent/lib/owners/decision.ts +13 -10
  979. package/templates/agentic-owners/agent/lib/owners/handles.ts +2 -2
  980. package/templates/agentic-owners/agent/lib/owners/match.ts +3 -3
  981. package/templates/agentic-owners/agent/lib/owners/matching.ts +1 -1
  982. package/templates/agentic-owners/agent/lib/owners/parse.ts +4 -9
  983. package/templates/agentic-owners/agent/lib/owners/prompt.ts +1 -1
  984. package/templates/agentic-owners/agent/lib/review.ts +37 -30
  985. package/templates/agentic-owners/evals/owners.eval.ts +2 -2
  986. package/templates/agentic-owners/package.json +1 -1
  987. package/templates/agents-md/agent/lib/collect.ts +16 -10
  988. package/templates/agents-md/agent/lib/config.ts +1 -1
  989. package/templates/agents-md/agent/tools/apply_agents.ts +10 -8
  990. package/templates/agents-md/package.json +1 -1
  991. package/templates/code-wiki/agent/channels/github.ts +4 -7
  992. package/templates/code-wiki/agent/lib/repos.ts +1 -1
  993. package/templates/code-wiki/agent/tools/apply_wiki.ts +3 -4
  994. package/templates/code-wiki/package.json +1 -1
  995. package/templates/demo/README.md +10 -6
  996. package/templates/demo/agent/channels/github.ts +2 -0
  997. package/templates/demo/agent/channels/queue.ts +6 -2
  998. package/templates/demo/agent/lib/collect.ts +6 -2
  999. package/templates/demo/agent/lib/repos.ts +5 -0
  1000. package/templates/demo/agent/tools/record_demo.ts +1 -1
  1001. package/templates/demo/evals/demo.eval.ts +1 -5
  1002. package/templates/demo/init.json +25 -0
  1003. package/templates/demo/package.json +1 -1
  1004. package/templates/grokbot-agents/package.json +1 -1
  1005. package/templates/pr-autofixer/agent/channels/github.ts +16 -13
  1006. package/templates/pr-autofixer/agent/lib/merge-watch.ts +2 -4
  1007. package/templates/pr-autofixer/agent/lib/repos.ts +2 -2
  1008. package/templates/pr-autofixer/agent/lib/webhook-routing.ts +1 -1
  1009. package/templates/pr-autofixer/package.json +1 -1
  1010. package/templates/security-help/agent/lib/repos.ts +1 -1
  1011. package/templates/security-help/package.json +1 -1
  1012. package/templates/security-reviewer/agent/lib/repos.ts +1 -1
  1013. package/templates/security-reviewer/agent/tools/post_findings.ts +1 -3
  1014. package/templates/security-reviewer/package.json +1 -1
  1015. package/templates/triage/agent/lib/actuate.ts +26 -41
  1016. package/templates/triage/agent/lib/parse-queue-event.ts +2 -1
  1017. package/templates/triage/agent/lib/verify-webhook.ts +10 -5
  1018. package/templates/triage/agent/tools/record_triage.ts +1 -4
  1019. package/templates/triage/package.json +1 -1
  1020. package/dist/ab.d.ts +0 -209
  1021. package/dist/ab.d.ts.map +0 -1
  1022. package/dist/ab.js +0 -246
  1023. package/dist/client.d.ts +0 -14
  1024. package/dist/client.d.ts.map +0 -1
  1025. package/dist/client.js +0 -12
  1026. package/dist/docs/ab.html +0 -80
  1027. package/dist/docs/ab.md +0 -332
  1028. package/dist/docs/assets/ab.md.mlVgqvSk.js +0 -54
  1029. package/dist/docs/assets/ab.md.mlVgqvSk.lean.js +0 -1
  1030. package/dist/docs/assets/app.BASKM3M4.js +0 -1
  1031. package/dist/docs/assets/chunks/@localSearchIndexroot.BHZYsNVi.js +0 -1
  1032. package/dist/docs/assets/chunks/framework.BCISBCiQ.js +0 -19
  1033. package/dist/docs/assets/concepts.md.DgEcZOfT.js +0 -1
  1034. package/dist/docs/assets/concepts.md.DgEcZOfT.lean.js +0 -1
  1035. package/dist/docs/assets/evals.md.C1ekS3k2.js +0 -85
  1036. package/dist/docs/assets/evals.md.C1ekS3k2.lean.js +0 -1
  1037. package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.js +0 -10
  1038. package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.lean.js +0 -1
  1039. package/dist/docs/assets/guides_grokbot-agents.md.DyV-WArv.js +0 -9
  1040. package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.js +0 -28
  1041. package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.lean.js +0 -1
  1042. package/dist/docs/assets/hillclimbing.md.CpTGTCle.js +0 -4
  1043. package/dist/docs/assets/hillclimbing.md.CpTGTCle.lean.js +0 -1
  1044. package/dist/docs/assets/index.md.BjH1w2ZW.js +0 -5
  1045. package/dist/docs/assets/index.md.BjH1w2ZW.lean.js +0 -1
  1046. package/dist/docs/assets/quickstart.md.DdQOF7Y8.lean.js +0 -1
  1047. package/dist/docs/assets/reference_project-layout.md.DuBu9a96.js +0 -19
  1048. package/dist/docs/assets/reference_result.md.BK5SxDrf.js +0 -19
  1049. package/dist/docs/assets/reference_result.md.BK5SxDrf.lean.js +0 -1
  1050. package/dist/docs/assets/reference_sessions.md.CueyOHSL.js +0 -1
  1051. package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.js +0 -1
  1052. package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.lean.js +0 -1
  1053. package/dist/docs/assets/skills_ab.md.CsFNatVx.js +0 -26
  1054. package/dist/docs/assets/skills_ab.md.CsFNatVx.lean.js +0 -1
  1055. package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.js +0 -8
  1056. package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.lean.js +0 -1
  1057. package/dist/docs/assets/skills_debug.md.CVjCXMFF.js +0 -1
  1058. package/dist/docs/assets/skills_debug.md.CVjCXMFF.lean.js +0 -1
  1059. package/dist/docs/assets/skills_evals.md.BhovOvrl.js +0 -25
  1060. package/dist/docs/assets/skills_evals.md.BhovOvrl.lean.js +0 -1
  1061. package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.js +0 -1
  1062. package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.lean.js +0 -1
  1063. package/dist/docs/assets/skills_github.md.hgFX_oKY.js +0 -16
  1064. package/dist/docs/assets/skills_github.md.hgFX_oKY.lean.js +0 -1
  1065. package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.js +0 -7
  1066. package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.lean.js +0 -1
  1067. package/dist/docs/assets/skills_index.md.DKwIxzGg.js +0 -1
  1068. package/dist/docs/assets/skills_index.md.DKwIxzGg.lean.js +0 -1
  1069. package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.js +0 -18
  1070. package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.lean.js +0 -1
  1071. package/dist/docs/assets/skills_otel.md.B5Ddv1xH.js +0 -8
  1072. package/dist/docs/assets/skills_otel.md.B5Ddv1xH.lean.js +0 -1
  1073. package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.js +0 -20
  1074. package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.lean.js +0 -1
  1075. package/dist/docs/assets/storage.md.BOHeqk2M.js +0 -30
  1076. package/dist/docs/assets/storage.md.BOHeqk2M.lean.js +0 -1
  1077. package/dist/docs/assets/templates_agents-md.md.CXSMZljE.js +0 -2
  1078. package/dist/docs/assets/templates_agents-md.md.CXSMZljE.lean.js +0 -1
  1079. package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.js +0 -2
  1080. package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.lean.js +0 -1
  1081. package/dist/docs/assets/templates_demo.md.BeQX9V3H.js +0 -4
  1082. package/dist/docs/assets/templates_demo.md.BeQX9V3H.lean.js +0 -1
  1083. package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.js +0 -3
  1084. package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.lean.js +0 -1
  1085. package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.js +0 -4
  1086. package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.lean.js +0 -1
  1087. package/dist/docs/concepts.html +0 -27
  1088. package/dist/docs/concepts.md +0 -168
  1089. package/dist/docs/design/filesystem.md +0 -376
  1090. package/dist/docs/design/runtime-abstraction.md +0 -1756
  1091. package/dist/docs/guides/human-in-the-loop.html +0 -54
  1092. package/dist/docs/guides/human-in-the-loop.md +0 -126
  1093. package/dist/docs/reference/result.html +0 -45
  1094. package/dist/docs/reference/result.md +0 -89
  1095. package/dist/docs/scaffolding-agents.html +0 -27
  1096. package/dist/docs/scaffolding-agents.md +0 -130
  1097. package/dist/docs/skills/ab.html +0 -52
  1098. package/dist/docs/skills/ab.md +0 -50
  1099. package/dist/docs/skills/create-agent.html +0 -34
  1100. package/dist/docs/skills/create-agent.md +0 -160
  1101. package/dist/docs/skills/debug.html +0 -27
  1102. package/dist/docs/skills/debug.md +0 -36
  1103. package/dist/docs/skills/evals.html +0 -51
  1104. package/dist/docs/skills/evals.md +0 -99
  1105. package/dist/docs/skills/framework-map.html +0 -27
  1106. package/dist/docs/skills/framework-map.md +0 -100
  1107. package/dist/docs/skills/github.html +0 -42
  1108. package/dist/docs/skills/github.md +0 -93
  1109. package/dist/docs/skills/hillclimb.html +0 -33
  1110. package/dist/docs/skills/hillclimb.md +0 -55
  1111. package/dist/docs/skills/index.html +0 -27
  1112. package/dist/docs/skills/index.md +0 -21
  1113. package/dist/docs/skills/mcp-auth.html +0 -44
  1114. package/dist/docs/skills/mcp-auth.md +0 -76
  1115. package/dist/docs/skills/otel.html +0 -34
  1116. package/dist/docs/skills/otel.md +0 -53
  1117. package/dist/docs/skills/setup-slack.html +0 -46
  1118. package/dist/docs/skills/setup-slack.md +0 -141
  1119. package/dist/docs/storage.html +0 -56
  1120. package/dist/docs/storage.md +0 -176
  1121. package/dist/docs/templates/agents-md.html +0 -28
  1122. package/dist/docs/templates/agents-md.md +0 -105
  1123. package/dist/docs/templates/code-wiki.html +0 -28
  1124. package/dist/docs/templates/code-wiki.md +0 -91
  1125. package/dist/docs/templates/demo.html +0 -30
  1126. package/dist/docs/templates/demo.md +0 -80
  1127. package/dist/docs/templates/grokbot-agents.html +0 -29
  1128. package/dist/docs/templates/grokbot-agents.md +0 -48
  1129. package/dist/docs/templates/security-help.html +0 -30
  1130. package/dist/docs/templates/security-help.md +0 -65
  1131. package/dist/internal/ab-collector.d.ts +0 -44
  1132. package/dist/internal/ab-collector.d.ts.map +0 -1
  1133. package/dist/internal/ab-collector.js +0 -142
  1134. package/dist/internal/ab-fold.d.ts +0 -36
  1135. package/dist/internal/ab-fold.d.ts.map +0 -1
  1136. package/dist/internal/ab-fold.js +0 -175
  1137. package/dist/internal/ab-snapshot.d.ts +0 -68
  1138. package/dist/internal/ab-snapshot.d.ts.map +0 -1
  1139. package/dist/internal/ab-snapshot.js +0 -208
  1140. package/dist/internal/discovery/ab.d.ts +0 -9
  1141. package/dist/internal/discovery/ab.d.ts.map +0 -1
  1142. package/dist/internal/discovery/ab.js +0 -113
  1143. package/dist/internal/tenant-slack/relay.d.ts +0 -75
  1144. package/dist/internal/tenant-slack/relay.d.ts.map +0 -1
  1145. package/dist/internal/tenant-slack/relay.js +0 -148
  1146. package/dist/playground/assets/index-BMDqAeXu.js +0 -67
  1147. package/dist/playground/assets/index-LUgJoWdL.css +0 -1
  1148. package/docs/ab.md +0 -337
  1149. package/docs/concepts.md +0 -173
  1150. package/docs/design/filesystem.md +0 -376
  1151. package/docs/design/runtime-abstraction.md +0 -1756
  1152. package/docs/guides/human-in-the-loop.md +0 -131
  1153. package/docs/reference/result.md +0 -94
  1154. package/docs/scaffolding-agents.md +0 -135
  1155. package/docs/skills/index.md +0 -26
  1156. package/docs/storage.md +0 -181
  1157. package/docs/templates/agents-md.md +0 -110
  1158. package/docs/templates/code-wiki.md +0 -96
  1159. package/docs/templates/demo.md +0 -85
  1160. package/docs/templates/grokbot-agents.md +0 -53
  1161. package/docs/templates/security-help.md +0 -70
  1162. package/skills/ab/SKILL.md +0 -58
  1163. package/src/ab.ts +0 -430
  1164. package/src/client.ts +0 -23
  1165. package/src/internal/ab-collector.ts +0 -200
  1166. package/src/internal/ab-fold.ts +0 -232
  1167. package/src/internal/ab-snapshot.ts +0 -331
  1168. package/src/internal/discovery/ab.ts +0 -131
  1169. package/src/internal/tenant-slack/relay.ts +0 -203
  1170. package/templates/pr-autofixer/agent/storage.ts +0 -7
package/src/storage.ts CHANGED
@@ -4,19 +4,18 @@
4
4
  * Author `agent/storage.ts` with {@link defineStorage} to mirror the
5
5
  * framework's durable state into storage you own (a database, S3, a data
6
6
  * pipeline, …). Without it, state lives under `--state-root` on local disk
7
- * only, and eval/A/B history stays in process memory.
7
+ * only, and eval history stays in process memory.
8
8
  *
9
9
  * The sink is a plain key-value store — put/get/delete/list, no schema —
10
10
  * plus a conditional-write group ({@link StorageConfig.cas}; optional).
11
11
  * Implementing that small KV core is enough for
12
- * FULL functionality: eval-run and A/B history are derived over the core
13
- * when the optional dedicated tables ({@link StorageConfig.evals} and
14
- * {@link StorageConfig.abs}) are not authored those groups exist as
15
- * backend-native optimizations (a real table, an analytics pipeline),
16
- * not as required-or-lose-history hooks:
12
+ * FULL functionality: eval-run history is derived over the core when the
13
+ * optional dedicated table ({@link StorageConfig.evals}) is not authored —
14
+ * that group exists as a backend-native optimization (a real table, an
15
+ * analytics pipeline), not as a required-or-lose-history hook:
17
16
  *
18
17
  * ```ts
19
- * import { defineStorage } from "@cursor/july/storage";
18
+ * import { defineStorage } from "@cursor/july/internal/storage";
20
19
  *
21
20
  * export default defineStorage({
22
21
  * put: (key, value) => db.upsert(key, value),
@@ -25,7 +24,6 @@
25
24
  * list: (prefix) => db.listByPrefix(prefix), // [{ key, value }] in key order
26
25
  * cas: { getWithVersion: ..., putIfAbsent: ..., putIfVersion: ..., listKeys: ... },
27
26
  * evals: { put: ..., delete: ..., list: ... }, // eval-runs table
28
- * abs: { putSample: ... }, // A/B table
29
27
  * });
30
28
  * ```
31
29
  *
@@ -51,9 +49,7 @@
51
49
  * interface is the durable mirror.
52
50
  */
53
51
 
54
- import type { ABMetricSample } from "./ab.js";
55
52
  import type { EvalRunSnapshot } from "./evals.js";
56
- import type { ABSnapshot } from "./internal/ab-snapshot.js";
57
53
  import { brandDefinition } from "./internal/brand.js";
58
54
  import { storageKeys } from "./storage-protocol.js";
59
55
  import type { JsonValue, KvCasResult, KvVersionedEntry } from "./types.js";
@@ -161,24 +157,6 @@ export interface StorageEvalsTable {
161
157
  list(ctx: StorageContext): EvalRunSnapshot[] | Promise<EvalRunSnapshot[]>;
162
158
  }
163
159
 
164
- /**
165
- * Dedicated table for live A/B metrics: one row per cumulative metric
166
- * sample (unique per `experiment` + `sessionId` + `at` — one boundary
167
- * event emits a sample per enrolled experiment), plus — optionally — the latest
168
- * aggregate snapshot so a replacement host with no local sessions can
169
- * still serve the A/Bs surface.
170
- */
171
- export interface StorageABTable {
172
- /** Append one cumulative metric sample (turn complete/fail). */
173
- putSample(sample: ABMetricSample, ctx: StorageContext): void | Promise<void>;
174
- /** Upsert the latest aggregate snapshot (framework-throttled). Optional. */
175
- putSnapshot?(snapshot: ABSnapshot, ctx: StorageContext): void | Promise<void>;
176
- /** Latest saved aggregate snapshot (replacement-host backfill). Optional. */
177
- getSnapshot?(
178
- ctx: StorageContext
179
- ): ABSnapshot | undefined | null | Promise<ABSnapshot | undefined | null>;
180
- }
181
-
182
160
  /**
183
161
  * Conditional writes (CAS) — the coordination tier of the storage backend
184
162
  * contract. Plain storage works without it, so existing backends keep
@@ -186,9 +164,8 @@ export interface StorageABTable {
186
164
  * it, so implementing this group yourself only comes up for BYO storage.
187
165
  *
188
166
  * Grouped under {@link StorageConfig.cas} rather than as loose methods —
189
- * matching the `evals` / `abs` table groups — so `defineStorage`
190
- * validates the whole group at once: there is no meaningful
191
- * half-implementation.
167
+ * matching the `evals` table group — so `defineStorage` validates the
168
+ * whole group at once: there is no meaningful half-implementation.
192
169
  *
193
170
  * Version tokens are opaque per-key strings that change on every
194
171
  * successful write (counter, UUID, content hash — whatever is cheap for
@@ -234,14 +211,6 @@ export interface StorageConfig {
234
211
  * memory (lost on restart).
235
212
  */
236
213
  evals?: StorageEvalsTable;
237
- /**
238
- * Dedicated A/B table — a backend-native optimization, not a
239
- * requirement. When omitted, `defineStorage` derives it over the KV
240
- * core: `putSample` and `putSnapshot` need only core `put` (always
241
- * present), `getSnapshot` additionally needs core `get`. Session event
242
- * logs remain the assignment/fold source of truth either way.
243
- */
244
- abs?: StorageABTable;
245
214
  /**
246
215
  * Conditional writes (CAS). Optional for plain storage — existing
247
216
  * backends keep working without it. The built-in backends (`fileKv`,
@@ -256,11 +225,25 @@ export interface StorageConfig {
256
225
  * growing memory; it never stalls the agent loop.
257
226
  */
258
227
  put(key: string, value: JsonValue, ctx: StorageContext): void | Promise<void>;
228
+ /**
229
+ * Store several values in one call. Optional — the coordinator uses it
230
+ * only when present, so authored sinks keep `put`'s strict one-at-a-time
231
+ * ordering. Entries belong to one flush and are independent keys; the
232
+ * implementation may write them in a single backend round trip. Report
233
+ * per-entry outcomes, index-aligned with the input: one key's failure
234
+ * must not take down its batch siblings. A thrown rejection is treated
235
+ * as every entry failing (logged and dropped, at-most-once) — reserve it
236
+ * for faults that genuinely precede any write.
237
+ */
238
+ putMany?(
239
+ entries: Array<{ key: string; value: JsonValue }>,
240
+ ctx: StorageContext
241
+ ): Promise<Array<{ key: string; error?: unknown }>>;
259
242
  /** Remove a key. Optional — without it, deletions are skipped. */
260
243
  delete?(key: string, ctx: StorageContext): void | Promise<void>;
261
244
  /**
262
245
  * Point lookup. Optional — required for **lazy restore** (resolving a
263
- * continuation token on a replacement host) and the A/B backfill.
246
+ * continuation token on a replacement host).
264
247
  * Return `undefined`/`null` only for a **definitive** miss: on the lazy
265
248
  * restore path a throw propagates and fails the follow-up (retryable) —
266
249
  * a store outage must not read as "unknown token", which would fork the
@@ -300,13 +283,14 @@ export type StorageDefinition = StorageConfig & {
300
283
 
301
284
  /**
302
285
  * Author the project storage sink (`agent/storage.ts`, default
303
- * export). See the module doc for semantics and an example.
286
+ * export). Import from `@cursor/july/internal/storage`, not
287
+ * `@cursor/july`. See the module doc for semantics and an example.
304
288
  */
305
289
  export function defineStorage(config: StorageConfig): StorageDefinition {
306
290
  if (typeof config.put !== "function") {
307
291
  throw new Error("defineStorage: config.put must be a function");
308
292
  }
309
- for (const hook of ["get", "list", "delete"] as const) {
293
+ for (const hook of ["get", "list", "delete", "putMany"] as const) {
310
294
  const value = config[hook];
311
295
  if (value !== undefined && typeof value !== "function") {
312
296
  throw new Error(
@@ -334,46 +318,28 @@ export function defineStorage(config: StorageConfig): StorageDefinition {
334
318
  // A partial group is a bug, not a legacy config: half-implemented CAS
335
319
  // would pass the capability probe.
336
320
  const missingCasHooks = casHooks.filter(
337
- (hook) => typeof cas[hook] !== "function"
321
+ hook => typeof cas[hook] !== "function"
338
322
  );
339
323
  if (missingCasHooks.length > 0) {
340
324
  throw new Error(
341
325
  `defineStorage: ${missingCasHooks
342
- .map((hook) => `cas.${hook}`)
326
+ .map(hook => `cas.${hook}`)
343
327
  .join(
344
328
  ", "
345
329
  )} must be ${missingCasHooks.length === 1 ? "a function" : "functions"} when the cas group is set`
346
330
  );
347
331
  }
348
332
  }
349
- if (config.abs !== undefined) {
350
- if (typeof config.abs.putSample !== "function") {
351
- throw new Error(
352
- "defineStorage: abs.putSample must be a function when the abs table is set"
353
- );
354
- }
355
- for (const hook of ["putSnapshot", "getSnapshot"] as const) {
356
- const value = config.abs[hook];
357
- if (value !== undefined && typeof value !== "function") {
358
- throw new Error(
359
- `defineStorage: abs.${hook} must be a function when set`
360
- );
361
- }
362
- }
363
- }
364
333
  // Validate eagerly so a bad policy fails at discovery, not first flush.
365
334
  resolveStoragePolicy(config.policy);
366
335
  // A backend that implements only the KV core gets full functionality:
367
- // the dedicated tables are backend-native optimizations, derived over
368
- // the core when absent. Authored groups always win.
336
+ // the dedicated table is a backend-native optimization, derived over
337
+ // the core when absent. An authored group always wins.
369
338
  const derivedEvals =
370
339
  config.evals === undefined ? deriveEvalsTable(config) : undefined;
371
- const derivedAbs =
372
- config.abs === undefined ? deriveAbsTable(config) : undefined;
373
340
  return brandDefinition("storage", {
374
341
  ...config,
375
342
  ...(derivedEvals === undefined ? {} : { evals: derivedEvals }),
376
- ...(derivedAbs === undefined ? {} : { abs: derivedAbs }),
377
343
  });
378
344
  }
379
345
 
@@ -399,57 +365,15 @@ function deriveEvalsTable(
399
365
  ),
400
366
  delete: (runId, ctx) =>
401
367
  config.delete?.(storageKeys.evalRun(ctx.agentName, runId), ctx),
402
- list: async (ctx) => {
368
+ list: async ctx => {
403
369
  const entries =
404
370
  (await config.list?.(storageKeys.evalRunsPrefix(ctx.agentName), ctx)) ??
405
371
  [];
406
- return entries.map((entry) => entry.value as unknown as EvalRunSnapshot);
372
+ return entries.map(entry => entry.value as unknown as EvalRunSnapshot);
407
373
  },
408
374
  };
409
375
  }
410
376
 
411
- /**
412
- * A/B table over the KV core. Each sample lands as its own key (identity
413
- * = experiment + sessionId + at, matching the dedicated table's row
414
- * uniqueness): appending to one array value would need read-modify-write
415
- * — lost updates under concurrent writers without CAS, and unbounded
416
- * value growth — while a key per sample keeps `putSample` a blind put
417
- * with real append-only semantics. The aggregate snapshot lives at one
418
- * fixed key via plain `put` (last-write-wins is correct for "latest").
419
- * Requires only core `put`; `getSnapshot` is included when core `get`
420
- * exists.
421
- */
422
- function deriveAbsTable(config: StorageConfig): StorageABTable {
423
- const get = config.get;
424
- return {
425
- putSample: (sample, ctx) =>
426
- config.put(
427
- storageKeys.abSample(
428
- ctx.agentName,
429
- sample.experiment,
430
- sample.sessionId,
431
- sample.at
432
- ),
433
- sample as unknown as JsonValue,
434
- ctx
435
- ),
436
- putSnapshot: (snapshot, ctx) =>
437
- config.put(
438
- storageKeys.abSnapshot(ctx.agentName),
439
- snapshot as unknown as JsonValue,
440
- ctx
441
- ),
442
- ...(get === undefined
443
- ? {}
444
- : {
445
- getSnapshot: async (ctx: StorageContext) => {
446
- const value = await get(storageKeys.abSnapshot(ctx.agentName), ctx);
447
- return (value ?? undefined) as ABSnapshot | undefined;
448
- },
449
- }),
450
- };
451
- }
452
-
453
377
  // ============================================================================
454
378
  // Policy resolution
455
379
  // ============================================================================
package/src/types.ts CHANGED
@@ -10,7 +10,6 @@
10
10
 
11
11
  import type { InteractionUpdate, SDKCustomTool, ToolName } from "@cursor/sdk";
12
12
  import type { z } from "zod";
13
- import type { ABConfigFile } from "./ab.js";
14
13
  import type { FileSystem } from "./filesystem.js";
15
14
  import type {
16
15
  ContinuationClaim,
@@ -55,7 +54,6 @@ export type DefinitionKind =
55
54
  | "reminder"
56
55
  | "hook"
57
56
  | "eval"
58
- | "ab"
59
57
  | "storage"
60
58
  | "artifacts"
61
59
  | "otel"
@@ -157,7 +155,7 @@ export function toPublicCloudInfo(
157
155
  ...rest,
158
156
  ...(repos !== undefined
159
157
  ? {
160
- repos: repos.map((repo) => ({
158
+ repos: repos.map(repo => ({
161
159
  ...repo,
162
160
  url: redactHttpUrlCredentials(repo.url),
163
161
  ...(repo.prUrl !== undefined
@@ -285,6 +283,19 @@ export interface AgentConfig {
285
283
  * you to select a specific architecture.
286
284
  */
287
285
  architecture?: AgentArchitecture;
286
+ /**
287
+ * Persistent hosting for `architecture: "v2"`.
288
+ *
289
+ * Default (`false`): each session boots a pod from the release snapshot;
290
+ * framework and author state are mirrored to Cursor stores because pod
291
+ * disks are disposable.
292
+ *
293
+ * `true`: one long-lived pod per deployment runs each deployed version as
294
+ * a container over one state directory on the pod's disk. Nothing is
295
+ * mirrored: that directory is the durable copy. A redeploy starts the new
296
+ * version beside the old one on the same state, then drains the old one.
297
+ */
298
+ persistent?: boolean;
288
299
  }
289
300
 
290
301
  /** Hosted architecture on {@link AgentConfig.architecture}. */
@@ -1143,8 +1154,10 @@ export interface ExtensionOptions<TConfig, TInput = TConfig> {
1143
1154
  * `agent/extensions/<ns>.ts` to mount the extension with a configuration;
1144
1155
  * the extension's own modules import it to read that configuration.
1145
1156
  */
1146
- export interface Extension<TConfig = undefined, TInput = TConfig>
1147
- extends ExtensionDeclaration {
1157
+ export interface Extension<
1158
+ TConfig = undefined,
1159
+ TInput = TConfig,
1160
+ > extends ExtensionDeclaration {
1148
1161
  (
1149
1162
  ...args: undefined extends TInput ? [config?: TInput] : [config: TInput]
1150
1163
  ): ExtensionMount;
@@ -1202,8 +1215,8 @@ export type DisabledConnectionDefinition =
1202
1215
  /**
1203
1216
  * `export default disable()` / `disableSkill()` / `disableHook()` /
1204
1217
  * `disableChannel()` / `disableSchedule()` / `disableSubagent()` /
1205
- * `disableInstructions()` / `disableAB()` / `disableArtifacts()` in a
1206
- * directory mount removes that contribution from the matching overlay slot.
1218
+ * `disableInstructions()` / `disableArtifacts()` in a directory mount
1219
+ * removes that contribution from the matching overlay slot.
1207
1220
  */
1208
1221
  export type DisabledDefinition = BrandedDefinition<"disabled">;
1209
1222
 
@@ -1232,8 +1245,6 @@ export interface DiscoveredExtension {
1232
1245
  instructions: boolean;
1233
1246
  /** Workspace seed paths the mount contributed. */
1234
1247
  seedFiles: string[];
1235
- /** Composed A/B experiment names (`<ns>__<name>`). */
1236
- abs: string[];
1237
1248
  /** Composed artifact kind names (`<ns>__<kind>`). */
1238
1249
  artifactKinds: string[];
1239
1250
  }
@@ -1313,7 +1324,7 @@ export function normalizeCursorAccountServers(
1313
1324
  if (servers === undefined || servers === "*") {
1314
1325
  return undefined;
1315
1326
  }
1316
- const trimmed = servers.map((server) => server.trim());
1327
+ const trimmed = servers.map(server => server.trim());
1317
1328
  if (trimmed.length === 1 && trimmed[0] === "*") {
1318
1329
  return undefined;
1319
1330
  }
@@ -1327,8 +1338,8 @@ export function cursorAccountServersHasMixedWildcard(
1327
1338
  if (servers === undefined || servers === "*") {
1328
1339
  return false;
1329
1340
  }
1330
- const trimmed = servers.map((server) => server.trim());
1331
- return trimmed.includes("*") && trimmed.some((server) => server !== "*");
1341
+ const trimmed = servers.map(server => server.trim());
1342
+ return trimmed.includes("*") && trimmed.some(server => server !== "*");
1332
1343
  }
1333
1344
 
1334
1345
  /**
@@ -1615,15 +1626,6 @@ export interface PendingAuth {
1615
1626
 
1616
1627
  export type SessionEventPayload =
1617
1628
  | { type: "session.started"; data: { channelId: string; dryRun?: boolean } }
1618
- | {
1619
- /**
1620
- * Sticky A/B enrollment for one experiment (`defineAB` under `agent/ab`).
1621
- * Appended at session creation (before the first turn). `variant` is a
1622
- * key of the experiment's `variants`, or `null` for sticky skip.
1623
- */
1624
- type: "ab.assigned";
1625
- data: { experiment: string; variant: string | null };
1626
- }
1627
1629
  | {
1628
1630
  /** Cursor SDK agent id is known (cloud: `bc-…`; local: session id). */
1629
1631
  type: "agent.bound";
@@ -1813,8 +1815,8 @@ export interface TurnUsage {
1813
1815
 
1814
1816
  /**
1815
1817
  * Dollar cost of one turn's token usage (one agent loop pass).
1816
- * Recorded on `turn.completed` events so traces, the playground, A/B
1817
- * metrics, and the CLI can aggregate spend. Computed by
1818
+ * Recorded on `turn.completed` events so traces, the playground, and the
1819
+ * CLI can aggregate spend. Computed by
1818
1820
  * `POST /v1/models/estimate-cost` — billed usage events when available
1819
1821
  * (credits, discounts, CTF), otherwise live catalog pricing.
1820
1822
  */
@@ -1841,8 +1843,7 @@ export type SessionMode = "chat" | "task";
1841
1843
 
1842
1844
  /**
1843
1845
  * Why the session exists. `"eval"` is regression traffic (`defineEval` /
1844
- * `agent-sdk eval` / playground Evals) and is excluded from live A/B
1845
- * enrollment. Default `"live"`.
1846
+ * `agent-sdk eval` / playground Evals). Default `"live"`.
1846
1847
  */
1847
1848
  export type SessionPurpose = "live" | "eval";
1848
1849
 
@@ -1859,12 +1860,6 @@ export interface SessionInfo {
1859
1860
  asOf?: string;
1860
1861
  auth: AuthContext | null;
1861
1862
  title?: string;
1862
- /**
1863
- * Sticky A/B arms for this session (`defineAB`): experiment name → variant
1864
- * key, or `null` for sticky skip. Present after enrollment at session
1865
- * create (live traffic only). Tools/hooks/harness overlays read this.
1866
- */
1867
- abs?: Readonly<Record<string, string | null>>;
1868
1863
  /**
1869
1864
  * Channel-local continuation key when the session is addressable for
1870
1865
  * follow-ups / reminders. Null when the session is not re-keyable.
@@ -1885,20 +1880,14 @@ export interface SessionRecord {
1885
1880
  channelId: string;
1886
1881
  mode: SessionMode;
1887
1882
  /**
1888
- * `"eval"` for harness sessions skipped by {@link defineAB} enrollment.
1889
- * Older records omit this (treated as `"live"`).
1883
+ * `"eval"` for harness sessions. Older records omit this (treated as
1884
+ * `"live"`).
1890
1885
  */
1891
1886
  purpose?: SessionPurpose;
1892
1887
  /** Frozen at create from {@link SendMessageOptions.dryRun}. */
1893
1888
  dryRun?: boolean;
1894
1889
  /** Frozen at create from {@link SendMessageOptions.asOf}. */
1895
1890
  asOf?: string;
1896
- /**
1897
- * Denormalized sticky A/B arms (mirrors durable `ab.assigned` events) so
1898
- * the agent loop / tools can read arms without re-folding the log. Source
1899
- * of truth for stickiness remains the event stream.
1900
- */
1901
- abs?: Record<string, string | null>;
1902
1891
  /** Channel-local continuation key; null when the session is not addressable. */
1903
1892
  continuationKey: string | null;
1904
1893
  /**
@@ -2083,8 +2072,8 @@ export interface SendMessageOptions {
2083
2072
  /** Session display title (applied when creating a new session). */
2084
2073
  title?: string;
2085
2074
  /**
2086
- * Session purpose at create time. `"eval"` skips sticky A/B enrollment
2087
- * (`defineAB`) so regression runs do not mix into live metrics.
2075
+ * Session purpose at create time. `"eval"` marks regression traffic so
2076
+ * hooks, `defineResult`, and telemetry can tell it from live sessions.
2088
2077
  */
2089
2078
  purpose?: SessionPurpose;
2090
2079
  /**
@@ -2304,6 +2293,13 @@ export interface ChannelHandlerArgs {
2304
2293
  * pass `sessionId` in `tag` input to attribute one).
2305
2294
  */
2306
2295
  artifacts: ArtifactsApi;
2296
+ /** Hosted Slack admission uses this to paint a warm follow-up. */
2297
+ hasContinuationSession?(continuationToken: string): Promise<boolean>;
2298
+ isContinuationBusy?(continuationToken: string): Promise<boolean>;
2299
+ getContinuationLastBotMessageTs?(
2300
+ continuationToken: string
2301
+ ): Promise<string | undefined>;
2302
+ interruptContinuation?(continuationToken: string): Promise<boolean>;
2307
2303
  }
2308
2304
 
2309
2305
  export type ChannelRouteHandler = (
@@ -2535,9 +2531,9 @@ export interface ChannelStartArgs {
2535
2531
  }
2536
2532
 
2537
2533
  /**
2538
- * Descriptive metadata a channel pack attaches for tooling. Read by
2539
- * discovery / `projectInfo` and CLI helpers (e.g. `agent-sdk github
2540
- * forward`) it never affects routing or dispatch.
2534
+ * Metadata a channel pack attaches for discovery, `projectInfo`, and CLI
2535
+ * helpers (e.g. `agent-sdk github forward`). Most fields are descriptive;
2536
+ * explicitly documented protocol fields may also be consumed by the host.
2541
2537
  */
2542
2538
  export interface ChannelMeta {
2543
2539
  /** Well-known pack kind, e.g. `"github"` or `"slack"`. */
@@ -2574,6 +2570,24 @@ export interface ChannelMeta {
2574
2570
  * `deploymentEventTypes`.
2575
2571
  */
2576
2572
  factoryEventTypes?: readonly string[];
2573
+ /**
2574
+ * For Slack packs: the Events API event types this channel dispatches on
2575
+ * (`app_mention`, `message`), derived from `engagement`. Extracted into
2576
+ * the deploy manifest as `eventTypes` so hosted v2 fanout subscribes to
2577
+ * exactly these. Local Socket Mode ignores it (the socket delivers
2578
+ * whatever the app manifest subscribed to).
2579
+ */
2580
+ slackEventTypes?: readonly string[];
2581
+ /**
2582
+ * Static agentic-reply protocol for hosted Slack ingress. Only literals
2583
+ * belong here: the control plane persists this declaration at deploy time
2584
+ * and may act before author code starts.
2585
+ */
2586
+ slackReply?: {
2587
+ mode: "agentic";
2588
+ ack: string;
2589
+ placeholder?: string;
2590
+ };
2577
2591
  /**
2578
2592
  * For Slack packs with the opt-in channel watch: the allowlisted channels
2579
2593
  * (ids or `#names`) this channel dispatches on without a mention. Surfaced
@@ -2640,10 +2654,33 @@ export interface HttpChannelConfig {
2640
2654
  message: string,
2641
2655
  info: { auth: AuthContext | null }
2642
2656
  ) => string | Promise<string>;
2657
+ /**
2658
+ * Bind host state after the control plane names this session's mailbox
2659
+ * key and before `send()`.
2660
+ */
2661
+ onAdmit?: (info: HttpSessionAdmitInfo) => void | Promise<void>;
2643
2662
  /** Stream-event handlers for sessions created over HTTP. */
2644
2663
  events?: ChannelEventHandlers;
2645
2664
  }
2646
2665
 
2666
+ /** Subject of a hosted HTTP startSession, seen by {@link HttpChannelConfig.onAdmit}. */
2667
+ export type HttpSessionAdmitInfo = {
2668
+ message: string;
2669
+ sessionKey: string;
2670
+ dryRun?: boolean;
2671
+ asOf?: string;
2672
+ host: HostContext;
2673
+ };
2674
+
2675
+ /** Reject a hosted startSession subject from {@link HttpChannelConfig.onAdmit}. */
2676
+ export class HttpSessionAdmitError extends Error {
2677
+ readonly status = 400 as const;
2678
+ constructor(message: string) {
2679
+ super(message);
2680
+ this.name = "HttpSessionAdmitError";
2681
+ }
2682
+ }
2683
+
2647
2684
  export type HttpChannelDefinition = HttpChannelConfig &
2648
2685
  BrandedDefinition<"http-channel">;
2649
2686
 
@@ -2745,16 +2782,24 @@ export interface ResultContext {
2745
2782
  workspaceDir: string;
2746
2783
  /** Full assistant text for the turn. */
2747
2784
  text: string;
2785
+ /**
2786
+ * The commit did not apply; re-run this turn with `message` so the
2787
+ * model can revise. After two repairs the turn fails like a throw.
2788
+ */
2789
+ reject(message: string): never;
2748
2790
  }
2749
2791
 
2750
2792
  /**
2751
2793
  * Input to `defineResult` (authored at `agent/result.ts`).
2752
- * Parse `ctx.text` in `commit`. Throw to fail the turn.
2794
+ * Parse `ctx.text` in `commit`. Throw to fail the turn. Call
2795
+ * {@link ResultContext.reject} for a model-correctable miss so the
2796
+ * same turn can revise before `turn.completed`.
2753
2797
  */
2754
2798
  export interface ResultConfig {
2755
2799
  /**
2756
2800
  * Host actuation after the model finishes, before `turn.completed`.
2757
- * Throw to fail the turn. A dry-run session skips this callback.
2801
+ * Throw to fail the turn. `ctx.reject(message)` re-prompts the model
2802
+ * in this turn (two repairs). A dry-run session skips this callback.
2758
2803
  */
2759
2804
  commit: (ctx: ResultContext) => void | Promise<void>;
2760
2805
  }
@@ -3226,15 +3271,6 @@ export interface DiscoveredHook {
3226
3271
  definition: HookDefinition;
3227
3272
  }
3228
3273
 
3229
- /** Live A/B metrics experiment (`agent/ab.ts` or `agent/ab/<name>.ts`). */
3230
- export interface DiscoveredAB {
3231
- name: string;
3232
- /** File stem the experiment was loaded from (`ab` or a path under `ab/`). */
3233
- source?: string;
3234
- /** Branded `defineAB({ ... })` config (see `@cursor/july/ab`). */
3235
- definition: BrandedDefinition<"ab">;
3236
- }
3237
-
3238
3274
  export interface SeedFile {
3239
3275
  /** Path inside the session workspace. */
3240
3276
  relativePath: string;
@@ -3283,6 +3319,7 @@ export interface ResolvedAgent {
3283
3319
  * continuation defaults onto channels that omitted a selector.
3284
3320
  */
3285
3321
  architecture?: AgentArchitecture;
3322
+ persistent?: boolean;
3286
3323
  tools: DiscoveredTool[];
3287
3324
  skills: DiscoveredSkill[];
3288
3325
  /**
@@ -3308,17 +3345,13 @@ export interface AgentProject {
3308
3345
  agentDir: string;
3309
3346
  name: string;
3310
3347
  agent: ResolvedAgent;
3311
- /** Built-in HTTP channel config (authored override or default). */
3348
+ /** Built-in HTTP session channel. */
3312
3349
  httpChannel: HttpChannelDefinition;
3313
3350
  channels: DiscoveredChannel[];
3314
3351
  schedules: DiscoveredSchedule[];
3315
3352
  /** Named reminder handlers from `agent/reminders/*` (optional / additive). */
3316
3353
  reminders?: DiscoveredReminder[];
3317
3354
  hooks: DiscoveredHook[];
3318
- /** Live A/B metric experiments (`defineAB`). */
3319
- abs: DiscoveredAB[];
3320
- /** Optional `agent/ab.config.ts` (`defineABConfig`). */
3321
- abConfig?: ABConfigFile;
3322
3355
  /** Optional `agent/storage.ts` (`defineStorage`). */
3323
3356
  storage?: StorageDefinition;
3324
3357
  /** Optional `agent/artifacts.ts` (`defineArtifacts`). */
@@ -3415,6 +3448,8 @@ export interface AgentProjectInfo {
3415
3448
  deploymentEventTypes?: readonly string[];
3416
3449
  /** Change Monitor checkpoint or Factory issue event types the channel dispatches on, when declared. */
3417
3450
  factoryEventTypes?: readonly string[];
3451
+ /** Slack Events API event types the channel dispatches on, when declared. */
3452
+ slackEventTypes?: readonly string[];
3418
3453
  /** Slack channels watched for posts (opt-in channel watch), when declared. */
3419
3454
  slackChannelPosts?: readonly string[];
3420
3455
  }>;
@@ -3422,14 +3457,6 @@ export interface AgentProjectInfo {
3422
3457
  /** Named reminder handlers (`agent/reminders/<name>.ts`) when present. */
3423
3458
  reminders?: Array<{ name: string }>;
3424
3459
  hooks: string[];
3425
- /** Live A/B experiment names (`defineAB` under `agent/ab`). */
3426
- abs: string[];
3427
- /** Playground fold / durable-sink meta from `agent/ab.config.ts`. */
3428
- abConfig?: {
3429
- maxPlaygroundSessions?: number;
3430
- durableSamples: boolean;
3431
- durableSnapshots: boolean;
3432
- };
3433
3460
  /** Project storage sink from `agent/storage.ts`, when authored. */
3434
3461
  storage?: { name?: string };
3435
3462
  otel?: { serviceName?: string; enabled: true };
@@ -3498,11 +3525,12 @@ export interface RunnerTurnRequest {
3498
3525
  /** Cloud options when {@link runtime} is `"cloud"`. */
3499
3526
  cloud?: AgentCloudOptions;
3500
3527
  /**
3501
- * Composed instructions ({@link ResolvedAgent.instructions}) for runtimes
3502
- * whose harness cannot read the workspace `AGENTS.md` grokbot turns
3503
- * carry them into the hosted session so they reach the Sand system
3504
- * prompt. Local turns read the materialized workspace instead and leave
3505
- * this unset.
3528
+ * Composed instructions ({@link ResolvedAgent.instructions} plus identity
3529
+ * and tool catalog) delivered as the harness system prompt. Local turns
3530
+ * pass them to the Cursor SDK as `systemPrompt`, replacing Cursor's
3531
+ * built-in prompt; grokbot turns carry them into the hosted session so
3532
+ * they reach the Sand system prompt. Cloud turns leave this unset and
3533
+ * inline the same text into the first prompt instead.
3506
3534
  */
3507
3535
  instructions?: string;
3508
3536
  /**
@@ -1,7 +1,4 @@
1
- import {
2
- defaultGitHubAuth,
3
- githubChannel,
4
- } from "@cursor/july/channels/github";
1
+ import { defaultGitHubAuth, githubChannel } from "@cursor/july/channels/github";
5
2
  import config from "../lib/config.js";
6
3
  import { githubOwnersForge } from "../lib/github.js";
7
4
  import { AgenticOwnersConfigValidationError } from "../lib/owners/parse.js";
@@ -27,8 +24,8 @@ export default githubChannel({
27
24
  cursorAccount: config.repos.length > 0 ? { repos: config.repos } : undefined,
28
25
  // The model never writes to GitHub; record_review actuates host-side.
29
26
  deliverReplies: false,
30
- onStart: (args) => {
31
- log = (line) => args.logger(`[agentic-owners] ${line}`);
27
+ onStart: args => {
28
+ log = line => args.logger(`[agentic-owners] ${line}`);
32
29
  },
33
30
  onPullRequest: async (ctx, pr) => {
34
31
  // A base retarget re-resolves policy against the new base. The fresh
@@ -90,10 +90,10 @@ export function githubOwnersForge(
90
90
  pull_number: ref.number,
91
91
  });
92
92
  const requestedUsers = (data.requested_reviewers ?? []).flatMap(
93
- (reviewer) => ("login" in reviewer ? [reviewer.login] : [])
93
+ reviewer => ("login" in reviewer ? [reviewer.login] : [])
94
94
  );
95
95
  const requestedTeams = (data.requested_teams ?? []).map(
96
- (team) => `${ref.owner}/${team.slug}`
96
+ team => `${ref.owner}/${team.slug}`
97
97
  );
98
98
  return {
99
99
  number: data.number,
@@ -114,7 +114,7 @@ export function githubOwnersForge(
114
114
  pull_number: ref.number,
115
115
  per_page: 100,
116
116
  });
117
- return files.map((file) => ({
117
+ return files.map(file => ({
118
118
  filename: file.filename,
119
119
  status: file.status,
120
120
  previousFilename: file.previous_filename,
@@ -201,7 +201,7 @@ export function githubOwnersForge(
201
201
  pull_number: ref.number,
202
202
  per_page: 100,
203
203
  });
204
- return reviews.map((review) => ({
204
+ return reviews.map(review => ({
205
205
  id: review.id,
206
206
  state: review.state,
207
207
  body: review.body ?? "",
@@ -214,7 +214,7 @@ export function githubOwnersForge(
214
214
  octokit.rest.issues.listComments,
215
215
  { ...repo, issue_number: ref.number, per_page: 100 }
216
216
  );
217
- return comments.map((comment) => ({
217
+ return comments.map(comment => ({
218
218
  id: comment.id,
219
219
  body: comment.body ?? "",
220
220
  }));