@cursor/bdk 0.2.14 → 0.2.16
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 +41 -3
- package/dist/channels/github/index.d.ts +1 -1
- package/dist/channels/github/index.d.ts.map +1 -1
- package/dist/channels/github/index.js +1 -1
- 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.BSrZkTHD.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.JUnN1Be1.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.CbA00dML.js → VPLocalSearchBox.BxmgcwIX.js} +1 -1
- package/dist/docs/assets/chunks/{arc.Byug8CZM.js → arc.CAid9y9R.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.D1_qmnQy.js → architectureDiagram-Q4EWVU46.kLxg-1A5.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.Dj-Nurf-.js → baseUniq.BWvpjFlO.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BZwq3EIg.js → blockDiagram-DXYQGD6D.DyjX8R7M.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.dx75urO7.js → c4Diagram-AHTNJAMY.DBdWlnqr.js} +1 -1
- package/dist/docs/assets/chunks/channel.CWc3NN9g.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.CIoddsDQ.js → chunk-4BX2VUAB.T5enPS2D.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.O3VsVBES.js → chunk-4TB4RGXK.D6zswRAS.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.WNNWh0Pe.js → chunk-55IACEB6.Bh05N-a3.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BKVQwEME.js → chunk-EDXVE4YY.DZv_O-d9.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.Cv5iBz7A.js → chunk-FMBD7UC4.BY53CZaL.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.wCDCToee.js → chunk-OYMX7WX6.CO5lI2PE.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.D3IGXhXA.js → chunk-QZHKN3VN.DMfpW0s4.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CAPPh-E7.js → chunk-YZCP3GAM.COPT56Nr.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.D5a745iS.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.D5a745iS.js +1 -0
- package/dist/docs/assets/chunks/clone.CCGVqN_B.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BQCFH3M5.js → cose-bilkent-S5V4N54A.BJSj7zzd.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.lHmdrh7L.js → dagre-KV5264BT.DDv7IQZT.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.EtSPnHgD.js → diagram-5BDNPKRD.BUoE9HFH.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DCyUnQT8.js → diagram-G4DWMVQ6.BF3JtrnJ.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5._E0Qqblb.js → diagram-MMDJMWI5.BvuCWc4e.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.BDj4oyy_.js → diagram-TYMM5635._EqUGqFN.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.CrvnO6a3.js → erDiagram-SMLLAGMA.DxNvSdzj.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.DIhYc-2F.js → flowDiagram-DWJPFMVM.DVtRP546.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.hFqm_vio.js → ganttDiagram-T4ZO3ILL.Bn9vb7xI.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.N3GDaVDD.js → gitGraphDiagram-UUTBAWPF.45r6n737.js} +1 -1
- package/dist/docs/assets/chunks/{graph.DK28rMBx.js → graph.BOkX3Ws_.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.DHmE6W9M.js → infoDiagram-42DDH7IO.DyBCcxOm.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.ByUJuOYm.js → ishikawaDiagram-UXIWVN3A.kg0ywDlx.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BIUChFMh.js → journeyDiagram-VCZTEJTY.BUfrLnXA.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CNgFXwo-.js → kanban-definition-6JOO6SKY.Bn7X35b2.js} +1 -1
- package/dist/docs/assets/chunks/{layout.BDnwE4ET.js → layout.B0QW6d8M.js} +1 -1
- package/dist/docs/assets/chunks/{linear.DmrYLXFs.js → linear.C59eCF0D.js} +1 -1
- package/dist/docs/assets/chunks/{min.BbYcWakN.js → min.BnDl0p08.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.C9x-klkv.js → mindmap-definition-QFDTVHPH.u2HYLooo.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.iufpEbi0.js → pieDiagram-DEJITSTG.CbnIrr9l.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DdoXbWL9.js → quadrantDiagram-34T5L4WZ.D2zWIixq.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.XL1-_pNk.js → requirementDiagram-MS252O5E.DvOFa3oO.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DySXofNs.js → sankeyDiagram-XADWPNL6.BfKCkH3x.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Cp0GZoOU.js → sequenceDiagram-FGHM5R23.CUPKdYN0.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.DvK-sXUX.js → stateDiagram-FHFEXIEX.CimDCRiK.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.ClNUVSTQ.js +1 -0
- package/dist/docs/assets/chunks/{theme.Clup4iIo.js → theme.CKht7z82.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.gHI9ZLm6.js → timeline-definition-GMOUNBTQ.BFTd5qKs.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.G2N2zXYe.js → vennDiagram-DHZGUBPP.N6t5MmCb.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.D2G6Zyds.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.BgUKEagd.js → wardleyDiagram-NUSXRM2D.BqScALbL.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CwH7oege.js → xychartDiagram-5P7HB3ND.Br0WiDkT.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_agent-config.md.DrtLxWgR.js → reference_agent-config.md.DYA6ge6t.js} +7 -4
- package/dist/docs/assets/{reference_agent-config.md.DrtLxWgR.lean.js → reference_agent-config.md.DYA6ge6t.lean.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.2d2Y0O-d.js} +16 -13
- package/dist/docs/assets/{reference_cli.md.dYCAL2lB.lean.js → reference_cli.md.2d2Y0O-d.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.Ccwp4x3o.js} +4 -4
- package/dist/docs/assets/{reference_evals.md.D5i8PuXJ.lean.js → reference_evals.md.Ccwp4x3o.lean.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.C2GWh7g8.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 +388 -272
- 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 +41 -38
- package/dist/docs/reference/agent-config.md +26 -1
- 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 +50 -47
- package/dist/docs/reference/cli.md +115 -42
- package/dist/docs/reference/connections.html +39 -40
- package/dist/docs/reference/connections.md +6 -5
- package/dist/docs/reference/evals.html +38 -38
- package/dist/docs/reference/evals.md +15 -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/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/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +4 -8
- package/dist/internal/cli-convert-automation.js +9 -19
- package/dist/internal/cli-deploy.d.ts +1 -1
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +18 -3
- package/dist/internal/cli-init-grokbot.d.ts +29 -0
- package/dist/internal/cli-init-grokbot.d.ts.map +1 -0
- package/dist/internal/cli-init-grokbot.js +181 -0
- package/dist/internal/cli-slack.js +1 -1
- package/dist/internal/comment-safe.d.ts +8 -0
- package/dist/internal/comment-safe.d.ts.map +1 -0
- package/dist/internal/comment-safe.js +12 -0
- package/dist/internal/continuation-identity.js +1 -1
- package/dist/internal/convert-automation/convert-workflow.d.ts.map +1 -1
- package/dist/internal/convert-automation/convert-workflow.js +2 -14
- package/dist/internal/convert-grokbot/answers.d.ts +127 -0
- package/dist/internal/convert-grokbot/answers.d.ts.map +1 -0
- package/dist/internal/convert-grokbot/answers.js +443 -0
- package/dist/internal/convert-grokbot/bot.d.ts +50 -0
- package/dist/internal/convert-grokbot/bot.d.ts.map +1 -0
- package/dist/internal/convert-grokbot/bot.js +72 -0
- package/dist/internal/convert-grokbot/checks.d.ts +26 -0
- package/dist/internal/convert-grokbot/checks.d.ts.map +1 -0
- package/dist/internal/convert-grokbot/checks.js +170 -0
- package/dist/internal/convert-grokbot/convert.d.ts +60 -0
- package/dist/internal/convert-grokbot/convert.d.ts.map +1 -0
- package/dist/internal/convert-grokbot/convert.js +470 -0
- package/dist/internal/convert-grokbot/handoff.d.ts +44 -0
- package/dist/internal/convert-grokbot/handoff.d.ts.map +1 -0
- package/dist/internal/convert-grokbot/handoff.js +160 -0
- package/dist/internal/convert-grokbot/recipe.d.ts +61 -0
- package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -0
- package/dist/internal/convert-grokbot/recipe.js +94 -0
- package/dist/internal/convert-grokbot/routine.d.ts +51 -0
- package/dist/internal/convert-grokbot/routine.d.ts.map +1 -0
- package/dist/internal/convert-grokbot/routine.js +128 -0
- package/dist/internal/convert-grokbot/slack.d.ts +28 -0
- package/dist/internal/convert-grokbot/slack.d.ts.map +1 -0
- package/dist/internal/convert-grokbot/slack.js +50 -0
- package/dist/internal/deploy-client.d.ts +0 -2
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +2 -11
- 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/discovery/names.d.ts +2 -0
- package/dist/internal/discovery/names.d.ts.map +1 -1
- package/dist/internal/discovery/names.js +2 -0
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +1 -3
- package/dist/internal/eval-judge-model.d.ts +10 -5
- package/dist/internal/eval-judge-model.d.ts.map +1 -1
- package/dist/internal/eval-judge-model.js +36 -25
- package/dist/internal/filesystem/subagent-inherit.d.ts +39 -0
- package/dist/internal/filesystem/subagent-inherit.d.ts.map +1 -0
- package/dist/internal/filesystem/subagent-inherit.js +96 -0
- package/dist/internal/filesystem/tools.d.ts +6 -0
- package/dist/internal/filesystem/tools.d.ts.map +1 -1
- package/dist/internal/filesystem/tools.js +38 -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 +46 -13
- 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/hosting.d.ts +1 -1
- package/dist/internal/hosting.d.ts.map +1 -1
- package/dist/internal/hosting.js +7 -3
- package/dist/internal/init-interview.d.ts +3 -5
- package/dist/internal/init-interview.d.ts.map +1 -1
- package/dist/internal/init-interview.js +15 -88
- package/dist/internal/init-project.d.ts +13 -0
- package/dist/internal/init-project.d.ts.map +1 -1
- package/dist/internal/init-project.js +30 -37
- package/dist/internal/init-scaffold.d.ts +11 -0
- package/dist/internal/init-scaffold.d.ts.map +1 -1
- package/dist/internal/init-scaffold.js +47 -13
- package/dist/internal/interview/agent-questions.d.ts +19 -0
- package/dist/internal/interview/agent-questions.d.ts.map +1 -0
- package/dist/internal/interview/agent-questions.js +120 -0
- package/dist/internal/interview/question.d.ts +82 -0
- package/dist/internal/interview/question.d.ts.map +1 -0
- package/dist/internal/interview/question.js +198 -0
- package/dist/internal/local-control-plane.d.ts.map +1 -1
- package/dist/internal/local-control-plane.js +5 -1
- package/dist/internal/otel/collector.d.ts +2 -0
- package/dist/internal/otel/collector.d.ts.map +1 -1
- package/dist/internal/otel/collector.js +4 -0
- 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/resolve-prod-target.d.ts.map +1 -1
- package/dist/internal/resolve-prod-target.js +2 -1
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +43 -16
- package/dist/internal/sdk-subagent-inherit-support.d.ts +9 -0
- package/dist/internal/sdk-subagent-inherit-support.d.ts.map +1 -0
- package/dist/internal/sdk-subagent-inherit-support.js +89 -0
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +6 -5
- package/dist/internal/session-engine.d.ts +13 -0
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +62 -11
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +26 -11
- package/dist/internal/{convert-automation/slug.d.ts → slug.d.ts} +4 -1
- package/dist/internal/slug.d.ts.map +1 -0
- package/dist/internal/{convert-automation/slug.js → slug.js} +11 -1
- package/dist/playground/assets/index-7fVUOA5l.css +1 -0
- package/dist/playground/assets/{index-ClxRl2Cw.js → index-U3TRnwAP.js} +43 -43
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +26 -1
- 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/agent-config.md +26 -1
- package/docs/reference/channels.md +29 -13
- package/docs/reference/cli.md +115 -42
- package/docs/reference/connections.md +6 -5
- package/docs/reference/evals.md +15 -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 +36 -35
- package/schemas/grokbot-answers.schema.json +343 -0
- package/skills/create-agent/SKILL.md +16 -11
- 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/agentic-owners/bot/lib/owners/handles.ts +1 -1
- package/templates/agentic-owners/bot/lib/owners/matching.ts +20 -9
- 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/chunks/wardley-RL74JXVD.C46G0P5a.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/internal/convert-automation/slug.d.ts.map +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_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.C2GWh7g8.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/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
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cursor/bdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.16",
|
|
4
4
|
"description": "Build, test, and deploy BDK bots and agents as code on Cursor's agent harness.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"repository": {
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"!dist/internal/managed-delivery.*",
|
|
31
31
|
"!dist/filesystem-executors.*",
|
|
32
32
|
"skills/**/*",
|
|
33
|
+
"schemas/**/*.json",
|
|
33
34
|
"templates/**/*",
|
|
34
35
|
"!templates/pr-autofixer/README.md",
|
|
35
36
|
"docs/**/*.md",
|
|
@@ -286,34 +287,13 @@
|
|
|
286
287
|
"default": "./package.json"
|
|
287
288
|
}
|
|
288
289
|
},
|
|
289
|
-
"scripts": {
|
|
290
|
-
"build": "tsc -p tsconfig.build.json && node scripts/bundle-publish-shims.mjs && node scripts/copy-extension-assets.mjs && pnpm run build:playground && pnpm run docs:build",
|
|
291
|
-
"build:dist": "node scripts/build-hosted-dist.mjs",
|
|
292
|
-
"postinstall": "node -e \"try{const p='./scripts/install-cursor-skills.mjs';if(require('fs').existsSync(p))require('child_process').execFileSync(process.execPath,[p],{stdio:'inherit'})}catch{}\"",
|
|
293
|
-
"build:playground": "vite build --config playground/vite.config.ts",
|
|
294
|
-
"build:playground:central": "vite build --mode central --config playground/vite.config.ts",
|
|
295
|
-
"dev:playground": "vite --config playground/vite.config.ts",
|
|
296
|
-
"check": "oxlint src && tsc --noEmit && tsc --noEmit -p playground/tsconfig.json",
|
|
297
|
-
"docs:dev": "vitepress dev docs",
|
|
298
|
-
"docs:build": "vitepress build docs",
|
|
299
|
-
"docs:preview": "vitepress preview docs",
|
|
300
|
-
"docs:verify-links": "node scripts/verify-docs-links.mjs",
|
|
301
|
-
"fix": "oxlint --fix src && oxfmt --write --no-error-on-unmatched-pattern src",
|
|
302
|
-
"test": "vitest run --passWithNoTests",
|
|
303
|
-
"type-check": "tsc --noEmit && tsc --noEmit -p playground/tsconfig.json",
|
|
304
|
-
"build-dev": "echo noop",
|
|
305
|
-
"build-types": "tsc -p tsconfig.build.json --emitDeclarationOnly",
|
|
306
|
-
"verify-publish": "node scripts/verify-publish-artifacts.mjs",
|
|
307
|
-
"smoke-publish": "node scripts/smoke-publish-artifact.mjs",
|
|
308
|
-
"publish-check": "pnpm run build && pnpm run verify-publish && pnpm run smoke-publish"
|
|
309
|
-
},
|
|
310
290
|
"engines": {
|
|
311
291
|
"node": ">=22.13"
|
|
312
292
|
},
|
|
313
293
|
"dependencies": {
|
|
314
294
|
"@bazel/runfiles": "6.5.0",
|
|
315
|
-
"@cursor/sdk": "1.0.
|
|
316
|
-
"@modelcontextprotocol/sdk": "1.
|
|
295
|
+
"@cursor/sdk": "1.0.35",
|
|
296
|
+
"@modelcontextprotocol/sdk": "1.30.0",
|
|
317
297
|
"@octokit/auth-app": "^7.2.0",
|
|
318
298
|
"@octokit/rest": "^21.1.1",
|
|
319
299
|
"@opentelemetry/api": "^1.9.0",
|
|
@@ -336,7 +316,7 @@
|
|
|
336
316
|
"croner": "^8.0.1",
|
|
337
317
|
"esbuild": "^0.25.0",
|
|
338
318
|
"javascript-time-ago": "^2.6.4",
|
|
339
|
-
"js-yaml": "4.
|
|
319
|
+
"js-yaml": "4.3.2",
|
|
340
320
|
"minimatch": "^10.2.5",
|
|
341
321
|
"ms": "^2.1.3",
|
|
342
322
|
"proper-lockfile": "^4.1.2",
|
|
@@ -346,22 +326,17 @@
|
|
|
346
326
|
"zod-to-json-schema": "^3.24.5"
|
|
347
327
|
},
|
|
348
328
|
"devDependencies": {
|
|
349
|
-
"@anysphere/agent-exec": "workspace:*",
|
|
350
|
-
"@anysphere/agent-store-sync": "workspace:*",
|
|
351
|
-
"@anysphere/context": "workspace:*",
|
|
352
|
-
"@anysphere/proto": "workspace:*",
|
|
353
|
-
"@anysphere/ui": "workspace:*",
|
|
354
329
|
"@braintree/sanitize-url": "7.1.2",
|
|
355
330
|
"@stylexswc/rs-compiler": "^0.18.0",
|
|
356
331
|
"@tanstack/react-virtual": "3.13.23",
|
|
357
332
|
"@types/js-yaml": "4.0.9",
|
|
358
333
|
"@types/ms": "^2.1.0",
|
|
359
|
-
"@types/node": "
|
|
334
|
+
"@types/node": "22.14.1",
|
|
360
335
|
"@types/pg": "^8.16.0",
|
|
361
336
|
"@types/proper-lockfile": "^4.1.4",
|
|
362
337
|
"@types/react": "^19.0.0",
|
|
363
338
|
"@types/react-dom": "^19.0.0",
|
|
364
|
-
"@typescript/native": "
|
|
339
|
+
"@typescript/native": "npm:typescript@^7.0.2",
|
|
365
340
|
"@vitejs/plugin-react": "^5.1.2",
|
|
366
341
|
"cytoscape": "3.33.3",
|
|
367
342
|
"cytoscape-cose-bilkent": "4.1.0",
|
|
@@ -374,12 +349,38 @@
|
|
|
374
349
|
"react-markdown": "^10.1.0",
|
|
375
350
|
"rehype-highlight": "^7.0.2",
|
|
376
351
|
"remark-gfm": "^4.0.1",
|
|
377
|
-
"typescript": "
|
|
352
|
+
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
378
353
|
"vite": "^7.3.0",
|
|
379
354
|
"vitepress": "1.6.4",
|
|
380
355
|
"vitepress-plugin-mermaid": "^2.0.17",
|
|
381
356
|
"vitest": "^4.0.18",
|
|
382
357
|
"yaml": "^2.4.2",
|
|
383
|
-
"zustand": "^5.0.9"
|
|
358
|
+
"zustand": "^5.0.9",
|
|
359
|
+
"@anysphere/agent-exec": "1.0.0",
|
|
360
|
+
"@anysphere/context": "1.0.0",
|
|
361
|
+
"@anysphere/ui": "1.0.0",
|
|
362
|
+
"@anysphere/proto": "1.0.0",
|
|
363
|
+
"@anysphere/agent-store-sync": "1.0.0"
|
|
364
|
+
},
|
|
365
|
+
"scripts": {
|
|
366
|
+
"build": "tsc -p tsconfig.build.json && node scripts/bundle-publish-shims.mjs && node scripts/copy-extension-assets.mjs && pnpm run build:playground && pnpm run docs:build",
|
|
367
|
+
"build:dist": "node scripts/build-hosted-dist.mjs",
|
|
368
|
+
"postinstall": "node -e \"try{const p='./scripts/install-cursor-skills.mjs';if(require('fs').existsSync(p))require('child_process').execFileSync(process.execPath,[p],{stdio:'inherit'})}catch{}\"",
|
|
369
|
+
"build:playground": "vite build --config playground/vite.config.ts",
|
|
370
|
+
"build:playground:central": "vite build --mode central --config playground/vite.config.ts",
|
|
371
|
+
"dev:playground": "vite --config playground/vite.config.ts",
|
|
372
|
+
"check": "oxlint src && tsc --noEmit && tsc --noEmit -p playground/tsconfig.json",
|
|
373
|
+
"docs:dev": "vitepress dev docs",
|
|
374
|
+
"docs:build": "vitepress build docs",
|
|
375
|
+
"docs:preview": "vitepress preview docs",
|
|
376
|
+
"docs:verify-links": "node scripts/verify-docs-links.mjs",
|
|
377
|
+
"fix": "oxlint --fix src && oxfmt --write --no-error-on-unmatched-pattern src",
|
|
378
|
+
"test": "vitest run --passWithNoTests",
|
|
379
|
+
"type-check": "tsc --noEmit && tsc --noEmit -p playground/tsconfig.json",
|
|
380
|
+
"build-dev": "echo noop",
|
|
381
|
+
"build-types": "tsc -p tsconfig.build.json --emitDeclarationOnly",
|
|
382
|
+
"verify-publish": "node scripts/verify-publish-artifacts.mjs",
|
|
383
|
+
"smoke-publish": "node scripts/smoke-publish-artifact.mjs",
|
|
384
|
+
"publish-check": "pnpm run build && pnpm run verify-publish && pnpm run smoke-publish"
|
|
384
385
|
}
|
|
385
|
-
}
|
|
386
|
+
}
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "bdk init --from-grokbot answers",
|
|
4
|
+
"description": "Decisions for exporting a Grok Bot recipe. Every field is optional: a missing answer takes the default an interactive run offers. Names only, never secret values.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"$schema": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Path or URL of this schema, for editors. Ignored."
|
|
10
|
+
},
|
|
11
|
+
"version": {
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1,
|
|
14
|
+
"maximum": 1,
|
|
15
|
+
"description": "Answers format version."
|
|
16
|
+
},
|
|
17
|
+
"name": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$",
|
|
20
|
+
"title": "Name",
|
|
21
|
+
"description": "Agent name (also its directory)? Directory: `[A-Za-z0-9][A-Za-z0-9_-]*`, not `v1`/`playground`/`docs`",
|
|
22
|
+
"x-round": "identity"
|
|
23
|
+
},
|
|
24
|
+
"description": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"minLength": 1,
|
|
27
|
+
"title": "Description",
|
|
28
|
+
"description": "What does the bot do, in a sentence or two?",
|
|
29
|
+
"x-round": "identity"
|
|
30
|
+
},
|
|
31
|
+
"location": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"minLength": 1,
|
|
34
|
+
"title": "Location",
|
|
35
|
+
"description": "Directory to scaffold into?",
|
|
36
|
+
"x-round": "identity"
|
|
37
|
+
},
|
|
38
|
+
"model": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"minLength": 1,
|
|
41
|
+
"title": "Model",
|
|
42
|
+
"description": "Model id? Params, not id suffixes: `{ id: \"grok-4.5\", params: [{ id: \"effort\", value: \"high\" }, { id: \"fast\", value: \"true\" }] }`",
|
|
43
|
+
"x-round": "surface",
|
|
44
|
+
"default": "grok-4.5",
|
|
45
|
+
"x-labels": {
|
|
46
|
+
"grok-4.5": "`grok-4.5` + `effort=high`, `fast=true`"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"channels": {
|
|
50
|
+
"type": "array",
|
|
51
|
+
"items": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"enum": [
|
|
54
|
+
"slack",
|
|
55
|
+
"github",
|
|
56
|
+
"webhook",
|
|
57
|
+
"schedule"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"title": "Channels",
|
|
61
|
+
"description": "Channels beyond the playground and HTTP? Slack: `skills/setup-slack/SKILL.md`. GitHub: `skills/github/SKILL.md`. No Discord/Teams pack; offer custom webhook.",
|
|
62
|
+
"x-round": "surface",
|
|
63
|
+
"x-labels": {
|
|
64
|
+
"slack": "Slack",
|
|
65
|
+
"github": "GitHub",
|
|
66
|
+
"webhook": "custom webhook",
|
|
67
|
+
"schedule": "schedule"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"memory": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"enum": [
|
|
73
|
+
"skill",
|
|
74
|
+
"kv",
|
|
75
|
+
"drop"
|
|
76
|
+
],
|
|
77
|
+
"title": "Memory",
|
|
78
|
+
"description": "What should happen to the bot's memories? skill: a knowledge skill the agent reads on demand. kv: data in bot/lib/memory-seed.json for your own seeding code (BDK has no built-in KV seed). drop: leave them behind.",
|
|
79
|
+
"x-round": "export",
|
|
80
|
+
"default": "skill"
|
|
81
|
+
},
|
|
82
|
+
"skills": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"properties": {
|
|
85
|
+
"include": {
|
|
86
|
+
"type": "array",
|
|
87
|
+
"items": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
90
|
+
},
|
|
91
|
+
"title": "Include skills",
|
|
92
|
+
"description": "Which skills should come along?",
|
|
93
|
+
"x-round": "export"
|
|
94
|
+
},
|
|
95
|
+
"exclude": {
|
|
96
|
+
"type": "array",
|
|
97
|
+
"items": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
100
|
+
},
|
|
101
|
+
"title": "Exclude skills",
|
|
102
|
+
"description": "Which skills should stay behind, applied after the include list.",
|
|
103
|
+
"x-round": "export"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"additionalProperties": false
|
|
107
|
+
},
|
|
108
|
+
"routines": {
|
|
109
|
+
"type": "object",
|
|
110
|
+
"properties": {
|
|
111
|
+
"include": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"items": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
116
|
+
},
|
|
117
|
+
"title": "Include routines",
|
|
118
|
+
"description": "Which routines should come along?",
|
|
119
|
+
"x-round": "export"
|
|
120
|
+
},
|
|
121
|
+
"exclude": {
|
|
122
|
+
"type": "array",
|
|
123
|
+
"items": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
126
|
+
},
|
|
127
|
+
"title": "Exclude routines",
|
|
128
|
+
"description": "Which routines should stay behind, applied after the include list.",
|
|
129
|
+
"x-round": "export"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"additionalProperties": false
|
|
133
|
+
},
|
|
134
|
+
"plugins": {
|
|
135
|
+
"type": "object",
|
|
136
|
+
"properties": {
|
|
137
|
+
"include": {
|
|
138
|
+
"type": "array",
|
|
139
|
+
"items": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
142
|
+
},
|
|
143
|
+
"title": "Include plugins",
|
|
144
|
+
"description": "Which plugins should come along?",
|
|
145
|
+
"x-round": "export"
|
|
146
|
+
},
|
|
147
|
+
"exclude": {
|
|
148
|
+
"type": "array",
|
|
149
|
+
"items": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
152
|
+
},
|
|
153
|
+
"title": "Exclude plugins",
|
|
154
|
+
"description": "Which plugins should stay behind, applied after the include list.",
|
|
155
|
+
"x-round": "export"
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
"additionalProperties": false
|
|
159
|
+
},
|
|
160
|
+
"connectors": {
|
|
161
|
+
"type": "object",
|
|
162
|
+
"additionalProperties": {
|
|
163
|
+
"type": "object",
|
|
164
|
+
"properties": {
|
|
165
|
+
"auth": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"enum": [
|
|
168
|
+
"cursor-account",
|
|
169
|
+
"oauth",
|
|
170
|
+
"secret"
|
|
171
|
+
],
|
|
172
|
+
"title": "Auth",
|
|
173
|
+
"description": "How should {plugin} authenticate? cursor-account: tools run through your Cursor account's connector, with no secret in the project. oauth: host OAuth against the server URL (`bdk mcp oauth`). secret: a bearer token read from a named secret.",
|
|
174
|
+
"x-round": "export",
|
|
175
|
+
"default": "cursor-account"
|
|
176
|
+
},
|
|
177
|
+
"server": {
|
|
178
|
+
"type": "string",
|
|
179
|
+
"minLength": 1,
|
|
180
|
+
"title": "Connector name",
|
|
181
|
+
"description": "Name of the {plugin} connector in your Cursor account?",
|
|
182
|
+
"x-round": "export"
|
|
183
|
+
},
|
|
184
|
+
"url": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"title": "Server URL",
|
|
187
|
+
"description": "{plugin} MCP server URL?",
|
|
188
|
+
"x-round": "export"
|
|
189
|
+
},
|
|
190
|
+
"secret": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"title": "Secret name",
|
|
193
|
+
"description": "Secret that holds the {plugin} token? A name only, like LINEAR_API_KEY. Set the value later with `bdk secrets set`.",
|
|
194
|
+
"x-round": "export"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"additionalProperties": false
|
|
198
|
+
},
|
|
199
|
+
"description": "How each recipe plugin connects, keyed by plugin slug."
|
|
200
|
+
},
|
|
201
|
+
"fillIns": {
|
|
202
|
+
"type": "object",
|
|
203
|
+
"additionalProperties": {
|
|
204
|
+
"type": "object",
|
|
205
|
+
"additionalProperties": {
|
|
206
|
+
"type": "string",
|
|
207
|
+
"minLength": 1,
|
|
208
|
+
"title": "{placeholder}",
|
|
209
|
+
"description": "{routine}: {placeholder}?",
|
|
210
|
+
"x-round": "export"
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"description": "Values for recipe placeholders, keyed by routine slug, then placeholder id (e.g. slack_channel). Unfilled placeholders stay in the text."
|
|
214
|
+
},
|
|
215
|
+
"secrets": {
|
|
216
|
+
"type": "object",
|
|
217
|
+
"properties": {
|
|
218
|
+
"names": {
|
|
219
|
+
"type": "array",
|
|
220
|
+
"items": {
|
|
221
|
+
"type": "string"
|
|
222
|
+
},
|
|
223
|
+
"title": "Secret names",
|
|
224
|
+
"description": "Other secret names to list in SECRETS.md? Names only, UPPER_SNAKE_CASE. Names the generated files read are always listed.",
|
|
225
|
+
"x-round": "export"
|
|
226
|
+
},
|
|
227
|
+
"reauth": {
|
|
228
|
+
"type": "array",
|
|
229
|
+
"items": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
232
|
+
},
|
|
233
|
+
"title": "Fresh sign-in",
|
|
234
|
+
"description": "Which other connectors need a fresh sign-in? OAuth connectors always do; they are listed without asking.",
|
|
235
|
+
"x-round": "export"
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
"additionalProperties": false
|
|
239
|
+
},
|
|
240
|
+
"repo": {
|
|
241
|
+
"type": "object",
|
|
242
|
+
"properties": {
|
|
243
|
+
"name": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"title": "Repository",
|
|
246
|
+
"description": "Repository name? (recorded only; bdk does not create repositories)",
|
|
247
|
+
"x-round": "export"
|
|
248
|
+
},
|
|
249
|
+
"namespace": {
|
|
250
|
+
"type": "string",
|
|
251
|
+
"title": "Repository namespace",
|
|
252
|
+
"description": "Repository owner or namespace? (recorded only)",
|
|
253
|
+
"x-round": "export"
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
"additionalProperties": false
|
|
257
|
+
},
|
|
258
|
+
"deploy": {
|
|
259
|
+
"type": "object",
|
|
260
|
+
"properties": {
|
|
261
|
+
"when": {
|
|
262
|
+
"type": "string",
|
|
263
|
+
"enum": [
|
|
264
|
+
"after-review",
|
|
265
|
+
"now",
|
|
266
|
+
"scheduled",
|
|
267
|
+
"never"
|
|
268
|
+
],
|
|
269
|
+
"title": "Deploy",
|
|
270
|
+
"description": "When should it deploy? (recorded only; bdk does not deploy)",
|
|
271
|
+
"x-round": "export",
|
|
272
|
+
"default": "after-review"
|
|
273
|
+
},
|
|
274
|
+
"at": {
|
|
275
|
+
"type": "string",
|
|
276
|
+
"format": "date-time",
|
|
277
|
+
"title": "Deploy at",
|
|
278
|
+
"description": "Deploy at (ISO 8601 with a timezone)?",
|
|
279
|
+
"x-round": "export"
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
"additionalProperties": false
|
|
283
|
+
},
|
|
284
|
+
"slack": {
|
|
285
|
+
"type": "object",
|
|
286
|
+
"properties": {
|
|
287
|
+
"app": {
|
|
288
|
+
"type": "string",
|
|
289
|
+
"enum": [
|
|
290
|
+
"new",
|
|
291
|
+
"move"
|
|
292
|
+
],
|
|
293
|
+
"title": "Slack app",
|
|
294
|
+
"description": "Mint a new Slack app, or move the bot's existing one?",
|
|
295
|
+
"x-round": "export",
|
|
296
|
+
"default": "new"
|
|
297
|
+
},
|
|
298
|
+
"cutover": {
|
|
299
|
+
"type": "string",
|
|
300
|
+
"enum": [
|
|
301
|
+
"manual",
|
|
302
|
+
"after-deploy",
|
|
303
|
+
"scheduled"
|
|
304
|
+
],
|
|
305
|
+
"title": "Slack cutover",
|
|
306
|
+
"description": "When should Slack traffic switch to the BDK agent?",
|
|
307
|
+
"x-round": "export",
|
|
308
|
+
"default": "manual"
|
|
309
|
+
},
|
|
310
|
+
"cutoverAt": {
|
|
311
|
+
"type": "string",
|
|
312
|
+
"format": "date-time",
|
|
313
|
+
"title": "Slack cutover at",
|
|
314
|
+
"description": "Switch Slack traffic at (ISO 8601 with a timezone)?",
|
|
315
|
+
"x-round": "export"
|
|
316
|
+
},
|
|
317
|
+
"teamPrefix": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"minLength": 1,
|
|
320
|
+
"title": "Team prefix",
|
|
321
|
+
"description": "Team prefix the Slack bot name must start with?",
|
|
322
|
+
"x-round": "export"
|
|
323
|
+
},
|
|
324
|
+
"botName": {
|
|
325
|
+
"type": "string",
|
|
326
|
+
"minLength": 1,
|
|
327
|
+
"title": "Slack bot name",
|
|
328
|
+
"description": "Slack bot display name? Starts with the team prefix and must not contain \"Grok\".",
|
|
329
|
+
"x-round": "export"
|
|
330
|
+
},
|
|
331
|
+
"justification": {
|
|
332
|
+
"type": "string",
|
|
333
|
+
"minLength": 1,
|
|
334
|
+
"title": "Security justification",
|
|
335
|
+
"description": "Security justification for the Slack app review? What the bot does in Slack and why it needs its scopes. Saved for the Slack app setup.",
|
|
336
|
+
"x-round": "export"
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
"additionalProperties": false
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
"additionalProperties": false
|
|
343
|
+
}
|
|
@@ -6,7 +6,7 @@ description: >-
|
|
|
6
6
|
agent. Ask only what the invoking message left open.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# Create
|
|
9
|
+
# Create a BDK agent
|
|
10
10
|
|
|
11
11
|
1. **Interview.** Two `AskQuestion` rounds, then a plan gate.
|
|
12
12
|
2. **Scaffold.** `bdk init`, then shape the files.
|
|
@@ -33,13 +33,14 @@ on a running host.
|
|
|
33
33
|
- If `AskQuestion` is missing or the user skips, state defaults
|
|
34
34
|
in one list and proceed.
|
|
35
35
|
|
|
36
|
+
<!-- interview:start (generated from the bdk init questions; do not edit by hand) -->
|
|
36
37
|
### Round 1: identity
|
|
37
38
|
|
|
38
|
-
| Question | Options |
|
|
39
|
-
| --- | --- |
|
|
40
|
-
| **Purpose** | chat assistant · PR / repo automation · domain assistant over APIs/tools · scheduled reporter · Other |
|
|
41
|
-
| **Name** | 2–3 slugs from the purpose + Other
|
|
42
|
-
| **Location** | `./<slug>` (default) · another directory |
|
|
39
|
+
| Question | Options | Guidance |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| **Purpose** | chat assistant · PR / repo automation · domain assistant over APIs/tools · scheduled reporter · Other | |
|
|
42
|
+
| **Name** | 2–3 slugs from the purpose + Other | Directory: `[A-Za-z0-9][A-Za-z0-9_-]*`, not `v1`/`playground`/`docs` |
|
|
43
|
+
| **Location** | `./<slug>` (default) · another directory | |
|
|
43
44
|
|
|
44
45
|
### Round 2: surface
|
|
45
46
|
|
|
@@ -48,7 +49,8 @@ on a running host.
|
|
|
48
49
|
| **Model** | `grok-4.5` + `effort=high`, `fast=true` · Other id | Params, not id suffixes: `{ id: "grok-4.5", params: [{ id: "effort", value: "high" }, { id: "fast", value: "true" }] }` |
|
|
49
50
|
| **Channels** (multi) | playground + HTTP (always on) · Slack · GitHub · custom webhook · schedule | Slack: `skills/setup-slack/SKILL.md`. GitHub: `skills/github/SKILL.md`. No Discord/Teams pack; offer custom webhook. |
|
|
50
51
|
| **MCP** (multi) | none · remote URL · local stdio · Cursor account connectors · Other | One file under `bot/mcp-connections/`. Account file is `account.ts`, never `cursor.ts`. Named local tools need `advertiseTools: true`. Privileged servers go in `bot/host-connections/`. |
|
|
51
|
-
| **Capabilities** (multi) | server tools · agent tools · skills · subagents · hooks · sandbox seeds ·
|
|
52
|
+
| **Capabilities** (multi) | server tools · agent tools · skills · subagents · hooks · sandbox seeds · evals (recommend) | Always recommend one smoke eval. |
|
|
53
|
+
<!-- interview:end -->
|
|
52
54
|
|
|
53
55
|
Close with the plan and file tree, then "Scaffold it" / "Adjust
|
|
54
56
|
something". Write files only after approval.
|
|
@@ -72,13 +74,13 @@ Defaults:
|
|
|
72
74
|
- `bot/instructions.md`: identity, when to use which tool,
|
|
73
75
|
output shape.
|
|
74
76
|
- One tool per file. Prefer `execution: "server"` + zod
|
|
75
|
-
`inputSchema`.
|
|
77
|
+
`inputSchema`. Declare `effect: "read"` or `"write"` on each tool.
|
|
76
78
|
- Long prompts: `prompt\`…\`` / `prompt.lines\`…\`` from
|
|
77
79
|
`@cursor/bdk`.
|
|
78
80
|
- Host prep is for evidence (`callTool`, `workspaceFiles`), not
|
|
79
81
|
judgment, formatting, or replies.
|
|
80
|
-
- Remembered state is `ctx.host.kv`.
|
|
81
|
-
|
|
82
|
+
- Remembered state is `ctx.host.kv`. On Cursor hosting, a later
|
|
83
|
+
event can run in a new process, where a module `Map` starts empty.
|
|
82
84
|
File bytes that must outlive the process go in `ctx.host.files`.
|
|
83
85
|
See `skills/framework-map/SKILL.md`.
|
|
84
86
|
|
|
@@ -154,7 +156,10 @@ project state directory (`--state-root`). That is not harness cwd.
|
|
|
154
156
|
- **Slack.** `skills/setup-slack/SKILL.md`
|
|
155
157
|
- **GitHub.** `skills/github/SKILL.md`
|
|
156
158
|
- **Custom webhook.** `POST /v1/channels/<id>/<route>`.
|
|
157
|
-
Loopback-only until you add `bearerAuth(...)`.
|
|
159
|
+
Loopback-only until you add `bearerAuth(...)`. Hosted callers
|
|
160
|
+
get an empty `202` before the handler runs, so return
|
|
161
|
+
`new Response(null, { status: 202 })` and deliver results from
|
|
162
|
+
the channel's `events`.
|
|
158
163
|
- **Schedules.** Never auto-fire under `--dev`.
|
|
159
164
|
`POST /v1/dev/schedules/<id>`.
|
|
160
165
|
|
package/skills/debug/SKILL.md
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
name: bdk-debug
|
|
3
3
|
description: >-
|
|
4
4
|
Diagnose a misbehaving local BDK agent: blank playground,
|
|
5
|
-
missing sessions, failed reads, webhook 401s, 403/409
|
|
6
|
-
|
|
5
|
+
missing sessions, failed reads, webhook 401s, 403/409. Use when
|
|
6
|
+
a project runs but behaves wrong locally.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Debugging the BDK locally
|
|
10
10
|
|
|
11
|
-
Local `bdk serve`. Hosted start
|
|
11
|
+
Local `bdk serve`. Hosted start failures:
|
|
12
12
|
`docs/troubleshooting.md` and `docs/deployment.md`.
|
|
13
13
|
|
|
14
14
|
1. **Validate.** `bdk validate --dir <project>`
|
|
@@ -27,7 +27,6 @@ Local `bdk serve`. Hosted start or health failures:
|
|
|
27
27
|
| Answers cite ancestor `AGENTS.md` | Nested checkout. Default `local.cwd` is a cache directory under `~/.cache`. |
|
|
28
28
|
| Model lists IDE `cursor` tools, never MCP | `advertiseTools: true`. Check `GET /v1/info`. |
|
|
29
29
|
| Port 3000 in use | `lsof -iTCP:3000 -sTCP:LISTEN` and kill that pid. |
|
|
30
|
-
| Approval vanished after restart | Parked calls do not survive restart. Re-run. |
|
|
31
30
|
| Schedule / reminder silent under `--dev` | Dev never auto-fires. `POST /<slug>/v1/dev/schedules/<id>`. |
|
|
32
31
|
| `409` on follow-up | Stale `continuationToken`, busy session, or a task session. |
|
|
33
32
|
| `409 session_busy` on `call --session` | Wait, or drop `--session`. |
|
package/skills/evals/SKILL.md
CHANGED
|
@@ -84,11 +84,11 @@ export default defineEvalConfig({
|
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
Either `test(t)` or `cases`, not both. `t.send` waits for the turn to
|
|
87
|
-
settle (complete
|
|
87
|
+
settle (complete or fail) and returns it; `turn.calledTool(...)`
|
|
88
88
|
reads only that turn, `t.*` reads the whole run. First-send options:
|
|
89
89
|
`workspaceFiles`, `workspaceDir`.
|
|
90
90
|
|
|
91
|
-
Gates: `t.succeeded()
|
|
91
|
+
Gates: `t.succeeded()`,
|
|
92
92
|
`calledTool(name, { input, output, status, count })` / `notCalledTool`,
|
|
93
93
|
`toolOrder`, `maxToolCalls`, `taggedArtifact`, `event` / `notEvent`,
|
|
94
94
|
`t.check(value, includes | equals | matches | similarity | satisfies)`.
|