@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
@@ -1 +1 @@
1
- {"version":3,"file":"handleAgentServeTrigger.d.ts","sourceRoot":"","sources":["../../src/internal/handleAgentServeTrigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAwB,KAAK,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAE9F,MAAM,WAAW,6BAA6B;IAC5C,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,EAAE,oBAAoB,CAAC;IAC9B,uEAAuE;IACvE,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,QAAQ,CAAC;IACf,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACzC,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;CACnD;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,QAAQ,CAAC;IACf,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACzC,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;CACnD;AAED,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG,4BAA4B,CAAC;AAEjG,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,6BAA6B,EAAE,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;KAC7D,CAAC,CAAC;CACJ,GAAG,6BAA6B,EAAE,CAgBlC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;KAC7D,CAAC,CAAC;CACJ,GAAG,6BAA6B,EAAE,CAgBlC;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAWlC"}
1
+ {"version":3,"file":"handleAgentServeTrigger.d.ts","sourceRoot":"","sources":["../../src/internal/handleAgentServeTrigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAwB,KAAK,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAE9F,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,EAAE,oBAAoB,CAAC;IAC9B,uEAAuE;IACvE,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,kDAAkD;AAClD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,QAAQ,CAAC;IACf,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACzC,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;CACnD;AAED,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,kDAAkD;AAClD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,QAAQ,CAAC;IACf,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACzC,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;CACnD;AAED,kDAAkD;AAClD,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG,4BAA4B,CAAC;AAEjG,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,6BAA6B,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;KAC7D,CAAC,CAAC;CACJ,GAAG,6BAA6B,EAAE,CAgBlC;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;KAC7D,CAAC,CAAC;CACJ,GAAG,6BAA6B,EAAE,CAgBlC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAWlC"}
@@ -13,6 +13,7 @@ import { bindLocalIngressSend } from "./local-ingress.js";
13
13
  /**
14
14
  * Build fan-out targets from mounted agent projects that export a github
15
15
  * channel created via {@link githubChannel}.
16
+ * @deprecated Deprecated on the package root.
16
17
  */
17
18
  export function collectGitHubTriggerTargets(input) {
18
19
  const targets = [];
@@ -34,6 +35,7 @@ export function collectGitHubTriggerTargets(input) {
34
35
  /**
35
36
  * Build fan-out targets from mounted agent projects that export an origin
36
37
  * channel created via {@link originChannel}.
38
+ * @deprecated Deprecated on the package root.
37
39
  */
38
40
  export function collectOriginTriggerTargets(input) {
39
41
  const targets = [];
@@ -54,6 +56,7 @@ export function collectOriginTriggerTargets(input) {
54
56
  }
55
57
  /**
56
58
  * Dispatch an agent-serve trigger. GitHub and Origin webhook fan-out.
59
+ * @deprecated Deprecated on the package root.
57
60
  */
58
61
  export async function handleAgentServeTrigger(event) {
59
62
  switch (event.type) {
@@ -39,7 +39,7 @@ export declare function parseHmacSecrets(raw: string | undefined): ParsedHmacSec
39
39
  * without the prefix never match.
40
40
  */
41
41
  export declare function hmacSignatureMatchesAny(args: {
42
- body: string | Buffer;
42
+ body: string | Uint8Array;
43
43
  presented: string;
44
44
  secrets: HmacSecrets;
45
45
  prefix: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hmac-secret-values.d.ts","sourceRoot":"","sources":["../../src/internal/hmac-secret-values.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,mCAAmC;AACnC,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAAA;CAAE,CAAC;AAIvD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAe3E;AAQD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,GAAG,OAAO,CAmBV"}
1
+ {"version":3,"file":"hmac-secret-values.d.ts","sourceRoot":"","sources":["../../src/internal/hmac-secret-values.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,mCAAmC;AACnC,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAAA;CAAE,CAAC;AAIvD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAe3E;AAQD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,GAAG,OAAO,CAmBV"}
@@ -11,7 +11,7 @@ import type { HostOtelApi } from "../types.js";
11
11
  import type { OtelCollector } from "./otel/collector.js";
12
12
  export interface CreateHostOtelApiOptions {
13
13
  agentName: string;
14
- /** Read on each use: a hosted v2 guest builds the meter after its first secret load. */
14
+ /** Read on each use. Instrumentation can register the meter before the first request. A hosted guest fills it after the first secret load. */
15
15
  meter?: () => Meter | undefined;
16
16
  collector?: OtelCollector;
17
17
  /** Session bound for join tags; prefer {@link HostOtelSessionApi.forSession}. */
@@ -1 +1 @@
1
- {"version":3,"file":"host-otel.d.ts","sourceRoot":"","sources":["../../src/internal/host-otel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAsB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAsBzD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC;CACnD;AAwBD,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,kBAAkB,CAavF"}
1
+ {"version":3,"file":"host-otel.d.ts","sourceRoot":"","sources":["../../src/internal/host-otel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAsB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA2BzD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,8IAA8I;IAC9I,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC;CACnD;AAwBD,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,kBAAkB,CAavF"}
@@ -6,6 +6,7 @@
6
6
  * collector is attached. `forSession` is engine-only so a tool cannot
7
7
  * retarget another conversation's tags.
8
8
  */
9
+ import { deprecate } from "node:util";
9
10
  import { attrs } from "./otel/attrs.js";
10
11
  const METRIC_NAME = /^[A-Za-z][A-Za-z0-9_./-]*$/;
11
12
  const RESERVED_METRICS = new Set([
@@ -24,6 +25,7 @@ const RESERVED_ATTRIBUTES = new Set([
24
25
  "agent_sdk.turn_id",
25
26
  "agent_sdk.framework",
26
27
  ]);
28
+ const warnHostOtelDeprecated = deprecate(() => { }, "[bdk:otel] deprecated: ctx.host.otel still runs for this release. Set OTEL_* variables and use metrics.getMeter or trace.getTracer from @opentelemetry/api.");
27
29
  /** Build the host OpenTelemetry API for one agent process. */
28
30
  export function createHostOtelApi(options) {
29
31
  return createBoundHostOtelApi({
@@ -45,6 +47,7 @@ function createBoundHostOtelApi(state) {
45
47
  return state.shared.meter() !== undefined;
46
48
  },
47
49
  setAttributes(attributes) {
50
+ warnHostOtelDeprecated();
48
51
  const cleaned = validateAttributes(attributes);
49
52
  if (state.sessionId === undefined) {
50
53
  Object.assign(state.localTags, cleaned);
@@ -54,11 +57,13 @@ function createBoundHostOtelApi(state) {
54
57
  state.shared.collector?.setSessionAttributes(state.sessionId, cleaned);
55
58
  },
56
59
  increment(name, valueOrAttributes, maybeAttributes) {
60
+ warnHostOtelDeprecated();
57
61
  const value = typeof valueOrAttributes === "number" ? valueOrAttributes : 1;
58
62
  const attributes = typeof valueOrAttributes === "number" ? maybeAttributes : valueOrAttributes;
59
63
  counter(state.shared, name)?.add(value, emitAttributes(state, attributes));
60
64
  },
61
65
  record(name, value, attributes) {
66
+ warnHostOtelDeprecated();
62
67
  histogram(state.shared, name)?.record(value, emitAttributes(state, attributes));
63
68
  },
64
69
  forSession(sessionId) {
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-delivery.d.ts","sourceRoot":"","sources":["../../src/internal/hosted-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted-delivery.d.ts","sourceRoot":"","sources":["../../src/internal/hosted-delivery.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import { flushDurableHostedExecutionRecord, refreshStartLogWhile, writeLocalHost
15
15
  import { finalizeHostedExecutionLatency, formatHostedExecutionLatencyServerTiming, hostedExecutionNow, runWithHostedExecutionLatency, } from "./hosted-execution-latency.js";
16
16
  import { recordHostedManagedAutomation } from "./hosted-managed-automation.js";
17
17
  import { readJsonObject } from "./http-channel.js";
18
+ import { resolveDeliveryId } from "./ids.js";
18
19
  import { endActiveHttpSpan } from "./otel/http.js";
19
20
  import { ReminderValidationError, UnknownReminderError } from "./reminder-runner.js";
20
21
  import { mapThrownRequestError, statusForThrownRequestError } from "./request-error-status.js";
@@ -256,8 +257,11 @@ async function runAdmission(input, adapter) {
256
257
  if (captured !== undefined) {
257
258
  throw new HostedSendLimitExceeded();
258
259
  }
259
- captured = { message, options };
260
- return createDeferredChannelSession();
260
+ // Fixed here so the handle's id is the one the session's events carry
261
+ // when the control plane runs this send.
262
+ const deliveryId = resolveDeliveryId(options.deliveryId);
263
+ captured = { message, options: { ...options, deliveryId } };
264
+ return createDeferredChannelSession(deliveryId);
261
265
  },
262
266
  waitUntil: (promise) => {
263
267
  background.push(promise);
@@ -1 +1 @@
1
- {"version":3,"file":"http-channel.d.ts","sourceRoot":"","sources":["../../src/internal/http-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,aAAa,EACd,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAK7B,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GAAG,WAAW,EAAE,CAgehB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GACA,QAAQ,GAAG,SAAS,CAYtB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAC/D,QAAQ,CAQV;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAErF;AAkFD,8FAA8F;AAC9F,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAc9C"}
1
+ {"version":3,"file":"http-channel.d.ts","sourceRoot":"","sources":["../../src/internal/http-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,aAAa,EACd,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAK7B,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GAAG,WAAW,EAAE,CAiehB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GACA,QAAQ,GAAG,SAAS,CAYtB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GAC/D,QAAQ,CAQV;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAErF;AAkFD,8FAA8F;AAC9F,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAc9C"}
@@ -56,6 +56,7 @@ export function buildHttpChannelRoutes(args) {
56
56
  // fixture repos without putting them on the agent's default cloud.repos.
57
57
  const cloud = readCloudOptions(body.cloud);
58
58
  const session = await engine.send(HTTP_CHANNEL_ID, message, {
59
+ turnMode: body.purpose === "eval" ? "non-interactive" : "interactive",
59
60
  auth: ctx.auth,
60
61
  ...(typeof body.title === "string" ? { title: body.title } : {}),
61
62
  ...(body.purpose === "eval" ? { purpose: "eval" } : {}),
@@ -1,5 +1,13 @@
1
1
  /** Fresh session id (`ses_<24 hex>` — a single safe path segment). */
2
2
  export declare function newSessionId(): string;
3
+ /** Fresh delivery id for one `send()` (`dlv_<24 hex>`). */
4
+ export declare function newDeliveryId(): string;
5
+ export declare const MAX_DELIVERY_ID_LENGTH = 256;
6
+ /**
7
+ * The caller's {@link SendMessageOptions.deliveryId}, or a fresh one.
8
+ * Opaque: compared verbatim, never trimmed or rewritten.
9
+ */
10
+ export declare function resolveDeliveryId(requested: unknown): string;
3
11
  export declare function newContinuationKey(): string;
4
12
  /**
5
13
  * Unique server-tool call id (a single safe path segment). Used when the
@@ -1 +1 @@
1
- {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/internal/ids.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS/F"}
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/internal/ids.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAc5D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS/F"}
@@ -3,6 +3,26 @@ import { randomBytes } from "node:crypto";
3
3
  export function newSessionId() {
4
4
  return `ses_${randomBytes(12).toString("hex")}`;
5
5
  }
6
+ /** Fresh delivery id for one `send()` (`dlv_<24 hex>`). */
7
+ export function newDeliveryId() {
8
+ return `dlv_${randomBytes(12).toString("hex")}`;
9
+ }
10
+ export const MAX_DELIVERY_ID_LENGTH = 256;
11
+ /**
12
+ * The caller's {@link SendMessageOptions.deliveryId}, or a fresh one.
13
+ * Opaque: compared verbatim, never trimmed or rewritten.
14
+ */
15
+ export function resolveDeliveryId(requested) {
16
+ if (requested === undefined) {
17
+ return newDeliveryId();
18
+ }
19
+ if (typeof requested !== "string" ||
20
+ requested.trim() === "" ||
21
+ requested.length > MAX_DELIVERY_ID_LENGTH) {
22
+ throw new TypeError(`invalid argument: deliveryId must be a non-empty string of at most ${MAX_DELIVERY_ID_LENGTH} characters`);
23
+ }
24
+ return requested;
25
+ }
6
26
  export function newContinuationKey() {
7
27
  return randomBytes(16).toString("hex");
8
28
  }
@@ -57,7 +57,7 @@ export function tsconfig(projectRoot) {
57
57
  `;
58
58
  }
59
59
  const ECHO_TS = `import { defineTool } from "${PACKAGE_NAME}/tools";
60
- import { z } from "zod/v3";
60
+ import * as z from "zod/v4";
61
61
 
62
62
  export default defineTool({
63
63
  description: "Echo a short message back (demo tool).",
@@ -3,7 +3,7 @@
3
3
  * validate against schemas built from it, and the create-agent skill's round
4
4
  * tables are rendered from it.
5
5
  */
6
- import { z } from "zod/v3";
6
+ import * as z from "zod/v4";
7
7
  import { type InterviewField } from "./question.js";
8
8
  export declare const PURPOSES: readonly ["chat", "repo-automation", "domain-assistant", "scheduled-reporter", "other"];
9
9
  export declare const CHANNELS: readonly ["slack", "github", "webhook", "schedule"];
@@ -1 +1 @@
1
- {"version":3,"file":"agent-questions.d.ts","sourceRoot":"","sources":["../../../src/internal/interview/agent-questions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,QAAQ,YACnB,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,CACC,CAAC;AACX,eAAO,MAAM,QAAQ,YAAI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAC5E,eAAO,MAAM,SAAS,YAAI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AACxE,eAAO,MAAM,YAAY,YACvB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,OAAO,EACP,eAAe,EACf,OAAO,CACC,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAehD,eAAO,MAAM,gBAAgB,EAAE,MAAiB,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAKpC,CAAC;AAEL,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,EA0FjD,CAAC;AAOF,iDAAiD;AACjD,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C"}
1
+ {"version":3,"file":"agent-questions.d.ts","sourceRoot":"","sources":["../../../src/internal/interview/agent-questions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,QAAQ,YACnB,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,CACC,CAAC;AACX,eAAO,MAAM,QAAQ,YAAI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAC5E,eAAO,MAAM,SAAS,YAAI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AACxE,eAAO,MAAM,YAAY,YACvB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,OAAO,EACP,eAAe,EACf,OAAO,CACC,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAehD,eAAO,MAAM,gBAAgB,EAAE,MAAiB,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAKpC,CAAC;AAEL,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,EA0FjD,CAAC;AAOF,iDAAiD;AACjD,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C"}
@@ -3,7 +3,7 @@
3
3
  * validate against schemas built from it, and the create-agent skill's round
4
4
  * tables are rendered from it.
5
5
  */
6
- import { z } from "zod/v3";
6
+ import * as z from "zod/v4";
7
7
  import { DEFAULT_MODEL } from "../../types.js";
8
8
  import { NAME_PATTERN, RESERVED_SLUGS } from "../discovery/names.js";
9
9
  import { field } from "./question.js";
@@ -4,7 +4,7 @@
4
4
  * Answers arrive from flags or an answers file, from a TTY prompt, or from
5
5
  * defaults, in that order. Nothing prompts without a TTY.
6
6
  */
7
- import { z } from "zod/v3";
7
+ import * as z from "zod/v4";
8
8
  export type Choice = string | {
9
9
  value: string;
10
10
  label: string;
@@ -44,7 +44,7 @@ export interface InterviewField {
44
44
  }
45
45
  /** A field whose answers are checked against its schema before they are kept. */
46
46
  export declare function field(round: string, question: InterviewQuestion, schema: z.ZodTypeAny, options?: string): InterviewField;
47
- export declare function checkedString(error: (value: string) => string | undefined): z.ZodEffects<z.ZodString>;
47
+ export declare function checkedString(error: (value: string) => string | undefined): z.ZodString;
48
48
  export type CollectResult = {
49
49
  ok: true;
50
50
  answers: Answers;
@@ -1 +1 @@
1
- {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../src/internal/interview/question.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../src/internal/interview/question.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * defaults, in that order. Nothing prompts without a TTY.
6
6
  */
7
7
  import { createInterface } from "node:readline";
8
- import { z } from "zod/v3";
8
+ import * as z from "zod/v4";
9
9
  import { describeError } from "../describe-error.js";
10
10
  /** A field whose answers are checked against its schema before they are kept. */
11
11
  export function field(round, question, schema, options) {
@@ -27,7 +27,7 @@ export function checkedString(error) {
27
27
  return z.string().superRefine((value, ctx) => {
28
28
  const message = error(value);
29
29
  if (message !== undefined) {
30
- ctx.addIssue({ code: z.ZodIssueCode.custom, message });
30
+ ctx.addIssue({ code: "custom", message });
31
31
  }
32
32
  });
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/internal/json-schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS/D,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAa9D;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,GACpD,gBAAgB,CAKlB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,GACrD,gBAAgB,GAAG,SAAS,CAK9B;AAmBD,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,EACrD,IAAI,EAAE,OAAO,GACZ,mBAAmB,CAerB"}
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/internal/json-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS/D,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAU9D;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,GACpD,gBAAgB,CAKlB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,GACrD,gBAAgB,GAAG,SAAS,CAK9B;AAmBD,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,EACrD,IAAI,EAAE,OAAO,GACZ,mBAAmB,CAerB"}
@@ -1,4 +1,3 @@
1
- import { z } from "zod/v3";
2
1
  import { zodToJsonSchema } from "zod-to-json-schema";
3
2
  import { isZodV4Schema, zodV4ToJsonSchema } from "./zod-schema.js";
4
3
  const ANY_OBJECT_SCHEMA = {
@@ -7,12 +6,9 @@ const ANY_OBJECT_SCHEMA = {
7
6
  additionalProperties: true,
8
7
  };
9
8
  export function isZodSchema(value) {
10
- if (value instanceof z.ZodType) {
11
- return true;
12
- }
13
- // Structural check for zod instances that come from a different module
14
- // copy in the authoring project's node_modules. Zod 4 keeps `_zod`
15
- // (and often `_def`).
9
+ // Structural, so zod instances from any module copy in the authoring
10
+ // project's node_modules match. Zod 3 schemas carry `_def`; zod 4
11
+ // schemas carry `_zod` (and often `_def`).
16
12
  return (typeof value === "object" &&
17
13
  value !== null &&
18
14
  typeof value.safeParse === "function" &&
@@ -18,11 +18,20 @@
18
18
  import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
19
19
  import type { AgentProject, AuthContext } from "../types.js";
20
20
  import { type SessionEngine } from "./session-engine.js";
21
- /** Channel id recorded on sessions created through the MCP surface. */
21
+ /**
22
+ * Channel id recorded on sessions created through the MCP surface.
23
+ * @deprecated Deprecated on the package root.
24
+ */
22
25
  export declare const MCP_CHANNEL_ID = "mcp";
23
- /** Mount path of the MCP surface, relative to the agent base. */
26
+ /**
27
+ * Mount path of the MCP surface, relative to the agent base.
28
+ * @deprecated Deprecated on the package root.
29
+ */
24
30
  export declare const MCP_ENDPOINT_PATH = "/v1/mcp";
25
- /** Direct authored server tools used by this agent's cloud turns. */
31
+ /**
32
+ * Direct authored server tools used by this agent's cloud turns.
33
+ * @deprecated Deprecated on the package root.
34
+ */
26
35
  export declare const TOOL_MCP_ENDPOINT_PATH = "/v1/mcp/tools";
27
36
  export interface AgentMcpEndpoint {
28
37
  /**
@@ -58,7 +67,10 @@ export declare function handleStatelessMcpRequest(args: {
58
67
  label: string;
59
68
  logger?: (line: string) => void;
60
69
  }): Promise<Response>;
61
- /** Tool names the MCP surface exposes for `project` (info projection). */
70
+ /**
71
+ * Tool names the MCP surface exposes for `project` (info projection).
72
+ * @deprecated Deprecated on the package root.
73
+ */
62
74
  export declare function mcpEndpointToolNames(project: AgentProject): string[];
63
75
  export declare function createAgentMcpEndpoint(args: {
64
76
  engine: SessionEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-endpoint.d.ts","sourceRoot":"","sources":["../../src/internal/mcp-endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAE,wCAAwC,EAAE,MAAM,+DAA+D,CAAC;AAOzH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAA8B,MAAM,aAAa,CAAC;AAGzF,OAAO,EAEL,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAE7B,uEAAuE;AACvE,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAUtD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvE;AAED,yEAAyE;AACzE,UAAU,oBAAoB;IAC5B,OAAO,CAAC,SAAS,EAAE,wCAAwC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,oBAAoB,CAAC;IACxC,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyCpB;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAMpE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GAAG,gBAAgB,CAanB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GAAG,gBAAgB,CAyBnB"}
1
+ {"version":3,"file":"mcp-endpoint.d.ts","sourceRoot":"","sources":["../../src/internal/mcp-endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAE,wCAAwC,EAAE,MAAM,+DAA+D,CAAC;AAOzH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAA8B,MAAM,aAAa,CAAC;AAGzF,OAAO,EAEL,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAUtD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvE;AAED,yEAAyE;AACzE,UAAU,oBAAoB;IAC5B,OAAO,CAAC,SAAS,EAAE,wCAAwC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,oBAAoB,CAAC;IACxC,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyCpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAMpE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GAAG,gBAAgB,CAanB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,GAAG,gBAAgB,CAyBnB"}
@@ -19,15 +19,24 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
19
19
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
20
20
  import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
21
21
  import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
22
- import { z } from "zod/v3";
22
+ import * as z from "zod/v4";
23
23
  import { samePrincipal } from "./auth.js";
24
24
  import { describeError } from "./describe-error.js";
25
25
  import { SessionBusyError, ToolInputError, ToolNotDirectlyCallableError, UnknownSessionError, UnknownToolError, } from "./session-engine.js";
26
- /** Channel id recorded on sessions created through the MCP surface. */
26
+ /**
27
+ * Channel id recorded on sessions created through the MCP surface.
28
+ * @deprecated Deprecated on the package root.
29
+ */
27
30
  export const MCP_CHANNEL_ID = "mcp";
28
- /** Mount path of the MCP surface, relative to the agent base. */
31
+ /**
32
+ * Mount path of the MCP surface, relative to the agent base.
33
+ * @deprecated Deprecated on the package root.
34
+ */
29
35
  export const MCP_ENDPOINT_PATH = "/v1/mcp";
30
- /** Direct authored server tools used by this agent's cloud turns. */
36
+ /**
37
+ * Direct authored server tools used by this agent's cloud turns.
38
+ * @deprecated Deprecated on the package root.
39
+ */
31
40
  export const TOOL_MCP_ENDPOINT_PATH = "/v1/mcp/tools";
32
41
  /**
33
42
  * Bounded waits stay below the MCP client default request timeout (60s) so
@@ -87,7 +96,10 @@ export async function handleStatelessMcpRequest(args) {
87
96
  void server.close().catch(() => { });
88
97
  }
89
98
  }
90
- /** Tool names the MCP surface exposes for `project` (info projection). */
99
+ /**
100
+ * Tool names the MCP surface exposes for `project` (info projection).
101
+ * @deprecated Deprecated on the package root.
102
+ */
91
103
  export function mcpEndpointToolNames(project) {
92
104
  const names = ["ask", "check"];
93
105
  if (project.agent.tools.some((tool) => tool.execution === "server")) {
@@ -312,7 +324,7 @@ function buildAgentMcpServer(engine, auth) {
312
324
  inputSchema: {
313
325
  toolName: z.string().describe("Name of the server tool to call."),
314
326
  input: z
315
- .record(z.unknown())
327
+ .record(z.string(), z.unknown())
316
328
  .optional()
317
329
  .describe("Tool input, validated against the tool's schema."),
318
330
  sessionId: z
@@ -14,6 +14,15 @@ export declare class McpNeedsAuthError extends Error {
14
14
  readonly connection: string;
15
15
  constructor(connection: string, cause?: unknown);
16
16
  }
17
+ /**
18
+ * A connection needs authorization and this channel cannot wait for a person
19
+ * to grant it. Not a {@link McpNeedsAuthError}, so the auth park does not
20
+ * retry it.
21
+ */
22
+ export declare class McpReconnectError extends Error {
23
+ readonly connection: string;
24
+ constructor(connection: string, message: string, cause?: unknown);
25
+ }
17
26
  export declare function isMcpNeedsAuthError(error: unknown): error is McpNeedsAuthError;
18
27
  export declare function hostMcpCallNeedsAuth(result: HostMcpCallResult): boolean;
19
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-host.d.ts","sourceRoot":"","sources":["../../src/internal/mcp-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AASrB,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YAAY,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAS9C;CACF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAMvE;AAoBD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxF;AAED,qBAAa,OAAQ,YAAW,eAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,YAAY,WAAW,EAAE,oBAAoB,EAAE,EAI9C;IAED,gFAAgF;IAChF,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErC;IAED;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAEpD;IAED,KAAK,IAAI,MAAM,EAAE,CAEhB;IAEK,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAUlE;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,EAAE,oBAAoB,GAAG,aAAa,CAwCtD;IAEK,QAAQ,CACZ,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAa5B;IAEK,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAY3B;IAED;;;;;;;;OAQG;YACW,UAAU;IAcxB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;YAwBH,gBAAgB;IAc9B,OAAO,CAAC,iBAAiB;YASX,OAAO;CAGtB;AASD,+BAA+B;AAC/B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAU9D;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAqB3F"}
1
+ {"version":3,"file":"mcp-host.d.ts","sourceRoot":"","sources":["../../src/internal/mcp-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AASrB,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YAAY,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAS9C;CACF;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YAAY,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAO/D;CACF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAMvE;AAoBD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxF;AAED,qBAAa,OAAQ,YAAW,eAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,YAAY,WAAW,EAAE,oBAAoB,EAAE,EAI9C;IAED,gFAAgF;IAChF,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErC;IAED;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAEpD;IAED,KAAK,IAAI,MAAM,EAAE,CAEhB;IAEK,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAUlE;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,EAAE,oBAAoB,GAAG,aAAa,CAwCtD;IAEK,QAAQ,CACZ,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAa5B;IAEK,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAY3B;IAED;;;;;;;;OAQG;YACW,UAAU;IAcxB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;YAwBH,gBAAgB;IAc9B,OAAO,CAAC,iBAAiB;YASX,OAAO;CAGtB;AASD,+BAA+B;AAC/B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAU9D;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAqB3F"}
@@ -29,6 +29,21 @@ export class McpNeedsAuthError extends Error {
29
29
  }
30
30
  }
31
31
  }
32
+ /**
33
+ * A connection needs authorization and this channel cannot wait for a person
34
+ * to grant it. Not a {@link McpNeedsAuthError}, so the auth park does not
35
+ * retry it.
36
+ */
37
+ export class McpReconnectError extends Error {
38
+ constructor(connection, message, cause) {
39
+ super(message);
40
+ this.name = "McpReconnectError";
41
+ this.connection = connection;
42
+ if (cause !== undefined) {
43
+ this.cause = cause;
44
+ }
45
+ }
46
+ }
32
47
  export function isMcpNeedsAuthError(error) {
33
48
  return error instanceof McpNeedsAuthError;
34
49
  }
@@ -28,6 +28,11 @@ export interface OtelCollector {
28
28
  * applied yet (dispatch is async).
29
29
  */
30
30
  runInTurn<T>(args: OtelTurnContext, fn: () => T | Promise<T>): Promise<T>;
31
+ /**
32
+ * Run `fn` inside the turn span when that turn is still open.
33
+ * Does not open a span.
34
+ */
35
+ runInOpenTurn<T>(args: OtelTurnContext, fn: () => T | Promise<T>): Promise<T>;
31
36
  /**
32
37
  * Run `fn` under the tool span so outbound inject sees that context.
33
38
  * Opens the turn / tool span if the event stream has not reached
@@ -1 +1 @@
1
- {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACzD,KAAK,IAAI,IAAI,CAAC;IACd;;;;;OAKG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,0FAA0F;IAC1F,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IAC7D,yEAAyE;IACzE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;IACrF,mEAAmE;IACnE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;CAChF;AAkBD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,aAAa,CAw1Bf"}
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,YAAY,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACzD,KAAK,IAAI,IAAI,CAAC;IACd;;;;;OAKG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E;;;OAGG;IACH,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,0FAA0F;IAC1F,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IAC7D,yEAAyE;IACzE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;IACrF,mEAAmE;IACnE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;CAChF;AAkBD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,aAAa,CAs2Bf"}
@@ -11,6 +11,7 @@ import { SeverityNumber } from "@opentelemetry/api-logs";
11
11
  import { classifyExpectedDeliveryFailure } from "../expected-delivery-failure.js";
12
12
  import { toolCallErrorMessage } from "../tool-result.js";
13
13
  import { attrs } from "./attrs.js";
14
+ import { withConversationId } from "./conversation-span-processor.js";
14
15
  import { computerUseRequestAttrs, computerUseResultAttrs } from "./computer-use-attrs.js";
15
16
  import { classifyToolErrorText } from "./tool-error-class.js";
16
17
  const CONTENT_MAX = 2_048;
@@ -72,15 +73,23 @@ export function createOtelCollector(runtime, agentName, log) {
72
73
  if (!runtime.config.enabled) {
73
74
  return Promise.resolve(fn());
74
75
  }
75
- const span = ensureTurnSpan(args);
76
- return context.with(trace.setSpan(context.active(), span), () => Promise.resolve(fn()));
76
+ return bindSpan(ensureTurnSpan(args), args.sessionId, fn);
77
+ },
78
+ runInOpenTurn(args, fn) {
79
+ if (!runtime.config.enabled) {
80
+ return Promise.resolve(fn());
81
+ }
82
+ const span = sessions.get(args.sessionId)?.turns.get(args.turnId)?.span;
83
+ if (span === undefined) {
84
+ return Promise.resolve(fn());
85
+ }
86
+ return bindSpan(span, args.sessionId, fn);
77
87
  },
78
88
  runInCall(args, fn) {
79
89
  if (!runtime.config.enabled) {
80
90
  return Promise.resolve(fn());
81
91
  }
82
- const span = ensureCallSpan(args);
83
- return context.with(trace.setSpan(context.active(), span), () => Promise.resolve(fn()));
92
+ return bindSpan(ensureCallSpan(args), args.sessionId, fn);
84
93
  },
85
94
  startPhase(args, phase) {
86
95
  if (!runtime.config.enabled) {
@@ -263,7 +272,7 @@ export function createOtelCollector(runtime, agentName, log) {
263
272
  message: failureReason ?? "tool error",
264
273
  });
265
274
  }
266
- span.end(startTime);
275
+ span.end(completedTime(event.data.completedAt) ?? startTime);
267
276
  turn?.tools.delete(event.data.callId);
268
277
  turn?.pendingToolErrors.delete(event.data.callId);
269
278
  }
@@ -566,6 +575,9 @@ export function createOtelCollector(runtime, agentName, log) {
566
575
  function ensureTurnSpan(args) {
567
576
  return ensureTurnState(args).span;
568
577
  }
578
+ function bindSpan(span, sessionId, fn) {
579
+ return context.with(withConversationId(trace.setSpan(context.active(), span), sessionId), () => Promise.resolve(fn()));
580
+ }
569
581
  function ensureCallSpan(args) {
570
582
  const turn = ensureTurnState(args);
571
583
  return openToolSpan({
@@ -729,6 +741,13 @@ function truncate(value, max = CONTENT_MAX) {
729
741
  }
730
742
  return `${value.slice(0, max)}…`;
731
743
  }
744
+ function completedTime(completedAt) {
745
+ if (completedAt === undefined) {
746
+ return undefined;
747
+ }
748
+ const parsed = Date.parse(completedAt);
749
+ return Number.isFinite(parsed) ? parsed : undefined;
750
+ }
732
751
  function toolFailureReason(output) {
733
752
  const summary = toolCallErrorMessage(output);
734
753
  if (summary === undefined) {