@cursor/bdk 0.2.23 → 0.2.25

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 (421) hide show
  1. package/AGENTS.md +1 -0
  2. package/dist/artifacts.d.ts +1 -1
  3. package/dist/artifacts.js +1 -1
  4. package/dist/bin/agent-serve.d.ts +1 -1
  5. package/dist/bin/agent-serve.js +48 -12
  6. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  7. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +3 -2
  8. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
  9. package/dist/channels/bitbucket/bitbucket-webhook.js +14 -9
  10. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  11. package/dist/channels/deployments/deployments-channel.js +1 -1
  12. package/dist/channels/github/github-channel.d.ts.map +1 -1
  13. package/dist/channels/github/github-channel.js +10 -19
  14. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  15. package/dist/channels/issues/issues-channel.js +1 -1
  16. package/dist/channels/origin/origin-channel.js +1 -1
  17. package/dist/channels/pagerduty/api.d.ts +74 -0
  18. package/dist/channels/pagerduty/api.d.ts.map +1 -0
  19. package/dist/channels/pagerduty/api.js +101 -0
  20. package/dist/channels/pagerduty/defaults.d.ts +42 -0
  21. package/dist/channels/pagerduty/defaults.d.ts.map +1 -0
  22. package/dist/channels/pagerduty/defaults.js +132 -0
  23. package/dist/channels/pagerduty/events.d.ts +24 -0
  24. package/dist/channels/pagerduty/events.d.ts.map +1 -0
  25. package/dist/channels/pagerduty/events.js +38 -0
  26. package/dist/channels/pagerduty/index.d.ts +31 -0
  27. package/dist/channels/pagerduty/index.d.ts.map +1 -0
  28. package/dist/channels/pagerduty/index.js +30 -0
  29. package/dist/channels/pagerduty/pagerduty-channel.d.ts +64 -0
  30. package/dist/channels/pagerduty/pagerduty-channel.d.ts.map +1 -0
  31. package/dist/channels/pagerduty/pagerduty-channel.js +195 -0
  32. package/dist/channels/pagerduty/pagerduty-webhook.d.ts +70 -0
  33. package/dist/channels/pagerduty/pagerduty-webhook.d.ts.map +1 -0
  34. package/dist/channels/pagerduty/pagerduty-webhook.js +280 -0
  35. package/dist/channels/pagerduty/payload.d.ts +33 -0
  36. package/dist/channels/pagerduty/payload.d.ts.map +1 -0
  37. package/dist/channels/pagerduty/payload.js +150 -0
  38. package/dist/channels/pagerduty/replay.d.ts +35 -0
  39. package/dist/channels/pagerduty/replay.d.ts.map +1 -0
  40. package/dist/channels/pagerduty/replay.js +115 -0
  41. package/dist/channels/pagerduty/secrets.d.ts +16 -0
  42. package/dist/channels/pagerduty/secrets.d.ts.map +1 -0
  43. package/dist/channels/pagerduty/secrets.js +23 -0
  44. package/dist/channels/pagerduty/self-user.d.ts +51 -0
  45. package/dist/channels/pagerduty/self-user.d.ts.map +1 -0
  46. package/dist/channels/pagerduty/self-user.js +157 -0
  47. package/dist/channels/pagerduty/state.d.ts +31 -0
  48. package/dist/channels/pagerduty/state.d.ts.map +1 -0
  49. package/dist/channels/pagerduty/state.js +30 -0
  50. package/dist/channels/pagerduty/types.d.ts +217 -0
  51. package/dist/channels/pagerduty/types.d.ts.map +1 -0
  52. package/dist/channels/pagerduty/types.js +1 -0
  53. package/dist/channels/runs/runs-channel.js +1 -1
  54. package/dist/channels/slack/tool-approval-events.js +5 -5
  55. package/dist/channels.d.ts +14 -1
  56. package/dist/channels.d.ts.map +1 -1
  57. package/dist/channels.js +24 -9
  58. package/dist/docs/404.html +3 -3
  59. package/dist/docs/assets/{app.AXQcJZaf.js → app.BjS1QEI4.js} +4 -4
  60. package/dist/docs/assets/chunks/@localSearchIndexroot.oGqZumnJ.js +1 -0
  61. package/dist/docs/assets/chunks/{VPLocalSearchBox.hlZ2vmun.js → VPLocalSearchBox.BOuvjb5Y.js} +2 -2
  62. package/dist/docs/assets/chunks/{arc.9KNWdH-l.js → arc.3WR6Jf-y.js} +1 -1
  63. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.BfGzkBHI.js → architectureDiagram-Q4EWVU46.Dtb6Dqh6.js} +1 -1
  64. package/dist/docs/assets/chunks/{baseUniq.Btk8-2Rs.js → baseUniq.BUyrgrZE.js} +1 -1
  65. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BmHm9OH5.js → blockDiagram-DXYQGD6D.BVLV_voZ.js} +1 -1
  66. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.9POrbDHJ.js → c4Diagram-AHTNJAMY.jXJ1q70M.js} +1 -1
  67. package/dist/docs/assets/chunks/channel.Dt4aweTm.js +1 -0
  68. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.YWZVSM6S.js → chunk-4BX2VUAB.zz1SMBvK.js} +1 -1
  69. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.Cxr_SFgw.js → chunk-4TB4RGXK.CzYKuv3I.js} +1 -1
  70. package/dist/docs/assets/chunks/{chunk-55IACEB6.DtiJyPlD.js → chunk-55IACEB6.C7_tcJZD.js} +1 -1
  71. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.b5gNHJPH.js → chunk-EDXVE4YY.DeTwQPVO.js} +1 -1
  72. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DmN9yA_M.js → chunk-FMBD7UC4.DhMTl7ut.js} +1 -1
  73. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Dfm3xgV5.js → chunk-OYMX7WX6.Me7f5hEp.js} +1 -1
  74. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.sXNxDcJA.js → chunk-QZHKN3VN.D0E0Bb6g.js} +1 -1
  75. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DgBnDUV7.js → chunk-YZCP3GAM.CdOOBFYL.js} +1 -1
  76. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DGUHZs6j.js +1 -0
  77. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DGUHZs6j.js +1 -0
  78. package/dist/docs/assets/chunks/clone.DWf3k0Z0.js +1 -0
  79. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.D18MEcoN.js → cose-bilkent-S5V4N54A.BNbGESzN.js} +1 -1
  80. package/dist/docs/assets/chunks/{dagre-KV5264BT.CSf3tihh.js → dagre-KV5264BT.zU7Lu_xJ.js} +1 -1
  81. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.cbfzAfoC.js → diagram-5BDNPKRD.B9qOdE5h.js} +1 -1
  82. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.6i6P3uu9.js → diagram-G4DWMVQ6.D8X-sf77.js} +1 -1
  83. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.B9HAIfN6.js → diagram-MMDJMWI5.CW7MvMlE.js} +1 -1
  84. package/dist/docs/assets/chunks/{diagram-TYMM5635.B9baAjUv.js → diagram-TYMM5635.J489G0Nd.js} +1 -1
  85. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DaBmX_GN.js → erDiagram-SMLLAGMA.BkW7tGfs.js} +1 -1
  86. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.CJqQJjkb.js → flowDiagram-DWJPFMVM.jc9iWORD.js} +1 -1
  87. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.CIXBLQhC.js → ganttDiagram-T4ZO3ILL.B-UQfd9E.js} +1 -1
  88. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CDgentto.js → gitGraphDiagram-UUTBAWPF.DFzrTSlJ.js} +1 -1
  89. package/dist/docs/assets/chunks/{graph.BWHn6JBQ.js → graph.C5IB6_e_.js} +1 -1
  90. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.d9VU_ts_.js → infoDiagram-42DDH7IO.DwF0-c8L.js} +1 -1
  91. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.BNO79Prj.js → ishikawaDiagram-UXIWVN3A.fBaTqzE7.js} +1 -1
  92. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CPgUTM1R.js → journeyDiagram-VCZTEJTY.CM8gDVJy.js} +1 -1
  93. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.idl0Eoe1.js → kanban-definition-6JOO6SKY.YiD1p0LB.js} +1 -1
  94. package/dist/docs/assets/chunks/{layout.BY7DIMr6.js → layout.6Um-DVJT.js} +1 -1
  95. package/dist/docs/assets/chunks/{linear.DYaUDrHd.js → linear.DcTeg4Hn.js} +1 -1
  96. package/dist/docs/assets/chunks/{min.V6MWb1UC.js → min.CIxkY8Fe.js} +1 -1
  97. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BRlJXuFS.js → mindmap-definition-QFDTVHPH.D4QM_voR.js} +1 -1
  98. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BIhkDLcB.js → pieDiagram-DEJITSTG.nmB309G1.js} +1 -1
  99. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.Bw-_VEL3.js → quadrantDiagram-34T5L4WZ.D1HtZR3C.js} +1 -1
  100. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DolEGwxw.js → requirementDiagram-MS252O5E.CZgQWob-.js} +1 -1
  101. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.hMM-8BhN.js → sankeyDiagram-XADWPNL6.DtiBfU-P.js} +1 -1
  102. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Bg_CRVDy.js → sequenceDiagram-FGHM5R23.Cld4gDSt.js} +1 -1
  103. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DNWdl34_.js → stateDiagram-FHFEXIEX.DatP823_.js} +1 -1
  104. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C0571l4D.js +1 -0
  105. package/dist/docs/assets/chunks/{theme.CBW1oolh.js → theme.D5jbBys7.js} +2 -2
  106. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.Cr1wJ1mB.js → timeline-definition-GMOUNBTQ.DwQLI2be.js} +1 -1
  107. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BltDV9j7.js → vennDiagram-DHZGUBPP.a5yMfnsa.js} +1 -1
  108. package/dist/docs/assets/chunks/{wardley-RL74JXVD.BWPaUhOs.js → wardley-RL74JXVD.B-FXivgT.js} +1 -1
  109. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.nsADqCCo.js → wardleyDiagram-NUSXRM2D.Dz--Opy3.js} +1 -1
  110. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CCwbO3dK.js → xychartDiagram-5P7HB3ND.Dl8w8TeT.js} +1 -1
  111. package/dist/docs/assets/{deployment.md.CtSJ6sF9.js → deployment.md.3MMWuPeV.js} +5 -5
  112. package/dist/docs/assets/{deployment.md.CtSJ6sF9.lean.js → deployment.md.3MMWuPeV.lean.js} +1 -1
  113. package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.js → guides_cloud-agents.md.BzbzcOyj.js} +2 -2
  114. package/dist/docs/assets/{guides_cloud-agents.md.CBK7W0-O.lean.js → guides_cloud-agents.md.BzbzcOyj.lean.js} +1 -1
  115. package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.js → guides_opentelemetry.md.DBQtp7_V.js} +13 -5
  116. package/dist/docs/assets/{guides_opentelemetry.md.ByW1Fs7b.lean.js → guides_opentelemetry.md.DBQtp7_V.lean.js} +1 -1
  117. package/dist/docs/assets/guides_pagerduty.md.BHXMcMtx.js +60 -0
  118. package/dist/docs/assets/guides_pagerduty.md.BHXMcMtx.lean.js +1 -0
  119. package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.js → reference_agent-config.md.IplwL25I.js} +1 -2
  120. package/dist/docs/assets/{reference_agent-config.md.DYA6ge6t.lean.js → reference_agent-config.md.IplwL25I.lean.js} +1 -1
  121. package/dist/docs/assets/{reference_channels.md.DYg0CLud.js → reference_channels.md.Bxaa020x.js} +1 -1
  122. package/dist/docs/assets/{reference_cli.md.DB7Llw3T.js → reference_cli.md.1o_TqKdt.js} +7 -2
  123. package/dist/docs/assets/{reference_cli.md.DB7Llw3T.lean.js → reference_cli.md.1o_TqKdt.lean.js} +1 -1
  124. package/dist/docs/assets/{reference_extensions.md.OUacPetl.js → reference_extensions.md.DKxTuCIw.js} +11 -8
  125. package/dist/docs/assets/{reference_extensions.md.OUacPetl.lean.js → reference_extensions.md.DKxTuCIw.lean.js} +1 -1
  126. package/dist/docs/assets/{reference_instructions.md.DrcHZXig.js → reference_instructions.md.BYMVxAkw.js} +4 -4
  127. package/dist/docs/assets/{reference_instructions.md.DrcHZXig.lean.js → reference_instructions.md.BYMVxAkw.lean.js} +1 -1
  128. package/dist/docs/assets/{reference_schedules.md.BqWnJES4.js → reference_schedules.md.03Ryy9ca.js} +3 -3
  129. package/dist/docs/assets/{reference_tools.md.08XR7lIl.js → reference_tools.md.-6pypsWt.js} +1 -1
  130. package/dist/docs/assets/{style.Dwls12uf.css → style.nMsabY-V.css} +1 -1
  131. package/dist/docs/assets/templates_agentic-owners.md.CTEnR0jp.js +13 -0
  132. package/dist/docs/assets/{templates_agentic-owners.md.CvmABtia.lean.js → templates_agentic-owners.md.CTEnR0jp.lean.js} +1 -1
  133. package/dist/docs/building-with-agents.html +37 -37
  134. package/dist/docs/deployment.html +42 -42
  135. package/dist/docs/deployment.md +9 -4
  136. package/dist/docs/evals.html +37 -37
  137. package/dist/docs/guides/agent-to-agent.html +37 -37
  138. package/dist/docs/guides/bitbucket.html +37 -37
  139. package/dist/docs/guides/cloud-agents.html +38 -38
  140. package/dist/docs/guides/cloud-agents.md +1 -0
  141. package/dist/docs/guides/convert-automation.html +37 -37
  142. package/dist/docs/guides/export-grokbot.html +37 -37
  143. package/dist/docs/guides/github.html +37 -37
  144. package/dist/docs/guides/gitlab.html +37 -37
  145. package/dist/docs/guides/grokbot-agents.html +37 -37
  146. package/dist/docs/guides/hooks.html +37 -37
  147. package/dist/docs/guides/improve.html +37 -37
  148. package/dist/docs/guides/jev.html +37 -37
  149. package/dist/docs/guides/mcp-oauth.html +37 -37
  150. package/dist/docs/guides/migrate.html +37 -37
  151. package/dist/docs/guides/opentelemetry.html +49 -41
  152. package/dist/docs/guides/opentelemetry.md +54 -3
  153. package/dist/docs/guides/pagerduty.html +119 -0
  154. package/dist/docs/guides/pagerduty.md +336 -0
  155. package/dist/docs/guides/slack.html +37 -37
  156. package/dist/docs/guides/webhooks.html +37 -37
  157. package/dist/docs/hashmap.json +1 -1
  158. package/dist/docs/hillclimbing.html +37 -37
  159. package/dist/docs/index.html +37 -37
  160. package/dist/docs/llms-full.txt +510 -42
  161. package/dist/docs/llms.txt +1 -0
  162. package/dist/docs/quickstart.html +37 -37
  163. package/dist/docs/reference/agent-config.html +38 -39
  164. package/dist/docs/reference/agent-config.md +0 -1
  165. package/dist/docs/reference/artifacts.html +37 -37
  166. package/dist/docs/reference/channels.html +38 -38
  167. package/dist/docs/reference/channels.md +2 -1
  168. package/dist/docs/reference/cli.html +43 -38
  169. package/dist/docs/reference/cli.md +27 -0
  170. package/dist/docs/reference/connections.html +37 -37
  171. package/dist/docs/reference/evals.html +37 -37
  172. package/dist/docs/reference/extensions.html +47 -44
  173. package/dist/docs/reference/extensions.md +15 -9
  174. package/dist/docs/reference/hooks.html +37 -37
  175. package/dist/docs/reference/http-api.html +37 -37
  176. package/dist/docs/reference/instructions.html +40 -40
  177. package/dist/docs/reference/instructions.md +5 -1
  178. package/dist/docs/reference/memory.html +37 -37
  179. package/dist/docs/reference/playground.html +36 -36
  180. package/dist/docs/reference/project-layout.html +37 -37
  181. package/dist/docs/reference/prompt.html +37 -37
  182. package/dist/docs/reference/schedules.html +40 -40
  183. package/dist/docs/reference/sessions.html +36 -36
  184. package/dist/docs/reference/skills.html +37 -37
  185. package/dist/docs/reference/subagents.html +37 -37
  186. package/dist/docs/reference/tools.html +39 -39
  187. package/dist/docs/reference/tools.md +1 -0
  188. package/dist/docs/templates/agentic-owners.html +42 -43
  189. package/dist/docs/templates/agentic-owners.md +55 -23
  190. package/dist/docs/templates/grokbot-agents.html +37 -37
  191. package/dist/docs/templates/security-reviewer.html +37 -37
  192. package/dist/docs/templates/thermo-quality-review.html +37 -37
  193. package/dist/docs/templates/thermo-review.html +37 -37
  194. package/dist/docs/templates/triage.html +37 -37
  195. package/dist/docs/troubleshooting.html +36 -36
  196. package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
  197. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  198. package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
  199. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +1 -0
  200. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  201. package/dist/extensions/cursor-cloud-agents/lib/backend.js +2 -1
  202. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  203. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
  204. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
  205. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
  206. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
  207. package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
  208. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  209. package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
  210. package/dist/extensions/cursor-grokbot-agents/extension.js +1 -1
  211. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
  212. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
  213. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
  214. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
  215. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
  216. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
  217. package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
  218. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
  219. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  220. package/dist/extensions/improve/extension.js +1 -1
  221. package/dist/extensions/jev/extension.js +1 -1
  222. package/dist/extensions/jev/tools/evaluate.js +1 -1
  223. package/dist/extensions/slack-communication/extension.js +1 -1
  224. package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
  225. package/dist/extensions/slack-communication/tools/edit-message.js +1 -1
  226. package/dist/extensions/slack-communication/tools/post-card.js +1 -1
  227. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  228. package/dist/extensions/slack-communication/tools/post-update.js +1 -1
  229. package/dist/extensions/slack-communication/tools/react.js +1 -1
  230. package/dist/extensions/slack-communication/tools/set-status.js +1 -1
  231. package/dist/extensions.d.ts +1 -1
  232. package/dist/extensions.js +1 -1
  233. package/dist/internal/approval-gate.d.ts +4 -2
  234. package/dist/internal/approval-gate.d.ts.map +1 -1
  235. package/dist/internal/approval-gate.js +2 -1
  236. package/dist/internal/builtin-tools/artifacts.d.ts.map +1 -1
  237. package/dist/internal/builtin-tools/artifacts.js +46 -13
  238. package/dist/internal/builtin-tools/reminders.js +1 -1
  239. package/dist/internal/channel-architecture.d.ts +1 -1
  240. package/dist/internal/channel-architecture.d.ts.map +1 -1
  241. package/dist/internal/channel-architecture.js +4 -2
  242. package/dist/internal/cli-deploy.d.ts.map +1 -1
  243. package/dist/internal/cli-deploy.js +21 -12
  244. package/dist/internal/cli-pagerduty.d.ts +32 -0
  245. package/dist/internal/cli-pagerduty.d.ts.map +1 -0
  246. package/dist/internal/cli-pagerduty.js +242 -0
  247. package/dist/internal/continuation-channel.d.ts.map +1 -1
  248. package/dist/internal/continuation-channel.js +7 -0
  249. package/dist/internal/continuation-identity.d.ts +11 -3
  250. package/dist/internal/continuation-identity.d.ts.map +1 -1
  251. package/dist/internal/continuation-identity.js +83 -0
  252. package/dist/internal/convert-automation/convert-workflow.js +1 -1
  253. package/dist/internal/convert-grokbot/answers.js +1 -1
  254. package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
  255. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
  256. package/dist/internal/convert-grokbot/recipe.js +1 -1
  257. package/dist/internal/cursor/backend-client.d.ts +1 -1
  258. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  259. package/dist/internal/cursor/backend-client.js +1 -1
  260. package/dist/internal/cursor/credentials.d.ts +1 -1
  261. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  262. package/dist/internal/cursor/credentials.js +1 -1
  263. package/dist/internal/deploy-client.js +1 -1
  264. package/dist/internal/deploy-manifest.d.ts +11 -4
  265. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  266. package/dist/internal/deploy-manifest.js +19 -6
  267. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  268. package/dist/internal/discovery/agent-config.js +10 -10
  269. package/dist/internal/discovery/agent.d.ts.map +1 -1
  270. package/dist/internal/discovery/agent.js +10 -10
  271. package/dist/internal/discovery/channels.d.ts.map +1 -1
  272. package/dist/internal/discovery/channels.js +20 -16
  273. package/dist/internal/discovery/context.d.ts +16 -0
  274. package/dist/internal/discovery/context.d.ts.map +1 -1
  275. package/dist/internal/discovery/context.js +66 -0
  276. package/dist/internal/discovery/cursor-plugin.js +1 -1
  277. package/dist/internal/discovery/extension-overlay.d.ts.map +1 -1
  278. package/dist/internal/discovery/extension-overlay.js +2 -6
  279. package/dist/internal/discovery/info.d.ts.map +1 -1
  280. package/dist/internal/discovery/info.js +3 -0
  281. package/dist/internal/discovery/instructions.d.ts.map +1 -1
  282. package/dist/internal/discovery/instructions.js +3 -6
  283. package/dist/internal/discovery/modules.d.ts.map +1 -1
  284. package/dist/internal/discovery/modules.js +3 -6
  285. package/dist/internal/discovery/project.d.ts +6 -0
  286. package/dist/internal/discovery/project.d.ts.map +1 -1
  287. package/dist/internal/discovery/project.js +27 -5
  288. package/dist/internal/discovery/runtime.d.ts.map +1 -1
  289. package/dist/internal/discovery/runtime.js +8 -8
  290. package/dist/internal/discovery.d.ts +1 -1
  291. package/dist/internal/discovery.d.ts.map +1 -1
  292. package/dist/internal/discovery.js +1 -1
  293. package/dist/internal/expected-delivery-failure.d.ts.map +1 -1
  294. package/dist/internal/expected-delivery-failure.js +6 -0
  295. package/dist/internal/factory-resource-channel.d.ts +1 -1
  296. package/dist/internal/factory-resource-channel.d.ts.map +1 -1
  297. package/dist/internal/filesystem/sdk-schemas.d.ts +1 -1
  298. package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -1
  299. package/dist/internal/filesystem/sdk-schemas.js +5 -4
  300. package/dist/internal/filesystem/tools.js +1 -1
  301. package/dist/internal/hmac-secret-values.d.ts +48 -0
  302. package/dist/internal/hmac-secret-values.d.ts.map +1 -0
  303. package/dist/internal/hmac-secret-values.js +68 -0
  304. package/dist/internal/host-otel.d.ts +2 -1
  305. package/dist/internal/host-otel.d.ts.map +1 -1
  306. package/dist/internal/host-otel.js +20 -6
  307. package/dist/internal/host-platforms.d.ts.map +1 -1
  308. package/dist/internal/host-platforms.js +8 -2
  309. package/dist/internal/hosted-delivery-protocol.d.ts +4 -0
  310. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  311. package/dist/internal/hosted-delivery.d.ts +7 -0
  312. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  313. package/dist/internal/hosted-delivery.js +19 -17
  314. package/dist/internal/hosting.d.ts +6 -0
  315. package/dist/internal/hosting.d.ts.map +1 -1
  316. package/dist/internal/hosting.js +9 -0
  317. package/dist/internal/init-scaffold.js +1 -1
  318. package/dist/internal/interview/agent-questions.d.ts +1 -1
  319. package/dist/internal/interview/agent-questions.d.ts.map +1 -1
  320. package/dist/internal/interview/agent-questions.js +1 -1
  321. package/dist/internal/interview/question.d.ts +1 -1
  322. package/dist/internal/interview/question.d.ts.map +1 -1
  323. package/dist/internal/interview/question.js +1 -1
  324. package/dist/internal/json-schema.d.ts +7 -7
  325. package/dist/internal/json-schema.d.ts.map +1 -1
  326. package/dist/internal/json-schema.js +14 -17
  327. package/dist/internal/mcp-endpoint.js +1 -1
  328. package/dist/internal/otel/collector.d.ts.map +1 -1
  329. package/dist/internal/otel/collector.js +50 -19
  330. package/dist/internal/otel/config.d.ts +10 -1
  331. package/dist/internal/otel/config.d.ts.map +1 -1
  332. package/dist/internal/otel/config.js +47 -10
  333. package/dist/internal/otel/http.d.ts +1 -1
  334. package/dist/internal/otel/http.d.ts.map +1 -1
  335. package/dist/internal/otel/http.js +1 -1
  336. package/dist/internal/otel/runtime.d.ts +17 -14
  337. package/dist/internal/otel/runtime.d.ts.map +1 -1
  338. package/dist/internal/otel/runtime.js +203 -237
  339. package/dist/internal/package-inline-stdio.d.ts.map +1 -1
  340. package/dist/internal/package-inline-stdio.js +21 -5
  341. package/dist/internal/process-memory-telemetry.d.ts +1 -1
  342. package/dist/internal/process-memory-telemetry.d.ts.map +1 -1
  343. package/dist/internal/process-memory-telemetry.js +1 -1
  344. package/dist/internal/sdk-runner.d.ts +2 -3
  345. package/dist/internal/sdk-runner.d.ts.map +1 -1
  346. package/dist/internal/sdk-runner.js +30 -6
  347. package/dist/internal/secret-alternatives.d.ts +11 -0
  348. package/dist/internal/secret-alternatives.d.ts.map +1 -0
  349. package/dist/internal/secret-alternatives.js +13 -0
  350. package/dist/internal/server.d.ts.map +1 -1
  351. package/dist/internal/server.js +27 -15
  352. package/dist/internal/session-engine.d.ts +9 -1
  353. package/dist/internal/session-engine.d.ts.map +1 -1
  354. package/dist/internal/session-engine.js +30 -4
  355. package/dist/internal/slack-provision-client.js +1 -1
  356. package/dist/internal/sqlite-experimental-warning.d.ts +2 -0
  357. package/dist/internal/sqlite-experimental-warning.d.ts.map +1 -0
  358. package/dist/internal/sqlite-experimental-warning.js +22 -0
  359. package/dist/internal/store-api-protocol.d.ts +1 -1
  360. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  361. package/dist/internal/store-api-protocol.js +1 -1
  362. package/dist/internal/testing/conversation-identity-vectors.d.ts +6 -1
  363. package/dist/internal/testing/conversation-identity-vectors.d.ts.map +1 -1
  364. package/dist/internal/testing/conversation-identity-vectors.js +34 -0
  365. package/dist/internal/testing/hmac-secret-vectors.d.ts +38 -0
  366. package/dist/internal/testing/hmac-secret-vectors.d.ts.map +1 -0
  367. package/dist/internal/testing/hmac-secret-vectors.js +89 -0
  368. package/dist/internal/testing/pagerduty-continuation-fixtures.d.ts +42 -0
  369. package/dist/internal/testing/pagerduty-continuation-fixtures.d.ts.map +1 -0
  370. package/dist/internal/testing/pagerduty-continuation-fixtures.js +175 -0
  371. package/dist/internal/update-check.d.ts +1 -1
  372. package/dist/internal/update-check.d.ts.map +1 -1
  373. package/dist/internal/update-check.js +1 -1
  374. package/dist/internal/zod-schema.d.ts +14 -0
  375. package/dist/internal/zod-schema.d.ts.map +1 -0
  376. package/dist/internal/zod-schema.js +22 -0
  377. package/dist/otel.d.ts +1 -2
  378. package/dist/otel.d.ts.map +1 -1
  379. package/dist/otel.js +0 -1
  380. package/dist/playground/assets/cursor-icons-16-DmHBTm1-.woff2 +0 -0
  381. package/dist/playground/assets/index-BdMwybMt.css +1 -0
  382. package/dist/playground/assets/index-CHk6O92d.js +62 -0
  383. package/dist/playground/index.html +2 -2
  384. package/dist/tools.d.ts +14 -11
  385. package/dist/tools.d.ts.map +1 -1
  386. package/dist/tools.js +4 -3
  387. package/dist/types.d.ts +67 -16
  388. package/dist/types.d.ts.map +1 -1
  389. package/docs/deployment.md +9 -4
  390. package/docs/guides/cloud-agents.md +1 -0
  391. package/docs/guides/opentelemetry.md +54 -3
  392. package/docs/guides/pagerduty.md +341 -0
  393. package/docs/reference/agent-config.md +0 -1
  394. package/docs/reference/channels.md +2 -1
  395. package/docs/reference/cli.md +27 -0
  396. package/docs/reference/extensions.md +15 -9
  397. package/docs/reference/instructions.md +5 -1
  398. package/docs/reference/tools.md +1 -0
  399. package/docs/templates/agentic-owners.md +55 -23
  400. package/package.json +24 -19
  401. package/skills/migrate-v2/SKILL.md +1 -1
  402. package/skills/otel/SKILL.md +24 -7
  403. package/templates/agentic-owners/README.md +6 -1
  404. package/templates/agentic-owners/bot/lib/owners/decision.ts +31 -5
  405. package/templates/agentic-owners/bot/lib/owners/globalOverride.ts +60 -0
  406. package/templates/agentic-owners/bot/lib/owners/match.ts +85 -19
  407. package/templates/agentic-owners/bot/lib/owners/parse.ts +133 -2
  408. package/templates/agentic-owners/bot/lib/owners/types.ts +23 -0
  409. package/dist/docs/assets/chunks/@localSearchIndexroot.B3j7LFef.js +0 -1
  410. package/dist/docs/assets/chunks/channel.RoCpi7X1.js +0 -1
  411. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.oxdmwwqk.js +0 -1
  412. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.oxdmwwqk.js +0 -1
  413. package/dist/docs/assets/chunks/clone.BkguoIMm.js +0 -1
  414. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.7W-btjJ2.js +0 -1
  415. package/dist/docs/assets/templates_agentic-owners.md.CvmABtia.js +0 -14
  416. package/dist/playground/assets/cursor-icons-16-gwXtdAvu.woff2 +0 -0
  417. package/dist/playground/assets/index-BtsbIqV9.css +0 -1
  418. package/dist/playground/assets/index-CD8VRa25.js +0 -71
  419. /package/dist/docs/assets/{reference_channels.md.DYg0CLud.lean.js → reference_channels.md.Bxaa020x.lean.js} +0 -0
  420. /package/dist/docs/assets/{reference_schedules.md.BqWnJES4.lean.js → reference_schedules.md.03Ryy9ca.lean.js} +0 -0
  421. /package/dist/docs/assets/{reference_tools.md.08XR7lIl.lean.js → reference_tools.md.-6pypsWt.lean.js} +0 -0
package/dist/channels.js CHANGED
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * ```ts
10
10
  * import { defineChannel, POST } from "@cursor/bdk/channels";
11
- * import { z } from "zod";
11
+ * import { z } from "zod/v3";
12
12
  *
13
13
  * export default defineChannel({
14
14
  * routes: [
@@ -46,8 +46,9 @@
46
46
  */
47
47
  export { openCiCheck, resumeCiCheck, } from "./channels/checks.js";
48
48
  import { Buffer } from "node:buffer";
49
- import { createHmac, timingSafeEqual } from "node:crypto";
49
+ import { timingSafeEqual } from "node:crypto";
50
50
  import { brandDefinition } from "./internal/brand.js";
51
+ import { hmacSignatureMatchesAny, parseHmacSecrets } from "./internal/hmac-secret-values.js";
51
52
  import { attachCatchAdmission } from "./internal/hosted-catch.js";
52
53
  import { isLoopbackAddress, isLoopbackHostname } from "./internal/net.js";
53
54
  /** Configure the built-in HTTP session channel at `agent/channels/http.ts`. */
@@ -368,27 +369,40 @@ export function sharedSecretAuth(options) {
368
369
  secret: options.secret,
369
370
  });
370
371
  }
372
+ const MAX_HMAC_SEPARATOR_LENGTH = 8;
371
373
  /**
372
374
  * Admit requests whose `header` carries the hex HMAC-SHA256 of the raw body
373
375
  * under the secret named `secret` (optionally behind a literal `prefix`
374
376
  * such as `sha256=`). Same local / hosted / catch semantics as
375
377
  * {@link sharedSecretAuth}.
378
+ *
379
+ * Set `separator` for providers that send several signatures in one header
380
+ * while a secret rotates, e.g. PagerDuty's
381
+ * `X-PagerDuty-Signature: v1=<hex>,v1=<hex>` with `prefix: "v1="` and
382
+ * `separator: ","`. The request is admitted when any entry matches.
383
+ *
384
+ * The named secret may hold several signing secrets, one per line (for
385
+ * example one per provider subscription, or old and new during a
386
+ * rotation); any of them verifies. Lines are trimmed and blank lines
387
+ * ignored, a value with no line break is one secret used as-is, and a
388
+ * value holding more secrets than the cap admits nothing.
376
389
  */
377
390
  export function hmacSignatureAuth(options) {
378
391
  const header = options.header.toLowerCase();
379
392
  const prefix = options.prefix ?? "";
393
+ const separator = options.separator;
394
+ if (separator !== undefined &&
395
+ (separator.length === 0 || separator.length > MAX_HMAC_SEPARATOR_LENGTH)) {
396
+ throw new Error(`hmacSignatureAuth separator must be 1-${MAX_HMAC_SEPARATOR_LENGTH} characters.`);
397
+ }
380
398
  const policy = async (request) => {
381
- const secret = process.env[options.secret];
399
+ const parsed = parseHmacSecrets(process.env[options.secret]);
382
400
  const presented = request.headers.get(header)?.trim();
383
- if (secret === undefined ||
384
- secret.length === 0 ||
385
- presented === undefined ||
386
- !presented.startsWith(prefix)) {
401
+ if (!parsed.ok || presented === undefined) {
387
402
  return null;
388
403
  }
389
404
  const body = Buffer.from(await request.clone().arrayBuffer());
390
- const expected = createHmac("sha256", secret).update(body).digest("hex");
391
- if (!constantTimeEquals(presented.slice(prefix.length).toLowerCase(), expected)) {
405
+ if (!hmacSignatureMatchesAny({ body, presented, secrets: parsed.secrets, prefix, separator })) {
392
406
  return null;
393
407
  }
394
408
  return {
@@ -402,5 +416,6 @@ export function hmacSignatureAuth(options) {
402
416
  header,
403
417
  secret: options.secret,
404
418
  prefix: options.prefix,
419
+ separator,
405
420
  });
406
421
  }
@@ -6,10 +6,10 @@
6
6
  <title>404 | Bot Development Kit (BDK)</title>
7
7
  <meta name="description" content="Not Found">
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.BjS1QEI4.js"></script>
13
13
  <link rel="preload" href="/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
14
14
  <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>
15
15
  <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
@@ -18,7 +18,7 @@
18
18
  </head>
19
19
  <body>
20
20
  <div id="app"></div>
21
- <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>
21
+ <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\":\"DBQtp7_V\",\"guides_pagerduty.md\":\"BHXMcMtx\",\"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\":\"Bxaa020x\",\"reference_cli.md\":\"1o_TqKdt\",\"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\":\"-6pypsWt\",\"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.25\",\"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\":\"PagerDuty\",\"link\":\"/guides/pagerduty\"}]},{\"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>
22
22
 
23
23
  </body>
24
24
  </html>