@cursor/bdk 0.2.15 → 0.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- 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/agentic-delivery.js +4 -4
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +7 -4
- package/dist/channels/slack/channel-watch.d.ts +2 -0
- package/dist/channels/slack/channel-watch.d.ts.map +1 -1
- package/dist/channels/slack/channel-watch.js +7 -3
- package/dist/channels/slack/dispatch.d.ts +3 -0
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +6 -2
- package/dist/channels/slack/thread-context.d.ts.map +1 -1
- package/dist/channels/slack/thread-context.js +58 -26
- package/dist/channels/slack/types.d.ts +19 -0
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/docs/404.html +3 -3
- package/dist/docs/assets/{app.CRMxF0qX.js → app.CUNuFTSm.js} +4 -4
- package/dist/docs/assets/{building-with-agents.md.Bi9CQ-bR.js → building-with-agents.md.FZXrY8Nk.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.3c56VHUt.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.C4BiQe53.js → VPLocalSearchBox.Dez74k0W.js} +1 -1
- package/dist/docs/assets/chunks/{arc.D1TA2Mxn.js → arc.CJ3FhK7H.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CA-hBJCN.js → architectureDiagram-Q4EWVU46.CfUdbHsa.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.CzsSgiab.js → baseUniq.D93LawU9.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.sxrH_f0l.js → blockDiagram-DXYQGD6D.Zvsd6UHP.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.D_Z3mqAl.js → c4Diagram-AHTNJAMY.CGX5xZ9d.js} +1 -1
- package/dist/docs/assets/chunks/channel.S8-FFjmE.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.BS6_uTUf.js → chunk-4BX2VUAB.CCIf0QCo.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.D-URAeTU.js → chunk-4TB4RGXK.D_N1RPyi.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.b4SZc5kO.js → chunk-55IACEB6.B1oecjzx.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.DLKEEDkN.js → chunk-EDXVE4YY.BzUNVPGX.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.3SyQHgpY.js → chunk-FMBD7UC4.DheI8WSO.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.DBKKaFeS.js → chunk-OYMX7WX6.Bg4iL0sM.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BhCYeR7H.js → chunk-QZHKN3VN.CSQjDhAD.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.Cpg0VgI7.js → chunk-YZCP3GAM.BDdxnPU4.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.BB98tFjZ.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.BB98tFjZ.js +1 -0
- package/dist/docs/assets/chunks/clone.B98w8OEv.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.4q0YNZN6.js → cose-bilkent-S5V4N54A.AT0weO8r.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.Bk_CcQPr.js → dagre-KV5264BT.CJ30TxV0.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.CgreoM_Z.js → diagram-5BDNPKRD.KtE--1fW.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DlZGpm6W.js → diagram-G4DWMVQ6.BFGygSUQ.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BxtXxgIR.js → diagram-MMDJMWI5.BLU-79eb.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.DSzlJp2D.js → diagram-TYMM5635.CdjfJdVG.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BN1YUmEV.js → erDiagram-SMLLAGMA.Dj1Iwypl.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.B61NGNYu.js → flowDiagram-DWJPFMVM.BXqj_Su2.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.DR-tto3M.js → ganttDiagram-T4ZO3ILL.CNfgGSst.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CBPs2W_2.js → gitGraphDiagram-UUTBAWPF.2tgvFDBr.js} +1 -1
- package/dist/docs/assets/chunks/{graph.DmlaqzCE.js → graph.CWHZMxx6.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.obPv-fFg.js → infoDiagram-42DDH7IO.DhLIK8m1.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.CXHTUcM3.js → ishikawaDiagram-UXIWVN3A.BIN11n1G.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BoVHerYZ.js → journeyDiagram-VCZTEJTY.BARmNJ0n.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CfYmPHZg.js → kanban-definition-6JOO6SKY.BrTJYFyF.js} +1 -1
- package/dist/docs/assets/chunks/{layout.621UdAhB.js → layout.CPZIIywK.js} +1 -1
- package/dist/docs/assets/chunks/{linear.Cz_zRKjr.js → linear.DTpmzI5S.js} +1 -1
- package/dist/docs/assets/chunks/{min.ON4GjCH7.js → min.BBLQmXwZ.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.DLPMLJlv.js → mindmap-definition-QFDTVHPH.5qkWJvdl.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BFp11AYt.js → pieDiagram-DEJITSTG.-4wufv_f.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.ChX7xo6B.js → quadrantDiagram-34T5L4WZ.C0jrp1-8.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DbKtHG_Q.js → requirementDiagram-MS252O5E.DUDpANfe.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.Spw8tv-7.js → sankeyDiagram-XADWPNL6.74Lvg6Gu.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.BYso9LlE.js → sequenceDiagram-FGHM5R23.BHDIH286.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.D8l54jqW.js → stateDiagram-FHFEXIEX.Dr-HIuLb.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DW_lwpZY.js +1 -0
- package/dist/docs/assets/chunks/{theme.m_Ethbkv.js → theme.H8zSBhlM.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BLdhhyy9.js → timeline-definition-GMOUNBTQ.GtyCaSiL.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CyGT2F_P.js → vennDiagram-DHZGUBPP.DLId0rxH.js} +1 -1
- package/dist/docs/assets/chunks/{wardley-RL74JXVD.C5JJS3bh.js → wardley-RL74JXVD.CSlECTHi.js} +1 -1
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.p_Sz9p1i.js → wardleyDiagram-NUSXRM2D.CI6mGYNG.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.DtXsNUaf.js → xychartDiagram-5P7HB3ND.CG1n865F.js} +1 -1
- package/dist/docs/assets/{deployment.md.hKKN9I4c.js → deployment.md.ajc3VM0m.js} +1 -1
- package/dist/docs/assets/{guides_migrate.md.sCAvvlC6.js → guides_migrate.md.DZBL7dqT.js} +1 -1
- package/dist/docs/assets/index.md.CHAFTf6m.js +27 -0
- package/dist/docs/assets/index.md.CHAFTf6m.lean.js +1 -0
- package/dist/docs/assets/{quickstart.md.CduLGBAB.js → quickstart.md.D8JDfkKO.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_cli.md.BYNIHwbi.js → reference_cli.md.Bt3sAfat.js} +3 -3
- package/dist/docs/assets/{reference_evals.md.if--BLd0.js → reference_evals.md.Ccwp4x3o.js} +3 -3
- package/dist/docs/assets/{reference_evals.md.if--BLd0.lean.js → reference_evals.md.Ccwp4x3o.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.CrqhTv6S.js → reference_http-api.md.Dji-DD_Z.js} +1 -1
- package/dist/docs/assets/{reference_project-layout.md.C2JMRh7p.js → reference_project-layout.md.SNzIvnmC.js} +1 -1
- package/dist/docs/building-with-agents.html +37 -37
- package/dist/docs/building-with-agents.md +4 -4
- package/dist/docs/deployment.html +37 -37
- package/dist/docs/deployment.md +3 -4
- package/dist/docs/evals.html +36 -36
- package/dist/docs/guides/agent-to-agent.html +36 -36
- package/dist/docs/guides/bitbucket.html +36 -36
- package/dist/docs/guides/cloud-agents.html +36 -36
- package/dist/docs/guides/convert-automation.html +36 -36
- package/dist/docs/guides/github.html +36 -36
- package/dist/docs/guides/gitlab.html +36 -36
- package/dist/docs/guides/grokbot-agents.html +36 -36
- package/dist/docs/guides/hooks.html +36 -36
- package/dist/docs/guides/improve.html +36 -36
- package/dist/docs/guides/jev.html +36 -36
- package/dist/docs/guides/mcp-oauth.html +36 -36
- package/dist/docs/guides/migrate.html +37 -37
- package/dist/docs/guides/migrate.md +3 -3
- package/dist/docs/guides/opentelemetry.html +36 -36
- package/dist/docs/guides/slack.html +36 -36
- package/dist/docs/guides/webhooks.html +36 -36
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +36 -36
- package/dist/docs/index.html +38 -38
- package/dist/docs/index.md +2 -2
- package/dist/docs/llms-full.txt +64 -28
- package/dist/docs/llms.txt +2 -2
- package/dist/docs/quickstart.html +37 -37
- package/dist/docs/quickstart.md +3 -3
- package/dist/docs/reference/agent-config.html +42 -39
- package/dist/docs/reference/agent-config.md +26 -1
- package/dist/docs/reference/artifacts.html +36 -36
- package/dist/docs/reference/channels.html +36 -36
- package/dist/docs/reference/cli.html +39 -39
- package/dist/docs/reference/cli.md +3 -3
- package/dist/docs/reference/connections.html +36 -36
- package/dist/docs/reference/evals.html +38 -38
- package/dist/docs/reference/evals.md +13 -0
- package/dist/docs/reference/extensions.html +36 -36
- package/dist/docs/reference/hooks.html +36 -36
- package/dist/docs/reference/http-api.html +37 -37
- package/dist/docs/reference/http-api.md +4 -4
- package/dist/docs/reference/instructions.html +36 -36
- package/dist/docs/reference/playground.html +36 -36
- package/dist/docs/reference/project-layout.html +37 -37
- package/dist/docs/reference/project-layout.md +2 -3
- package/dist/docs/reference/prompt.html +36 -36
- package/dist/docs/reference/schedules.html +36 -36
- package/dist/docs/reference/sessions.html +36 -36
- package/dist/docs/reference/skills.html +36 -36
- package/dist/docs/reference/subagents.html +36 -36
- package/dist/docs/reference/tools.html +36 -36
- package/dist/docs/templates/agentic-owners.html +36 -36
- package/dist/docs/templates/grokbot-agents.html +36 -36
- package/dist/docs/templates/security-reviewer.html +36 -36
- package/dist/docs/templates/thermo-quality-review.html +36 -36
- package/dist/docs/templates/thermo-review.html +36 -36
- package/dist/docs/templates/triage.html +36 -36
- package/dist/docs/troubleshooting.html +36 -36
- 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 +4 -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/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/deploy-manifest.d.ts +6 -0
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +3 -0
- 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-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +24 -1
- 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 +48 -14
- 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 -0
- package/dist/internal/peer-connections.d.ts.map +1 -1
- package/dist/internal/peer-connections.js +9 -0
- 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 +38 -14
- 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/session-engine.d.ts +13 -0
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +59 -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-DCsq6f_I.js → index-U3TRnwAP.js} +43 -43
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +10 -1
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +4 -4
- package/docs/building-with-agents.md +4 -4
- package/docs/deployment.md +3 -4
- package/docs/guides/migrate.md +3 -3
- package/docs/quickstart.md +3 -3
- package/docs/reference/agent-config.md +26 -1
- package/docs/reference/cli.md +3 -3
- package/docs/reference/evals.md +13 -0
- package/docs/reference/http-api.md +4 -4
- package/docs/reference/project-layout.md +2 -3
- package/package.json +5 -4
- package/schemas/grokbot-answers.schema.json +343 -0
- package/skills/create-agent/SKILL.md +7 -5
- package/templates/agentic-owners/bot/lib/owners/handles.ts +1 -1
- package/templates/agentic-owners/bot/lib/owners/matching.ts +20 -9
- package/dist/docs/assets/chunks/@localSearchIndexroot.BZwvb2LN.js +0 -1
- package/dist/docs/assets/chunks/channel.D7DtboxW.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.irslOV8B.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.irslOV8B.js +0 -1
- package/dist/docs/assets/chunks/clone.DosLeDYL.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CAYMmzGj.js +0 -1
- package/dist/docs/assets/index.md.BIBHIQtU.js +0 -27
- package/dist/docs/assets/index.md.BIBHIQtU.lean.js +0 -1
- package/dist/internal/convert-automation/slug.d.ts.map +0 -1
- package/dist/playground/assets/index-BVYWBxLU.css +0 -1
- /package/dist/docs/assets/{building-with-agents.md.Bi9CQ-bR.lean.js → building-with-agents.md.FZXrY8Nk.lean.js} +0 -0
- /package/dist/docs/assets/{deployment.md.hKKN9I4c.lean.js → deployment.md.ajc3VM0m.lean.js} +0 -0
- /package/dist/docs/assets/{guides_migrate.md.sCAvvlC6.lean.js → guides_migrate.md.DZBL7dqT.lean.js} +0 -0
- /package/dist/docs/assets/{quickstart.md.CduLGBAB.lean.js → quickstart.md.D8JDfkKO.lean.js} +0 -0
- /package/dist/docs/assets/{reference_cli.md.BYNIHwbi.lean.js → reference_cli.md.Bt3sAfat.lean.js} +0 -0
- /package/dist/docs/assets/{reference_http-api.md.CrqhTv6S.lean.js → reference_http-api.md.Dji-DD_Z.lean.js} +0 -0
- /package/dist/docs/assets/{reference_project-layout.md.C2JMRh7p.lean.js → reference_project-layout.md.SNzIvnmC.lean.js} +0 -0
|
@@ -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
|
+
}
|
|
@@ -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
|
|
|
@@ -49,6 +50,7 @@ on a running host.
|
|
|
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
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.
|
|
@@ -50,5 +50,5 @@ export function sanitizeReviewerHandle(raw: string): string | undefined {
|
|
|
50
50
|
return `${org}/${team}`;
|
|
51
51
|
}
|
|
52
52
|
const login = trimmed.replace(/^@/, "").toLowerCase();
|
|
53
|
-
return /^[a-z0-9][a-z0-9-]
|
|
53
|
+
return /^[a-z0-9][a-z0-9-]*(?:_[a-z0-9]+)?$/.test(login) ? `@${login}` : undefined;
|
|
54
54
|
}
|
|
@@ -16,13 +16,20 @@ export function patternMatchesFile(pattern: string, filepath: string): boolean {
|
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
const literalPrefix = normalizedPattern.replace(/\*+$/, "");
|
|
20
|
+
if (normalizedPattern.endsWith("**") && !hasComplexGlob(literalPrefix)) {
|
|
21
|
+
const prefix = literalPrefix.replace(/\\(.)/g, "$1").replace(/\/+$/, "");
|
|
22
|
+
if (normalizedPath === prefix || (prefix !== "" && normalizedPath.startsWith(`${prefix}/`))) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
if (literalPrefix === "" || literalPrefix.endsWith("/")) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
if (patternIsRooted && !literalPrefix.includes("/") && normalizedPath.includes("/")) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
// gitignore reads `x**` as `x*`.
|
|
32
|
+
return globMatches(normalizedPath, `${literalPrefix}*`);
|
|
26
33
|
}
|
|
27
34
|
|
|
28
35
|
if (normalizedPattern.endsWith("/")) {
|
|
@@ -37,10 +44,14 @@ export function patternMatchesFile(pattern: string, filepath: string): boolean {
|
|
|
37
44
|
return true;
|
|
38
45
|
}
|
|
39
46
|
|
|
47
|
+
return globMatches(normalizedPath, normalizedPattern);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function globMatches(filepath: string, pattern: string): boolean {
|
|
40
51
|
try {
|
|
41
|
-
return minimatch(
|
|
52
|
+
return minimatch(filepath, pattern, {
|
|
42
53
|
dot: true,
|
|
43
|
-
matchBase: !
|
|
54
|
+
matchBase: !pattern.includes("/"),
|
|
44
55
|
nocase: false,
|
|
45
56
|
});
|
|
46
57
|
} catch {
|