@cursor/bdk 0.2.25 → 0.2.27

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 (449) 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.wA5xBBcd.js} +4 -4
  69. package/dist/docs/assets/changelog.md.BvHRIiMH.js +1 -0
  70. package/dist/docs/assets/changelog.md.BvHRIiMH.lean.js +1 -0
  71. package/dist/docs/assets/chunks/@localSearchIndexroot.BoDEJQWv.js +1 -0
  72. package/dist/docs/assets/chunks/{VPLocalSearchBox.BOuvjb5Y.js → VPLocalSearchBox.C29HLCVL.js} +2 -2
  73. package/dist/docs/assets/chunks/{arc.3WR6Jf-y.js → arc.BOaoYWmh.js} +1 -1
  74. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.Dtb6Dqh6.js → architectureDiagram-Q4EWVU46.MfG0itQh.js} +1 -1
  75. package/dist/docs/assets/chunks/{baseUniq.BUyrgrZE.js → baseUniq.CUeJciCF.js} +1 -1
  76. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BVLV_voZ.js → blockDiagram-DXYQGD6D.BrXMZRtK.js} +1 -1
  77. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.jXJ1q70M.js → c4Diagram-AHTNJAMY.DfkDHeB9.js} +1 -1
  78. package/dist/docs/assets/chunks/channel.D2BTz0L-.js +1 -0
  79. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.zz1SMBvK.js → chunk-4BX2VUAB.xKz8CiXK.js} +1 -1
  80. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.CzYKuv3I.js → chunk-4TB4RGXK.kkfBh4zk.js} +1 -1
  81. package/dist/docs/assets/chunks/{chunk-55IACEB6.C7_tcJZD.js → chunk-55IACEB6.BClJGb94.js} +1 -1
  82. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.DeTwQPVO.js → chunk-EDXVE4YY.P9BpQ9L3.js} +1 -1
  83. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DhMTl7ut.js → chunk-FMBD7UC4.R4iYi58S.js} +1 -1
  84. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Me7f5hEp.js → chunk-OYMX7WX6.Cpn8L1dw.js} +1 -1
  85. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.D0E0Bb6g.js → chunk-QZHKN3VN.BLftECqU.js} +1 -1
  86. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CdOOBFYL.js → chunk-YZCP3GAM.BWDV1AYt.js} +1 -1
  87. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DqByliAC.js +1 -0
  88. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DqByliAC.js +1 -0
  89. package/dist/docs/assets/chunks/clone.CldT1lbQ.js +1 -0
  90. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BNbGESzN.js → cose-bilkent-S5V4N54A.DGpAcJ55.js} +1 -1
  91. package/dist/docs/assets/chunks/{dagre-KV5264BT.zU7Lu_xJ.js → dagre-KV5264BT.BBXxGEaD.js} +1 -1
  92. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.B9qOdE5h.js → diagram-5BDNPKRD.EKqOwmK2.js} +1 -1
  93. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.D8X-sf77.js → diagram-G4DWMVQ6.CB8pdkoZ.js} +1 -1
  94. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.CW7MvMlE.js → diagram-MMDJMWI5.aHh4WGg9.js} +1 -1
  95. package/dist/docs/assets/chunks/{diagram-TYMM5635.J489G0Nd.js → diagram-TYMM5635.YIsbRH20.js} +1 -1
  96. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BkW7tGfs.js → erDiagram-SMLLAGMA.B3bTCW_e.js} +1 -1
  97. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.jc9iWORD.js → flowDiagram-DWJPFMVM.M81hXIXZ.js} +1 -1
  98. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.B-UQfd9E.js → ganttDiagram-T4ZO3ILL.BKg7WY--.js} +1 -1
  99. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DFzrTSlJ.js → gitGraphDiagram-UUTBAWPF.CLEMZgO3.js} +1 -1
  100. package/dist/docs/assets/chunks/{graph.C5IB6_e_.js → graph.DS38W_Q-.js} +1 -1
  101. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.DwF0-c8L.js → infoDiagram-42DDH7IO.BTiWTi82.js} +1 -1
  102. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.fBaTqzE7.js → ishikawaDiagram-UXIWVN3A.DcqY_KQL.js} +1 -1
  103. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CM8gDVJy.js → journeyDiagram-VCZTEJTY.0lQNZ40U.js} +1 -1
  104. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.YiD1p0LB.js → kanban-definition-6JOO6SKY.L5sKlf7X.js} +1 -1
  105. package/dist/docs/assets/chunks/{layout.6Um-DVJT.js → layout.7u4gFhQa.js} +1 -1
  106. package/dist/docs/assets/chunks/{linear.DcTeg4Hn.js → linear.D5v33SOb.js} +1 -1
  107. package/dist/docs/assets/chunks/{min.CIxkY8Fe.js → min.Dc9uCxf9.js} +1 -1
  108. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.D4QM_voR.js → mindmap-definition-QFDTVHPH.B56nGoB_.js} +1 -1
  109. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.nmB309G1.js → pieDiagram-DEJITSTG.Cba8e8lS.js} +1 -1
  110. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.D1HtZR3C.js → quadrantDiagram-34T5L4WZ.2YjBycHF.js} +1 -1
  111. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CZgQWob-.js → requirementDiagram-MS252O5E.D4P5RqVI.js} +1 -1
  112. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DtiBfU-P.js → sankeyDiagram-XADWPNL6.C0Hn8NUm.js} +1 -1
  113. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Cld4gDSt.js → sequenceDiagram-FGHM5R23.BZm7EaoT.js} +1 -1
  114. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DatP823_.js → stateDiagram-FHFEXIEX.DcR4f3X2.js} +1 -1
  115. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Bb4oMe0P.js +1 -0
  116. package/dist/docs/assets/chunks/{theme.D5jbBys7.js → theme.DvfKzyXq.js} +2 -2
  117. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.DwQLI2be.js → timeline-definition-GMOUNBTQ.CgDh96vg.js} +1 -1
  118. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.a5yMfnsa.js → vennDiagram-DHZGUBPP.B4fagbC8.js} +1 -1
  119. package/dist/docs/assets/chunks/{wardley-RL74JXVD.B-FXivgT.js → wardley-RL74JXVD.Ck68omim.js} +1 -1
  120. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.Dz--Opy3.js → wardleyDiagram-NUSXRM2D.DBUg0bvz.js} +1 -1
  121. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.Dl8w8TeT.js → xychartDiagram-5P7HB3ND.DnKSGQE1.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.CZrbHOfT.js} +8 -4
  130. package/dist/docs/assets/{reference_agent-config.md.IplwL25I.lean.js → reference_agent-config.md.CZrbHOfT.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 +114 -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 +422 -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 +44 -40
  173. package/dist/docs/reference/agent-config.md +30 -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.d.ts +4 -1
  206. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  207. package/dist/extensions/cursor-cloud-agents/lib/backend.js +2 -6
  208. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  209. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
  210. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
  211. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
  212. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
  213. package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
  214. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  215. package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
  216. package/dist/extensions/cursor-grokbot-agents/extension.d.ts.map +1 -1
  217. package/dist/extensions/cursor-grokbot-agents/extension.js +7 -3
  218. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
  219. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
  220. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
  221. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
  222. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
  223. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
  224. package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
  225. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
  226. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  227. package/dist/extensions/improve/extension.js +1 -1
  228. package/dist/extensions/jev/extension.js +2 -2
  229. package/dist/extensions/jev/tools/evaluate.js +3 -3
  230. package/dist/extensions/slack-communication/extension.js +1 -1
  231. package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
  232. package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -1
  233. package/dist/extensions/slack-communication/tools/edit-message.js +3 -6
  234. package/dist/extensions/slack-communication/tools/post-card.js +1 -1
  235. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  236. package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -1
  237. package/dist/extensions/slack-communication/tools/post-update.js +3 -6
  238. package/dist/extensions/slack-communication/tools/react.js +1 -1
  239. package/dist/extensions/slack-communication/tools/set-status.js +1 -1
  240. package/dist/extensions.d.ts +1 -1
  241. package/dist/extensions.js +1 -1
  242. package/dist/filesystem.d.ts +26 -5
  243. package/dist/filesystem.d.ts.map +1 -1
  244. package/dist/filesystem.js +91 -18
  245. package/dist/index.d.ts +14 -11
  246. package/dist/index.d.ts.map +1 -1
  247. package/dist/index.js +8 -4
  248. package/dist/internal/as-of.d.ts +2 -0
  249. package/dist/internal/as-of.d.ts.map +1 -1
  250. package/dist/internal/as-of.js +2 -0
  251. package/dist/internal/builtin-tools/reminders.js +1 -1
  252. package/dist/internal/cli-deploy.d.ts.map +1 -1
  253. package/dist/internal/cli-deploy.js +18 -10
  254. package/dist/internal/continuation.d.ts +3 -0
  255. package/dist/internal/continuation.d.ts.map +1 -0
  256. package/dist/internal/continuation.js +1 -0
  257. package/dist/internal/conversation-mirror.d.ts +5 -0
  258. package/dist/internal/conversation-mirror.d.ts.map +1 -1
  259. package/dist/internal/conversation-mirror.js +12 -1
  260. package/dist/internal/convert-automation/convert-workflow.js +1 -1
  261. package/dist/internal/convert-grokbot/answers.d.ts.map +1 -1
  262. package/dist/internal/convert-grokbot/answers.js +10 -8
  263. package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
  264. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
  265. package/dist/internal/convert-grokbot/recipe.js +1 -1
  266. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  267. package/dist/internal/cursor/account-mcp.js +2 -0
  268. package/dist/internal/cursor/backend-client.d.ts +8 -3
  269. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  270. package/dist/internal/cursor/backend-client.js +8 -3
  271. package/dist/internal/cursor/credentials.d.ts +2 -2
  272. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  273. package/dist/internal/cursor/credentials.js +1 -1
  274. package/dist/internal/cursor-account-mcp-auth.d.ts +6 -2
  275. package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -1
  276. package/dist/internal/cursor-account-mcp-auth.js +15 -6
  277. package/dist/internal/deferred-channel-session.d.ts +5 -4
  278. package/dist/internal/deferred-channel-session.d.ts.map +1 -1
  279. package/dist/internal/deferred-channel-session.js +6 -4
  280. package/dist/internal/deploy-client.d.ts +5 -0
  281. package/dist/internal/deploy-client.d.ts.map +1 -1
  282. package/dist/internal/deploy-client.js +3 -3
  283. package/dist/internal/deploy-manifest.js +2 -2
  284. package/dist/internal/describe-error.d.ts +2 -0
  285. package/dist/internal/describe-error.d.ts.map +1 -1
  286. package/dist/internal/describe-error.js +2 -0
  287. package/dist/internal/discovery/agent.d.ts.map +1 -1
  288. package/dist/internal/discovery/agent.js +29 -9
  289. package/dist/internal/discovery/context.d.ts.map +1 -1
  290. package/dist/internal/discovery/context.js +1 -2
  291. package/dist/internal/discovery/cursor-plugin.js +8 -8
  292. package/dist/internal/discovery/extensions.js +15 -8
  293. package/dist/internal/discovery/info.d.ts +2 -2
  294. package/dist/internal/discovery/info.d.ts.map +1 -1
  295. package/dist/internal/discovery/info.js +6 -9
  296. package/dist/internal/discovery/instrumentation.d.ts +10 -0
  297. package/dist/internal/discovery/instrumentation.d.ts.map +1 -0
  298. package/dist/internal/discovery/instrumentation.js +29 -0
  299. package/dist/internal/discovery/modules.d.ts.map +1 -1
  300. package/dist/internal/discovery/modules.js +4 -4
  301. package/dist/internal/discovery/project-public.d.ts +16 -0
  302. package/dist/internal/discovery/project-public.d.ts.map +1 -0
  303. package/dist/internal/discovery/project-public.js +54 -0
  304. package/dist/internal/discovery/project.d.ts.map +1 -1
  305. package/dist/internal/discovery/project.js +13 -3
  306. package/dist/internal/discovery/services.d.ts +5 -4
  307. package/dist/internal/discovery/services.d.ts.map +1 -1
  308. package/dist/internal/discovery/services.js +12 -6
  309. package/dist/internal/docs-site.d.ts +2 -5
  310. package/dist/internal/docs-site.d.ts.map +1 -1
  311. package/dist/internal/docs-site.js +2 -5
  312. package/dist/internal/event-mapper.d.ts.map +1 -1
  313. package/dist/internal/event-mapper.js +1 -0
  314. package/dist/internal/factory-resource-channel.d.ts +1 -1
  315. package/dist/internal/factory-resource-channel.d.ts.map +1 -1
  316. package/dist/internal/filesystem/nearest.d.ts +1 -0
  317. package/dist/internal/filesystem/nearest.d.ts.map +1 -1
  318. package/dist/internal/filesystem/nearest.js +1 -0
  319. package/dist/internal/filesystem/tools.d.ts.map +1 -1
  320. package/dist/internal/filesystem/tools.js +1 -1
  321. package/dist/internal/handleAgentServeTrigger.d.ts +10 -0
  322. package/dist/internal/handleAgentServeTrigger.d.ts.map +1 -1
  323. package/dist/internal/handleAgentServeTrigger.js +3 -0
  324. package/dist/internal/hmac-secret-values.d.ts +1 -1
  325. package/dist/internal/hmac-secret-values.d.ts.map +1 -1
  326. package/dist/internal/host-otel.d.ts +1 -1
  327. package/dist/internal/host-otel.d.ts.map +1 -1
  328. package/dist/internal/host-otel.js +5 -0
  329. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  330. package/dist/internal/hosted-delivery.js +6 -2
  331. package/dist/internal/http-channel.d.ts.map +1 -1
  332. package/dist/internal/http-channel.js +1 -0
  333. package/dist/internal/ids.d.ts +8 -0
  334. package/dist/internal/ids.d.ts.map +1 -1
  335. package/dist/internal/ids.js +20 -0
  336. package/dist/internal/init-scaffold.js +1 -1
  337. package/dist/internal/interview/agent-questions.d.ts +1 -1
  338. package/dist/internal/interview/agent-questions.d.ts.map +1 -1
  339. package/dist/internal/interview/agent-questions.js +1 -1
  340. package/dist/internal/interview/question.d.ts +2 -2
  341. package/dist/internal/interview/question.d.ts.map +1 -1
  342. package/dist/internal/interview/question.js +2 -2
  343. package/dist/internal/json-schema.d.ts.map +1 -1
  344. package/dist/internal/json-schema.js +3 -7
  345. package/dist/internal/mcp-endpoint.d.ts +16 -4
  346. package/dist/internal/mcp-endpoint.d.ts.map +1 -1
  347. package/dist/internal/mcp-endpoint.js +18 -6
  348. package/dist/internal/mcp-host.d.ts +9 -0
  349. package/dist/internal/mcp-host.d.ts.map +1 -1
  350. package/dist/internal/mcp-host.js +15 -0
  351. package/dist/internal/otel/collector.d.ts +5 -0
  352. package/dist/internal/otel/collector.d.ts.map +1 -1
  353. package/dist/internal/otel/collector.js +24 -5
  354. package/dist/internal/otel/config.d.ts +31 -21
  355. package/dist/internal/otel/config.d.ts.map +1 -1
  356. package/dist/internal/otel/config.js +121 -140
  357. package/dist/internal/otel/conversation-span-processor.d.ts +9 -0
  358. package/dist/internal/otel/conversation-span-processor.d.ts.map +1 -0
  359. package/dist/internal/otel/conversation-span-processor.js +34 -0
  360. package/dist/internal/otel/customer.d.ts +52 -0
  361. package/dist/internal/otel/customer.d.ts.map +1 -0
  362. package/dist/internal/otel/customer.js +727 -0
  363. package/dist/internal/otel/runtime.d.ts +12 -16
  364. package/dist/internal/otel/runtime.d.ts.map +1 -1
  365. package/dist/internal/otel/runtime.js +30 -234
  366. package/dist/internal/otel-env.d.ts +6 -0
  367. package/dist/internal/otel-env.d.ts.map +1 -0
  368. package/dist/internal/otel-env.js +5 -0
  369. package/dist/internal/reminder-runner.d.ts +9 -4
  370. package/dist/internal/reminder-runner.d.ts.map +1 -1
  371. package/dist/internal/reminder-runner.js +12 -10
  372. package/dist/internal/reminder-schedule.d.ts +1 -0
  373. package/dist/internal/reminder-schedule.d.ts.map +1 -1
  374. package/dist/internal/reminder-schedule.js +1 -0
  375. package/dist/internal/sdk-runner.d.ts +8 -0
  376. package/dist/internal/sdk-runner.d.ts.map +1 -1
  377. package/dist/internal/sdk-runner.js +190 -14
  378. package/dist/internal/server.d.ts +4 -1
  379. package/dist/internal/server.d.ts.map +1 -1
  380. package/dist/internal/server.js +25 -24
  381. package/dist/internal/session-engine.d.ts +35 -3
  382. package/dist/internal/session-engine.d.ts.map +1 -1
  383. package/dist/internal/session-engine.js +213 -41
  384. package/dist/internal/slack-provision-client.js +1 -1
  385. package/dist/internal/store-api-protocol.d.ts +1 -1
  386. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  387. package/dist/internal/store-api-protocol.js +1 -1
  388. package/dist/internal/update-check.d.ts +2 -2
  389. package/dist/internal/update-check.d.ts.map +1 -1
  390. package/dist/internal/update-check.js +3 -3
  391. package/dist/internal/workspace.d.ts +10 -0
  392. package/dist/internal/workspace.d.ts.map +1 -1
  393. package/dist/internal/workspace.js +47 -1
  394. package/dist/internal/zod3-datetime.d.ts +12 -0
  395. package/dist/internal/zod3-datetime.d.ts.map +1 -0
  396. package/dist/internal/zod3-datetime.js +17 -0
  397. package/dist/otel-public.d.ts +2 -3
  398. package/dist/otel-public.d.ts.map +1 -1
  399. package/dist/otel-public.js +2 -2
  400. package/dist/otel.d.ts +3 -102
  401. package/dist/otel.d.ts.map +1 -1
  402. package/dist/otel.js +61 -97
  403. package/dist/playground/assets/cursor-icons-16-DfKNljMZ.woff2 +0 -0
  404. package/dist/playground/assets/index-B3_YohwW.js +62 -0
  405. package/dist/playground/assets/index-Cn3-adsJ.css +1 -0
  406. package/dist/playground/index.html +2 -2
  407. package/dist/public-deprecated.d.ts +36 -0
  408. package/dist/public-deprecated.d.ts.map +1 -0
  409. package/dist/public-deprecated.js +39 -0
  410. package/dist/tools.d.ts +3 -3
  411. package/dist/tools.d.ts.map +1 -1
  412. package/dist/tools.js +1 -1
  413. package/dist/types.d.ts +262 -97
  414. package/dist/types.d.ts.map +1 -1
  415. package/docs/changelog.md +119 -0
  416. package/docs/guides/hooks.md +7 -3
  417. package/docs/guides/mcp-oauth.md +12 -0
  418. package/docs/guides/opentelemetry.md +149 -184
  419. package/docs/guides/slack.md +41 -0
  420. package/docs/reference/agent-config.md +30 -1
  421. package/docs/reference/channels.md +5 -1
  422. package/docs/reference/hooks.md +10 -5
  423. package/docs/reference/sessions.md +46 -1
  424. package/docs/reference/tools.md +3 -3
  425. package/package.json +35 -8
  426. package/schemas/grokbot-answers.schema.json +11 -0
  427. package/skills/framework-map/SKILL.md +2 -1
  428. package/skills/otel/SKILL.md +28 -48
  429. package/templates/code-wiki/evals/wiki.eval.ts +2 -2
  430. package/dist/docs/assets/chunks/@localSearchIndexroot.oGqZumnJ.js +0 -1
  431. package/dist/docs/assets/chunks/channel.Dt4aweTm.js +0 -1
  432. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DGUHZs6j.js +0 -1
  433. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DGUHZs6j.js +0 -1
  434. package/dist/docs/assets/chunks/clone.DWf3k0Z0.js +0 -1
  435. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C0571l4D.js +0 -1
  436. package/dist/docs/assets/guides_opentelemetry.md.DBQtp7_V.js +0 -45
  437. package/dist/docs/assets/guides_opentelemetry.md.DBQtp7_V.lean.js +0 -1
  438. package/dist/docs/assets/reference_sessions.md.C8FXuGwk.js +0 -1
  439. package/dist/docs/assets/reference_sessions.md.C8FXuGwk.lean.js +0 -1
  440. package/dist/playground/assets/cursor-icons-16-DmHBTm1-.woff2 +0 -0
  441. package/dist/playground/assets/index-BdMwybMt.css +0 -1
  442. package/dist/playground/assets/index-CHk6O92d.js +0 -62
  443. package/templates/grokbot-agents/.gitignore +0 -4
  444. package/templates/security-help/.gitignore +0 -4
  445. /package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.lean.js → guides_hooks.md.B2XfGX50.lean.js} +0 -0
  446. /package/dist/docs/assets/{reference_channels.md.Bxaa020x.lean.js → reference_channels.md.CNNIS6K7.lean.js} +0 -0
  447. /package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.lean.js → reference_schedules.md.BqWnJES4.lean.js} +0 -0
  448. /package/dist/docs/assets/{reference_skills.md.C2GWh7g8.lean.js → reference_skills.md.Ckddg6KX.lean.js} +0 -0
  449. /package/dist/docs/assets/{reference_tools.md.-6pypsWt.lean.js → reference_tools.md.Bo0UfT0a.lean.js} +0 -0
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
  }
@@ -115,11 +116,11 @@ export type AgentCloudPublicInfo = Omit<AgentCloudOptions, "envVars"> & {
115
116
  };
116
117
  export declare function toPublicCloudInfo(cloud: AgentCloudOptions): AgentCloudPublicInfo;
117
118
  /**
118
- * Session-scoped facts a `root` factory needs and does not otherwise
119
+ * Session-scoped facts an `fs` factory needs and does not otherwise
119
120
  * have at `defineAgent` time. The factory returns a handle: each
120
121
  * method must observe the current binding. Do not snapshot the tree.
121
122
  */
122
- export interface RootContext {
123
+ export interface FsContext {
123
124
  sessionId: string;
124
125
  agentName?: string;
125
126
  continuationKey?: string;
@@ -129,6 +130,15 @@ export interface RootContext {
129
130
  kv?: HostKvApi;
130
131
  };
131
132
  }
133
+ /** @deprecated Use FsContext. */
134
+ export type RootContext = FsContext;
135
+ /** Input to an {@link AgentConfig.skills} callback. */
136
+ export interface SkillsMountContext {
137
+ /** Read-only. Layout is `/<name>/SKILL.md` plus sibling files. Mounted at `/agent/skills`. */
138
+ readonly skills: FileSystem;
139
+ readonly sessionId: string;
140
+ readonly continuationKey?: string;
141
+ }
132
142
  /** Input to `defineAgent` (authored at `agent/agent.ts`). */
133
143
  export interface AgentConfig {
134
144
  /**
@@ -175,14 +185,30 @@ export interface AgentConfig {
175
185
  runtime?: AgentRuntime;
176
186
  /**
177
187
  * The FileSystem the model can see. Omit it and the root is the host
178
- * disk. A static handle (`tempFs`, `unionFs`, ...) is that object on
188
+ * disk. `fs` is mounted at `/`. BDK mounts `/tmp` and `/agent/skills`
189
+ * over it, so the authored tree must not have anything at
190
+ * `/agent/skills` unless {@link skills} is `false`.
191
+ *
192
+ * A static handle (`tempFs`, `unionFs`, ...) is that object on
179
193
  * every session — writes are shared. Pass `(ctx) => …` and return a
180
194
  * new handle per session when you want isolation. A factory that
181
195
  * returns the same object still shares. Incompatible with
182
196
  * {@link local} `cwd` / `workspaceDir` / `sandbox` and with
183
197
  * {@link runtime} `"cloud"`.
184
198
  */
185
- root?: FileSystem | ((ctx: RootContext) => FileSystem | Promise<FileSystem>);
199
+ fs?: FileSystem | ((ctx: FsContext) => FileSystem | Promise<FileSystem>);
200
+ /** @deprecated Alias of fs. Setting both is a discovery error. */
201
+ root?: FileSystem | ((ctx: FsContext) => FileSystem | Promise<FileSystem>);
202
+ /**
203
+ * What an {@link fs} agent sees at `/agent/skills`. Omit it to mount
204
+ * the discovered `agent/skills/` read-only and index them in the
205
+ * instructions. Pass a callback to mount the tree it returns instead,
206
+ * for example the discovered skills plus tenant skills. The index
207
+ * still lists only discovered skills. `false` mounts nothing and
208
+ * drops the index. Host-disk agents get `.cursor/skills/` and ignore
209
+ * this field.
210
+ */
211
+ skills?: false | ((ctx: SkillsMountContext) => FileSystem | Promise<FileSystem>);
186
212
  /**
187
213
  * Cloud attach defaults merged under per-session
188
214
  * {@link SendMessageOptions.cloud}. Used by existing agents that still
@@ -572,6 +598,9 @@ export interface HostContext {
572
598
  * Author-facing OpenTelemetry metrics and session tags. Always present.
573
599
  * Counters and histograms no-op when no meter is running. `setAttributes`
574
600
  * still tags the open session when a collector is attached.
601
+ *
602
+ * @deprecated Set `OTEL_*` variables and use `metrics.getMeter` or
603
+ * `trace.getTracer` from `@opentelemetry/api`.
575
604
  */
576
605
  otel: HostOtelApi;
577
606
  }
@@ -697,6 +726,12 @@ export interface HostFilesCapabilities {
697
726
  * never filesystem paths — {@link materializedPath} is the one place a real
698
727
  * path appears, and it is `undefined` whenever the sink keeps no local copy.
699
728
  */
729
+ /**
730
+ * Text encodings {@link HostFilesApi.read} accepts. The same set Node calls
731
+ * `BufferEncoding`, written out so the public signature does not name a
732
+ * Node global.
733
+ */
734
+ export type HostFileTextEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "utf-16le" | "ucs2" | "ucs-2" | "base64" | "base64url" | "latin1" | "binary" | "hex";
700
735
  export interface HostFilesApi {
701
736
  /** What the configured sink supports. */
702
737
  readonly capabilities: HostFilesCapabilities;
@@ -704,7 +739,7 @@ export interface HostFilesApi {
704
739
  forSession(sessionId: string): HostFilesApi;
705
740
  /** Read as text. Miss → `undefined`. */
706
741
  read(path: string, options?: HostFilesCallOptions & {
707
- encoding?: BufferEncoding;
742
+ encoding?: HostFileTextEncoding;
708
743
  }): Promise<string | undefined>;
709
744
  /** Read as bytes. Miss → `undefined`. */
710
745
  readBytes(path: string, options?: HostFilesCallOptions): Promise<Uint8Array | undefined>;
@@ -734,6 +769,10 @@ export type HostOtelAttributes = Record<string, string | number | boolean | unde
734
769
  /**
735
770
  * Author-facing OpenTelemetry surface on {@link HostContext.otel}.
736
771
  *
772
+ * @deprecated Set `OTEL_*` variables and use `metrics.getMeter` or
773
+ * `trace.getTracer` from `@opentelemetry/api`. This helper still runs
774
+ * for this release and emits one deprecation warning per process.
775
+ *
737
776
  * Metrics and tags only — no custom spans, and no raw OTel `Meter` /
738
777
  * `Tracer`. First-party names (`cursor.token.usage`, …) and join keys
739
778
  * (`cursor.conversation.id`, `agent_sdk.session_id`, `agent_sdk.agent`,
@@ -1276,6 +1315,9 @@ export type ConnectionConfig = (((Exclude<ConnectionTransport, {
1276
1315
  * With {@link advertiseTools}, a `listTools` or `auth` failure skips this
1277
1316
  * connection (zero tools from it) instead of failing the turn. Other
1278
1317
  * advertised connections still fail closed. Requires `advertiseTools`.
1318
+ *
1319
+ * A turn never waits to authorize an optional connection, also in the
1320
+ * playground. Authorize it ahead of time with `bdk mcp oauth <name>`.
1279
1321
  */
1280
1322
  optional?: boolean;
1281
1323
  /**
@@ -1390,6 +1432,7 @@ export interface ActionResult {
1390
1432
  stubbed?: true;
1391
1433
  parentCallId?: string;
1392
1434
  modelCallId?: string;
1435
+ completedAt?: string;
1393
1436
  }
1394
1437
  /** Human decision for a parked {@link ToolConfig.needsApproval} tool call. */
1395
1438
  export type ApprovalDecision = "approve" | "deny";
@@ -1427,6 +1470,13 @@ export type SessionEventPayload = {
1427
1470
  type: "message.received";
1428
1471
  data: {
1429
1472
  text: string;
1473
+ /**
1474
+ * {@link ChannelSession.deliveryId} of each `send()` this prompt
1475
+ * carries, in arrival order. One for a direct send or a steer;
1476
+ * several when coalesced follow-ups drain into one turn. Omitted on
1477
+ * prompts no `send()` produced and on legacy stored events.
1478
+ */
1479
+ deliveryIds?: string[];
1430
1480
  };
1431
1481
  } | {
1432
1482
  /**
@@ -1516,8 +1566,13 @@ export type SessionEventPayload = {
1516
1566
  };
1517
1567
  } | {
1518
1568
  /**
1519
- * A host MCP call/list needs OAuth. The turn stays running until
1520
- * the human completes the `authUrl` and the runtime retries.
1569
+ * A host MCP call/list needs OAuth, and a person can authorize it: a
1570
+ * playground or HTTP chat turn, or a Slack message on a channel that
1571
+ * handles this event (`slackChannel({ toolApprovals: true })` or
1572
+ * `buildToolApprovalEvents` in `events`). The turn waits until
1573
+ * the person completes the `authUrl`, the turn is interrupted, or 10
1574
+ * minutes pass. Other turns (schedules, reminders, webhooks, evals) do
1575
+ * not emit this event. They fail the call with a "Reconnect" message.
1521
1576
  */
1522
1577
  type: "action.auth_requested";
1523
1578
  data: {
@@ -1554,6 +1609,7 @@ export type SessionEventPayload = {
1554
1609
  parentCallId?: string;
1555
1610
  /** Same id as the matching {@link ActionCall.modelCallId}. */
1556
1611
  modelCallId?: string;
1612
+ completedAt?: string;
1557
1613
  };
1558
1614
  } | {
1559
1615
  /**
@@ -1648,13 +1704,20 @@ export type SessionEventPayload = {
1648
1704
  };
1649
1705
  } | {
1650
1706
  /**
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.
1707
+ * A follow-up sent mid-turn reached the running agent. Channels use
1708
+ * this to reposition a live progress message below the follow-up,
1709
+ * which Slack cannot do any other way.
1710
+ *
1711
+ * `deliveryId` is set when a coalesced `send()` was steered into the
1712
+ * turn and names that send's {@link ChannelSession.deliveryId}. It is
1713
+ * absent when the Slack nudge carrier delivered the follow-up from its
1714
+ * file store at a tool boundary, which does not know which send it
1715
+ * carried.
1655
1716
  */
1656
1717
  type: "nudge.delivered";
1657
- data: Record<string, never>;
1718
+ data: {
1719
+ deliveryId?: string;
1720
+ };
1658
1721
  } | {
1659
1722
  type: "session.waiting";
1660
1723
  data: Record<string, never>;
@@ -1904,6 +1967,22 @@ export interface ChannelSession {
1904
1967
  * in-flight turn instead of starting immediately (Slack busy path).
1905
1968
  */
1906
1969
  readonly coalesced?: boolean;
1970
+ /**
1971
+ * Identifies this `send()` on the session's events: {@link SendMessageOptions.deliveryId}
1972
+ * when the caller passed one, otherwise a fresh `dlv_…` id. The message
1973
+ * reaches the agent exactly one of two ways, and the id is on that event:
1974
+ *
1975
+ * - `nudge.delivered` `{ deliveryId }` — a coalesced send steered into
1976
+ * the running turn.
1977
+ * - `message.received` `{ deliveryIds }` — the prompt of a turn: a send
1978
+ * that started one, or coalesced sends that fell back to the next turn
1979
+ * instead of steering.
1980
+ *
1981
+ * Set on every handle `send()` returns, including the one a hosted-admission
1982
+ * `send()` returns before the session exists. Absent on handles looked up
1983
+ * by session id, which no send produced.
1984
+ */
1985
+ readonly deliveryId?: string;
1907
1986
  readonly info: SessionInfo;
1908
1987
  /**
1909
1988
  * Replay recorded events from `startIndex`, then follow live (NDJSON).
@@ -2049,6 +2128,15 @@ export interface SendMessageOptions {
2049
2128
  * mid-turn nudge already delivered this `sourceTs`, boundary resume skips it.
2050
2129
  */
2051
2130
  coalesceSourceTs?: string;
2131
+ /**
2132
+ * Caller-chosen id for this send, returned as {@link ChannelSession.deliveryId}
2133
+ * and stamped on the event where the message reaches the agent. Use one
2134
+ * you already hold (a webhook delivery or message id) to correlate without
2135
+ * keeping the returned handle. Opaque, compared verbatim; at most 256
2136
+ * characters. Omit for a fresh `dlv_…` id. Keep it unique per session:
2137
+ * two sends with the same id cannot be told apart.
2138
+ */
2139
+ deliveryId?: string;
2052
2140
  }
2053
2141
  export type SendMessageFn = (message: string, options?: SendMessageOptions) => Promise<ChannelSession>;
2054
2142
  /**
@@ -2952,7 +3040,7 @@ export interface Diagnostic {
2952
3040
  * before codes existed still has a code.
2953
3041
  */
2954
3042
  code?: DiagnosticCode;
2955
- /** Repo-relative or absolute path of the offending file. */
3043
+ /** Path of the offending file, relative to the project root directory. */
2956
3044
  path?: string;
2957
3045
  /**
2958
3046
  * Bare npm package name when `code` is `module_not_found` and the missing
@@ -3095,10 +3183,19 @@ export interface ResolvedAgent {
3095
3183
  /** Execution runtime. Root agents default to `"local"`. */
3096
3184
  runtime: AgentRuntime;
3097
3185
  /**
3098
- * Authored {@link AgentConfig.root}. The factory is persisted, not a
3099
- * serialized tree. A resumed session calls it again (or reuses the handle).
3186
+ * Authored {@link AgentConfig.fs}, or a lone {@link AgentConfig.root}.
3187
+ * The factory is persisted, not a serialized tree. A resumed session
3188
+ * calls it again (or reuses the handle).
3100
3189
  */
3101
- root?: FileSystem | ((ctx: RootContext) => FileSystem | Promise<FileSystem>);
3190
+ fs?: FileSystem | ((ctx: FsContext) => FileSystem | Promise<FileSystem>);
3191
+ /** @deprecated Set to the same handle as {@link fs} when the author used `root`. */
3192
+ root?: FileSystem | ((ctx: FsContext) => FileSystem | Promise<FileSystem>);
3193
+ /**
3194
+ * Authored {@link AgentConfig.skills}, copied here for the session engine.
3195
+ *
3196
+ * @internal
3197
+ */
3198
+ skillsMount?: false | ((ctx: SkillsMountContext) => FileSystem | Promise<FileSystem>);
3102
3199
  /** Resolved {@link AgentConfig.cloud} for this agent. */
3103
3200
  cloud?: AgentCloudOptions;
3104
3201
  /**
@@ -3161,8 +3258,6 @@ export interface AgentProject {
3161
3258
  storage?: StorageDefinition;
3162
3259
  /** Optional `agent/artifacts.ts` (`defineArtifacts`). */
3163
3260
  artifacts?: ArtifactsDefinition;
3164
- /** Optional `agent/otel.ts` (`defineOtel`). */
3165
- otel?: OtelDefinition;
3166
3261
  diagnostics: Diagnostic[];
3167
3262
  }
3168
3263
  /** JSON-safe projection of one channel HTTP route on `GET /v1/info`. */
@@ -3176,123 +3271,191 @@ export interface AgentChannelRouteInfo {
3176
3271
  bodySchema?: JsonSchemaObject;
3177
3272
  querySchema?: JsonSchemaObject;
3178
3273
  }
3274
+ export interface ProjectToolInfo {
3275
+ name: string;
3276
+ description: string;
3277
+ /** @experimental */
3278
+ execution: ToolExecution;
3279
+ /**
3280
+ * `true` or `false` when the author set a boolean. `"dynamic"` when
3281
+ * the author set a function.
3282
+ */
3283
+ needsApproval: boolean | "dynamic";
3284
+ /**
3285
+ * The tool's declared {@link ToolEffect} when static, `"dynamic"` when
3286
+ * declared as a predicate. Absent when the author declared nothing —
3287
+ * "unknown", not "mutates".
3288
+ */
3289
+ effect?: ToolEffect | "dynamic";
3290
+ inputSchema: JsonSchemaObject;
3291
+ }
3292
+ export interface ProjectConnectionInfo {
3293
+ name: string;
3294
+ transport: string;
3295
+ /** @experimental */
3296
+ advertiseTools?: boolean;
3297
+ /** @experimental */
3298
+ optional?: boolean;
3299
+ /** @experimental */
3300
+ effects?: readonly ToolEffect[];
3301
+ /** @experimental */
3302
+ tools?: readonly string[];
3303
+ /** @experimental */
3304
+ disallowedTools?: readonly string[];
3305
+ /**
3306
+ * Present only for `cursorAccount` connections. A connector-name
3307
+ * allowlist, or `"*"` for every connected server.
3308
+ * @experimental
3309
+ */
3310
+ cursorAccountServers?: string[] | "*";
3311
+ }
3312
+ export interface ProjectChannelInfo {
3313
+ id: string;
3314
+ routes: AgentChannelRouteInfo[];
3315
+ /** Pack kind when the channel declares one (e.g. `"github"`). */
3316
+ kind?: string;
3317
+ /**
3318
+ * GitHub webhook events the channel dispatches on, when declared.
3319
+ * @experimental
3320
+ */
3321
+ githubWebhookEvents?: readonly string[];
3322
+ /**
3323
+ * Origin webhook event types the channel dispatches on, when declared.
3324
+ * @experimental
3325
+ */
3326
+ originWebhookEvents?: readonly string[];
3327
+ /**
3328
+ * GitLab `object_kind`s the channel dispatches on, when declared.
3329
+ * @experimental
3330
+ */
3331
+ gitlabWebhookEvents?: readonly string[];
3332
+ /**
3333
+ * Bitbucket event keys (Cloud vocabulary) the channel dispatches on.
3334
+ * @experimental
3335
+ */
3336
+ bitbucketWebhookEvents?: readonly string[];
3337
+ /**
3338
+ * PagerDuty v3 event types the channel dispatches on, when declared.
3339
+ * @experimental
3340
+ */
3341
+ pagerdutyWebhookEvents?: readonly string[];
3342
+ /**
3343
+ * Factory deployment event types the channel dispatches on, when declared.
3344
+ * @experimental
3345
+ */
3346
+ deploymentEventTypes?: readonly string[];
3347
+ /**
3348
+ * Change Monitor checkpoint or Factory issue event types the channel dispatches on, when declared.
3349
+ * @experimental
3350
+ */
3351
+ factoryEventTypes?: readonly string[];
3352
+ /**
3353
+ * Slack Events API event types the channel dispatches on, when declared.
3354
+ * @experimental
3355
+ */
3356
+ slackEventTypes?: readonly string[];
3357
+ /**
3358
+ * Slack channels watched for posts (opt-in channel watch), when declared.
3359
+ * @experimental
3360
+ */
3361
+ slackChannelPosts?: readonly string[];
3362
+ }
3179
3363
  /** JSON-safe projection of the manifest returned by `GET /v1/info`. */
3180
- export interface AgentProjectInfo {
3364
+ export interface ProjectInfo {
3365
+ /** Projection shape. Bump only when a stable field changes meaning. */
3366
+ schemaVersion: 1;
3181
3367
  name: string;
3182
3368
  /** Short agent description when authored on `defineAgent`. */
3183
3369
  description?: string;
3184
3370
  model?: ModelSetting;
3371
+ /**
3372
+ * Resolved runtime architecture. Omitted authors are `"v2"`.
3373
+ */
3374
+ architecture: AgentArchitecture;
3375
+ /** @experimental */
3185
3376
  runtime: AgentRuntime;
3377
+ /** @experimental */
3186
3378
  cloud?: AgentCloudPublicInfo;
3187
- /** Local harness options when authored (`cwd` absolute). */
3379
+ /**
3380
+ * Local harness options when authored (`cwd` absolute).
3381
+ * @experimental
3382
+ */
3188
3383
  local?: {
3189
3384
  cwd?: string;
3190
3385
  };
3191
- /** Managed-hosting declarations when authored or declared by a mounted extension (egress allowlist, expected secrets, container image). */
3386
+ /**
3387
+ * Managed-hosting declarations when authored or declared by a mounted extension (egress allowlist, expected secrets, container image).
3388
+ * @experimental
3389
+ */
3192
3390
  hosting?: {
3193
3391
  egressDomains?: string[];
3194
3392
  secretNames?: string[];
3195
3393
  image?: string;
3196
3394
  };
3197
- /** Turn admission limits when authored (`concurrency` on `agent.ts`). */
3395
+ /**
3396
+ * Turn admission limits when authored (`concurrency` on `agent.ts`).
3397
+ * @experimental
3398
+ */
3198
3399
  concurrency?: {
3199
3400
  maxRunningTurns?: number;
3200
3401
  };
3201
3402
  /**
3202
- * The agent's own MCP surface (mounted at `<base>/v1/mcp`): other agents
3403
+ * The agent's own MCP surface (mounted at `<base>/v1/mcp`). Other agents
3203
3404
  * and MCP clients delegate to this agent through these tools.
3405
+ * @experimental
3204
3406
  */
3205
3407
  mcp: {
3206
3408
  path: string;
3207
3409
  tools: string[];
3208
3410
  };
3411
+ /**
3412
+ * @experimental
3413
+ */
3209
3414
  instructions?: {
3210
3415
  chars: number;
3211
3416
  preview: string;
3212
3417
  };
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
- }>;
3418
+ tools: ProjectToolInfo[];
3226
3419
  skills: Array<{
3227
3420
  name: string;
3228
3421
  description: string;
3229
3422
  }>;
3230
- /** Mounted extensions and the tool / skill names each contributed. */
3423
+ /**
3424
+ * Mounted extensions and the tool / skill names each contributed.
3425
+ * @experimental
3426
+ */
3231
3427
  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
- }>;
3428
+ connections: ProjectConnectionInfo[];
3248
3429
  subagents: Array<{
3249
3430
  name: string;
3250
3431
  description?: string;
3251
3432
  model?: ModelSetting;
3252
3433
  }>;
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
- }>;
3434
+ channels: ProjectChannelInfo[];
3277
3435
  schedules: Array<{
3278
3436
  name: string;
3279
3437
  cron: string;
3280
3438
  kind: "markdown" | "run";
3281
3439
  }>;
3282
- /** Named reminder handlers (`agent/reminders/<name>.ts`) when present. */
3440
+ /**
3441
+ * Named reminder handlers (`agent/reminders/<name>.ts`) when present.
3442
+ * @experimental
3443
+ */
3283
3444
  reminders?: Array<{
3284
3445
  name: string;
3285
3446
  }>;
3286
3447
  hooks: string[];
3287
- /** Project storage sink from `agent/storage.ts`, when authored. */
3448
+ /**
3449
+ * Project storage sink from `agent/storage.ts`, when authored.
3450
+ * @experimental
3451
+ */
3288
3452
  storage?: {
3289
3453
  name?: string;
3290
3454
  };
3291
- otel?: {
3292
- serviceName?: string;
3293
- enabled: true;
3294
- };
3295
- /** Declared artifact kinds from `agent/artifacts.ts`, when authored. */
3455
+ /**
3456
+ * Declared artifact kinds from `agent/artifacts.ts`, when authored.
3457
+ * @experimental
3458
+ */
3296
3459
  artifacts?: {
3297
3460
  kinds: string[];
3298
3461
  agentTool: boolean;
@@ -3301,10 +3464,16 @@ export interface AgentProjectInfo {
3301
3464
  /**
3302
3465
  * Eval cases a hosted architecture v2 release runs as its own sessions.
3303
3466
  * Set only in that release's deploy manifest.
3467
+ * @experimental
3304
3468
  */
3305
3469
  evals?: AgentProjectEvalsInfo;
3306
3470
  diagnostics: Diagnostic[];
3307
3471
  }
3472
+ /** @deprecated Use {@link ProjectInfo}. */
3473
+ export type AgentProjectInfo = ProjectInfo;
3474
+ export interface Project {
3475
+ readonly info: ProjectInfo;
3476
+ }
3308
3477
  export interface AgentProjectEvalsInfo {
3309
3478
  /** Hosted eval-case protocol this release speaks. */
3310
3479
  protocol: 1;
@@ -3557,14 +3726,8 @@ export interface ServeOptions {
3557
3726
  apiKey?: string;
3558
3727
  };
3559
3728
  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
3729
  }
3567
- /** One agent mounted on a server (its URL slug + compiled project). */
3730
+ /** One agent mounted on a server (its URL slug and public project info). */
3568
3731
  export interface MountedAgentInfo {
3569
3732
  /**
3570
3733
  * URL slug the agent is mounted under. Empty string in single-agent mode
@@ -3572,18 +3735,20 @@ export interface MountedAgentInfo {
3572
3735
  * `/<slug>/v1/...`).
3573
3736
  */
3574
3737
  slug: string;
3575
- project: AgentProject;
3576
3738
  /** Absolute base URL for this agent (server URL + `/<slug>` when slugged). */
3577
3739
  url: string;
3740
+ /** Same projection as `GET /v1/info` for this agent. */
3741
+ info: ProjectInfo;
3578
3742
  }
3579
3743
  export interface AgentServeHandle {
3580
3744
  url: string;
3581
3745
  port: number;
3582
3746
  /**
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.
3747
+ * The first mounted agent's {@link Project}. In multi-agent mode use
3748
+ * {@link agents} for the full set.
3749
+ * @deprecated Use `agents[0].info`.
3585
3750
  */
3586
- project: AgentProject;
3751
+ project: Project;
3587
3752
  /** Every agent mounted on this server. One entry in single-agent mode. */
3588
3753
  agents: MountedAgentInfo[];
3589
3754
  /**