@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.
Files changed (280) hide show
  1. package/README.md +2 -2
  2. package/dist/bin/agent-serve.js +41 -3
  3. package/dist/channels/github/index.d.ts +1 -1
  4. package/dist/channels/github/index.d.ts.map +1 -1
  5. package/dist/channels/github/index.js +1 -1
  6. package/dist/channels/slack/agentic-delivery.js +4 -4
  7. package/dist/channels/slack/api.d.ts.map +1 -1
  8. package/dist/channels/slack/api.js +7 -4
  9. package/dist/channels/slack/channel-watch.d.ts +2 -0
  10. package/dist/channels/slack/channel-watch.d.ts.map +1 -1
  11. package/dist/channels/slack/channel-watch.js +7 -3
  12. package/dist/channels/slack/dispatch.d.ts +3 -0
  13. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  14. package/dist/channels/slack/dispatch.js +6 -2
  15. package/dist/channels/slack/thread-context.d.ts.map +1 -1
  16. package/dist/channels/slack/thread-context.js +58 -26
  17. package/dist/channels/slack/types.d.ts +19 -0
  18. package/dist/channels/slack/types.d.ts.map +1 -1
  19. package/dist/docs/404.html +3 -3
  20. package/dist/docs/assets/{app.CRMxF0qX.js → app.CUNuFTSm.js} +4 -4
  21. package/dist/docs/assets/{building-with-agents.md.Bi9CQ-bR.js → building-with-agents.md.FZXrY8Nk.js} +1 -1
  22. package/dist/docs/assets/chunks/@localSearchIndexroot.3c56VHUt.js +1 -0
  23. package/dist/docs/assets/chunks/{VPLocalSearchBox.C4BiQe53.js → VPLocalSearchBox.Dez74k0W.js} +1 -1
  24. package/dist/docs/assets/chunks/{arc.D1TA2Mxn.js → arc.CJ3FhK7H.js} +1 -1
  25. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CA-hBJCN.js → architectureDiagram-Q4EWVU46.CfUdbHsa.js} +1 -1
  26. package/dist/docs/assets/chunks/{baseUniq.CzsSgiab.js → baseUniq.D93LawU9.js} +1 -1
  27. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.sxrH_f0l.js → blockDiagram-DXYQGD6D.Zvsd6UHP.js} +1 -1
  28. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.D_Z3mqAl.js → c4Diagram-AHTNJAMY.CGX5xZ9d.js} +1 -1
  29. package/dist/docs/assets/chunks/channel.S8-FFjmE.js +1 -0
  30. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.BS6_uTUf.js → chunk-4BX2VUAB.CCIf0QCo.js} +1 -1
  31. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.D-URAeTU.js → chunk-4TB4RGXK.D_N1RPyi.js} +1 -1
  32. package/dist/docs/assets/chunks/{chunk-55IACEB6.b4SZc5kO.js → chunk-55IACEB6.B1oecjzx.js} +1 -1
  33. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.DLKEEDkN.js → chunk-EDXVE4YY.BzUNVPGX.js} +1 -1
  34. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.3SyQHgpY.js → chunk-FMBD7UC4.DheI8WSO.js} +1 -1
  35. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.DBKKaFeS.js → chunk-OYMX7WX6.Bg4iL0sM.js} +1 -1
  36. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BhCYeR7H.js → chunk-QZHKN3VN.CSQjDhAD.js} +1 -1
  37. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.Cpg0VgI7.js → chunk-YZCP3GAM.BDdxnPU4.js} +1 -1
  38. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.BB98tFjZ.js +1 -0
  39. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.BB98tFjZ.js +1 -0
  40. package/dist/docs/assets/chunks/clone.B98w8OEv.js +1 -0
  41. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.4q0YNZN6.js → cose-bilkent-S5V4N54A.AT0weO8r.js} +1 -1
  42. package/dist/docs/assets/chunks/{dagre-KV5264BT.Bk_CcQPr.js → dagre-KV5264BT.CJ30TxV0.js} +1 -1
  43. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.CgreoM_Z.js → diagram-5BDNPKRD.KtE--1fW.js} +1 -1
  44. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DlZGpm6W.js → diagram-G4DWMVQ6.BFGygSUQ.js} +1 -1
  45. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BxtXxgIR.js → diagram-MMDJMWI5.BLU-79eb.js} +1 -1
  46. package/dist/docs/assets/chunks/{diagram-TYMM5635.DSzlJp2D.js → diagram-TYMM5635.CdjfJdVG.js} +1 -1
  47. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BN1YUmEV.js → erDiagram-SMLLAGMA.Dj1Iwypl.js} +1 -1
  48. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.B61NGNYu.js → flowDiagram-DWJPFMVM.BXqj_Su2.js} +1 -1
  49. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.DR-tto3M.js → ganttDiagram-T4ZO3ILL.CNfgGSst.js} +1 -1
  50. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CBPs2W_2.js → gitGraphDiagram-UUTBAWPF.2tgvFDBr.js} +1 -1
  51. package/dist/docs/assets/chunks/{graph.DmlaqzCE.js → graph.CWHZMxx6.js} +1 -1
  52. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.obPv-fFg.js → infoDiagram-42DDH7IO.DhLIK8m1.js} +1 -1
  53. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.CXHTUcM3.js → ishikawaDiagram-UXIWVN3A.BIN11n1G.js} +1 -1
  54. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BoVHerYZ.js → journeyDiagram-VCZTEJTY.BARmNJ0n.js} +1 -1
  55. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CfYmPHZg.js → kanban-definition-6JOO6SKY.BrTJYFyF.js} +1 -1
  56. package/dist/docs/assets/chunks/{layout.621UdAhB.js → layout.CPZIIywK.js} +1 -1
  57. package/dist/docs/assets/chunks/{linear.Cz_zRKjr.js → linear.DTpmzI5S.js} +1 -1
  58. package/dist/docs/assets/chunks/{min.ON4GjCH7.js → min.BBLQmXwZ.js} +1 -1
  59. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.DLPMLJlv.js → mindmap-definition-QFDTVHPH.5qkWJvdl.js} +1 -1
  60. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BFp11AYt.js → pieDiagram-DEJITSTG.-4wufv_f.js} +1 -1
  61. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.ChX7xo6B.js → quadrantDiagram-34T5L4WZ.C0jrp1-8.js} +1 -1
  62. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.DbKtHG_Q.js → requirementDiagram-MS252O5E.DUDpANfe.js} +1 -1
  63. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.Spw8tv-7.js → sankeyDiagram-XADWPNL6.74Lvg6Gu.js} +1 -1
  64. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.BYso9LlE.js → sequenceDiagram-FGHM5R23.BHDIH286.js} +1 -1
  65. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.D8l54jqW.js → stateDiagram-FHFEXIEX.Dr-HIuLb.js} +1 -1
  66. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DW_lwpZY.js +1 -0
  67. package/dist/docs/assets/chunks/{theme.m_Ethbkv.js → theme.H8zSBhlM.js} +2 -2
  68. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BLdhhyy9.js → timeline-definition-GMOUNBTQ.GtyCaSiL.js} +1 -1
  69. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CyGT2F_P.js → vennDiagram-DHZGUBPP.DLId0rxH.js} +1 -1
  70. package/dist/docs/assets/chunks/{wardley-RL74JXVD.C5JJS3bh.js → wardley-RL74JXVD.CSlECTHi.js} +1 -1
  71. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.p_Sz9p1i.js → wardleyDiagram-NUSXRM2D.CI6mGYNG.js} +1 -1
  72. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.DtXsNUaf.js → xychartDiagram-5P7HB3ND.CG1n865F.js} +1 -1
  73. package/dist/docs/assets/{deployment.md.hKKN9I4c.js → deployment.md.ajc3VM0m.js} +1 -1
  74. package/dist/docs/assets/{guides_migrate.md.sCAvvlC6.js → guides_migrate.md.DZBL7dqT.js} +1 -1
  75. package/dist/docs/assets/index.md.CHAFTf6m.js +27 -0
  76. package/dist/docs/assets/index.md.CHAFTf6m.lean.js +1 -0
  77. package/dist/docs/assets/{quickstart.md.CduLGBAB.js → quickstart.md.D8JDfkKO.js} +1 -1
  78. package/dist/docs/assets/{reference_agent-config.md.DrtLxWgR.js → reference_agent-config.md.DYA6ge6t.js} +7 -4
  79. package/dist/docs/assets/{reference_agent-config.md.DrtLxWgR.lean.js → reference_agent-config.md.DYA6ge6t.lean.js} +1 -1
  80. package/dist/docs/assets/{reference_cli.md.BYNIHwbi.js → reference_cli.md.Bt3sAfat.js} +3 -3
  81. package/dist/docs/assets/{reference_evals.md.if--BLd0.js → reference_evals.md.Ccwp4x3o.js} +3 -3
  82. package/dist/docs/assets/{reference_evals.md.if--BLd0.lean.js → reference_evals.md.Ccwp4x3o.lean.js} +1 -1
  83. package/dist/docs/assets/{reference_http-api.md.CrqhTv6S.js → reference_http-api.md.Dji-DD_Z.js} +1 -1
  84. package/dist/docs/assets/{reference_project-layout.md.C2JMRh7p.js → reference_project-layout.md.SNzIvnmC.js} +1 -1
  85. package/dist/docs/building-with-agents.html +37 -37
  86. package/dist/docs/building-with-agents.md +4 -4
  87. package/dist/docs/deployment.html +37 -37
  88. package/dist/docs/deployment.md +3 -4
  89. package/dist/docs/evals.html +36 -36
  90. package/dist/docs/guides/agent-to-agent.html +36 -36
  91. package/dist/docs/guides/bitbucket.html +36 -36
  92. package/dist/docs/guides/cloud-agents.html +36 -36
  93. package/dist/docs/guides/convert-automation.html +36 -36
  94. package/dist/docs/guides/github.html +36 -36
  95. package/dist/docs/guides/gitlab.html +36 -36
  96. package/dist/docs/guides/grokbot-agents.html +36 -36
  97. package/dist/docs/guides/hooks.html +36 -36
  98. package/dist/docs/guides/improve.html +36 -36
  99. package/dist/docs/guides/jev.html +36 -36
  100. package/dist/docs/guides/mcp-oauth.html +36 -36
  101. package/dist/docs/guides/migrate.html +37 -37
  102. package/dist/docs/guides/migrate.md +3 -3
  103. package/dist/docs/guides/opentelemetry.html +36 -36
  104. package/dist/docs/guides/slack.html +36 -36
  105. package/dist/docs/guides/webhooks.html +36 -36
  106. package/dist/docs/hashmap.json +1 -1
  107. package/dist/docs/hillclimbing.html +36 -36
  108. package/dist/docs/index.html +38 -38
  109. package/dist/docs/index.md +2 -2
  110. package/dist/docs/llms-full.txt +64 -28
  111. package/dist/docs/llms.txt +2 -2
  112. package/dist/docs/quickstart.html +37 -37
  113. package/dist/docs/quickstart.md +3 -3
  114. package/dist/docs/reference/agent-config.html +42 -39
  115. package/dist/docs/reference/agent-config.md +26 -1
  116. package/dist/docs/reference/artifacts.html +36 -36
  117. package/dist/docs/reference/channels.html +36 -36
  118. package/dist/docs/reference/cli.html +39 -39
  119. package/dist/docs/reference/cli.md +3 -3
  120. package/dist/docs/reference/connections.html +36 -36
  121. package/dist/docs/reference/evals.html +38 -38
  122. package/dist/docs/reference/evals.md +13 -0
  123. package/dist/docs/reference/extensions.html +36 -36
  124. package/dist/docs/reference/hooks.html +36 -36
  125. package/dist/docs/reference/http-api.html +37 -37
  126. package/dist/docs/reference/http-api.md +4 -4
  127. package/dist/docs/reference/instructions.html +36 -36
  128. package/dist/docs/reference/playground.html +36 -36
  129. package/dist/docs/reference/project-layout.html +37 -37
  130. package/dist/docs/reference/project-layout.md +2 -3
  131. package/dist/docs/reference/prompt.html +36 -36
  132. package/dist/docs/reference/schedules.html +36 -36
  133. package/dist/docs/reference/sessions.html +36 -36
  134. package/dist/docs/reference/skills.html +36 -36
  135. package/dist/docs/reference/subagents.html +36 -36
  136. package/dist/docs/reference/tools.html +36 -36
  137. package/dist/docs/templates/agentic-owners.html +36 -36
  138. package/dist/docs/templates/grokbot-agents.html +36 -36
  139. package/dist/docs/templates/security-reviewer.html +36 -36
  140. package/dist/docs/templates/thermo-quality-review.html +36 -36
  141. package/dist/docs/templates/thermo-review.html +36 -36
  142. package/dist/docs/templates/triage.html +36 -36
  143. package/dist/docs/troubleshooting.html +36 -36
  144. package/dist/filesystem.d.ts.map +1 -1
  145. package/dist/filesystem.js +4 -8
  146. package/dist/internal/cli-convert-automation.js +9 -19
  147. package/dist/internal/cli-deploy.d.ts +1 -1
  148. package/dist/internal/cli-deploy.d.ts.map +1 -1
  149. package/dist/internal/cli-deploy.js +4 -3
  150. package/dist/internal/cli-init-grokbot.d.ts +29 -0
  151. package/dist/internal/cli-init-grokbot.d.ts.map +1 -0
  152. package/dist/internal/cli-init-grokbot.js +181 -0
  153. package/dist/internal/cli-slack.js +1 -1
  154. package/dist/internal/comment-safe.d.ts +8 -0
  155. package/dist/internal/comment-safe.d.ts.map +1 -0
  156. package/dist/internal/comment-safe.js +12 -0
  157. package/dist/internal/convert-automation/convert-workflow.d.ts.map +1 -1
  158. package/dist/internal/convert-automation/convert-workflow.js +2 -14
  159. package/dist/internal/convert-grokbot/answers.d.ts +127 -0
  160. package/dist/internal/convert-grokbot/answers.d.ts.map +1 -0
  161. package/dist/internal/convert-grokbot/answers.js +443 -0
  162. package/dist/internal/convert-grokbot/bot.d.ts +50 -0
  163. package/dist/internal/convert-grokbot/bot.d.ts.map +1 -0
  164. package/dist/internal/convert-grokbot/bot.js +72 -0
  165. package/dist/internal/convert-grokbot/checks.d.ts +26 -0
  166. package/dist/internal/convert-grokbot/checks.d.ts.map +1 -0
  167. package/dist/internal/convert-grokbot/checks.js +170 -0
  168. package/dist/internal/convert-grokbot/convert.d.ts +60 -0
  169. package/dist/internal/convert-grokbot/convert.d.ts.map +1 -0
  170. package/dist/internal/convert-grokbot/convert.js +470 -0
  171. package/dist/internal/convert-grokbot/handoff.d.ts +44 -0
  172. package/dist/internal/convert-grokbot/handoff.d.ts.map +1 -0
  173. package/dist/internal/convert-grokbot/handoff.js +160 -0
  174. package/dist/internal/convert-grokbot/recipe.d.ts +61 -0
  175. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -0
  176. package/dist/internal/convert-grokbot/recipe.js +94 -0
  177. package/dist/internal/convert-grokbot/routine.d.ts +51 -0
  178. package/dist/internal/convert-grokbot/routine.d.ts.map +1 -0
  179. package/dist/internal/convert-grokbot/routine.js +128 -0
  180. package/dist/internal/convert-grokbot/slack.d.ts +28 -0
  181. package/dist/internal/convert-grokbot/slack.d.ts.map +1 -0
  182. package/dist/internal/convert-grokbot/slack.js +50 -0
  183. package/dist/internal/deploy-client.d.ts +0 -2
  184. package/dist/internal/deploy-client.d.ts.map +1 -1
  185. package/dist/internal/deploy-client.js +2 -11
  186. package/dist/internal/deploy-manifest.d.ts +6 -0
  187. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  188. package/dist/internal/deploy-manifest.js +3 -0
  189. package/dist/internal/discovery/names.d.ts +2 -0
  190. package/dist/internal/discovery/names.d.ts.map +1 -1
  191. package/dist/internal/discovery/names.js +2 -0
  192. package/dist/internal/discovery/project.d.ts.map +1 -1
  193. package/dist/internal/discovery/project.js +1 -3
  194. package/dist/internal/eval-judge-model.d.ts +10 -5
  195. package/dist/internal/eval-judge-model.d.ts.map +1 -1
  196. package/dist/internal/eval-judge-model.js +36 -25
  197. package/dist/internal/filesystem/subagent-inherit.d.ts +39 -0
  198. package/dist/internal/filesystem/subagent-inherit.d.ts.map +1 -0
  199. package/dist/internal/filesystem/subagent-inherit.js +96 -0
  200. package/dist/internal/filesystem/tools.d.ts +6 -0
  201. package/dist/internal/filesystem/tools.d.ts.map +1 -1
  202. package/dist/internal/filesystem/tools.js +38 -1
  203. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  204. package/dist/internal/hosted-delivery.js +24 -1
  205. package/dist/internal/hosting.d.ts +1 -1
  206. package/dist/internal/hosting.d.ts.map +1 -1
  207. package/dist/internal/hosting.js +7 -3
  208. package/dist/internal/init-interview.d.ts +3 -5
  209. package/dist/internal/init-interview.d.ts.map +1 -1
  210. package/dist/internal/init-interview.js +15 -88
  211. package/dist/internal/init-project.d.ts +13 -0
  212. package/dist/internal/init-project.d.ts.map +1 -1
  213. package/dist/internal/init-project.js +30 -37
  214. package/dist/internal/init-scaffold.d.ts +11 -0
  215. package/dist/internal/init-scaffold.d.ts.map +1 -1
  216. package/dist/internal/init-scaffold.js +48 -14
  217. package/dist/internal/interview/agent-questions.d.ts +19 -0
  218. package/dist/internal/interview/agent-questions.d.ts.map +1 -0
  219. package/dist/internal/interview/agent-questions.js +120 -0
  220. package/dist/internal/interview/question.d.ts +82 -0
  221. package/dist/internal/interview/question.d.ts.map +1 -0
  222. package/dist/internal/interview/question.js +198 -0
  223. package/dist/internal/local-control-plane.d.ts.map +1 -1
  224. package/dist/internal/local-control-plane.js +5 -1
  225. package/dist/internal/otel/collector.d.ts +2 -0
  226. package/dist/internal/otel/collector.d.ts.map +1 -1
  227. package/dist/internal/otel/collector.js +4 -0
  228. package/dist/internal/peer-connections.d.ts +6 -0
  229. package/dist/internal/peer-connections.d.ts.map +1 -1
  230. package/dist/internal/peer-connections.js +9 -0
  231. package/dist/internal/resolve-prod-target.d.ts.map +1 -1
  232. package/dist/internal/resolve-prod-target.js +2 -1
  233. package/dist/internal/sdk-runner.d.ts.map +1 -1
  234. package/dist/internal/sdk-runner.js +38 -14
  235. package/dist/internal/sdk-subagent-inherit-support.d.ts +9 -0
  236. package/dist/internal/sdk-subagent-inherit-support.d.ts.map +1 -0
  237. package/dist/internal/sdk-subagent-inherit-support.js +89 -0
  238. package/dist/internal/session-engine.d.ts +13 -0
  239. package/dist/internal/session-engine.d.ts.map +1 -1
  240. package/dist/internal/session-engine.js +59 -11
  241. package/dist/internal/{convert-automation/slug.d.ts → slug.d.ts} +4 -1
  242. package/dist/internal/slug.d.ts.map +1 -0
  243. package/dist/internal/{convert-automation/slug.js → slug.js} +11 -1
  244. package/dist/playground/assets/index-7fVUOA5l.css +1 -0
  245. package/dist/playground/assets/{index-DCsq6f_I.js → index-U3TRnwAP.js} +43 -43
  246. package/dist/playground/index.html +2 -2
  247. package/dist/types.d.ts +10 -1
  248. package/dist/types.d.ts.map +1 -1
  249. package/docs/README.md +4 -4
  250. package/docs/building-with-agents.md +4 -4
  251. package/docs/deployment.md +3 -4
  252. package/docs/guides/migrate.md +3 -3
  253. package/docs/quickstart.md +3 -3
  254. package/docs/reference/agent-config.md +26 -1
  255. package/docs/reference/cli.md +3 -3
  256. package/docs/reference/evals.md +13 -0
  257. package/docs/reference/http-api.md +4 -4
  258. package/docs/reference/project-layout.md +2 -3
  259. package/package.json +5 -4
  260. package/schemas/grokbot-answers.schema.json +343 -0
  261. package/skills/create-agent/SKILL.md +7 -5
  262. package/templates/agentic-owners/bot/lib/owners/handles.ts +1 -1
  263. package/templates/agentic-owners/bot/lib/owners/matching.ts +20 -9
  264. package/dist/docs/assets/chunks/@localSearchIndexroot.BZwvb2LN.js +0 -1
  265. package/dist/docs/assets/chunks/channel.D7DtboxW.js +0 -1
  266. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.irslOV8B.js +0 -1
  267. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.irslOV8B.js +0 -1
  268. package/dist/docs/assets/chunks/clone.DosLeDYL.js +0 -1
  269. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CAYMmzGj.js +0 -1
  270. package/dist/docs/assets/index.md.BIBHIQtU.js +0 -27
  271. package/dist/docs/assets/index.md.BIBHIQtU.lean.js +0 -1
  272. package/dist/internal/convert-automation/slug.d.ts.map +0 -1
  273. package/dist/playground/assets/index-BVYWBxLU.css +0 -1
  274. /package/dist/docs/assets/{building-with-agents.md.Bi9CQ-bR.lean.js → building-with-agents.md.FZXrY8Nk.lean.js} +0 -0
  275. /package/dist/docs/assets/{deployment.md.hKKN9I4c.lean.js → deployment.md.ajc3VM0m.lean.js} +0 -0
  276. /package/dist/docs/assets/{guides_migrate.md.sCAvvlC6.lean.js → guides_migrate.md.DZBL7dqT.lean.js} +0 -0
  277. /package/dist/docs/assets/{quickstart.md.CduLGBAB.lean.js → quickstart.md.D8JDfkKO.lean.js} +0 -0
  278. /package/dist/docs/assets/{reference_cli.md.BYNIHwbi.lean.js → reference_cli.md.Bt3sAfat.lean.js} +0 -0
  279. /package/dist/docs/assets/{reference_http-api.md.CrqhTv6S.lean.js → reference_http-api.md.Dji-DD_Z.lean.js} +0 -0
  280. /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. Directory: `[A-Za-z0-9][A-Za-z0-9_-]*`, not `v1`/`playground`/`docs` |
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-]*$/.test(login) ? `@${login}` : undefined;
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
- // Keep the fast prefix path for literal `dir/**` rules. A wildcard before
20
- // the terminal `/**` (for example `**/agent-serve/**`) must fall through to
21
- // minimatch; treating its wildcard text as a literal prefix never matches.
22
- if (normalizedPattern.endsWith("**") && !hasComplexGlob(normalizedPattern.replace(/\*+$/, ""))) {
23
- const rawPrefix = normalizedPattern.replace(/\*+$/, "");
24
- const prefix = rawPrefix.replace(/\\(.)/g, "$1").replace(/\/+$/, "");
25
- return normalizedPath === prefix || (prefix !== "" && normalizedPath.startsWith(`${prefix}/`));
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(normalizedPath, normalizedPattern, {
52
+ return minimatch(filepath, pattern, {
42
53
  dot: true,
43
- matchBase: !normalizedPattern.includes("/"),
54
+ matchBase: !pattern.includes("/"),
44
55
  nocase: false,
45
56
  });
46
57
  } catch {