@cursor/bdk 0.2.25 → 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 (433) hide show
  1. package/AGENTS.md +3 -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.js +25 -21
  6. package/dist/channels/bitbucket/api.d.ts +2 -2
  7. package/dist/channels/bitbucket/api.d.ts.map +1 -1
  8. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  9. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +2 -2
  10. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
  11. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  12. package/dist/channels/deployments/deployments-channel.js +1 -1
  13. package/dist/channels/github/cursor-account.d.ts +7 -0
  14. package/dist/channels/github/cursor-account.d.ts.map +1 -1
  15. package/dist/channels/github/cursor-account.js +22 -5
  16. package/dist/channels/github/github-channel.js +1 -1
  17. package/dist/channels/github/replay.d.ts +1 -1
  18. package/dist/channels/github/replay.d.ts.map +1 -1
  19. package/dist/channels/gitlab/api.d.ts +2 -2
  20. package/dist/channels/gitlab/api.d.ts.map +1 -1
  21. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  22. package/dist/channels/issues/issues-channel.js +1 -1
  23. package/dist/channels/origin/api.d.ts +4 -4
  24. package/dist/channels/origin/api.d.ts.map +1 -1
  25. package/dist/channels/origin/origin-channel.js +1 -1
  26. package/dist/channels/origin/origin-webhook.d.ts +3 -3
  27. package/dist/channels/origin/origin-webhook.d.ts.map +1 -1
  28. package/dist/channels/pagerduty/pagerduty-webhook.d.ts +2 -2
  29. package/dist/channels/pagerduty/pagerduty-webhook.d.ts.map +1 -1
  30. package/dist/channels/runs/runs-channel.js +1 -1
  31. package/dist/channels/slack/agentic-delivery.d.ts +2 -1
  32. package/dist/channels/slack/agentic-delivery.d.ts.map +1 -1
  33. package/dist/channels/slack/agentic-delivery.js +6 -10
  34. package/dist/channels/slack/agentic-signals.d.ts +2 -7
  35. package/dist/channels/slack/agentic-signals.d.ts.map +1 -1
  36. package/dist/channels/slack/agentic-signals.js +4 -3
  37. package/dist/channels/slack/api.d.ts +1 -0
  38. package/dist/channels/slack/api.d.ts.map +1 -1
  39. package/dist/channels/slack/api.js +3 -0
  40. package/dist/channels/slack/constants.d.ts +2 -0
  41. package/dist/channels/slack/constants.d.ts.map +1 -1
  42. package/dist/channels/slack/constants.js +2 -0
  43. package/dist/channels/slack/defaults.d.ts.map +1 -1
  44. package/dist/channels/slack/defaults.js +3 -2
  45. package/dist/channels/slack/dispatch.d.ts +9 -0
  46. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  47. package/dist/channels/slack/dispatch.js +3 -0
  48. package/dist/channels/slack/inbound.d.ts.map +1 -1
  49. package/dist/channels/slack/inbound.js +24 -20
  50. package/dist/channels/slack/interactive.d.ts +2 -0
  51. package/dist/channels/slack/interactive.d.ts.map +1 -1
  52. package/dist/channels/slack/interactive.js +1 -0
  53. package/dist/channels/slack/live-delivery.d.ts +3 -0
  54. package/dist/channels/slack/live-delivery.d.ts.map +1 -1
  55. package/dist/channels/slack/live-delivery.js +5 -0
  56. package/dist/channels/slack/reply-options.d.ts +9 -0
  57. package/dist/channels/slack/reply-options.d.ts.map +1 -1
  58. package/dist/channels/slack/reply-options.js +31 -1
  59. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  60. package/dist/channels/slack/slack-channel.js +7 -0
  61. package/dist/channels/slack/stream.d.ts +5 -1
  62. package/dist/channels/slack/stream.d.ts.map +1 -1
  63. package/dist/channels/slack/types.d.ts +29 -0
  64. package/dist/channels/slack/types.d.ts.map +1 -1
  65. package/dist/channels.d.ts +1 -1
  66. package/dist/channels.js +1 -1
  67. package/dist/docs/404.html +3 -3
  68. package/dist/docs/assets/{app.BjS1QEI4.js → app.BITbgXMP.js} +4 -4
  69. package/dist/docs/assets/changelog.md.sdD6ctqK.js +1 -0
  70. package/dist/docs/assets/changelog.md.sdD6ctqK.lean.js +1 -0
  71. package/dist/docs/assets/chunks/@localSearchIndexroot.B45uCZp9.js +1 -0
  72. package/dist/docs/assets/chunks/{VPLocalSearchBox.BOuvjb5Y.js → VPLocalSearchBox.3qo4-bX9.js} +2 -2
  73. package/dist/docs/assets/chunks/{arc.3WR6Jf-y.js → arc.CTrZocKU.js} +1 -1
  74. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.Dtb6Dqh6.js → architectureDiagram-Q4EWVU46.BkgIqxrv.js} +1 -1
  75. package/dist/docs/assets/chunks/{baseUniq.BUyrgrZE.js → baseUniq.5w0JfVgo.js} +1 -1
  76. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BVLV_voZ.js → blockDiagram-DXYQGD6D.BVLtPjQc.js} +1 -1
  77. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.jXJ1q70M.js → c4Diagram-AHTNJAMY.CQ7neZTW.js} +1 -1
  78. package/dist/docs/assets/chunks/channel.Cv2w64wj.js +1 -0
  79. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.zz1SMBvK.js → chunk-4BX2VUAB.D-hJ7uKM.js} +1 -1
  80. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.CzYKuv3I.js → chunk-4TB4RGXK.RBYX5ywX.js} +1 -1
  81. package/dist/docs/assets/chunks/{chunk-55IACEB6.C7_tcJZD.js → chunk-55IACEB6.Br05HoEb.js} +1 -1
  82. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.DeTwQPVO.js → chunk-EDXVE4YY.BD_7QS60.js} +1 -1
  83. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DhMTl7ut.js → chunk-FMBD7UC4.BOPnMabX.js} +1 -1
  84. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Me7f5hEp.js → chunk-OYMX7WX6.DmGIdP8i.js} +1 -1
  85. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.D0E0Bb6g.js → chunk-QZHKN3VN.CGHmolCB.js} +1 -1
  86. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CdOOBFYL.js → chunk-YZCP3GAM.C_Uhs25v.js} +1 -1
  87. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CtO2atCr.js +1 -0
  88. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CtO2atCr.js +1 -0
  89. package/dist/docs/assets/chunks/clone.hfsCtgP4.js +1 -0
  90. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BNbGESzN.js → cose-bilkent-S5V4N54A.DsU6xpcZ.js} +1 -1
  91. package/dist/docs/assets/chunks/{dagre-KV5264BT.zU7Lu_xJ.js → dagre-KV5264BT.BqQLDcoU.js} +1 -1
  92. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.B9qOdE5h.js → diagram-5BDNPKRD.Cgv8uUNF.js} +1 -1
  93. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.D8X-sf77.js → diagram-G4DWMVQ6.BXHPSXh_.js} +1 -1
  94. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.CW7MvMlE.js → diagram-MMDJMWI5.CgJzo8f_.js} +1 -1
  95. package/dist/docs/assets/chunks/{diagram-TYMM5635.J489G0Nd.js → diagram-TYMM5635.CfiN6lgT.js} +1 -1
  96. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BkW7tGfs.js → erDiagram-SMLLAGMA.8n_hHzAd.js} +1 -1
  97. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.jc9iWORD.js → flowDiagram-DWJPFMVM.B2pb1Dv_.js} +1 -1
  98. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.B-UQfd9E.js → ganttDiagram-T4ZO3ILL.BFih4ucI.js} +1 -1
  99. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DFzrTSlJ.js → gitGraphDiagram-UUTBAWPF.CqZ8PTl8.js} +1 -1
  100. package/dist/docs/assets/chunks/{graph.C5IB6_e_.js → graph.0ufsI9gu.js} +1 -1
  101. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.DwF0-c8L.js → infoDiagram-42DDH7IO.BkPRFww4.js} +1 -1
  102. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.fBaTqzE7.js → ishikawaDiagram-UXIWVN3A.DCRK-cVX.js} +1 -1
  103. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CM8gDVJy.js → journeyDiagram-VCZTEJTY.BFyAJo33.js} +1 -1
  104. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.YiD1p0LB.js → kanban-definition-6JOO6SKY.CmA2SoGc.js} +1 -1
  105. package/dist/docs/assets/chunks/{layout.6Um-DVJT.js → layout.CYY-CbMr.js} +1 -1
  106. package/dist/docs/assets/chunks/{linear.DcTeg4Hn.js → linear.DeeDV4Oq.js} +1 -1
  107. package/dist/docs/assets/chunks/{min.CIxkY8Fe.js → min.BL3XTBN2.js} +1 -1
  108. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.D4QM_voR.js → mindmap-definition-QFDTVHPH.BcbY-G6H.js} +1 -1
  109. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.nmB309G1.js → pieDiagram-DEJITSTG.dzDcQnPE.js} +1 -1
  110. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D1HtZR3C.js → quadrantDiagram-34T5L4WZ.RxR0m5iK.js} +1 -1
  111. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CZgQWob-.js → requirementDiagram-MS252O5E.DflaXb6Q.js} +1 -1
  112. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DtiBfU-P.js → sankeyDiagram-XADWPNL6.BteLKQAe.js} +1 -1
  113. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Cld4gDSt.js → sequenceDiagram-FGHM5R23.BD8jM8oz.js} +1 -1
  114. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DatP823_.js → stateDiagram-FHFEXIEX.C8SBkbPH.js} +1 -1
  115. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BLz7Qyo3.js +1 -0
  116. package/dist/docs/assets/chunks/{theme.D5jbBys7.js → theme.DiViIOLe.js} +2 -2
  117. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.DwQLI2be.js → timeline-definition-GMOUNBTQ.D64XF5dV.js} +1 -1
  118. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.a5yMfnsa.js → vennDiagram-DHZGUBPP.CwmeYan-.js} +1 -1
  119. package/dist/docs/assets/chunks/{wardley-RL74JXVD.B-FXivgT.js → wardley-RL74JXVD.DmAlXlpu.js} +1 -1
  120. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.Dz--Opy3.js → wardleyDiagram-NUSXRM2D.5VJ2-5K0.js} +1 -1
  121. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Dl8w8TeT.js → xychartDiagram-5P7HB3ND.Cl6_fZVC.js} +1 -1
  122. package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.js → guides_hooks.md.B2XfGX50.js} +7 -3
  123. package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.js → guides_mcp-oauth.md.Cxq2TxBB.js} +3 -3
  124. package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.lean.js → guides_mcp-oauth.md.Cxq2TxBB.lean.js} +1 -1
  125. package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.js +37 -0
  126. package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.lean.js +1 -0
  127. package/dist/docs/assets/{guides_slack.md.Bn-WupSE.js → guides_slack.md.ClIyi7FI.js} +8 -3
  128. package/dist/docs/assets/{guides_slack.md.Bn-WupSE.lean.js → guides_slack.md.ClIyi7FI.lean.js} +1 -1
  129. package/dist/docs/assets/{reference_agent-config.md.IplwL25I.js → reference_agent-config.md.CGSx8COP.js} +6 -2
  130. package/dist/docs/assets/{reference_agent-config.md.IplwL25I.lean.js → reference_agent-config.md.CGSx8COP.lean.js} +1 -1
  131. package/dist/docs/assets/{reference_channels.md.Bxaa020x.js → reference_channels.md.CNNIS6K7.js} +1 -1
  132. package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.js → reference_hooks.md.CROr0QgC.js} +13 -7
  133. package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.lean.js → reference_hooks.md.CROr0QgC.lean.js} +1 -1
  134. package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.js → reference_schedules.md.BqWnJES4.js} +3 -3
  135. package/dist/docs/assets/reference_sessions.md.Bi6lHttM.js +22 -0
  136. package/dist/docs/assets/reference_sessions.md.Bi6lHttM.lean.js +1 -0
  137. package/dist/docs/assets/{reference_skills.md.C2GWh7g8.js → reference_skills.md.Ckddg6KX.js} +3 -3
  138. package/dist/docs/assets/{reference_tools.md.-6pypsWt.js → reference_tools.md.Bo0UfT0a.js} +1 -1
  139. package/dist/docs/assets/{style.nMsabY-V.css → style.B9o0luvp.css} +1 -1
  140. package/dist/docs/building-with-agents.html +37 -37
  141. package/dist/docs/changelog.html +60 -0
  142. package/dist/docs/changelog.md +86 -0
  143. package/dist/docs/deployment.html +37 -37
  144. package/dist/docs/evals.html +37 -37
  145. package/dist/docs/guides/agent-to-agent.html +37 -37
  146. package/dist/docs/guides/bitbucket.html +37 -37
  147. package/dist/docs/guides/cloud-agents.html +37 -37
  148. package/dist/docs/guides/convert-automation.html +37 -37
  149. package/dist/docs/guides/export-grokbot.html +37 -37
  150. package/dist/docs/guides/github.html +37 -37
  151. package/dist/docs/guides/gitlab.html +37 -37
  152. package/dist/docs/guides/grokbot-agents.html +37 -37
  153. package/dist/docs/guides/hooks.html +45 -41
  154. package/dist/docs/guides/hooks.md +7 -3
  155. package/dist/docs/guides/improve.html +37 -37
  156. package/dist/docs/guides/jev.html +37 -37
  157. package/dist/docs/guides/mcp-oauth.html +39 -39
  158. package/dist/docs/guides/mcp-oauth.md +12 -0
  159. package/dist/docs/guides/migrate.html +37 -37
  160. package/dist/docs/guides/opentelemetry.html +62 -70
  161. package/dist/docs/guides/opentelemetry.md +149 -179
  162. package/dist/docs/guides/pagerduty.html +37 -37
  163. package/dist/docs/guides/slack.html +44 -39
  164. package/dist/docs/guides/slack.md +41 -0
  165. package/dist/docs/guides/webhooks.html +37 -37
  166. package/dist/docs/hashmap.json +1 -1
  167. package/dist/docs/hillclimbing.html +37 -37
  168. package/dist/docs/index.html +37 -37
  169. package/dist/docs/llms-full.txt +385 -193
  170. package/dist/docs/llms.txt +2 -1
  171. package/dist/docs/quickstart.html +37 -37
  172. package/dist/docs/reference/agent-config.html +42 -38
  173. package/dist/docs/reference/agent-config.md +21 -1
  174. package/dist/docs/reference/artifacts.html +37 -37
  175. package/dist/docs/reference/channels.html +38 -38
  176. package/dist/docs/reference/channels.md +5 -1
  177. package/dist/docs/reference/cli.html +37 -37
  178. package/dist/docs/reference/connections.html +37 -37
  179. package/dist/docs/reference/evals.html +37 -37
  180. package/dist/docs/reference/extensions.html +37 -37
  181. package/dist/docs/reference/hooks.html +49 -43
  182. package/dist/docs/reference/hooks.md +10 -5
  183. package/dist/docs/reference/http-api.html +37 -37
  184. package/dist/docs/reference/instructions.html +37 -37
  185. package/dist/docs/reference/memory.html +37 -37
  186. package/dist/docs/reference/playground.html +36 -36
  187. package/dist/docs/reference/project-layout.html +37 -37
  188. package/dist/docs/reference/prompt.html +37 -37
  189. package/dist/docs/reference/schedules.html +40 -40
  190. package/dist/docs/reference/sessions.html +58 -37
  191. package/dist/docs/reference/sessions.md +46 -1
  192. package/dist/docs/reference/skills.html +40 -40
  193. package/dist/docs/reference/subagents.html +37 -37
  194. package/dist/docs/reference/tools.html +39 -39
  195. package/dist/docs/reference/tools.md +3 -3
  196. package/dist/docs/templates/agentic-owners.html +37 -37
  197. package/dist/docs/templates/grokbot-agents.html +37 -37
  198. package/dist/docs/templates/security-reviewer.html +37 -37
  199. package/dist/docs/templates/thermo-quality-review.html +37 -37
  200. package/dist/docs/templates/thermo-review.html +37 -37
  201. package/dist/docs/templates/triage.html +37 -37
  202. package/dist/docs/troubleshooting.html +36 -36
  203. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  204. package/dist/extensions/cursor-cloud-agents/extension.js +15 -15
  205. package/dist/extensions/cursor-cloud-agents/lib/backend.js +1 -1
  206. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  207. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
  208. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
  209. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
  210. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
  211. package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
  212. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  213. package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
  214. package/dist/extensions/cursor-grokbot-agents/extension.d.ts.map +1 -1
  215. package/dist/extensions/cursor-grokbot-agents/extension.js +7 -3
  216. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
  217. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
  218. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
  219. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
  220. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
  221. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
  222. package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
  223. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
  224. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  225. package/dist/extensions/improve/extension.js +1 -1
  226. package/dist/extensions/jev/extension.js +2 -2
  227. package/dist/extensions/jev/tools/evaluate.js +3 -3
  228. package/dist/extensions/slack-communication/extension.js +1 -1
  229. package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
  230. package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -1
  231. package/dist/extensions/slack-communication/tools/edit-message.js +3 -6
  232. package/dist/extensions/slack-communication/tools/post-card.js +1 -1
  233. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  234. package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -1
  235. package/dist/extensions/slack-communication/tools/post-update.js +3 -6
  236. package/dist/extensions/slack-communication/tools/react.js +1 -1
  237. package/dist/extensions/slack-communication/tools/set-status.js +1 -1
  238. package/dist/extensions.d.ts +1 -1
  239. package/dist/extensions.js +1 -1
  240. package/dist/index.d.ts +14 -11
  241. package/dist/index.d.ts.map +1 -1
  242. package/dist/index.js +8 -4
  243. package/dist/internal/as-of.d.ts +2 -0
  244. package/dist/internal/as-of.d.ts.map +1 -1
  245. package/dist/internal/as-of.js +2 -0
  246. package/dist/internal/builtin-tools/reminders.js +1 -1
  247. package/dist/internal/cli-deploy.d.ts.map +1 -1
  248. package/dist/internal/cli-deploy.js +18 -10
  249. package/dist/internal/continuation.d.ts +3 -0
  250. package/dist/internal/continuation.d.ts.map +1 -0
  251. package/dist/internal/continuation.js +1 -0
  252. package/dist/internal/conversation-mirror.d.ts +5 -0
  253. package/dist/internal/conversation-mirror.d.ts.map +1 -1
  254. package/dist/internal/conversation-mirror.js +12 -1
  255. package/dist/internal/convert-automation/convert-workflow.js +1 -1
  256. package/dist/internal/convert-grokbot/answers.d.ts.map +1 -1
  257. package/dist/internal/convert-grokbot/answers.js +10 -8
  258. package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
  259. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
  260. package/dist/internal/convert-grokbot/recipe.js +1 -1
  261. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  262. package/dist/internal/cursor/account-mcp.js +2 -0
  263. package/dist/internal/cursor/backend-client.d.ts +8 -3
  264. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  265. package/dist/internal/cursor/backend-client.js +8 -3
  266. package/dist/internal/cursor/credentials.d.ts +2 -2
  267. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  268. package/dist/internal/cursor/credentials.js +1 -1
  269. package/dist/internal/cursor-account-mcp-auth.d.ts +6 -2
  270. package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -1
  271. package/dist/internal/cursor-account-mcp-auth.js +15 -6
  272. package/dist/internal/deferred-channel-session.d.ts +5 -4
  273. package/dist/internal/deferred-channel-session.d.ts.map +1 -1
  274. package/dist/internal/deferred-channel-session.js +6 -4
  275. package/dist/internal/deploy-client.d.ts +5 -0
  276. package/dist/internal/deploy-client.d.ts.map +1 -1
  277. package/dist/internal/deploy-client.js +3 -3
  278. package/dist/internal/deploy-manifest.js +2 -2
  279. package/dist/internal/describe-error.d.ts +2 -0
  280. package/dist/internal/describe-error.d.ts.map +1 -1
  281. package/dist/internal/describe-error.js +2 -0
  282. package/dist/internal/discovery/context.d.ts.map +1 -1
  283. package/dist/internal/discovery/context.js +1 -2
  284. package/dist/internal/discovery/cursor-plugin.js +8 -8
  285. package/dist/internal/discovery/extensions.js +15 -8
  286. package/dist/internal/discovery/info.d.ts +2 -2
  287. package/dist/internal/discovery/info.d.ts.map +1 -1
  288. package/dist/internal/discovery/info.js +6 -9
  289. package/dist/internal/discovery/instrumentation.d.ts +10 -0
  290. package/dist/internal/discovery/instrumentation.d.ts.map +1 -0
  291. package/dist/internal/discovery/instrumentation.js +29 -0
  292. package/dist/internal/discovery/modules.d.ts.map +1 -1
  293. package/dist/internal/discovery/modules.js +4 -4
  294. package/dist/internal/discovery/project-public.d.ts +16 -0
  295. package/dist/internal/discovery/project-public.d.ts.map +1 -0
  296. package/dist/internal/discovery/project-public.js +54 -0
  297. package/dist/internal/discovery/project.d.ts.map +1 -1
  298. package/dist/internal/discovery/project.js +13 -3
  299. package/dist/internal/discovery/services.d.ts +5 -4
  300. package/dist/internal/discovery/services.d.ts.map +1 -1
  301. package/dist/internal/discovery/services.js +12 -6
  302. package/dist/internal/event-mapper.d.ts.map +1 -1
  303. package/dist/internal/event-mapper.js +1 -0
  304. package/dist/internal/factory-resource-channel.d.ts +1 -1
  305. package/dist/internal/factory-resource-channel.d.ts.map +1 -1
  306. package/dist/internal/filesystem/nearest.d.ts +1 -0
  307. package/dist/internal/filesystem/nearest.d.ts.map +1 -1
  308. package/dist/internal/filesystem/nearest.js +1 -0
  309. package/dist/internal/filesystem/tools.d.ts.map +1 -1
  310. package/dist/internal/filesystem/tools.js +1 -1
  311. package/dist/internal/handleAgentServeTrigger.d.ts +10 -0
  312. package/dist/internal/handleAgentServeTrigger.d.ts.map +1 -1
  313. package/dist/internal/handleAgentServeTrigger.js +3 -0
  314. package/dist/internal/hmac-secret-values.d.ts +1 -1
  315. package/dist/internal/hmac-secret-values.d.ts.map +1 -1
  316. package/dist/internal/host-otel.d.ts +1 -1
  317. package/dist/internal/host-otel.d.ts.map +1 -1
  318. package/dist/internal/host-otel.js +5 -0
  319. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  320. package/dist/internal/hosted-delivery.js +6 -2
  321. package/dist/internal/http-channel.d.ts.map +1 -1
  322. package/dist/internal/http-channel.js +1 -0
  323. package/dist/internal/ids.d.ts +8 -0
  324. package/dist/internal/ids.d.ts.map +1 -1
  325. package/dist/internal/ids.js +20 -0
  326. package/dist/internal/init-scaffold.js +1 -1
  327. package/dist/internal/interview/agent-questions.d.ts +1 -1
  328. package/dist/internal/interview/agent-questions.d.ts.map +1 -1
  329. package/dist/internal/interview/agent-questions.js +1 -1
  330. package/dist/internal/interview/question.d.ts +2 -2
  331. package/dist/internal/interview/question.d.ts.map +1 -1
  332. package/dist/internal/interview/question.js +2 -2
  333. package/dist/internal/json-schema.d.ts.map +1 -1
  334. package/dist/internal/json-schema.js +3 -7
  335. package/dist/internal/mcp-endpoint.d.ts +16 -4
  336. package/dist/internal/mcp-endpoint.d.ts.map +1 -1
  337. package/dist/internal/mcp-endpoint.js +18 -6
  338. package/dist/internal/mcp-host.d.ts +9 -0
  339. package/dist/internal/mcp-host.d.ts.map +1 -1
  340. package/dist/internal/mcp-host.js +15 -0
  341. package/dist/internal/otel/collector.d.ts +5 -0
  342. package/dist/internal/otel/collector.d.ts.map +1 -1
  343. package/dist/internal/otel/collector.js +24 -5
  344. package/dist/internal/otel/config.d.ts +31 -21
  345. package/dist/internal/otel/config.d.ts.map +1 -1
  346. package/dist/internal/otel/config.js +121 -140
  347. package/dist/internal/otel/conversation-span-processor.d.ts +9 -0
  348. package/dist/internal/otel/conversation-span-processor.d.ts.map +1 -0
  349. package/dist/internal/otel/conversation-span-processor.js +34 -0
  350. package/dist/internal/otel/customer.d.ts +52 -0
  351. package/dist/internal/otel/customer.d.ts.map +1 -0
  352. package/dist/internal/otel/customer.js +727 -0
  353. package/dist/internal/otel/runtime.d.ts +12 -16
  354. package/dist/internal/otel/runtime.d.ts.map +1 -1
  355. package/dist/internal/otel/runtime.js +30 -234
  356. package/dist/internal/otel-env.d.ts +6 -0
  357. package/dist/internal/otel-env.d.ts.map +1 -0
  358. package/dist/internal/otel-env.js +5 -0
  359. package/dist/internal/reminder-runner.d.ts +9 -4
  360. package/dist/internal/reminder-runner.d.ts.map +1 -1
  361. package/dist/internal/reminder-runner.js +12 -10
  362. package/dist/internal/reminder-schedule.d.ts +1 -0
  363. package/dist/internal/reminder-schedule.d.ts.map +1 -1
  364. package/dist/internal/reminder-schedule.js +1 -0
  365. package/dist/internal/sdk-runner.d.ts +2 -0
  366. package/dist/internal/sdk-runner.d.ts.map +1 -1
  367. package/dist/internal/sdk-runner.js +149 -13
  368. package/dist/internal/server.d.ts +4 -1
  369. package/dist/internal/server.d.ts.map +1 -1
  370. package/dist/internal/server.js +25 -24
  371. package/dist/internal/session-engine.d.ts +27 -0
  372. package/dist/internal/session-engine.d.ts.map +1 -1
  373. package/dist/internal/session-engine.js +149 -21
  374. package/dist/internal/slack-provision-client.js +1 -1
  375. package/dist/internal/store-api-protocol.d.ts +1 -1
  376. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  377. package/dist/internal/store-api-protocol.js +1 -1
  378. package/dist/internal/update-check.d.ts +2 -2
  379. package/dist/internal/update-check.d.ts.map +1 -1
  380. package/dist/internal/update-check.js +3 -3
  381. package/dist/internal/zod3-datetime.d.ts +12 -0
  382. package/dist/internal/zod3-datetime.d.ts.map +1 -0
  383. package/dist/internal/zod3-datetime.js +17 -0
  384. package/dist/otel-public.d.ts +2 -3
  385. package/dist/otel-public.d.ts.map +1 -1
  386. package/dist/otel-public.js +2 -2
  387. package/dist/otel.d.ts +3 -102
  388. package/dist/otel.d.ts.map +1 -1
  389. package/dist/otel.js +61 -97
  390. package/dist/playground/assets/index-CyPkf2y7.css +1 -0
  391. package/dist/playground/assets/{index-CHk6O92d.js → index-DpbzbqFY.js} +38 -38
  392. package/dist/playground/index.html +2 -2
  393. package/dist/public-deprecated.d.ts +36 -0
  394. package/dist/public-deprecated.d.ts.map +1 -0
  395. package/dist/public-deprecated.js +39 -0
  396. package/dist/tools.d.ts +3 -3
  397. package/dist/tools.d.ts.map +1 -1
  398. package/dist/tools.js +1 -1
  399. package/dist/types.d.ts +221 -90
  400. package/dist/types.d.ts.map +1 -1
  401. package/docs/changelog.md +91 -0
  402. package/docs/guides/hooks.md +7 -3
  403. package/docs/guides/mcp-oauth.md +12 -0
  404. package/docs/guides/opentelemetry.md +149 -184
  405. package/docs/guides/slack.md +41 -0
  406. package/docs/reference/agent-config.md +21 -1
  407. package/docs/reference/channels.md +5 -1
  408. package/docs/reference/hooks.md +10 -5
  409. package/docs/reference/sessions.md +46 -1
  410. package/docs/reference/tools.md +3 -3
  411. package/package.json +31 -7
  412. package/schemas/grokbot-answers.schema.json +11 -0
  413. package/skills/framework-map/SKILL.md +2 -1
  414. package/skills/otel/SKILL.md +28 -48
  415. package/templates/code-wiki/evals/wiki.eval.ts +2 -2
  416. package/dist/docs/assets/chunks/@localSearchIndexroot.oGqZumnJ.js +0 -1
  417. package/dist/docs/assets/chunks/channel.Dt4aweTm.js +0 -1
  418. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DGUHZs6j.js +0 -1
  419. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DGUHZs6j.js +0 -1
  420. package/dist/docs/assets/chunks/clone.DWf3k0Z0.js +0 -1
  421. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C0571l4D.js +0 -1
  422. package/dist/docs/assets/guides_opentelemetry.md.DBQtp7_V.js +0 -45
  423. package/dist/docs/assets/guides_opentelemetry.md.DBQtp7_V.lean.js +0 -1
  424. package/dist/docs/assets/reference_sessions.md.C8FXuGwk.js +0 -1
  425. package/dist/docs/assets/reference_sessions.md.C8FXuGwk.lean.js +0 -1
  426. package/dist/playground/assets/index-BdMwybMt.css +0 -1
  427. package/templates/grokbot-agents/.gitignore +0 -4
  428. package/templates/security-help/.gitignore +0 -4
  429. /package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.lean.js → guides_hooks.md.B2XfGX50.lean.js} +0 -0
  430. /package/dist/docs/assets/{reference_channels.md.Bxaa020x.lean.js → reference_channels.md.CNNIS6K7.lean.js} +0 -0
  431. /package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.lean.js → reference_schedules.md.BqWnJES4.lean.js} +0 -0
  432. /package/dist/docs/assets/{reference_skills.md.C2GWh7g8.lean.js → reference_skills.md.Ckddg6KX.lean.js} +0 -0
  433. /package/dist/docs/assets/{reference_tools.md.-6pypsWt.lean.js → reference_tools.md.Bo0UfT0a.lean.js} +0 -0
@@ -8,8 +8,8 @@
8
8
  />
9
9
  <meta name="viewport" content="width=device-width, initial-scale=1" />
10
10
  <title>agent-serve playground</title>
11
- <script type="module" crossorigin src="./assets/index-CHk6O92d.js"></script>
12
- <link rel="stylesheet" crossorigin href="./assets/index-BdMwybMt.css">
11
+ <script type="module" crossorigin src="./assets/index-DpbzbqFY.js"></script>
12
+ <link rel="stylesheet" crossorigin href="./assets/index-CyPkf2y7.css">
13
13
  </head>
14
14
  <body>
15
15
  <div id="root"></div>
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Root-only aliases. The same symbols stay unmarked on
3
+ * `@cursor/bdk/internal/discovery` and `@cursor/bdk/internal/continuation`.
4
+ */
5
+ import type { AgentProject, Diagnostic, ProjectInfo } from "./types.js";
6
+ import { type ContinuationClaim } from "./internal/continuation-identity.js";
7
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
8
+ export interface LoadAgentProjectOptions {
9
+ /** Override the module loader (embedders / tests). */
10
+ importModule?: (absolutePath: string) => Promise<Record<string, unknown>>;
11
+ }
12
+ /** @deprecated Use loadProject. The loader remains at `@cursor/bdk/internal/discovery`. */
13
+ export declare function loadAgentProject(dir: string, options?: LoadAgentProjectOptions): Promise<AgentProject>;
14
+ /** @deprecated Use loadProject. The loader remains at `@cursor/bdk/internal/discovery`. */
15
+ export declare function loadAgentProjects(rootDir: string, options?: LoadAgentProjectOptions): Promise<Array<{
16
+ slug: string;
17
+ project: AgentProject;
18
+ }>>;
19
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
20
+ export declare function resolveAgentMounts(rootDir: string, options?: LoadAgentProjectOptions & {
21
+ mode?: "single" | "multi";
22
+ }): Promise<Array<{
23
+ slug: string;
24
+ project: AgentProject;
25
+ }>>;
26
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
27
+ export declare function isAgentProjectDir(dir: string): Promise<boolean>;
28
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
29
+ export declare function formatDiagnostics(diagnostics: Diagnostic[]): string;
30
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
31
+ export declare function hasErrorDiagnostics(project: AgentProject): boolean;
32
+ /** @deprecated Read `Project.info` from loadProject. */
33
+ export declare function projectInfo(project: AgentProject): ProjectInfo;
34
+ /** @deprecated Import from `@cursor/bdk/internal/continuation`. */
35
+ export declare function mintClaim(claim: ContinuationClaim): string;
36
+ //# sourceMappingURL=public-deprecated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-deprecated.d.ts","sourceRoot":"","sources":["../src/public-deprecated.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAC;AAW7C,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC3E;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,CAEzD;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CAAE,GAChE,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,CAEzD;AAED,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AAED,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAEnE;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAElE;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAE9D;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Root-only aliases. The same symbols stay unmarked on
3
+ * `@cursor/bdk/internal/discovery` and `@cursor/bdk/internal/continuation`.
4
+ */
5
+ import { mintClaim as mintClaimImpl, } from "./internal/continuation-identity.js";
6
+ import { formatDiagnostics as formatDiagnosticsImpl, hasErrorDiagnostics as hasErrorDiagnosticsImpl, isAgentProjectDir as isAgentProjectDirImpl, loadAgentProject as loadAgentProjectImpl, loadAgentProjects as loadAgentProjectsImpl, resolveAgentMounts as resolveAgentMountsImpl, } from "./internal/discovery.js";
7
+ import { projectInfo as projectInfoImpl } from "./internal/discovery/info.js";
8
+ /** @deprecated Use loadProject. The loader remains at `@cursor/bdk/internal/discovery`. */
9
+ export function loadAgentProject(dir, options) {
10
+ return loadAgentProjectImpl(dir, options);
11
+ }
12
+ /** @deprecated Use loadProject. The loader remains at `@cursor/bdk/internal/discovery`. */
13
+ export function loadAgentProjects(rootDir, options) {
14
+ return loadAgentProjectsImpl(rootDir, options);
15
+ }
16
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
17
+ export function resolveAgentMounts(rootDir, options) {
18
+ return resolveAgentMountsImpl(rootDir, options);
19
+ }
20
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
21
+ export function isAgentProjectDir(dir) {
22
+ return isAgentProjectDirImpl(dir);
23
+ }
24
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
25
+ export function formatDiagnostics(diagnostics) {
26
+ return formatDiagnosticsImpl(diagnostics);
27
+ }
28
+ /** @deprecated Import from `@cursor/bdk/internal/discovery`. */
29
+ export function hasErrorDiagnostics(project) {
30
+ return hasErrorDiagnosticsImpl(project);
31
+ }
32
+ /** @deprecated Read `Project.info` from loadProject. */
33
+ export function projectInfo(project) {
34
+ return projectInfoImpl(project);
35
+ }
36
+ /** @deprecated Import from `@cursor/bdk/internal/continuation`. */
37
+ export function mintClaim(claim) {
38
+ return mintClaimImpl(claim);
39
+ }
package/dist/tools.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * ```ts
8
8
  * import { defineTool } from "@cursor/bdk/tools";
9
- * import { z } from "zod/v3";
9
+ * import * as z from "zod/v4";
10
10
  *
11
11
  * // Runs in-process on the agent-serve host (default). Authored MCP
12
12
  * // connections are on ctx.host.mcp (also on the Cursor agent via SDK, and
@@ -67,7 +67,7 @@ export { classifyAnnotationsEffect, forwardTimeArgument, missingTimeWindow, sche
67
67
  * schema, JSON otherwise.
68
68
  */
69
69
  export type ToolInput<TSchema> = TSchema extends ZodSchema ? ZodSchemaOutput<TSchema> : JsonObject;
70
- type ServerToolConfig<TSchema> = {
70
+ export type ServerToolConfig<TSchema> = {
71
71
  description: string;
72
72
  execution?: "server";
73
73
  inputSchema?: TSchema;
@@ -96,7 +96,7 @@ type ServerToolConfig<TSchema> = {
96
96
  execute: (input: ToolInput<TSchema>, ctx: ToolContext) => ToolExecuteResult | Promise<ToolExecuteResult>;
97
97
  script?: never;
98
98
  };
99
- type AgentToolConfig<TSchema> = {
99
+ export type AgentToolConfig<TSchema> = {
100
100
  description: string;
101
101
  execution: "agent";
102
102
  inputSchema?: TSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB;;;;;GAKG;AACH,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAEnG;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,OAAO,IAAI,OAAO,SAAS,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;AAEnG,KAAK,gBAAgB,CAAC,OAAO,IAAI;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC5C,aAAa,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD;;;OAGG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAC;IACtF,OAAO,EAAE,CACP,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EACzB,GAAG,EAAE,WAAW,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,CAAC,OAAO,IAAI;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC5C;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,SAAS,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAC7F,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,GAC3D,cAAc,CAEhB"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB;;;;;GAKG;AACH,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAEnG;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,OAAO,IAAI,OAAO,SAAS,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;AAEnG,MAAM,MAAM,gBAAgB,CAAC,OAAO,IAAI;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC5C,aAAa,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD;;;OAGG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAC;IACtF,OAAO,EAAE,CACP,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EACzB,GAAG,EAAE,WAAW,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,OAAO,IAAI;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC5C;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,SAAS,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,EAC7F,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,GAC3D,cAAc,CAEhB"}
package/dist/tools.js CHANGED
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * ```ts
8
8
  * import { defineTool } from "@cursor/bdk/tools";
9
- * import { z } from "zod/v3";
9
+ * import * as z from "zod/v4";
10
10
  *
11
11
  * // Runs in-process on the agent-serve host (default). Authored MCP
12
12
  * // connections are on ctx.host.mcp (also on the Cursor agent via SDK, and
package/dist/types.d.ts CHANGED
@@ -14,11 +14,12 @@ import type * as z4core from "zod/v4/core";
14
14
  import type * as z4mini from "zod/v4/mini";
15
15
  import type { FileSystem } from "./filesystem.js";
16
16
  import type { ContinuationClaim, ContinuationIdentity, MailboxContinuation } from "./internal/continuation-identity.js";
17
- import type { OtelConfig, OtelDefinition } from "./otel.js";
18
17
  import type { StorageDefinition } from "./storage.js";
19
18
  import type { Octokit } from "@octokit/rest";
20
19
  import type { WebClient } from "@slack/web-api";
21
20
  import type { HostEvalsApi } from "./evals.js";
21
+ export type { HostEvalsApi };
22
+ export type { StorageDefinition };
22
23
  export type JsonPrimitive = string | number | boolean | null;
23
24
  export type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
24
25
  export type JsonObject = {
@@ -44,7 +45,7 @@ export type ZodSchemaInput<TSchema> = TSchema extends z3.ZodTypeAny ? z3.input<T
44
45
  * Discriminates the `define*` helper that produced a module's default export
45
46
  * so discovery can validate that a file landed in the right authored slot.
46
47
  */
47
- 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";
48
49
  export interface BrandedDefinition<K extends DefinitionKind> {
49
50
  readonly __agentServe: K;
50
51
  }
@@ -572,6 +573,9 @@ export interface HostContext {
572
573
  * Author-facing OpenTelemetry metrics and session tags. Always present.
573
574
  * Counters and histograms no-op when no meter is running. `setAttributes`
574
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`.
575
579
  */
576
580
  otel: HostOtelApi;
577
581
  }
@@ -697,6 +701,12 @@ export interface HostFilesCapabilities {
697
701
  * never filesystem paths — {@link materializedPath} is the one place a real
698
702
  * path appears, and it is `undefined` whenever the sink keeps no local copy.
699
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";
700
710
  export interface HostFilesApi {
701
711
  /** What the configured sink supports. */
702
712
  readonly capabilities: HostFilesCapabilities;
@@ -704,7 +714,7 @@ export interface HostFilesApi {
704
714
  forSession(sessionId: string): HostFilesApi;
705
715
  /** Read as text. Miss → `undefined`. */
706
716
  read(path: string, options?: HostFilesCallOptions & {
707
- encoding?: BufferEncoding;
717
+ encoding?: HostFileTextEncoding;
708
718
  }): Promise<string | undefined>;
709
719
  /** Read as bytes. Miss → `undefined`. */
710
720
  readBytes(path: string, options?: HostFilesCallOptions): Promise<Uint8Array | undefined>;
@@ -734,6 +744,10 @@ export type HostOtelAttributes = Record<string, string | number | boolean | unde
734
744
  /**
735
745
  * Author-facing OpenTelemetry surface on {@link HostContext.otel}.
736
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
+ *
737
751
  * Metrics and tags only — no custom spans, and no raw OTel `Meter` /
738
752
  * `Tracer`. First-party names (`cursor.token.usage`, …) and join keys
739
753
  * (`cursor.conversation.id`, `agent_sdk.session_id`, `agent_sdk.agent`,
@@ -1276,6 +1290,9 @@ export type ConnectionConfig = (((Exclude<ConnectionTransport, {
1276
1290
  * With {@link advertiseTools}, a `listTools` or `auth` failure skips this
1277
1291
  * connection (zero tools from it) instead of failing the turn. Other
1278
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>`.
1279
1296
  */
1280
1297
  optional?: boolean;
1281
1298
  /**
@@ -1390,6 +1407,7 @@ export interface ActionResult {
1390
1407
  stubbed?: true;
1391
1408
  parentCallId?: string;
1392
1409
  modelCallId?: string;
1410
+ completedAt?: string;
1393
1411
  }
1394
1412
  /** Human decision for a parked {@link ToolConfig.needsApproval} tool call. */
1395
1413
  export type ApprovalDecision = "approve" | "deny";
@@ -1427,6 +1445,13 @@ export type SessionEventPayload = {
1427
1445
  type: "message.received";
1428
1446
  data: {
1429
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[];
1430
1455
  };
1431
1456
  } | {
1432
1457
  /**
@@ -1516,8 +1541,13 @@ export type SessionEventPayload = {
1516
1541
  };
1517
1542
  } | {
1518
1543
  /**
1519
- * A host MCP call/list needs OAuth. The turn stays running until
1520
- * 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.
1521
1551
  */
1522
1552
  type: "action.auth_requested";
1523
1553
  data: {
@@ -1554,6 +1584,7 @@ export type SessionEventPayload = {
1554
1584
  parentCallId?: string;
1555
1585
  /** Same id as the matching {@link ActionCall.modelCallId}. */
1556
1586
  modelCallId?: string;
1587
+ completedAt?: string;
1557
1588
  };
1558
1589
  } | {
1559
1590
  /**
@@ -1648,13 +1679,20 @@ export type SessionEventPayload = {
1648
1679
  };
1649
1680
  } | {
1650
1681
  /**
1651
- * A Slack follow-up queued mid-turn reached the running agent: the
1652
- * workspace carrier moved it from `pending/` to `delivered/` at a tool
1653
- * boundary. Channels use this to reposition a live progress message
1654
- * 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.
1655
1691
  */
1656
1692
  type: "nudge.delivered";
1657
- data: Record<string, never>;
1693
+ data: {
1694
+ deliveryId?: string;
1695
+ };
1658
1696
  } | {
1659
1697
  type: "session.waiting";
1660
1698
  data: Record<string, never>;
@@ -1904,6 +1942,22 @@ export interface ChannelSession {
1904
1942
  * in-flight turn instead of starting immediately (Slack busy path).
1905
1943
  */
1906
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;
1907
1961
  readonly info: SessionInfo;
1908
1962
  /**
1909
1963
  * Replay recorded events from `startIndex`, then follow live (NDJSON).
@@ -2049,6 +2103,15 @@ export interface SendMessageOptions {
2049
2103
  * mid-turn nudge already delivered this `sourceTs`, boundary resume skips it.
2050
2104
  */
2051
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;
2052
2115
  }
2053
2116
  export type SendMessageFn = (message: string, options?: SendMessageOptions) => Promise<ChannelSession>;
2054
2117
  /**
@@ -2952,7 +3015,7 @@ export interface Diagnostic {
2952
3015
  * before codes existed still has a code.
2953
3016
  */
2954
3017
  code?: DiagnosticCode;
2955
- /** Repo-relative or absolute path of the offending file. */
3018
+ /** Path of the offending file, relative to the project root directory. */
2956
3019
  path?: string;
2957
3020
  /**
2958
3021
  * Bare npm package name when `code` is `module_not_found` and the missing
@@ -3161,8 +3224,6 @@ export interface AgentProject {
3161
3224
  storage?: StorageDefinition;
3162
3225
  /** Optional `agent/artifacts.ts` (`defineArtifacts`). */
3163
3226
  artifacts?: ArtifactsDefinition;
3164
- /** Optional `agent/otel.ts` (`defineOtel`). */
3165
- otel?: OtelDefinition;
3166
3227
  diagnostics: Diagnostic[];
3167
3228
  }
3168
3229
  /** JSON-safe projection of one channel HTTP route on `GET /v1/info`. */
@@ -3176,123 +3237,191 @@ export interface AgentChannelRouteInfo {
3176
3237
  bodySchema?: JsonSchemaObject;
3177
3238
  querySchema?: JsonSchemaObject;
3178
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
+ }
3179
3329
  /** JSON-safe projection of the manifest returned by `GET /v1/info`. */
3180
- export interface AgentProjectInfo {
3330
+ export interface ProjectInfo {
3331
+ /** Projection shape. Bump only when a stable field changes meaning. */
3332
+ schemaVersion: 1;
3181
3333
  name: string;
3182
3334
  /** Short agent description when authored on `defineAgent`. */
3183
3335
  description?: string;
3184
3336
  model?: ModelSetting;
3337
+ /**
3338
+ * Resolved runtime architecture. Omitted authors are `"v2"`.
3339
+ */
3340
+ architecture: AgentArchitecture;
3341
+ /** @experimental */
3185
3342
  runtime: AgentRuntime;
3343
+ /** @experimental */
3186
3344
  cloud?: AgentCloudPublicInfo;
3187
- /** Local harness options when authored (`cwd` absolute). */
3345
+ /**
3346
+ * Local harness options when authored (`cwd` absolute).
3347
+ * @experimental
3348
+ */
3188
3349
  local?: {
3189
3350
  cwd?: string;
3190
3351
  };
3191
- /** 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
+ */
3192
3356
  hosting?: {
3193
3357
  egressDomains?: string[];
3194
3358
  secretNames?: string[];
3195
3359
  image?: string;
3196
3360
  };
3197
- /** Turn admission limits when authored (`concurrency` on `agent.ts`). */
3361
+ /**
3362
+ * Turn admission limits when authored (`concurrency` on `agent.ts`).
3363
+ * @experimental
3364
+ */
3198
3365
  concurrency?: {
3199
3366
  maxRunningTurns?: number;
3200
3367
  };
3201
3368
  /**
3202
- * 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
3203
3370
  * and MCP clients delegate to this agent through these tools.
3371
+ * @experimental
3204
3372
  */
3205
3373
  mcp: {
3206
3374
  path: string;
3207
3375
  tools: string[];
3208
3376
  };
3377
+ /**
3378
+ * @experimental
3379
+ */
3209
3380
  instructions?: {
3210
3381
  chars: number;
3211
3382
  preview: string;
3212
3383
  };
3213
- tools: Array<{
3214
- name: string;
3215
- description: string;
3216
- execution: ToolExecution;
3217
- needsApproval: boolean;
3218
- /**
3219
- * The tool's declared {@link ToolEffect} when static, `"dynamic"` when
3220
- * declared as a predicate. Absent when the author declared nothing —
3221
- * "unknown", not "mutates".
3222
- */
3223
- effect?: ToolEffect | "dynamic";
3224
- inputSchema: JsonSchemaObject;
3225
- }>;
3384
+ tools: ProjectToolInfo[];
3226
3385
  skills: Array<{
3227
3386
  name: string;
3228
3387
  description: string;
3229
3388
  }>;
3230
- /** Mounted extensions and the tool / skill names each contributed. */
3389
+ /**
3390
+ * Mounted extensions and the tool / skill names each contributed.
3391
+ * @experimental
3392
+ */
3231
3393
  extensions: DiscoveredExtension[];
3232
- connections: Array<{
3233
- name: string;
3234
- transport: string;
3235
- advertiseTools?: boolean;
3236
- optional?: boolean;
3237
- effects?: readonly ToolEffect[];
3238
- tools?: readonly string[];
3239
- disallowedTools?: readonly string[];
3240
- /**
3241
- * Present only for `cursorAccount` connections: the connector-name
3242
- * allowlist, or `"*"` for every connected server. Structured twin of the
3243
- * `cursor-account[:a,b]` transport label so consumers (e.g. the
3244
- * dashboard's connector scoping) never parse the display string.
3245
- */
3246
- cursorAccountServers?: string[] | "*";
3247
- }>;
3394
+ connections: ProjectConnectionInfo[];
3248
3395
  subagents: Array<{
3249
3396
  name: string;
3250
3397
  description?: string;
3251
3398
  model?: ModelSetting;
3252
3399
  }>;
3253
- channels: Array<{
3254
- id: string;
3255
- routes: AgentChannelRouteInfo[];
3256
- /** Pack kind when the channel declares one (e.g. `"github"`). */
3257
- kind?: string;
3258
- /** GitHub webhook events the channel dispatches on, when declared. */
3259
- githubWebhookEvents?: readonly string[];
3260
- /** Origin webhook event types the channel dispatches on, when declared. */
3261
- originWebhookEvents?: readonly string[];
3262
- /** GitLab `object_kind`s the channel dispatches on, when declared. */
3263
- gitlabWebhookEvents?: readonly string[];
3264
- /** Bitbucket event keys (Cloud vocabulary) the channel dispatches on. */
3265
- bitbucketWebhookEvents?: readonly string[];
3266
- /** PagerDuty v3 event types the channel dispatches on, when declared. */
3267
- pagerdutyWebhookEvents?: readonly string[];
3268
- /** Factory deployment event types the channel dispatches on, when declared. */
3269
- deploymentEventTypes?: readonly string[];
3270
- /** Change Monitor checkpoint or Factory issue event types the channel dispatches on, when declared. */
3271
- factoryEventTypes?: readonly string[];
3272
- /** Slack Events API event types the channel dispatches on, when declared. */
3273
- slackEventTypes?: readonly string[];
3274
- /** Slack channels watched for posts (opt-in channel watch), when declared. */
3275
- slackChannelPosts?: readonly string[];
3276
- }>;
3400
+ channels: ProjectChannelInfo[];
3277
3401
  schedules: Array<{
3278
3402
  name: string;
3279
3403
  cron: string;
3280
3404
  kind: "markdown" | "run";
3281
3405
  }>;
3282
- /** Named reminder handlers (`agent/reminders/<name>.ts`) when present. */
3406
+ /**
3407
+ * Named reminder handlers (`agent/reminders/<name>.ts`) when present.
3408
+ * @experimental
3409
+ */
3283
3410
  reminders?: Array<{
3284
3411
  name: string;
3285
3412
  }>;
3286
3413
  hooks: string[];
3287
- /** Project storage sink from `agent/storage.ts`, when authored. */
3414
+ /**
3415
+ * Project storage sink from `agent/storage.ts`, when authored.
3416
+ * @experimental
3417
+ */
3288
3418
  storage?: {
3289
3419
  name?: string;
3290
3420
  };
3291
- otel?: {
3292
- serviceName?: string;
3293
- enabled: true;
3294
- };
3295
- /** Declared artifact kinds from `agent/artifacts.ts`, when authored. */
3421
+ /**
3422
+ * Declared artifact kinds from `agent/artifacts.ts`, when authored.
3423
+ * @experimental
3424
+ */
3296
3425
  artifacts?: {
3297
3426
  kinds: string[];
3298
3427
  agentTool: boolean;
@@ -3301,10 +3430,16 @@ export interface AgentProjectInfo {
3301
3430
  /**
3302
3431
  * Eval cases a hosted architecture v2 release runs as its own sessions.
3303
3432
  * Set only in that release's deploy manifest.
3433
+ * @experimental
3304
3434
  */
3305
3435
  evals?: AgentProjectEvalsInfo;
3306
3436
  diagnostics: Diagnostic[];
3307
3437
  }
3438
+ /** @deprecated Use {@link ProjectInfo}. */
3439
+ export type AgentProjectInfo = ProjectInfo;
3440
+ export interface Project {
3441
+ readonly info: ProjectInfo;
3442
+ }
3308
3443
  export interface AgentProjectEvalsInfo {
3309
3444
  /** Hosted eval-case protocol this release speaks. */
3310
3445
  protocol: 1;
@@ -3557,14 +3692,8 @@ export interface ServeOptions {
3557
3692
  apiKey?: string;
3558
3693
  };
3559
3694
  logger?: (line: string) => void;
3560
- /**
3561
- * OpenTelemetry export. Pass a config object, or `false` to force-disable
3562
- * even when `OTEL_EXPORTER_OTLP_*` env vars / `agent/otel.ts` are set.
3563
- * When omitted, env + authored `defineOtel` still enable export.
3564
- */
3565
- otel?: OtelConfig | false;
3566
3695
  }
3567
- /** 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). */
3568
3697
  export interface MountedAgentInfo {
3569
3698
  /**
3570
3699
  * URL slug the agent is mounted under. Empty string in single-agent mode
@@ -3572,18 +3701,20 @@ export interface MountedAgentInfo {
3572
3701
  * `/<slug>/v1/...`).
3573
3702
  */
3574
3703
  slug: string;
3575
- project: AgentProject;
3576
3704
  /** Absolute base URL for this agent (server URL + `/<slug>` when slugged). */
3577
3705
  url: string;
3706
+ /** Same projection as `GET /v1/info` for this agent. */
3707
+ info: ProjectInfo;
3578
3708
  }
3579
3709
  export interface AgentServeHandle {
3580
3710
  url: string;
3581
3711
  port: number;
3582
3712
  /**
3583
- * The single served agent's project. In multi-agent mode this is the first
3584
- * 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`.
3585
3716
  */
3586
- project: AgentProject;
3717
+ project: Project;
3587
3718
  /** Every agent mounted on this server. One entry in single-agent mode. */
3588
3719
  agents: MountedAgentInfo[];
3589
3720
  /**