@cursor/bdk 0.2.13 → 0.2.15
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/AGENTS.md +51 -52
- package/README.md +1 -1
- package/dist/bin/agent-sdk.js +0 -0
- package/dist/bin/agent-serve.js +0 -0
- package/dist/channels/slack/attachments.d.ts +2 -0
- package/dist/channels/slack/attachments.d.ts.map +1 -1
- package/dist/channels/slack/attachments.js +17 -5
- package/dist/channels/slack/channel-watch.d.ts +4 -2
- package/dist/channels/slack/channel-watch.d.ts.map +1 -1
- package/dist/channels/slack/channel-watch.js +4 -2
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +4 -2
- package/dist/channels/slack/types.d.ts +6 -4
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/connections.d.ts +29 -0
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +54 -0
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.CaLG1pPt.js → app.CRMxF0qX.js} +4 -4
- package/dist/docs/assets/{building-with-agents.md.Df87rAe1.js → building-with-agents.md.Bi9CQ-bR.js} +3 -3
- package/dist/docs/assets/{building-with-agents.md.Df87rAe1.lean.js → building-with-agents.md.Bi9CQ-bR.lean.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.BZwvb2LN.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.YsP_2wqD.js → VPLocalSearchBox.C4BiQe53.js} +1 -1
- package/dist/docs/assets/chunks/{arc.C2j9hR7c.js → arc.D1TA2Mxn.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.C5qkGp7y.js → architectureDiagram-Q4EWVU46.CA-hBJCN.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.U6GgTHOD.js → baseUniq.CzsSgiab.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.D51mJop2.js → blockDiagram-DXYQGD6D.sxrH_f0l.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.w1d6QxV7.js → c4Diagram-AHTNJAMY.D_Z3mqAl.js} +1 -1
- package/dist/docs/assets/chunks/channel.D7DtboxW.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.B_A815un.js → chunk-4BX2VUAB.BS6_uTUf.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DMrm-ZCb.js → chunk-4TB4RGXK.D-URAeTU.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.8qw6Xdal.js → chunk-55IACEB6.b4SZc5kO.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.Cq_nHODn.js → chunk-EDXVE4YY.DLKEEDkN.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.B67ohCYn.js → chunk-FMBD7UC4.3SyQHgpY.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.Bo8rQI8F.js → chunk-OYMX7WX6.DBKKaFeS.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BERUMfE9.js → chunk-QZHKN3VN.BhCYeR7H.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DWG2tXIX.js → chunk-YZCP3GAM.Cpg0VgI7.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.irslOV8B.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.irslOV8B.js +1 -0
- package/dist/docs/assets/chunks/clone.DosLeDYL.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.tezXBs9b.js → cose-bilkent-S5V4N54A.4q0YNZN6.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.aSbEUwT7.js → dagre-KV5264BT.Bk_CcQPr.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.vnT6aJ57.js → diagram-5BDNPKRD.CgreoM_Z.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.hGYdrDa2.js → diagram-G4DWMVQ6.DlZGpm6W.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.CmdSUP6L.js → diagram-MMDJMWI5.BxtXxgIR.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.BbAnLEBB.js → diagram-TYMM5635.DSzlJp2D.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.H40W4HWE.js → erDiagram-SMLLAGMA.BN1YUmEV.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.BFMtUSv-.js → flowDiagram-DWJPFMVM.B61NGNYu.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.CbYiu7Dt.js → ganttDiagram-T4ZO3ILL.DR-tto3M.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.Cyc5mzZD.js → gitGraphDiagram-UUTBAWPF.CBPs2W_2.js} +1 -1
- package/dist/docs/assets/chunks/{graph.BRptDG1H.js → graph.DmlaqzCE.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Bz6KCA3a.js → infoDiagram-42DDH7IO.obPv-fFg.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DDJ_7_Fq.js → ishikawaDiagram-UXIWVN3A.CXHTUcM3.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.D0t_ltlb.js → journeyDiagram-VCZTEJTY.BoVHerYZ.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.DyyNsMfi.js → kanban-definition-6JOO6SKY.CfYmPHZg.js} +1 -1
- package/dist/docs/assets/chunks/{layout.Cbxq-Rhp.js → layout.621UdAhB.js} +1 -1
- package/dist/docs/assets/chunks/{linear.DxGYL0MP.js → linear.Cz_zRKjr.js} +1 -1
- package/dist/docs/assets/chunks/{min.DA5KL8wu.js → min.ON4GjCH7.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.Bc72Utls.js → mindmap-definition-QFDTVHPH.DLPMLJlv.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BtpHnIB_.js → pieDiagram-DEJITSTG.BFp11AYt.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.Cx4oCSRR.js → quadrantDiagram-34T5L4WZ.ChX7xo6B.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.BC0hXWlW.js → requirementDiagram-MS252O5E.DbKtHG_Q.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.Dg8T1SEp.js → sankeyDiagram-XADWPNL6.Spw8tv-7.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.CWSdHYAF.js → sequenceDiagram-FGHM5R23.BYso9LlE.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.0MVPRI28.js → stateDiagram-FHFEXIEX.D8l54jqW.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CAYMmzGj.js +1 -0
- package/dist/docs/assets/chunks/{theme.DO1avLBn.js → theme.m_Ethbkv.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BuRinAVi.js → timeline-definition-GMOUNBTQ.BLdhhyy9.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.DXf0PCoJ.js → vennDiagram-DHZGUBPP.CyGT2F_P.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.C5JJS3bh.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.T4ThngYV.js → wardleyDiagram-NUSXRM2D.p_Sz9p1i.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.b4pZF3D5.js → xychartDiagram-5P7HB3ND.DtXsNUaf.js} +1 -1
- package/dist/docs/assets/deployment.md.hKKN9I4c.js +31 -0
- package/dist/docs/assets/{deployment.md.BYuEcDBv.lean.js → deployment.md.hKKN9I4c.lean.js} +1 -1
- package/dist/docs/assets/{evals.md.C851kViu.js → evals.md.CHR34K1Y.js} +3 -7
- package/dist/docs/assets/{evals.md.C851kViu.lean.js → evals.md.CHR34K1Y.lean.js} +1 -1
- package/dist/docs/assets/guides_cloud-agents.md.CBK7W0-O.js +9 -0
- package/dist/docs/assets/guides_cloud-agents.md.CBK7W0-O.lean.js +1 -0
- package/dist/docs/assets/guides_grokbot-agents.md.BwAykJ7U.js +15 -0
- package/dist/docs/assets/{guides_grokbot-agents.md.tD1smFhU.lean.js → guides_grokbot-agents.md.BwAykJ7U.lean.js} +1 -1
- package/dist/docs/assets/{guides_hooks.md.5Ce3NXxZ.js → guides_hooks.md.B_bKG1oA.js} +1 -1
- package/dist/docs/assets/{guides_improve.md.CRrYq22s.js → guides_improve.md.CZKVt1cT.js} +2 -3
- package/dist/docs/assets/{guides_improve.md.CRrYq22s.lean.js → guides_improve.md.CZKVt1cT.lean.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.DR3zhC9r.js → guides_mcp-oauth.md.BM_eFC0L.js} +3 -15
- package/dist/docs/assets/guides_mcp-oauth.md.BM_eFC0L.lean.js +1 -0
- package/dist/docs/assets/{guides_webhooks.md.BBvAm_VF.js → guides_webhooks.md.Cpdc3BDX.js} +13 -12
- package/dist/docs/assets/{guides_webhooks.md.BBvAm_VF.lean.js → guides_webhooks.md.Cpdc3BDX.lean.js} +1 -1
- package/dist/docs/assets/{index.md.Dxxr7pFa.js → index.md.BIBHIQtU.js} +1 -1
- package/dist/docs/assets/{quickstart.md.BK5gjHM2.js → quickstart.md.CduLGBAB.js} +1 -1
- package/dist/docs/assets/reference_channels.md.DYg0CLud.js +22 -0
- package/dist/docs/assets/{reference_channels.md.LbNIJBwd.lean.js → reference_channels.md.DYg0CLud.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.dYCAL2lB.js → reference_cli.md.BYNIHwbi.js} +15 -12
- package/dist/docs/assets/{reference_cli.md.dYCAL2lB.lean.js → reference_cli.md.BYNIHwbi.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.DLrgAd5f.js → reference_connections.md.CxbLpaaP.js} +4 -5
- package/dist/docs/assets/{reference_connections.md.DLrgAd5f.lean.js → reference_connections.md.CxbLpaaP.lean.js} +1 -1
- package/dist/docs/assets/{reference_evals.md.D5i8PuXJ.js → reference_evals.md.if--BLd0.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.B-eGa2km.js → reference_hooks.md.DbJC8mcZ.js} +1 -1
- package/dist/docs/assets/reference_http-api.md.CrqhTv6S.js +11 -0
- package/dist/docs/assets/{reference_http-api.md.DbFNOubV.lean.js → reference_http-api.md.CrqhTv6S.lean.js} +1 -1
- package/dist/docs/assets/reference_playground.md.q4MI-0td.js +1 -0
- package/dist/docs/assets/reference_playground.md.q4MI-0td.lean.js +1 -0
- package/dist/docs/assets/{reference_schedules.md.BuJ8fgMa.js → reference_schedules.md.03Ryy9ca.js} +5 -5
- package/dist/docs/assets/{reference_schedules.md.BuJ8fgMa.lean.js → reference_schedules.md.03Ryy9ca.lean.js} +1 -1
- package/dist/docs/assets/reference_sessions.md.C_uzIWuy.js +1 -0
- package/dist/docs/assets/{reference_skills.md.C0guGcH0.js → reference_skills.md.Ckddg6KX.js} +4 -4
- package/dist/docs/assets/{reference_tools.md.DzIY9JzY.js → reference_tools.md.08XR7lIl.js} +3 -14
- package/dist/docs/assets/reference_tools.md.08XR7lIl.lean.js +1 -0
- package/dist/docs/assets/{templates_grokbot-agents.md.2sydjFiO.js → templates_grokbot-agents.md.DgpPEs7B.js} +1 -1
- package/dist/docs/assets/troubleshooting.md.PCafNCb5.js +1 -0
- package/dist/docs/assets/{troubleshooting.md.x-GBa7wN.lean.js → troubleshooting.md.PCafNCb5.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +37 -37
- package/dist/docs/building-with-agents.md +5 -5
- package/dist/docs/deployment.html +43 -41
- package/dist/docs/deployment.md +70 -33
- package/dist/docs/evals.html +38 -42
- package/dist/docs/evals.md +1 -16
- package/dist/docs/guides/agent-to-agent.html +35 -35
- package/dist/docs/guides/bitbucket.html +35 -35
- package/dist/docs/guides/cloud-agents.html +38 -39
- package/dist/docs/guides/cloud-agents.md +2 -8
- package/dist/docs/guides/convert-automation.html +35 -35
- package/dist/docs/guides/github.html +35 -35
- package/dist/docs/guides/gitlab.html +35 -35
- package/dist/docs/guides/grokbot-agents.html +37 -38
- package/dist/docs/guides/grokbot-agents.md +9 -13
- package/dist/docs/guides/hooks.html +37 -37
- package/dist/docs/guides/hooks.md +0 -1
- package/dist/docs/guides/improve.html +37 -38
- package/dist/docs/guides/improve.md +4 -6
- package/dist/docs/guides/jev.html +35 -35
- package/dist/docs/guides/mcp-oauth.html +39 -51
- package/dist/docs/guides/mcp-oauth.md +17 -40
- package/dist/docs/guides/migrate.html +35 -35
- package/dist/docs/guides/opentelemetry.html +35 -35
- package/dist/docs/guides/slack.html +35 -35
- package/dist/docs/guides/webhooks.html +47 -46
- package/dist/docs/guides/webhooks.md +35 -18
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +35 -35
- package/dist/docs/index.html +36 -36
- package/dist/docs/index.md +1 -1
- package/dist/docs/llms-full.txt +347 -269
- package/dist/docs/llms.txt +4 -4
- package/dist/docs/quickstart.html +37 -37
- package/dist/docs/quickstart.md +2 -2
- package/dist/docs/reference/agent-config.html +35 -35
- package/dist/docs/reference/artifacts.html +35 -35
- package/dist/docs/reference/channels.html +42 -43
- package/dist/docs/reference/channels.md +29 -13
- package/dist/docs/reference/cli.html +49 -46
- package/dist/docs/reference/cli.md +113 -40
- package/dist/docs/reference/connections.html +39 -40
- package/dist/docs/reference/connections.md +6 -5
- package/dist/docs/reference/evals.html +37 -37
- package/dist/docs/reference/evals.md +2 -4
- package/dist/docs/reference/extensions.html +35 -35
- package/dist/docs/reference/hooks.html +37 -37
- package/dist/docs/reference/hooks.md +0 -1
- package/dist/docs/reference/http-api.html +38 -38
- package/dist/docs/reference/http-api.md +7 -17
- package/dist/docs/reference/instructions.html +35 -35
- package/dist/docs/reference/playground.html +37 -37
- package/dist/docs/reference/playground.md +1 -4
- package/dist/docs/reference/project-layout.html +35 -35
- package/dist/docs/reference/prompt.html +35 -35
- package/dist/docs/reference/schedules.html +39 -39
- package/dist/docs/reference/schedules.md +26 -3
- package/dist/docs/reference/sessions.html +36 -36
- package/dist/docs/reference/sessions.md +1 -2
- package/dist/docs/reference/skills.html +39 -39
- package/dist/docs/reference/skills.md +1 -1
- package/dist/docs/reference/subagents.html +35 -35
- package/dist/docs/reference/tools.html +39 -50
- package/dist/docs/reference/tools.md +2 -28
- package/dist/docs/templates/agentic-owners.html +35 -35
- package/dist/docs/templates/grokbot-agents.html +37 -37
- package/dist/docs/templates/grokbot-agents.md +1 -1
- package/dist/docs/templates/security-reviewer.html +35 -35
- package/dist/docs/templates/thermo-quality-review.html +35 -35
- package/dist/docs/templates/thermo-review.html +35 -35
- package/dist/docs/templates/triage.html +35 -35
- package/dist/docs/troubleshooting.html +36 -36
- package/dist/docs/troubleshooting.md +12 -7
- package/dist/executors.d.ts +11 -0
- package/dist/executors.d.ts.map +1 -0
- package/dist/executors.js +21 -0
- package/dist/extensions/cursor-cloud-agents/extension.d.ts +6 -2
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +5 -1
- package/dist/extensions/cursor-cloud-agents/lib/channels.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/channels.js +5 -1
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts +21 -4
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.js +26 -5
- package/dist/files.d.ts +1 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +3 -1
- package/dist/filesystem.d.ts +10 -0
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +128 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +17 -0
- package/dist/internal/continuation-identity.js +1 -1
- package/dist/internal/conversation-mirror.d.ts +11 -0
- package/dist/internal/conversation-mirror.d.ts.map +1 -1
- package/dist/internal/conversation-mirror.js +198 -125
- package/dist/internal/conversation-pack.d.ts +29 -0
- package/dist/internal/conversation-pack.d.ts.map +1 -0
- package/dist/internal/conversation-pack.js +96 -0
- package/dist/internal/deploy-client.d.ts +2 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +4 -0
- package/dist/internal/discovery/agent-config.d.ts +6 -0
- package/dist/internal/discovery/agent-config.d.ts.map +1 -1
- package/dist/internal/discovery/agent-config.js +19 -0
- package/dist/internal/discovery/agent.d.ts.map +1 -1
- package/dist/internal/discovery/agent.js +2 -1
- package/dist/internal/hosted-catch-protocol.d.ts +2 -0
- package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-catch-protocol.js +2 -0
- package/dist/internal/hosted-catch.d.ts +2 -3
- package/dist/internal/hosted-catch.d.ts.map +1 -1
- package/dist/internal/hosted-catch.js +2 -3
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +22 -12
- package/dist/internal/hosted-execution-flush.d.ts +6 -3
- package/dist/internal/hosted-execution-flush.d.ts.map +1 -1
- package/dist/internal/hosted-execution-flush.js +28 -31
- package/dist/internal/peer-connections.d.ts +6 -2
- package/dist/internal/peer-connections.d.ts.map +1 -1
- package/dist/internal/peer-connections.js +23 -19
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +13 -2
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +6 -5
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +4 -0
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +26 -11
- package/dist/internal/turn-cost.d.ts +2 -2
- package/dist/internal/turn-cost.d.ts.map +1 -1
- package/dist/internal/turn-cost.js +17 -3
- package/dist/playground/assets/index-BVYWBxLU.css +1 -0
- package/dist/playground/assets/{index-DIiKbZ25.js → index-DCsq6f_I.js} +45 -45
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +1 -1
- package/docs/building-with-agents.md +5 -5
- package/docs/deployment.md +70 -33
- package/docs/evals.md +1 -16
- package/docs/guides/cloud-agents.md +3 -9
- package/docs/guides/grokbot-agents.md +10 -14
- package/docs/guides/hooks.md +0 -1
- package/docs/guides/improve.md +4 -6
- package/docs/guides/mcp-oauth.md +18 -41
- package/docs/guides/webhooks.md +35 -18
- package/docs/quickstart.md +2 -2
- package/docs/reference/channels.md +29 -13
- package/docs/reference/cli.md +113 -40
- package/docs/reference/connections.md +6 -5
- package/docs/reference/evals.md +2 -4
- package/docs/reference/hooks.md +0 -1
- package/docs/reference/http-api.md +7 -17
- package/docs/reference/playground.md +2 -5
- package/docs/reference/schedules.md +26 -3
- package/docs/reference/sessions.md +1 -2
- package/docs/reference/skills.md +1 -1
- package/docs/reference/tools.md +3 -29
- package/docs/templates/grokbot-agents.md +1 -1
- package/docs/troubleshooting.md +12 -7
- package/package.json +43 -32
- package/skills/create-agent/SKILL.md +9 -6
- package/skills/debug/SKILL.md +3 -4
- package/skills/evals/SKILL.md +2 -2
- package/skills/framework-map/SKILL.md +10 -10
- package/skills/mcp-auth/SKILL.md +10 -34
- package/skills/migrate-v2/SKILL.md +13 -9
- package/skills/setup-slack/SKILL.md +0 -13
- package/templates/agents-md/README.md +3 -3
- package/templates/agents-md/bot/channels/queue.ts +3 -8
- package/templates/agents-md/bot/instructions.md +1 -2
- package/templates/agents-md/bot/tools/apply_agents.ts +0 -1
- package/templates/agents-md/evals/agents.eval.ts +2 -2
- package/templates/demo/bot/channels/queue.ts +5 -15
- package/templates/grokbot-agents/.gitignore +4 -0
- package/templates/pr-autofixer/bot/channels/drive.ts +3 -16
- package/templates/security-help/.gitignore +4 -0
- package/templates/triage/bot/channels/queue.ts +11 -22
- package/templates/triage/bot/channels/webhook.ts +3 -6
- package/templates/triage/bot/lib/parse-queue-event.ts +0 -6
- package/dist/docs/assets/chunks/@localSearchIndexroot.DvlKuIO-.js +0 -1
- package/dist/docs/assets/chunks/channel.BRSFxCcD.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Cmtm6WkN.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Cmtm6WkN.js +0 -1
- package/dist/docs/assets/chunks/clone.JMC96Eo6.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.N4Am6sXd.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD._eATmGtu.js +0 -162
- package/dist/docs/assets/deployment.md.BYuEcDBv.js +0 -29
- package/dist/docs/assets/guides_cloud-agents.md.CWJjS9No.js +0 -10
- package/dist/docs/assets/guides_cloud-agents.md.CWJjS9No.lean.js +0 -1
- package/dist/docs/assets/guides_grokbot-agents.md.tD1smFhU.js +0 -16
- package/dist/docs/assets/guides_mcp-oauth.md.DR3zhC9r.lean.js +0 -1
- package/dist/docs/assets/reference_channels.md.LbNIJBwd.js +0 -23
- package/dist/docs/assets/reference_http-api.md.DbFNOubV.js +0 -11
- package/dist/docs/assets/reference_playground.md.1hx0gcIu.js +0 -1
- package/dist/docs/assets/reference_playground.md.1hx0gcIu.lean.js +0 -1
- package/dist/docs/assets/reference_sessions.md.CyM7ARz1.js +0 -1
- package/dist/docs/assets/reference_tools.md.DzIY9JzY.lean.js +0 -1
- package/dist/docs/assets/troubleshooting.md.x-GBa7wN.js +0 -1
- package/dist/playground/assets/index-CzttDc-d.css +0 -1
- /package/dist/docs/assets/{guides_hooks.md.5Ce3NXxZ.lean.js → guides_hooks.md.B_bKG1oA.lean.js} +0 -0
- /package/dist/docs/assets/{index.md.Dxxr7pFa.lean.js → index.md.BIBHIQtU.lean.js} +0 -0
- /package/dist/docs/assets/{quickstart.md.BK5gjHM2.lean.js → quickstart.md.CduLGBAB.lean.js} +0 -0
- /package/dist/docs/assets/{reference_evals.md.D5i8PuXJ.lean.js → reference_evals.md.if--BLd0.lean.js} +0 -0
- /package/dist/docs/assets/{reference_hooks.md.B-eGa2km.lean.js → reference_hooks.md.DbJC8mcZ.lean.js} +0 -0
- /package/dist/docs/assets/{reference_sessions.md.CyM7ARz1.lean.js → reference_sessions.md.C_uzIWuy.lean.js} +0 -0
- /package/dist/docs/assets/{reference_skills.md.C0guGcH0.lean.js → reference_skills.md.Ckddg6KX.lean.js} +0 -0
- /package/dist/docs/assets/{templates_grokbot-agents.md.2sydjFiO.lean.js → templates_grokbot-agents.md.DgpPEs7B.lean.js} +0 -0
|
@@ -15,9 +15,8 @@ it does not move this agent onto a Grok Bot runtime.
|
|
|
15
15
|
|
|
16
16
|
## Mount it
|
|
17
17
|
|
|
18
|
-
List the bots your agent may contact
|
|
19
|
-
|
|
20
|
-
another.
|
|
18
|
+
List the bots your agent may contact. Descriptions teach the model when
|
|
19
|
+
to choose one bot over another.
|
|
21
20
|
|
|
22
21
|
```ts
|
|
23
22
|
// bot/extensions/grokbot.ts
|
|
@@ -34,7 +33,6 @@ export default cursorGrokBotAgents({
|
|
|
34
33
|
description: "Routes work and tracks priorities.",
|
|
35
34
|
},
|
|
36
35
|
],
|
|
37
|
-
needsApproval: true,
|
|
38
36
|
});
|
|
39
37
|
```
|
|
40
38
|
|
|
@@ -51,8 +49,8 @@ bdk init ./grokbot --template grokbot-agents
|
|
|
51
49
|
## Ask a named bot
|
|
52
50
|
|
|
53
51
|
When someone says, "Ask Plan Keeper whether we should move the picnic,"
|
|
54
|
-
your agent prepares one self-contained message,
|
|
55
|
-
|
|
52
|
+
your agent prepares one self-contained message, sends it, and waits for
|
|
53
|
+
the bot's delivered reply. That reply appears in the current
|
|
56
54
|
conversation as the consultation result.
|
|
57
55
|
|
|
58
56
|
The message must include who is asking, the relevant facts, and the
|
|
@@ -89,9 +87,9 @@ existing memory.
|
|
|
89
87
|
> Stop Plan Keeper's current turn. Then ask it to compare indoor venues
|
|
90
88
|
> instead of changing the time.
|
|
91
89
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
`check` and `interrupt` act on the bot conversation directly, so expose
|
|
91
|
+
this extension only to callers who may read or stop those
|
|
92
|
+
conversations.
|
|
95
93
|
|
|
96
94
|
## Configure it
|
|
97
95
|
|
|
@@ -100,8 +98,8 @@ list is refused, but a misspelled configured name may create a new empty
|
|
|
100
98
|
bot on first use. If a result says `created: true`, tell the person and
|
|
101
99
|
check the name before sending more work.
|
|
102
100
|
|
|
103
|
-
With no `agents` list, any name is allowed
|
|
104
|
-
|
|
101
|
+
With no `agents` list, any name is allowed. Prefer an explicit list for
|
|
102
|
+
a shared agent. `list` returns configured
|
|
105
103
|
bots and bots this caller already contacted; it does not enumerate the
|
|
106
104
|
whole account.
|
|
107
105
|
|
|
@@ -139,6 +137,4 @@ directory and disable that tool. See
|
|
|
139
137
|
## What's next
|
|
140
138
|
|
|
141
139
|
- [Extensions](../reference/extensions.md): namespaces, trust, and
|
|
142
|
-
overlays
|
|
143
|
-
- [Tool approvals](../reference/tools.md#gate-a-tool-on-human-approval):
|
|
144
|
-
approve asks
|
|
140
|
+
overlays
|
package/docs/guides/hooks.md
CHANGED
|
@@ -98,7 +98,6 @@ replay recorded events into hooks.
|
|
|
98
98
|
| --- | --- |
|
|
99
99
|
| Add context before the model | `instructions.md`, skills, or `workspaceFiles` |
|
|
100
100
|
| Deliver to Slack or a PR | Channel [`events`](../reference/channels.md#events) or packs |
|
|
101
|
-
| Block or approve a tool | [`needsApproval`](../reference/tools.md#gate-a-tool-on-human-approval) |
|
|
102
101
|
| Gate final assistant text | `defineResult` |
|
|
103
102
|
| Gate behavior | [Evals](../evals.md) |
|
|
104
103
|
|
package/docs/guides/improve.md
CHANGED
|
@@ -15,9 +15,8 @@ deployed.
|
|
|
15
15
|
|
|
16
16
|
## Mount it
|
|
17
17
|
|
|
18
|
-
Mount Cloud agents with the agent's own repository allowlisted,
|
|
19
|
-
|
|
20
|
-
directory.
|
|
18
|
+
Mount Cloud agents with the agent's own repository allowlisted, then
|
|
19
|
+
mount `improve` with the source directory.
|
|
21
20
|
|
|
22
21
|
```ts
|
|
23
22
|
// bot/extensions/cloud.ts
|
|
@@ -33,7 +32,6 @@ export default cursorCloudAgents({
|
|
|
33
32
|
],
|
|
34
33
|
autoCreatePR: true,
|
|
35
34
|
},
|
|
36
|
-
needsApproval: true,
|
|
37
35
|
});
|
|
38
36
|
```
|
|
39
37
|
|
|
@@ -68,8 +66,8 @@ a narrow behavior request into an unrelated refactor.
|
|
|
68
66
|
|
|
69
67
|
## Follow the source change
|
|
70
68
|
|
|
71
|
-
The agent
|
|
72
|
-
|
|
69
|
+
The agent launches one cloud agent on the configured repository and
|
|
70
|
+
ref. It reports the complete cloud-agent ID
|
|
73
71
|
and URL immediately, then checks the same run instead of launching
|
|
74
72
|
another agent for follow-up work.
|
|
75
73
|
|
package/docs/guides/mcp-oauth.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Host MCP OAuth"
|
|
3
|
-
description: "Authorize a private MCP server locally, constrain its tools, and
|
|
3
|
+
description: "Authorize a private MCP server locally, constrain its tools, and choose where its credentials live."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Connect a private MCP server with OAuth
|
|
@@ -48,9 +48,7 @@ retries and the turn continues without restarting the agent.
|
|
|
48
48
|
bdk serve --dir . --dev
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
Connect authorizes the process that is running now.
|
|
52
|
-
credentials for a future hosted replacement; use `--store` for that
|
|
53
|
-
separate outcome.
|
|
51
|
+
Connect authorizes the process that is running now.
|
|
54
52
|
|
|
55
53
|
## Keep privileged tools behind a wrapper
|
|
56
54
|
|
|
@@ -96,43 +94,22 @@ export default defineTool({
|
|
|
96
94
|
```
|
|
97
95
|
|
|
98
96
|
The model sees `get_stock`, not the unrestricted inventory server.
|
|
99
|
-
Use this shape when code should own an allowlist
|
|
100
|
-
|
|
97
|
+
Use this shape when code should own an allowlist or another side-effect
|
|
98
|
+
gate.
|
|
101
99
|
|
|
102
|
-
##
|
|
100
|
+
## Use an OAuth server from a hosted agent
|
|
103
101
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
102
|
+
Tokens from `mcp oauth` stay in the CLI config directory of the machine
|
|
103
|
+
that authorized them, so a hosted deployment doesn't receive them. For a
|
|
104
|
+
Cursor-managed agent, add the server under MCP in the Cursor dashboard,
|
|
105
|
+
reach it through a
|
|
106
|
+
[`cursorAccount: true` connection](../reference/connections.md#cursor-account-mcp-connection),
|
|
107
|
+
and connect it from **Deployed Agents** in the
|
|
108
|
+
[dashboard](https://cursor.com/dashboard).
|
|
107
109
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
hosting: {
|
|
112
|
-
egressDomains: ["mcp.example.com"],
|
|
113
|
-
secretNames: [
|
|
114
|
-
"MCP_OAUTH_INVENTORY_ACCESS_TOKEN",
|
|
115
|
-
"MCP_OAUTH_INVENTORY_REFRESH_TOKEN",
|
|
116
|
-
"MCP_OAUTH_INVENTORY_CLIENT_ID",
|
|
117
|
-
],
|
|
118
|
-
},
|
|
119
|
-
});
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
```text
|
|
123
|
-
bdk mcp oauth inventory --store
|
|
124
|
-
bdk secrets list my-agent
|
|
125
|
-
bdk deploy
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
`--store` writes deployment secrets; it does not restart the current
|
|
129
|
-
process. Follow the CLI or dashboard prompt to redeploy, then exercise
|
|
130
|
-
the hosted agent.
|
|
131
|
-
|
|
132
|
-
These credentials belong to the deployment, not to the person who
|
|
133
|
-
clicked Connect. Anyone able to use that agent can reach the MCP
|
|
134
|
-
capabilities you expose, so keep privileged servers host-only or narrow
|
|
135
|
-
their tool list.
|
|
110
|
+
Anyone able to use that agent can reach the MCP capabilities you
|
|
111
|
+
expose, so narrow the connection's `servers` list and keep privileged
|
|
112
|
+
operations behind a host-side wrapper.
|
|
136
113
|
|
|
137
114
|
## Choose where credentials live
|
|
138
115
|
|
|
@@ -141,8 +118,8 @@ Use the credential shape that matches who should own access:
|
|
|
141
118
|
- Choose `cursorAccount: true` for connectors already authorized under
|
|
142
119
|
MCP in the Cursor dashboard. Their tokens stay on the Cursor backend.
|
|
143
120
|
|
|
144
|
-
- Choose `url` with `oauth: true` when the
|
|
145
|
-
|
|
121
|
+
- Choose `url` with `oauth: true` when the machine running `bdk serve`
|
|
122
|
+
should hold OAuth credentials.
|
|
146
123
|
|
|
147
124
|
- Choose `url` with static `headers` when the server uses an API key or
|
|
148
125
|
bearer token instead of OAuth.
|
|
@@ -159,6 +136,6 @@ caller needs a different downstream identity.
|
|
|
159
136
|
connectors, per-session auth, and tool filtering
|
|
160
137
|
- [CLI reference](../reference/cli.md#mcp-oauth): OAuth command flags
|
|
161
138
|
and browser callback behavior
|
|
162
|
-
- [Deployment](../deployment.md): hosted
|
|
139
|
+
- [Deployment](../deployment.md): hosted egress and secrets
|
|
163
140
|
- [Troubleshooting](../troubleshooting.md): authorization symptoms and
|
|
164
141
|
remedies
|
package/docs/guides/webhooks.md
CHANGED
|
@@ -16,9 +16,9 @@ Author `bot/channels/<id>.ts`. Its routes mount under
|
|
|
16
16
|
## Receive a webhook and send the answer back
|
|
17
17
|
|
|
18
18
|
When a ticket system sends a new message, this endpoint responds with
|
|
19
|
-
`202 Accepted` right away. The agent keeps working
|
|
20
|
-
request ends, and its completed answer appears as a
|
|
21
|
-
ticket.
|
|
19
|
+
`202 Accepted` and an empty body right away. The agent keeps working
|
|
20
|
+
after the HTTP request ends, and its completed answer appears as a
|
|
21
|
+
comment on the ticket.
|
|
22
22
|
|
|
23
23
|
```ts
|
|
24
24
|
// bot/channels/tickets.ts
|
|
@@ -46,7 +46,7 @@ export default defineChannel<TicketState>({
|
|
|
46
46
|
title: `Ticket ${body.ticketId}`,
|
|
47
47
|
})
|
|
48
48
|
);
|
|
49
|
-
return Response
|
|
49
|
+
return new Response(null, { status: 202 });
|
|
50
50
|
},
|
|
51
51
|
}),
|
|
52
52
|
],
|
|
@@ -65,6 +65,12 @@ export default defineChannel<TicketState>({
|
|
|
65
65
|
SDK. Keeping that write in the event handler means the webhook request
|
|
66
66
|
does not stay open while the model works.
|
|
67
67
|
|
|
68
|
+
The caller only ever receives that empty `202`. On Cursor-managed
|
|
69
|
+
hosting, the deployment sends it before your handler runs and discards
|
|
70
|
+
whatever the handler returns, so deliver every result, including
|
|
71
|
+
failures, back through the provider's API. See
|
|
72
|
+
[Route responses](../reference/channels.md#route-responses).
|
|
73
|
+
|
|
68
74
|
## Keep one conversation per ticket
|
|
69
75
|
|
|
70
76
|
Without a conversation key, every delivery creates a new session. Add
|
|
@@ -98,10 +104,11 @@ handler: async (_request, { callTool, send, waitUntil, body }) => {
|
|
|
98
104
|
ticketId: body.ticketId,
|
|
99
105
|
});
|
|
100
106
|
if (prepared.isError) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
await postTicketComment(
|
|
108
|
+
body.ticketId,
|
|
109
|
+
"I couldn't load this ticket, so I didn't draft a reply."
|
|
104
110
|
);
|
|
111
|
+
return new Response(null, { status: 202 });
|
|
105
112
|
}
|
|
106
113
|
|
|
107
114
|
waitUntil(
|
|
@@ -113,17 +120,19 @@ handler: async (_request, { callTool, send, waitUntil, body }) => {
|
|
|
113
120
|
},
|
|
114
121
|
})
|
|
115
122
|
);
|
|
116
|
-
return Response
|
|
123
|
+
return new Response(null, { status: 202 });
|
|
117
124
|
},
|
|
118
125
|
```
|
|
119
126
|
|
|
120
127
|
The same `message.completed` handler from the first example delivers
|
|
121
|
-
the answer back to the ticket.
|
|
128
|
+
the answer back to the ticket. When preparation fails, the handler
|
|
129
|
+
reports that on the ticket instead.
|
|
122
130
|
|
|
123
131
|
## Routes receive, events deliver
|
|
124
132
|
|
|
125
133
|
Routes own inbound HTTP. A route validates the request, decides whether
|
|
126
|
-
to start or resume a turn, and
|
|
134
|
+
to start or resume a turn, and acknowledges the caller with `202`. The
|
|
135
|
+
channel's
|
|
127
136
|
`events` handlers receive session events later, which is where you
|
|
128
137
|
deliver the model's answer or report a failure to the originating
|
|
129
138
|
system.
|
|
@@ -151,9 +160,10 @@ route:
|
|
|
151
160
|
- `callTool` runs an authored server tool without starting a model
|
|
152
161
|
turn.
|
|
153
162
|
|
|
154
|
-
- `waitUntil` keeps background work alive after the
|
|
155
|
-
`send` when
|
|
156
|
-
`session.waitForCompletion()`
|
|
163
|
+
- `waitUntil` keeps background work alive after the handler returns.
|
|
164
|
+
Await `send` when later handler code needs the session handle, such
|
|
165
|
+
as calling `session.waitForCompletion()` before reporting the turn
|
|
166
|
+
outcome to the provider.
|
|
157
167
|
|
|
158
168
|
- `host` provides authenticated services for API calls made by channel
|
|
159
169
|
code.
|
|
@@ -189,17 +199,24 @@ export default defineChannel({
|
|
|
189
199
|
const rawBody = await request.text();
|
|
190
200
|
const signature = request.headers.get("x-provider-signature");
|
|
191
201
|
if (!verifyProviderSignature(rawBody, signature)) {
|
|
192
|
-
return Response
|
|
202
|
+
return new Response(null, { status: 202 });
|
|
193
203
|
}
|
|
194
204
|
|
|
195
205
|
// Parse and dispatch only after the signature passes.
|
|
196
|
-
return Response
|
|
206
|
+
return new Response(null, { status: 202 });
|
|
197
207
|
},
|
|
198
208
|
}),
|
|
199
209
|
],
|
|
200
210
|
});
|
|
201
211
|
```
|
|
202
212
|
|
|
213
|
+
Because a hosted handler runs after the `202`, a delivery with a bad
|
|
214
|
+
signature is dropped silently rather than rejected. When the provider
|
|
215
|
+
sends a shared secret header or signs the raw body with HMAC-SHA256,
|
|
216
|
+
use `sharedSecretAuth()` or `hmacSignatureAuth()` instead. Hosting
|
|
217
|
+
checks those policies before the handler runs and answers a bad
|
|
218
|
+
delivery with `401`.
|
|
219
|
+
|
|
203
220
|
`publicEndpoint()` only opens this channel's routes. The built-in
|
|
204
221
|
session and tool APIs stay private. See
|
|
205
222
|
[Auth policies](../reference/channels.md#auth-policies) for bearer
|
|
@@ -208,9 +225,9 @@ tokens and the complete policy reference.
|
|
|
208
225
|
## Test locally
|
|
209
226
|
|
|
210
227
|
Run the agent in development mode, then replay the same payload the
|
|
211
|
-
provider will send. The
|
|
212
|
-
resulting session should appear in the playground
|
|
213
|
-
delivered.
|
|
228
|
+
provider will send. The route should answer `202` with an empty body
|
|
229
|
+
right away, and the resulting session should appear in the playground
|
|
230
|
+
while the reply is delivered.
|
|
214
231
|
|
|
215
232
|
```text
|
|
216
233
|
bdk serve --dir . --dev
|
package/docs/quickstart.md
CHANGED
|
@@ -304,8 +304,8 @@ trigger, both tool calls, and the verdict.
|
|
|
304
304
|
|
|
305
305
|
- [Evals](./evals.md): freeze these two PRs as regression checks so
|
|
306
306
|
prompt changes can't flip a verdict
|
|
307
|
-
- [Tools](./reference/tools.md): more on typed tools,
|
|
308
|
-
direct calls
|
|
307
|
+
- [Tools](./reference/tools.md): more on typed tools, dry-run effects,
|
|
308
|
+
and direct calls
|
|
309
309
|
- [GitHub](./guides/github.md): fixtures, forwarding, and pulling
|
|
310
310
|
events from Cursor
|
|
311
311
|
- [Building agents with agents](./building-with-agents.md): have a
|
|
@@ -12,8 +12,8 @@ available alongside any custom or prebuilt channels.
|
|
|
12
12
|
|
|
13
13
|
## Built-in HTTP channel
|
|
14
14
|
|
|
15
|
-
The built-in channel serves the session,
|
|
16
|
-
|
|
15
|
+
The built-in channel serves the session, tool, and discovery routes. In
|
|
16
|
+
a multi-agent host, each agent's routes sit under its
|
|
17
17
|
slug. See the [HTTP API](./http-api.md) for request and response
|
|
18
18
|
contracts.
|
|
19
19
|
|
|
@@ -33,14 +33,13 @@ export default defineChannel({
|
|
|
33
33
|
message: z.string(),
|
|
34
34
|
prUrl: z.string().url(),
|
|
35
35
|
}),
|
|
36
|
-
handler: async (_request, { send, body }) => {
|
|
37
|
-
|
|
38
|
-
`${body.message}\n\nPull request: ${body.prUrl}`,
|
|
39
|
-
{
|
|
36
|
+
handler: async (_request, { send, waitUntil, body }) => {
|
|
37
|
+
waitUntil(
|
|
38
|
+
send(`${body.message}\n\nPull request: ${body.prUrl}`, {
|
|
40
39
|
continuationToken: `pr:${body.prUrl}`,
|
|
41
|
-
}
|
|
40
|
+
})
|
|
42
41
|
);
|
|
43
|
-
return Response
|
|
42
|
+
return new Response(null, { status: 202 });
|
|
44
43
|
},
|
|
45
44
|
}),
|
|
46
45
|
],
|
|
@@ -51,6 +50,23 @@ The route above is
|
|
|
51
50
|
`POST /v1/channels/<id>/review`. Calls for the same pull request reuse
|
|
52
51
|
one conversation because they pass the same continuation token.
|
|
53
52
|
|
|
53
|
+
## Route responses
|
|
54
|
+
|
|
55
|
+
A custom route acknowledges the caller and nothing more. On
|
|
56
|
+
Cursor-managed hosting, the deployment answers every custom route with
|
|
57
|
+
`202 Accepted` and an empty body as soon as the request arrives, then
|
|
58
|
+
runs the handler. The caller never receives the handler's `Response`,
|
|
59
|
+
so a route can't return a session ID, a computed result, or an error
|
|
60
|
+
status. Requests rejected before the handler runs, such as a missing
|
|
61
|
+
alias token or a failed `sharedSecretAuth` or `hmacSignatureAuth`
|
|
62
|
+
check, still get `401`.
|
|
63
|
+
|
|
64
|
+
Deliver results through the channel's [`events`](#events) handlers, a
|
|
65
|
+
callback to the system that sent the request, or a tool the turn calls.
|
|
66
|
+
Local `serve` passes the handler's response through, so return
|
|
67
|
+
`new Response(null, { status: 202 })` to keep local calls matching
|
|
68
|
+
hosted ones.
|
|
69
|
+
|
|
54
70
|
## Route verbs and schemas
|
|
55
71
|
|
|
56
72
|
Route paths must begin with `/`. The method helper determines which Zod
|
|
@@ -64,8 +80,9 @@ schemas the route accepts:
|
|
|
64
80
|
|
|
65
81
|
Plain JSON Schema objects don't type-check. Use `z.object({})` or
|
|
66
82
|
`z.unknown()` for an open surface. The host validates the body and query
|
|
67
|
-
before calling the handler,
|
|
68
|
-
|
|
83
|
+
before calling the handler, and an empty body is read as `{}`. A request
|
|
84
|
+
that fails validation never reaches the handler; local `serve` answers it
|
|
85
|
+
with `400`, while a hosted caller has already received its `202`. Declared schemas also appear in `GET /v1/info` for
|
|
69
86
|
playground requests and slash commands.
|
|
70
87
|
|
|
71
88
|
## Handler arguments
|
|
@@ -82,7 +99,7 @@ Each handler receives the Fetch `Request` and a typed arguments object.
|
|
|
82
99
|
| `auth` | The `AuthContext` returned by the route's auth chain |
|
|
83
100
|
| `requestIp` | The TCP peer address, or `null` |
|
|
84
101
|
| `host` | Shared MCP, provider, storage, telemetry, and reminder services |
|
|
85
|
-
| `waitUntil(promise)` |
|
|
102
|
+
| `waitUntil(promise)` | Keep work running after the handler returns |
|
|
86
103
|
| `sessionUrls(request, sessionId)` | Build absolute playground and trace URLs for this mount |
|
|
87
104
|
| `artifacts` | List or tag [artifacts](./artifacts.md); pass `sessionId` when attributing one |
|
|
88
105
|
|
|
@@ -134,7 +151,6 @@ transport controls:
|
|
|
134
151
|
| `hasContinuationSession(token)` | Check whether a token maps to a session |
|
|
135
152
|
| `isContinuationBusy(token)` | Check whether a turn is active for a token |
|
|
136
153
|
| `interruptContinuation(token)` | Stop the active turn and clear queued coalesced follow-ups |
|
|
137
|
-
| `resolveApproval(...)` | Approve or deny a parked tool call |
|
|
138
154
|
|
|
139
155
|
## Auth policies
|
|
140
156
|
|
|
@@ -173,7 +189,7 @@ author their own chain, and `--allow-anonymous` swaps it for
|
|
|
173
189
|
|
|
174
190
|
| Import | Function | Surface |
|
|
175
191
|
| --- | --- | --- |
|
|
176
|
-
| `@cursor/bdk/channels/slack` | `slackChannel()` | Slack messages, threads, streaming replies
|
|
192
|
+
| `@cursor/bdk/channels/slack` | `slackChannel()` | Slack messages, threads, and streaming replies. See [Slack](../guides/slack.md) |
|
|
177
193
|
| `@cursor/bdk/channels/github` | `githubChannel()` | GitHub and GitHub Enterprise webhooks. See [GitHub](../guides/github.md) |
|
|
178
194
|
| `@cursor/bdk/channels/gitlab` | `gitlabChannel()` | GitLab.com and self-managed GitLab hooks. See [GitLab](../guides/gitlab.md) |
|
|
179
195
|
| `@cursor/bdk/channels/bitbucket` | `bitbucketChannel()` | Bitbucket Cloud and Data Center hooks. See [Bitbucket](../guides/bitbucket.md) |
|