@cursor/bdk 0.2.24 → 0.2.26

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 (553) hide show
  1. package/AGENTS.md +4 -18
  2. package/CHANGELOG.md +3 -0
  3. package/dist/artifacts.d.ts +1 -1
  4. package/dist/artifacts.js +1 -1
  5. package/dist/bin/agent-serve.d.ts +1 -1
  6. package/dist/bin/agent-serve.js +71 -31
  7. package/dist/channels/bitbucket/api.d.ts +2 -2
  8. package/dist/channels/bitbucket/api.d.ts.map +1 -1
  9. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  10. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +5 -4
  11. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
  12. package/dist/channels/bitbucket/bitbucket-webhook.js +14 -9
  13. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  14. package/dist/channels/deployments/deployments-channel.js +1 -1
  15. package/dist/channels/github/cursor-account.d.ts +7 -0
  16. package/dist/channels/github/cursor-account.d.ts.map +1 -1
  17. package/dist/channels/github/cursor-account.js +22 -5
  18. package/dist/channels/github/github-channel.d.ts.map +1 -1
  19. package/dist/channels/github/github-channel.js +10 -19
  20. package/dist/channels/github/replay.d.ts +1 -1
  21. package/dist/channels/github/replay.d.ts.map +1 -1
  22. package/dist/channels/gitlab/api.d.ts +2 -2
  23. package/dist/channels/gitlab/api.d.ts.map +1 -1
  24. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  25. package/dist/channels/issues/issues-channel.js +1 -1
  26. package/dist/channels/origin/api.d.ts +4 -4
  27. package/dist/channels/origin/api.d.ts.map +1 -1
  28. package/dist/channels/origin/origin-channel.js +1 -1
  29. package/dist/channels/origin/origin-webhook.d.ts +3 -3
  30. package/dist/channels/origin/origin-webhook.d.ts.map +1 -1
  31. package/dist/channels/pagerduty/api.d.ts +74 -0
  32. package/dist/channels/pagerduty/api.d.ts.map +1 -0
  33. package/dist/channels/pagerduty/api.js +101 -0
  34. package/dist/channels/pagerduty/defaults.d.ts +42 -0
  35. package/dist/channels/pagerduty/defaults.d.ts.map +1 -0
  36. package/dist/channels/pagerduty/defaults.js +132 -0
  37. package/dist/channels/pagerduty/events.d.ts +24 -0
  38. package/dist/channels/pagerduty/events.d.ts.map +1 -0
  39. package/dist/channels/pagerduty/events.js +38 -0
  40. package/dist/channels/pagerduty/index.d.ts +31 -0
  41. package/dist/channels/pagerduty/index.d.ts.map +1 -0
  42. package/dist/channels/pagerduty/index.js +30 -0
  43. package/dist/channels/pagerduty/pagerduty-channel.d.ts +64 -0
  44. package/dist/channels/pagerduty/pagerduty-channel.d.ts.map +1 -0
  45. package/dist/channels/pagerduty/pagerduty-channel.js +195 -0
  46. package/dist/channels/pagerduty/pagerduty-webhook.d.ts +70 -0
  47. package/dist/channels/pagerduty/pagerduty-webhook.d.ts.map +1 -0
  48. package/dist/channels/pagerduty/pagerduty-webhook.js +280 -0
  49. package/dist/channels/pagerduty/payload.d.ts +33 -0
  50. package/dist/channels/pagerduty/payload.d.ts.map +1 -0
  51. package/dist/channels/pagerduty/payload.js +150 -0
  52. package/dist/channels/pagerduty/replay.d.ts +35 -0
  53. package/dist/channels/pagerduty/replay.d.ts.map +1 -0
  54. package/dist/channels/pagerduty/replay.js +115 -0
  55. package/dist/channels/pagerduty/secrets.d.ts +16 -0
  56. package/dist/channels/pagerduty/secrets.d.ts.map +1 -0
  57. package/dist/channels/pagerduty/secrets.js +23 -0
  58. package/dist/channels/pagerduty/self-user.d.ts +51 -0
  59. package/dist/channels/pagerduty/self-user.d.ts.map +1 -0
  60. package/dist/channels/pagerduty/self-user.js +157 -0
  61. package/dist/channels/pagerduty/state.d.ts +31 -0
  62. package/dist/channels/pagerduty/state.d.ts.map +1 -0
  63. package/dist/channels/pagerduty/state.js +30 -0
  64. package/dist/channels/pagerduty/types.d.ts +217 -0
  65. package/dist/channels/pagerduty/types.d.ts.map +1 -0
  66. package/dist/channels/pagerduty/types.js +1 -0
  67. package/dist/channels/runs/runs-channel.js +1 -1
  68. package/dist/channels/slack/agentic-delivery.d.ts +2 -1
  69. package/dist/channels/slack/agentic-delivery.d.ts.map +1 -1
  70. package/dist/channels/slack/agentic-delivery.js +6 -10
  71. package/dist/channels/slack/agentic-signals.d.ts +2 -7
  72. package/dist/channels/slack/agentic-signals.d.ts.map +1 -1
  73. package/dist/channels/slack/agentic-signals.js +4 -3
  74. package/dist/channels/slack/api.d.ts +1 -0
  75. package/dist/channels/slack/api.d.ts.map +1 -1
  76. package/dist/channels/slack/api.js +3 -0
  77. package/dist/channels/slack/constants.d.ts +2 -0
  78. package/dist/channels/slack/constants.d.ts.map +1 -1
  79. package/dist/channels/slack/constants.js +2 -0
  80. package/dist/channels/slack/defaults.d.ts.map +1 -1
  81. package/dist/channels/slack/defaults.js +3 -2
  82. package/dist/channels/slack/dispatch.d.ts +9 -0
  83. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  84. package/dist/channels/slack/dispatch.js +3 -0
  85. package/dist/channels/slack/inbound.d.ts.map +1 -1
  86. package/dist/channels/slack/inbound.js +24 -20
  87. package/dist/channels/slack/interactive.d.ts +2 -0
  88. package/dist/channels/slack/interactive.d.ts.map +1 -1
  89. package/dist/channels/slack/interactive.js +1 -0
  90. package/dist/channels/slack/live-delivery.d.ts +3 -0
  91. package/dist/channels/slack/live-delivery.d.ts.map +1 -1
  92. package/dist/channels/slack/live-delivery.js +5 -0
  93. package/dist/channels/slack/reply-options.d.ts +9 -0
  94. package/dist/channels/slack/reply-options.d.ts.map +1 -1
  95. package/dist/channels/slack/reply-options.js +31 -1
  96. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  97. package/dist/channels/slack/slack-channel.js +7 -0
  98. package/dist/channels/slack/stream.d.ts +5 -1
  99. package/dist/channels/slack/stream.d.ts.map +1 -1
  100. package/dist/channels/slack/types.d.ts +29 -0
  101. package/dist/channels/slack/types.d.ts.map +1 -1
  102. package/dist/channels.d.ts +7 -1
  103. package/dist/channels.d.ts.map +1 -1
  104. package/dist/channels.js +12 -24
  105. package/dist/docs/404.html +3 -3
  106. package/dist/docs/assets/{app.DTIg0uKK.js → app.BITbgXMP.js} +4 -4
  107. package/dist/docs/assets/changelog.md.sdD6ctqK.js +1 -0
  108. package/dist/docs/assets/changelog.md.sdD6ctqK.lean.js +1 -0
  109. package/dist/docs/assets/chunks/@localSearchIndexroot.B45uCZp9.js +1 -0
  110. package/dist/docs/assets/chunks/{VPLocalSearchBox.BpJoSaxi.js → VPLocalSearchBox.3qo4-bX9.js} +2 -2
  111. package/dist/docs/assets/chunks/{arc.ylgNvRNq.js → arc.CTrZocKU.js} +1 -1
  112. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.BMrNJqYk.js → architectureDiagram-Q4EWVU46.BkgIqxrv.js} +1 -1
  113. package/dist/docs/assets/chunks/{baseUniq.BBWUEqf9.js → baseUniq.5w0JfVgo.js} +1 -1
  114. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.DFMu-Vza.js → blockDiagram-DXYQGD6D.BVLtPjQc.js} +1 -1
  115. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.8nkAAxWv.js → c4Diagram-AHTNJAMY.CQ7neZTW.js} +1 -1
  116. package/dist/docs/assets/chunks/channel.Cv2w64wj.js +1 -0
  117. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.sO-z2Bag.js → chunk-4BX2VUAB.D-hJ7uKM.js} +1 -1
  118. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.BMROzTMq.js → chunk-4TB4RGXK.RBYX5ywX.js} +1 -1
  119. package/dist/docs/assets/chunks/{chunk-55IACEB6.X81urwg7.js → chunk-55IACEB6.Br05HoEb.js} +1 -1
  120. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.eaZVFLZM.js → chunk-EDXVE4YY.BD_7QS60.js} +1 -1
  121. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.CmZhzstR.js → chunk-FMBD7UC4.BOPnMabX.js} +1 -1
  122. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CTezt9Lc.js → chunk-OYMX7WX6.DmGIdP8i.js} +1 -1
  123. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.s-T8zukB.js → chunk-QZHKN3VN.CGHmolCB.js} +1 -1
  124. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DN4Nhy-D.js → chunk-YZCP3GAM.C_Uhs25v.js} +1 -1
  125. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CtO2atCr.js +1 -0
  126. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CtO2atCr.js +1 -0
  127. package/dist/docs/assets/chunks/clone.hfsCtgP4.js +1 -0
  128. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Cqyp4BUH.js → cose-bilkent-S5V4N54A.DsU6xpcZ.js} +1 -1
  129. package/dist/docs/assets/chunks/{dagre-KV5264BT.BIECOiqR.js → dagre-KV5264BT.BqQLDcoU.js} +1 -1
  130. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.1tLyWoTg.js → diagram-5BDNPKRD.Cgv8uUNF.js} +1 -1
  131. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.BVY_6VMO.js → diagram-G4DWMVQ6.BXHPSXh_.js} +1 -1
  132. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BSZ7xiBB.js → diagram-MMDJMWI5.CgJzo8f_.js} +1 -1
  133. package/dist/docs/assets/chunks/{diagram-TYMM5635.Bho6GmLh.js → diagram-TYMM5635.CfiN6lgT.js} +1 -1
  134. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.A0yVIANn.js → erDiagram-SMLLAGMA.8n_hHzAd.js} +1 -1
  135. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.ZMgbllH6.js → flowDiagram-DWJPFMVM.B2pb1Dv_.js} +1 -1
  136. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.BCCPBhXo.js → ganttDiagram-T4ZO3ILL.BFih4ucI.js} +1 -1
  137. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.BOkL0BbA.js → gitGraphDiagram-UUTBAWPF.CqZ8PTl8.js} +1 -1
  138. package/dist/docs/assets/chunks/{graph.DMyZPu86.js → graph.0ufsI9gu.js} +1 -1
  139. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.CjG1IiEw.js → infoDiagram-42DDH7IO.BkPRFww4.js} +1 -1
  140. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.UCe-kq9g.js → ishikawaDiagram-UXIWVN3A.DCRK-cVX.js} +1 -1
  141. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.3WyOK_eY.js → journeyDiagram-VCZTEJTY.BFyAJo33.js} +1 -1
  142. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.WoRG2qY1.js → kanban-definition-6JOO6SKY.CmA2SoGc.js} +1 -1
  143. package/dist/docs/assets/chunks/{layout.DV07xDd5.js → layout.CYY-CbMr.js} +1 -1
  144. package/dist/docs/assets/chunks/{linear.CTO8mN6o.js → linear.DeeDV4Oq.js} +1 -1
  145. package/dist/docs/assets/chunks/{min.SvTtcKuZ.js → min.BL3XTBN2.js} +1 -1
  146. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.DMGgQ-HB.js → mindmap-definition-QFDTVHPH.BcbY-G6H.js} +1 -1
  147. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.B7851apI.js → pieDiagram-DEJITSTG.dzDcQnPE.js} +1 -1
  148. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CEqyypIX.js → quadrantDiagram-34T5L4WZ.RxR0m5iK.js} +1 -1
  149. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.C3Mwsw-H.js → requirementDiagram-MS252O5E.DflaXb6Q.js} +1 -1
  150. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DyYK0XxY.js → sankeyDiagram-XADWPNL6.BteLKQAe.js} +1 -1
  151. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.SiQPH-XM.js → sequenceDiagram-FGHM5R23.BD8jM8oz.js} +1 -1
  152. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.CTJMsP4p.js → stateDiagram-FHFEXIEX.C8SBkbPH.js} +1 -1
  153. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BLz7Qyo3.js +1 -0
  154. package/dist/docs/assets/chunks/{theme.DJo4my9R.js → theme.DiViIOLe.js} +2 -2
  155. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.CxSNRlQ6.js → timeline-definition-GMOUNBTQ.D64XF5dV.js} +1 -1
  156. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BdoJskyD.js → vennDiagram-DHZGUBPP.CwmeYan-.js} +1 -1
  157. package/dist/docs/assets/chunks/wardley-RL74JXVD.DmAlXlpu.js +162 -0
  158. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.IjIbFn_F.js → wardleyDiagram-NUSXRM2D.5VJ2-5K0.js} +1 -1
  159. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CPUxDZLH.js → xychartDiagram-5P7HB3ND.Cl6_fZVC.js} +1 -1
  160. package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.js → guides_hooks.md.B2XfGX50.js} +7 -3
  161. package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.js → guides_mcp-oauth.md.Cxq2TxBB.js} +3 -3
  162. package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.lean.js → guides_mcp-oauth.md.Cxq2TxBB.lean.js} +1 -1
  163. package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.js +37 -0
  164. package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.lean.js +1 -0
  165. package/dist/docs/assets/guides_pagerduty.md.BHXMcMtx.js +60 -0
  166. package/dist/docs/assets/guides_pagerduty.md.BHXMcMtx.lean.js +1 -0
  167. package/dist/docs/assets/{guides_slack.md.Bn-WupSE.js → guides_slack.md.ClIyi7FI.js} +8 -3
  168. package/dist/docs/assets/{guides_slack.md.Bn-WupSE.lean.js → guides_slack.md.ClIyi7FI.lean.js} +1 -1
  169. package/dist/docs/assets/{reference_agent-config.md.IplwL25I.js → reference_agent-config.md.CGSx8COP.js} +6 -2
  170. package/dist/docs/assets/{reference_agent-config.md.IplwL25I.lean.js → reference_agent-config.md.CGSx8COP.lean.js} +1 -1
  171. package/dist/docs/assets/{reference_channels.md.DYg0CLud.js → reference_channels.md.CNNIS6K7.js} +1 -1
  172. package/dist/docs/assets/{reference_cli.md.DB7Llw3T.js → reference_cli.md.1o_TqKdt.js} +7 -2
  173. package/dist/docs/assets/{reference_cli.md.DB7Llw3T.lean.js → reference_cli.md.1o_TqKdt.lean.js} +1 -1
  174. package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.js → reference_hooks.md.CROr0QgC.js} +13 -7
  175. package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.lean.js → reference_hooks.md.CROr0QgC.lean.js} +1 -1
  176. package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.js → reference_schedules.md.BqWnJES4.js} +3 -3
  177. package/dist/docs/assets/reference_sessions.md.Bi6lHttM.js +22 -0
  178. package/dist/docs/assets/reference_sessions.md.Bi6lHttM.lean.js +1 -0
  179. package/dist/docs/assets/{reference_skills.md.C2GWh7g8.js → reference_skills.md.Ckddg6KX.js} +3 -3
  180. package/dist/docs/assets/{reference_tools.md.08XR7lIl.js → reference_tools.md.Bo0UfT0a.js} +1 -1
  181. package/dist/docs/assets/{style.nMsabY-V.css → style.B9o0luvp.css} +1 -1
  182. package/dist/docs/building-with-agents.html +37 -37
  183. package/dist/docs/changelog.html +60 -0
  184. package/dist/docs/changelog.md +86 -0
  185. package/dist/docs/deployment.html +37 -37
  186. package/dist/docs/evals.html +37 -37
  187. package/dist/docs/guides/agent-to-agent.html +37 -37
  188. package/dist/docs/guides/bitbucket.html +37 -37
  189. package/dist/docs/guides/cloud-agents.html +37 -37
  190. package/dist/docs/guides/convert-automation.html +37 -37
  191. package/dist/docs/guides/export-grokbot.html +37 -37
  192. package/dist/docs/guides/github.html +37 -37
  193. package/dist/docs/guides/gitlab.html +37 -37
  194. package/dist/docs/guides/grokbot-agents.html +37 -37
  195. package/dist/docs/guides/hooks.html +45 -41
  196. package/dist/docs/guides/hooks.md +7 -3
  197. package/dist/docs/guides/improve.html +37 -37
  198. package/dist/docs/guides/jev.html +37 -37
  199. package/dist/docs/guides/mcp-oauth.html +39 -39
  200. package/dist/docs/guides/mcp-oauth.md +12 -0
  201. package/dist/docs/guides/migrate.html +37 -37
  202. package/dist/docs/guides/opentelemetry.html +62 -70
  203. package/dist/docs/guides/opentelemetry.md +150 -175
  204. package/dist/docs/guides/pagerduty.html +119 -0
  205. package/dist/docs/guides/pagerduty.md +336 -0
  206. package/dist/docs/guides/slack.html +44 -39
  207. package/dist/docs/guides/slack.md +41 -0
  208. package/dist/docs/guides/webhooks.html +37 -37
  209. package/dist/docs/hashmap.json +1 -1
  210. package/dist/docs/hillclimbing.html +37 -37
  211. package/dist/docs/index.html +37 -37
  212. package/dist/docs/llms-full.txt +730 -163
  213. package/dist/docs/llms.txt +3 -1
  214. package/dist/docs/quickstart.html +37 -37
  215. package/dist/docs/reference/agent-config.html +42 -38
  216. package/dist/docs/reference/agent-config.md +21 -1
  217. package/dist/docs/reference/artifacts.html +37 -37
  218. package/dist/docs/reference/channels.html +38 -38
  219. package/dist/docs/reference/channels.md +7 -2
  220. package/dist/docs/reference/cli.html +43 -38
  221. package/dist/docs/reference/cli.md +27 -0
  222. package/dist/docs/reference/connections.html +37 -37
  223. package/dist/docs/reference/evals.html +37 -37
  224. package/dist/docs/reference/extensions.html +37 -37
  225. package/dist/docs/reference/hooks.html +49 -43
  226. package/dist/docs/reference/hooks.md +10 -5
  227. package/dist/docs/reference/http-api.html +37 -37
  228. package/dist/docs/reference/instructions.html +37 -37
  229. package/dist/docs/reference/memory.html +37 -37
  230. package/dist/docs/reference/playground.html +36 -36
  231. package/dist/docs/reference/project-layout.html +37 -37
  232. package/dist/docs/reference/prompt.html +37 -37
  233. package/dist/docs/reference/schedules.html +40 -40
  234. package/dist/docs/reference/sessions.html +58 -37
  235. package/dist/docs/reference/sessions.md +46 -1
  236. package/dist/docs/reference/skills.html +40 -40
  237. package/dist/docs/reference/subagents.html +37 -37
  238. package/dist/docs/reference/tools.html +39 -39
  239. package/dist/docs/reference/tools.md +4 -3
  240. package/dist/docs/templates/agentic-owners.html +37 -37
  241. package/dist/docs/templates/grokbot-agents.html +37 -37
  242. package/dist/docs/templates/security-reviewer.html +37 -37
  243. package/dist/docs/templates/thermo-quality-review.html +37 -37
  244. package/dist/docs/templates/thermo-review.html +37 -37
  245. package/dist/docs/templates/triage.html +37 -37
  246. package/dist/docs/troubleshooting.html +36 -36
  247. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  248. package/dist/extensions/cursor-cloud-agents/extension.js +15 -15
  249. package/dist/extensions/cursor-cloud-agents/lib/backend.js +1 -1
  250. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  251. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
  252. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
  253. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
  254. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
  255. package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
  256. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  257. package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
  258. package/dist/extensions/cursor-grokbot-agents/extension.d.ts.map +1 -1
  259. package/dist/extensions/cursor-grokbot-agents/extension.js +7 -3
  260. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
  261. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
  262. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
  263. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
  264. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
  265. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
  266. package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
  267. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
  268. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  269. package/dist/extensions/improve/extension.js +1 -1
  270. package/dist/extensions/jev/extension.js +2 -2
  271. package/dist/extensions/jev/tools/evaluate.js +3 -3
  272. package/dist/extensions/slack-communication/extension.js +1 -1
  273. package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
  274. package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -1
  275. package/dist/extensions/slack-communication/tools/edit-message.js +3 -6
  276. package/dist/extensions/slack-communication/tools/post-card.js +1 -1
  277. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  278. package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -1
  279. package/dist/extensions/slack-communication/tools/post-update.js +3 -6
  280. package/dist/extensions/slack-communication/tools/react.js +1 -1
  281. package/dist/extensions/slack-communication/tools/set-status.js +1 -1
  282. package/dist/extensions.d.ts +1 -1
  283. package/dist/extensions.js +1 -1
  284. package/dist/index.d.ts +14 -11
  285. package/dist/index.d.ts.map +1 -1
  286. package/dist/index.js +8 -4
  287. package/dist/internal/approval-gate.d.ts +4 -2
  288. package/dist/internal/approval-gate.d.ts.map +1 -1
  289. package/dist/internal/approval-gate.js +2 -1
  290. package/dist/internal/as-of.d.ts +2 -0
  291. package/dist/internal/as-of.d.ts.map +1 -1
  292. package/dist/internal/as-of.js +2 -0
  293. package/dist/internal/builtin-tools/artifacts.d.ts.map +1 -1
  294. package/dist/internal/builtin-tools/artifacts.js +45 -12
  295. package/dist/internal/builtin-tools/reminders.js +1 -1
  296. package/dist/internal/channel-architecture.d.ts +1 -1
  297. package/dist/internal/channel-architecture.d.ts.map +1 -1
  298. package/dist/internal/channel-architecture.js +4 -2
  299. package/dist/internal/cli-deploy.d.ts.map +1 -1
  300. package/dist/internal/cli-deploy.js +39 -22
  301. package/dist/internal/cli-pagerduty.d.ts +32 -0
  302. package/dist/internal/cli-pagerduty.d.ts.map +1 -0
  303. package/dist/internal/cli-pagerduty.js +242 -0
  304. package/dist/internal/continuation-channel.d.ts.map +1 -1
  305. package/dist/internal/continuation-channel.js +7 -0
  306. package/dist/internal/continuation-identity.d.ts +11 -3
  307. package/dist/internal/continuation-identity.d.ts.map +1 -1
  308. package/dist/internal/continuation-identity.js +83 -0
  309. package/dist/internal/continuation.d.ts +3 -0
  310. package/dist/internal/continuation.d.ts.map +1 -0
  311. package/dist/internal/continuation.js +1 -0
  312. package/dist/internal/conversation-mirror.d.ts +5 -0
  313. package/dist/internal/conversation-mirror.d.ts.map +1 -1
  314. package/dist/internal/conversation-mirror.js +12 -1
  315. package/dist/internal/convert-automation/convert-workflow.js +1 -1
  316. package/dist/internal/convert-grokbot/answers.d.ts.map +1 -1
  317. package/dist/internal/convert-grokbot/answers.js +10 -8
  318. package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
  319. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
  320. package/dist/internal/convert-grokbot/recipe.js +1 -1
  321. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  322. package/dist/internal/cursor/account-mcp.js +2 -0
  323. package/dist/internal/cursor/backend-client.d.ts +8 -3
  324. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  325. package/dist/internal/cursor/backend-client.js +8 -3
  326. package/dist/internal/cursor/credentials.d.ts +2 -2
  327. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  328. package/dist/internal/cursor/credentials.js +1 -1
  329. package/dist/internal/cursor-account-mcp-auth.d.ts +6 -2
  330. package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -1
  331. package/dist/internal/cursor-account-mcp-auth.js +15 -6
  332. package/dist/internal/deferred-channel-session.d.ts +5 -4
  333. package/dist/internal/deferred-channel-session.d.ts.map +1 -1
  334. package/dist/internal/deferred-channel-session.js +6 -4
  335. package/dist/internal/deploy-client.d.ts +5 -0
  336. package/dist/internal/deploy-client.d.ts.map +1 -1
  337. package/dist/internal/deploy-client.js +3 -3
  338. package/dist/internal/deploy-manifest.d.ts +11 -4
  339. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  340. package/dist/internal/deploy-manifest.js +19 -7
  341. package/dist/internal/describe-error.d.ts +2 -0
  342. package/dist/internal/describe-error.d.ts.map +1 -1
  343. package/dist/internal/describe-error.js +2 -0
  344. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  345. package/dist/internal/discovery/agent-config.js +10 -10
  346. package/dist/internal/discovery/agent.d.ts.map +1 -1
  347. package/dist/internal/discovery/agent.js +10 -10
  348. package/dist/internal/discovery/channels.d.ts.map +1 -1
  349. package/dist/internal/discovery/channels.js +20 -16
  350. package/dist/internal/discovery/context.d.ts +16 -0
  351. package/dist/internal/discovery/context.d.ts.map +1 -1
  352. package/dist/internal/discovery/context.js +67 -2
  353. package/dist/internal/discovery/cursor-plugin.js +8 -8
  354. package/dist/internal/discovery/extension-overlay.d.ts.map +1 -1
  355. package/dist/internal/discovery/extension-overlay.js +2 -6
  356. package/dist/internal/discovery/extensions.js +15 -8
  357. package/dist/internal/discovery/info.d.ts +2 -2
  358. package/dist/internal/discovery/info.d.ts.map +1 -1
  359. package/dist/internal/discovery/info.js +9 -9
  360. package/dist/internal/discovery/instructions.d.ts.map +1 -1
  361. package/dist/internal/discovery/instructions.js +3 -6
  362. package/dist/internal/discovery/instrumentation.d.ts +10 -0
  363. package/dist/internal/discovery/instrumentation.d.ts.map +1 -0
  364. package/dist/internal/discovery/instrumentation.js +29 -0
  365. package/dist/internal/discovery/modules.d.ts.map +1 -1
  366. package/dist/internal/discovery/modules.js +7 -10
  367. package/dist/internal/discovery/project-public.d.ts +16 -0
  368. package/dist/internal/discovery/project-public.d.ts.map +1 -0
  369. package/dist/internal/discovery/project-public.js +54 -0
  370. package/dist/internal/discovery/project.d.ts +6 -0
  371. package/dist/internal/discovery/project.d.ts.map +1 -1
  372. package/dist/internal/discovery/project.js +40 -8
  373. package/dist/internal/discovery/runtime.d.ts.map +1 -1
  374. package/dist/internal/discovery/runtime.js +8 -8
  375. package/dist/internal/discovery/services.d.ts +5 -4
  376. package/dist/internal/discovery/services.d.ts.map +1 -1
  377. package/dist/internal/discovery/services.js +12 -6
  378. package/dist/internal/discovery.d.ts +1 -1
  379. package/dist/internal/discovery.d.ts.map +1 -1
  380. package/dist/internal/discovery.js +1 -1
  381. package/dist/internal/event-mapper.d.ts.map +1 -1
  382. package/dist/internal/event-mapper.js +1 -0
  383. package/dist/internal/expected-delivery-failure.d.ts.map +1 -1
  384. package/dist/internal/expected-delivery-failure.js +6 -0
  385. package/dist/internal/factory-resource-channel.d.ts +1 -1
  386. package/dist/internal/factory-resource-channel.d.ts.map +1 -1
  387. package/dist/internal/filesystem/nearest.d.ts +1 -0
  388. package/dist/internal/filesystem/nearest.d.ts.map +1 -1
  389. package/dist/internal/filesystem/nearest.js +1 -0
  390. package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -1
  391. package/dist/internal/filesystem/sdk-schemas.js +4 -3
  392. package/dist/internal/filesystem/tools.d.ts.map +1 -1
  393. package/dist/internal/filesystem/tools.js +1 -1
  394. package/dist/internal/handleAgentServeTrigger.d.ts +10 -0
  395. package/dist/internal/handleAgentServeTrigger.d.ts.map +1 -1
  396. package/dist/internal/handleAgentServeTrigger.js +3 -0
  397. package/dist/internal/hmac-secret-values.d.ts +48 -0
  398. package/dist/internal/hmac-secret-values.d.ts.map +1 -0
  399. package/dist/internal/hmac-secret-values.js +68 -0
  400. package/dist/internal/host-otel.d.ts +1 -1
  401. package/dist/internal/host-otel.d.ts.map +1 -1
  402. package/dist/internal/host-otel.js +5 -0
  403. package/dist/internal/host-platforms.d.ts.map +1 -1
  404. package/dist/internal/host-platforms.js +8 -2
  405. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  406. package/dist/internal/hosted-delivery.js +6 -2
  407. package/dist/internal/http-channel.d.ts.map +1 -1
  408. package/dist/internal/http-channel.js +1 -0
  409. package/dist/internal/ids.d.ts +8 -0
  410. package/dist/internal/ids.d.ts.map +1 -1
  411. package/dist/internal/ids.js +20 -0
  412. package/dist/internal/init-scaffold.js +1 -1
  413. package/dist/internal/interview/agent-questions.d.ts +1 -1
  414. package/dist/internal/interview/agent-questions.d.ts.map +1 -1
  415. package/dist/internal/interview/agent-questions.js +1 -1
  416. package/dist/internal/interview/question.d.ts +2 -2
  417. package/dist/internal/interview/question.d.ts.map +1 -1
  418. package/dist/internal/interview/question.js +2 -2
  419. package/dist/internal/json-schema.d.ts +7 -7
  420. package/dist/internal/json-schema.d.ts.map +1 -1
  421. package/dist/internal/json-schema.js +16 -23
  422. package/dist/internal/mcp-endpoint.d.ts +16 -4
  423. package/dist/internal/mcp-endpoint.d.ts.map +1 -1
  424. package/dist/internal/mcp-endpoint.js +18 -6
  425. package/dist/internal/mcp-host.d.ts +9 -0
  426. package/dist/internal/mcp-host.d.ts.map +1 -1
  427. package/dist/internal/mcp-host.js +15 -0
  428. package/dist/internal/otel/collector.d.ts +5 -0
  429. package/dist/internal/otel/collector.d.ts.map +1 -1
  430. package/dist/internal/otel/collector.js +27 -6
  431. package/dist/internal/otel/config.d.ts +37 -22
  432. package/dist/internal/otel/config.d.ts.map +1 -1
  433. package/dist/internal/otel/config.js +132 -125
  434. package/dist/internal/otel/conversation-span-processor.d.ts +9 -0
  435. package/dist/internal/otel/conversation-span-processor.d.ts.map +1 -0
  436. package/dist/internal/otel/conversation-span-processor.js +34 -0
  437. package/dist/internal/otel/customer.d.ts +52 -0
  438. package/dist/internal/otel/customer.d.ts.map +1 -0
  439. package/dist/internal/otel/customer.js +727 -0
  440. package/dist/internal/otel/runtime.d.ts +12 -16
  441. package/dist/internal/otel/runtime.d.ts.map +1 -1
  442. package/dist/internal/otel/runtime.js +37 -218
  443. package/dist/internal/otel-env.d.ts +6 -0
  444. package/dist/internal/otel-env.d.ts.map +1 -0
  445. package/dist/internal/otel-env.js +5 -0
  446. package/dist/internal/package-inline-stdio.d.ts.map +1 -1
  447. package/dist/internal/package-inline-stdio.js +21 -6
  448. package/dist/internal/reminder-runner.d.ts +9 -4
  449. package/dist/internal/reminder-runner.d.ts.map +1 -1
  450. package/dist/internal/reminder-runner.js +12 -10
  451. package/dist/internal/reminder-schedule.d.ts +1 -0
  452. package/dist/internal/reminder-schedule.d.ts.map +1 -1
  453. package/dist/internal/reminder-schedule.js +1 -0
  454. package/dist/internal/sdk-runner.d.ts +4 -3
  455. package/dist/internal/sdk-runner.d.ts.map +1 -1
  456. package/dist/internal/sdk-runner.js +157 -17
  457. package/dist/internal/secret-alternatives.d.ts +11 -0
  458. package/dist/internal/secret-alternatives.d.ts.map +1 -0
  459. package/dist/internal/secret-alternatives.js +13 -0
  460. package/dist/internal/server.d.ts +4 -1
  461. package/dist/internal/server.d.ts.map +1 -1
  462. package/dist/internal/server.js +27 -26
  463. package/dist/internal/session-engine.d.ts +27 -0
  464. package/dist/internal/session-engine.d.ts.map +1 -1
  465. package/dist/internal/session-engine.js +154 -25
  466. package/dist/internal/slack-provision-client.js +1 -1
  467. package/dist/internal/sqlite-experimental-warning.d.ts +2 -0
  468. package/dist/internal/sqlite-experimental-warning.d.ts.map +1 -0
  469. package/dist/internal/sqlite-experimental-warning.js +22 -0
  470. package/dist/internal/store-api-protocol.d.ts +1 -1
  471. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  472. package/dist/internal/store-api-protocol.js +1 -1
  473. package/dist/internal/testing/conversation-identity-vectors.d.ts +6 -1
  474. package/dist/internal/testing/conversation-identity-vectors.d.ts.map +1 -1
  475. package/dist/internal/testing/conversation-identity-vectors.js +34 -0
  476. package/dist/internal/testing/hmac-secret-vectors.d.ts +38 -0
  477. package/dist/internal/testing/hmac-secret-vectors.d.ts.map +1 -0
  478. package/dist/internal/testing/hmac-secret-vectors.js +89 -0
  479. package/dist/internal/testing/pagerduty-continuation-fixtures.d.ts +42 -0
  480. package/dist/internal/testing/pagerduty-continuation-fixtures.d.ts.map +1 -0
  481. package/dist/internal/testing/pagerduty-continuation-fixtures.js +175 -0
  482. package/dist/internal/update-check.d.ts +2 -2
  483. package/dist/internal/update-check.d.ts.map +1 -1
  484. package/dist/internal/update-check.js +3 -3
  485. package/dist/internal/zod-schema.d.ts +14 -0
  486. package/dist/internal/zod-schema.d.ts.map +1 -0
  487. package/dist/internal/zod-schema.js +22 -0
  488. package/dist/internal/zod3-datetime.d.ts +12 -0
  489. package/dist/internal/zod3-datetime.d.ts.map +1 -0
  490. package/dist/internal/zod3-datetime.js +17 -0
  491. package/dist/otel-public.d.ts +2 -3
  492. package/dist/otel-public.d.ts.map +1 -1
  493. package/dist/otel-public.js +2 -2
  494. package/dist/otel.d.ts +3 -102
  495. package/dist/otel.d.ts.map +1 -1
  496. package/dist/otel.js +61 -97
  497. package/dist/playground/assets/cursor-icons-16-DmHBTm1-.woff2 +0 -0
  498. package/dist/playground/assets/index-CyPkf2y7.css +1 -0
  499. package/dist/playground/assets/index-DpbzbqFY.js +62 -0
  500. package/dist/playground/index.html +2 -2
  501. package/dist/public-deprecated.d.ts +36 -0
  502. package/dist/public-deprecated.d.ts.map +1 -0
  503. package/dist/public-deprecated.js +39 -0
  504. package/dist/tools.d.ts +16 -13
  505. package/dist/tools.d.ts.map +1 -1
  506. package/dist/tools.js +4 -3
  507. package/dist/types.d.ts +286 -104
  508. package/dist/types.d.ts.map +1 -1
  509. package/docs/changelog.md +91 -0
  510. package/docs/guides/hooks.md +7 -3
  511. package/docs/guides/mcp-oauth.md +12 -0
  512. package/docs/guides/opentelemetry.md +150 -180
  513. package/docs/guides/pagerduty.md +341 -0
  514. package/docs/guides/slack.md +41 -0
  515. package/docs/reference/agent-config.md +21 -1
  516. package/docs/reference/channels.md +7 -2
  517. package/docs/reference/cli.md +27 -0
  518. package/docs/reference/hooks.md +10 -5
  519. package/docs/reference/sessions.md +46 -1
  520. package/docs/reference/tools.md +4 -3
  521. package/package.json +39 -8
  522. package/schemas/grokbot-answers.schema.json +11 -0
  523. package/skills/framework-map/SKILL.md +2 -1
  524. package/skills/migrate-v2/SKILL.md +1 -1
  525. package/skills/otel/SKILL.md +30 -46
  526. package/templates/agentic-owners/README.md +6 -1
  527. package/templates/agentic-owners/bot/lib/owners/decision.ts +31 -5
  528. package/templates/agentic-owners/bot/lib/owners/globalOverride.ts +60 -0
  529. package/templates/agentic-owners/bot/lib/owners/match.ts +85 -19
  530. package/templates/agentic-owners/bot/lib/owners/parse.ts +133 -2
  531. package/templates/agentic-owners/bot/lib/owners/types.ts +23 -0
  532. package/templates/code-wiki/evals/wiki.eval.ts +2 -2
  533. package/dist/docs/assets/chunks/@localSearchIndexroot.3ebvCWKy.js +0 -1
  534. package/dist/docs/assets/chunks/channel.BOebySCN.js +0 -1
  535. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C55IaN-T.js +0 -1
  536. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C55IaN-T.js +0 -1
  537. package/dist/docs/assets/chunks/clone.D06pA7ML.js +0 -1
  538. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DddRVjeq.js +0 -1
  539. package/dist/docs/assets/chunks/wardley-RL74JXVD.CVCRSuQK.js +0 -162
  540. package/dist/docs/assets/guides_opentelemetry.md.Ck1o2frw.js +0 -45
  541. package/dist/docs/assets/guides_opentelemetry.md.Ck1o2frw.lean.js +0 -1
  542. package/dist/docs/assets/reference_sessions.md.C8FXuGwk.js +0 -1
  543. package/dist/docs/assets/reference_sessions.md.C8FXuGwk.lean.js +0 -1
  544. package/dist/playground/assets/cursor-icons-16-gwXtdAvu.woff2 +0 -0
  545. package/dist/playground/assets/index-DKKdkF29.js +0 -62
  546. package/dist/playground/assets/index-DpKinTMs.css +0 -1
  547. package/templates/grokbot-agents/.gitignore +0 -4
  548. package/templates/security-help/.gitignore +0 -4
  549. /package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.lean.js → guides_hooks.md.B2XfGX50.lean.js} +0 -0
  550. /package/dist/docs/assets/{reference_channels.md.DYg0CLud.lean.js → reference_channels.md.CNNIS6K7.lean.js} +0 -0
  551. /package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.lean.js → reference_schedules.md.BqWnJES4.lean.js} +0 -0
  552. /package/dist/docs/assets/{reference_skills.md.C2GWh7g8.lean.js → reference_skills.md.Ckddg6KX.lean.js} +0 -0
  553. /package/dist/docs/assets/{reference_tools.md.08XR7lIl.lean.js → reference_tools.md.Bo0UfT0a.lean.js} +0 -0
package/dist/types.d.ts CHANGED
@@ -8,14 +8,18 @@
8
8
  * SDK as the execution harness.
9
9
  */
10
10
  import type { InteractionUpdate, LocalSubagentInherit, SDKCustomTool, ToolName } from "@cursor/sdk";
11
- import type { z } from "zod/v3";
11
+ import type * as z3 from "zod/v3";
12
+ import type * as z4 from "zod/v4";
13
+ import type * as z4core from "zod/v4/core";
14
+ import type * as z4mini from "zod/v4/mini";
12
15
  import type { FileSystem } from "./filesystem.js";
13
16
  import type { ContinuationClaim, ContinuationIdentity, MailboxContinuation } from "./internal/continuation-identity.js";
14
- import type { OtelConfig, OtelDefinition } from "./otel.js";
15
17
  import type { StorageDefinition } from "./storage.js";
16
18
  import type { Octokit } from "@octokit/rest";
17
19
  import type { WebClient } from "@slack/web-api";
18
20
  import type { HostEvalsApi } from "./evals.js";
21
+ export type { HostEvalsApi };
22
+ export type { StorageDefinition };
19
23
  export type JsonPrimitive = string | number | boolean | null;
20
24
  export type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
21
25
  export type JsonObject = {
@@ -23,11 +27,25 @@ export type JsonObject = {
23
27
  };
24
28
  /** A plain JSON Schema object (already-serialized tool input schema). */
25
29
  export type JsonSchemaObject = Record<string, unknown>;
30
+ /**
31
+ * A `zod/v4` schema, classic (`zod/v4`) or mini (`zod/v4/mini`), with
32
+ * output `TOutput` and input `TInput`. Both kinds have `parse`/`safeParse`.
33
+ */
34
+ export type ZodV4Schema<TOutput = unknown, TInput = unknown> = z4.ZodType<TOutput, TInput> | z4mini.ZodMiniType<TOutput, TInput>;
35
+ /**
36
+ * A zod schema that the public API accepts: a `zod/v3` schema or a
37
+ * {@link ZodV4Schema}. zod 3.25 and later ship both entry points.
38
+ */
39
+ export type ZodSchema = z3.ZodTypeAny | ZodV4Schema;
40
+ /** The parsed (output) type of a {@link ZodSchema}. */
41
+ export type ZodSchemaOutput<TSchema> = TSchema extends z3.ZodTypeAny ? z3.output<TSchema> : TSchema extends z4core.$ZodType ? z4core.output<TSchema> : never;
42
+ /** The accepted (input) type of a {@link ZodSchema}, before defaults and transforms. */
43
+ export type ZodSchemaInput<TSchema> = TSchema extends z3.ZodTypeAny ? z3.input<TSchema> : TSchema extends z4core.$ZodType ? z4core.input<TSchema> : never;
26
44
  /**
27
45
  * Discriminates the `define*` helper that produced a module's default export
28
46
  * so discovery can validate that a file landed in the right authored slot.
29
47
  */
30
- export type DefinitionKind = "agent" | "instructions" | "tool" | "skill" | "extension" | "disabled-tool" | "disabled-connection" | "disabled" | "connection" | "channel" | "http-channel" | "schedule" | "reminder" | "hook" | "eval" | "storage" | "artifacts" | "otel";
48
+ export type DefinitionKind = "agent" | "instructions" | "tool" | "skill" | "extension" | "disabled-tool" | "disabled-connection" | "disabled" | "connection" | "channel" | "http-channel" | "schedule" | "reminder" | "hook" | "eval" | "storage" | "artifacts";
31
49
  export interface BrandedDefinition<K extends DefinitionKind> {
32
50
  readonly __agentServe: K;
33
51
  }
@@ -555,6 +573,9 @@ export interface HostContext {
555
573
  * Author-facing OpenTelemetry metrics and session tags. Always present.
556
574
  * Counters and histograms no-op when no meter is running. `setAttributes`
557
575
  * still tags the open session when a collector is attached.
576
+ *
577
+ * @deprecated Set `OTEL_*` variables and use `metrics.getMeter` or
578
+ * `trace.getTracer` from `@opentelemetry/api`.
558
579
  */
559
580
  otel: HostOtelApi;
560
581
  }
@@ -680,6 +701,12 @@ export interface HostFilesCapabilities {
680
701
  * never filesystem paths — {@link materializedPath} is the one place a real
681
702
  * path appears, and it is `undefined` whenever the sink keeps no local copy.
682
703
  */
704
+ /**
705
+ * Text encodings {@link HostFilesApi.read} accepts. The same set Node calls
706
+ * `BufferEncoding`, written out so the public signature does not name a
707
+ * Node global.
708
+ */
709
+ export type HostFileTextEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "utf-16le" | "ucs2" | "ucs-2" | "base64" | "base64url" | "latin1" | "binary" | "hex";
683
710
  export interface HostFilesApi {
684
711
  /** What the configured sink supports. */
685
712
  readonly capabilities: HostFilesCapabilities;
@@ -687,7 +714,7 @@ export interface HostFilesApi {
687
714
  forSession(sessionId: string): HostFilesApi;
688
715
  /** Read as text. Miss → `undefined`. */
689
716
  read(path: string, options?: HostFilesCallOptions & {
690
- encoding?: BufferEncoding;
717
+ encoding?: HostFileTextEncoding;
691
718
  }): Promise<string | undefined>;
692
719
  /** Read as bytes. Miss → `undefined`. */
693
720
  readBytes(path: string, options?: HostFilesCallOptions): Promise<Uint8Array | undefined>;
@@ -717,6 +744,10 @@ export type HostOtelAttributes = Record<string, string | number | boolean | unde
717
744
  /**
718
745
  * Author-facing OpenTelemetry surface on {@link HostContext.otel}.
719
746
  *
747
+ * @deprecated Set `OTEL_*` variables and use `metrics.getMeter` or
748
+ * `trace.getTracer` from `@opentelemetry/api`. This helper still runs
749
+ * for this release and emits one deprecation warning per process.
750
+ *
720
751
  * Metrics and tags only — no custom spans, and no raw OTel `Meter` /
721
752
  * `Tracer`. First-party names (`cursor.token.usage`, …) and join keys
722
753
  * (`cursor.conversation.id`, `agent_sdk.session_id`, `agent_sdk.agent`,
@@ -744,6 +775,14 @@ export interface ToolContext {
744
775
  toolCallId?: string;
745
776
  /** The session this tool call runs inside. */
746
777
  session: SessionInfo;
778
+ /**
779
+ * Who approved this call when its tool sets `needsApproval`, as the same
780
+ * kind of auth context as `session.auth`. On Slack, `attributes.user_id` is
781
+ * the person who clicked Approve, who can differ from the person who
782
+ * started the session. Absent when the call needed no approval or the
783
+ * approver is unknown.
784
+ */
785
+ approvedBy?: AuthContext;
747
786
  /** Absolute path of the session's materialized workspace directory. */
748
787
  workspaceDir: string;
749
788
  /**
@@ -858,14 +897,14 @@ export interface ToolConfig<TInput> {
858
897
  * object (forwarded to the model as-is, unvalidated). Omit to accept any
859
898
  * JSON object.
860
899
  */
861
- inputSchema?: z.ZodType<TInput> | JsonSchemaObject;
900
+ inputSchema?: z3.ZodType<TInput> | ZodV4Schema<TInput> | JsonSchemaObject;
862
901
  /**
863
902
  * JSON Schema for the tool's structured output (`Tool.outputSchema` from
864
903
  * the MCP spec), as a zod schema (converted, never validated against) or a
865
904
  * plain JSON Schema object. Advertised when declared and omitted
866
905
  * otherwise — results are not validated against it.
867
906
  */
868
- outputSchema?: z.ZodTypeAny | JsonSchemaObject;
907
+ outputSchema?: ZodSchema | JsonSchemaObject;
869
908
  /**
870
909
  * When true (or when the predicate returns true), the host parks the
871
910
  * in-flight tool call until a human approves or denies via
@@ -914,8 +953,8 @@ export interface ToolConfig<TInput> {
914
953
  export interface ToolDefinition extends BrandedDefinition<"tool"> {
915
954
  readonly description: string;
916
955
  readonly execution?: ToolExecution;
917
- readonly inputSchema?: z.ZodTypeAny | JsonSchemaObject;
918
- readonly outputSchema?: z.ZodTypeAny | JsonSchemaObject;
956
+ readonly inputSchema?: ZodSchema | JsonSchemaObject;
957
+ readonly outputSchema?: ZodSchema | JsonSchemaObject;
919
958
  readonly needsApproval?: ToolNeedsApproval<never>;
920
959
  readonly effect?: ToolEffectDeclaration<never>;
921
960
  readonly timeArgs?: readonly string[];
@@ -942,8 +981,12 @@ export interface ExtensionOptions<TConfig, TInput = TConfig> {
942
981
  root: string;
943
982
  /** What the extension adds; shown by `info`. */
944
983
  description?: string;
945
- /** Mount configuration schema. A consumer's settings are validated at mount. */
946
- config?: z.ZodType<TConfig, z.ZodTypeDef, TInput>;
984
+ /**
985
+ * Mount configuration schema (`zod/v3` or classic `zod/v4`). A consumer's
986
+ * settings are validated at mount. A `zod/v4/mini` member here would break
987
+ * the inference of `TConfig`.
988
+ */
989
+ config?: z3.ZodType<TConfig, z3.ZodTypeDef, TInput> | z4.ZodType<TConfig, TInput>;
947
990
  /** Choose which contribution groups this mount includes. */
948
991
  contributions?: (config: TConfig) => ExtensionContributionSelection;
949
992
  /**
@@ -1140,9 +1183,9 @@ export declare function isSymbolicConnectionTransport(transport: ConnectionTrans
1140
1183
  /** One TypeScript tool on `defineConnection({ tools })`. */
1141
1184
  export type InlineStdioToolConfig = {
1142
1185
  description: string;
1143
- inputSchema?: z.ZodTypeAny | JsonSchemaObject;
1186
+ inputSchema?: ZodSchema | JsonSchemaObject;
1144
1187
  /** Output JSON Schema (zod converted, never validated); advertised when declared. */
1145
- outputSchema?: z.ZodTypeAny | JsonSchemaObject;
1188
+ outputSchema?: ZodSchema | JsonSchemaObject;
1146
1189
  execute: (input: JsonObject) => unknown | Promise<unknown>;
1147
1190
  };
1148
1191
  /** `defineConnection({ tools })`. TypeScript in; stdio MCP out. */
@@ -1247,6 +1290,9 @@ export type ConnectionConfig = (((Exclude<ConnectionTransport, {
1247
1290
  * With {@link advertiseTools}, a `listTools` or `auth` failure skips this
1248
1291
  * connection (zero tools from it) instead of failing the turn. Other
1249
1292
  * advertised connections still fail closed. Requires `advertiseTools`.
1293
+ *
1294
+ * A turn never waits to authorize an optional connection, also in the
1295
+ * playground. Authorize it ahead of time with `bdk mcp oauth <name>`.
1250
1296
  */
1251
1297
  optional?: boolean;
1252
1298
  /**
@@ -1361,6 +1407,7 @@ export interface ActionResult {
1361
1407
  stubbed?: true;
1362
1408
  parentCallId?: string;
1363
1409
  modelCallId?: string;
1410
+ completedAt?: string;
1364
1411
  }
1365
1412
  /** Human decision for a parked {@link ToolConfig.needsApproval} tool call. */
1366
1413
  export type ApprovalDecision = "approve" | "deny";
@@ -1398,6 +1445,13 @@ export type SessionEventPayload = {
1398
1445
  type: "message.received";
1399
1446
  data: {
1400
1447
  text: string;
1448
+ /**
1449
+ * {@link ChannelSession.deliveryId} of each `send()` this prompt
1450
+ * carries, in arrival order. One for a direct send or a steer;
1451
+ * several when coalesced follow-ups drain into one turn. Omitted on
1452
+ * prompts no `send()` produced and on legacy stored events.
1453
+ */
1454
+ deliveryIds?: string[];
1401
1455
  };
1402
1456
  } | {
1403
1457
  /**
@@ -1487,8 +1541,13 @@ export type SessionEventPayload = {
1487
1541
  };
1488
1542
  } | {
1489
1543
  /**
1490
- * A host MCP call/list needs OAuth. The turn stays running until
1491
- * the human completes the `authUrl` and the runtime retries.
1544
+ * A host MCP call/list needs OAuth, and a person can authorize it: a
1545
+ * playground or HTTP chat turn, or a Slack message on a channel that
1546
+ * handles this event (`slackChannel({ toolApprovals: true })` or
1547
+ * `buildToolApprovalEvents` in `events`). The turn waits until
1548
+ * the person completes the `authUrl`, the turn is interrupted, or 10
1549
+ * minutes pass. Other turns (schedules, reminders, webhooks, evals) do
1550
+ * not emit this event. They fail the call with a "Reconnect" message.
1492
1551
  */
1493
1552
  type: "action.auth_requested";
1494
1553
  data: {
@@ -1525,6 +1584,7 @@ export type SessionEventPayload = {
1525
1584
  parentCallId?: string;
1526
1585
  /** Same id as the matching {@link ActionCall.modelCallId}. */
1527
1586
  modelCallId?: string;
1587
+ completedAt?: string;
1528
1588
  };
1529
1589
  } | {
1530
1590
  /**
@@ -1619,13 +1679,20 @@ export type SessionEventPayload = {
1619
1679
  };
1620
1680
  } | {
1621
1681
  /**
1622
- * A Slack follow-up queued mid-turn reached the running agent: the
1623
- * workspace carrier moved it from `pending/` to `delivered/` at a tool
1624
- * boundary. Channels use this to reposition a live progress message
1625
- * below the follow-up, which Slack cannot do any other way.
1682
+ * A follow-up sent mid-turn reached the running agent. Channels use
1683
+ * this to reposition a live progress message below the follow-up,
1684
+ * which Slack cannot do any other way.
1685
+ *
1686
+ * `deliveryId` is set when a coalesced `send()` was steered into the
1687
+ * turn and names that send's {@link ChannelSession.deliveryId}. It is
1688
+ * absent when the Slack nudge carrier delivered the follow-up from its
1689
+ * file store at a tool boundary, which does not know which send it
1690
+ * carried.
1626
1691
  */
1627
1692
  type: "nudge.delivered";
1628
- data: Record<string, never>;
1693
+ data: {
1694
+ deliveryId?: string;
1695
+ };
1629
1696
  } | {
1630
1697
  type: "session.waiting";
1631
1698
  data: Record<string, never>;
@@ -1875,6 +1942,22 @@ export interface ChannelSession {
1875
1942
  * in-flight turn instead of starting immediately (Slack busy path).
1876
1943
  */
1877
1944
  readonly coalesced?: boolean;
1945
+ /**
1946
+ * Identifies this `send()` on the session's events: {@link SendMessageOptions.deliveryId}
1947
+ * when the caller passed one, otherwise a fresh `dlv_…` id. The message
1948
+ * reaches the agent exactly one of two ways, and the id is on that event:
1949
+ *
1950
+ * - `nudge.delivered` `{ deliveryId }` — a coalesced send steered into
1951
+ * the running turn.
1952
+ * - `message.received` `{ deliveryIds }` — the prompt of a turn: a send
1953
+ * that started one, or coalesced sends that fell back to the next turn
1954
+ * instead of steering.
1955
+ *
1956
+ * Set on every handle `send()` returns, including the one a hosted-admission
1957
+ * `send()` returns before the session exists. Absent on handles looked up
1958
+ * by session id, which no send produced.
1959
+ */
1960
+ readonly deliveryId?: string;
1878
1961
  readonly info: SessionInfo;
1879
1962
  /**
1880
1963
  * Replay recorded events from `startIndex`, then follow live (NDJSON).
@@ -2020,6 +2103,15 @@ export interface SendMessageOptions {
2020
2103
  * mid-turn nudge already delivered this `sourceTs`, boundary resume skips it.
2021
2104
  */
2022
2105
  coalesceSourceTs?: string;
2106
+ /**
2107
+ * Caller-chosen id for this send, returned as {@link ChannelSession.deliveryId}
2108
+ * and stamped on the event where the message reaches the agent. Use one
2109
+ * you already hold (a webhook delivery or message id) to correlate without
2110
+ * keeping the returned handle. Opaque, compared verbatim; at most 256
2111
+ * characters. Omit for a fresh `dlv_…` id. Keep it unique per session:
2112
+ * two sends with the same id cannot be told apart.
2113
+ */
2114
+ deliveryId?: string;
2023
2115
  }
2024
2116
  export type SendMessageFn = (message: string, options?: SendMessageOptions) => Promise<ChannelSession>;
2025
2117
  /**
@@ -2149,7 +2241,7 @@ export type ChannelRouteHandler = (request: Request, args: ChannelHandlerArgs) =
2149
2241
  * Channel HTTP routes must declare a Zod schema (plain JSON Schema objects
2150
2242
  * are not accepted — TypeScript will reject them).
2151
2243
  */
2152
- export type ChannelRouteSchema = z.ZodTypeAny;
2244
+ export type ChannelRouteSchema = ZodSchema;
2153
2245
  /** Handler args with a required, schema-inferred `query`. */
2154
2246
  export type ChannelHandlerArgsWithQuery<TQuery> = ChannelHandlerArgs & {
2155
2247
  query: TQuery;
@@ -2167,25 +2259,25 @@ export type ChannelHandlerArgsWithBodyAndQuery<TBody, TQuery> = ChannelHandlerAr
2167
2259
  * GET routes must declare a Zod `querySchema` (use `z.object({})` when there
2168
2260
  * are no query params — path params still live on `args.params`).
2169
2261
  */
2170
- export interface ChannelGetRouteSpec<TQuery extends z.ZodTypeAny = z.ZodTypeAny> {
2262
+ export interface ChannelGetRouteSpec<TQuery extends ChannelRouteSchema = ChannelRouteSchema> {
2171
2263
  description?: string;
2172
2264
  querySchema: TQuery;
2173
- handler: (request: Request, args: ChannelHandlerArgsWithQuery<z.infer<TQuery>>) => Response | Promise<Response>;
2265
+ handler: (request: Request, args: ChannelHandlerArgsWithQuery<ZodSchemaOutput<TQuery>>) => Response | Promise<Response>;
2174
2266
  }
2175
2267
  /**
2176
2268
  * POST / PUT / PATCH routes must declare a Zod `bodySchema`. Optional
2177
2269
  * `querySchema` when the route also reads search params.
2178
2270
  */
2179
- export interface ChannelBodyRouteSpec<TBody extends z.ZodTypeAny = z.ZodTypeAny, TQuery extends z.ZodTypeAny | undefined = undefined> {
2271
+ export interface ChannelBodyRouteSpec<TBody extends ChannelRouteSchema = ChannelRouteSchema, TQuery extends ChannelRouteSchema | undefined = undefined> {
2180
2272
  description?: string;
2181
2273
  bodySchema: TBody;
2182
2274
  querySchema?: TQuery;
2183
- handler: (request: Request, args: TQuery extends z.ZodTypeAny ? ChannelHandlerArgsWithBodyAndQuery<z.infer<TBody>, z.infer<TQuery>> : ChannelHandlerArgsWithBody<z.infer<TBody>>) => Response | Promise<Response>;
2275
+ handler: (request: Request, args: TQuery extends ChannelRouteSchema ? ChannelHandlerArgsWithBodyAndQuery<ZodSchemaOutput<TBody>, ZodSchemaOutput<TQuery>> : ChannelHandlerArgsWithBody<ZodSchemaOutput<TBody>>) => Response | Promise<Response>;
2184
2276
  }
2185
2277
  /**
2186
2278
  * DELETE routes may declare Zod schemas when useful; neither is required.
2187
2279
  */
2188
- export interface ChannelDeleteRouteSpec<TBody extends z.ZodTypeAny | undefined = undefined, TQuery extends z.ZodTypeAny | undefined = undefined> {
2280
+ export interface ChannelDeleteRouteSpec<TBody extends ChannelRouteSchema | undefined = undefined, TQuery extends ChannelRouteSchema | undefined = undefined> {
2189
2281
  description?: string;
2190
2282
  bodySchema?: TBody;
2191
2283
  querySchema?: TQuery;
@@ -2345,6 +2437,11 @@ export interface ChannelMeta {
2345
2437
  * dispatch on, in the Cloud vocabulary (`pullrequest:created`, …).
2346
2438
  */
2347
2439
  bitbucketWebhookEvents?: readonly string[];
2440
+ /**
2441
+ * For PagerDuty webhook packs: the v3 `event_type`s this channel is wired
2442
+ * to dispatch on (`incident.triggered`, `incident.annotated`, …).
2443
+ */
2444
+ pagerdutyWebhookEvents?: readonly string[];
2348
2445
  /**
2349
2446
  * For deployments packs: the factory event types this channel is wired
2350
2447
  * to dispatch on. Extracted into the deploy manifest as `eventTypes`.
@@ -2512,7 +2609,7 @@ export interface ArtifactKindConfig {
2512
2609
  * persists the parsed output (defaults and coercions applied), so
2513
2610
  * the schema's output must stay JSON-serializable.
2514
2611
  */
2515
- schema?: z.ZodType;
2612
+ schema?: ZodSchema;
2516
2613
  }
2517
2614
  /** Input to `defineArtifacts` (authored at `agent/artifacts.ts`). */
2518
2615
  export interface ArtifactsConfig {
@@ -2910,10 +3007,25 @@ export interface ReminderHostApi {
2910
3007
  reason?: string;
2911
3008
  }>;
2912
3009
  }
3010
+ export type DiagnosticCode = "module_not_found" | "module_load_failed" | "invalid_definition" | "config_error" | "other";
2913
3011
  export interface Diagnostic {
2914
3012
  severity: "error" | "warning";
2915
- /** Repo-relative or absolute path of the offending file. */
3013
+ /**
3014
+ * Closed classification. Absent means `other`, so a diagnostic written
3015
+ * before codes existed still has a code.
3016
+ */
3017
+ code?: DiagnosticCode;
3018
+ /** Path of the offending file, relative to the project root directory. */
2916
3019
  path?: string;
3020
+ /**
3021
+ * Bare npm package name when `code` is `module_not_found` and the missing
3022
+ * specifier is a package name. Absent for relative and absolute paths.
3023
+ * Consumers must work from `code` alone.
3024
+ */
3025
+ package?: string;
3026
+ /**
3027
+ * Customer text. Consumers must not forward this string.
3028
+ */
2917
3029
  message: string;
2918
3030
  }
2919
3031
  export interface DiscoveredTool {
@@ -3112,8 +3224,6 @@ export interface AgentProject {
3112
3224
  storage?: StorageDefinition;
3113
3225
  /** Optional `agent/artifacts.ts` (`defineArtifacts`). */
3114
3226
  artifacts?: ArtifactsDefinition;
3115
- /** Optional `agent/otel.ts` (`defineOtel`). */
3116
- otel?: OtelDefinition;
3117
3227
  diagnostics: Diagnostic[];
3118
3228
  }
3119
3229
  /** JSON-safe projection of one channel HTTP route on `GET /v1/info`. */
@@ -3127,121 +3237,191 @@ export interface AgentChannelRouteInfo {
3127
3237
  bodySchema?: JsonSchemaObject;
3128
3238
  querySchema?: JsonSchemaObject;
3129
3239
  }
3240
+ export interface ProjectToolInfo {
3241
+ name: string;
3242
+ description: string;
3243
+ /** @experimental */
3244
+ execution: ToolExecution;
3245
+ /**
3246
+ * `true` or `false` when the author set a boolean. `"dynamic"` when
3247
+ * the author set a function.
3248
+ */
3249
+ needsApproval: boolean | "dynamic";
3250
+ /**
3251
+ * The tool's declared {@link ToolEffect} when static, `"dynamic"` when
3252
+ * declared as a predicate. Absent when the author declared nothing —
3253
+ * "unknown", not "mutates".
3254
+ */
3255
+ effect?: ToolEffect | "dynamic";
3256
+ inputSchema: JsonSchemaObject;
3257
+ }
3258
+ export interface ProjectConnectionInfo {
3259
+ name: string;
3260
+ transport: string;
3261
+ /** @experimental */
3262
+ advertiseTools?: boolean;
3263
+ /** @experimental */
3264
+ optional?: boolean;
3265
+ /** @experimental */
3266
+ effects?: readonly ToolEffect[];
3267
+ /** @experimental */
3268
+ tools?: readonly string[];
3269
+ /** @experimental */
3270
+ disallowedTools?: readonly string[];
3271
+ /**
3272
+ * Present only for `cursorAccount` connections. A connector-name
3273
+ * allowlist, or `"*"` for every connected server.
3274
+ * @experimental
3275
+ */
3276
+ cursorAccountServers?: string[] | "*";
3277
+ }
3278
+ export interface ProjectChannelInfo {
3279
+ id: string;
3280
+ routes: AgentChannelRouteInfo[];
3281
+ /** Pack kind when the channel declares one (e.g. `"github"`). */
3282
+ kind?: string;
3283
+ /**
3284
+ * GitHub webhook events the channel dispatches on, when declared.
3285
+ * @experimental
3286
+ */
3287
+ githubWebhookEvents?: readonly string[];
3288
+ /**
3289
+ * Origin webhook event types the channel dispatches on, when declared.
3290
+ * @experimental
3291
+ */
3292
+ originWebhookEvents?: readonly string[];
3293
+ /**
3294
+ * GitLab `object_kind`s the channel dispatches on, when declared.
3295
+ * @experimental
3296
+ */
3297
+ gitlabWebhookEvents?: readonly string[];
3298
+ /**
3299
+ * Bitbucket event keys (Cloud vocabulary) the channel dispatches on.
3300
+ * @experimental
3301
+ */
3302
+ bitbucketWebhookEvents?: readonly string[];
3303
+ /**
3304
+ * PagerDuty v3 event types the channel dispatches on, when declared.
3305
+ * @experimental
3306
+ */
3307
+ pagerdutyWebhookEvents?: readonly string[];
3308
+ /**
3309
+ * Factory deployment event types the channel dispatches on, when declared.
3310
+ * @experimental
3311
+ */
3312
+ deploymentEventTypes?: readonly string[];
3313
+ /**
3314
+ * Change Monitor checkpoint or Factory issue event types the channel dispatches on, when declared.
3315
+ * @experimental
3316
+ */
3317
+ factoryEventTypes?: readonly string[];
3318
+ /**
3319
+ * Slack Events API event types the channel dispatches on, when declared.
3320
+ * @experimental
3321
+ */
3322
+ slackEventTypes?: readonly string[];
3323
+ /**
3324
+ * Slack channels watched for posts (opt-in channel watch), when declared.
3325
+ * @experimental
3326
+ */
3327
+ slackChannelPosts?: readonly string[];
3328
+ }
3130
3329
  /** JSON-safe projection of the manifest returned by `GET /v1/info`. */
3131
- export interface AgentProjectInfo {
3330
+ export interface ProjectInfo {
3331
+ /** Projection shape. Bump only when a stable field changes meaning. */
3332
+ schemaVersion: 1;
3132
3333
  name: string;
3133
3334
  /** Short agent description when authored on `defineAgent`. */
3134
3335
  description?: string;
3135
3336
  model?: ModelSetting;
3337
+ /**
3338
+ * Resolved runtime architecture. Omitted authors are `"v2"`.
3339
+ */
3340
+ architecture: AgentArchitecture;
3341
+ /** @experimental */
3136
3342
  runtime: AgentRuntime;
3343
+ /** @experimental */
3137
3344
  cloud?: AgentCloudPublicInfo;
3138
- /** Local harness options when authored (`cwd` absolute). */
3345
+ /**
3346
+ * Local harness options when authored (`cwd` absolute).
3347
+ * @experimental
3348
+ */
3139
3349
  local?: {
3140
3350
  cwd?: string;
3141
3351
  };
3142
- /** Managed-hosting declarations when authored or declared by a mounted extension (egress allowlist, expected secrets, container image). */
3352
+ /**
3353
+ * Managed-hosting declarations when authored or declared by a mounted extension (egress allowlist, expected secrets, container image).
3354
+ * @experimental
3355
+ */
3143
3356
  hosting?: {
3144
3357
  egressDomains?: string[];
3145
3358
  secretNames?: string[];
3146
3359
  image?: string;
3147
3360
  };
3148
- /** Turn admission limits when authored (`concurrency` on `agent.ts`). */
3361
+ /**
3362
+ * Turn admission limits when authored (`concurrency` on `agent.ts`).
3363
+ * @experimental
3364
+ */
3149
3365
  concurrency?: {
3150
3366
  maxRunningTurns?: number;
3151
3367
  };
3152
3368
  /**
3153
- * The agent's own MCP surface (mounted at `<base>/v1/mcp`): other agents
3369
+ * The agent's own MCP surface (mounted at `<base>/v1/mcp`). Other agents
3154
3370
  * and MCP clients delegate to this agent through these tools.
3371
+ * @experimental
3155
3372
  */
3156
3373
  mcp: {
3157
3374
  path: string;
3158
3375
  tools: string[];
3159
3376
  };
3377
+ /**
3378
+ * @experimental
3379
+ */
3160
3380
  instructions?: {
3161
3381
  chars: number;
3162
3382
  preview: string;
3163
3383
  };
3164
- tools: Array<{
3165
- name: string;
3166
- description: string;
3167
- execution: ToolExecution;
3168
- needsApproval: boolean;
3169
- /**
3170
- * The tool's declared {@link ToolEffect} when static, `"dynamic"` when
3171
- * declared as a predicate. Absent when the author declared nothing —
3172
- * "unknown", not "mutates".
3173
- */
3174
- effect?: ToolEffect | "dynamic";
3175
- inputSchema: JsonSchemaObject;
3176
- }>;
3384
+ tools: ProjectToolInfo[];
3177
3385
  skills: Array<{
3178
3386
  name: string;
3179
3387
  description: string;
3180
3388
  }>;
3181
- /** Mounted extensions and the tool / skill names each contributed. */
3389
+ /**
3390
+ * Mounted extensions and the tool / skill names each contributed.
3391
+ * @experimental
3392
+ */
3182
3393
  extensions: DiscoveredExtension[];
3183
- connections: Array<{
3184
- name: string;
3185
- transport: string;
3186
- advertiseTools?: boolean;
3187
- optional?: boolean;
3188
- effects?: readonly ToolEffect[];
3189
- tools?: readonly string[];
3190
- disallowedTools?: readonly string[];
3191
- /**
3192
- * Present only for `cursorAccount` connections: the connector-name
3193
- * allowlist, or `"*"` for every connected server. Structured twin of the
3194
- * `cursor-account[:a,b]` transport label so consumers (e.g. the
3195
- * dashboard's connector scoping) never parse the display string.
3196
- */
3197
- cursorAccountServers?: string[] | "*";
3198
- }>;
3394
+ connections: ProjectConnectionInfo[];
3199
3395
  subagents: Array<{
3200
3396
  name: string;
3201
3397
  description?: string;
3202
3398
  model?: ModelSetting;
3203
3399
  }>;
3204
- channels: Array<{
3205
- id: string;
3206
- routes: AgentChannelRouteInfo[];
3207
- /** Pack kind when the channel declares one (e.g. `"github"`). */
3208
- kind?: string;
3209
- /** GitHub webhook events the channel dispatches on, when declared. */
3210
- githubWebhookEvents?: readonly string[];
3211
- /** Origin webhook event types the channel dispatches on, when declared. */
3212
- originWebhookEvents?: readonly string[];
3213
- /** GitLab `object_kind`s the channel dispatches on, when declared. */
3214
- gitlabWebhookEvents?: readonly string[];
3215
- /** Bitbucket event keys (Cloud vocabulary) the channel dispatches on. */
3216
- bitbucketWebhookEvents?: readonly string[];
3217
- /** Factory deployment event types the channel dispatches on, when declared. */
3218
- deploymentEventTypes?: readonly string[];
3219
- /** Change Monitor checkpoint or Factory issue event types the channel dispatches on, when declared. */
3220
- factoryEventTypes?: readonly string[];
3221
- /** Slack Events API event types the channel dispatches on, when declared. */
3222
- slackEventTypes?: readonly string[];
3223
- /** Slack channels watched for posts (opt-in channel watch), when declared. */
3224
- slackChannelPosts?: readonly string[];
3225
- }>;
3400
+ channels: ProjectChannelInfo[];
3226
3401
  schedules: Array<{
3227
3402
  name: string;
3228
3403
  cron: string;
3229
3404
  kind: "markdown" | "run";
3230
3405
  }>;
3231
- /** Named reminder handlers (`agent/reminders/<name>.ts`) when present. */
3406
+ /**
3407
+ * Named reminder handlers (`agent/reminders/<name>.ts`) when present.
3408
+ * @experimental
3409
+ */
3232
3410
  reminders?: Array<{
3233
3411
  name: string;
3234
3412
  }>;
3235
3413
  hooks: string[];
3236
- /** Project storage sink from `agent/storage.ts`, when authored. */
3414
+ /**
3415
+ * Project storage sink from `agent/storage.ts`, when authored.
3416
+ * @experimental
3417
+ */
3237
3418
  storage?: {
3238
3419
  name?: string;
3239
3420
  };
3240
- otel?: {
3241
- serviceName?: string;
3242
- enabled: true;
3243
- };
3244
- /** Declared artifact kinds from `agent/artifacts.ts`, when authored. */
3421
+ /**
3422
+ * Declared artifact kinds from `agent/artifacts.ts`, when authored.
3423
+ * @experimental
3424
+ */
3245
3425
  artifacts?: {
3246
3426
  kinds: string[];
3247
3427
  agentTool: boolean;
@@ -3250,10 +3430,16 @@ export interface AgentProjectInfo {
3250
3430
  /**
3251
3431
  * Eval cases a hosted architecture v2 release runs as its own sessions.
3252
3432
  * Set only in that release's deploy manifest.
3433
+ * @experimental
3253
3434
  */
3254
3435
  evals?: AgentProjectEvalsInfo;
3255
3436
  diagnostics: Diagnostic[];
3256
3437
  }
3438
+ /** @deprecated Use {@link ProjectInfo}. */
3439
+ export type AgentProjectInfo = ProjectInfo;
3440
+ export interface Project {
3441
+ readonly info: ProjectInfo;
3442
+ }
3257
3443
  export interface AgentProjectEvalsInfo {
3258
3444
  /** Hosted eval-case protocol this release speaks. */
3259
3445
  protocol: 1;
@@ -3506,14 +3692,8 @@ export interface ServeOptions {
3506
3692
  apiKey?: string;
3507
3693
  };
3508
3694
  logger?: (line: string) => void;
3509
- /**
3510
- * OpenTelemetry export. Pass a config object, or `false` to force-disable
3511
- * even when `OTEL_EXPORTER_OTLP_*` env vars / `agent/otel.ts` are set.
3512
- * When omitted, env + authored `defineOtel` still enable export.
3513
- */
3514
- otel?: OtelConfig | false;
3515
3695
  }
3516
- /** One agent mounted on a server (its URL slug + compiled project). */
3696
+ /** One agent mounted on a server (its URL slug and public project info). */
3517
3697
  export interface MountedAgentInfo {
3518
3698
  /**
3519
3699
  * URL slug the agent is mounted under. Empty string in single-agent mode
@@ -3521,18 +3701,20 @@ export interface MountedAgentInfo {
3521
3701
  * `/<slug>/v1/...`).
3522
3702
  */
3523
3703
  slug: string;
3524
- project: AgentProject;
3525
3704
  /** Absolute base URL for this agent (server URL + `/<slug>` when slugged). */
3526
3705
  url: string;
3706
+ /** Same projection as `GET /v1/info` for this agent. */
3707
+ info: ProjectInfo;
3527
3708
  }
3528
3709
  export interface AgentServeHandle {
3529
3710
  url: string;
3530
3711
  port: number;
3531
3712
  /**
3532
- * The single served agent's project. In multi-agent mode this is the first
3533
- * mounted agent; use {@link agents} for the full set.
3713
+ * The first mounted agent's {@link Project}. In multi-agent mode use
3714
+ * {@link agents} for the full set.
3715
+ * @deprecated Use `agents[0].info`.
3534
3716
  */
3535
- project: AgentProject;
3717
+ project: Project;
3536
3718
  /** Every agent mounted on this server. One entry in single-agent mode. */
3537
3719
  agents: MountedAgentInfo[];
3538
3720
  /**