@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,170 @@
1
+ /** Validation for export answers that land in names, URLs, and review text. */
2
+ import { isRecord } from "../is-record.js";
3
+ export const SLACK_BOT_NAME_MAX = 80;
4
+ /** Control, line-separator, and bidi-override characters. */
5
+ const UNPRINTABLE = /[\p{Cc}\u2028\u2029\u202A-\u202E\u2066-\u2069]/u;
6
+ const UNPRINTABLE_RUNS = new RegExp(`${UNPRINTABLE.source}+`, "gu");
7
+ /** Recipe text for a name or list item: one line, nothing unprintable. */
8
+ export function singleLine(text) {
9
+ return text.replace(UNPRINTABLE_RUNS, " ").replace(/\s+/g, " ").trim();
10
+ }
11
+ /** Recipe prose: line breaks and tabs kept, anything else unprintable dropped. */
12
+ export function plainText(text) {
13
+ return text
14
+ .replace(/\r\n?/g, "\n")
15
+ .replace(UNPRINTABLE_RUNS, (run) => run.replace(/[^\n\t]/g, ""));
16
+ }
17
+ /** Text as a markdown code span, so it reads as data; a backtick would end the span. */
18
+ export function code(text) {
19
+ return `\`${singleLine(text).replaceAll("`", "'")}\``;
20
+ }
21
+ /** Characters that read as g, r, o, or k but survive NFKD. Keys are uppercase where a case exists. */
22
+ const LOOKALIKES = {
23
+ "0": "o",
24
+ Ø: "o",
25
+ ɢ: "g",
26
+ Ɡ: "g",
27
+ ʀ: "r",
28
+ ᴏ: "o",
29
+ ᴑ: "o",
30
+ Ɵ: "o",
31
+ Ꝋ: "o",
32
+ ᴋ: "k",
33
+ ĸ: "k",
34
+ Օ: "o",
35
+ Ꮐ: "g",
36
+ Ꮢ: "r",
37
+ Ꮎ: "o",
38
+ Ꮶ: "k",
39
+ };
40
+ const LOOKALIKE_SCRIPTS = /[\p{Script=Cyrillic}\p{Script=Greek}\p{Script=Armenian}\p{Script=Cherokee}]/u;
41
+ function plain(value) {
42
+ return value.trim().normalize("NFKD").replace(/\p{M}/gu, "");
43
+ }
44
+ function fold(value) {
45
+ return [...plain(value)]
46
+ .map((char) => LOOKALIKES[char] ?? LOOKALIKES[char.toUpperCase()] ?? char)
47
+ .join("")
48
+ .toLowerCase();
49
+ }
50
+ /**
51
+ * A Slack bot name starts with the team prefix and never reads as "Grok",
52
+ * including through separators, accents, or look-alike letters.
53
+ */
54
+ export function slackBotNameError(name, teamPrefix) {
55
+ if ([...name.trim()].length > SLACK_BOT_NAME_MAX) {
56
+ return `must be at most ${SLACK_BOT_NAME_MAX} characters.`;
57
+ }
58
+ if (UNPRINTABLE.test(name)) {
59
+ return "must be one line of printable text.";
60
+ }
61
+ const folded = fold(name);
62
+ if (teamPrefix !== undefined && !folded.startsWith(fold(teamPrefix))) {
63
+ return `must start with the team prefix ${JSON.stringify(teamPrefix)}.`;
64
+ }
65
+ if (folded.replace(/[^\p{L}\p{N}]/gu, "").includes("grok")) {
66
+ return 'must not contain "Grok".';
67
+ }
68
+ const text = plain(name);
69
+ if (/\p{Script=Latin}/u.test(text) && LOOKALIKE_SCRIPTS.test(text)) {
70
+ return "must not mix Latin letters with look-alike letters from other scripts.";
71
+ }
72
+ return undefined;
73
+ }
74
+ /** The recipe name under the team prefix, or `Bot` when that name cannot pass. */
75
+ export function defaultSlackBotName(name, teamPrefix) {
76
+ const prefix = teamPrefix?.trim() ?? "";
77
+ const prefixed = (base) => {
78
+ const joined = prefix === "" || /[\s\-_:·|/]$/.test(prefix) ? `${prefix}${base}` : `${prefix} ${base}`;
79
+ return [...joined].slice(0, SLACK_BOT_NAME_MAX).join("").trim();
80
+ };
81
+ const candidate = prefixed(name.replace(/grok/gi, " ").replace(/\s+/g, " ").trim() || "Bot");
82
+ return slackBotNameError(candidate, teamPrefix) === undefined ? candidate : prefixed("Bot");
83
+ }
84
+ const CREDENTIAL_WORDS = new Set([
85
+ "key",
86
+ "apikey",
87
+ "token",
88
+ "accesstoken",
89
+ "secret",
90
+ "password",
91
+ "passwd",
92
+ "pat",
93
+ "sig",
94
+ "signature",
95
+ "credential",
96
+ "credentials",
97
+ "auth",
98
+ "authorization",
99
+ "jwt",
100
+ ]);
101
+ /** A parameter named for a credential, word by word (`x-api-key`, `accessToken`), or `code`. */
102
+ function credentialParam(name) {
103
+ const words = name
104
+ .replace(/([a-z0-9])([A-Z])/g, "$1 $2")
105
+ .toLowerCase()
106
+ .split(/[^a-z0-9]+/);
107
+ return name.toLowerCase() === "code" || words.some((word) => CREDENTIAL_WORDS.has(word));
108
+ }
109
+ /** Remote MCP URL: https, with credentials kept out of it. */
110
+ export function connectorUrlError(url) {
111
+ if (!URL.canParse(url)) {
112
+ return "must be an absolute URL.";
113
+ }
114
+ const parsed = new URL(url);
115
+ if (parsed.protocol !== "https:") {
116
+ return "must use https.";
117
+ }
118
+ if (parsed.username !== "" || parsed.password !== "") {
119
+ return "must not carry credentials; name a secret instead.";
120
+ }
121
+ const params = [
122
+ ...parsed.searchParams.keys(),
123
+ ...new URLSearchParams(parsed.hash.slice(1)).keys(),
124
+ ];
125
+ const leaked = params.find(credentialParam);
126
+ if (leaked !== undefined) {
127
+ return `must not carry credentials (parameter ${JSON.stringify(leaked)}); name a secret instead.`;
128
+ }
129
+ return undefined;
130
+ }
131
+ export function repoNameError(name) {
132
+ return /^[A-Za-z0-9._-]{1,100}$/.test(name) && name !== "." && name !== ".."
133
+ ? undefined
134
+ : "must be 1–100 letters, digits, '.', '_' or '-'.";
135
+ }
136
+ export function namespaceError(name) {
137
+ return /^[A-Za-z0-9][A-Za-z0-9._-]{0,99}$/.test(name)
138
+ ? undefined
139
+ : "must start with a letter or digit and use letters, digits, '.', '_' or '-'.";
140
+ }
141
+ /** Token shapes that must not reach a committed file. */
142
+ const SECRET_VALUE = new RegExp([
143
+ String.raw `\b(?:crsr_|xox[abeprs]-|xapp-|ghp_|gho_|ghu_|ghs_|github_pat_|glpat-|sk-(?:ant-|proj-)?|[sr]k_(?:live|test)_|lin_api_|ntn_|AIza)[A-Za-z0-9_-]{16,}`,
144
+ String.raw `\bxai-[A-Za-z0-9]{32,}`,
145
+ String.raw `\bgrok_[0-9A-Fa-f]{32}_[0-9A-Fa-f]{64}\b`,
146
+ String.raw `\bAKIA[0-9A-Z]{16}\b`,
147
+ String.raw `\beyJ[A-Za-z0-9_-]{10,}\.eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}`,
148
+ String.raw `hooks\.slack\.com/services/[A-Za-z0-9/]+`,
149
+ ].join("|"), "g");
150
+ export function redactSecretValues(text) {
151
+ let redacted = 0;
152
+ const next = text.replace(SECRET_VALUE, () => {
153
+ redacted++;
154
+ return "[redacted]";
155
+ });
156
+ return { text: next, redacted };
157
+ }
158
+ /** Every string in a JSON-shaped value, redacted. */
159
+ export function redactDeep(value) {
160
+ if (typeof value === "string") {
161
+ return redactSecretValues(value).text;
162
+ }
163
+ if (Array.isArray(value)) {
164
+ return value.map(redactDeep);
165
+ }
166
+ if (isRecord(value)) {
167
+ return Object.fromEntries(Object.entries(value).map(([key, nested]) => [key, redactDeep(nested)]));
168
+ }
169
+ return value;
170
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Pure Grok Bot → BDK project mapping. Takes the recipe's bot and resolved
3
+ * answers; returns the project files as an in-memory tree plus a preview a
4
+ * client renders before confirming. No I/O and no clock: `generatedAt`
5
+ * comes from the caller.
6
+ */
7
+ import { type ProjectRoot } from "../project-layout.js";
8
+ import type { Resolved } from "./answers.js";
9
+ import type { Bot } from "./bot.js";
10
+ export declare const EXPORT_RECORD_VERSION = 1;
11
+ export declare const PREVIEW_VERSION = 1;
12
+ export interface ConvertGrokbotInput {
13
+ bot: Bot;
14
+ resolved: Resolved;
15
+ /** ISO 8601 timestamp for the export record. */
16
+ generatedAt: string;
17
+ packageVersion: string;
18
+ /** Basename of the target directory; `bdk slack create` derives the env prefix from it. */
19
+ directoryName?: string;
20
+ projectRoot?: ProjectRoot;
21
+ }
22
+ export interface ConvertedFile {
23
+ path: string;
24
+ contents: string;
25
+ }
26
+ /** A recipe item, answer, or scaffold step: `skills/<slug>`, `routines/<slug>`, `profile`, ... */
27
+ export type Source = string;
28
+ export interface PreviewFillIn {
29
+ routine: string;
30
+ id: string;
31
+ label: string;
32
+ value?: string;
33
+ }
34
+ export interface GrokbotPreview extends Resolved {
35
+ version: number;
36
+ name: string;
37
+ files: Array<{
38
+ path: string;
39
+ from: Source[];
40
+ }>;
41
+ /** Recipe items the answers left out. */
42
+ excluded: Source[];
43
+ unmapped: Array<{
44
+ from: Source;
45
+ reason: string;
46
+ }>;
47
+ fillIns: PreviewFillIn[];
48
+ secrets: {
49
+ names: string[];
50
+ reauth: string[];
51
+ };
52
+ warnings: string[];
53
+ setupSteps: string[];
54
+ }
55
+ export interface GrokbotConversion {
56
+ files: ConvertedFile[];
57
+ preview: GrokbotPreview;
58
+ }
59
+ export declare function convertGrokbot(input: ConvertGrokbotInput): GrokbotConversion;
60
+ //# sourceMappingURL=convert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/internal/convert-grokbot/convert.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,OAAO,EAAuC,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,KAAK,EAEV,QAAQ,EAIT,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,GAAG,EAAoC,MAAM,UAAU,CAAC;AAmBtE,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,QAAQ,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,kGAAkG;AAClG,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC/C,yCAAyC;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;CACzB;AAeD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,CAqG5E"}