@cursor/bdk 0.2.4 → 0.2.6
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.
- package/README.md +76 -1154
- package/dist/bin/agent-serve.js +17 -11
- package/dist/channels/github/github-channel.d.ts +4 -4
- package/dist/channels/github/github-channel.js +5 -5
- package/dist/channels/slack/eval-directive.js +1 -1
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.4kQ8Db_q.js → app.CJLKDVza.js} +4 -4
- package/dist/docs/assets/{building-with-agents.md.-fcjCmJU.js → building-with-agents.md.BPjPFxFg.js} +2 -2
- package/dist/docs/assets/{building-with-agents.md.-fcjCmJU.lean.js → building-with-agents.md.BPjPFxFg.lean.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.Bq-pxRXm.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.DY1RwB8Q.js → VPLocalSearchBox.BW9mrQmq.js} +1 -1
- package/dist/docs/assets/chunks/{arc.CxE_fSPK.js → arc.D8ZOvM1m.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CPX426ui.js → architectureDiagram-Q4EWVU46.CXEKhLW-.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.CB52JrKG.js → baseUniq.BJkVKblr.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.J0cNaQCL.js → blockDiagram-DXYQGD6D.DQDbHxor.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.DJn3vEGT.js → c4Diagram-AHTNJAMY.ByMD6LYM.js} +1 -1
- package/dist/docs/assets/chunks/channel.DCU8W1RP.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.Dao618F6.js → chunk-4BX2VUAB.Dtq1aVI9.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.QW8Rhjai.js → chunk-4TB4RGXK.BL_XrkoQ.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.DfRLLKF_.js → chunk-55IACEB6.BDPXu94_.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.CIV2ApKQ.js → chunk-EDXVE4YY.DhGOQj4k.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.BEheSuxp.js → chunk-FMBD7UC4.DSF5nr8v.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CUN88ENB.js → chunk-OYMX7WX6.Day7wayw.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.CgqCs8b_.js → chunk-QZHKN3VN.CpBEC0zA.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.iCH0nnTJ.js → chunk-YZCP3GAM.X_7rY1rx.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DwpXsM06.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DwpXsM06.js +1 -0
- package/dist/docs/assets/chunks/clone.DH6Mx2zB.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BLcUxhWE.js → cose-bilkent-S5V4N54A.BVRmi2ko.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.Ep7LofOm.js → dagre-KV5264BT.Dei9oslB.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.Bzf4GSQ4.js → diagram-5BDNPKRD._M-efGt7.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DD6Jh-eM.js → diagram-G4DWMVQ6.D1Vmhfsj.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.oOIl8bWd.js → diagram-MMDJMWI5.cE1bmvAC.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.DHs85Ade.js → diagram-TYMM5635.DkXAfznP.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BIb5ghCk.js → erDiagram-SMLLAGMA.DH_pSwPg.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.DV4paY9k.js → flowDiagram-DWJPFMVM.kAWVN9j1.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.AyEKA6_v.js → ganttDiagram-T4ZO3ILL.8r0w49-p.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.BltiCDFo.js → gitGraphDiagram-UUTBAWPF.BDa7Bi1i.js} +1 -1
- package/dist/docs/assets/chunks/{graph.DzuEYGdC.js → graph.BMPXHz_B.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.BV2l981J.js → infoDiagram-42DDH7IO.BmlcqewS.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.BA4Izf-m.js → ishikawaDiagram-UXIWVN3A.CVSEQSul.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.DjaFbFS3.js → journeyDiagram-VCZTEJTY.BpeWJ5n-.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CfTFieDs.js → kanban-definition-6JOO6SKY.DHbDXuxB.js} +1 -1
- package/dist/docs/assets/chunks/{layout.DzfWqTBV.js → layout.CzrCDgkP.js} +1 -1
- package/dist/docs/assets/chunks/{linear.BO6mpulV.js → linear.HwBsflwN.js} +1 -1
- package/dist/docs/assets/chunks/{min.BGgTadgT.js → min.DqGHolT3.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.DPuIXVWY.js → mindmap-definition-QFDTVHPH.ZYGlOawh.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BOnl3bBg.js → pieDiagram-DEJITSTG.C2KRXlNR.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DNB6Ckdc.js → quadrantDiagram-34T5L4WZ.CHj3Qefp.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.D5-Qo7vb.js → requirementDiagram-MS252O5E.B1L4Tf7k.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.8t65cesf.js → sankeyDiagram-XADWPNL6.dNR2yi1B.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.CaG07BdS.js → sequenceDiagram-FGHM5R23.BrvQ3C6m.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.TKOweTB6.js → stateDiagram-FHFEXIEX.BtehEykA.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.kzD0-U89.js +1 -0
- package/dist/docs/assets/chunks/{theme.Dx-JhpTB.js → theme.BDHBZUkP.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.fE53zQ2s.js → timeline-definition-GMOUNBTQ.Bn7nhqEN.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.DJsZZaJg.js → vennDiagram-DHZGUBPP.DKhc38sz.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.DOXQ0w8J.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.CMZ-Ru_t.js → wardleyDiagram-NUSXRM2D.Bbq5B2Ic.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.XXrhBc7a.js → xychartDiagram-5P7HB3ND.B77HE1K8.js} +1 -1
- package/dist/docs/assets/{deployment.md.UhnJIMr-.js → deployment.md.BdqTiGdc.js} +4 -4
- package/dist/docs/assets/{deployment.md.UhnJIMr-.lean.js → deployment.md.BdqTiGdc.lean.js} +1 -1
- package/dist/docs/assets/{evals.md.CCAtNcuL.js → evals.md.C851kViu.js} +3 -3
- package/dist/docs/assets/{evals.md.CCAtNcuL.lean.js → evals.md.C851kViu.lean.js} +1 -1
- package/dist/docs/assets/{guides_agent-to-agent.md.CGkicXeB.js → guides_agent-to-agent.md.Cps5NiCV.js} +2 -2
- package/dist/docs/assets/{guides_agent-to-agent.md.CGkicXeB.lean.js → guides_agent-to-agent.md.Cps5NiCV.lean.js} +1 -1
- package/dist/docs/assets/{guides_bitbucket.md.Cb3LPKt3.js → guides_bitbucket.md.BB6fqD-M.js} +2 -2
- package/dist/docs/assets/{guides_bitbucket.md.Cb3LPKt3.lean.js → guides_bitbucket.md.BB6fqD-M.lean.js} +1 -1
- package/dist/docs/assets/{guides_cloud-agents.md.BuEkDCwo.js → guides_cloud-agents.md.CWJjS9No.js} +2 -2
- package/dist/docs/assets/{guides_cloud-agents.md.BuEkDCwo.lean.js → guides_cloud-agents.md.CWJjS9No.lean.js} +1 -1
- package/dist/docs/assets/{guides_convert-automation.md.Ci-Y2iD5.js → guides_convert-automation.md.DMEX9nF-.js} +3 -3
- package/dist/docs/assets/{guides_convert-automation.md.Ci-Y2iD5.lean.js → guides_convert-automation.md.DMEX9nF-.lean.js} +1 -1
- package/dist/docs/assets/{guides_github.md.Bq9kQU9B.js → guides_github.md.Cr1Xlf-m.js} +3 -3
- package/dist/docs/assets/{guides_github.md.Bq9kQU9B.lean.js → guides_github.md.Cr1Xlf-m.lean.js} +1 -1
- package/dist/docs/assets/{guides_gitlab.md.BM27P43u.js → guides_gitlab.md.CMpmFi4M.js} +2 -2
- package/dist/docs/assets/{guides_gitlab.md.BM27P43u.lean.js → guides_gitlab.md.CMpmFi4M.lean.js} +1 -1
- package/dist/docs/assets/{guides_grokbot-agents.md.yxVbSlKA.js → guides_grokbot-agents.md.tD1smFhU.js} +2 -2
- package/dist/docs/assets/{guides_grokbot-agents.md.yxVbSlKA.lean.js → guides_grokbot-agents.md.tD1smFhU.lean.js} +1 -1
- package/dist/docs/assets/{guides_hooks.md.BWoiNaMq.js → guides_hooks.md.5Ce3NXxZ.js} +2 -2
- package/dist/docs/assets/{guides_hooks.md.BWoiNaMq.lean.js → guides_hooks.md.5Ce3NXxZ.lean.js} +1 -1
- package/dist/docs/assets/{guides_improve.md.COtL-6ft.js → guides_improve.md.CRrYq22s.js} +2 -2
- package/dist/docs/assets/{guides_improve.md.COtL-6ft.lean.js → guides_improve.md.CRrYq22s.lean.js} +1 -1
- package/dist/docs/assets/{guides_jev.md.CRcgmjDb.js → guides_jev.md.D7XH4JH3.js} +2 -2
- package/dist/docs/assets/{guides_jev.md.CRcgmjDb.lean.js → guides_jev.md.D7XH4JH3.lean.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.Cu6mhZ_3.js → guides_mcp-oauth.md.DR3zhC9r.js} +2 -2
- package/dist/docs/assets/{guides_mcp-oauth.md.Cu6mhZ_3.lean.js → guides_mcp-oauth.md.DR3zhC9r.lean.js} +1 -1
- package/dist/docs/assets/{guides_opentelemetry.md.DLlIB5rv.js → guides_opentelemetry.md.jcPNrQbH.js} +8 -6
- package/dist/docs/assets/{guides_opentelemetry.md.DLlIB5rv.lean.js → guides_opentelemetry.md.jcPNrQbH.lean.js} +1 -1
- package/dist/docs/assets/{guides_slack.md.diqqXTTm.js → guides_slack.md.Bn-WupSE.js} +8 -8
- package/dist/docs/assets/{guides_slack.md.diqqXTTm.lean.js → guides_slack.md.Bn-WupSE.lean.js} +1 -1
- package/dist/docs/assets/{guides_webhooks.md.D0furjw0.js → guides_webhooks.md.BBvAm_VF.js} +2 -2
- package/dist/docs/assets/{guides_webhooks.md.D0furjw0.lean.js → guides_webhooks.md.BBvAm_VF.lean.js} +1 -1
- package/dist/docs/assets/{hillclimbing.md.Biy0m-Qb.js → hillclimbing.md.Dxvd-0gT.js} +2 -2
- package/dist/docs/assets/{hillclimbing.md.Biy0m-Qb.lean.js → hillclimbing.md.Dxvd-0gT.lean.js} +1 -1
- package/dist/docs/assets/index.md.Dxxr7pFa.js +27 -0
- package/dist/docs/assets/{index.md.CVc_oOA3.lean.js → index.md.Dxxr7pFa.lean.js} +1 -1
- package/dist/docs/assets/{quickstart.md.CHpHPBUN.js → quickstart.md.BK5gjHM2.js} +2 -2
- package/dist/docs/assets/{quickstart.md.CHpHPBUN.lean.js → quickstart.md.BK5gjHM2.lean.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.Cj5uBKp4.js → reference_agent-config.md.DrtLxWgR.js} +4 -4
- package/dist/docs/assets/{reference_agent-config.md.Cj5uBKp4.lean.js → reference_agent-config.md.DrtLxWgR.lean.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.CQfKq8F2.js → reference_artifacts.md.DLV9MZES.js} +2 -2
- package/dist/docs/assets/{reference_artifacts.md.CQfKq8F2.lean.js → reference_artifacts.md.DLV9MZES.lean.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.mbNtKCiR.js → reference_channels.md.LbNIJBwd.js} +2 -2
- package/dist/docs/assets/{reference_channels.md.mbNtKCiR.lean.js → reference_channels.md.LbNIJBwd.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.DgeLTO18.js → reference_cli.md.BsgDqYPh.js} +4 -4
- package/dist/docs/assets/{reference_cli.md.DgeLTO18.lean.js → reference_cli.md.BsgDqYPh.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.COq--gAm.js → reference_connections.md.Bljpve-y.js} +4 -4
- package/dist/docs/assets/{reference_connections.md.COq--gAm.lean.js → reference_connections.md.Bljpve-y.lean.js} +1 -1
- package/dist/docs/assets/{reference_evals.md.CJm3uCUm.js → reference_evals.md.D5i8PuXJ.js} +2 -2
- package/dist/docs/assets/{reference_evals.md.CJm3uCUm.lean.js → reference_evals.md.D5i8PuXJ.lean.js} +1 -1
- package/dist/docs/assets/{reference_extensions.md.pa2tN-e4.js → reference_extensions.md.OUacPetl.js} +3 -3
- package/dist/docs/assets/{reference_extensions.md.pa2tN-e4.lean.js → reference_extensions.md.OUacPetl.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.DbthhtIR.js → reference_hooks.md.C5LCJ1R3.js} +2 -2
- package/dist/docs/assets/{reference_hooks.md.DbthhtIR.lean.js → reference_hooks.md.C5LCJ1R3.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.BZOvhCqY.js → reference_http-api.md.DbFNOubV.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.Bdwscs4G.js → reference_instructions.md.DrcHZXig.js} +2 -2
- package/dist/docs/assets/{reference_instructions.md.Bdwscs4G.lean.js → reference_instructions.md.DrcHZXig.lean.js} +1 -1
- package/dist/docs/assets/reference_playground.md.1hx0gcIu.js +1 -0
- package/dist/docs/assets/{reference_playground.md.BdQzRJc2.lean.js → reference_playground.md.1hx0gcIu.lean.js} +1 -1
- package/dist/docs/assets/{reference_project-layout.md.CpLQ9j4K.js → reference_project-layout.md.C2JMRh7p.js} +2 -2
- package/dist/docs/assets/{reference_prompt.md.BQZB4eaV.js → reference_prompt.md.DqPh71XN.js} +3 -3
- package/dist/docs/assets/{reference_prompt.md.BQZB4eaV.lean.js → reference_prompt.md.DqPh71XN.lean.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.BVU5EFbz.js → reference_schedules.md.BuJ8fgMa.js} +2 -2
- package/dist/docs/assets/{reference_schedules.md.BVU5EFbz.lean.js → reference_schedules.md.BuJ8fgMa.lean.js} +1 -1
- package/dist/docs/assets/reference_sessions.md.CM5zo3w4.js +1 -0
- package/dist/docs/assets/{reference_sessions.md.DeRUItHD.lean.js → reference_sessions.md.CM5zo3w4.lean.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.Cy00QMKS.js → reference_skills.md.ClkMoQsV.js} +2 -2
- package/dist/docs/assets/{reference_skills.md.Cy00QMKS.lean.js → reference_skills.md.ClkMoQsV.lean.js} +1 -1
- package/dist/docs/assets/{reference_subagents.md.B8oyeXOI.js → reference_subagents.md.gmPt5J-M.js} +2 -2
- package/dist/docs/assets/{reference_subagents.md.B8oyeXOI.lean.js → reference_subagents.md.gmPt5J-M.lean.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.hg2Wi5Bq.js → reference_tools.md.v3SXVSs_.js} +2 -2
- package/dist/docs/assets/{reference_tools.md.hg2Wi5Bq.lean.js → reference_tools.md.v3SXVSs_.lean.js} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.BykUiZ8j.js → templates_agentic-owners.md.CvmABtia.js} +2 -2
- package/dist/docs/assets/templates_grokbot-agents.md.2sydjFiO.js +5 -0
- package/dist/docs/assets/templates_grokbot-agents.md.2sydjFiO.lean.js +1 -0
- package/dist/docs/assets/{templates_security-reviewer.md.DXMmKl_o.js → templates_security-reviewer.md.Gh6EF9Us.js} +3 -2
- package/dist/docs/assets/{templates_security-reviewer.md.DXMmKl_o.lean.js → templates_security-reviewer.md.Gh6EF9Us.lean.js} +1 -1
- package/dist/docs/assets/{templates_thermo-quality-review.md.Dg1p1MsG.js → templates_thermo-quality-review.md.B77UyTrX.js} +2 -2
- package/dist/docs/assets/{templates_thermo-quality-review.md.Dg1p1MsG.lean.js → templates_thermo-quality-review.md.B77UyTrX.lean.js} +1 -1
- package/dist/docs/assets/{templates_thermo-review.md.Dlylkowj.js → templates_thermo-review.md.DRJ7mC5U.js} +2 -2
- package/dist/docs/assets/{templates_thermo-review.md.Dlylkowj.lean.js → templates_thermo-review.md.DRJ7mC5U.lean.js} +1 -1
- package/dist/docs/assets/templates_triage.md.CNN6b0JZ.js +9 -0
- package/dist/docs/assets/{templates_triage.md.CvJyx81N.lean.js → templates_triage.md.CNN6b0JZ.lean.js} +1 -1
- package/dist/docs/assets/troubleshooting.md.Bscj6ODe.js +1 -0
- package/dist/docs/assets/{troubleshooting.md.Cw5PKa3t.lean.js → troubleshooting.md.Bscj6ODe.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +36 -36
- package/dist/docs/building-with-agents.md +0 -3
- package/dist/docs/deployment.html +38 -38
- package/dist/docs/deployment.md +2 -9
- package/dist/docs/evals.html +37 -37
- package/dist/docs/evals.md +2 -5
- package/dist/docs/guides/agent-to-agent.html +36 -36
- package/dist/docs/guides/agent-to-agent.md +0 -3
- package/dist/docs/guides/bitbucket.html +36 -36
- package/dist/docs/guides/bitbucket.md +0 -3
- package/dist/docs/guides/cloud-agents.html +36 -36
- package/dist/docs/guides/cloud-agents.md +0 -4
- package/dist/docs/guides/convert-automation.html +37 -37
- package/dist/docs/guides/convert-automation.md +2 -5
- package/dist/docs/guides/github.html +37 -37
- package/dist/docs/guides/github.md +1 -4
- package/dist/docs/guides/gitlab.html +36 -36
- package/dist/docs/guides/gitlab.md +0 -3
- package/dist/docs/guides/grokbot-agents.html +37 -37
- package/dist/docs/guides/grokbot-agents.md +1 -4
- package/dist/docs/guides/hooks.html +36 -36
- package/dist/docs/guides/hooks.md +0 -3
- package/dist/docs/guides/improve.html +36 -36
- package/dist/docs/guides/improve.md +0 -3
- package/dist/docs/guides/jev.html +36 -36
- package/dist/docs/guides/jev.md +0 -3
- package/dist/docs/guides/mcp-oauth.html +37 -37
- package/dist/docs/guides/mcp-oauth.md +1 -4
- package/dist/docs/guides/opentelemetry.html +42 -40
- package/dist/docs/guides/opentelemetry.md +4 -5
- package/dist/docs/guides/slack.html +43 -43
- package/dist/docs/guides/slack.md +14 -24
- package/dist/docs/guides/webhooks.html +36 -36
- package/dist/docs/guides/webhooks.md +0 -3
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +36 -36
- package/dist/docs/hillclimbing.md +0 -3
- package/dist/docs/index.html +38 -38
- package/dist/docs/index.md +9 -16
- package/dist/docs/llms-full.txt +153 -234
- package/dist/docs/llms.txt +1 -0
- package/dist/docs/quickstart.html +36 -36
- package/dist/docs/quickstart.md +2 -7
- package/dist/docs/reference/agent-config.html +38 -38
- package/dist/docs/reference/agent-config.md +4 -7
- package/dist/docs/reference/artifacts.html +36 -36
- package/dist/docs/reference/artifacts.md +0 -3
- package/dist/docs/reference/channels.html +37 -37
- package/dist/docs/reference/channels.md +1 -6
- package/dist/docs/reference/cli.html +38 -38
- package/dist/docs/reference/cli.md +7 -14
- package/dist/docs/reference/connections.html +38 -38
- package/dist/docs/reference/connections.md +7 -10
- package/dist/docs/reference/evals.html +36 -36
- package/dist/docs/reference/evals.md +0 -3
- package/dist/docs/reference/extensions.html +37 -37
- package/dist/docs/reference/extensions.md +2 -5
- package/dist/docs/reference/hooks.html +36 -36
- package/dist/docs/reference/hooks.md +0 -3
- package/dist/docs/reference/http-api.html +37 -37
- package/dist/docs/reference/http-api.md +1 -1
- package/dist/docs/reference/instructions.html +36 -36
- package/dist/docs/reference/instructions.md +0 -3
- package/dist/docs/reference/playground.html +36 -36
- package/dist/docs/reference/playground.md +0 -3
- package/dist/docs/reference/project-layout.html +37 -37
- package/dist/docs/reference/project-layout.md +2 -2
- package/dist/docs/reference/prompt.html +37 -37
- package/dist/docs/reference/prompt.md +0 -3
- package/dist/docs/reference/schedules.html +36 -36
- package/dist/docs/reference/schedules.md +0 -3
- package/dist/docs/reference/sessions.html +36 -36
- package/dist/docs/reference/sessions.md +0 -3
- package/dist/docs/reference/skills.html +36 -36
- package/dist/docs/reference/skills.md +0 -3
- package/dist/docs/reference/subagents.html +36 -36
- package/dist/docs/reference/subagents.md +0 -3
- package/dist/docs/reference/tools.html +36 -36
- package/dist/docs/reference/tools.md +1 -5
- package/dist/docs/templates/agentic-owners.html +37 -37
- package/dist/docs/templates/agentic-owners.md +2 -3
- package/dist/docs/templates/grokbot-agents.html +64 -0
- package/dist/docs/templates/grokbot-agents.md +55 -0
- package/dist/docs/templates/security-reviewer.html +38 -37
- package/dist/docs/templates/security-reviewer.md +7 -11
- package/dist/docs/templates/thermo-quality-review.html +37 -37
- package/dist/docs/templates/thermo-quality-review.md +5 -8
- package/dist/docs/templates/thermo-review.html +37 -37
- package/dist/docs/templates/thermo-review.md +5 -7
- package/dist/docs/templates/triage.html +39 -39
- package/dist/docs/templates/triage.md +8 -4
- package/dist/docs/troubleshooting.html +36 -36
- package/dist/docs/troubleshooting.md +3 -7
- package/dist/evals.d.ts +2 -2
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +14 -7
- package/dist/internal/eval-runner.js +7 -4
- package/dist/internal/init-interview.d.ts +0 -1
- package/dist/internal/init-interview.d.ts.map +1 -1
- package/dist/internal/init-interview.js +15 -24
- package/dist/internal/legacy-command-guard.d.ts +4 -1
- package/dist/internal/legacy-command-guard.d.ts.map +1 -1
- package/dist/internal/legacy-command-guard.js +11 -2
- package/dist/internal/platform-timers.d.ts +8 -1
- package/dist/internal/platform-timers.d.ts.map +1 -1
- package/dist/internal/platform-timers.js +10 -2
- package/dist/internal/reminder-control-plane-protocol.d.ts +8 -1
- package/dist/internal/reminder-control-plane-protocol.d.ts.map +1 -1
- package/dist/internal/reminder-runner.d.ts +5 -0
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +27 -1
- package/dist/internal/resolve-prod-target.d.ts +3 -0
- package/dist/internal/resolve-prod-target.d.ts.map +1 -1
- package/dist/internal/resolve-prod-target.js +2 -1
- package/dist/internal/run-client.d.ts +10 -1
- package/dist/internal/run-client.d.ts.map +1 -1
- package/dist/internal/run-client.js +152 -51
- package/dist/internal/server.d.ts +6 -0
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +20 -8
- package/dist/internal/session-links.d.ts.map +1 -1
- package/dist/internal/session-links.js +8 -7
- package/dist/internal/sessions-client.d.ts +1 -0
- package/dist/internal/sessions-client.d.ts.map +1 -1
- package/dist/internal/sessions-client.js +2 -0
- package/docs/README.md +9 -16
- package/docs/building-with-agents.md +0 -3
- package/docs/deployment.md +2 -9
- package/docs/evals.md +2 -5
- package/docs/guides/agent-to-agent.md +0 -3
- package/docs/guides/bitbucket.md +0 -3
- package/docs/guides/cloud-agents.md +0 -4
- package/docs/guides/convert-automation.md +2 -5
- package/docs/guides/github.md +1 -4
- package/docs/guides/gitlab.md +0 -3
- package/docs/guides/grokbot-agents.md +1 -4
- package/docs/guides/hooks.md +0 -3
- package/docs/guides/improve.md +0 -3
- package/docs/guides/jev.md +0 -3
- package/docs/guides/mcp-oauth.md +1 -4
- package/docs/guides/opentelemetry.md +4 -5
- package/docs/guides/slack.md +14 -24
- package/docs/guides/webhooks.md +0 -3
- package/docs/hillclimbing.md +0 -3
- package/docs/quickstart.md +2 -7
- package/docs/reference/agent-config.md +4 -7
- package/docs/reference/artifacts.md +0 -3
- package/docs/reference/channels.md +1 -6
- package/docs/reference/cli.md +7 -14
- package/docs/reference/connections.md +7 -10
- package/docs/reference/evals.md +0 -3
- package/docs/reference/extensions.md +2 -5
- package/docs/reference/hooks.md +0 -3
- package/docs/reference/http-api.md +1 -1
- package/docs/reference/instructions.md +0 -3
- package/docs/reference/playground.md +0 -3
- package/docs/reference/project-layout.md +2 -2
- package/docs/reference/prompt.md +0 -3
- package/docs/reference/schedules.md +0 -3
- package/docs/reference/sessions.md +0 -3
- package/docs/reference/skills.md +0 -3
- package/docs/reference/subagents.md +0 -3
- package/docs/reference/tools.md +1 -5
- package/docs/templates/agentic-owners.md +2 -3
- package/docs/templates/grokbot-agents.md +60 -0
- package/docs/templates/security-reviewer.md +7 -11
- package/docs/templates/thermo-quality-review.md +5 -8
- package/docs/templates/thermo-review.md +5 -7
- package/docs/templates/triage.md +8 -4
- package/docs/troubleshooting.md +3 -7
- package/package.json +2 -2
- package/templates/agentic-owners/README.md +0 -3
- package/templates/agents-md/README.md +4 -3
- package/templates/agents-md/evals/agents.eval.ts +1 -0
- package/templates/code-wiki/README.md +0 -3
- package/templates/code-wiki/bot/instructions.md +4 -4
- package/templates/demo/README.md +0 -3
- package/templates/grokbot-agents/README.md +4 -6
- package/templates/security-help/README.md +12 -6
- package/templates/security-reviewer/README.md +5 -6
- package/templates/security-reviewer/bot/tools/post_findings.ts +8 -8
- package/templates/thermo-quality-review/README.md +0 -3
- package/templates/thermo-quality-review/bot/tools/post_findings.ts +8 -8
- package/templates/thermo-review/README.md +0 -3
- package/templates/thermo-review/bot/tools/post_findings.ts +8 -8
- package/templates/triage/README.md +0 -3
- package/templates/triage/overlays/jira/README.md +0 -3
- package/templates/triage/overlays/linear/README.md +0 -3
- package/dist/docs/assets/chunks/@localSearchIndexroot.CvuAJ0My.js +0 -1
- package/dist/docs/assets/chunks/channel.BoNycAoN.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C4x07Gkj.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C4x07Gkj.js +0 -1
- package/dist/docs/assets/chunks/clone.Db22cH_-.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CuqmyQc4.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.844kyrjl.js +0 -162
- package/dist/docs/assets/index.md.CVc_oOA3.js +0 -27
- package/dist/docs/assets/reference_playground.md.BdQzRJc2.js +0 -1
- package/dist/docs/assets/reference_sessions.md.DeRUItHD.js +0 -1
- package/dist/docs/assets/templates_triage.md.CvJyx81N.js +0 -9
- package/dist/docs/assets/troubleshooting.md.Cw5PKa3t.js +0 -1
- /package/dist/docs/assets/{reference_http-api.md.BZOvhCqY.lean.js → reference_http-api.md.DbFNOubV.lean.js} +0 -0
- /package/dist/docs/assets/{reference_project-layout.md.CpLQ9j4K.lean.js → reference_project-layout.md.C2JMRh7p.lean.js} +0 -0
- /package/dist/docs/assets/{templates_agentic-owners.md.BykUiZ8j.lean.js → templates_agentic-owners.md.CvmABtia.lean.js} +0 -0
package/dist/docs/llms-full.txt
CHANGED
|
@@ -13,9 +13,6 @@ a coding agent can create the project, exercise its tools, run a real
|
|
|
13
13
|
turn, and inspect the result. You approve the plan and side effects
|
|
14
14
|
while the coding agent owns the implementation loop.
|
|
15
15
|
|
|
16
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
17
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
18
|
-
|
|
19
16
|
This page covers a coding agent working inside a checkout. To let a
|
|
20
17
|
running agent propose changes to its own source, use the separate
|
|
21
18
|
[self-improvement extension](/docs/guides/improve.md).
|
|
@@ -153,10 +150,6 @@ Cursor-managed hosting builds the selected Git ref and operates the
|
|
|
153
150
|
runtime; self-hosting gives you control of the network, process, and
|
|
154
151
|
filesystem.
|
|
155
152
|
|
|
156
|
-
The `@cursor/bdk` imports and `bdk` commands in these examples are
|
|
157
|
-
docs-ahead until publication; see
|
|
158
|
-
[BDK package availability](/docs/index.md#bdk-package-availability).
|
|
159
|
-
|
|
160
153
|
## Choose managed hosting or self-hosting
|
|
161
154
|
|
|
162
155
|
| Option | Use it when | You manage |
|
|
@@ -173,9 +166,6 @@ API.
|
|
|
173
166
|
Commit and push the exact ref you want to run, then sign in, validate,
|
|
174
167
|
and deploy. The preferred CLI is `bdk`.
|
|
175
168
|
|
|
176
|
-
> **Docs ahead:** `@cursor/bdk` is not on npm yet. This block shows future
|
|
177
|
-
> CLI syntax and will not run until the package publishes.
|
|
178
|
-
|
|
179
169
|
```text
|
|
180
170
|
cd my-agent
|
|
181
171
|
bdk login
|
|
@@ -184,7 +174,7 @@ bdk validate
|
|
|
184
174
|
bdk deploy
|
|
185
175
|
```
|
|
186
176
|
|
|
187
|
-
The deploy command waits until the
|
|
177
|
+
The deploy command waits until the runtime is running and prints the stable
|
|
188
178
|
deployment URL.
|
|
189
179
|
|
|
190
180
|
`deploy` reads from Git; it does not upload your working tree. Inside a
|
|
@@ -327,7 +317,7 @@ multi-agent deployment, stop, and delete behavior.
|
|
|
327
317
|
|
|
328
318
|
Managed hosting persists framework-owned session, KV, and file state
|
|
329
319
|
across normal runtime replacements. Files written elsewhere on the
|
|
330
|
-
|
|
320
|
+
runtime's local filesystem are disposable; use `ctx.host.kv` or
|
|
331
321
|
`ctx.host.files` for durable application state.
|
|
332
322
|
|
|
333
323
|
Parked approvals and in-memory reminder handlers do not survive a
|
|
@@ -405,9 +395,6 @@ not to discover what the prompt should do.
|
|
|
405
395
|
Evals run real model turns and real tools. Guard external writes before
|
|
406
396
|
running a suite against an agent that can post, merge, or deploy.
|
|
407
397
|
|
|
408
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
409
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
410
|
-
|
|
411
398
|
## Protect a tool decision
|
|
412
399
|
|
|
413
400
|
This smoke case asks for a PR verdict, requires the read-only inspection
|
|
@@ -589,8 +576,8 @@ Run `--tag smoke` on pull requests and the full suite on a schedule when
|
|
|
589
576
|
cost or latency makes every-push coverage impractical. Use soft scores
|
|
590
577
|
for a new probabilistic benchmark until its threshold is trustworthy.
|
|
591
578
|
|
|
592
|
-
The [CLI reference](/docs/reference/cli.md#eval) covers selectors,
|
|
593
|
-
|
|
579
|
+
The [CLI reference](/docs/reference/cli.md#eval) covers selectors,
|
|
580
|
+
server-side batches, exit codes, and JSON output.
|
|
594
581
|
|
|
595
582
|
## Keep side effects out of eval sessions
|
|
596
583
|
|
|
@@ -664,9 +651,6 @@ help. The specialist keeps its own instructions, tools, and session,
|
|
|
664
651
|
while the caller decides when to delegate and returns the answer to the
|
|
665
652
|
user. Co-host both projects under one `bdk` process.
|
|
666
653
|
|
|
667
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
668
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
669
|
-
|
|
670
654
|
## Delegate a question to a specialist
|
|
671
655
|
|
|
672
656
|
Ask the concierge about the weather and it hands the question to the
|
|
@@ -821,9 +805,6 @@ current pull-request or commit state, and writes the result back to
|
|
|
821
805
|
Bitbucket. `bitbucketChannel()` gives the same hooks and normalized
|
|
822
806
|
payloads on Bitbucket Cloud and Data Center.
|
|
823
807
|
|
|
824
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
825
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
826
|
-
|
|
827
808
|
## Review a pull request
|
|
828
809
|
|
|
829
810
|
Creating a pull request, or pushing new commits to a Data Center pull
|
|
@@ -1117,10 +1098,6 @@ same branch.
|
|
|
1117
1098
|
|
|
1118
1099
|
## Mount it
|
|
1119
1100
|
|
|
1120
|
-
The extension will ship with `@cursor/bdk` when the package publishes.
|
|
1121
|
-
This import is docs-ahead; see
|
|
1122
|
-
[BDK package availability](/docs/index.md#bdk-package-availability).
|
|
1123
|
-
|
|
1124
1101
|
```ts
|
|
1125
1102
|
// bot/extensions/cloud.ts
|
|
1126
1103
|
import cursorCloudAgents from "@cursor/bdk/extensions/cursor-cloud-agents";
|
|
@@ -1213,9 +1190,6 @@ path.
|
|
|
1213
1190
|
configuration and prints a checklist for everything that still needs
|
|
1214
1191
|
your judgment.
|
|
1215
1192
|
|
|
1216
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
1217
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
1218
|
-
|
|
1219
1193
|
## Convert and run locally
|
|
1220
1194
|
|
|
1221
1195
|
The command creates a project named after the Automation, installs its
|
|
@@ -1300,9 +1274,9 @@ reply experience and app setup.
|
|
|
1300
1274
|
|
|
1301
1275
|
The generated GitHub channel keeps mechanical filters such as PR
|
|
1302
1276
|
actions, branches, issue actions, repositories, and simple user
|
|
1303
|
-
allowlists. Conditions that
|
|
1277
|
+
allowlists. Conditions that depend on dashboard-only context stay
|
|
1304
1278
|
fail-closed, so the corresponding hook returns `null` until you replace
|
|
1305
|
-
|
|
1279
|
+
them.
|
|
1306
1280
|
|
|
1307
1281
|
For example, a converted CI trigger can wake only when the suite fails:
|
|
1308
1282
|
|
|
@@ -1397,9 +1371,6 @@ latest PR and CI state, then write back reviews, comments, checks, or
|
|
|
1397
1371
|
pushes. Pull events from Cursor, so you don't expose a public webhook
|
|
1398
1372
|
URL.
|
|
1399
1373
|
|
|
1400
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
1401
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
1402
|
-
|
|
1403
1374
|
Connect GitHub in Cursor for the repos you care about (Settings or
|
|
1404
1375
|
[cursor.com/dashboard](https://cursor.com/dashboard)). Sign the host in
|
|
1405
1376
|
with `bdk login`. `cursorAccount` reuses that connection for
|
|
@@ -1626,7 +1597,7 @@ Every wake for the same repo and PR number resumes the same session. The
|
|
|
1626
1597
|
channel keys turns as `github-pr:acme/checkout#42`. Opens, comments, and
|
|
1627
1598
|
CI results share that conversation.
|
|
1628
1599
|
|
|
1629
|
-
## Call GitHub from
|
|
1600
|
+
## Call GitHub from deterministic code via `ctx`
|
|
1630
1601
|
|
|
1631
1602
|
`cursorAccount` puts one credential on both surfaces:
|
|
1632
1603
|
|
|
@@ -1762,9 +1733,6 @@ project or merge-request state, and writes the result back to GitLab.
|
|
|
1762
1733
|
`gitlabChannel()` supports the same hooks on GitLab.com and self-managed
|
|
1763
1734
|
GitLab.
|
|
1764
1735
|
|
|
1765
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
1766
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
1767
|
-
|
|
1768
1736
|
## Review a merge request
|
|
1769
1737
|
|
|
1770
1738
|
Opening, reopening, or pushing commits to a merge request starts a
|
|
@@ -2061,9 +2029,6 @@ the Grok Bot agents on its serve host's Cursor account. The bot keeps
|
|
|
2061
2029
|
its existing conversation, memory, and tools, while your agent carries
|
|
2062
2030
|
the delivered reply back into the current conversation.
|
|
2063
2031
|
|
|
2064
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
2065
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
2066
|
-
|
|
2067
2032
|
Use this extension on the local runtime. It consults another Grok Bot;
|
|
2068
2033
|
it does not move this agent onto a Grok Bot runtime.
|
|
2069
2034
|
|
|
@@ -2113,7 +2078,7 @@ The message must include who is asking, the relevant facts, and the
|
|
|
2113
2078
|
shape of the answer. The Grok Bot does not see the current BDK
|
|
2114
2079
|
conversation.
|
|
2115
2080
|
|
|
2116
|
-
>
|
|
2081
|
+
> Avery is deciding whether to move Saturday's picnic. The forecast is
|
|
2117
2082
|
> 70% rain from 1-4pm. Recommend keep or move, give one reason, and name
|
|
2118
2083
|
> the best alternate time.
|
|
2119
2084
|
|
|
@@ -2208,9 +2173,6 @@ as updating metrics or sending alerts. They never change the turn, prompt, or
|
|
|
2208
2173
|
reply. Author them under `bot/hooks/` with `defineHook` from
|
|
2209
2174
|
`@cursor/bdk/hooks`.
|
|
2210
2175
|
|
|
2211
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
2212
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
2213
|
-
|
|
2214
2176
|
## Meter token usage
|
|
2215
2177
|
|
|
2216
2178
|
With [OpenTelemetry](/docs/guides/opentelemetry.md) configured, this hook adds a live
|
|
@@ -2327,9 +2289,6 @@ work" into a source change. The agent prepares a brief, a Cursor cloud
|
|
|
2327
2289
|
agent edits a checkout and opens a pull request, and the running agent
|
|
2328
2290
|
reports the verified PR for human review.
|
|
2329
2291
|
|
|
2330
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
2331
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
2332
|
-
|
|
2333
2292
|
Durable behavior does not change until that source is merged and
|
|
2334
2293
|
deployed.
|
|
2335
2294
|
|
|
@@ -2467,9 +2426,6 @@ risk, choose a reviewer, or decide whether a merge needs a documentation
|
|
|
2467
2426
|
follow-up. Jev returns a choice, score, or probability; your TypeScript
|
|
2468
2427
|
decides what happens next.
|
|
2469
2428
|
|
|
2470
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
2471
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
2472
|
-
|
|
2473
2429
|
Set `TYPESAFE_API_KEY`. The default model is `jev-latest`.
|
|
2474
2430
|
|
|
2475
2431
|
```ts
|
|
@@ -2772,9 +2728,6 @@ without putting tokens in the agent's source or workspace. Use it when
|
|
|
2772
2728
|
the server speaks OAuth and its credentials should belong to the serve
|
|
2773
2729
|
host instead of a person's Cursor account.
|
|
2774
2730
|
|
|
2775
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
2776
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
2777
|
-
|
|
2778
2731
|
## Use a private MCP tool locally
|
|
2779
2732
|
|
|
2780
2733
|
Declare the remote server, authorize it once in the browser, and start
|
|
@@ -2891,7 +2844,7 @@ bdk deploy
|
|
|
2891
2844
|
```
|
|
2892
2845
|
|
|
2893
2846
|
`--store` writes deployment secrets; it does not restart the current
|
|
2894
|
-
|
|
2847
|
+
process. Follow the CLI or dashboard prompt to redeploy, then exercise
|
|
2895
2848
|
the hosted agent.
|
|
2896
2849
|
|
|
2897
2850
|
These credentials belong to the deployment, not to the person who
|
|
@@ -2942,16 +2895,13 @@ cost metrics from the serve process.
|
|
|
2942
2895
|
Export is opt-in. Nothing leaves the process until you configure a
|
|
2943
2896
|
destination.
|
|
2944
2897
|
|
|
2945
|
-
The `bdk` commands on this page are docs-ahead until `@cursor/bdk` is
|
|
2946
|
-
published; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
2947
|
-
|
|
2948
2898
|
## Connect an OTLP collector
|
|
2949
2899
|
|
|
2950
2900
|
Set the collector endpoint, start the agent, and send it a message. You
|
|
2951
2901
|
should see an `agent_sdk.http` request span and an `agent_sdk.turn`
|
|
2952
2902
|
trace, with any tool or subagent work nested under the turn.
|
|
2953
2903
|
|
|
2954
|
-
```
|
|
2904
|
+
```bash
|
|
2955
2905
|
export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.example.com
|
|
2956
2906
|
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer $OTEL_TOKEN"
|
|
2957
2907
|
export OTEL_SERVICE_NAME=incident-agent
|
|
@@ -2964,7 +2914,9 @@ The default protocol is OTLP/HTTP protobuf. If you already call
|
|
|
2964
2914
|
code:
|
|
2965
2915
|
|
|
2966
2916
|
```ts
|
|
2967
|
-
|
|
2917
|
+
import { serve } from "@cursor/bdk";
|
|
2918
|
+
|
|
2919
|
+
await serve(".", {
|
|
2968
2920
|
otel: {
|
|
2969
2921
|
serviceName: "incident-agent",
|
|
2970
2922
|
exporters: [
|
|
@@ -3097,9 +3049,6 @@ in a channel it watches. From there, it keeps the conversation in one
|
|
|
3097
3049
|
thread and can reply all at once, stream the answer live, or decide for
|
|
3098
3050
|
itself when to post updates.
|
|
3099
3051
|
|
|
3100
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
3101
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
3102
|
-
|
|
3103
3052
|
Run `bdk slack create --dir .`, then `bdk slack doctor`.
|
|
3104
3053
|
|
|
3105
3054
|
## Answer a mention or DM
|
|
@@ -3134,7 +3083,7 @@ export default slackChannel({
|
|
|
3134
3083
|
reasoning: true,
|
|
3135
3084
|
// Tool names as they start ("Running grep, glob...").
|
|
3136
3085
|
tools: true,
|
|
3137
|
-
idle: ["Checking the
|
|
3086
|
+
idle: ["Checking the request...", "Reviewing recent activity..."],
|
|
3138
3087
|
},
|
|
3139
3088
|
},
|
|
3140
3089
|
});
|
|
@@ -3195,15 +3144,12 @@ This example watches `#triage-alerts`, so any substantial top-level
|
|
|
3195
3144
|
message starts a thread even when nobody mentions the bot. The length
|
|
3196
3145
|
guard filters out short posts before they can start a turn.
|
|
3197
3146
|
|
|
3198
|
-
Mentions
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
guest watcher: it is not a hosting subscription. A thread reply on
|
|
3205
|
-
Cursor-managed hosting is delivered when a mention already opened that
|
|
3206
|
-
thread, and a top-level post does not match.
|
|
3147
|
+
Mentions work in any channel the bot has joined. Listening without a
|
|
3148
|
+
mention requires an explicit allowlist with at least one channel ID
|
|
3149
|
+
starting with `C` or `G` and at most 10 distinct IDs. You can add
|
|
3150
|
+
`#name` entries for readability. A lone `"*"` watches replies in every
|
|
3151
|
+
joined channel (`posts: "replies"`), but it does not wake on top-level
|
|
3152
|
+
posts. Do not mix `"*"` with channel IDs.
|
|
3207
3153
|
|
|
3208
3154
|
```ts
|
|
3209
3155
|
export default slackChannel({
|
|
@@ -3227,15 +3173,11 @@ export default slackChannel({
|
|
|
3227
3173
|
When you create the app, pass `--channel-posts` and invite the bot to
|
|
3228
3174
|
every channel in the allowlist.
|
|
3229
3175
|
|
|
3230
|
-
On Cursor-managed hosting the
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
the control plane answers every delivery immediately, and edits arrive
|
|
3236
|
-
as separate deliveries that are dropped at the edge. Channel ids match
|
|
3237
|
-
without any Slack call; `#name` entries are resolved once per pod with
|
|
3238
|
-
the bot token and need the `channels:read` scope.
|
|
3176
|
+
On Cursor-managed hosting, the channel IDs in `allow` define which
|
|
3177
|
+
top-level posts can wake the agent. Replies in threads the agent has
|
|
3178
|
+
already joined still arrive. `debounceMs` applies only when you
|
|
3179
|
+
self-host. Add the `channels:read` scope when you include `#name`
|
|
3180
|
+
labels.
|
|
3239
3181
|
|
|
3240
3182
|
## Control who can message
|
|
3241
3183
|
|
|
@@ -3317,7 +3259,7 @@ Use the IDs on the hook `ctx` when handling an event, and
|
|
|
3317
3259
|
|
|
3318
3260
|
## Connect
|
|
3319
3261
|
|
|
3320
|
-
```
|
|
3262
|
+
```bash
|
|
3321
3263
|
bdk login
|
|
3322
3264
|
bdk slack create --dir .
|
|
3323
3265
|
bdk slack doctor --prefix TRIAGE
|
|
@@ -3343,7 +3285,7 @@ and tokens.
|
|
|
3343
3285
|
Run `doctor` first to catch missing credentials, then start the agent
|
|
3344
3286
|
and send it the same mention or DM a teammate would.
|
|
3345
3287
|
|
|
3346
|
-
```
|
|
3288
|
+
```bash
|
|
3347
3289
|
bdk slack doctor --prefix TRIAGE
|
|
3348
3290
|
bdk serve --dir . --dev
|
|
3349
3291
|
```
|
|
@@ -3380,9 +3322,6 @@ conversation, then sends the result back to the system that started it.
|
|
|
3380
3322
|
Use one when the built-in [HTTP API](/docs/reference/http-api.md) does not
|
|
3381
3323
|
match the provider's payload, conversation key, or reply path.
|
|
3382
3324
|
|
|
3383
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
3384
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
3385
|
-
|
|
3386
3325
|
Author `bot/channels/<id>.ts`. Its routes mount under
|
|
3387
3326
|
`/<slug>/v1/channels/<id>`.
|
|
3388
3327
|
|
|
@@ -3624,9 +3563,6 @@ crossing the freeze line.
|
|
|
3624
3563
|
The companion [`hillclimb` skill](https://github.com/cursor/cursor/blob/main/packages/agent-serve/skills/hillclimb/SKILL.md) can run
|
|
3625
3564
|
this loop with you.
|
|
3626
3565
|
|
|
3627
|
-
The `bdk` commands on this page are docs-ahead until `@cursor/bdk` is
|
|
3628
|
-
published; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
3629
|
-
|
|
3630
3566
|
## Correct a wrong tool choice
|
|
3631
3567
|
|
|
3632
3568
|
Suppose a PR reviewer calls `approve_pr` before `inspect_pr`. Pin one PR
|
|
@@ -3758,9 +3694,9 @@ Source: /docs/index.md
|
|
|
3758
3694
|
|
|
3759
3695
|
# Grok Bot Development Kit (BDK)
|
|
3760
3696
|
|
|
3761
|
-
The Grok Bot Development Kit (BDK)
|
|
3762
|
-
|
|
3763
|
-
Approval Bot.
|
|
3697
|
+
The Grok Bot Development Kit (BDK) lets you define, test, and deploy agents
|
|
3698
|
+
as code. It uses the Cursor SDK harness that powers Bugbot, Security Review,
|
|
3699
|
+
and Approval Bot.
|
|
3764
3700
|
|
|
3765
3701
|
A BDK project is a folder of Markdown and TypeScript. Combine deterministic
|
|
3766
3702
|
code with model judgment, then make the bot or agent available in source
|
|
@@ -3800,17 +3736,9 @@ sandboxing on Cursor infrastructure or on your own host.
|
|
|
3800
3736
|
|
|
3801
3737
|

|
|
3802
3738
|
|
|
3803
|
-
## BDK package availability
|
|
3804
|
-
|
|
3805
|
-
BDK uses the `@cursor/bdk` package and `bdk` binary. The package isn't on npm
|
|
3806
|
-
yet, so its install commands won't run until publication.
|
|
3807
|
-
|
|
3808
3739
|
## Get started
|
|
3809
3740
|
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
> **Docs ahead:** `@cursor/bdk` is not on npm yet. The package will install
|
|
3813
|
-
> the `bdk` binary; this block will not run until it publishes.
|
|
3741
|
+
Install `@cursor/bdk`, then start with `bdk init` and `bdk dev`.
|
|
3814
3742
|
|
|
3815
3743
|
```text
|
|
3816
3744
|
npm install --global @cursor/bdk
|
|
@@ -3835,7 +3763,7 @@ my-bot/
|
|
|
3835
3763
|
│ ├── mcp-connections/
|
|
3836
3764
|
│ │ └── linear.ts # tools from an MCP server
|
|
3837
3765
|
│ ├── host-connections/
|
|
3838
|
-
│ │ └──
|
|
3766
|
+
│ │ └── inventory.ts # host-only MCP tools
|
|
3839
3767
|
│ ├── subagents/
|
|
3840
3768
|
│ │ └── verifier/
|
|
3841
3769
|
│ │ ├── agent.ts
|
|
@@ -3855,10 +3783,11 @@ Describe your bot or agent in Cursor, or edit the files yourself.
|
|
|
3855
3783
|
- [Build your first PR reviewer](/docs/quickstart.md): a working GitHub
|
|
3856
3784
|
reviewer, one step at a time.
|
|
3857
3785
|
|
|
3858
|
-
- Start from a template
|
|
3786
|
+
- Start from a template:
|
|
3787
|
+
[Grok Bot agents](/docs/templates/grokbot-agents.md),
|
|
3859
3788
|
[security reviewer](/docs/templates/security-reviewer.md),
|
|
3860
|
-
[
|
|
3861
|
-
[
|
|
3789
|
+
[Thermo review](/docs/templates/thermo-review.md),
|
|
3790
|
+
[Thermo quality review](/docs/templates/thermo-quality-review.md),
|
|
3862
3791
|
[owners-policy approver](/docs/templates/agentic-owners.md),
|
|
3863
3792
|
[issue triager](/docs/templates/triage.md).
|
|
3864
3793
|
|
|
@@ -3885,15 +3814,13 @@ review.
|
|
|
3885
3814
|
|
|
3886
3815
|
- Node 22.13 or newer.
|
|
3887
3816
|
|
|
3888
|
-
- The
|
|
3889
|
-
so these commands will not run until publication. See
|
|
3890
|
-
[BDK package availability](/docs/index.md#bdk-package-availability).
|
|
3817
|
+
- The `@cursor/bdk` package:
|
|
3891
3818
|
|
|
3892
3819
|
```text
|
|
3893
3820
|
npm install -g @cursor/bdk
|
|
3894
3821
|
```
|
|
3895
3822
|
|
|
3896
|
-
- A Cursor credential for model turns.
|
|
3823
|
+
- A Cursor credential for model turns. Sign in once:
|
|
3897
3824
|
|
|
3898
3825
|
```text
|
|
3899
3826
|
bdk login
|
|
@@ -3903,9 +3830,6 @@ bdk login
|
|
|
3903
3830
|
|
|
3904
3831
|
The preferred BDK workflow uses `bdk init` and `bdk dev`.
|
|
3905
3832
|
|
|
3906
|
-
> **Docs ahead:** `@cursor/bdk` is not on npm yet. This block shows future
|
|
3907
|
-
> CLI syntax and will not run until the package publishes.
|
|
3908
|
-
|
|
3909
3833
|
```text
|
|
3910
3834
|
bdk init ./pr-reviewer
|
|
3911
3835
|
cd pr-reviewer
|
|
@@ -4198,9 +4122,6 @@ Source: /docs/reference/agent-config.md
|
|
|
4198
4122
|
the agent and its local harness defaults.
|
|
4199
4123
|
Everything is optional on the root agent.
|
|
4200
4124
|
|
|
4201
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
4202
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
4203
|
-
|
|
4204
4125
|
```ts
|
|
4205
4126
|
import { defineAgent } from "@cursor/bdk";
|
|
4206
4127
|
|
|
@@ -4224,15 +4145,15 @@ export default defineAgent({
|
|
|
4224
4145
|
| `description` | string | What the agent is for. Required on subagents; the parent model reads it to decide when to delegate. Documentation-only on the root. |
|
|
4225
4146
|
| `instructions` | string | Inline instructions. Prefer `instructions.md`; this exists for subagents and generated configs. |
|
|
4226
4147
|
| `local` | `{ cwd?, workspaceDir?, sandbox? }` | Local harness defaults. See [Local options](#local-options). |
|
|
4227
|
-
| `hosting` | `{ egressDomains?, secretNames? }` | Managed-hosting declarations read by `bdk deploy`: the
|
|
4228
|
-
| `concurrency` | `{ maxRunningTurns? }` |
|
|
4148
|
+
| `hosting` | `{ egressDomains?, secretNames? }` | Managed-hosting declarations read by `bdk deploy`: the deployment's egress allowlist and the secret names the agent expects. Mounted [extensions](/docs/reference/extensions.md#build-an-extension) add their own. Ignored by local serving. |
|
|
4149
|
+
| `concurrency` | `{ maxRunningTurns? }` | Agent-wide concurrent turn limit. See [Concurrency](#concurrency). |
|
|
4229
4150
|
| `builtinTools` | `{ reminders? }` | Framework-provided model-facing tools, opted in per capability. See [Built-in tools](#built-in-tools). |
|
|
4230
4151
|
| `tools` | `ToolName[]` | Allowlist of built-in harness tools offered to the model. Unset = the model's full standard toolset. See [Harness tools](#harness-tools). |
|
|
4231
4152
|
|
|
4232
4153
|
## Model
|
|
4233
4154
|
|
|
4234
4155
|
`model` is a Cursor model id string, or `{ id, params }`. Effort and
|
|
4235
|
-
speed are params, not id suffixes.
|
|
4156
|
+
speed are params, not id suffixes. BDK rejects suffix-style ids
|
|
4236
4157
|
like `grok-4.5-fast`:
|
|
4237
4158
|
|
|
4238
4159
|
```ts
|
|
@@ -4305,7 +4226,7 @@ servers, point `local.cwd` outside the checkout. See
|
|
|
4305
4226
|
[Local cwd](#local-cwd). `local.sandbox` makes MCP tool calls fail
|
|
4306
4227
|
closed.
|
|
4307
4228
|
|
|
4308
|
-
Use the SDK's public tool names, including `"shell"`, `"read"`,
|
|
4229
|
+
Use the Cursor SDK's public tool names, including `"shell"`, `"read"`,
|
|
4309
4230
|
`"edit"`, `"grep"`, `"glob"`, `"ls"`, and `"task"`. Unknown names
|
|
4310
4231
|
fail the turn with a `ConfigurationError`.
|
|
4311
4232
|
|
|
@@ -4392,9 +4313,6 @@ or decision records. An artifact kind defines the data it accepts, and
|
|
|
4392
4313
|
the artifacts API tags or updates records by key. Records persist across
|
|
4393
4314
|
sessions and can be listed, streamed, or downloaded.
|
|
4394
4315
|
|
|
4395
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
4396
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
4397
|
-
|
|
4398
4316
|
## Artifact kinds
|
|
4399
4317
|
|
|
4400
4318
|
Author `bot/artifacts.ts` with `defineArtifacts` from
|
|
@@ -4513,9 +4431,6 @@ A channel connects an external surface to agent sessions. A file at
|
|
|
4513
4431
|
under `/v1/channels/<id>`. The built-in HTTP session channel is always
|
|
4514
4432
|
available alongside any custom or prebuilt channels.
|
|
4515
4433
|
|
|
4516
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
4517
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
4518
|
-
|
|
4519
4434
|
## Built-in HTTP channel
|
|
4520
4435
|
|
|
4521
4436
|
The built-in channel serves the session, approval, tool, discovery, and
|
|
@@ -4677,15 +4592,13 @@ author their own chain, and `--allow-anonymous` swaps it for
|
|
|
4677
4592
|
|
|
4678
4593
|
## Prebuilt channels
|
|
4679
4594
|
|
|
4680
|
-
| Import |
|
|
4595
|
+
| Import | Function | Surface |
|
|
4681
4596
|
| --- | --- | --- |
|
|
4682
4597
|
| `@cursor/bdk/channels/slack` | `slackChannel()` | Slack messages, threads, streaming replies, and approvals. See [Slack](/docs/guides/slack.md) |
|
|
4683
4598
|
| `@cursor/bdk/channels/github` | `githubChannel()` | GitHub and GitHub Enterprise webhooks. See [GitHub](/docs/guides/github.md) |
|
|
4684
4599
|
| `@cursor/bdk/channels/gitlab` | `gitlabChannel()` | GitLab.com and self-managed GitLab hooks. See [GitLab](/docs/guides/gitlab.md) |
|
|
4685
4600
|
| `@cursor/bdk/channels/bitbucket` | `bitbucketChannel()` | Bitbucket Cloud and Data Center hooks. See [Bitbucket](/docs/guides/bitbucket.md) |
|
|
4686
4601
|
| `@cursor/bdk/channels/deployments` | `deploymentsChannel()` | Deployment events filtered by source, environment, or event name |
|
|
4687
|
-
| `@cursor/bdk/channels/change-monitors` | `changeMonitorsChannel()` | Change Monitor `checkpoint.created` events |
|
|
4688
|
-
| `@cursor/bdk/channels/issues` | `issuesChannel()` | Factory `issue.created` events |
|
|
4689
4602
|
|
|
4690
4603
|
For other platforms like Discord or Teams, use the authored
|
|
4691
4604
|
`defineChannel` route form.
|
|
@@ -4714,20 +4627,17 @@ Source: /docs/reference/cli.md
|
|
|
4714
4627
|
The Grok Bot Development Kit (BDK) uses the `@cursor/bdk` package and `bdk`
|
|
4715
4628
|
CLI.
|
|
4716
4629
|
|
|
4717
|
-
> **Docs ahead:** `@cursor/bdk` is not on npm yet. This command will work
|
|
4718
|
-
> after publication.
|
|
4719
|
-
|
|
4720
4630
|
```text
|
|
4721
4631
|
bdk <command>
|
|
4722
4632
|
```
|
|
4723
4633
|
|
|
4724
|
-
The command catalog below documents the `bdk` binary
|
|
4725
|
-
`@cursor/bdk`. Run
|
|
4634
|
+
The command catalog below documents the `bdk` binary from
|
|
4635
|
+
`@cursor/bdk`. Run it with Node 22.13 or newer; Bun is not
|
|
4726
4636
|
supported. Commands exit nonzero when validation or a synchronous request fails;
|
|
4727
4637
|
asynchronous commands can exit `0` once work is accepted. Project paths use the
|
|
4728
4638
|
[BDK project layout](/docs/reference/project-layout.md).
|
|
4729
4639
|
|
|
4730
|
-
|
|
4640
|
+
Install `@cursor/bdk` to obtain the binary. `bdk help`
|
|
4731
4641
|
prints top-level help; the Slack, GitHub, GitLab, and Bitbucket command packs
|
|
4732
4642
|
provide their own `help` subcommands.
|
|
4733
4643
|
|
|
@@ -5147,7 +5057,7 @@ installs dependencies, and tries to put `bdk` on `PATH`.
|
|
|
5147
5057
|
|
|
5148
5058
|
| Option | Contract |
|
|
5149
5059
|
| --- | --- |
|
|
5150
|
-
| `--template <name>` | Use a bundled template: `agentic-owners`, `agents-md`, `code-wiki`, `demo`, `grokbot-agents`, `security-help`, `security-reviewer`, `thermo-quality-review`, `thermo-review`, `triage-jira`, or `triage-linear`. |
|
|
5060
|
+
| `--template <name>` | Use a bundled template: `agentic-owners`, `agents-md`, `code-wiki`, `demo`, `grokbot-agents`, `security-help`, `security-reviewer`, `thermo-quality-review`, `thermo-review`, `triage-jira`, or `triage-linear`. `triage` selects `triage-linear`. |
|
|
5151
5061
|
| `--var id=value` | Answer a template question without a prompt. Repeat for multiple answers. |
|
|
5152
5062
|
| `--json` | Skip interactive login and skill prompts, then print `{ ok, directory, template, created, skipped, installed, installError, cliOnPath, cliLinkError, next }`. `ok` reflects dependency installation. |
|
|
5153
5063
|
|
|
@@ -5186,7 +5096,7 @@ The command replaces the installed BDK skills with the package copy and
|
|
|
5186
5096
|
removes stale bundled skills. `--print` previews the change. `--json` prints
|
|
5187
5097
|
`{ ok, dryRun, directory, firstInstall, skills, removed }`.
|
|
5188
5098
|
|
|
5189
|
-
|
|
5099
|
+
Package installation performs this copy.
|
|
5190
5100
|
Run `bdk install-skills` when you need to refresh it.
|
|
5191
5101
|
|
|
5192
5102
|
### Inspect a project {#info}
|
|
@@ -5306,8 +5216,7 @@ bdk deployments [--team <id>] [--json]
|
|
|
5306
5216
|
```
|
|
5307
5217
|
|
|
5308
5218
|
Text output shows slug, status, generation, kind, and update time. `--json`
|
|
5309
|
-
prints `{ deployments }
|
|
5310
|
-
succeeds.
|
|
5219
|
+
prints `{ deployments }`. An empty list succeeds.
|
|
5311
5220
|
|
|
5312
5221
|
### Inspect a deployment {#deployment}
|
|
5313
5222
|
|
|
@@ -5336,10 +5245,7 @@ bdk cancel-runs <slug> [--team <id>] [--json]
|
|
|
5336
5245
|
```
|
|
5337
5246
|
|
|
5338
5247
|
The command requests cancellation for a deployment's active runs and reminder
|
|
5339
|
-
wakes.
|
|
5340
|
-
application, this cancels every install; use `stop --cancel-runs` for
|
|
5341
|
-
install-local cancellation. It exits nonzero if any cancellation request fails
|
|
5342
|
-
to start.
|
|
5248
|
+
wakes. It exits nonzero if any cancellation request fails to start.
|
|
5343
5249
|
|
|
5344
5250
|
### Replace event repositories {#event-repos}
|
|
5345
5251
|
|
|
@@ -5633,9 +5539,6 @@ Put a server in `bot/host-connections/` when only host tools should
|
|
|
5633
5539
|
call it. Host connections use the same `defineConnection` shape and
|
|
5634
5540
|
support `bdk mcp oauth`; the model and playground don't see them.
|
|
5635
5541
|
|
|
5636
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
5637
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
5638
|
-
|
|
5639
5542
|
## Remote MCP server
|
|
5640
5543
|
|
|
5641
5544
|
Point an MCP connection at a remote server with a URL.
|
|
@@ -5719,16 +5622,16 @@ export default defineConnection({
|
|
|
5719
5622
|
The callback is evaluated on every turn, including reminder
|
|
5720
5623
|
fires and post-restart follow-ups, so the identity always comes from the
|
|
5721
5624
|
session itself, never from state parked in memory. The model never sees a
|
|
5722
|
-
|
|
5723
|
-
fails the turn: a turn never silently runs without the
|
|
5724
|
-
identity. `host.mcp` calls from server tools keep the static
|
|
5725
|
-
You can't combine `auth` with `oauth: true`; the host OAuth
|
|
5726
|
-
the Authorization header.
|
|
5625
|
+
downstream account parameter and cannot choose the account. A callback
|
|
5626
|
+
that throws fails the turn: a turn never silently runs without the
|
|
5627
|
+
connection's identity. `host.mcp` calls from server tools keep the static
|
|
5628
|
+
headers only. You can't combine `auth` with `oauth: true`; the host OAuth
|
|
5629
|
+
provider owns the Authorization header.
|
|
5727
5630
|
|
|
5728
5631
|
Derive the identity from durable session facts: `session.auth`,
|
|
5729
5632
|
`session.id`, or your channel's own session state. Do not key it off
|
|
5730
5633
|
`session.continuationKey`. The HTTP channel rotates that key after every
|
|
5731
|
-
accepted follow-up, so
|
|
5634
|
+
accepted follow-up, so an account mapping keyed on it breaks
|
|
5732
5635
|
mid-conversation.
|
|
5733
5636
|
|
|
5734
5637
|
`auth` works attached or advertised. Advertise the auth connection
|
|
@@ -5744,7 +5647,7 @@ characters and add numeric suffixes to avoid collisions.
|
|
|
5744
5647
|
```ts
|
|
5745
5648
|
export default defineConnection({
|
|
5746
5649
|
url: "https://api.cursor.com/v1/mcp/plugins",
|
|
5747
|
-
auth: async (session) => ({ headers: await
|
|
5650
|
+
auth: async (session) => ({ headers: await headersForSession(session) }),
|
|
5748
5651
|
advertiseTools: true,
|
|
5749
5652
|
});
|
|
5750
5653
|
```
|
|
@@ -5931,9 +5834,6 @@ tools, events, and output meet a contract. Files under the project-root
|
|
|
5931
5834
|
discovers their IDs, executes them, and reports every assertion. See the
|
|
5932
5835
|
[Evals guide](/docs/evals.md) for the regression workflow.
|
|
5933
5836
|
|
|
5934
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
5935
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
5936
|
-
|
|
5937
5837
|
## Eval discovery and case IDs
|
|
5938
5838
|
|
|
5939
5839
|
Eval files live under the project-root `evals/` directory and end in
|
|
@@ -6222,9 +6122,6 @@ schedules, subagents, artifacts, and workspace seeds. One mount file
|
|
|
6222
6122
|
adds them under a namespace without copying their source into your
|
|
6223
6123
|
project.
|
|
6224
6124
|
|
|
6225
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
6226
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
6227
|
-
|
|
6228
6125
|
Extensions and Cursor plugins execute as trusted host code. A namespace
|
|
6229
6126
|
prevents name collisions; it does not sandbox the package or limit its
|
|
6230
6127
|
side effects. Review the package before mounting it.
|
|
@@ -6319,8 +6216,8 @@ not provide.
|
|
|
6319
6216
|
## Mount a Cursor plugin
|
|
6320
6217
|
|
|
6321
6218
|
`cursorPlugin()` adapts a vendored Cursor or Claude plugin into the same
|
|
6322
|
-
namespace model. Skills, commands, agents, and MCP servers become
|
|
6323
|
-
|
|
6219
|
+
namespace model. Skills, commands, agents, and MCP servers become BDK
|
|
6220
|
+
skills, subagents, and connections.
|
|
6324
6221
|
|
|
6325
6222
|
```ts
|
|
6326
6223
|
// bot/extensions/notion.ts
|
|
@@ -6433,9 +6330,6 @@ transcript copy, or derived state. Hooks run in the serving process for
|
|
|
6433
6330
|
every session of the agent. They cannot change the turn, the prompt, or
|
|
6434
6331
|
the reply; a handler that throws is logged and skipped.
|
|
6435
6332
|
|
|
6436
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
6437
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
6438
|
-
|
|
6439
6333
|
Treat the event as read-only. Later subscribers see the same object.
|
|
6440
6334
|
That makes hooks safe to add to a production agent, and the wrong
|
|
6441
6335
|
surface for anything that must run before the model or must fail a
|
|
@@ -6758,7 +6652,7 @@ These read-only routes describe the running agent.
|
|
|
6758
6652
|
| Route | Contract |
|
|
6759
6653
|
| --- | --- |
|
|
6760
6654
|
| `GET /v1/info` | Return the discovered model, tools, skills, connections, subagents, channels, schedules, hooks, and diagnostics |
|
|
6761
|
-
| `GET /v1/tools` | Return live server tools and advertised MCP tools as `{ name, title?, source? }`; bind
|
|
6655
|
+
| `GET /v1/tools` | Return live server tools and advertised MCP tools as `{ name, title?, source? }`; bind session-specific listings with `session` or `continuationToken` |
|
|
6762
6656
|
| `GET /v1/tools/:name` | Return one tool's description, execution mode, approval and effect rules, schemas, and source |
|
|
6763
6657
|
| `GET /v1/health` | Return per-agent liveness; no auth |
|
|
6764
6658
|
| `GET /v1/logs?after=N` | Return recent server logs and the next polling cursor |
|
|
@@ -6863,9 +6757,6 @@ Agent instructions form the always-on system prompt and reach the model
|
|
|
6863
6757
|
on every turn. A root agent requires them; a subagent may inline
|
|
6864
6758
|
`instructions` in `agent.ts` instead.
|
|
6865
6759
|
|
|
6866
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
6867
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
6868
|
-
|
|
6869
6760
|
## Authoring forms
|
|
6870
6761
|
|
|
6871
6762
|
| Form | Use it when |
|
|
@@ -6932,9 +6823,6 @@ Source: /docs/reference/playground.md
|
|
|
6932
6823
|
mode). In multi-agent mode, each agent has its own playground, and `/`
|
|
6933
6824
|
lists them all.
|
|
6934
6825
|
|
|
6935
|
-
The `bdk` commands on this page are docs-ahead until `@cursor/bdk` is
|
|
6936
|
-
published; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
6937
|
-
|
|
6938
6826
|
## Playground surfaces
|
|
6939
6827
|
|
|
6940
6828
|
| Surface | What you can do |
|
|
@@ -6988,7 +6876,7 @@ For the capabilities below, identity comes from the path.
|
|
|
6988
6876
|
| --- | --- |
|
|
6989
6877
|
| `tools/approve_pr.ts` | tool `approve_pr` |
|
|
6990
6878
|
| `mcp-connections/linear.ts` | MCP connection `linear` (model + host) |
|
|
6991
|
-
| `host-connections/
|
|
6879
|
+
| `host-connections/inventory.ts` | Host MCP connection `inventory` (host + `mcp oauth` only) |
|
|
6992
6880
|
| `skills/pr-review.md` | skill `pr-review` |
|
|
6993
6881
|
| `subagents/reviewer/` | subagent `reviewer` |
|
|
6994
6882
|
| `extensions/ci.ts` | extension mount `ci`; its contributions become `ci__<name>` |
|
|
@@ -7017,7 +6905,7 @@ my-agent/
|
|
|
7017
6905
|
│ ├── mcp-connections/
|
|
7018
6906
|
│ │ └── linear.ts # tools from external MCP servers
|
|
7019
6907
|
│ ├── host-connections/
|
|
7020
|
-
│ │ └──
|
|
6908
|
+
│ │ └── inventory.ts # host-only MCP tools
|
|
7021
6909
|
│ ├── subagents/
|
|
7022
6910
|
│ │ └── reviewer/
|
|
7023
6911
|
│ │ ├── agent.ts
|
|
@@ -7104,9 +6992,6 @@ import { prompt } from "@cursor/bdk";
|
|
|
7104
6992
|
// or: import { prompt } from "@cursor/bdk/prompt";
|
|
7105
6993
|
```
|
|
7106
6994
|
|
|
7107
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
7108
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
7109
|
-
|
|
7110
6995
|
## Dedented strings
|
|
7111
6996
|
|
|
7112
6997
|
`prompt` returns one string. It removes the common leading whitespace
|
|
@@ -7155,9 +7040,6 @@ reminder is a runtime wake bound to one conversation: "re-check this
|
|
|
7155
7040
|
PR's CI in two hours." Schedules live in the filesystem; reminders are
|
|
7156
7041
|
created by running code.
|
|
7157
7042
|
|
|
7158
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
7159
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
7160
|
-
|
|
7161
7043
|
## Schedules
|
|
7162
7044
|
|
|
7163
7045
|
Cron expressions are standard 5-field, evaluated in UTC with minute
|
|
@@ -7330,9 +7212,6 @@ token, inspect it with a session ID, and follow progress on the NDJSON
|
|
|
7330
7212
|
stream. Chat sessions wait for follow-ups; task sessions run once and
|
|
7331
7213
|
stop.
|
|
7332
7214
|
|
|
7333
|
-
The `bdk` commands on this page are docs-ahead until `@cursor/bdk` is
|
|
7334
|
-
published; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
7335
|
-
|
|
7336
7215
|
## Session contents
|
|
7337
7216
|
|
|
7338
7217
|
Each session combines:
|
|
@@ -7496,9 +7375,6 @@ loads the full content only when the task calls for it. Skills are how
|
|
|
7496
7375
|
you give an agent a multi-step workflow without carrying it in the
|
|
7497
7376
|
always-on [instructions](/docs/reference/instructions.md).
|
|
7498
7377
|
|
|
7499
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
7500
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
7501
|
-
|
|
7502
7378
|
## Authoring forms
|
|
7503
7379
|
|
|
7504
7380
|
Skills support three authoring forms.
|
|
@@ -7576,9 +7452,6 @@ mid-turn. Each one lives under `bot/subagents/<id>/` with a required
|
|
|
7576
7452
|
for a custom prompt. The parent model delegates through the `task` tool,
|
|
7577
7453
|
and the stream records `subagent.called` and `subagent.completed`.
|
|
7578
7454
|
|
|
7579
|
-
The `@cursor/bdk` imports on this page are docs-ahead until publication;
|
|
7580
|
-
see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
7581
|
-
|
|
7582
7455
|
```text
|
|
7583
7456
|
bot/subagents/researcher/
|
|
7584
7457
|
├── agent.ts # description (required), model (optional)
|
|
@@ -7644,14 +7517,10 @@ execution flavors: server tools run on the serving host, and
|
|
|
7644
7517
|
agent tools run as scripts where the agent runs. Every server tool can
|
|
7645
7518
|
also be called directly, with no model turn.
|
|
7646
7519
|
|
|
7647
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
7648
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
7649
|
-
|
|
7650
7520
|
## Define a server tool
|
|
7651
7521
|
|
|
7652
7522
|
By default, `execute` runs in-process on the serving host with full
|
|
7653
|
-
access to `process.env` and your `bot/lib/` code.
|
|
7654
|
-
tools as SDK custom tools.
|
|
7523
|
+
access to `process.env` and your `bot/lib/` code.
|
|
7655
7524
|
|
|
7656
7525
|
```ts
|
|
7657
7526
|
// bot/tools/inspect_pr.ts
|
|
@@ -7973,9 +7842,6 @@ what your policy allows. Ownership rules live in
|
|
|
7973
7842
|
the closest policy to a changed file wins, and policies are always read
|
|
7974
7843
|
from the PR's base ref so a PR cannot exempt itself.
|
|
7975
7844
|
|
|
7976
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
7977
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
7978
|
-
|
|
7979
7845
|
## Scaffold
|
|
7980
7846
|
|
|
7981
7847
|
```text
|
|
@@ -8053,6 +7919,8 @@ next to the policy that names them. The next review reads both.
|
|
|
8053
7919
|
|
|
8054
7920
|
## Evals
|
|
8055
7921
|
|
|
7922
|
+
Use the three smoke reviews as a local exercise:
|
|
7923
|
+
|
|
8056
7924
|
```text
|
|
8057
7925
|
bdk eval
|
|
8058
7926
|
```
|
|
@@ -8062,6 +7930,66 @@ sessions skip GitHub writes.
|
|
|
8062
7930
|
|
|
8063
7931
|
---
|
|
8064
7932
|
|
|
7933
|
+
Source: /docs/templates/grokbot-agents.md
|
|
7934
|
+
|
|
7935
|
+
# Consult named Grok Bot agents
|
|
7936
|
+
|
|
7937
|
+
The `grokbot-agents` template lets a BDK agent consult the Grok Bot
|
|
7938
|
+
agents you allow. Your BDK conversation stays active while the named
|
|
7939
|
+
agent works, and the delivered reply returns to the same conversation.
|
|
7940
|
+
A request for an unlisted name is refused.
|
|
7941
|
+
|
|
7942
|
+
## Scaffold
|
|
7943
|
+
|
|
7944
|
+
```bash
|
|
7945
|
+
bdk init ./grokbot-consultant --template grokbot-agents
|
|
7946
|
+
```
|
|
7947
|
+
|
|
7948
|
+
`init` asks for the names shown in the Grok Bot app. Pass them directly
|
|
7949
|
+
in a script:
|
|
7950
|
+
|
|
7951
|
+
```bash
|
|
7952
|
+
bdk init ./grokbot-consultant --template grokbot-agents \
|
|
7953
|
+
--var agents="Plan Keeper,Chief of Staff"
|
|
7954
|
+
```
|
|
7955
|
+
|
|
7956
|
+
## Run
|
|
7957
|
+
|
|
7958
|
+
Sign in, validate the scaffold, and start the project:
|
|
7959
|
+
|
|
7960
|
+
```bash
|
|
7961
|
+
cd grokbot-consultant
|
|
7962
|
+
bdk login
|
|
7963
|
+
bdk validate
|
|
7964
|
+
bdk dev
|
|
7965
|
+
```
|
|
7966
|
+
|
|
7967
|
+
Open the playground and ask the agent to consult one of the names you
|
|
7968
|
+
entered. The delivered reply returns to the same conversation.
|
|
7969
|
+
|
|
7970
|
+
## Choose who the agent can consult
|
|
7971
|
+
|
|
7972
|
+
Edit `bot/extensions/grokbot.ts` to change the allowlist. The template
|
|
7973
|
+
supports descriptions that help the model choose the right specialist
|
|
7974
|
+
when several names are available.
|
|
7975
|
+
|
|
7976
|
+
When someone asks which agents are available, the template lists them
|
|
7977
|
+
without sending a message. A consultation sends one self-contained
|
|
7978
|
+
question and reports the reply. Long-running consultations can be
|
|
7979
|
+
checked later, and an active turn can be interrupted when the task
|
|
7980
|
+
changes.
|
|
7981
|
+
|
|
7982
|
+
See [Grok Bot agents](/docs/guides/grokbot-agents.md) for the extension's
|
|
7983
|
+
conversation and approval boundaries.
|
|
7984
|
+
|
|
7985
|
+
## What to edit
|
|
7986
|
+
|
|
7987
|
+
- `bot/extensions/grokbot.ts`: allowed agent names
|
|
7988
|
+
- `bot/instructions.md`: when to consult them
|
|
7989
|
+
- `evals/grokbot-agents.eval.ts`: list-without-sending smoke case
|
|
7990
|
+
|
|
7991
|
+
---
|
|
7992
|
+
|
|
8065
7993
|
Source: /docs/templates/security-reviewer.md
|
|
8066
7994
|
|
|
8067
7995
|
# Review pull requests for exploitable bugs
|
|
@@ -8072,21 +8000,16 @@ RCE. Style nits stay out.
|
|
|
8072
8000
|
|
|
8073
8001
|
This template is one model turn: read the diff, then post one comment.
|
|
8074
8002
|
|
|
8075
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
8076
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
8077
|
-
|
|
8078
8003
|
## Scaffold
|
|
8079
8004
|
|
|
8080
8005
|
```text
|
|
8081
|
-
bdk init ./security-reviewer --template security-reviewer
|
|
8006
|
+
bdk init ./security-reviewer --template security-reviewer \
|
|
8007
|
+
--var repos=acme/api
|
|
8082
8008
|
```
|
|
8083
8009
|
|
|
8084
|
-
`
|
|
8085
|
-
|
|
8086
|
-
|
|
8087
|
-
The list lands in `bot/lib/repos.ts`. The GitHub channel reads it for
|
|
8088
|
-
`cursorAccount` and for the wake filter. Edit that file when the set
|
|
8089
|
-
changes.
|
|
8010
|
+
`--var repos` must name a repository already connected in Cursor for
|
|
8011
|
+
your account. Separate multiple repositories with commas; they must
|
|
8012
|
+
share one owner. `init` writes the list to `bot/lib/repos.ts`.
|
|
8090
8013
|
|
|
8091
8014
|
## Connect GitHub through Cursor
|
|
8092
8015
|
|
|
@@ -8132,7 +8055,8 @@ comment.
|
|
|
8132
8055
|
|
|
8133
8056
|
## Evals
|
|
8134
8057
|
|
|
8135
|
-
|
|
8058
|
+
Use the two smoke cases, one XSS fixture and one docs-only change, as a
|
|
8059
|
+
local exercise:
|
|
8136
8060
|
|
|
8137
8061
|
```text
|
|
8138
8062
|
bdk eval
|
|
@@ -8157,15 +8081,12 @@ Source: /docs/templates/thermo-quality-review.md
|
|
|
8157
8081
|
# Review pull requests for structural code quality
|
|
8158
8082
|
|
|
8159
8083
|
This agent reads a pull request diff and posts one review comment. It
|
|
8160
|
-
reports missing abstractions,
|
|
8161
|
-
leaking into shared paths, and files pushed past 1,000 lines. Style
|
|
8162
|
-
|
|
8084
|
+
reports missing abstractions, deeply nested control flow, feature logic
|
|
8085
|
+
leaking into shared paths, and files pushed past 1,000 lines. Style nits
|
|
8086
|
+
and behavior disputes stay out.
|
|
8163
8087
|
|
|
8164
8088
|
This template is one model turn: read the diff, then post one comment.
|
|
8165
8089
|
|
|
8166
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
8167
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
8168
|
-
|
|
8169
8090
|
## Scaffold
|
|
8170
8091
|
|
|
8171
8092
|
```text
|
|
@@ -8218,8 +8139,8 @@ API calls use your account. See the [GitHub guide](/docs/guides/github.md).
|
|
|
8218
8139
|
|
|
8219
8140
|
## Evals
|
|
8220
8141
|
|
|
8221
|
-
|
|
8222
|
-
need no GitHub access.
|
|
8142
|
+
Use the two smoke cases, one spaghetti-branch fixture and one clean fix,
|
|
8143
|
+
as a local exercise. They need no GitHub access.
|
|
8223
8144
|
|
|
8224
8145
|
```text
|
|
8225
8146
|
bdk eval
|
|
@@ -8240,14 +8161,12 @@ Source: /docs/templates/thermo-review.md
|
|
|
8240
8161
|
# Review pull requests for bugs and breakage
|
|
8241
8162
|
|
|
8242
8163
|
This agent reads a pull request diff and posts one review comment. It
|
|
8243
|
-
reports bugs, breaking side effects,
|
|
8244
|
-
|
|
8164
|
+
reports bugs, breaking side effects, developer workflow failures, and
|
|
8165
|
+
unintended feature exposure in added or modified code. Style nits stay
|
|
8166
|
+
out.
|
|
8245
8167
|
|
|
8246
8168
|
This template is one model turn: read the diff, then post one comment.
|
|
8247
8169
|
|
|
8248
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
8249
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
8250
|
-
|
|
8251
8170
|
## Scaffold
|
|
8252
8171
|
|
|
8253
8172
|
```text
|
|
@@ -8300,8 +8219,8 @@ API calls use your account. See the [GitHub guide](/docs/guides/github.md).
|
|
|
8300
8219
|
|
|
8301
8220
|
## Evals
|
|
8302
8221
|
|
|
8303
|
-
|
|
8304
|
-
need no GitHub access.
|
|
8222
|
+
Use the two smoke cases, one auth-bypass fixture and one docs-only
|
|
8223
|
+
change, as a local exercise. They need no GitHub access.
|
|
8305
8224
|
|
|
8306
8225
|
```text
|
|
8307
8226
|
bdk eval
|
|
@@ -8328,9 +8247,6 @@ duplicate when titles match.
|
|
|
8328
8247
|
File the ticket however you already do. This template starts after the
|
|
8329
8248
|
ticket exists.
|
|
8330
8249
|
|
|
8331
|
-
The `@cursor/bdk` imports and `bdk` commands on this page are docs-ahead
|
|
8332
|
-
until publication; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
8333
|
-
|
|
8334
8250
|
## Scaffold
|
|
8335
8251
|
|
|
8336
8252
|
```text
|
|
@@ -8338,6 +8254,8 @@ bdk init ./triage-agent --template triage-linear
|
|
|
8338
8254
|
bdk init ./triage-agent --template triage-jira
|
|
8339
8255
|
```
|
|
8340
8256
|
|
|
8257
|
+
`bdk init --template triage` selects `triage-linear`.
|
|
8258
|
+
|
|
8341
8259
|
Pick the tracker you use. The agent is the same. The overlay is the
|
|
8342
8260
|
connection.
|
|
8343
8261
|
|
|
@@ -8362,6 +8280,10 @@ In the Cursor dashboard, open MCP and connect Linear or Jira.
|
|
|
8362
8280
|
The connection stays on the host. The model calls `record_triage`.
|
|
8363
8281
|
Linear and Jira tools stay off the model's tool list.
|
|
8364
8282
|
|
|
8283
|
+
Linear or Jira MCP must be connected for comments, priority changes,
|
|
8284
|
+
and duplicate links; queueing an issue can still classify it through
|
|
8285
|
+
`record_triage` without that connection.
|
|
8286
|
+
|
|
8365
8287
|
## First verdict
|
|
8366
8288
|
|
|
8367
8289
|
```text
|
|
@@ -8399,7 +8321,8 @@ details, when to call `record_triage`, how to reply.
|
|
|
8399
8321
|
|
|
8400
8322
|
## Evals
|
|
8401
8323
|
|
|
8402
|
-
|
|
8324
|
+
Use the three smoke cases, one per kind, as a local exercise after you
|
|
8325
|
+
change the rubric.
|
|
8403
8326
|
|
|
8404
8327
|
```text
|
|
8405
8328
|
bdk eval
|
|
@@ -8430,11 +8353,7 @@ Start with three checks:
|
|
|
8430
8353
|
`bdk info --dir . --json`.
|
|
8431
8354
|
3. Reproduce once, then inspect the serve log or session trace.
|
|
8432
8355
|
|
|
8433
|
-
|
|
8434
|
-
published; see [BDK package availability](/docs/index.md#bdk-package-availability).
|
|
8435
|
-
|
|
8436
|
-
Match the visible symptom below. The `bdk` binary ships with
|
|
8437
|
-
`@cursor/bdk` when the package publishes.
|
|
8356
|
+
Match the visible symptom below.
|
|
8438
8357
|
|
|
8439
8358
|
## Serve or the playground will not work
|
|
8440
8359
|
|
|
@@ -8468,9 +8387,9 @@ Match the visible symptom below. The `bdk` binary ships with
|
|
|
8468
8387
|
|
|
8469
8388
|
| What you see | What to do |
|
|
8470
8389
|
| --- | --- |
|
|
8471
|
-
| `401` outside
|
|
8390
|
+
| `401` outside local development | Send the configured bearer token, alias token, or channel credential. Default custom routes admit direct loopback only. |
|
|
8472
8391
|
| `403` on a stream or follow-up | Use the same authenticated principal that created the session. |
|
|
8473
|
-
| A
|
|
8392
|
+
| A custom channel route fails through a tunnel or LAN | Protect the shared host with `--bearer-token` or authored channel auth. Use `--allow-anonymous` only behind a proxy that authenticates every caller. |
|
|
8474
8393
|
| `409` on a follow-up | Refresh the rotating `continuationToken` and confirm the target is a chat session; task sessions do not accept follow-ups. |
|
|
8475
8394
|
| `409 session_busy` from `call --session` | Wait for the turn, omit `--session`, or mark a read-only tool with `effect: "read"` so it can run concurrently. |
|
|
8476
8395
|
| A custom route fails schema type-checking | Add the required Zod `querySchema` for `GET`, or `bodySchema` for `POST`, `PUT`, and `PATCH`. See [Channels](/docs/reference/channels.md). |
|