@cursor/bdk 0.2.23 → 0.2.24

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 (283) hide show
  1. package/dist/artifacts.d.ts +1 -1
  2. package/dist/artifacts.js +1 -1
  3. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  4. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  5. package/dist/channels/deployments/deployments-channel.js +1 -1
  6. package/dist/channels/github/github-channel.js +1 -1
  7. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  8. package/dist/channels/issues/issues-channel.js +1 -1
  9. package/dist/channels/origin/origin-channel.js +1 -1
  10. package/dist/channels/runs/runs-channel.js +1 -1
  11. package/dist/channels/slack/tool-approval-events.js +5 -5
  12. package/dist/channels.d.ts +8 -1
  13. package/dist/channels.d.ts.map +1 -1
  14. package/dist/channels.js +33 -6
  15. package/dist/docs/404.html +3 -3
  16. package/dist/docs/assets/{app.AXQcJZaf.js → app.DTIg0uKK.js} +4 -4
  17. package/dist/docs/assets/chunks/@localSearchIndexroot.3ebvCWKy.js +1 -0
  18. package/dist/docs/assets/chunks/{VPLocalSearchBox.hlZ2vmun.js → VPLocalSearchBox.BpJoSaxi.js} +2 -2
  19. package/dist/docs/assets/chunks/{arc.9KNWdH-l.js → arc.ylgNvRNq.js} +1 -1
  20. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.BfGzkBHI.js → architectureDiagram-Q4EWVU46.BMrNJqYk.js} +1 -1
  21. package/dist/docs/assets/chunks/{baseUniq.Btk8-2Rs.js → baseUniq.BBWUEqf9.js} +1 -1
  22. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BmHm9OH5.js → blockDiagram-DXYQGD6D.DFMu-Vza.js} +1 -1
  23. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.9POrbDHJ.js → c4Diagram-AHTNJAMY.8nkAAxWv.js} +1 -1
  24. package/dist/docs/assets/chunks/channel.BOebySCN.js +1 -0
  25. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.YWZVSM6S.js → chunk-4BX2VUAB.sO-z2Bag.js} +1 -1
  26. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.Cxr_SFgw.js → chunk-4TB4RGXK.BMROzTMq.js} +1 -1
  27. package/dist/docs/assets/chunks/{chunk-55IACEB6.DtiJyPlD.js → chunk-55IACEB6.X81urwg7.js} +1 -1
  28. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.b5gNHJPH.js → chunk-EDXVE4YY.eaZVFLZM.js} +1 -1
  29. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DmN9yA_M.js → chunk-FMBD7UC4.CmZhzstR.js} +1 -1
  30. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Dfm3xgV5.js → chunk-OYMX7WX6.CTezt9Lc.js} +1 -1
  31. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.sXNxDcJA.js → chunk-QZHKN3VN.s-T8zukB.js} +1 -1
  32. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DgBnDUV7.js → chunk-YZCP3GAM.DN4Nhy-D.js} +1 -1
  33. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C55IaN-T.js +1 -0
  34. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C55IaN-T.js +1 -0
  35. package/dist/docs/assets/chunks/clone.D06pA7ML.js +1 -0
  36. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.D18MEcoN.js → cose-bilkent-S5V4N54A.Cqyp4BUH.js} +1 -1
  37. package/dist/docs/assets/chunks/{dagre-KV5264BT.CSf3tihh.js → dagre-KV5264BT.BIECOiqR.js} +1 -1
  38. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.cbfzAfoC.js → diagram-5BDNPKRD.1tLyWoTg.js} +1 -1
  39. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.6i6P3uu9.js → diagram-G4DWMVQ6.BVY_6VMO.js} +1 -1
  40. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.B9HAIfN6.js → diagram-MMDJMWI5.BSZ7xiBB.js} +1 -1
  41. package/dist/docs/assets/chunks/{diagram-TYMM5635.B9baAjUv.js → diagram-TYMM5635.Bho6GmLh.js} +1 -1
  42. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DaBmX_GN.js → erDiagram-SMLLAGMA.A0yVIANn.js} +1 -1
  43. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.CJqQJjkb.js → flowDiagram-DWJPFMVM.ZMgbllH6.js} +1 -1
  44. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.CIXBLQhC.js → ganttDiagram-T4ZO3ILL.BCCPBhXo.js} +1 -1
  45. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CDgentto.js → gitGraphDiagram-UUTBAWPF.BOkL0BbA.js} +1 -1
  46. package/dist/docs/assets/chunks/{graph.BWHn6JBQ.js → graph.DMyZPu86.js} +1 -1
  47. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.d9VU_ts_.js → infoDiagram-42DDH7IO.CjG1IiEw.js} +1 -1
  48. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.BNO79Prj.js → ishikawaDiagram-UXIWVN3A.UCe-kq9g.js} +1 -1
  49. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CPgUTM1R.js → journeyDiagram-VCZTEJTY.3WyOK_eY.js} +1 -1
  50. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.idl0Eoe1.js → kanban-definition-6JOO6SKY.WoRG2qY1.js} +1 -1
  51. package/dist/docs/assets/chunks/{layout.BY7DIMr6.js → layout.DV07xDd5.js} +1 -1
  52. package/dist/docs/assets/chunks/{linear.DYaUDrHd.js → linear.CTO8mN6o.js} +1 -1
  53. package/dist/docs/assets/chunks/{min.V6MWb1UC.js → min.SvTtcKuZ.js} +1 -1
  54. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BRlJXuFS.js → mindmap-definition-QFDTVHPH.DMGgQ-HB.js} +1 -1
  55. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BIhkDLcB.js → pieDiagram-DEJITSTG.B7851apI.js} +1 -1
  56. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.Bw-_VEL3.js → quadrantDiagram-34T5L4WZ.CEqyypIX.js} +1 -1
  57. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DolEGwxw.js → requirementDiagram-MS252O5E.C3Mwsw-H.js} +1 -1
  58. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.hMM-8BhN.js → sankeyDiagram-XADWPNL6.DyYK0XxY.js} +1 -1
  59. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Bg_CRVDy.js → sequenceDiagram-FGHM5R23.SiQPH-XM.js} +1 -1
  60. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DNWdl34_.js → stateDiagram-FHFEXIEX.CTJMsP4p.js} +1 -1
  61. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DddRVjeq.js +1 -0
  62. package/dist/docs/assets/chunks/{theme.CBW1oolh.js → theme.DJo4my9R.js} +2 -2
  63. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.Cr1wJ1mB.js → timeline-definition-GMOUNBTQ.CxSNRlQ6.js} +1 -1
  64. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BltDV9j7.js → vennDiagram-DHZGUBPP.BdoJskyD.js} +1 -1
  65. package/dist/docs/assets/chunks/wardley-RL74JXVD.CVCRSuQK.js +162 -0
  66. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.nsADqCCo.js → wardleyDiagram-NUSXRM2D.IjIbFn_F.js} +1 -1
  67. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CCwbO3dK.js → xychartDiagram-5P7HB3ND.CPUxDZLH.js} +1 -1
  68. package/dist/docs/assets/{deployment.md.CtSJ6sF9.js → deployment.md.3MMWuPeV.js} +5 -5
  69. package/dist/docs/assets/{deployment.md.CtSJ6sF9.lean.js → deployment.md.3MMWuPeV.lean.js} +1 -1
  70. package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.js → guides_cloud-agents.md.BzbzcOyj.js} +2 -2
  71. package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.lean.js → guides_cloud-agents.md.BzbzcOyj.lean.js} +1 -1
  72. package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.js → guides_opentelemetry.md.Ck1o2frw.js} +11 -3
  73. package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.lean.js → guides_opentelemetry.md.Ck1o2frw.lean.js} +1 -1
  74. package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.js → reference_agent-config.md.IplwL25I.js} +1 -2
  75. package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.lean.js → reference_agent-config.md.IplwL25I.lean.js} +1 -1
  76. package/dist/docs/assets/{reference_extensions.md.OUacPetl.js → reference_extensions.md.DKxTuCIw.js} +11 -8
  77. package/dist/docs/assets/{reference_extensions.md.OUacPetl.lean.js → reference_extensions.md.DKxTuCIw.lean.js} +1 -1
  78. package/dist/docs/assets/{reference_instructions.md.DrcHZXig.js → reference_instructions.md.BYMVxAkw.js} +4 -4
  79. package/dist/docs/assets/{reference_instructions.md.DrcHZXig.lean.js → reference_instructions.md.BYMVxAkw.lean.js} +1 -1
  80. package/dist/docs/assets/{reference_schedules.md.BqWnJES4.js → reference_schedules.md.03Ryy9ca.js} +3 -3
  81. package/dist/docs/assets/{style.Dwls12uf.css → style.nMsabY-V.css} +1 -1
  82. package/dist/docs/assets/templates_agentic-owners.md.CTEnR0jp.js +13 -0
  83. package/dist/docs/assets/{templates_agentic-owners.md.CvmABtia.lean.js → templates_agentic-owners.md.CTEnR0jp.lean.js} +1 -1
  84. package/dist/docs/building-with-agents.html +37 -37
  85. package/dist/docs/deployment.html +42 -42
  86. package/dist/docs/deployment.md +9 -4
  87. package/dist/docs/evals.html +37 -37
  88. package/dist/docs/guides/agent-to-agent.html +37 -37
  89. package/dist/docs/guides/bitbucket.html +37 -37
  90. package/dist/docs/guides/cloud-agents.html +38 -38
  91. package/dist/docs/guides/cloud-agents.md +1 -0
  92. package/dist/docs/guides/convert-automation.html +37 -37
  93. package/dist/docs/guides/export-grokbot.html +37 -37
  94. package/dist/docs/guides/github.html +37 -37
  95. package/dist/docs/guides/gitlab.html +37 -37
  96. package/dist/docs/guides/grokbot-agents.html +37 -37
  97. package/dist/docs/guides/hooks.html +37 -37
  98. package/dist/docs/guides/improve.html +37 -37
  99. package/dist/docs/guides/jev.html +37 -37
  100. package/dist/docs/guides/mcp-oauth.html +37 -37
  101. package/dist/docs/guides/migrate.html +37 -37
  102. package/dist/docs/guides/opentelemetry.html +47 -39
  103. package/dist/docs/guides/opentelemetry.md +48 -2
  104. package/dist/docs/guides/slack.html +37 -37
  105. package/dist/docs/guides/webhooks.html +37 -37
  106. package/dist/docs/hashmap.json +1 -1
  107. package/dist/docs/hillclimbing.html +37 -37
  108. package/dist/docs/index.html +37 -37
  109. package/dist/docs/llms-full.txt +133 -40
  110. package/dist/docs/quickstart.html +37 -37
  111. package/dist/docs/reference/agent-config.html +38 -39
  112. package/dist/docs/reference/agent-config.md +0 -1
  113. package/dist/docs/reference/artifacts.html +37 -37
  114. package/dist/docs/reference/channels.html +37 -37
  115. package/dist/docs/reference/cli.html +37 -37
  116. package/dist/docs/reference/connections.html +37 -37
  117. package/dist/docs/reference/evals.html +37 -37
  118. package/dist/docs/reference/extensions.html +47 -44
  119. package/dist/docs/reference/extensions.md +15 -9
  120. package/dist/docs/reference/hooks.html +37 -37
  121. package/dist/docs/reference/http-api.html +37 -37
  122. package/dist/docs/reference/instructions.html +40 -40
  123. package/dist/docs/reference/instructions.md +5 -1
  124. package/dist/docs/reference/memory.html +37 -37
  125. package/dist/docs/reference/playground.html +36 -36
  126. package/dist/docs/reference/project-layout.html +37 -37
  127. package/dist/docs/reference/prompt.html +37 -37
  128. package/dist/docs/reference/schedules.html +40 -40
  129. package/dist/docs/reference/sessions.html +36 -36
  130. package/dist/docs/reference/skills.html +37 -37
  131. package/dist/docs/reference/subagents.html +37 -37
  132. package/dist/docs/reference/tools.html +37 -37
  133. package/dist/docs/templates/agentic-owners.html +42 -43
  134. package/dist/docs/templates/agentic-owners.md +55 -23
  135. package/dist/docs/templates/grokbot-agents.html +37 -37
  136. package/dist/docs/templates/security-reviewer.html +37 -37
  137. package/dist/docs/templates/thermo-quality-review.html +37 -37
  138. package/dist/docs/templates/thermo-review.html +37 -37
  139. package/dist/docs/templates/triage.html +37 -37
  140. package/dist/docs/troubleshooting.html +36 -36
  141. package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
  142. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  143. package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
  144. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +1 -0
  145. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  146. package/dist/extensions/cursor-cloud-agents/lib/backend.js +2 -1
  147. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  148. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
  149. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
  150. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
  151. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
  152. package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
  153. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  154. package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
  155. package/dist/extensions/cursor-grokbot-agents/extension.js +1 -1
  156. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
  157. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
  158. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
  159. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
  160. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
  161. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
  162. package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
  163. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
  164. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  165. package/dist/extensions/improve/extension.js +1 -1
  166. package/dist/extensions/jev/extension.js +1 -1
  167. package/dist/extensions/jev/tools/evaluate.js +1 -1
  168. package/dist/extensions/slack-communication/extension.js +1 -1
  169. package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
  170. package/dist/extensions/slack-communication/tools/edit-message.js +1 -1
  171. package/dist/extensions/slack-communication/tools/post-card.js +1 -1
  172. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  173. package/dist/extensions/slack-communication/tools/post-update.js +1 -1
  174. package/dist/extensions/slack-communication/tools/react.js +1 -1
  175. package/dist/extensions/slack-communication/tools/set-status.js +1 -1
  176. package/dist/extensions.d.ts +1 -1
  177. package/dist/extensions.js +1 -1
  178. package/dist/internal/builtin-tools/artifacts.js +1 -1
  179. package/dist/internal/builtin-tools/reminders.js +1 -1
  180. package/dist/internal/convert-automation/convert-workflow.js +1 -1
  181. package/dist/internal/convert-grokbot/answers.js +1 -1
  182. package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
  183. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
  184. package/dist/internal/convert-grokbot/recipe.js +1 -1
  185. package/dist/internal/cursor/backend-client.d.ts +1 -1
  186. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  187. package/dist/internal/cursor/backend-client.js +1 -1
  188. package/dist/internal/cursor/credentials.d.ts +1 -1
  189. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  190. package/dist/internal/cursor/credentials.js +1 -1
  191. package/dist/internal/deploy-client.js +1 -1
  192. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  193. package/dist/internal/deploy-manifest.js +2 -1
  194. package/dist/internal/discovery/cursor-plugin.js +1 -1
  195. package/dist/internal/factory-resource-channel.d.ts +1 -1
  196. package/dist/internal/factory-resource-channel.d.ts.map +1 -1
  197. package/dist/internal/filesystem/sdk-schemas.d.ts +1 -1
  198. package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -1
  199. package/dist/internal/filesystem/sdk-schemas.js +1 -1
  200. package/dist/internal/filesystem/tools.js +1 -1
  201. package/dist/internal/host-otel.d.ts +2 -1
  202. package/dist/internal/host-otel.d.ts.map +1 -1
  203. package/dist/internal/host-otel.js +20 -6
  204. package/dist/internal/hosted-delivery-protocol.d.ts +4 -0
  205. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  206. package/dist/internal/hosted-delivery.d.ts +7 -0
  207. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  208. package/dist/internal/hosted-delivery.js +19 -17
  209. package/dist/internal/hosting.d.ts +6 -0
  210. package/dist/internal/hosting.d.ts.map +1 -1
  211. package/dist/internal/hosting.js +9 -0
  212. package/dist/internal/init-scaffold.js +1 -1
  213. package/dist/internal/interview/agent-questions.d.ts +1 -1
  214. package/dist/internal/interview/agent-questions.d.ts.map +1 -1
  215. package/dist/internal/interview/agent-questions.js +1 -1
  216. package/dist/internal/interview/question.d.ts +1 -1
  217. package/dist/internal/interview/question.d.ts.map +1 -1
  218. package/dist/internal/interview/question.js +1 -1
  219. package/dist/internal/json-schema.d.ts +1 -1
  220. package/dist/internal/json-schema.d.ts.map +1 -1
  221. package/dist/internal/json-schema.js +1 -1
  222. package/dist/internal/mcp-endpoint.js +1 -1
  223. package/dist/internal/otel/collector.d.ts.map +1 -1
  224. package/dist/internal/otel/collector.js +47 -18
  225. package/dist/internal/otel/config.d.ts +4 -0
  226. package/dist/internal/otel/config.d.ts.map +1 -1
  227. package/dist/internal/otel/config.js +20 -9
  228. package/dist/internal/otel/http.d.ts +1 -1
  229. package/dist/internal/otel/http.d.ts.map +1 -1
  230. package/dist/internal/otel/http.js +1 -1
  231. package/dist/internal/otel/runtime.d.ts +17 -14
  232. package/dist/internal/otel/runtime.d.ts.map +1 -1
  233. package/dist/internal/otel/runtime.js +181 -238
  234. package/dist/internal/package-inline-stdio.d.ts.map +1 -1
  235. package/dist/internal/package-inline-stdio.js +1 -0
  236. package/dist/internal/process-memory-telemetry.d.ts +1 -1
  237. package/dist/internal/process-memory-telemetry.d.ts.map +1 -1
  238. package/dist/internal/process-memory-telemetry.js +1 -1
  239. package/dist/internal/sdk-runner.d.ts.map +1 -1
  240. package/dist/internal/sdk-runner.js +22 -2
  241. package/dist/internal/server.d.ts.map +1 -1
  242. package/dist/internal/server.js +25 -13
  243. package/dist/internal/session-engine.d.ts +9 -1
  244. package/dist/internal/session-engine.d.ts.map +1 -1
  245. package/dist/internal/session-engine.js +25 -0
  246. package/dist/internal/slack-provision-client.js +1 -1
  247. package/dist/internal/store-api-protocol.d.ts +1 -1
  248. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  249. package/dist/internal/store-api-protocol.js +1 -1
  250. package/dist/internal/update-check.d.ts +1 -1
  251. package/dist/internal/update-check.d.ts.map +1 -1
  252. package/dist/internal/update-check.js +1 -1
  253. package/dist/otel.d.ts +1 -2
  254. package/dist/otel.d.ts.map +1 -1
  255. package/dist/otel.js +0 -1
  256. package/dist/playground/assets/index-DKKdkF29.js +62 -0
  257. package/dist/playground/assets/index-DpKinTMs.css +1 -0
  258. package/dist/playground/index.html +2 -2
  259. package/dist/tools.d.ts +2 -2
  260. package/dist/tools.d.ts.map +1 -1
  261. package/dist/tools.js +1 -1
  262. package/dist/types.d.ts +1 -1
  263. package/dist/types.d.ts.map +1 -1
  264. package/docs/deployment.md +9 -4
  265. package/docs/guides/cloud-agents.md +1 -0
  266. package/docs/guides/opentelemetry.md +48 -2
  267. package/docs/reference/agent-config.md +0 -1
  268. package/docs/reference/extensions.md +15 -9
  269. package/docs/reference/instructions.md +5 -1
  270. package/docs/templates/agentic-owners.md +55 -23
  271. package/package.json +18 -20
  272. package/skills/otel/SKILL.md +17 -4
  273. package/dist/docs/assets/chunks/@localSearchIndexroot.B3j7LFef.js +0 -1
  274. package/dist/docs/assets/chunks/channel.RoCpi7X1.js +0 -1
  275. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.oxdmwwqk.js +0 -1
  276. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.oxdmwwqk.js +0 -1
  277. package/dist/docs/assets/chunks/clone.BkguoIMm.js +0 -1
  278. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.7W-btjJ2.js +0 -1
  279. package/dist/docs/assets/chunks/wardley-RL74JXVD.BWPaUhOs.js +0 -162
  280. package/dist/docs/assets/templates_agentic-owners.md.CvmABtia.js +0 -14
  281. package/dist/playground/assets/index-BtsbIqV9.css +0 -1
  282. package/dist/playground/assets/index-CD8VRa25.js +0 -71
  283. /package/dist/docs/assets/{reference_schedules.md.BqWnJES4.lean.js → reference_schedules.md.03Ryy9ca.lean.js} +0 -0
@@ -6,45 +6,45 @@
6
6
  <title>Fix common agent problems | Bot Development Kit (BDK)</title>
7
7
  <meta name="description" content="Match the symptom to one corrective action, then inspect the session trace when the first fix is not enough.">
8
8
  <meta name="generator" content="VitePress v1.6.4">
9
- <link rel="preload stylesheet" href="/docs/assets/style.Dwls12uf.css" as="style">
9
+ <link rel="preload stylesheet" href="/docs/assets/style.nMsabY-V.css" as="style">
10
10
  <link rel="preload stylesheet" href="/docs/vp-icons.css" as="style">
11
11
 
12
- <script type="module" src="/docs/assets/app.AXQcJZaf.js"></script>
12
+ <script type="module" src="/docs/assets/app.DTIg0uKK.js"></script>
13
13
  <link rel="preload" href="/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
14
14
  <link rel="modulepreload" href="/docs/assets/chunks/framework.BNw1pucY.js">
15
- <link rel="modulepreload" href="/docs/assets/chunks/theme.CBW1oolh.js">
15
+ <link rel="modulepreload" href="/docs/assets/chunks/theme.DJo4my9R.js">
16
16
  <link rel="modulepreload" href="/docs/assets/chunks/katex.DkKDou_j.js">
17
- <link rel="modulepreload" href="/docs/assets/chunks/dagre-KV5264BT.CSf3tihh.js">
18
- <link rel="modulepreload" href="/docs/assets/chunks/cose-bilkent-S5V4N54A.D18MEcoN.js">
19
- <link rel="modulepreload" href="/docs/assets/chunks/c4Diagram-AHTNJAMY.9POrbDHJ.js">
20
- <link rel="modulepreload" href="/docs/assets/chunks/flowDiagram-DWJPFMVM.CJqQJjkb.js">
21
- <link rel="modulepreload" href="/docs/assets/chunks/erDiagram-SMLLAGMA.DaBmX_GN.js">
22
- <link rel="modulepreload" href="/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.CDgentto.js">
23
- <link rel="modulepreload" href="/docs/assets/chunks/ganttDiagram-T4ZO3ILL.CIXBLQhC.js">
24
- <link rel="modulepreload" href="/docs/assets/chunks/infoDiagram-42DDH7IO.d9VU_ts_.js">
25
- <link rel="modulepreload" href="/docs/assets/chunks/pieDiagram-DEJITSTG.BIhkDLcB.js">
26
- <link rel="modulepreload" href="/docs/assets/chunks/quadrantDiagram-34T5L4WZ.Bw-_VEL3.js">
27
- <link rel="modulepreload" href="/docs/assets/chunks/xychartDiagram-5P7HB3ND.CCwbO3dK.js">
28
- <link rel="modulepreload" href="/docs/assets/chunks/requirementDiagram-MS252O5E.DolEGwxw.js">
29
- <link rel="modulepreload" href="/docs/assets/chunks/sequenceDiagram-FGHM5R23.Bg_CRVDy.js">
30
- <link rel="modulepreload" href="/docs/assets/chunks/classDiagram-6PBFFD2Q.oxdmwwqk.js">
31
- <link rel="modulepreload" href="/docs/assets/chunks/classDiagram-v2-HSJHXN6E.oxdmwwqk.js">
32
- <link rel="modulepreload" href="/docs/assets/chunks/stateDiagram-FHFEXIEX.DNWdl34_.js">
33
- <link rel="modulepreload" href="/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.7W-btjJ2.js">
34
- <link rel="modulepreload" href="/docs/assets/chunks/journeyDiagram-VCZTEJTY.CPgUTM1R.js">
35
- <link rel="modulepreload" href="/docs/assets/chunks/timeline-definition-GMOUNBTQ.Cr1wJ1mB.js">
36
- <link rel="modulepreload" href="/docs/assets/chunks/mindmap-definition-QFDTVHPH.BRlJXuFS.js">
37
- <link rel="modulepreload" href="/docs/assets/chunks/kanban-definition-6JOO6SKY.idl0Eoe1.js">
38
- <link rel="modulepreload" href="/docs/assets/chunks/sankeyDiagram-XADWPNL6.hMM-8BhN.js">
39
- <link rel="modulepreload" href="/docs/assets/chunks/diagram-TYMM5635.B9baAjUv.js">
40
- <link rel="modulepreload" href="/docs/assets/chunks/diagram-MMDJMWI5.B9HAIfN6.js">
41
- <link rel="modulepreload" href="/docs/assets/chunks/blockDiagram-DXYQGD6D.BmHm9OH5.js">
42
- <link rel="modulepreload" href="/docs/assets/chunks/diagram-5BDNPKRD.cbfzAfoC.js">
43
- <link rel="modulepreload" href="/docs/assets/chunks/architectureDiagram-Q4EWVU46.BfGzkBHI.js">
44
- <link rel="modulepreload" href="/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.BNO79Prj.js">
45
- <link rel="modulepreload" href="/docs/assets/chunks/vennDiagram-DHZGUBPP.BltDV9j7.js">
46
- <link rel="modulepreload" href="/docs/assets/chunks/diagram-G4DWMVQ6.6i6P3uu9.js">
47
- <link rel="modulepreload" href="/docs/assets/chunks/wardleyDiagram-NUSXRM2D.nsADqCCo.js">
17
+ <link rel="modulepreload" href="/docs/assets/chunks/dagre-KV5264BT.BIECOiqR.js">
18
+ <link rel="modulepreload" href="/docs/assets/chunks/cose-bilkent-S5V4N54A.Cqyp4BUH.js">
19
+ <link rel="modulepreload" href="/docs/assets/chunks/c4Diagram-AHTNJAMY.8nkAAxWv.js">
20
+ <link rel="modulepreload" href="/docs/assets/chunks/flowDiagram-DWJPFMVM.ZMgbllH6.js">
21
+ <link rel="modulepreload" href="/docs/assets/chunks/erDiagram-SMLLAGMA.A0yVIANn.js">
22
+ <link rel="modulepreload" href="/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.BOkL0BbA.js">
23
+ <link rel="modulepreload" href="/docs/assets/chunks/ganttDiagram-T4ZO3ILL.BCCPBhXo.js">
24
+ <link rel="modulepreload" href="/docs/assets/chunks/infoDiagram-42DDH7IO.CjG1IiEw.js">
25
+ <link rel="modulepreload" href="/docs/assets/chunks/pieDiagram-DEJITSTG.B7851apI.js">
26
+ <link rel="modulepreload" href="/docs/assets/chunks/quadrantDiagram-34T5L4WZ.CEqyypIX.js">
27
+ <link rel="modulepreload" href="/docs/assets/chunks/xychartDiagram-5P7HB3ND.CPUxDZLH.js">
28
+ <link rel="modulepreload" href="/docs/assets/chunks/requirementDiagram-MS252O5E.C3Mwsw-H.js">
29
+ <link rel="modulepreload" href="/docs/assets/chunks/sequenceDiagram-FGHM5R23.SiQPH-XM.js">
30
+ <link rel="modulepreload" href="/docs/assets/chunks/classDiagram-6PBFFD2Q.C55IaN-T.js">
31
+ <link rel="modulepreload" href="/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C55IaN-T.js">
32
+ <link rel="modulepreload" href="/docs/assets/chunks/stateDiagram-FHFEXIEX.CTJMsP4p.js">
33
+ <link rel="modulepreload" href="/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DddRVjeq.js">
34
+ <link rel="modulepreload" href="/docs/assets/chunks/journeyDiagram-VCZTEJTY.3WyOK_eY.js">
35
+ <link rel="modulepreload" href="/docs/assets/chunks/timeline-definition-GMOUNBTQ.CxSNRlQ6.js">
36
+ <link rel="modulepreload" href="/docs/assets/chunks/mindmap-definition-QFDTVHPH.DMGgQ-HB.js">
37
+ <link rel="modulepreload" href="/docs/assets/chunks/kanban-definition-6JOO6SKY.WoRG2qY1.js">
38
+ <link rel="modulepreload" href="/docs/assets/chunks/sankeyDiagram-XADWPNL6.DyYK0XxY.js">
39
+ <link rel="modulepreload" href="/docs/assets/chunks/diagram-TYMM5635.Bho6GmLh.js">
40
+ <link rel="modulepreload" href="/docs/assets/chunks/diagram-MMDJMWI5.BSZ7xiBB.js">
41
+ <link rel="modulepreload" href="/docs/assets/chunks/blockDiagram-DXYQGD6D.DFMu-Vza.js">
42
+ <link rel="modulepreload" href="/docs/assets/chunks/diagram-5BDNPKRD.1tLyWoTg.js">
43
+ <link rel="modulepreload" href="/docs/assets/chunks/architectureDiagram-Q4EWVU46.BMrNJqYk.js">
44
+ <link rel="modulepreload" href="/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.UCe-kq9g.js">
45
+ <link rel="modulepreload" href="/docs/assets/chunks/vennDiagram-DHZGUBPP.BdoJskyD.js">
46
+ <link rel="modulepreload" href="/docs/assets/chunks/diagram-G4DWMVQ6.BVY_6VMO.js">
47
+ <link rel="modulepreload" href="/docs/assets/chunks/wardleyDiagram-NUSXRM2D.IjIbFn_F.js">
48
48
  <link rel="modulepreload" href="/docs/assets/chunks/virtual_mermaid-config.DDnGl6nM.js">
49
49
  <link rel="modulepreload" href="/docs/assets/troubleshooting.md.DFnoTDlQ.lean.js">
50
50
  <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
@@ -53,8 +53,8 @@
53
53
  <link rel="alternate" type="text/markdown" href="/docs/troubleshooting.md">
54
54
  </head>
55
55
  <body>
56
- <div id="app"><div class="Layout" data-v-5ebc75e4><!--[--><!--]--><!--[--><span tabindex="-1" data-v-7de63af3></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-7de63af3>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5ebc75e4 data-v-e8579816><div class="VPNavBar" data-v-e8579816 data-v-bbf4446f><div class="wrapper" data-v-bbf4446f><div class="container" data-v-bbf4446f><div class="title" data-v-bbf4446f><div class="VPNavBarTitle has-sidebar" data-v-bbf4446f data-v-ebd5f04e><a class="title" href="/docs/" data-v-ebd5f04e><!--[--><!--]--><!----><span data-v-ebd5f04e>Bot Development Kit (BDK)</span><!--[--><!--[--><!--[--><!--[--><span class="bdk-version" title="BDK 0.2.23 (@cursor/bdk package)" data-v-d89e5038>0.2.23</span><!--]--><!--]--><!--]--><!--]--></a></div></div><div class="content" data-v-bbf4446f><div class="content-body" data-v-bbf4446f><!--[--><!--]--><div class="VPNavBarSearch search" data-v-bbf4446f><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-bbf4446f data-v-7fa90d1c><span id="main-nav-aria-label" class="visually-hidden" data-v-7fa90d1c> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/quickstart.html" tabindex="0" data-v-7fa90d1c data-v-8d7ed182><!--[--><span data-v-8d7ed182>Quickstart</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/mcp-oauth.html" tabindex="0" data-v-7fa90d1c data-v-8d7ed182><!--[--><span data-v-8d7ed182>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/github.html" tabindex="0" data-v-7fa90d1c data-v-8d7ed182><!--[--><span data-v-8d7ed182>Integrations</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/templates/security-reviewer.html" tabindex="0" data-v-7fa90d1c data-v-8d7ed182><!--[--><span data-v-8d7ed182>Templates</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/reference/project-layout.html" tabindex="0" data-v-7fa90d1c data-v-8d7ed182><!--[--><span data-v-8d7ed182>Reference</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-bbf4446f data-v-6a44a4fa><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6a44a4fa data-v-b541f24b data-v-a48af969><span class="check" data-v-a48af969><span class="icon" data-v-a48af969><!--[--><span class="vpi-sun sun" data-v-b541f24b></span><span class="vpi-moon moon" data-v-b541f24b></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-bbf4446f data-v-8d21ceac data-v-269c0ea1><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-269c0ea1><span class="vpi-more-horizontal icon" data-v-269c0ea1></span></button><div class="menu" data-v-269c0ea1><div class="VPMenu" data-v-269c0ea1 data-v-ab92b832><!----><!--[--><!--[--><!----><div class="group" data-v-8d21ceac><div class="item appearance" data-v-8d21ceac><p class="label" data-v-8d21ceac>Appearance</p><div class="appearance-action" data-v-8d21ceac><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-8d21ceac data-v-b541f24b data-v-a48af969><span class="check" data-v-a48af969><span class="icon" data-v-a48af969><!--[--><span class="vpi-sun sun" data-v-b541f24b></span><span class="vpi-moon moon" data-v-b541f24b></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-bbf4446f data-v-efff335d><span class="container" data-v-efff335d><span class="top" data-v-efff335d></span><span class="middle" data-v-efff335d></span><span class="bottom" data-v-efff335d></span></span></button></div></div></div></div><div class="divider" data-v-bbf4446f><div class="divider-line" data-v-bbf4446f></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5ebc75e4 data-v-636a9279><div class="container" data-v-636a9279><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-636a9279><span class="vpi-align-left menu-icon" data-v-636a9279></span><span class="menu-text" data-v-636a9279>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-636a9279 data-v-ae38d8b4><button data-v-ae38d8b4>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5ebc75e4 data-v-f102723c><div class="curtain" data-v-f102723c></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-f102723c><span class="visually-hidden" id="sidebar-aria-label" data-v-f102723c> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-9c447dd5><section class="VPSidebarItem level-0" data-v-9c447dd5 data-v-8ccd545c><div class="item" role="button" tabindex="0" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><h2 class="text" data-v-8ccd545c>Getting started</h2><!----></div><div class="items" data-v-8ccd545c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/quickstart.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Building your first agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-9c447dd5><section class="VPSidebarItem level-0 collapsible" data-v-9c447dd5 data-v-8ccd545c><div class="item" role="button" tabindex="0" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><h2 class="text" data-v-8ccd545c>Integrations</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8ccd545c><span class="vpi-chevron-right caret-icon" data-v-8ccd545c></span></div></div><div class="items" data-v-8ccd545c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/github.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>GitHub</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/slack.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Slack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/webhooks.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Webhooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/convert-automation.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Cursor Automations</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/opentelemetry.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>OpenTelemetry</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/gitlab.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>GitLab</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/bitbucket.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Bitbucket</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-9c447dd5><section class="VPSidebarItem level-0 collapsible" data-v-9c447dd5 data-v-8ccd545c><div class="item" role="button" tabindex="0" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><h2 class="text" data-v-8ccd545c>Extensions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8ccd545c><span class="vpi-chevron-right caret-icon" data-v-8ccd545c></span></div></div><div class="items" data-v-8ccd545c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/extensions.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/cloud-agents.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Cloud agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/grokbot-agents.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/improve.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Self-improvement</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/jev.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Jev</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-9c447dd5><section class="VPSidebarItem level-0 collapsible has-active" data-v-9c447dd5 data-v-8ccd545c><div class="item" role="button" tabindex="0" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><h2 class="text" data-v-8ccd545c>Guides</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8ccd545c><span class="vpi-chevron-right caret-icon" data-v-8ccd545c></span></div></div><div class="items" data-v-8ccd545c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/mcp-oauth.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>MCP</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/hooks.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/agent-to-agent.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Peer agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/deployment.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/export-grokbot.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Export a Grok Bot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/guides/migrate.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Early-alpha migration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/evals.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/hillclimbing.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Hillclimbing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/building-with-agents.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Build with a coding agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/troubleshooting.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Troubleshooting</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-9c447dd5><section class="VPSidebarItem level-0 collapsible" data-v-9c447dd5 data-v-8ccd545c><div class="item" role="button" tabindex="0" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><h2 class="text" data-v-8ccd545c>Templates</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8ccd545c><span class="vpi-chevron-right caret-icon" data-v-8ccd545c></span></div></div><div class="items" data-v-8ccd545c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/templates/grokbot-agents.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/templates/security-reviewer.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Security reviewer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/templates/thermo-review.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Thermo review</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/templates/thermo-quality-review.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Thermo quality review</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/templates/agentic-owners.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Agentic Approver</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/templates/triage.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Triage agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-9c447dd5><section class="VPSidebarItem level-0 collapsible" data-v-9c447dd5 data-v-8ccd545c><div class="item" role="button" tabindex="0" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><h2 class="text" data-v-8ccd545c>Reference</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8ccd545c><span class="vpi-chevron-right caret-icon" data-v-8ccd545c></span></div></div><div class="items" data-v-8ccd545c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/project-layout.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Project layout</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/agent-config.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Agent config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/instructions.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Instructions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/tools.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Tools</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/prompt.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>prompt</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/skills.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Skills</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/connections.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>MCP Connections</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/subagents.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Subagents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/channels.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/schedules.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Schedules & reminders</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/hooks.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/memory.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Memory</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/evals.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/artifacts.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Artifacts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/sessions.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Sessions & streaming</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/playground.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>Playground</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/cli.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>CLI</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8ccd545c><div class="item" data-v-8ccd545c><div class="indicator" data-v-8ccd545c></div><a class="VPLink link link" href="/docs/reference/http-api.html" data-v-8ccd545c><!--[--><p class="text" data-v-8ccd545c>HTTP API</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5ebc75e4 data-v-4ab733be><div class="VPDoc has-sidebar has-aside" data-v-4ab733be data-v-4e7466dc><!--[--><!--]--><div class="container" data-v-4e7466dc><div class="aside" data-v-4e7466dc><div class="aside-curtain" data-v-4e7466dc></div><div class="aside-container" data-v-4e7466dc><div class="aside-content" data-v-4e7466dc><div class="VPDocAside" data-v-4e7466dc data-v-4f3f9a30><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-4f3f9a30 data-v-aacbb3fc><div class="content" data-v-aacbb3fc><div class="outline-marker" data-v-aacbb3fc></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-aacbb3fc>On this page</div><ul class="VPDocOutlineItem root" data-v-aacbb3fc data-v-0ffefe2a><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-4f3f9a30></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-4e7466dc><div class="content-container" data-v-4e7466dc><!--[--><!--]--><main class="main" data-v-4e7466dc><div style="position:relative;" class="vp-doc _docs_troubleshooting" data-v-4e7466dc><div><h1 id="fix-common-agent-problems" tabindex="-1">Fix common agent problems <a class="header-anchor" href="#fix-common-agent-problems" aria-label="Permalink to &quot;Fix common agent problems&quot;">​</a></h1><p>Start with three checks:</p><ol><li>Run <code>bdk validate --dir .</code>.</li><li>Confirm the expected agent and connections in <code>bdk info --dir . --json</code>.</li><li>Reproduce once, then inspect the serve log or session trace.</li></ol><p>Match the visible symptom below.</p><h2 id="serve-or-the-playground-will-not-work" tabindex="-1">Serve or the playground will not work <a class="header-anchor" href="#serve-or-the-playground-will-not-work" aria-label="Permalink to &quot;Serve or the playground will not work&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>serve</code> exits before listening</td><td>Fix the errors from <code>bdk validate --dir .</code>, then start it again.</td></tr><tr><td>Playground is blank or says there are no agents</td><td>Start <code>bdk serve</code>; built playground assets have no agent data without the server.</td></tr><tr><td>Agent-file edits do not appear</td><td>Open the URL printed by <code>serve --dev</code>, then press Enter in its TTY to reload after file changes.</td></tr><tr><td>Sessions exist but the list is empty</td><td>The list is scoped to the authenticated principal. Use the same identity that created the session; a <code>?sessionId=</code> deep link does not bypass authorization.</td></tr><tr><td>The preferred port is busy</td><td>Use the next port printed by the CLI, pass <code>--port &lt;number&gt;</code>, or pass <code>--port 0</code> for any free port.</td></tr></tbody></table><h2 id="a-model-turn-fails" tabindex="-1">A model turn fails <a class="header-anchor" href="#a-model-turn-fails" aria-label="Permalink to &quot;A model turn fails&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>File reads and greps fail repeatedly with <code>NGHTTP2_FRAME_SIZE_ERROR</code></td><td>Run the agent under Node 22.13 or newer, never Bun.</td></tr><tr><td>The turn immediately reports a missing API key</td><td>Set <code>CURSOR_API_KEY</code>, <code>CURSOR_API_KEY_FILE</code>, or <code>CURSOR_SERVICE_ACCOUNT_KEY</code>, or run <code>bdk login</code>.</td></tr><tr><td>Login succeeds but the model host rejects the key</td><td>Point login and model traffic at the same API host; check <code>CURSOR_API_BASE_URL</code> and <code>CURSOR_BACKEND_URL</code>.</td></tr><tr><td>The first turn reports <code>[resource_exhausted]</code></td><td>Treat it as a capacity-shaped error. For a GitHub wake, also check the connected GitHub credential and any GitHub <code>429</code> rate limit before assuming the model quota is exhausted.</td></tr></tbody></table><h2 id="a-turn-behaves-unexpectedly" tabindex="-1">A turn behaves unexpectedly <a class="header-anchor" href="#a-turn-behaves-unexpectedly" aria-label="Permalink to &quot;A turn behaves unexpectedly&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>Replies quote an ancestor <code>AGENTS.md</code> or unrelated repository rules</td><td>Inspect <code>local.cwd</code> in <code>/v1/info</code>. Set <code>defineAgent({ local: { cwd } })</code> or the session workspace explicitly instead of inheriting the parent checkout.</td></tr><tr><td>The model lists IDE meta-tools but never calls named MCP tools</td><td>Set <code>advertiseTools: true</code> on the local model-visible connection and confirm it under <code>connections</code> in <code>/v1/info</code>.</td></tr><tr><td>Server tools, skills, or seed files are absent</td><td>Check the discovered project in <code>/v1/info</code>; follow the capability warning from <code>validate</code>.</td></tr><tr><td><code>validate</code> and <code>run</code> pass but CI type-checking fails</td><td>Run the project type check. Tool results must be JSON-shaped; prefer object literals or <code>type</code> aliases over <code>interface</code> return types.</td></tr></tbody></table><h2 id="http-returns-401-403-or-409" tabindex="-1">HTTP returns 401, 403, or 409 <a class="header-anchor" href="#http-returns-401-403-or-409" aria-label="Permalink to &quot;HTTP returns 401, 403, or 409&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>401</code> outside local development</td><td>Send the configured bearer token, alias token, or channel credential. Default custom routes admit direct loopback only.</td></tr><tr><td><code>403</code> on a stream or follow-up</td><td>Use the same authenticated principal that created the session.</td></tr><tr><td>A custom channel route fails through a tunnel or LAN</td><td>Protect the shared host with <code>--bearer-token</code> or authored channel auth. Use <code>--allow-anonymous</code> only behind a proxy that authenticates every caller.</td></tr><tr><td><code>409</code> on a follow-up</td><td>Refresh the rotating <code>continuationToken</code> and confirm the target is a chat session; task sessions do not accept follow-ups.</td></tr><tr><td><code>409 session_busy</code> from <code>call --session</code></td><td>Wait for the turn, omit <code>--session</code>, or mark a read-only tool with <code>effect: &quot;read&quot;</code> so it can run concurrently.</td></tr><tr><td>A custom route fails schema type-checking</td><td>Add the required Zod <code>querySchema</code> for <code>GET</code>, or <code>bodySchema</code> for <code>POST</code>, <code>PUT</code>, and <code>PATCH</code>. See <a href="./reference/channels.html">Channels</a>.</td></tr></tbody></table><h2 id="a-hosted-deployment-fails-or-looks-stale" tabindex="-1">A hosted deployment fails or looks stale <a class="header-anchor" href="#a-hosted-deployment-fails-or-looks-stale" aria-label="Permalink to &quot;A hosted deployment fails or looks stale&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>validate</code> or <code>deploy</code> reports <code>architecture &quot;v2&quot; requires a named secret</code></td><td>A <code>githubChannel</code> credential or a GitLab or Bitbucket <code>webhookSecret</code> is a literal or a getter. Replace it with the quoted <code>{ secretName: &quot;NAME&quot; }</code> and set the value with <code>bdk secrets set &lt;slug&gt; NAME</code>. See <a href="./guides/github.html#other-hosts">Other hosts</a>.</td></tr><tr><td>Local changes do not appear after deploy</td><td><code>deploy</code> reads a pushed Git ref, not the working tree. Commit and push the intended ref, then deploy it again.</td></tr><tr><td>The deployment never becomes running</td><td>Run <code>bdk deployment &lt;slug&gt;</code>, then act on the reported build or startup error.</td></tr><tr><td>A secret or egress change has no effect</td><td>Confirm the name with <code>secrets list</code>, verify the <code>hosting</code> block exists on the pushed ref, and follow the CLI or dashboard prompt to redeploy.</td></tr><tr><td>Cursor events stopped after redeploy</td><td>Each redeploy replaces the watched repositories. Pass every <code>--cursor-events-repo</code> value again; without the flag, the deployment watches only its GitHub source repository.</td></tr><tr><td><code>run --prod</code> prints a <code>deliveryId</code> but no <code>sessionId</code></td><td>Expected, with or without <code>--dry-run</code>: the session is created when the turn starts. Find it with <code>bdk logs --prod --once --slug &lt;slug&gt;</code>, then follow <a href="./deployment.html#verify-a-hosted-turn">Verify a hosted turn</a>.</td></tr><tr><td><code>session &lt;sessionId&gt; --prod</code> shows a <code>running</code> run with no logs</td><td>Runs lag behind events, and a high-effort turn can take several minutes. Rerun the command; a growing event count means the turn is still working.</td></tr><tr><td>A dashboard link to a single session doesn&#39;t open</td><td>Check the session with <code>bdk session &lt;sessionId&gt; --prod --slug &lt;slug&gt;</code>.</td></tr><tr><td><code>chat</code>, <code>call</code>, <code>sessions</code>, <code>cost</code>, or <code>mcp</code> with <code>--prod</code> says the command is not supported</td><td>Hosted deployments accept <code>--prod</code> only on <code>run</code>, <code>session</code>, <code>logs</code>, and <code>playground</code>. See <a href="./deployment.html#verify-a-hosted-turn">Verify a hosted turn</a>.</td></tr><tr><td><code>run --prod --session &lt;sessionId&gt;</code> reports the session belongs to another channel</td><td><code>--session</code> continues only sessions that <code>run --prod</code> or <code>session --prod</code> started. Reach Slack, SCM, and custom-route sessions through their own channel.</td></tr><tr><td>A custom route returns <code>202</code> with no body</td><td>Expected on managed hosting. The handler runs after the response, so deliver results from the channel. See <a href="./reference/channels.html#route-responses">Route responses</a>.</td></tr><tr><td>External HTTP rejects the alias token</td><td>Update the caller with the current token. If the token is lost or exposed, run <code>bdk rotate-token &lt;slug&gt;</code> and replace it everywhere.</td></tr><tr><td><code>deploy</code>, a hosted session, or an eval run says it is not available with Privacy Mode (Legacy)</td><td>Switch to Privacy Mode, or ask a team admin if your team enforces this setting. A refused session does not store the message. See <a href="./deployment.html#privacy-mode">Privacy Mode</a>.</td></tr><tr><td><code>deploy</code> says persistent deployments are limited to 1 per team</td><td>Another deployment of the team already sets <code>persistent: true</code>. Remove the setting from one agent, or delete that deployment.</td></tr><tr><td>A schedule does not fire on the hosted deployment</td><td>Make sure the deployment is running and its release has the schedule. Deploy again with <code>@cursor/bdk</code> 0.2.14 or newer.</td></tr><tr><td>A request to a custom route gets <code>429</code></td><td>The deployment received more requests than its limit. Wait for the time in <code>Retry-After</code>, then send the request again.</td></tr></tbody></table><p>See <a href="./deployment.html">Deployment</a> for source, credential, and redeployment boundaries.</p><h2 id="github-deliveries-fail" tabindex="-1">GitHub deliveries fail <a class="header-anchor" href="#github-deliveries-fail" aria-label="Permalink to &quot;GitHub deliveries fail&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>github forward</code> returns 401 on every delivery after creating the hook</td><td>Clear <code>GITHUB_TOKEN</code> and <code>GH_TOKEN</code> for that command so the forwarder uses the <code>gh</code> CLI login: <code>GITHUB_TOKEN= GH_TOKEN= bdk github forward ...</code>.</td></tr><tr><td><code>Hook already exists</code></td><td>Run one forwarder for the repository and stop the stale process.</td></tr><tr><td>Direct webhook deliveries are rejected outside <code>--dev</code></td><td>Configure the same <code>GITHUB_WEBHOOK_SECRET</code> on the signer and server. Cursor event pull needs no public webhook or webhook secret.</td></tr><tr><td>You cannot create a forwarder</td><td>Use <code>bdk github replay &lt;pr-url&gt;</code>; it needs pull access instead of repository administration.</td></tr></tbody></table><p>The <a href="./guides/github.html">GitHub guide</a> covers event pull, replay, and direct webhooks.</p><h2 id="slack-does-not-respond" tabindex="-1">Slack does not respond <a class="header-anchor" href="#slack-does-not-respond" aria-label="Permalink to &quot;Slack does not respond&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>Logs say <code>channel idle ... missing credentials</code></td><td>Run <code>bdk slack create --dir &lt;agent&gt;</code>, then check the generated prefix with <code>bdk slack doctor</code>. Use <code>slack init --manual</code> only for an app you own.</td></tr><tr><td><code>slack create</code> is waiting for workspace approval</td><td>Keep the CLI running, open the <strong>Request approval</strong> link it prints, and select <strong>Retry</strong> in the dashboard&#39;s <strong>Add Slack</strong> wizard after an admin approves. See <a href="./guides/slack.html#connect">Slack</a>.</td></tr><tr><td>The bot ignores ordinary channel posts</td><td>Configure <code>engagement.channelPosts</code>, create the app with <code>--channel-posts</code>, and invite it to every allowed channel.</td></tr></tbody></table><p>See the <a href="./guides/slack.html">Slack guide</a> for app setup and engagement choices.</p><h2 id="mcp-authorization-fails" tabindex="-1">MCP authorization fails <a class="header-anchor" href="#mcp-authorization-fails" aria-label="Permalink to &quot;MCP authorization fails&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>must be defineConnection({ url, oauth: true })</code></td><td>Add <code>oauth: true</code> to the named URL connection or correct the connection filename passed to <code>mcp oauth</code>.</td></tr><tr><td>Local auth works but hosted calls return unauthorized</td><td>Locally stored OAuth tokens don&#39;t reach a deployment. Use a <code>cursorAccount: true</code> connection and connect the server from <strong>Deployed Agents</strong> in the dashboard. See <a href="./guides/mcp-oauth.html#use-an-oauth-server-from-a-hosted-agent">Host MCP OAuth</a>.</td></tr><tr><td>The model invents <code>mcp_auth</code> instead of calling the server</td><td>Set <code>advertiseTools: true</code> for named local tools, or expose a host-side wrapper through <code>ctx.host.mcp</code>.</td></tr></tbody></table><p>See <a href="./guides/mcp-oauth.html">Host MCP OAuth</a> for the credential lifecycle.</p><h2 id="schedules-or-reminders-stall" tabindex="-1">Schedules or reminders stall <a class="header-anchor" href="#schedules-or-reminders-stall" aria-label="Permalink to &quot;Schedules or reminders stall&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>A schedule or reminder never fires under <code>--dev</code></td><td>Trigger it through the matching <code>/v1/dev/schedules/&lt;id&gt;</code> or <code>/v1/dev/reminders/&lt;id&gt;</code> route; development mode does not auto-fire.</td></tr><tr><td>A reminder is disarmed with <code>handler_lost_on_restart</code></td><td>Recreate handler-form reminders after restart, or use a prompt-form reminder.</td></tr><tr><td>The same schedule fires on several self-hosted processes</td><td>Enable schedules on one serving process per project and pass <code>--no-schedules</code> to the others.</td></tr></tbody></table><h2 id="a-credential-was-exposed" tabindex="-1">A credential was exposed <a class="header-anchor" href="#a-credential-was-exposed" aria-label="Permalink to &quot;A credential was exposed&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>A secret value appears in a command, transcript, or shell history</td><td>Rotate it at the provider, set it again through hidden input or stdin, and test the feature.</td></tr><tr><td>An alias token appears outside its secure destination</td><td>Run <code>bdk rotate-token &lt;slug&gt;</code>, store the new value outside transcripts, and update every caller.</td></tr><tr><td>Someone printed a secret to verify it</td><td>Rotate it. Confirm only the name with <code>bdk secrets list &lt;slug&gt;</code>, then redeploy and exercise the feature.</td></tr></tbody></table><h2 id="read-the-session-trace" tabindex="-1">Read the session trace <a class="header-anchor" href="#read-the-session-trace" aria-label="Permalink to &quot;Read the session trace&quot;">​</a></h2><p>Start with <code>actions.requested</code> and <code>action.result</code>. Count calls by tool name, pair every request with its result, and separate host preparation from tools chosen by the model.</p><p><code>turn.failed</code> with <code>turn interrupted</code> usually means a follow-up or stop ended the turn deliberately. Other failures should have an error event near the tool or model boundary that produced them.</p><p>Use the trace path printed by <code>bdk run</code>:</p><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>bdk trajectory --events &lt;trace-path&gt;</span></span></code></pre></div><p>The playground&#39;s <strong>Open trace</strong> control renders the same trajectory. When the agent runs but makes poor decisions, move from diagnosis to a measured <a href="./hillclimbing.html">hillclimb</a>.</p><h2 id="related" tabindex="-1">Related <a class="header-anchor" href="#related" aria-label="Permalink to &quot;Related&quot;">​</a></h2><ul><li><a href="./deployment.html">Deployment</a>: hosted and self-hosted boundaries</li><li><a href="./reference/sessions.html">Sessions</a>: session ownership and event vocabulary</li><li><a href="./reference/cli.html">CLI reference</a>: command flags and exit behavior</li></ul></div></div></main><footer class="VPDocFooter" data-v-4e7466dc data-v-5e6607d6><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5e6607d6><span class="visually-hidden" id="doc-footer-aria-label" data-v-5e6607d6>Pager</span><div class="pager" data-v-5e6607d6><a class="VPLink link pager-link prev" href="/docs/building-with-agents.html" data-v-5e6607d6><!--[--><span class="desc" data-v-5e6607d6>Previous page</span><span class="title" data-v-5e6607d6>Build with a coding agent</span><!--]--></a></div><div class="pager" data-v-5e6607d6><a class="VPLink link pager-link next" href="/docs/templates/grokbot-agents.html" data-v-5e6607d6><!--[--><span class="desc" data-v-5e6607d6>Next page</span><span class="title" data-v-5e6607d6>Grok Bot agents</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
57
- <script>window.__VP_HASH_MAP__=JSON.parse("{\"building-with-agents.md\":\"FZXrY8Nk\",\"deployment.md\":\"CtSJ6sF9\",\"evals.md\":\"CHR34K1Y\",\"guides_agent-to-agent.md\":\"CwL5cwuE\",\"guides_bitbucket.md\":\"CKUayYtD\",\"guides_cloud-agents.md\":\"CBK7W0-O\",\"guides_convert-automation.md\":\"DMEX9nF-\",\"guides_export-grokbot.md\":\"qo5bxi4h\",\"guides_github.md\":\"TuNiZAOQ\",\"guides_gitlab.md\":\"CtNI4fSH\",\"guides_grokbot-agents.md\":\"BwAykJ7U\",\"guides_hooks.md\":\"Bfj0pK91\",\"guides_improve.md\":\"CZKVt1cT\",\"guides_jev.md\":\"D7XH4JH3\",\"guides_mcp-oauth.md\":\"BM_eFC0L\",\"guides_migrate.md\":\"CQlGaBKX\",\"guides_opentelemetry.md\":\"ByW1Fs7b\",\"guides_slack.md\":\"Bn-WupSE\",\"guides_webhooks.md\":\"Cpdc3BDX\",\"hillclimbing.md\":\"Dxvd-0gT\",\"index.md\":\"CAnsLl8D\",\"quickstart.md\":\"D8JDfkKO\",\"reference_agent-config.md\":\"DYA6ge6t\",\"reference_artifacts.md\":\"DLV9MZES\",\"reference_channels.md\":\"DYg0CLud\",\"reference_cli.md\":\"DB7Llw3T\",\"reference_connections.md\":\"BJE2Zllp\",\"reference_evals.md\":\"Ccwp4x3o\",\"reference_extensions.md\":\"OUacPetl\",\"reference_hooks.md\":\"B1jq3oGl\",\"reference_http-api.md\":\"Dji-DD_Z\",\"reference_instructions.md\":\"DrcHZXig\",\"reference_memory.md\":\"BwyJXYZe\",\"reference_playground.md\":\"q4MI-0td\",\"reference_project-layout.md\":\"mFcS8yDD\",\"reference_prompt.md\":\"DqPh71XN\",\"reference_schedules.md\":\"BqWnJES4\",\"reference_sessions.md\":\"C8FXuGwk\",\"reference_skills.md\":\"C2GWh7g8\",\"reference_subagents.md\":\"ChNGh6HK\",\"reference_tools.md\":\"08XR7lIl\",\"templates_agentic-owners.md\":\"CvmABtia\",\"templates_grokbot-agents.md\":\"DgpPEs7B\",\"templates_security-reviewer.md\":\"Gh6EF9Us\",\"templates_thermo-quality-review.md\":\"B77UyTrX\",\"templates_thermo-review.md\":\"DRJ7mC5U\",\"templates_triage.md\":\"CNN6b0JZ\",\"troubleshooting.md\":\"DFnoTDlQ\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Bot Development Kit (BDK)\",\"description\":\"Build and serve bots and agents from versioned Markdown and TypeScript.\",\"base\":\"/docs/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"sdkVersion\":\"0.2.23\",\"nav\":[{\"text\":\"Quickstart\",\"link\":\"/quickstart\"},{\"text\":\"Guides\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Integrations\",\"link\":\"/guides/github\"},{\"text\":\"Templates\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Reference\",\"link\":\"/reference/project-layout\"}],\"search\":{\"provider\":\"local\"},\"outline\":{\"level\":[2,3]},\"sidebar\":[{\"text\":\"Getting started\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"Building your first agent\",\"link\":\"/quickstart\"}]},{\"text\":\"Integrations\",\"collapsed\":false,\"items\":[{\"text\":\"GitHub\",\"link\":\"/guides/github\"},{\"text\":\"Slack\",\"link\":\"/guides/slack\"},{\"text\":\"Webhooks\",\"link\":\"/guides/webhooks\"},{\"text\":\"Cursor Automations\",\"link\":\"/guides/convert-automation\"},{\"text\":\"OpenTelemetry\",\"link\":\"/guides/opentelemetry\"},{\"text\":\"GitLab\",\"link\":\"/guides/gitlab\"},{\"text\":\"Bitbucket\",\"link\":\"/guides/bitbucket\"}]},{\"text\":\"Extensions\",\"collapsed\":false,\"items\":[{\"text\":\"Overview\",\"link\":\"/reference/extensions\"},{\"text\":\"Cloud agents\",\"link\":\"/guides/cloud-agents\"},{\"text\":\"Grok Bot agents\",\"link\":\"/guides/grokbot-agents\"},{\"text\":\"Self-improvement\",\"link\":\"/guides/improve\"},{\"text\":\"Jev\",\"link\":\"/guides/jev\"}]},{\"text\":\"Guides\",\"collapsed\":false,\"items\":[{\"text\":\"MCP\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Hooks\",\"link\":\"/guides/hooks\"},{\"text\":\"Peer agents\",\"link\":\"/guides/agent-to-agent\"},{\"text\":\"Deployment\",\"link\":\"/deployment\"},{\"text\":\"Export a Grok Bot\",\"link\":\"/guides/export-grokbot\"},{\"text\":\"Early-alpha migration\",\"link\":\"/guides/migrate\"},{\"text\":\"Evals\",\"link\":\"/evals\"},{\"text\":\"Hillclimbing\",\"link\":\"/hillclimbing\"},{\"text\":\"Build with a coding agent\",\"link\":\"/building-with-agents\"},{\"text\":\"Troubleshooting\",\"link\":\"/troubleshooting\"}]},{\"text\":\"Templates\",\"collapsed\":false,\"items\":[{\"text\":\"Grok Bot agents\",\"link\":\"/templates/grokbot-agents\"},{\"text\":\"Security reviewer\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Thermo review\",\"link\":\"/templates/thermo-review\"},{\"text\":\"Thermo quality review\",\"link\":\"/templates/thermo-quality-review\"},{\"text\":\"Agentic Approver\",\"link\":\"/templates/agentic-owners\"},{\"text\":\"Triage agent\",\"link\":\"/templates/triage\"}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Project layout\",\"link\":\"/reference/project-layout\"},{\"text\":\"Agent config\",\"link\":\"/reference/agent-config\"},{\"text\":\"Instructions\",\"link\":\"/reference/instructions\"},{\"text\":\"Tools\",\"link\":\"/reference/tools\"},{\"text\":\"prompt\",\"link\":\"/reference/prompt\"},{\"text\":\"Skills\",\"link\":\"/reference/skills\"},{\"text\":\"MCP Connections\",\"link\":\"/reference/connections\"},{\"text\":\"Subagents\",\"link\":\"/reference/subagents\"},{\"text\":\"Channels\",\"link\":\"/reference/channels\"},{\"text\":\"Schedules & reminders\",\"link\":\"/reference/schedules\"},{\"text\":\"Hooks\",\"link\":\"/reference/hooks\"},{\"text\":\"Memory\",\"link\":\"/reference/memory\"},{\"text\":\"Evals\",\"link\":\"/reference/evals\"},{\"text\":\"Artifacts\",\"link\":\"/reference/artifacts\"},{\"text\":\"Sessions & streaming\",\"link\":\"/reference/sessions\"},{\"text\":\"Playground\",\"link\":\"/reference/playground\"},{\"text\":\"CLI\",\"link\":\"/reference/cli\"},{\"text\":\"HTTP API\",\"link\":\"/reference/http-api\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
56
+ <div id="app"><div class="Layout" data-v-f430d453><!--[--><!--]--><!--[--><span tabindex="-1" data-v-680db83d></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-680db83d>Skip to content</a><!--]--><!----><header class="VPNav" data-v-f430d453 data-v-ac9780a6><div class="VPNavBar" data-v-ac9780a6 data-v-dabff950><div class="wrapper" data-v-dabff950><div class="container" data-v-dabff950><div class="title" data-v-dabff950><div class="VPNavBarTitle has-sidebar" data-v-dabff950 data-v-1fdc3e33><a class="title" href="/docs/" data-v-1fdc3e33><!--[--><!--]--><!----><span data-v-1fdc3e33>Bot Development Kit (BDK)</span><!--[--><!--[--><!--[--><!--[--><span class="bdk-version" title="BDK 0.2.24 (@cursor/bdk package)" data-v-d89e5038>0.2.24</span><!--]--><!--]--><!--]--><!--]--></a></div></div><div class="content" data-v-dabff950><div class="content-body" data-v-dabff950><!--[--><!--]--><div class="VPNavBarSearch search" data-v-dabff950><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-dabff950 data-v-eea646b1><span id="main-nav-aria-label" class="visually-hidden" data-v-eea646b1> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/quickstart.html" tabindex="0" data-v-eea646b1 data-v-356b6b19><!--[--><span data-v-356b6b19>Quickstart</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/mcp-oauth.html" tabindex="0" data-v-eea646b1 data-v-356b6b19><!--[--><span data-v-356b6b19>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/guides/github.html" tabindex="0" data-v-eea646b1 data-v-356b6b19><!--[--><span data-v-356b6b19>Integrations</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/templates/security-reviewer.html" tabindex="0" data-v-eea646b1 data-v-356b6b19><!--[--><span data-v-356b6b19>Templates</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/docs/reference/project-layout.html" tabindex="0" data-v-eea646b1 data-v-356b6b19><!--[--><span data-v-356b6b19>Reference</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-dabff950 data-v-bc95e225><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bc95e225 data-v-d980e0ed data-v-18f4a150><span class="check" data-v-18f4a150><span class="icon" data-v-18f4a150><!--[--><span class="vpi-sun sun" data-v-d980e0ed></span><span class="vpi-moon moon" data-v-d980e0ed></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-dabff950 data-v-f342cad0 data-v-c62f596b><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-c62f596b><span class="vpi-more-horizontal icon" data-v-c62f596b></span></button><div class="menu" data-v-c62f596b><div class="VPMenu" data-v-c62f596b data-v-9eccc516><!----><!--[--><!--[--><!----><div class="group" data-v-f342cad0><div class="item appearance" data-v-f342cad0><p class="label" data-v-f342cad0>Appearance</p><div class="appearance-action" data-v-f342cad0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-f342cad0 data-v-d980e0ed data-v-18f4a150><span class="check" data-v-18f4a150><span class="icon" data-v-18f4a150><!--[--><span class="vpi-sun sun" data-v-d980e0ed></span><span class="vpi-moon moon" data-v-d980e0ed></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-dabff950 data-v-06592ead><span class="container" data-v-06592ead><span class="top" data-v-06592ead></span><span class="middle" data-v-06592ead></span><span class="bottom" data-v-06592ead></span></span></button></div></div></div></div><div class="divider" data-v-dabff950><div class="divider-line" data-v-dabff950></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-f430d453 data-v-2bfb3d4b><div class="container" data-v-2bfb3d4b><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-2bfb3d4b><span class="vpi-align-left menu-icon" data-v-2bfb3d4b></span><span class="menu-text" data-v-2bfb3d4b>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2bfb3d4b data-v-993d5022><button data-v-993d5022>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-f430d453 data-v-4d843d7b><div class="curtain" data-v-4d843d7b></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-4d843d7b><span class="visually-hidden" id="sidebar-aria-label" data-v-4d843d7b> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-1c552b11><section class="VPSidebarItem level-0" data-v-1c552b11 data-v-1cdea42a><div class="item" role="button" tabindex="0" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><h2 class="text" data-v-1cdea42a>Getting started</h2><!----></div><div class="items" data-v-1cdea42a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/quickstart.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Building your first agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-1c552b11><section class="VPSidebarItem level-0 collapsible" data-v-1c552b11 data-v-1cdea42a><div class="item" role="button" tabindex="0" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><h2 class="text" data-v-1cdea42a>Integrations</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-1cdea42a><span class="vpi-chevron-right caret-icon" data-v-1cdea42a></span></div></div><div class="items" data-v-1cdea42a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/github.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>GitHub</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/slack.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Slack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/webhooks.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Webhooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/convert-automation.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Cursor Automations</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/opentelemetry.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>OpenTelemetry</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/gitlab.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>GitLab</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/bitbucket.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Bitbucket</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-1c552b11><section class="VPSidebarItem level-0 collapsible" data-v-1c552b11 data-v-1cdea42a><div class="item" role="button" tabindex="0" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><h2 class="text" data-v-1cdea42a>Extensions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-1cdea42a><span class="vpi-chevron-right caret-icon" data-v-1cdea42a></span></div></div><div class="items" data-v-1cdea42a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/extensions.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/cloud-agents.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Cloud agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/grokbot-agents.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/improve.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Self-improvement</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/jev.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Jev</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-1c552b11><section class="VPSidebarItem level-0 collapsible has-active" data-v-1c552b11 data-v-1cdea42a><div class="item" role="button" tabindex="0" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><h2 class="text" data-v-1cdea42a>Guides</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-1cdea42a><span class="vpi-chevron-right caret-icon" data-v-1cdea42a></span></div></div><div class="items" data-v-1cdea42a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/mcp-oauth.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>MCP</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/hooks.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/agent-to-agent.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Peer agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/deployment.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/export-grokbot.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Export a Grok Bot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/guides/migrate.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Early-alpha migration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/evals.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/hillclimbing.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Hillclimbing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/building-with-agents.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Build with a coding agent</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/troubleshooting.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Troubleshooting</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-1c552b11><section class="VPSidebarItem level-0 collapsible" data-v-1c552b11 data-v-1cdea42a><div class="item" role="button" tabindex="0" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><h2 class="text" data-v-1cdea42a>Templates</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-1cdea42a><span class="vpi-chevron-right caret-icon" data-v-1cdea42a></span></div></div><div class="items" data-v-1cdea42a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/templates/grokbot-agents.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Grok Bot agents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/templates/security-reviewer.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Security reviewer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/templates/thermo-review.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Thermo review</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/templates/thermo-quality-review.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Thermo quality review</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/templates/agentic-owners.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Agentic Approver</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/templates/triage.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Triage agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-1c552b11><section class="VPSidebarItem level-0 collapsible" data-v-1c552b11 data-v-1cdea42a><div class="item" role="button" tabindex="0" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><h2 class="text" data-v-1cdea42a>Reference</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-1cdea42a><span class="vpi-chevron-right caret-icon" data-v-1cdea42a></span></div></div><div class="items" data-v-1cdea42a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/project-layout.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Project layout</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/agent-config.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Agent config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/instructions.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Instructions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/tools.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Tools</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/prompt.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>prompt</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/skills.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Skills</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/connections.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>MCP Connections</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/subagents.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Subagents</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/channels.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Channels</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/schedules.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Schedules & reminders</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/hooks.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/memory.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Memory</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/evals.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Evals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/artifacts.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Artifacts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/sessions.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Sessions & streaming</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/playground.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>Playground</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/cli.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>CLI</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-1cdea42a><div class="item" data-v-1cdea42a><div class="indicator" data-v-1cdea42a></div><a class="VPLink link link" href="/docs/reference/http-api.html" data-v-1cdea42a><!--[--><p class="text" data-v-1cdea42a>HTTP API</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-f430d453 data-v-44f169b4><div class="VPDoc has-sidebar has-aside" data-v-44f169b4 data-v-2c214b72><!--[--><!--]--><div class="container" data-v-2c214b72><div class="aside" data-v-2c214b72><div class="aside-curtain" data-v-2c214b72></div><div class="aside-container" data-v-2c214b72><div class="aside-content" data-v-2c214b72><div class="VPDocAside" data-v-2c214b72 data-v-b6955c51><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-b6955c51 data-v-46e03482><div class="content" data-v-46e03482><div class="outline-marker" data-v-46e03482></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-46e03482>On this page</div><ul class="VPDocOutlineItem root" data-v-46e03482 data-v-1b25c5bc><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-b6955c51></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-2c214b72><div class="content-container" data-v-2c214b72><!--[--><!--]--><main class="main" data-v-2c214b72><div style="position:relative;" class="vp-doc _docs_troubleshooting" data-v-2c214b72><div><h1 id="fix-common-agent-problems" tabindex="-1">Fix common agent problems <a class="header-anchor" href="#fix-common-agent-problems" aria-label="Permalink to &quot;Fix common agent problems&quot;">​</a></h1><p>Start with three checks:</p><ol><li>Run <code>bdk validate --dir .</code>.</li><li>Confirm the expected agent and connections in <code>bdk info --dir . --json</code>.</li><li>Reproduce once, then inspect the serve log or session trace.</li></ol><p>Match the visible symptom below.</p><h2 id="serve-or-the-playground-will-not-work" tabindex="-1">Serve or the playground will not work <a class="header-anchor" href="#serve-or-the-playground-will-not-work" aria-label="Permalink to &quot;Serve or the playground will not work&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>serve</code> exits before listening</td><td>Fix the errors from <code>bdk validate --dir .</code>, then start it again.</td></tr><tr><td>Playground is blank or says there are no agents</td><td>Start <code>bdk serve</code>; built playground assets have no agent data without the server.</td></tr><tr><td>Agent-file edits do not appear</td><td>Open the URL printed by <code>serve --dev</code>, then press Enter in its TTY to reload after file changes.</td></tr><tr><td>Sessions exist but the list is empty</td><td>The list is scoped to the authenticated principal. Use the same identity that created the session; a <code>?sessionId=</code> deep link does not bypass authorization.</td></tr><tr><td>The preferred port is busy</td><td>Use the next port printed by the CLI, pass <code>--port &lt;number&gt;</code>, or pass <code>--port 0</code> for any free port.</td></tr></tbody></table><h2 id="a-model-turn-fails" tabindex="-1">A model turn fails <a class="header-anchor" href="#a-model-turn-fails" aria-label="Permalink to &quot;A model turn fails&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>File reads and greps fail repeatedly with <code>NGHTTP2_FRAME_SIZE_ERROR</code></td><td>Run the agent under Node 22.13 or newer, never Bun.</td></tr><tr><td>The turn immediately reports a missing API key</td><td>Set <code>CURSOR_API_KEY</code>, <code>CURSOR_API_KEY_FILE</code>, or <code>CURSOR_SERVICE_ACCOUNT_KEY</code>, or run <code>bdk login</code>.</td></tr><tr><td>Login succeeds but the model host rejects the key</td><td>Point login and model traffic at the same API host; check <code>CURSOR_API_BASE_URL</code> and <code>CURSOR_BACKEND_URL</code>.</td></tr><tr><td>The first turn reports <code>[resource_exhausted]</code></td><td>Treat it as a capacity-shaped error. For a GitHub wake, also check the connected GitHub credential and any GitHub <code>429</code> rate limit before assuming the model quota is exhausted.</td></tr></tbody></table><h2 id="a-turn-behaves-unexpectedly" tabindex="-1">A turn behaves unexpectedly <a class="header-anchor" href="#a-turn-behaves-unexpectedly" aria-label="Permalink to &quot;A turn behaves unexpectedly&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>Replies quote an ancestor <code>AGENTS.md</code> or unrelated repository rules</td><td>Inspect <code>local.cwd</code> in <code>/v1/info</code>. Set <code>defineAgent({ local: { cwd } })</code> or the session workspace explicitly instead of inheriting the parent checkout.</td></tr><tr><td>The model lists IDE meta-tools but never calls named MCP tools</td><td>Set <code>advertiseTools: true</code> on the local model-visible connection and confirm it under <code>connections</code> in <code>/v1/info</code>.</td></tr><tr><td>Server tools, skills, or seed files are absent</td><td>Check the discovered project in <code>/v1/info</code>; follow the capability warning from <code>validate</code>.</td></tr><tr><td><code>validate</code> and <code>run</code> pass but CI type-checking fails</td><td>Run the project type check. Tool results must be JSON-shaped; prefer object literals or <code>type</code> aliases over <code>interface</code> return types.</td></tr></tbody></table><h2 id="http-returns-401-403-or-409" tabindex="-1">HTTP returns 401, 403, or 409 <a class="header-anchor" href="#http-returns-401-403-or-409" aria-label="Permalink to &quot;HTTP returns 401, 403, or 409&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>401</code> outside local development</td><td>Send the configured bearer token, alias token, or channel credential. Default custom routes admit direct loopback only.</td></tr><tr><td><code>403</code> on a stream or follow-up</td><td>Use the same authenticated principal that created the session.</td></tr><tr><td>A custom channel route fails through a tunnel or LAN</td><td>Protect the shared host with <code>--bearer-token</code> or authored channel auth. Use <code>--allow-anonymous</code> only behind a proxy that authenticates every caller.</td></tr><tr><td><code>409</code> on a follow-up</td><td>Refresh the rotating <code>continuationToken</code> and confirm the target is a chat session; task sessions do not accept follow-ups.</td></tr><tr><td><code>409 session_busy</code> from <code>call --session</code></td><td>Wait for the turn, omit <code>--session</code>, or mark a read-only tool with <code>effect: &quot;read&quot;</code> so it can run concurrently.</td></tr><tr><td>A custom route fails schema type-checking</td><td>Add the required Zod <code>querySchema</code> for <code>GET</code>, or <code>bodySchema</code> for <code>POST</code>, <code>PUT</code>, and <code>PATCH</code>. See <a href="./reference/channels.html">Channels</a>.</td></tr></tbody></table><h2 id="a-hosted-deployment-fails-or-looks-stale" tabindex="-1">A hosted deployment fails or looks stale <a class="header-anchor" href="#a-hosted-deployment-fails-or-looks-stale" aria-label="Permalink to &quot;A hosted deployment fails or looks stale&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>validate</code> or <code>deploy</code> reports <code>architecture &quot;v2&quot; requires a named secret</code></td><td>A <code>githubChannel</code> credential or a GitLab or Bitbucket <code>webhookSecret</code> is a literal or a getter. Replace it with the quoted <code>{ secretName: &quot;NAME&quot; }</code> and set the value with <code>bdk secrets set &lt;slug&gt; NAME</code>. See <a href="./guides/github.html#other-hosts">Other hosts</a>.</td></tr><tr><td>Local changes do not appear after deploy</td><td><code>deploy</code> reads a pushed Git ref, not the working tree. Commit and push the intended ref, then deploy it again.</td></tr><tr><td>The deployment never becomes running</td><td>Run <code>bdk deployment &lt;slug&gt;</code>, then act on the reported build or startup error.</td></tr><tr><td>A secret or egress change has no effect</td><td>Confirm the name with <code>secrets list</code>, verify the <code>hosting</code> block exists on the pushed ref, and follow the CLI or dashboard prompt to redeploy.</td></tr><tr><td>Cursor events stopped after redeploy</td><td>Each redeploy replaces the watched repositories. Pass every <code>--cursor-events-repo</code> value again; without the flag, the deployment watches only its GitHub source repository.</td></tr><tr><td><code>run --prod</code> prints a <code>deliveryId</code> but no <code>sessionId</code></td><td>Expected, with or without <code>--dry-run</code>: the session is created when the turn starts. Find it with <code>bdk logs --prod --once --slug &lt;slug&gt;</code>, then follow <a href="./deployment.html#verify-a-hosted-turn">Verify a hosted turn</a>.</td></tr><tr><td><code>session &lt;sessionId&gt; --prod</code> shows a <code>running</code> run with no logs</td><td>Runs lag behind events, and a high-effort turn can take several minutes. Rerun the command; a growing event count means the turn is still working.</td></tr><tr><td>A dashboard link to a single session doesn&#39;t open</td><td>Check the session with <code>bdk session &lt;sessionId&gt; --prod --slug &lt;slug&gt;</code>.</td></tr><tr><td><code>chat</code>, <code>call</code>, <code>sessions</code>, <code>cost</code>, or <code>mcp</code> with <code>--prod</code> says the command is not supported</td><td>Hosted deployments accept <code>--prod</code> only on <code>run</code>, <code>session</code>, <code>logs</code>, and <code>playground</code>. See <a href="./deployment.html#verify-a-hosted-turn">Verify a hosted turn</a>.</td></tr><tr><td><code>run --prod --session &lt;sessionId&gt;</code> reports the session belongs to another channel</td><td><code>--session</code> continues only sessions that <code>run --prod</code> or <code>session --prod</code> started. Reach Slack, SCM, and custom-route sessions through their own channel.</td></tr><tr><td>A custom route returns <code>202</code> with no body</td><td>Expected on managed hosting. The handler runs after the response, so deliver results from the channel. See <a href="./reference/channels.html#route-responses">Route responses</a>.</td></tr><tr><td>External HTTP rejects the alias token</td><td>Update the caller with the current token. If the token is lost or exposed, run <code>bdk rotate-token &lt;slug&gt;</code> and replace it everywhere.</td></tr><tr><td><code>deploy</code>, a hosted session, or an eval run says it is not available with Privacy Mode (Legacy)</td><td>Switch to Privacy Mode, or ask a team admin if your team enforces this setting. A refused session does not store the message. See <a href="./deployment.html#privacy-mode">Privacy Mode</a>.</td></tr><tr><td><code>deploy</code> says persistent deployments are limited to 1 per team</td><td>Another deployment of the team already sets <code>persistent: true</code>. Remove the setting from one agent, or delete that deployment.</td></tr><tr><td>A schedule does not fire on the hosted deployment</td><td>Make sure the deployment is running and its release has the schedule. Deploy again with <code>@cursor/bdk</code> 0.2.14 or newer.</td></tr><tr><td>A request to a custom route gets <code>429</code></td><td>The deployment received more requests than its limit. Wait for the time in <code>Retry-After</code>, then send the request again.</td></tr></tbody></table><p>See <a href="./deployment.html">Deployment</a> for source, credential, and redeployment boundaries.</p><h2 id="github-deliveries-fail" tabindex="-1">GitHub deliveries fail <a class="header-anchor" href="#github-deliveries-fail" aria-label="Permalink to &quot;GitHub deliveries fail&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>github forward</code> returns 401 on every delivery after creating the hook</td><td>Clear <code>GITHUB_TOKEN</code> and <code>GH_TOKEN</code> for that command so the forwarder uses the <code>gh</code> CLI login: <code>GITHUB_TOKEN= GH_TOKEN= bdk github forward ...</code>.</td></tr><tr><td><code>Hook already exists</code></td><td>Run one forwarder for the repository and stop the stale process.</td></tr><tr><td>Direct webhook deliveries are rejected outside <code>--dev</code></td><td>Configure the same <code>GITHUB_WEBHOOK_SECRET</code> on the signer and server. Cursor event pull needs no public webhook or webhook secret.</td></tr><tr><td>You cannot create a forwarder</td><td>Use <code>bdk github replay &lt;pr-url&gt;</code>; it needs pull access instead of repository administration.</td></tr></tbody></table><p>The <a href="./guides/github.html">GitHub guide</a> covers event pull, replay, and direct webhooks.</p><h2 id="slack-does-not-respond" tabindex="-1">Slack does not respond <a class="header-anchor" href="#slack-does-not-respond" aria-label="Permalink to &quot;Slack does not respond&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>Logs say <code>channel idle ... missing credentials</code></td><td>Run <code>bdk slack create --dir &lt;agent&gt;</code>, then check the generated prefix with <code>bdk slack doctor</code>. Use <code>slack init --manual</code> only for an app you own.</td></tr><tr><td><code>slack create</code> is waiting for workspace approval</td><td>Keep the CLI running, open the <strong>Request approval</strong> link it prints, and select <strong>Retry</strong> in the dashboard&#39;s <strong>Add Slack</strong> wizard after an admin approves. See <a href="./guides/slack.html#connect">Slack</a>.</td></tr><tr><td>The bot ignores ordinary channel posts</td><td>Configure <code>engagement.channelPosts</code>, create the app with <code>--channel-posts</code>, and invite it to every allowed channel.</td></tr></tbody></table><p>See the <a href="./guides/slack.html">Slack guide</a> for app setup and engagement choices.</p><h2 id="mcp-authorization-fails" tabindex="-1">MCP authorization fails <a class="header-anchor" href="#mcp-authorization-fails" aria-label="Permalink to &quot;MCP authorization fails&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td><code>must be defineConnection({ url, oauth: true })</code></td><td>Add <code>oauth: true</code> to the named URL connection or correct the connection filename passed to <code>mcp oauth</code>.</td></tr><tr><td>Local auth works but hosted calls return unauthorized</td><td>Locally stored OAuth tokens don&#39;t reach a deployment. Use a <code>cursorAccount: true</code> connection and connect the server from <strong>Deployed Agents</strong> in the dashboard. See <a href="./guides/mcp-oauth.html#use-an-oauth-server-from-a-hosted-agent">Host MCP OAuth</a>.</td></tr><tr><td>The model invents <code>mcp_auth</code> instead of calling the server</td><td>Set <code>advertiseTools: true</code> for named local tools, or expose a host-side wrapper through <code>ctx.host.mcp</code>.</td></tr></tbody></table><p>See <a href="./guides/mcp-oauth.html">Host MCP OAuth</a> for the credential lifecycle.</p><h2 id="schedules-or-reminders-stall" tabindex="-1">Schedules or reminders stall <a class="header-anchor" href="#schedules-or-reminders-stall" aria-label="Permalink to &quot;Schedules or reminders stall&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>A schedule or reminder never fires under <code>--dev</code></td><td>Trigger it through the matching <code>/v1/dev/schedules/&lt;id&gt;</code> or <code>/v1/dev/reminders/&lt;id&gt;</code> route; development mode does not auto-fire.</td></tr><tr><td>A reminder is disarmed with <code>handler_lost_on_restart</code></td><td>Recreate handler-form reminders after restart, or use a prompt-form reminder.</td></tr><tr><td>The same schedule fires on several self-hosted processes</td><td>Enable schedules on one serving process per project and pass <code>--no-schedules</code> to the others.</td></tr></tbody></table><h2 id="a-credential-was-exposed" tabindex="-1">A credential was exposed <a class="header-anchor" href="#a-credential-was-exposed" aria-label="Permalink to &quot;A credential was exposed&quot;">​</a></h2><table tabindex="0"><thead><tr><th>What you see</th><th>What to do</th></tr></thead><tbody><tr><td>A secret value appears in a command, transcript, or shell history</td><td>Rotate it at the provider, set it again through hidden input or stdin, and test the feature.</td></tr><tr><td>An alias token appears outside its secure destination</td><td>Run <code>bdk rotate-token &lt;slug&gt;</code>, store the new value outside transcripts, and update every caller.</td></tr><tr><td>Someone printed a secret to verify it</td><td>Rotate it. Confirm only the name with <code>bdk secrets list &lt;slug&gt;</code>, then redeploy and exercise the feature.</td></tr></tbody></table><h2 id="read-the-session-trace" tabindex="-1">Read the session trace <a class="header-anchor" href="#read-the-session-trace" aria-label="Permalink to &quot;Read the session trace&quot;">​</a></h2><p>Start with <code>actions.requested</code> and <code>action.result</code>. Count calls by tool name, pair every request with its result, and separate host preparation from tools chosen by the model.</p><p><code>turn.failed</code> with <code>turn interrupted</code> usually means a follow-up or stop ended the turn deliberately. Other failures should have an error event near the tool or model boundary that produced them.</p><p>Use the trace path printed by <code>bdk run</code>:</p><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>bdk trajectory --events &lt;trace-path&gt;</span></span></code></pre></div><p>The playground&#39;s <strong>Open trace</strong> control renders the same trajectory. When the agent runs but makes poor decisions, move from diagnosis to a measured <a href="./hillclimbing.html">hillclimb</a>.</p><h2 id="related" tabindex="-1">Related <a class="header-anchor" href="#related" aria-label="Permalink to &quot;Related&quot;">​</a></h2><ul><li><a href="./deployment.html">Deployment</a>: hosted and self-hosted boundaries</li><li><a href="./reference/sessions.html">Sessions</a>: session ownership and event vocabulary</li><li><a href="./reference/cli.html">CLI reference</a>: command flags and exit behavior</li></ul></div></div></main><footer class="VPDocFooter" data-v-2c214b72 data-v-a3a61b15><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-a3a61b15><span class="visually-hidden" id="doc-footer-aria-label" data-v-a3a61b15>Pager</span><div class="pager" data-v-a3a61b15><a class="VPLink link pager-link prev" href="/docs/building-with-agents.html" data-v-a3a61b15><!--[--><span class="desc" data-v-a3a61b15>Previous page</span><span class="title" data-v-a3a61b15>Build with a coding agent</span><!--]--></a></div><div class="pager" data-v-a3a61b15><a class="VPLink link pager-link next" href="/docs/templates/grokbot-agents.html" data-v-a3a61b15><!--[--><span class="desc" data-v-a3a61b15>Next page</span><span class="title" data-v-a3a61b15>Grok Bot agents</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
57
+ <script>window.__VP_HASH_MAP__=JSON.parse("{\"building-with-agents.md\":\"FZXrY8Nk\",\"deployment.md\":\"3MMWuPeV\",\"evals.md\":\"CHR34K1Y\",\"guides_agent-to-agent.md\":\"CwL5cwuE\",\"guides_bitbucket.md\":\"CKUayYtD\",\"guides_cloud-agents.md\":\"BzbzcOyj\",\"guides_convert-automation.md\":\"DMEX9nF-\",\"guides_export-grokbot.md\":\"qo5bxi4h\",\"guides_github.md\":\"TuNiZAOQ\",\"guides_gitlab.md\":\"CtNI4fSH\",\"guides_grokbot-agents.md\":\"BwAykJ7U\",\"guides_hooks.md\":\"Bfj0pK91\",\"guides_improve.md\":\"CZKVt1cT\",\"guides_jev.md\":\"D7XH4JH3\",\"guides_mcp-oauth.md\":\"BM_eFC0L\",\"guides_migrate.md\":\"CQlGaBKX\",\"guides_opentelemetry.md\":\"Ck1o2frw\",\"guides_slack.md\":\"Bn-WupSE\",\"guides_webhooks.md\":\"Cpdc3BDX\",\"hillclimbing.md\":\"Dxvd-0gT\",\"index.md\":\"CAnsLl8D\",\"quickstart.md\":\"D8JDfkKO\",\"reference_agent-config.md\":\"IplwL25I\",\"reference_artifacts.md\":\"DLV9MZES\",\"reference_channels.md\":\"DYg0CLud\",\"reference_cli.md\":\"DB7Llw3T\",\"reference_connections.md\":\"BJE2Zllp\",\"reference_evals.md\":\"Ccwp4x3o\",\"reference_extensions.md\":\"DKxTuCIw\",\"reference_hooks.md\":\"B1jq3oGl\",\"reference_http-api.md\":\"Dji-DD_Z\",\"reference_instructions.md\":\"BYMVxAkw\",\"reference_memory.md\":\"BwyJXYZe\",\"reference_playground.md\":\"q4MI-0td\",\"reference_project-layout.md\":\"mFcS8yDD\",\"reference_prompt.md\":\"DqPh71XN\",\"reference_schedules.md\":\"03Ryy9ca\",\"reference_sessions.md\":\"C8FXuGwk\",\"reference_skills.md\":\"C2GWh7g8\",\"reference_subagents.md\":\"ChNGh6HK\",\"reference_tools.md\":\"08XR7lIl\",\"templates_agentic-owners.md\":\"CTEnR0jp\",\"templates_grokbot-agents.md\":\"DgpPEs7B\",\"templates_security-reviewer.md\":\"Gh6EF9Us\",\"templates_thermo-quality-review.md\":\"B77UyTrX\",\"templates_thermo-review.md\":\"DRJ7mC5U\",\"templates_triage.md\":\"CNN6b0JZ\",\"troubleshooting.md\":\"DFnoTDlQ\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Bot Development Kit (BDK)\",\"description\":\"Build and serve bots and agents from versioned Markdown and TypeScript.\",\"base\":\"/docs/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"sdkVersion\":\"0.2.24\",\"nav\":[{\"text\":\"Quickstart\",\"link\":\"/quickstart\"},{\"text\":\"Guides\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Integrations\",\"link\":\"/guides/github\"},{\"text\":\"Templates\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Reference\",\"link\":\"/reference/project-layout\"}],\"search\":{\"provider\":\"local\"},\"outline\":{\"level\":[2,3]},\"sidebar\":[{\"text\":\"Getting started\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"Building your first agent\",\"link\":\"/quickstart\"}]},{\"text\":\"Integrations\",\"collapsed\":false,\"items\":[{\"text\":\"GitHub\",\"link\":\"/guides/github\"},{\"text\":\"Slack\",\"link\":\"/guides/slack\"},{\"text\":\"Webhooks\",\"link\":\"/guides/webhooks\"},{\"text\":\"Cursor Automations\",\"link\":\"/guides/convert-automation\"},{\"text\":\"OpenTelemetry\",\"link\":\"/guides/opentelemetry\"},{\"text\":\"GitLab\",\"link\":\"/guides/gitlab\"},{\"text\":\"Bitbucket\",\"link\":\"/guides/bitbucket\"}]},{\"text\":\"Extensions\",\"collapsed\":false,\"items\":[{\"text\":\"Overview\",\"link\":\"/reference/extensions\"},{\"text\":\"Cloud agents\",\"link\":\"/guides/cloud-agents\"},{\"text\":\"Grok Bot agents\",\"link\":\"/guides/grokbot-agents\"},{\"text\":\"Self-improvement\",\"link\":\"/guides/improve\"},{\"text\":\"Jev\",\"link\":\"/guides/jev\"}]},{\"text\":\"Guides\",\"collapsed\":false,\"items\":[{\"text\":\"MCP\",\"link\":\"/guides/mcp-oauth\"},{\"text\":\"Hooks\",\"link\":\"/guides/hooks\"},{\"text\":\"Peer agents\",\"link\":\"/guides/agent-to-agent\"},{\"text\":\"Deployment\",\"link\":\"/deployment\"},{\"text\":\"Export a Grok Bot\",\"link\":\"/guides/export-grokbot\"},{\"text\":\"Early-alpha migration\",\"link\":\"/guides/migrate\"},{\"text\":\"Evals\",\"link\":\"/evals\"},{\"text\":\"Hillclimbing\",\"link\":\"/hillclimbing\"},{\"text\":\"Build with a coding agent\",\"link\":\"/building-with-agents\"},{\"text\":\"Troubleshooting\",\"link\":\"/troubleshooting\"}]},{\"text\":\"Templates\",\"collapsed\":false,\"items\":[{\"text\":\"Grok Bot agents\",\"link\":\"/templates/grokbot-agents\"},{\"text\":\"Security reviewer\",\"link\":\"/templates/security-reviewer\"},{\"text\":\"Thermo review\",\"link\":\"/templates/thermo-review\"},{\"text\":\"Thermo quality review\",\"link\":\"/templates/thermo-quality-review\"},{\"text\":\"Agentic Approver\",\"link\":\"/templates/agentic-owners\"},{\"text\":\"Triage agent\",\"link\":\"/templates/triage\"}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Project layout\",\"link\":\"/reference/project-layout\"},{\"text\":\"Agent config\",\"link\":\"/reference/agent-config\"},{\"text\":\"Instructions\",\"link\":\"/reference/instructions\"},{\"text\":\"Tools\",\"link\":\"/reference/tools\"},{\"text\":\"prompt\",\"link\":\"/reference/prompt\"},{\"text\":\"Skills\",\"link\":\"/reference/skills\"},{\"text\":\"MCP Connections\",\"link\":\"/reference/connections\"},{\"text\":\"Subagents\",\"link\":\"/reference/subagents\"},{\"text\":\"Channels\",\"link\":\"/reference/channels\"},{\"text\":\"Schedules & reminders\",\"link\":\"/reference/schedules\"},{\"text\":\"Hooks\",\"link\":\"/reference/hooks\"},{\"text\":\"Memory\",\"link\":\"/reference/memory\"},{\"text\":\"Evals\",\"link\":\"/reference/evals\"},{\"text\":\"Artifacts\",\"link\":\"/reference/artifacts\"},{\"text\":\"Sessions & streaming\",\"link\":\"/reference/sessions\"},{\"text\":\"Playground\",\"link\":\"/reference/playground\"},{\"text\":\"CLI\",\"link\":\"/reference/cli\"},{\"text\":\"HTTP API\",\"link\":\"/reference/http-api\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
58
58
 
59
59
  </body>
60
60
  </html>
@@ -37,6 +37,8 @@ export type CursorCloudAgentsCloudOptions = Omit<AgentCloudOptions, "repos"> & {
37
37
  repos?: CloudRepo[] | (() => CloudRepo[]);
38
38
  /** MCP servers attached to every launch the mount makes. */
39
39
  mcpServers?: CloudAgentMcpServer[];
40
+ /** Team MCP servers, by name, that launched agents may use; all of them when omitted. */
41
+ teamMcpServers?: string[];
40
42
  };
41
43
  /** Mount options; every field is optional. */
42
44
  export interface CursorCloudAgentsOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/extensions/cursor-cloud-agents/extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,sBAAsB,EAC3B,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE,KAAK,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG;IAC7E,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;IAC1C,4DAA4D;IAC5D,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACpC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,6BAA6B,CAAC;IACtC,mEAAmE;IACnE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sGAAsG;IACtG,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7D,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,8DAA8D;AAC9D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,6BAA6B,CAAC;IACrC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AA4ED,QAAA,MAAM,iBAAiB,EAAE,SAAS,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,SAAS,CAK5F,CAAC;eAEU,iBAAiB"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/extensions/cursor-cloud-agents/extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,sBAAsB,EAC3B,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE,KAAK,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG;IAC7E,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;IAC1C,4DAA4D;IAC5D,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,yFAAyF;IACzF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,6BAA6B,CAAC;IACtC,mEAAmE;IACnE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sGAAsG;IACtG,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7D,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,8DAA8D;AAC9D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,6BAA6B,CAAC;IACrC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AA6ED,QAAA,MAAM,iBAAiB,EAAE,SAAS,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,SAAS,CAK5F,CAAC;eAEU,iBAAiB"}
@@ -27,7 +27,7 @@
27
27
  * launched an agent once that agent stops (`watchStops`). The host polls the
28
28
  * agent; no model turn runs until the one wake.
29
29
  */
30
- import { z } from "zod";
30
+ import { z } from "zod/v3";
31
31
  import { defineExtension } from "../../extensions.js";
32
32
  export { followUpCloudAgent, getCloudAgent, getCloudEnvironment, launchCloudAgent, listCloudEnvironmentsNamed, } from "./lib/launch-agent.js";
33
33
  export { launchRepos } from "./lib/repos.js";
@@ -70,6 +70,7 @@ const cloud = z.object({
70
70
  skipReviewerRequest: z.boolean().optional(),
71
71
  envVars: z.record(z.string()).optional(),
72
72
  mcpServers: z.array(mcpServer).optional(),
73
+ teamMcpServers: z.array(z.string().trim().min(1).max(255)).min(1).max(50).optional(),
73
74
  });
74
75
  const model = z.union([
75
76
  z.string().min(1),
@@ -75,6 +75,7 @@ export type CloudAgentMcpServer = {
75
75
  /** Where and how one launch runs: {@link AgentCloudOptions} plus its MCP servers. */
76
76
  export type CloudAgentLaunchTarget = AgentCloudOptions & {
77
77
  mcpServers?: CloudAgentMcpServer[];
78
+ teamMcpServers?: string[];
78
79
  };
79
80
  export type LaunchRequest = {
80
81
  prompt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-cloud-agents/lib/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUzE,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAF1B,YACE,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA,EAIzB;CACF;AAED,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAGd,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEN,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AA2FF,qBAAa,kBAAkB;IAI3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD,YACmB,MAAM,EAAE,MAAM,MAAM,EACpB,SAAS,GAAE,OAAO,KAAa,EASjD;IAED,+EAA+E;IACzE,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+C9D;IAED,2FAA2F;IACrF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAKzE;IAED;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAYjE;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA8BnD;IAEK,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAuBhE;IAED;;;OAGG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAmBxC;IAEK,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1C;CACF;AAID,mEAAmE;AACnE,wBAAgB,kBAAkB,IAAI,kBAAkB,CAGvD;AAED,wBAAgB,MAAM,IAAI,MAAM,CAM/B"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-cloud-agents/lib/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUzE,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAF1B,YACE,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA,EAIzB;CACF;AAED,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAGd,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEN,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AA2FF,qBAAa,kBAAkB;IAI3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD,YACmB,MAAM,EAAE,MAAM,MAAM,EACpB,SAAS,GAAE,OAAO,KAAa,EASjD;IAED,+EAA+E;IACzE,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgD9D;IAED,2FAA2F;IACrF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAKzE;IAED;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAYjE;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA8BnD;IAEK,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAuBhE;IAED;;;OAGG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAmBxC;IAEK,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1C;CACF;AAID,mEAAmE;AACnE,wBAAgB,kBAAkB,IAAI,kBAAkB,CAGvD;AAED,wBAAgB,MAAM,IAAI,MAAM,CAM/B"}
@@ -8,7 +8,7 @@
8
8
  * exchange it for a session token the way the dashboard client does.
9
9
  */
10
10
  import { randomUUID } from "node:crypto";
11
- import { z } from "zod";
11
+ import { z } from "zod/v3";
12
12
  import { CursorBackendClient } from "../../../internal/cursor/backend-client.js";
13
13
  import { cloudAgentUrl, cursorBackendUrl, cursorExternalApiUrl, resolveApiKeySync, SIGN_IN_HINT, } from "../../../internal/cursor/credentials.js";
14
14
  import { toModelSelection } from "../../../internal/sdk-runner.js";
@@ -121,6 +121,7 @@ export class CloudAgentsBackend {
121
121
  env: cloud.env,
122
122
  envVars: cloud.envVars,
123
123
  mcpServers: cloud.mcpServers,
124
+ teamMcpServers: cloud.teamMcpServers,
124
125
  repos: cloud.repos,
125
126
  workOnCurrentBranch: cloud.workOnCurrentBranch,
126
127
  autoCreatePR: cloud.autoCreatePR,
@@ -6,7 +6,7 @@
6
6
  * the fleet listing is that principal's records, by default narrowed to the
7
7
  * session that launched them.
8
8
  */
9
- import { z } from "zod";
9
+ import { z } from "zod/v3";
10
10
  const PREFIX = "cloud-agents";
11
11
  const fleetSchema = z.array(z.object({
12
12
  agentId: z.string(),
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  export declare const agentRef: z.ZodObject<{
3
3
  agent_id: z.ZodString;
4
4
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-cloud-agents/lib/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC;IAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAA;CAAE,CAE1D,CAAC"}
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-cloud-agents/lib/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC;IAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAA;CAAE,CAE1D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  export const agentRef = z.object({
3
3
  agent_id: z.string().describe("Agent id (`bc-...`) returned by launch."),
4
4
  });
@@ -7,7 +7,7 @@
7
7
  * A fire never throws, because a v1 host stops firing a reminder whose
8
8
  * handler threw; every outcome is a skip or a stop.
9
9
  */
10
- import { z } from "zod";
10
+ import { z } from "zod/v3";
11
11
  import { CursorBackendError } from "../../../internal/cursor/backend-client.js";
12
12
  import { describeError } from "../../../internal/describe-error.js";
13
13
  import { defineReminder } from "../../../reminders.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { defineTool } from "../../../tools.js";
3
3
  import extension from "../extension.js";
4
4
  import { assertWriteChannel } from "../lib/channels.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { cloudAgentUrl } from "../../../internal/cursor/credentials.js";
3
3
  import { defineTool } from "../../../tools.js";
4
4
  import { listFleet } from "../lib/fleet.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { defineTool } from "../../../tools.js";
3
3
  import extension from "../extension.js";
4
4
  import { cloudAgentsBackend } from "../lib/backend.js";