@cursor/bdk 0.2.14 → 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.BN3sgOOo.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.CbA00dML.js → VPLocalSearchBox.C4BiQe53.js} +1 -1
- package/dist/docs/assets/chunks/{arc.Byug8CZM.js → arc.D1TA2Mxn.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.D1_qmnQy.js → architectureDiagram-Q4EWVU46.CA-hBJCN.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.Dj-Nurf-.js → baseUniq.CzsSgiab.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BZwq3EIg.js → blockDiagram-DXYQGD6D.sxrH_f0l.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.dx75urO7.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.CIoddsDQ.js → chunk-4BX2VUAB.BS6_uTUf.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.O3VsVBES.js → chunk-4TB4RGXK.D-URAeTU.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.WNNWh0Pe.js → chunk-55IACEB6.b4SZc5kO.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BKVQwEME.js → chunk-EDXVE4YY.DLKEEDkN.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.Cv5iBz7A.js → chunk-FMBD7UC4.3SyQHgpY.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.wCDCToee.js → chunk-OYMX7WX6.DBKKaFeS.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.D3IGXhXA.js → chunk-QZHKN3VN.BhCYeR7H.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CAPPh-E7.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.BQCFH3M5.js → cose-bilkent-S5V4N54A.4q0YNZN6.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.lHmdrh7L.js → dagre-KV5264BT.Bk_CcQPr.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.EtSPnHgD.js → diagram-5BDNPKRD.CgreoM_Z.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DCyUnQT8.js → diagram-G4DWMVQ6.DlZGpm6W.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5._E0Qqblb.js → diagram-MMDJMWI5.BxtXxgIR.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.BDj4oyy_.js → diagram-TYMM5635.DSzlJp2D.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.CrvnO6a3.js → erDiagram-SMLLAGMA.BN1YUmEV.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.DIhYc-2F.js → flowDiagram-DWJPFMVM.B61NGNYu.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.hFqm_vio.js → ganttDiagram-T4ZO3ILL.DR-tto3M.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.N3GDaVDD.js → gitGraphDiagram-UUTBAWPF.CBPs2W_2.js} +1 -1
- package/dist/docs/assets/chunks/{graph.DK28rMBx.js → graph.DmlaqzCE.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.DHmE6W9M.js → infoDiagram-42DDH7IO.obPv-fFg.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.ByUJuOYm.js → ishikawaDiagram-UXIWVN3A.CXHTUcM3.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BIUChFMh.js → journeyDiagram-VCZTEJTY.BoVHerYZ.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CNgFXwo-.js → kanban-definition-6JOO6SKY.CfYmPHZg.js} +1 -1
- package/dist/docs/assets/chunks/{layout.BDnwE4ET.js → layout.621UdAhB.js} +1 -1
- package/dist/docs/assets/chunks/{linear.DmrYLXFs.js → linear.Cz_zRKjr.js} +1 -1
- package/dist/docs/assets/chunks/{min.BbYcWakN.js → min.ON4GjCH7.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.C9x-klkv.js → mindmap-definition-QFDTVHPH.DLPMLJlv.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.iufpEbi0.js → pieDiagram-DEJITSTG.BFp11AYt.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DdoXbWL9.js → quadrantDiagram-34T5L4WZ.ChX7xo6B.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.XL1-_pNk.js → requirementDiagram-MS252O5E.DbKtHG_Q.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DySXofNs.js → sankeyDiagram-XADWPNL6.Spw8tv-7.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Cp0GZoOU.js → sequenceDiagram-FGHM5R23.BYso9LlE.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DvK-sXUX.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.Clup4iIo.js → theme.m_Ethbkv.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.gHI9ZLm6.js → timeline-definition-GMOUNBTQ.BLdhhyy9.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.G2N2zXYe.js → vennDiagram-DHZGUBPP.CyGT2F_P.js} +1 -1
- package/dist/docs/assets/chunks/{wardley-RL74JXVD.C46G0P5a.js → wardley-RL74JXVD.C5JJS3bh.js} +1 -1
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.BgUKEagd.js → wardleyDiagram-NUSXRM2D.p_Sz9p1i.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CwH7oege.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.ClkMoQsV.js → reference_skills.md.Ckddg6KX.js} +1 -1
- 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 +37 -37
- 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/extensions/cursor-cloud-agents/extension.d.ts +5 -1
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +4 -0
- 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/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +14 -0
- package/dist/internal/continuation-identity.js +1 -1
- 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 +5 -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 +3 -0
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +26 -11
- package/dist/playground/assets/index-BVYWBxLU.css +1 -0
- package/dist/playground/assets/{index-ClxRl2Cw.js → index-DCsq6f_I.js} +37 -37
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +16 -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 +35 -35
- 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.CzrtdJ8s.js +0 -1
- package/dist/docs/assets/chunks/channel.6ebHhoF9.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.BJ-CwKwu.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.BJ-CwKwu.js +0 -1
- package/dist/docs/assets/chunks/clone.DfV2fkWH.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DNdUCJyd.js +0 -1
- 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-BKSsuEMw.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.ClkMoQsV.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
package/docs/reference/cli.md
CHANGED
|
@@ -70,12 +70,17 @@ provide their own `help` subcommands.
|
|
|
70
70
|
| [`deployments`](#deployments) | List deployments |
|
|
71
71
|
| [`deployment`](#deployment) | Inspect one deployment |
|
|
72
72
|
| [`stop`](#stop) | Stop a deployment |
|
|
73
|
+
| [`start`](#start) | Start a stopped deployment |
|
|
74
|
+
| [`kill`](#kill) | Stop a deployment, cancel its runs, and lock deploys |
|
|
75
|
+
| [`unlock-deploys`](#unlock-deploys) | Let a killed deployment deploy again |
|
|
73
76
|
| [`cancel-runs`](#cancel-runs) | Cancel active runs and reminder wakes |
|
|
74
77
|
| [`event-repos`](#event-repos) | Replace a deployment's event repositories |
|
|
75
78
|
| [`upgrade`](#upgrade) | Move a deployment to a release |
|
|
79
|
+
| [`rollback`](#rollback) | Move a deployment to an earlier release |
|
|
76
80
|
| [`delete`](#delete) | Delete a deployment |
|
|
77
81
|
| [`rotate-token`](#rotate-token) | Replace a deployment's alias token |
|
|
78
82
|
| [`secrets`](#secrets) | Set, list, or remove deployment secrets |
|
|
83
|
+
| [`images`](#images) | Push, list, or remove container images for persistent agents |
|
|
79
84
|
|
|
80
85
|
### Connection and channel commands
|
|
81
86
|
|
|
@@ -98,7 +103,7 @@ Commands that send requests support these targets:
|
|
|
98
103
|
| Ephemeral local server | Omit `--url` and `--prod` | `run`, `call`, `skill`, `eval` |
|
|
99
104
|
| Running server | Pass `--url <baseUrl>` | `chat`, `resume`, `run`, `call`, `skill`, `eval`, `logs`, `sessions`, `session`, `cost`, `playground`, `mcp` |
|
|
100
105
|
| Default local server | Omit `--url` and `--prod`; uses `http://127.0.0.1:3000` | `chat`, `resume`, `logs`, `sessions`, `session`, `cost`, `playground` |
|
|
101
|
-
| Hosted deployment | Pass `--prod` | `run`, `session`, `playground` |
|
|
106
|
+
| Hosted deployment | Pass `--prod` | `run`, `session`, `logs`, `playground` |
|
|
102
107
|
|
|
103
108
|
An explicit `--url` must include the slug for a multi-agent server, such as
|
|
104
109
|
`http://127.0.0.1:3000/pr-approver`. `--slug` never changes an explicit URL.
|
|
@@ -108,8 +113,8 @@ An explicit `--url` must include the slug for a multi-agent server, such as
|
|
|
108
113
|
| --- | --- |
|
|
109
114
|
| `--dir <path>` | Select the project root. The default is the current directory. |
|
|
110
115
|
| `--url <baseUrl>` | Use a running agent instead of local project discovery. |
|
|
111
|
-
| `--prod` | Use the hosted deployment. Only `run`, `session`, and `playground` accept it. |
|
|
112
|
-
| `--slug <slug>` | Select an agent from a multi-agent project or a hosted
|
|
116
|
+
| `--prod` | Use the hosted deployment. Only `run`, `session`, `logs`, and `playground` accept it; `chat`, `resume`, `call`, `skill`, `sessions`, `cost`, and `mcp` report that the deployment doesn't support the command, and `eval` rejects the flag. |
|
|
117
|
+
| `--slug <slug>` | Select an agent from a multi-agent project or a hosted deployment. Under `--prod`, the default is the `--dir` basename. |
|
|
113
118
|
| `--team <id>` | Select a Cursor team. The signed-in account's team is the default. |
|
|
114
119
|
| `--api-key <key>` | Override the Cursor credential for commands that authenticate with Cursor. |
|
|
115
120
|
| `--bearer-token <token>` | Authenticate to a running server with a bearer token. |
|
|
@@ -234,28 +239,31 @@ bdk run [--dir <path>] [--message <text>]...
|
|
|
234
239
|
|
|
235
240
|
| Option | Contract |
|
|
236
241
|
| --- | --- |
|
|
237
|
-
| `--message <text>` | Send a user message. Repeat it for a multi-turn local or `--url` run. `--prod`
|
|
242
|
+
| `--message <text>` | Send a user message. Repeat it for a multi-turn local or `--url` run. A `--prod` run takes exactly one message. |
|
|
238
243
|
| `--messages-file <path>` | Read a JSON array of strings. File messages run before repeated `--message` values. |
|
|
239
|
-
| `--session <id>` | Continue a session. With `--prod`, pass a hosted `ses_...` ID. |
|
|
240
|
-
| `--continuation-token <token>` | Continue the session selected by `--session` on a running server. `--prod`
|
|
244
|
+
| `--session <id>` | Continue a session. With `--prod`, pass a hosted `ses_...` ID from a session that `run --prod` or `session --prod` started; Slack, SCM, and custom-route sessions can't be continued this way. |
|
|
245
|
+
| `--continuation-token <token>` | Continue the session selected by `--session` on a running server. `--prod` doesn't accept it. |
|
|
241
246
|
| `--events <file>` | Write the raw NDJSON stream to this path. |
|
|
242
247
|
| `--no-events` | Skip the NDJSON trace. |
|
|
243
248
|
| `--text` | Print a compact trajectory instead of JSON. |
|
|
244
249
|
| `--timeout-ms <n>` | Stop waiting after a positive number of milliseconds. There is no default timeout. |
|
|
245
250
|
| `--no-stream` | Hide live tool and reply progress on stderr. |
|
|
246
|
-
| `--dry-run` |
|
|
247
|
-
| `--as-of <instant>` | Freeze a `--prod` session's clock at
|
|
248
|
-
| `--component <key>` |
|
|
251
|
+
| `--dry-run` | Start a `--prod` session that runs read tools and stubs write tools. |
|
|
252
|
+
| `--as-of <instant>` | Freeze a `--prod` session's clock at an ISO-8601 instant with a timezone, such as `2026-08-31T12:00:00Z`. |
|
|
253
|
+
| `--component <key>` | Wake a named component of a `--prod` deployment instead of its default. A continued session must belong to that component. |
|
|
249
254
|
|
|
250
255
|
For local and running-server targets, JSON output contains `ok`, `sessionId`,
|
|
251
256
|
`continuationToken`, `trace`, `playgroundUrl`, `playgroundHint`, `visualize`,
|
|
252
257
|
and `trajectory`. The `trace` value gives the saved path when event output is
|
|
253
|
-
enabled.
|
|
254
|
-
|
|
255
|
-
`
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
258
|
+
enabled.
|
|
259
|
+
|
|
260
|
+
With `--prod`, `run` returns as soon as the deployment accepts the turn and
|
|
261
|
+
exits `0` before the turn outcome is known. It prints `deliveryId`,
|
|
262
|
+
`workflowId`, and `sessionMode`, plus `dryRun` and `asOf` when set. A fresh
|
|
263
|
+
start has no `sessionId` yet; a continuation echoes the `--session` value.
|
|
264
|
+
`--events`, `--no-events`, `--text`, `--timeout-ms`, and `--no-stream` have no
|
|
265
|
+
effect. See [Verify a hosted turn](../deployment.md#verify-a-hosted-turn) for
|
|
266
|
+
finding and following the new session.
|
|
259
267
|
|
|
260
268
|
### Call a tool {#call}
|
|
261
269
|
|
|
@@ -301,9 +309,9 @@ Text output shows the session ID, channel, mode, turn count, running status,
|
|
|
301
309
|
and update time. `--json` prints `{ sessions }`, including continuation
|
|
302
310
|
tokens.
|
|
303
311
|
|
|
304
|
-
Hosted deployments don't support `sessions`. Find a hosted session in the
|
|
305
|
-
deployment's **Sessions** list in the
|
|
306
|
-
[`session <sessionId> --prod`](#session).
|
|
312
|
+
Hosted deployments don't support `sessions`. Find a hosted session ID in the
|
|
313
|
+
[`logs --prod`](#logs) headers or the deployment's **Sessions** list in the
|
|
314
|
+
dashboard, then check it with [`session <sessionId> --prod`](#session).
|
|
307
315
|
|
|
308
316
|
### Inspect a session {#session}
|
|
309
317
|
|
|
@@ -313,7 +321,7 @@ bdk session <sessionId> [--url <baseUrl> | --prod]
|
|
|
313
321
|
[--json | --text | --events] [--out <file.ndjson>]
|
|
314
322
|
|
|
315
323
|
bdk session --prod [<sessionId>] --slug <slug> --message <text>
|
|
316
|
-
[--dry-run] [--as-of <instant>] [--component <key>]
|
|
324
|
+
[--team <id>] [--dry-run] [--as-of <instant>] [--component <key>]
|
|
317
325
|
```
|
|
318
326
|
|
|
319
327
|
| Option | Contract |
|
|
@@ -323,28 +331,33 @@ bdk session --prod [<sessionId>] --slug <slug> --message <text>
|
|
|
323
331
|
| `--json` | Print the trajectory object. |
|
|
324
332
|
| `--events` | Print `{ sessionId, events }` with the raw event list. |
|
|
325
333
|
| `--out <file.ndjson>` | Write the raw NDJSON trace instead of printing it. |
|
|
326
|
-
| `--prod --message <text>` | Start a hosted session or continue the supplied hosted session ID. |
|
|
334
|
+
| `--prod --message <text>` | Start a hosted session, or continue the supplied hosted session ID, with the same contract as [`run --prod`](#run). |
|
|
327
335
|
|
|
328
|
-
`--events` and `--json` are mutually exclusive.
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
336
|
+
`--events` and `--json` are mutually exclusive. Use [`resume`](#resume) to
|
|
337
|
+
continue a conversational session on a local or running server.
|
|
338
|
+
|
|
339
|
+
With `--prod`, the command prints the session's hosted executions: one line
|
|
340
|
+
per run with its status, duration, and time, followed by that run's log
|
|
341
|
+
lines. `--json` prints `{ sessionId, executions, startLog, ... }`. `--events`
|
|
342
|
+
and `--out` aren't available. While a turn is running, text output also
|
|
343
|
+
reports the event count and latest event type and prints
|
|
344
|
+
`Turn running; runs may lag behind events.` A run can show `running` with no
|
|
345
|
+
logs until the turn ends, so a growing event count is the progress signal.
|
|
333
346
|
|
|
334
347
|
### Follow logs {#logs}
|
|
335
348
|
|
|
336
349
|
```text
|
|
337
350
|
bdk logs [sessionId] [--url <baseUrl> | --prod]
|
|
338
|
-
[--session <sessionId>] [--slug <slug>] [--once] [--json]
|
|
351
|
+
[--session <sessionId>] [--slug <slug>] [--team <id>] [--once] [--json]
|
|
339
352
|
```
|
|
340
353
|
|
|
341
354
|
The command follows logs until Ctrl-C. `--once` prints the current buffer and
|
|
342
355
|
exits; `--json` emits newline-delimited JSON events. With `--prod`, it follows
|
|
343
|
-
the output of the hosted deployment's most recent sessions
|
|
344
|
-
`==> <sessionId> (<channel>) <==` header each time the output
|
|
345
|
-
sessions. Pass a session ID, as an argument or with `--session`, to
|
|
346
|
-
that session
|
|
347
|
-
`index` and `at`.
|
|
356
|
+
the output of the hosted deployment's most recent sessions on every channel
|
|
357
|
+
and prints a `==> <sessionId> (<channel>) <==` header each time the output
|
|
358
|
+
switches sessions. Pass a session ID, as an argument or with `--session`, to
|
|
359
|
+
follow only that session; a session ID requires `--prod`. Hosted log events
|
|
360
|
+
carry `sessionId` and `line` rather than `index` and `at`.
|
|
348
361
|
|
|
349
362
|
### Report costs {#cost}
|
|
350
363
|
|
|
@@ -368,8 +381,8 @@ bdk playground [--url <baseUrl> | --prod] [--session <id>]
|
|
|
368
381
|
The command prints the playground URL and opens it unless `--print` is set.
|
|
369
382
|
`--session` opens a deep link. A running target with credentials that a
|
|
370
383
|
browser can't send starts a loopback proxy and stays open until Ctrl-C.
|
|
371
|
-
`--
|
|
372
|
-
|
|
384
|
+
With `--prod`, the URL opens the deployment's playground under **Deployed
|
|
385
|
+
Agents** in the dashboard.
|
|
373
386
|
|
|
374
387
|
### Inspect a trajectory {#trajectory}
|
|
375
388
|
|
|
@@ -659,6 +672,36 @@ The command waits for `stopped` by default. `--no-wait` returns after the
|
|
|
659
672
|
request is accepted. `--cancel-runs` also requests cancellation of active
|
|
660
673
|
runs and reminder wakes.
|
|
661
674
|
|
|
675
|
+
### Start a deployment {#start}
|
|
676
|
+
|
|
677
|
+
```text
|
|
678
|
+
bdk start <slug> [--team <id>] [--json]
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
`start` resumes a stopped deployment. It doesn't remove the deploy lock
|
|
682
|
+
that [`kill`](#kill) sets.
|
|
683
|
+
|
|
684
|
+
### Kill a deployment {#kill}
|
|
685
|
+
|
|
686
|
+
```text
|
|
687
|
+
bdk kill <slug> [--team <id>] [--json]
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
Use `kill` in an emergency. It locks deploys of the slug, stops the
|
|
691
|
+
deployment, and requests cancellation of its active runs and reminder
|
|
692
|
+
wakes. To bring the deployment back, run
|
|
693
|
+
[`unlock-deploys`](#unlock-deploys) and then [`start`](#start).
|
|
694
|
+
|
|
695
|
+
### Unlock deploys {#unlock-deploys}
|
|
696
|
+
|
|
697
|
+
```text
|
|
698
|
+
bdk unlock-deploys <slug> [--team <id>] [--json]
|
|
699
|
+
```
|
|
700
|
+
|
|
701
|
+
`unlock-deploys` removes the lock that `kill` sets, so `deploy`,
|
|
702
|
+
`upgrade`, and `rollback` work for the slug again. It doesn't resume
|
|
703
|
+
traffic; run `start` for that.
|
|
704
|
+
|
|
662
705
|
### Cancel active runs {#cancel-runs}
|
|
663
706
|
|
|
664
707
|
```text
|
|
@@ -689,6 +732,17 @@ bdk upgrade <slug> [--release <id-or-version>]
|
|
|
689
732
|
`--release` accepts a release ID or version. Omit it to select the newest
|
|
690
733
|
ready release. `--json` prints `{ releaseId }`.
|
|
691
734
|
|
|
735
|
+
### Roll back a deployment {#rollback}
|
|
736
|
+
|
|
737
|
+
```text
|
|
738
|
+
bdk rollback <slug> [--release <id-or-version>]
|
|
739
|
+
[--team <id>] [--json]
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
`rollback` moves the deployment to an earlier ready release without
|
|
743
|
+
building a new one. Omit `--release` to select the release before the
|
|
744
|
+
current one. `--json` prints `{ releaseId }`.
|
|
745
|
+
|
|
692
746
|
### Delete a deployment {#delete}
|
|
693
747
|
|
|
694
748
|
```text
|
|
@@ -737,6 +791,24 @@ most 4096 bytes, and each deployment holds at most 32 secrets.
|
|
|
737
791
|
`{ secretNames }` for `set`, `{ secrets }` for `list`, and `{ removed }` for
|
|
738
792
|
`unset`. Changes are available to subsequent hosted work.
|
|
739
793
|
|
|
794
|
+
### Manage container images {#images}
|
|
795
|
+
|
|
796
|
+
```text
|
|
797
|
+
bdk images push <local-image> --name <name> [--team <id>] [--json]
|
|
798
|
+
bdk images list [--team <id>] [--json]
|
|
799
|
+
bdk images rm <name> [--team <id>] [--json]
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
A persistent agent can run inside a container image that your team pushes
|
|
803
|
+
and names in `hosting.image`. `push` needs Docker on your machine. It
|
|
804
|
+
checks the local image first: the image must be `linux/amd64` and have
|
|
805
|
+
`bash`, `git`, `node` 22.13 or newer, and `npm` on `PATH`. The command
|
|
806
|
+
then compresses the image and uploads it under `--name`.
|
|
807
|
+
|
|
808
|
+
`list` shows the team's images and how many the team can keep, and `rm`
|
|
809
|
+
deletes one image. A deploy pins the image it uses, so after you push a
|
|
810
|
+
new image under the same name, deploy again to pick it up.
|
|
811
|
+
|
|
740
812
|
## MCP connections
|
|
741
813
|
|
|
742
814
|
### Connect an MCP client {#mcp}
|
|
@@ -753,10 +825,13 @@ bdk mcp install --url <baseUrl> [--bearer-token <token>]
|
|
|
753
825
|
| `mcp` | Read newline-delimited JSON-RPC from stdin and proxy it to the selected agent's MCP endpoint. stdout is reserved for MCP messages. A target is required. |
|
|
754
826
|
| `mcp install` | Add the selected agent to `~/.cursor/mcp.json`. `--name` sets the server name, `--print` previews the entry, and `--json` prints a machine-readable result. A `--url` entry with `--bearer-token` contains that token; handle printed and written copies as credentials. |
|
|
755
827
|
|
|
828
|
+
Hosted deployments don't support `mcp` or `mcp install`; both report that the
|
|
829
|
+
deployment doesn't support the command when you pass `--prod`.
|
|
830
|
+
|
|
756
831
|
### Authorize MCP OAuth {#mcp-oauth}
|
|
757
832
|
|
|
758
833
|
```text
|
|
759
|
-
bdk mcp oauth <connection> [--dir <path>]
|
|
834
|
+
bdk mcp oauth <connection> [--dir <path>]
|
|
760
835
|
[--slug <slug>] [--team <id>]
|
|
761
836
|
```
|
|
762
837
|
|
|
@@ -765,13 +840,11 @@ bdk mcp oauth <connection> [--dir <path>] [--store]
|
|
|
765
840
|
|
|
766
841
|
| Connection | Result |
|
|
767
842
|
| --- | --- |
|
|
768
|
-
| `defineConnection({ url, oauth: true })` | Open a browser PKCE flow and save tokens in `mcp-auth.json` under the CLI config directory.
|
|
769
|
-
| `defineConnection({ cursorAccount: true })` | Authorize the hosted deployment's service account through Cursor.
|
|
843
|
+
| `defineConnection({ url, oauth: true })` | Open a browser PKCE flow and save tokens in `mcp-auth.json` under the CLI config directory. |
|
|
844
|
+
| `defineConnection({ cursorAccount: true })` | Authorize the hosted deployment's service account through Cursor. |
|
|
770
845
|
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
them in `hosting.secretNames`. URL-connection tokens are bound to the resource
|
|
774
|
-
URL; authorize again after changing it.
|
|
846
|
+
URL-connection tokens are bound to the resource URL; authorize again after
|
|
847
|
+
changing it.
|
|
775
848
|
|
|
776
849
|
See [Host MCP OAuth](../guides/mcp-oauth.md) for the full setup flow.
|
|
777
850
|
|
|
@@ -61,8 +61,9 @@ empty value at connect time, which the server reports as an auth failure.
|
|
|
61
61
|
|
|
62
62
|
For servers that speak OAuth, set `oauth: true` and authorize with the
|
|
63
63
|
CLI or mid-run Connect. Tokens live in `mcp-auth.json` under the CLI
|
|
64
|
-
config directory
|
|
65
|
-
|
|
64
|
+
config directory of the machine that authorized them. A hosted agent
|
|
65
|
+
reaches OAuth servers through a
|
|
66
|
+
[Cursor account connection](#cursor-account-mcp-connection) instead.
|
|
66
67
|
|
|
67
68
|
```ts
|
|
68
69
|
export default defineConnection({
|
|
@@ -72,8 +73,7 @@ export default defineConnection({
|
|
|
72
73
|
```
|
|
73
74
|
|
|
74
75
|
```text
|
|
75
|
-
bdk mcp oauth inventory
|
|
76
|
-
bdk mcp oauth inventory --store # also upsert deployment secrets
|
|
76
|
+
bdk mcp oauth inventory # browser PKCE → local mcp-auth.json
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
Full walkthrough: [Host MCP OAuth](../guides/mcp-oauth.md). Companion
|
|
@@ -294,7 +294,8 @@ connection.
|
|
|
294
294
|
|
|
295
295
|
## Related
|
|
296
296
|
|
|
297
|
-
- [Host MCP OAuth](../guides/mcp-oauth.md): `mcp oauth`, Connect,
|
|
297
|
+
- [Host MCP OAuth](../guides/mcp-oauth.md): `mcp oauth`, Connect, and
|
|
298
|
+
hosted agents
|
|
298
299
|
- [Tools](./tools.md): authored tools that wrap MCP connections
|
|
299
300
|
- [Webhooks](../guides/webhooks.md): calling MCP connections from handlers
|
|
300
301
|
- [Peer agents](../guides/agent-to-agent.md): when a specialist is its
|
package/docs/reference/evals.md
CHANGED
|
@@ -88,8 +88,7 @@ file-level metadata; case reporters add to the file's reporters.
|
|
|
88
88
|
## Send turns in a case
|
|
89
89
|
|
|
90
90
|
`await t.send(message, options?)` runs one turn and waits until it
|
|
91
|
-
finishes
|
|
92
|
-
the session.
|
|
91
|
+
finishes or fails. Several sends in one test share the session.
|
|
93
92
|
|
|
94
93
|
The returned turn exposes its assistant `message`, `sessionId`,
|
|
95
94
|
`events`, ordered `toolCalls`, `ok`, and one-based `index`. Assertions
|
|
@@ -115,8 +114,7 @@ reports every violated contract.
|
|
|
115
114
|
|
|
116
115
|
| Assertion | Checks |
|
|
117
116
|
| --- | --- |
|
|
118
|
-
| `t.succeeded()` | Run finished without failure
|
|
119
|
-
| `t.parked()` | Run stopped on an unanswered approval |
|
|
117
|
+
| `t.succeeded()` | Run finished without failure |
|
|
120
118
|
| `t.calledTool(name, matcher?)` | Matching tool request occurred |
|
|
121
119
|
| `t.notCalledTool(name)` | No request for that tool occurred |
|
|
122
120
|
| `t.loadedSkill(name)` | Agent opened a named skill |
|
package/docs/reference/hooks.md
CHANGED
|
@@ -164,7 +164,6 @@ All three consume the same stream, for different jobs:
|
|
|
164
164
|
| Add context before the model runs | The channel's `send` message and `workspaceFiles`, `instructions.md`, skills, or `sandbox/workspace/` seed files |
|
|
165
165
|
| Reply on Slack, comment on a PR, or post any other delivery | The channel's `events` map, or the Slack and GitHub packs |
|
|
166
166
|
| Show PR progress (merge-box check, sticky banner) | `githubChannel({ progress: { commitStatus, banner } })`; see [GitHub agents](../guides/github.md) |
|
|
167
|
-
| Block, approve, or rewrite a tool call | [`needsApproval`](./tools.md#gate-a-tool-on-human-approval) on the tool |
|
|
168
167
|
| Act on the final assistant text, reject it for a same-turn repair, or fail a bad turn | `defineResult` |
|
|
169
168
|
| Gate a change on behavior | [Evals](../evals.md) |
|
|
170
169
|
|
|
@@ -13,8 +13,9 @@ chain, and session-owned resources return `403` to another principal.
|
|
|
13
13
|
Unless a section says otherwise, the default auth policy is
|
|
14
14
|
`localDevStrict()`. `--bearer-token` replaces it with bearer auth, and
|
|
15
15
|
`--allow-anonymous` replaces it with anonymous access. Built-in JSON
|
|
16
|
-
routes use `{ ok: false, error: "<code>", message? }` for errors
|
|
17
|
-
uses JSON-RPC
|
|
16
|
+
routes use `{ ok: false, error: "<code>", message? }` for errors, and MCP
|
|
17
|
+
uses JSON-RPC. Custom channel routes answer hosted callers with an empty
|
|
18
|
+
`202`; see [Call custom channel routes](#call-custom-channel-routes).
|
|
18
19
|
|
|
19
20
|
## Host routes
|
|
20
21
|
|
|
@@ -26,7 +27,6 @@ exist only when the playground is enabled.
|
|
|
26
27
|
| `GET /` | HTML index of mounted agents; no auth |
|
|
27
28
|
| `GET /v1/agents` | JSON index of mounted agents; no auth |
|
|
28
29
|
| `GET /docs`, `GET /docs/*` | Documentation site in either layout; no auth |
|
|
29
|
-
| `GET /v1/health` | Host liveness; no auth |
|
|
30
30
|
|
|
31
31
|
`--no-playground` removes the two index routes. `--no-docs` removes the
|
|
32
32
|
documentation site.
|
|
@@ -101,15 +101,6 @@ On loopback under `serve --dev`, the session list includes every
|
|
|
101
101
|
principal so webhook and schedule sessions appear in the playground.
|
|
102
102
|
The cost route returns `404` for an unknown session.
|
|
103
103
|
|
|
104
|
-
## Resolve tool approvals
|
|
105
|
-
|
|
106
|
-
| Route | Contract |
|
|
107
|
-
| --- | --- |
|
|
108
|
-
| `GET /v1/session/:sessionId/approvals` | List pending tool approvals |
|
|
109
|
-
| `POST /v1/session/:sessionId/approvals/:callId` | Resolve one with `{"decision":"approve"}` or `{"decision":"deny"}` |
|
|
110
|
-
|
|
111
|
-
For the lifecycle, see [Gate a tool on human approval](./tools.md#gate-a-tool-on-human-approval).
|
|
112
|
-
|
|
113
104
|
## Call a tool without a model turn
|
|
114
105
|
|
|
115
106
|
`POST /v1/tools/:toolName` runs a server tool with no model turn.
|
|
@@ -141,8 +132,7 @@ These read-only routes describe the running agent.
|
|
|
141
132
|
| --- | --- |
|
|
142
133
|
| `GET /v1/info` | Return the discovered model, tools, skills, connections, subagents, channels, schedules, hooks, and diagnostics |
|
|
143
134
|
| `GET /v1/tools` | Return live server tools and advertised MCP tools as `{ name, title?, source? }`; bind session-specific listings with `session` or `continuationToken` |
|
|
144
|
-
| `GET /v1/tools/:name` | Return one tool's description, execution mode,
|
|
145
|
-
| `GET /v1/health` | Return per-agent liveness; no auth |
|
|
135
|
+
| `GET /v1/tools/:name` | Return one tool's description, execution mode, effect rules, schemas, and source |
|
|
146
136
|
| `GET /v1/logs?after=N` | Return recent server logs and the next polling cursor |
|
|
147
137
|
|
|
148
138
|
An unknown tool name returns `404` with available names. If an MCP
|
|
@@ -162,9 +152,9 @@ The list follows the same ownership rules as `GET /v1/sessions`. See
|
|
|
162
152
|
## Call custom channel routes
|
|
163
153
|
|
|
164
154
|
Authored routes mount under `/v1/channels/<id>` with their declared
|
|
165
|
-
methods and paths
|
|
166
|
-
|
|
167
|
-
|
|
155
|
+
methods and paths, and each channel's auth chain applies. A hosted
|
|
156
|
+
caller receives `202 Accepted` with an empty body, never the handler's
|
|
157
|
+
response. See [Route responses](./channels.md#route-responses).
|
|
168
158
|
|
|
169
159
|
## MCP endpoint
|
|
170
160
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Playground"
|
|
3
|
-
description: "The built-in web UI: chat with streaming, Try buttons and slash commands, session replay,
|
|
3
|
+
description: "The built-in web UI: chat with streaming, Try buttons and slash commands, session replay, and dev-mode dispatch."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Playground
|
|
@@ -16,9 +16,8 @@ lists them all.
|
|
|
16
16
|
| --- | --- |
|
|
17
17
|
| Chat | Talk to the agent. Text and reasoning stream live, and tool calls appear inline with their arguments, output, and error state |
|
|
18
18
|
| Slash commands | Custom channel routes without path parameters become composer commands; GitHub and Slack ingress routes are excluded. A `drive` route becomes `/drive <pr-url>`, with `/help` and autocomplete |
|
|
19
|
-
| Try | Invoke a custom channel route from the Agent tab. The modal remembers your last body per endpoint
|
|
19
|
+
| Try | Invoke a custom channel route from the Agent tab. The modal remembers your last body per endpoint and copies curl. Find the session the route starts under Runs |
|
|
20
20
|
| Runs | Browse the sessions you own and eval runs. Search by title or identifier; open sessions in Chat, Trace, or Raw and eval runs in Evals |
|
|
21
|
-
| Approvals | Parked `needsApproval` tool calls render Approve / Deny buttons |
|
|
22
21
|
| Evals | List and run filesystem evals from the browser |
|
|
23
22
|
| Agent | Inspect the discovered tools, skills, subagents, MCP connections, channels, and hooks |
|
|
24
23
|
| Raw | Inspect the selected session's event stream |
|
|
@@ -40,5 +39,3 @@ and paste the token into the token field in the navbar.
|
|
|
40
39
|
|
|
41
40
|
- [HTTP API](./http-api.md): the HTTP surface the playground uses
|
|
42
41
|
- [Sessions and streaming](./sessions.md): the streams it renders
|
|
43
|
-
- [Gate a tool on human approval](./tools.md#gate-a-tool-on-human-approval):
|
|
44
|
-
the approval buttons in context
|
|
@@ -66,6 +66,7 @@ and `host` (shared services: `host.mcp`, `host.github`, `host.slack`,
|
|
|
66
66
|
|
|
67
67
|
| Mode | What fires |
|
|
68
68
|
| --- | --- |
|
|
69
|
+
| Cursor-managed hosting | Cron cadence, from the schedules in the deployed release. See [Schedules on Cursor hosting](#schedules-on-cursor-hosting) |
|
|
69
70
|
| Production `bdk serve` | Cron cadence. `--no-schedules` disables them. Run them in exactly one process per project |
|
|
70
71
|
| `serve --dev` | Nothing automatic. Dispatch by hand through the same path production uses |
|
|
71
72
|
|
|
@@ -77,6 +78,27 @@ curl -X POST http://127.0.0.1:3000/<slug>/v1/dev/schedules/heartbeat
|
|
|
77
78
|
The playground can dispatch schedules in dev mode too, and
|
|
78
79
|
`handle.dispatchSchedule("heartbeat")` does it programmatically.
|
|
79
80
|
|
|
81
|
+
### Schedules on Cursor hosting
|
|
82
|
+
|
|
83
|
+
Each deploy registers the schedules in its release and replaces the
|
|
84
|
+
previous set, so a schedule you delete from `bot/schedules/` stops after
|
|
85
|
+
the next deploy. Hosted schedules need `@cursor/bdk` 0.2.14 or newer in
|
|
86
|
+
the project. A deployment built with an earlier version has no hosted
|
|
87
|
+
schedules until you upgrade the package and deploy again.
|
|
88
|
+
|
|
89
|
+
Every fire starts a new runtime. A Markdown schedule starts a task
|
|
90
|
+
session there, and a `run` handler must finish in 26 minutes, including
|
|
91
|
+
the work it passes to `receive` and `waitUntil`. Nothing in module memory
|
|
92
|
+
carries over to the next fire, so keep state in `ctx.host.kv` or
|
|
93
|
+
`ctx.host.files`. Each scheduled time starts at most one run, and a
|
|
94
|
+
stopped deployment skips its fires.
|
|
95
|
+
|
|
96
|
+
A schedule's name is its path under `bot/schedules/` without the file
|
|
97
|
+
extension. On Cursor hosting, a name has 1 to 100 letters, digits, `.`,
|
|
98
|
+
`_`, `-`, or `/`, and starts with a letter or digit. A release holds at
|
|
99
|
+
most 64 schedules, and `deploy` rejects a release that breaks either
|
|
100
|
+
rule.
|
|
101
|
+
|
|
80
102
|
## Reminders
|
|
81
103
|
|
|
82
104
|
A reminder is created at runtime and bound to a channel continuation. A
|
|
@@ -126,14 +148,15 @@ await handle.createReminder({
|
|
|
126
148
|
});
|
|
127
149
|
```
|
|
128
150
|
|
|
129
|
-
|
|
130
|
-
|
|
151
|
+
Architecture v2, the default, rejects an anonymous `run` handler and a
|
|
152
|
+
function `until`, locally and on Cursor hosting. Use a prompt or a named
|
|
153
|
+
handler.
|
|
131
154
|
|
|
132
155
|
| Form | What it does | After a restart |
|
|
133
156
|
| --- | --- | --- |
|
|
134
157
|
| Prompt | Sends `prompt` into the session. `until` is the standing cancellation condition for the model | Stays armed |
|
|
135
158
|
| Named handler | Runs a discovered handler with serializable `args`; it starts a model turn only if the handler calls `followup` | Stays armed |
|
|
136
|
-
| Anonymous `run` | Host handler returns `stop`, `skip`, or `delivered` per tick; it starts a model turn only if it calls `followup` | Must be re-armed |
|
|
159
|
+
| Anonymous `run` | Architecture v1 only. Host handler returns `stop`, `skip`, or `delivered` per tick; it starts a model turn only if it calls `followup` | Must be re-armed |
|
|
137
160
|
|
|
138
161
|
The same API is `host.reminders` on channel handlers, tools, and
|
|
139
162
|
schedule runs. `builtinTools: { reminders: true }` adds
|
|
@@ -32,7 +32,7 @@ inspection are different jobs.
|
|
|
32
32
|
| Identifier | Use it for |
|
|
33
33
|
| --- | --- |
|
|
34
34
|
| `continuationToken` | Continue a conversation through its channel |
|
|
35
|
-
| `sessionId` | Stream events, inspect state,
|
|
35
|
+
| `sessionId` | Stream events, inspect state, or run a session-bound tool call |
|
|
36
36
|
|
|
37
37
|
Channels decide what a continuation token looks like. Slack uses its
|
|
38
38
|
thread identity. A PR channel can use a key such as `pr:owner/repo#1`.
|
|
@@ -88,7 +88,6 @@ within one session. The `at` field is an ISO-8601 timestamp.
|
|
|
88
88
|
| Reasoning | `reasoning.appended`, `reasoning.completed` | Streamed reasoning blocks |
|
|
89
89
|
| Reply | `message.appended`, `message.completed` | Text deltas and finalized assistant messages |
|
|
90
90
|
| Tools | `actions.requested`, `actions.completed`, `action.result`, `action.tool_retry` | Tool names, validated arguments, outputs, and errors. `action.tool_retry` means a read is running again after a transient failure |
|
|
91
|
-
| Approvals | `action.approval_requested`, `action.approval_resolved` | A parked tool call and the human decision |
|
|
92
91
|
| Subagents | `subagent.called`, `subagent.completed` | Delegated work |
|
|
93
92
|
| Artifacts | `artifact.tagged` | A durable [artifact](./artifacts.md) was tagged for this session, by host code or `tag_artifact` |
|
|
94
93
|
|
package/docs/reference/skills.md
CHANGED
|
@@ -32,7 +32,7 @@ description: Use when a pull request needs a structured approval checklist.
|
|
|
32
32
|
|
|
33
33
|
1. Call `inspect_pr` and confirm required checks passed.
|
|
34
34
|
2. Summarize the PR title, author, and remaining risks.
|
|
35
|
-
3. Call `approve_pr` only after an explicit request
|
|
35
|
+
3. Call `approve_pr` only after an explicit request.
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Use TypeScript when the content must be generated or include inline
|
package/docs/reference/tools.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Tools"
|
|
3
|
-
description: "Define typed actions the model can call,
|
|
3
|
+
description: "Define typed actions the model can call, control their dry-run effects, and call any server tool without a model turn."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Tools
|
|
@@ -217,32 +217,6 @@ use the same exposed names. See
|
|
|
217
217
|
[MCP connections](./connections.md#advertise-tools) for the full
|
|
218
218
|
contract.
|
|
219
219
|
|
|
220
|
-
## Gate a tool on human approval
|
|
221
|
-
|
|
222
|
-
A server tool can require a person to sign off before it runs. Set
|
|
223
|
-
`needsApproval` to `true`, or to a predicate over the validated input:
|
|
224
|
-
|
|
225
|
-
```ts
|
|
226
|
-
export default defineTool({
|
|
227
|
-
description: "Promote a verified build to an environment.",
|
|
228
|
-
needsApproval: true, // or: (input) => input.environment === "production"
|
|
229
|
-
inputSchema: z.object({
|
|
230
|
-
service: z.string(),
|
|
231
|
-
buildId: z.string(),
|
|
232
|
-
environment: z.string(),
|
|
233
|
-
}),
|
|
234
|
-
async execute({ service, buildId, environment }) {
|
|
235
|
-
return { promoted: true, service, buildId, environment };
|
|
236
|
-
},
|
|
237
|
-
});
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
The call parks, the turn stays running, and the stream emits
|
|
241
|
-
`action.approval_requested` until someone resolves it from the
|
|
242
|
-
playground, `POST /v1/session/:id/approvals/:callId`, or Slack
|
|
243
|
-
Approve/Deny cards. Approvals exist for server tools on the local
|
|
244
|
-
runtime only, and parked calls don't survive a host restart.
|
|
245
|
-
|
|
246
220
|
## Call a tool without a model turn
|
|
247
221
|
|
|
248
222
|
Server tools can be called deterministically. You pick the tool and the
|
|
@@ -324,8 +298,8 @@ spoofed payload can't steer it.
|
|
|
324
298
|
Test tools with `call` before blaming prompts. If the tool's output is
|
|
325
299
|
wrong, no instruction change fixes it.
|
|
326
300
|
|
|
327
|
-
|
|
328
|
-
|
|
301
|
+
Declare each tool's `effect` so dry-run sessions can execute reads and
|
|
302
|
+
stub writes.
|
|
329
303
|
|
|
330
304
|
## Related
|
|
331
305
|
|
package/docs/troubleshooting.md
CHANGED
|
@@ -62,10 +62,17 @@ Match the visible symptom below.
|
|
|
62
62
|
| The deployment never becomes running | Run `bdk deployment <slug>`, then act on the reported build or startup error. |
|
|
63
63
|
| A secret or egress change has no effect | Confirm the name with `secrets list`, verify the `hosting` block exists on the pushed ref, and follow the CLI or dashboard prompt to redeploy. |
|
|
64
64
|
| Cursor events stopped after redeploy | Each redeploy replaces the watched repositories. Pass every `--cursor-events-repo` value again; without the flag, the deployment watches only its GitHub source repository. |
|
|
65
|
-
| `run --prod` prints a `deliveryId` but no `sessionId` |
|
|
66
|
-
|
|
|
67
|
-
| A dashboard link to a single session
|
|
65
|
+
| `run --prod` prints a `deliveryId` but no `sessionId` | Expected, with or without `--dry-run`: the session is created when the turn starts. Find it with `bdk logs --prod --once --slug <slug>`, then follow [Verify a hosted turn](./deployment.md#verify-a-hosted-turn). |
|
|
66
|
+
| `session <sessionId> --prod` shows a `running` run with no logs | Runs lag behind events, and a high-effort turn can take several minutes. Rerun the command; a growing event count means the turn is still working. |
|
|
67
|
+
| A dashboard link to a single session doesn't open | Check the session with `bdk session <sessionId> --prod --slug <slug>`. |
|
|
68
|
+
| `chat`, `call`, `sessions`, `cost`, or `mcp` with `--prod` says the command is not supported | Hosted deployments accept `--prod` only on `run`, `session`, `logs`, and `playground`. See [Verify a hosted turn](./deployment.md#verify-a-hosted-turn). |
|
|
69
|
+
| `run --prod --session <sessionId>` reports the session belongs to another channel | `--session` continues only sessions that `run --prod` or `session --prod` started. Reach Slack, SCM, and custom-route sessions through their own channel. |
|
|
70
|
+
| A custom route returns `202` with no body | Expected on managed hosting. The handler runs after the response, so deliver results from the channel. See [Route responses](./reference/channels.md#route-responses). |
|
|
68
71
|
| External HTTP rejects the alias token | Update the caller with the current token. If the token is lost or exposed, run `bdk rotate-token <slug>` and replace it everywhere. |
|
|
72
|
+
| `deploy` says deployments are not available under legacy privacy mode | The team uses Privacy Mode (Legacy), which does not let Cursor store code. Managed hosting is not available with this setting. |
|
|
73
|
+
| `deploy` says persistent deployments are limited to 1 per team | Another deployment of the team already sets `persistent: true`. Remove the setting from one agent, or delete that deployment. |
|
|
74
|
+
| A schedule does not fire on the hosted deployment | Make sure the deployment is running and its release has the schedule. Deploy again with `@cursor/bdk` 0.2.14 or newer. |
|
|
75
|
+
| A request to a custom route gets `429` | The deployment received more requests than its limit. Wait for the time in `Retry-After`, then send the request again. |
|
|
69
76
|
|
|
70
77
|
See [Deployment](./deployment.md) for source, credential, and
|
|
71
78
|
redeployment boundaries.
|
|
@@ -89,7 +96,6 @@ direct webhooks.
|
|
|
89
96
|
| Logs say `channel idle ... missing credentials` | Run `bdk slack create --dir <agent>`, then check the generated prefix with `bdk slack doctor`. Use `slack init --manual` only for an app you own. |
|
|
90
97
|
| `slack create` is waiting for workspace approval | Keep the CLI running, open the **Request approval** link it prints, and select **Retry** in the dashboard's **Add Slack** wizard after an admin approves. See [Slack](./guides/slack.md#connect). |
|
|
91
98
|
| The bot ignores ordinary channel posts | Configure `engagement.channelPosts`, create the app with `--channel-posts`, and invite it to every allowed channel. |
|
|
92
|
-
| Approval buttons do nothing | Set `toolApprovals: true`, then recreate the app if its interactivity is not enabled. |
|
|
93
99
|
|
|
94
100
|
See the [Slack guide](./guides/slack.md) for app setup and engagement
|
|
95
101
|
choices.
|
|
@@ -99,17 +105,16 @@ choices.
|
|
|
99
105
|
| What you see | What to do |
|
|
100
106
|
| --- | --- |
|
|
101
107
|
| `must be defineConnection({ url, oauth: true })` | Add `oauth: true` to the named URL connection or correct the connection filename passed to `mcp oauth`. |
|
|
102
|
-
| Local auth works but hosted calls return unauthorized |
|
|
108
|
+
| Local auth works but hosted calls return unauthorized | Locally stored OAuth tokens don't reach a deployment. Use a `cursorAccount: true` connection and connect the server from **Deployed Agents** in the dashboard. See [Host MCP OAuth](./guides/mcp-oauth.md#use-an-oauth-server-from-a-hosted-agent). |
|
|
103
109
|
| The model invents `mcp_auth` instead of calling the server | Set `advertiseTools: true` for named local tools, or expose a host-side wrapper through `ctx.host.mcp`. |
|
|
104
110
|
|
|
105
111
|
See [Host MCP OAuth](./guides/mcp-oauth.md) for the credential lifecycle.
|
|
106
112
|
|
|
107
|
-
## Schedules
|
|
113
|
+
## Schedules or reminders stall
|
|
108
114
|
|
|
109
115
|
| What you see | What to do |
|
|
110
116
|
| --- | --- |
|
|
111
117
|
| A schedule or reminder never fires under `--dev` | Trigger it through the matching `/v1/dev/schedules/<id>` or `/v1/dev/reminders/<id>` route; development mode does not auto-fire. |
|
|
112
|
-
| A pending approval disappears after restart | Parked approvals do not survive restart. Run the turn again. |
|
|
113
118
|
| A reminder is disarmed with `handler_lost_on_restart` | Recreate handler-form reminders after restart, or use a prompt-form reminder. |
|
|
114
119
|
| The same schedule fires on several self-hosted processes | Enable schedules on one serving process per project and pass `--no-schedules` to the others. |
|
|
115
120
|
|