@cursor/bdk 0.2.2 → 0.2.4

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 (697) hide show
  1. package/AGENTS.md +1 -1
  2. package/dist/bin/agent-serve.js +32 -8
  3. package/dist/channels/github/auth.d.ts.map +1 -1
  4. package/dist/channels/github/auth.js +36 -5
  5. package/dist/channels/slack/attachments.d.ts +2 -1
  6. package/dist/channels/slack/attachments.d.ts.map +1 -1
  7. package/dist/channels/slack/attachments.js +19 -9
  8. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  9. package/dist/channels/slack/dispatch.js +26 -24
  10. package/dist/channels/slack/thread-context.d.ts +21 -11
  11. package/dist/channels/slack/thread-context.d.ts.map +1 -1
  12. package/dist/channels/slack/thread-context.js +75 -27
  13. package/dist/connections.d.ts +1 -1
  14. package/dist/connections.js +1 -1
  15. package/dist/docs/404.html +2 -2
  16. package/dist/docs/assets/{app.DtYVVVyK.js → app.4kQ8Db_q.js} +4 -4
  17. package/dist/docs/assets/chunks/@localSearchIndexroot.CvuAJ0My.js +1 -0
  18. package/dist/docs/assets/chunks/{VPLocalSearchBox.D47xT7J4.js → VPLocalSearchBox.DY1RwB8Q.js} +1 -1
  19. package/dist/docs/assets/chunks/{arc.CDJ6xzxR.js → arc.CxE_fSPK.js} +1 -1
  20. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.l1Xnjd3N.js → architectureDiagram-Q4EWVU46.CPX426ui.js} +1 -1
  21. package/dist/docs/assets/chunks/{baseUniq.x-finShZ.js → baseUniq.CB52JrKG.js} +1 -1
  22. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.COC3qynH.js → blockDiagram-DXYQGD6D.J0cNaQCL.js} +1 -1
  23. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.DdQO850E.js → c4Diagram-AHTNJAMY.DJn3vEGT.js} +1 -1
  24. package/dist/docs/assets/chunks/channel.BoNycAoN.js +1 -0
  25. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.Dpn8omLk.js → chunk-4BX2VUAB.Dao618F6.js} +1 -1
  26. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.C0XWStUN.js → chunk-4TB4RGXK.QW8Rhjai.js} +1 -1
  27. package/dist/docs/assets/chunks/{chunk-55IACEB6.DsKSZfIM.js → chunk-55IACEB6.DfRLLKF_.js} +1 -1
  28. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.dNU6JDu6.js → chunk-EDXVE4YY.CIV2ApKQ.js} +1 -1
  29. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.DN41fxKE.js → chunk-FMBD7UC4.BEheSuxp.js} +1 -1
  30. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.COpKCZus.js → chunk-OYMX7WX6.CUN88ENB.js} +1 -1
  31. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.HDB-azx2.js → chunk-QZHKN3VN.CgqCs8b_.js} +1 -1
  32. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DEeX_a2j.js → chunk-YZCP3GAM.iCH0nnTJ.js} +1 -1
  33. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C4x07Gkj.js +1 -0
  34. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C4x07Gkj.js +1 -0
  35. package/dist/docs/assets/chunks/clone.Db22cH_-.js +1 -0
  36. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.C3yGL2A8.js → cose-bilkent-S5V4N54A.BLcUxhWE.js} +1 -1
  37. package/dist/docs/assets/chunks/{dagre-KV5264BT.Bpl24en4.js → dagre-KV5264BT.Ep7LofOm.js} +1 -1
  38. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.nFco6seU.js → diagram-5BDNPKRD.Bzf4GSQ4.js} +1 -1
  39. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.DXhA6DWR.js → diagram-G4DWMVQ6.DD6Jh-eM.js} +1 -1
  40. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.8GoOYcwk.js → diagram-MMDJMWI5.oOIl8bWd.js} +1 -1
  41. package/dist/docs/assets/chunks/{diagram-TYMM5635.DDBlqvlJ.js → diagram-TYMM5635.DHs85Ade.js} +1 -1
  42. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.vl_N81P4.js → erDiagram-SMLLAGMA.BIb5ghCk.js} +1 -1
  43. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.Cteg8g7I.js → flowDiagram-DWJPFMVM.DV4paY9k.js} +1 -1
  44. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.D4aMhlMM.js → ganttDiagram-T4ZO3ILL.AyEKA6_v.js} +1 -1
  45. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DF_J0D4q.js → gitGraphDiagram-UUTBAWPF.BltiCDFo.js} +1 -1
  46. package/dist/docs/assets/chunks/{graph.DJs0LDCf.js → graph.DzuEYGdC.js} +1 -1
  47. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.Bb-4RQwg.js → infoDiagram-42DDH7IO.BV2l981J.js} +1 -1
  48. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DEtQRSbc.js → ishikawaDiagram-UXIWVN3A.BA4Izf-m.js} +1 -1
  49. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.DhQQ75FA.js → journeyDiagram-VCZTEJTY.DjaFbFS3.js} +1 -1
  50. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.C4gEw3Rk.js → kanban-definition-6JOO6SKY.CfTFieDs.js} +1 -1
  51. package/dist/docs/assets/chunks/{layout.DT-PGlXa.js → layout.DzfWqTBV.js} +1 -1
  52. package/dist/docs/assets/chunks/{linear.BMMe__JW.js → linear.BO6mpulV.js} +1 -1
  53. package/dist/docs/assets/chunks/{min.XyaU9K9Q.js → min.BGgTadgT.js} +1 -1
  54. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.CbBM6xZ-.js → mindmap-definition-QFDTVHPH.DPuIXVWY.js} +1 -1
  55. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.DFJoIVou.js → pieDiagram-DEJITSTG.BOnl3bBg.js} +1 -1
  56. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CQjkDYqb.js → quadrantDiagram-34T5L4WZ.DNB6Ckdc.js} +1 -1
  57. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.D-mK-JQu.js → requirementDiagram-MS252O5E.D5-Qo7vb.js} +1 -1
  58. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.BStQInpd.js → sankeyDiagram-XADWPNL6.8t65cesf.js} +1 -1
  59. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.CA_eooPJ.js → sequenceDiagram-FGHM5R23.CaG07BdS.js} +1 -1
  60. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.BXl-b7ad.js → stateDiagram-FHFEXIEX.TKOweTB6.js} +1 -1
  61. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CuqmyQc4.js +1 -0
  62. package/dist/docs/assets/chunks/{theme.q37tOs4x.js → theme.Dx-JhpTB.js} +2 -2
  63. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.vjuaGOSe.js → timeline-definition-GMOUNBTQ.fE53zQ2s.js} +1 -1
  64. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BxduJl-F.js → vennDiagram-DHZGUBPP.DJsZZaJg.js} +1 -1
  65. package/dist/docs/assets/chunks/wardley-RL74JXVD.844kyrjl.js +162 -0
  66. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.D1z3ds0D.js → wardleyDiagram-NUSXRM2D.CMZ-Ru_t.js} +1 -1
  67. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CRU5Ti9b.js → xychartDiagram-5P7HB3ND.XXrhBc7a.js} +1 -1
  68. package/dist/docs/assets/{deployment.md.nGo1yIsa.js → deployment.md.UhnJIMr-.js} +6 -9
  69. package/dist/docs/assets/{deployment.md.nGo1yIsa.lean.js → deployment.md.UhnJIMr-.lean.js} +1 -1
  70. package/dist/docs/assets/{guides_github.md.C2_DSWlE.js → guides_github.md.Bq9kQU9B.js} +9 -3
  71. package/dist/docs/assets/{guides_github.md.C2_DSWlE.lean.js → guides_github.md.Bq9kQU9B.lean.js} +1 -1
  72. package/dist/docs/assets/{guides_jev.md.BNDm14Gy.js → guides_jev.md.CRcgmjDb.js} +2 -2
  73. package/dist/docs/assets/{guides_jev.md.BNDm14Gy.lean.js → guides_jev.md.CRcgmjDb.lean.js} +1 -1
  74. package/dist/docs/assets/{guides_slack.md.ZbHQETOT.js → guides_slack.md.diqqXTTm.js} +2 -2
  75. package/dist/docs/assets/{guides_slack.md.ZbHQETOT.lean.js → guides_slack.md.diqqXTTm.lean.js} +1 -1
  76. package/dist/docs/assets/{quickstart.md.wG4shE1f.js → quickstart.md.CHpHPBUN.js} +5 -3
  77. package/dist/docs/assets/{quickstart.md.wG4shE1f.lean.js → quickstart.md.CHpHPBUN.lean.js} +1 -1
  78. package/dist/docs/assets/{reference_agent-config.md.DzGI777n.js → reference_agent-config.md.Cj5uBKp4.js} +1 -1
  79. package/dist/docs/assets/{reference_artifacts.md.CFMNPreZ.js → reference_artifacts.md.CQfKq8F2.js} +1 -1
  80. package/dist/docs/assets/reference_cli.md.DgeLTO18.js +91 -0
  81. package/dist/docs/assets/reference_cli.md.DgeLTO18.lean.js +1 -0
  82. package/dist/docs/assets/{reference_connections.md._XpKiOaF.js → reference_connections.md.COq--gAm.js} +7 -3
  83. package/dist/docs/assets/{reference_connections.md._XpKiOaF.lean.js → reference_connections.md.COq--gAm.lean.js} +1 -1
  84. package/dist/docs/assets/{reference_evals.md.DqNyHMA6.js → reference_evals.md.CJm3uCUm.js} +4 -4
  85. package/dist/docs/assets/{reference_evals.md.DqNyHMA6.lean.js → reference_evals.md.CJm3uCUm.lean.js} +1 -1
  86. package/dist/docs/assets/{reference_extensions.md.CPPrkWlJ.js → reference_extensions.md.pa2tN-e4.js} +4 -3
  87. package/dist/docs/assets/{reference_extensions.md.CPPrkWlJ.lean.js → reference_extensions.md.pa2tN-e4.lean.js} +1 -1
  88. package/dist/docs/assets/{reference_skills.md.CRFTxt9M.js → reference_skills.md.Cy00QMKS.js} +3 -3
  89. package/dist/docs/assets/{reference_skills.md.CRFTxt9M.lean.js → reference_skills.md.Cy00QMKS.lean.js} +1 -1
  90. package/dist/docs/assets/troubleshooting.md.Cw5PKa3t.js +1 -0
  91. package/dist/docs/assets/{troubleshooting.md.BzZSu1Gz.lean.js → troubleshooting.md.Cw5PKa3t.lean.js} +1 -1
  92. package/dist/docs/building-with-agents.html +35 -35
  93. package/dist/docs/deployment.html +41 -44
  94. package/dist/docs/deployment.md +49 -16
  95. package/dist/docs/evals.html +35 -35
  96. package/dist/docs/guides/agent-to-agent.html +35 -35
  97. package/dist/docs/guides/bitbucket.html +35 -35
  98. package/dist/docs/guides/cloud-agents.html +35 -35
  99. package/dist/docs/guides/convert-automation.html +35 -35
  100. package/dist/docs/guides/github.html +43 -37
  101. package/dist/docs/guides/github.md +34 -0
  102. package/dist/docs/guides/gitlab.html +35 -35
  103. package/dist/docs/guides/grokbot-agents.html +35 -35
  104. package/dist/docs/guides/hooks.html +35 -35
  105. package/dist/docs/guides/improve.html +35 -35
  106. package/dist/docs/guides/jev.html +37 -37
  107. package/dist/docs/guides/jev.md +7 -0
  108. package/dist/docs/guides/mcp-oauth.html +35 -35
  109. package/dist/docs/guides/opentelemetry.html +35 -35
  110. package/dist/docs/guides/slack.html +37 -37
  111. package/dist/docs/guides/slack.md +5 -0
  112. package/dist/docs/guides/webhooks.html +35 -35
  113. package/dist/docs/hashmap.json +1 -1
  114. package/dist/docs/hillclimbing.html +35 -35
  115. package/dist/docs/index.html +35 -35
  116. package/dist/docs/llms-full.txt +223 -94
  117. package/dist/docs/quickstart.html +40 -38
  118. package/dist/docs/quickstart.md +7 -1
  119. package/dist/docs/reference/agent-config.html +37 -37
  120. package/dist/docs/reference/agent-config.md +1 -1
  121. package/dist/docs/reference/artifacts.html +37 -37
  122. package/dist/docs/reference/artifacts.md +1 -1
  123. package/dist/docs/reference/channels.html +35 -35
  124. package/dist/docs/reference/cli.html +55 -61
  125. package/dist/docs/reference/cli.md +65 -63
  126. package/dist/docs/reference/connections.html +42 -38
  127. package/dist/docs/reference/connections.md +28 -2
  128. package/dist/docs/reference/evals.html +39 -39
  129. package/dist/docs/reference/evals.md +6 -7
  130. package/dist/docs/reference/extensions.html +39 -38
  131. package/dist/docs/reference/extensions.md +13 -0
  132. package/dist/docs/reference/hooks.html +35 -35
  133. package/dist/docs/reference/http-api.html +35 -35
  134. package/dist/docs/reference/instructions.html +35 -35
  135. package/dist/docs/reference/playground.html +35 -35
  136. package/dist/docs/reference/project-layout.html +35 -35
  137. package/dist/docs/reference/prompt.html +35 -35
  138. package/dist/docs/reference/schedules.html +35 -35
  139. package/dist/docs/reference/sessions.html +35 -35
  140. package/dist/docs/reference/skills.html +38 -38
  141. package/dist/docs/reference/subagents.html +35 -35
  142. package/dist/docs/reference/tools.html +35 -35
  143. package/dist/docs/templates/agentic-owners.html +35 -35
  144. package/dist/docs/templates/security-reviewer.html +35 -35
  145. package/dist/docs/templates/thermo-quality-review.html +35 -35
  146. package/dist/docs/templates/thermo-review.html +35 -35
  147. package/dist/docs/templates/triage.html +35 -35
  148. package/dist/docs/troubleshooting.html +36 -36
  149. package/dist/docs/troubleshooting.md +7 -3
  150. package/dist/extensions/cursor-grokbot-agents/extension.d.ts +77 -0
  151. package/dist/extensions/cursor-grokbot-agents/extension.d.ts.map +1 -0
  152. package/dist/extensions/cursor-grokbot-agents/extension.js +63 -0
  153. package/dist/extensions/cursor-grokbot-agents/lib/agents.d.ts +11 -0
  154. package/dist/extensions/cursor-grokbot-agents/lib/agents.d.ts.map +1 -0
  155. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +31 -0
  156. package/dist/extensions/cursor-grokbot-agents/lib/backend.d.ts +56 -0
  157. package/dist/extensions/cursor-grokbot-agents/lib/backend.d.ts.map +1 -0
  158. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +158 -0
  159. package/dist/extensions/cursor-grokbot-agents/lib/contacts.d.ts +28 -0
  160. package/dist/extensions/cursor-grokbot-agents/lib/contacts.d.ts.map +1 -0
  161. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +59 -0
  162. package/dist/extensions/cursor-grokbot-agents/lib/conversation.d.ts +53 -0
  163. package/dist/extensions/cursor-grokbot-agents/lib/conversation.d.ts.map +1 -0
  164. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +206 -0
  165. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +4 -0
  166. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -0
  167. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +15 -0
  168. package/dist/extensions/cursor-grokbot-agents/lib/lock.d.ts +12 -0
  169. package/dist/extensions/cursor-grokbot-agents/lib/lock.d.ts.map +1 -0
  170. package/dist/extensions/cursor-grokbot-agents/lib/lock.js +25 -0
  171. package/dist/extensions/cursor-grokbot-agents/skills/consult.md +40 -0
  172. package/dist/extensions/cursor-grokbot-agents/tools/ask.d.ts +4 -0
  173. package/dist/extensions/cursor-grokbot-agents/tools/ask.d.ts.map +1 -0
  174. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +37 -0
  175. package/dist/extensions/cursor-grokbot-agents/tools/check.d.ts +4 -0
  176. package/dist/extensions/cursor-grokbot-agents/tools/check.d.ts.map +1 -0
  177. package/dist/extensions/cursor-grokbot-agents/tools/check.js +32 -0
  178. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.d.ts +4 -0
  179. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.d.ts.map +1 -0
  180. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +24 -0
  181. package/dist/extensions/cursor-grokbot-agents/tools/list.d.ts +4 -0
  182. package/dist/extensions/cursor-grokbot-agents/tools/list.d.ts.map +1 -0
  183. package/dist/extensions/cursor-grokbot-agents/tools/list.js +34 -0
  184. package/dist/extensions/jev/extension.d.ts +3 -0
  185. package/dist/extensions/jev/extension.d.ts.map +1 -1
  186. package/dist/extensions/jev/extension.js +10 -1
  187. package/dist/extensions/jev/lib/evaluate.d.ts +4 -0
  188. package/dist/extensions/jev/lib/evaluate.d.ts.map +1 -1
  189. package/dist/extensions/jev/lib/evaluate.js +6 -2
  190. package/dist/extensions.d.ts +4 -2
  191. package/dist/extensions.d.ts.map +1 -1
  192. package/dist/extensions.js +5 -2
  193. package/dist/internal/cli-ax.d.ts +1 -0
  194. package/dist/internal/cli-ax.d.ts.map +1 -1
  195. package/dist/internal/cli-ax.js +43 -10
  196. package/dist/internal/cli-deploy.d.ts +5 -1
  197. package/dist/internal/cli-deploy.d.ts.map +1 -1
  198. package/dist/internal/cli-deploy.js +41 -9
  199. package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
  200. package/dist/internal/cli-mcp-oauth.js +2 -1
  201. package/dist/internal/cli-skills.d.ts +1 -1
  202. package/dist/internal/cli-skills.d.ts.map +1 -1
  203. package/dist/internal/cli-skills.js +5 -5
  204. package/dist/internal/connection-env.d.ts +31 -0
  205. package/dist/internal/connection-env.d.ts.map +1 -0
  206. package/dist/internal/connection-env.js +84 -0
  207. package/dist/internal/cursor/backend-client.js +5 -0
  208. package/dist/internal/deploy-client.d.ts +30 -6
  209. package/dist/internal/deploy-client.d.ts.map +1 -1
  210. package/dist/internal/deploy-client.js +45 -9
  211. package/dist/internal/discovery/agent-config.d.ts +6 -5
  212. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  213. package/dist/internal/discovery/agent-config.js +29 -28
  214. package/dist/internal/discovery/agent.js +1 -1
  215. package/dist/internal/discovery/connections.d.ts.map +1 -1
  216. package/dist/internal/discovery/connections.js +11 -0
  217. package/dist/internal/discovery/extensions.d.ts.map +1 -1
  218. package/dist/internal/discovery/extensions.js +12 -0
  219. package/dist/internal/hosted-delivery-protocol.d.ts +36 -11
  220. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  221. package/dist/internal/hosted-delivery-protocol.js +31 -8
  222. package/dist/internal/hosted-delivery.d.ts +2 -2
  223. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  224. package/dist/internal/hosted-delivery.js +228 -48
  225. package/dist/internal/hosting.d.ts +10 -2
  226. package/dist/internal/hosting.d.ts.map +1 -1
  227. package/dist/internal/hosting.js +33 -3
  228. package/dist/internal/install-cursor-skills.d.ts +20 -24
  229. package/dist/internal/install-cursor-skills.d.ts.map +1 -1
  230. package/dist/internal/install-cursor-skills.js +50 -48
  231. package/dist/internal/legacy-command-guard.d.ts +2 -0
  232. package/dist/internal/legacy-command-guard.d.ts.map +1 -1
  233. package/dist/internal/legacy-command-guard.js +10 -1
  234. package/dist/internal/mcp-host.d.ts +6 -0
  235. package/dist/internal/mcp-host.d.ts.map +1 -1
  236. package/dist/internal/mcp-host.js +35 -16
  237. package/dist/internal/sdk-runner.d.ts +2 -0
  238. package/dist/internal/sdk-runner.d.ts.map +1 -1
  239. package/dist/internal/sdk-runner.js +10 -0
  240. package/dist/internal/server.d.ts.map +1 -1
  241. package/dist/internal/server.js +11 -1
  242. package/dist/internal/session-engine.d.ts.map +1 -1
  243. package/dist/internal/session-engine.js +9 -5
  244. package/dist/types.d.ts +29 -3
  245. package/dist/types.d.ts.map +1 -1
  246. package/docs/deployment.md +49 -16
  247. package/docs/guides/github.md +34 -0
  248. package/docs/guides/jev.md +7 -0
  249. package/docs/guides/slack.md +5 -0
  250. package/docs/quickstart.md +7 -1
  251. package/docs/reference/agent-config.md +1 -1
  252. package/docs/reference/artifacts.md +1 -1
  253. package/docs/reference/cli.md +65 -63
  254. package/docs/reference/connections.md +28 -2
  255. package/docs/reference/evals.md +6 -7
  256. package/docs/reference/extensions.md +13 -0
  257. package/docs/troubleshooting.md +7 -3
  258. package/package.json +1 -11
  259. package/scripts/install-cursor-skills.mjs +1 -1
  260. package/skills/create-agent/SKILL.md +1 -1
  261. package/skills/debug/SKILL.md +1 -1
  262. package/skills/deploy/SKILL.md +1 -1
  263. package/skills/evals/SKILL.md +1 -1
  264. package/skills/framework-map/SKILL.md +1 -1
  265. package/skills/github/SKILL.md +1 -1
  266. package/skills/hillclimb/SKILL.md +1 -1
  267. package/skills/mcp-auth/SKILL.md +1 -1
  268. package/skills/otel/SKILL.md +1 -1
  269. package/skills/setup-slack/SKILL.md +1 -1
  270. package/templates/agents-md/bot/lib/collect.ts +1 -4
  271. package/templates/code-wiki/bot/channels/github.ts +2 -2
  272. package/templates/demo/bot/channels/github.ts +5 -1
  273. package/templates/pr-autofixer/bot/lib/start-drive.ts +4 -4
  274. package/templates/triage/bot/lib/types.ts +6 -6
  275. package/dist/docs/assets/chunks/@localSearchIndexroot.BgTA2tV1.js +0 -1
  276. package/dist/docs/assets/chunks/channel.B2nMEx82.js +0 -1
  277. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.D8iCH2ve.js +0 -1
  278. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.D8iCH2ve.js +0 -1
  279. package/dist/docs/assets/chunks/clone.5XNLjby0.js +0 -1
  280. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.yGM2uLZQ.js +0 -1
  281. package/dist/docs/assets/chunks/wardley-RL74JXVD.DKfyIejL.js +0 -162
  282. package/dist/docs/assets/reference_cli.md.BK2QUH67.js +0 -97
  283. package/dist/docs/assets/reference_cli.md.BK2QUH67.lean.js +0 -1
  284. package/dist/docs/assets/troubleshooting.md.BzZSu1Gz.js +0 -1
  285. package/src/artifacts.ts +0 -68
  286. package/src/bin/agent-serve.ts +0 -1833
  287. package/src/channels/bitbucket/api.ts +0 -891
  288. package/src/channels/bitbucket/binding.ts +0 -417
  289. package/src/channels/bitbucket/bitbucket-channel.ts +0 -162
  290. package/src/channels/bitbucket/bitbucket-webhook.ts +0 -519
  291. package/src/channels/bitbucket/checks.ts +0 -146
  292. package/src/channels/bitbucket/cursor-account.ts +0 -106
  293. package/src/channels/bitbucket/defaults.ts +0 -100
  294. package/src/channels/bitbucket/events.ts +0 -74
  295. package/src/channels/bitbucket/index.ts +0 -51
  296. package/src/channels/bitbucket/replay.ts +0 -421
  297. package/src/channels/bitbucket/state.ts +0 -59
  298. package/src/channels/bitbucket/types.ts +0 -261
  299. package/src/channels/change-monitors/change-monitors-channel.ts +0 -63
  300. package/src/channels/change-monitors/index.ts +0 -8
  301. package/src/channels/change-monitors/types.ts +0 -42
  302. package/src/channels/checks.ts +0 -185
  303. package/src/channels/deployments/deployments-channel.ts +0 -224
  304. package/src/channels/deployments/index.ts +0 -25
  305. package/src/channels/deployments/types.ts +0 -92
  306. package/src/channels/github/api.ts +0 -526
  307. package/src/channels/github/auth.ts +0 -254
  308. package/src/channels/github/binding.ts +0 -233
  309. package/src/channels/github/checks.ts +0 -145
  310. package/src/channels/github/cursor-account.ts +0 -303
  311. package/src/channels/github/defaults.ts +0 -168
  312. package/src/channels/github/events.ts +0 -67
  313. package/src/channels/github/forward.ts +0 -359
  314. package/src/channels/github/github-channel.ts +0 -2334
  315. package/src/channels/github/index.ts +0 -54
  316. package/src/channels/github/progress.ts +0 -365
  317. package/src/channels/github/replay.ts +0 -372
  318. package/src/channels/github/state.ts +0 -124
  319. package/src/channels/github/types.ts +0 -590
  320. package/src/channels/gitlab/api.ts +0 -329
  321. package/src/channels/gitlab/binding.ts +0 -231
  322. package/src/channels/gitlab/checks.ts +0 -228
  323. package/src/channels/gitlab/cursor-account.ts +0 -105
  324. package/src/channels/gitlab/defaults.ts +0 -80
  325. package/src/channels/gitlab/events.ts +0 -37
  326. package/src/channels/gitlab/gitlab-channel.ts +0 -160
  327. package/src/channels/gitlab/gitlab-webhook.ts +0 -509
  328. package/src/channels/gitlab/index.ts +0 -44
  329. package/src/channels/gitlab/replay.ts +0 -328
  330. package/src/channels/gitlab/state.ts +0 -55
  331. package/src/channels/gitlab/types.ts +0 -247
  332. package/src/channels/issues/index.ts +0 -9
  333. package/src/channels/issues/issues-channel.ts +0 -45
  334. package/src/channels/issues/types.ts +0 -38
  335. package/src/channels/origin/api.ts +0 -507
  336. package/src/channels/origin/binding.ts +0 -114
  337. package/src/channels/origin/checks.ts +0 -250
  338. package/src/channels/origin/cursor-account.ts +0 -58
  339. package/src/channels/origin/defaults.ts +0 -140
  340. package/src/channels/origin/events.ts +0 -35
  341. package/src/channels/origin/index.ts +0 -35
  342. package/src/channels/origin/origin-channel.ts +0 -815
  343. package/src/channels/origin/origin-webhook.ts +0 -296
  344. package/src/channels/origin/reactions.ts +0 -72
  345. package/src/channels/origin/state.ts +0 -54
  346. package/src/channels/origin/types.ts +0 -295
  347. package/src/channels/slack/agentic-delivery.ts +0 -634
  348. package/src/channels/slack/agentic-posted.ts +0 -135
  349. package/src/channels/slack/agentic-signals.ts +0 -231
  350. package/src/channels/slack/api.ts +0 -761
  351. package/src/channels/slack/approvals.ts +0 -279
  352. package/src/channels/slack/assistant.ts +0 -76
  353. package/src/channels/slack/attachments.ts +0 -596
  354. package/src/channels/slack/auth.ts +0 -127
  355. package/src/channels/slack/blocks.ts +0 -131
  356. package/src/channels/slack/bot-mentions.ts +0 -318
  357. package/src/channels/slack/channel-watch.ts +0 -314
  358. package/src/channels/slack/cli-project.ts +0 -249
  359. package/src/channels/slack/code-fences.ts +0 -171
  360. package/src/channels/slack/constants.ts +0 -38
  361. package/src/channels/slack/credentials.ts +0 -88
  362. package/src/channels/slack/defaults.ts +0 -714
  363. package/src/channels/slack/dispatch.ts +0 -1060
  364. package/src/channels/slack/doctor.ts +0 -338
  365. package/src/channels/slack/eval-directive.ts +0 -306
  366. package/src/channels/slack/event-id-dedupe.ts +0 -30
  367. package/src/channels/slack/external-policy.ts +0 -75
  368. package/src/channels/slack/footer.ts +0 -106
  369. package/src/channels/slack/inbound.ts +0 -416
  370. package/src/channels/slack/index.ts +0 -53
  371. package/src/channels/slack/init.ts +0 -169
  372. package/src/channels/slack/interactive.ts +0 -406
  373. package/src/channels/slack/links.ts +0 -23
  374. package/src/channels/slack/live-delivery.ts +0 -489
  375. package/src/channels/slack/log.ts +0 -70
  376. package/src/channels/slack/manifest.ts +0 -240
  377. package/src/channels/slack/message-body.ts +0 -82
  378. package/src/channels/slack/nudge-carrier.ts +0 -224
  379. package/src/channels/slack/nudge-store.ts +0 -334
  380. package/src/channels/slack/paint-start.ts +0 -93
  381. package/src/channels/slack/placeholder.ts +0 -358
  382. package/src/channels/slack/pr-ref.ts +0 -74
  383. package/src/channels/slack/progress-delivery.ts +0 -138
  384. package/src/channels/slack/reasoning-card.ts +0 -125
  385. package/src/channels/slack/reasoning-chip.ts +0 -41
  386. package/src/channels/slack/recording-sink.ts +0 -167
  387. package/src/channels/slack/redact.ts +0 -6
  388. package/src/channels/slack/reply-options.ts +0 -279
  389. package/src/channels/slack/setup.ts +0 -125
  390. package/src/channels/slack/slack-channel.ts +0 -744
  391. package/src/channels/slack/socket-mode.ts +0 -140
  392. package/src/channels/slack/stop.ts +0 -25
  393. package/src/channels/slack/stream.ts +0 -66
  394. package/src/channels/slack/thread-context.ts +0 -485
  395. package/src/channels/slack/tool-approval-events.ts +0 -233
  396. package/src/channels/slack/tool-cards.ts +0 -198
  397. package/src/channels/slack/tool-chip.ts +0 -34
  398. package/src/channels/slack/types.ts +0 -787
  399. package/src/channels/slack/upload.ts +0 -137
  400. package/src/channels.ts +0 -543
  401. package/src/connections.ts +0 -153
  402. package/src/dashboard-session-url.ts +0 -30
  403. package/src/evals/assertions.ts +0 -688
  404. package/src/evals/expect.ts +0 -250
  405. package/src/evals/judge.ts +0 -329
  406. package/src/evals/loaders.ts +0 -111
  407. package/src/evals/matchers.ts +0 -223
  408. package/src/evals/reporters.ts +0 -257
  409. package/src/evals/results.ts +0 -130
  410. package/src/evals/run-facts.ts +0 -306
  411. package/src/evals.ts +0 -709
  412. package/src/extensions/cursor-cloud-agents/extension.ts +0 -131
  413. package/src/extensions/cursor-cloud-agents/lib/backend.ts +0 -386
  414. package/src/extensions/cursor-cloud-agents/lib/channels.ts +0 -11
  415. package/src/extensions/cursor-cloud-agents/lib/fleet.ts +0 -98
  416. package/src/extensions/cursor-cloud-agents/lib/inputs.ts +0 -5
  417. package/src/extensions/cursor-cloud-agents/lib/repos.ts +0 -80
  418. package/src/extensions/cursor-cloud-agents/lib/transcript.ts +0 -19
  419. package/src/extensions/cursor-cloud-agents/skills/handoff.md +0 -37
  420. package/src/extensions/cursor-cloud-agents/tools/cancel.ts +0 -21
  421. package/src/extensions/cursor-cloud-agents/tools/dump.ts +0 -47
  422. package/src/extensions/cursor-cloud-agents/tools/get.ts +0 -18
  423. package/src/extensions/cursor-cloud-agents/tools/launch.ts +0 -62
  424. package/src/extensions/cursor-cloud-agents/tools/list.ts +0 -31
  425. package/src/extensions/cursor-cloud-agents/tools/reply.ts +0 -36
  426. package/src/extensions/improve/extension.ts +0 -69
  427. package/src/extensions/improve/skills/yourself.ts +0 -50
  428. package/src/extensions/jev/extension.ts +0 -95
  429. package/src/extensions/jev/lib/evaluate.ts +0 -266
  430. package/src/extensions/jev/skills/gated-write.md +0 -25
  431. package/src/extensions/jev/skills/questions.md +0 -33
  432. package/src/extensions/jev/tools/evaluate.ts +0 -82
  433. package/src/extensions/slack-communication/evals/harness.ts +0 -705
  434. package/src/extensions/slack-communication/evals/slack-communication.eval.ts +0 -830
  435. package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +0 -172
  436. package/src/extensions/slack-communication/extension.ts +0 -44
  437. package/src/extensions/slack-communication/skills/slack-voice.ts +0 -56
  438. package/src/extensions/slack-communication/tools/delete-message.ts +0 -33
  439. package/src/extensions/slack-communication/tools/edit-message.ts +0 -42
  440. package/src/extensions/slack-communication/tools/post-card.ts +0 -28
  441. package/src/extensions/slack-communication/tools/post-file.ts +0 -82
  442. package/src/extensions/slack-communication/tools/post-update.ts +0 -40
  443. package/src/extensions/slack-communication/tools/react.ts +0 -30
  444. package/src/extensions/slack-communication/tools/set-status.ts +0 -21
  445. package/src/extensions.ts +0 -179
  446. package/src/files-backends/agent-store-presigned-url.ts +0 -11
  447. package/src/files-backends/cursor-hosted.ts +0 -1212
  448. package/src/files-backends/local-fs.ts +0 -163
  449. package/src/files.ts +0 -293
  450. package/src/filesystem.ts +0 -2005
  451. package/src/hooks.ts +0 -30
  452. package/src/index.ts +0 -259
  453. package/src/internal/advertise-tools.ts +0 -370
  454. package/src/internal/approval-gate.ts +0 -103
  455. package/src/internal/artifacts-store.ts +0 -836
  456. package/src/internal/as-of.ts +0 -257
  457. package/src/internal/auth.ts +0 -46
  458. package/src/internal/authored-alias-hooks.ts +0 -138
  459. package/src/internal/authored-loaders.ts +0 -188
  460. package/src/internal/bounded-int.ts +0 -24
  461. package/src/internal/bounded.ts +0 -25
  462. package/src/internal/brand.ts +0 -28
  463. package/src/internal/browser-origin-guard.ts +0 -67
  464. package/src/internal/builtin-tools/artifacts.ts +0 -62
  465. package/src/internal/builtin-tools/index.ts +0 -53
  466. package/src/internal/builtin-tools/reminders.ts +0 -145
  467. package/src/internal/channel-dispatch.ts +0 -129
  468. package/src/internal/channel-route-dispatch.ts +0 -58
  469. package/src/internal/channel-state.ts +0 -83
  470. package/src/internal/chat-client.ts +0 -594
  471. package/src/internal/cli-ax.ts +0 -2273
  472. package/src/internal/cli-bitbucket.ts +0 -438
  473. package/src/internal/cli-convert-automation.ts +0 -335
  474. package/src/internal/cli-cursor.ts +0 -282
  475. package/src/internal/cli-deploy.ts +0 -2486
  476. package/src/internal/cli-docs.ts +0 -192
  477. package/src/internal/cli-github.ts +0 -806
  478. package/src/internal/cli-gitlab.ts +0 -452
  479. package/src/internal/cli-images.ts +0 -672
  480. package/src/internal/cli-manifest.ts +0 -56
  481. package/src/internal/cli-mcp-oauth.ts +0 -395
  482. package/src/internal/cli-mcp.ts +0 -808
  483. package/src/internal/cli-skills.ts +0 -99
  484. package/src/internal/cli-slack-manual.ts +0 -418
  485. package/src/internal/cli-slack.ts +0 -874
  486. package/src/internal/cloud-merge.ts +0 -51
  487. package/src/internal/cloud-turn-cost.ts +0 -159
  488. package/src/internal/continuation-channel.ts +0 -233
  489. package/src/internal/continuation-identity.ts +0 -935
  490. package/src/internal/conversation-mirror.ts +0 -423
  491. package/src/internal/convert-automation/convert-workflow.ts +0 -1377
  492. package/src/internal/convert-automation/slug.ts +0 -29
  493. package/src/internal/convert-automation/types.ts +0 -212
  494. package/src/internal/cron.ts +0 -76
  495. package/src/internal/cursor/account-mcp.ts +0 -692
  496. package/src/internal/cursor/backend-client.ts +0 -978
  497. package/src/internal/cursor/bound-secret-file.ts +0 -101
  498. package/src/internal/cursor/credentials.ts +0 -560
  499. package/src/internal/cursor/cursor-api-transport.ts +0 -65
  500. package/src/internal/cursor/github-credentials.ts +0 -228
  501. package/src/internal/cursor/hosted-bound-secrets.ts +0 -71
  502. package/src/internal/cursor/hosted-deployment-secrets.ts +0 -100
  503. package/src/internal/cursor/hosted-store-secrets.ts +0 -152
  504. package/src/internal/cursor/session-token.ts +0 -111
  505. package/src/internal/cursor/store-api-client.ts +0 -323
  506. package/src/internal/cursor-account-mcp-auth.ts +0 -303
  507. package/src/internal/cursor-agent-template.ts +0 -50
  508. package/src/internal/cursor-deployment-relay.ts +0 -315
  509. package/src/internal/cursor-event-relay.ts +0 -675
  510. package/src/internal/cursor-relay-core.ts +0 -563
  511. package/src/internal/deferred-channel-session.ts +0 -61
  512. package/src/internal/deploy-client.ts +0 -1504
  513. package/src/internal/deploy-manifest.ts +0 -361
  514. package/src/internal/deploy-source.ts +0 -144
  515. package/src/internal/describe-error.ts +0 -32
  516. package/src/internal/dev-mode.ts +0 -20
  517. package/src/internal/discovery/agent-config.ts +0 -288
  518. package/src/internal/discovery/agent.ts +0 -381
  519. package/src/internal/discovery/channels.ts +0 -100
  520. package/src/internal/discovery/connections.ts +0 -505
  521. package/src/internal/discovery/context.ts +0 -38
  522. package/src/internal/discovery/cursor-plugin.ts +0 -628
  523. package/src/internal/discovery/extension-overlay.ts +0 -247
  524. package/src/internal/discovery/extensions.ts +0 -490
  525. package/src/internal/discovery/fs.ts +0 -103
  526. package/src/internal/discovery/hooks.ts +0 -63
  527. package/src/internal/discovery/info.ts +0 -174
  528. package/src/internal/discovery/instructions.ts +0 -98
  529. package/src/internal/discovery/modules.ts +0 -107
  530. package/src/internal/discovery/names.ts +0 -45
  531. package/src/internal/discovery/project.ts +0 -319
  532. package/src/internal/discovery/reminders.ts +0 -65
  533. package/src/internal/discovery/runtime.ts +0 -158
  534. package/src/internal/discovery/schedules.ts +0 -120
  535. package/src/internal/discovery/seed-files.ts +0 -34
  536. package/src/internal/discovery/services.ts +0 -151
  537. package/src/internal/discovery/skills.ts +0 -174
  538. package/src/internal/discovery/subagent.ts +0 -138
  539. package/src/internal/discovery/tools.ts +0 -170
  540. package/src/internal/discovery.ts +0 -27
  541. package/src/internal/distribution.ts +0 -126
  542. package/src/internal/docs-site.ts +0 -248
  543. package/src/internal/duration.ts +0 -37
  544. package/src/internal/env-file.ts +0 -83
  545. package/src/internal/eval-judge-model.ts +0 -142
  546. package/src/internal/eval-run-store.ts +0 -585
  547. package/src/internal/eval-runner.ts +0 -823
  548. package/src/internal/evals-client.ts +0 -475
  549. package/src/internal/event-log.ts +0 -342
  550. package/src/internal/event-mapper.ts +0 -811
  551. package/src/internal/expected-delivery-failure.ts +0 -34
  552. package/src/internal/factory-resource-channel.ts +0 -103
  553. package/src/internal/filesystem/errors.ts +0 -207
  554. package/src/internal/filesystem/format.ts +0 -253
  555. package/src/internal/filesystem/merge.ts +0 -192
  556. package/src/internal/filesystem/nearest.ts +0 -112
  557. package/src/internal/filesystem/scratch.ts +0 -239
  558. package/src/internal/filesystem/sdk-schemas.ts +0 -204
  559. package/src/internal/filesystem/tools.ts +0 -804
  560. package/src/internal/filesystem/walk.ts +0 -366
  561. package/src/internal/fixtures/units-server.ts +0 -52
  562. package/src/internal/framework-file-storage.ts +0 -357
  563. package/src/internal/framework-storage-selection.ts +0 -156
  564. package/src/internal/frontmatter.ts +0 -108
  565. package/src/internal/github-fanout.ts +0 -144
  566. package/src/internal/guest-network.ts +0 -391
  567. package/src/internal/handleAgentServeTrigger.ts +0 -286
  568. package/src/internal/host-files.ts +0 -341
  569. package/src/internal/host-kv.ts +0 -81
  570. package/src/internal/host-otel.ts +0 -231
  571. package/src/internal/host-platforms.ts +0 -170
  572. package/src/internal/hosted-admission-adapter.ts +0 -47
  573. package/src/internal/hosted-admission-context.ts +0 -37
  574. package/src/internal/hosted-catch-protocol.ts +0 -112
  575. package/src/internal/hosted-catch.ts +0 -179
  576. package/src/internal/hosted-delivery-protocol.ts +0 -787
  577. package/src/internal/hosted-delivery.ts +0 -1152
  578. package/src/internal/hosted-execution-diag.ts +0 -291
  579. package/src/internal/hosted-execution-flush.ts +0 -136
  580. package/src/internal/hosted-execution-latency.ts +0 -301
  581. package/src/internal/hosted-managed-automation.ts +0 -116
  582. package/src/internal/hosting.ts +0 -107
  583. package/src/internal/http-channel-define.ts +0 -25
  584. package/src/internal/http-channel.ts +0 -669
  585. package/src/internal/http-control-plane-session.ts +0 -110
  586. package/src/internal/ids.ts +0 -39
  587. package/src/internal/incoming-headers-to-fetch.ts +0 -45
  588. package/src/internal/init-interview.ts +0 -360
  589. package/src/internal/init-project.ts +0 -711
  590. package/src/internal/init-scaffold.ts +0 -182
  591. package/src/internal/inline-stdio-define-stub.ts +0 -4
  592. package/src/internal/inline-stdio-mcp.ts +0 -230
  593. package/src/internal/install-cursor-skills.ts +0 -601
  594. package/src/internal/is-record.ts +0 -3
  595. package/src/internal/json-schema.ts +0 -95
  596. package/src/internal/legacy-command-guard.ts +0 -54
  597. package/src/internal/listen-port.ts +0 -85
  598. package/src/internal/local-control-plane.ts +0 -442
  599. package/src/internal/local-env.ts +0 -59
  600. package/src/internal/local-ingress.ts +0 -90
  601. package/src/internal/log-ring.ts +0 -59
  602. package/src/internal/logs-client.ts +0 -477
  603. package/src/internal/map-pool.ts +0 -39
  604. package/src/internal/mcp-endpoint.ts +0 -747
  605. package/src/internal/mcp-host.ts +0 -481
  606. package/src/internal/mcp-oauth-on-demand.ts +0 -337
  607. package/src/internal/mcp-oauth-persist.ts +0 -118
  608. package/src/internal/mcp-oauth.ts +0 -549
  609. package/src/internal/net.ts +0 -29
  610. package/src/internal/open-browser.ts +0 -41
  611. package/src/internal/otel/attrs.ts +0 -16
  612. package/src/internal/otel/collector.ts +0 -937
  613. package/src/internal/otel/config.ts +0 -287
  614. package/src/internal/otel/http.ts +0 -122
  615. package/src/internal/otel/mcp.ts +0 -56
  616. package/src/internal/otel/propagation.ts +0 -17
  617. package/src/internal/otel/runtime.ts +0 -441
  618. package/src/internal/package-inline-stdio.ts +0 -114
  619. package/src/internal/peer-connections.ts +0 -96
  620. package/src/internal/platform-schedule-sync.ts +0 -75
  621. package/src/internal/platform-timers.ts +0 -365
  622. package/src/internal/playground/static.ts +0 -278
  623. package/src/internal/playground/toolchain.ts +0 -270
  624. package/src/internal/playground-proxy.ts +0 -564
  625. package/src/internal/process-memory-telemetry.ts +0 -334
  626. package/src/internal/project-layout.ts +0 -31
  627. package/src/internal/prompt-context.ts +0 -116
  628. package/src/internal/reminder-control-plane-protocol.ts +0 -482
  629. package/src/internal/reminder-runner.ts +0 -1559
  630. package/src/internal/reminder-schedule.ts +0 -104
  631. package/src/internal/reminder-store.ts +0 -176
  632. package/src/internal/request-error-status.ts +0 -95
  633. package/src/internal/request-headers.ts +0 -21
  634. package/src/internal/resolve-prod-target.ts +0 -334
  635. package/src/internal/resolved-connections.ts +0 -190
  636. package/src/internal/router.ts +0 -143
  637. package/src/internal/run-client.ts +0 -354
  638. package/src/internal/runtime-dispatch-runner.ts +0 -50
  639. package/src/internal/sanitize-mcp-tool-name.ts +0 -31
  640. package/src/internal/schedule-runner.ts +0 -154
  641. package/src/internal/scm/pr-url.ts +0 -245
  642. package/src/internal/sdk-runner.ts +0 -948
  643. package/src/internal/serve-restart.ts +0 -113
  644. package/src/internal/server.ts +0 -3135
  645. package/src/internal/session-cost.ts +0 -208
  646. package/src/internal/session-engine.ts +0 -5618
  647. package/src/internal/session-links.ts +0 -84
  648. package/src/internal/session-run-log.ts +0 -535
  649. package/src/internal/session-store.ts +0 -307
  650. package/src/internal/session-urls.ts +0 -32
  651. package/src/internal/sessions-client.ts +0 -239
  652. package/src/internal/skill-catalog.ts +0 -66
  653. package/src/internal/skills-sync.ts +0 -55
  654. package/src/internal/slack-provision-client.ts +0 -544
  655. package/src/internal/slack-thread-key.ts +0 -11
  656. package/src/internal/sleep.ts +0 -3
  657. package/src/internal/start-log-store.ts +0 -164
  658. package/src/internal/steering.ts +0 -17
  659. package/src/internal/storage-coordinator.ts +0 -800
  660. package/src/internal/storage-roles.ts +0 -86
  661. package/src/internal/storage.ts +0 -1
  662. package/src/internal/store-api-protocol.ts +0 -205
  663. package/src/internal/store-mirror.ts +0 -73
  664. package/src/internal/stream-progress.ts +0 -294
  665. package/src/internal/terminal-style.ts +0 -133
  666. package/src/internal/testing/factory-resource-fixtures.ts +0 -84
  667. package/src/internal/testing/scm-continuation-fixtures.ts +0 -285
  668. package/src/internal/tool-catalog.ts +0 -104
  669. package/src/internal/tool-policy.ts +0 -222
  670. package/src/internal/tool-result.ts +0 -50
  671. package/src/internal/trajectory.ts +0 -418
  672. package/src/internal/turn-cost.ts +0 -136
  673. package/src/internal/turn-governor.ts +0 -145
  674. package/src/internal/turn-lease-store.ts +0 -144
  675. package/src/internal/turn-outbox.ts +0 -77
  676. package/src/internal/update-check.ts +0 -517
  677. package/src/internal/v2-hosting.ts +0 -52
  678. package/src/internal/workspace-sync.ts +0 -114
  679. package/src/internal/workspace.ts +0 -505
  680. package/src/kv/memory-kv.ts +0 -94
  681. package/src/kv.ts +0 -18
  682. package/src/memory.ts +0 -487
  683. package/src/otel-public.ts +0 -24
  684. package/src/otel.ts +0 -320
  685. package/src/prompt.ts +0 -80
  686. package/src/reminders.ts +0 -65
  687. package/src/schedules.ts +0 -31
  688. package/src/skills.ts +0 -27
  689. package/src/storage-backends/cursor-hosted-v2.ts +0 -204
  690. package/src/storage-backends/cursor-hosted.ts +0 -388
  691. package/src/storage-backends/file-kv.ts +0 -276
  692. package/src/storage-protocol.ts +0 -261
  693. package/src/storage.ts +0 -408
  694. package/src/tools.ts +0 -166
  695. package/src/types.ts +0 -3766
  696. /package/dist/docs/assets/{reference_agent-config.md.DzGI777n.lean.js → reference_agent-config.md.Cj5uBKp4.lean.js} +0 -0
  697. /package/dist/docs/assets/{reference_artifacts.md.CFMNPreZ.lean.js → reference_artifacts.md.CQfKq8F2.lean.js} +0 -0
@@ -1,711 +0,0 @@
1
- /**
2
- * Scaffold a minimal BDK project (`bdk init`).
3
- */
4
-
5
- import { spawn } from "node:child_process";
6
- import { existsSync } from "node:fs";
7
- import { mkdir, readdir, readFile, writeFile } from "node:fs/promises";
8
- import { basename, dirname, join, relative, resolve } from "node:path";
9
- import { runfiles } from "@bazel/runfiles";
10
- import type { ModelSetting } from "../types.js";
11
- import {
12
- canonicalTemplateName,
13
- isTemplateName,
14
- readCursorAgentTemplate,
15
- type TemplateName,
16
- } from "./cursor-agent-template.js";
17
- import { CLI_COMMAND_NAME, PACKAGE_NAME, packageRootDir, packageVersion } from "./distribution.js";
18
- import {
19
- applyInitReplacements,
20
- isTemplateMetaPath,
21
- loadTemplateInitSpec,
22
- posixRel,
23
- type TemplateInitSpec,
24
- templateFileHasReplacements,
25
- } from "./init-interview.js";
26
- import { agentsMd, GITIGNORE, writeDefaultScaffold } from "./init-scaffold.js";
27
- import {
28
- type ProjectRoot,
29
- remapCanonicalProjectContents,
30
- remapCanonicalProjectPath,
31
- resolveProjectRoot,
32
- } from "./project-layout.js";
33
- import { makePalette, stdoutPalette, type TerminalPalette } from "./terminal-style.js";
34
-
35
- export interface InitProjectOptions {
36
- /** Directory to create (created if missing). */
37
- dir: string;
38
- /** Agent display name; defaults to the directory basename. */
39
- name?: string;
40
- /** Model id override written into agent.ts. */
41
- model?: string;
42
- templateDir?: string;
43
- overlayDir?: string;
44
- templateName?: string;
45
- /** Answers collected from `init.json` / `--var`. */
46
- answers?: Record<string, string>;
47
- initSpec?: TemplateInitSpec;
48
- }
49
-
50
- export type InitFileAction = "create" | "exist";
51
-
52
- export interface InitFileEntry {
53
- path: string;
54
- action: InitFileAction;
55
- }
56
-
57
- export interface InitProjectResult {
58
- rootDir: string;
59
- /** Scaffold files in write order, with create/exist for each. */
60
- files: InitFileEntry[];
61
- /** Paths newly written. */
62
- created: string[];
63
- /** Paths left alone because they already existed. */
64
- skipped: string[];
65
- }
66
-
67
- type TemplateEntry = {
68
- dir: string;
69
- overlay?: string;
70
- };
71
-
72
- const TEMPLATES: Readonly<Record<TemplateName, TemplateEntry>> = {
73
- "agentic-owners": { dir: "agentic-owners" },
74
- "agents-md": { dir: "agents-md" },
75
- "code-wiki": { dir: "code-wiki" },
76
- demo: { dir: "demo" },
77
- "grokbot-agents": { dir: "grokbot-agents" },
78
- "pr-autofixer": { dir: "pr-autofixer" },
79
- "security-help": { dir: "security-help" },
80
- "security-reviewer": { dir: "security-reviewer" },
81
- "thermo-quality-review": { dir: "thermo-quality-review" },
82
- "thermo-review": { dir: "thermo-review" },
83
- "triage-linear": { dir: "triage", overlay: "linear" },
84
- "triage-jira": { dir: "triage", overlay: "jira" },
85
- };
86
-
87
- export function availableTemplates(): string[] {
88
- return Object.keys(TEMPLATES).sort();
89
- }
90
-
91
- export type TemplateResolution =
92
- | { ok: true; name: string; dir: string; overlayDir?: string }
93
- | { ok: false; message: string };
94
-
95
- export function resolveTemplate(name: string): TemplateResolution {
96
- if (!/^[a-z][a-z0-9-]*$/.test(name)) {
97
- return {
98
- ok: false,
99
- message: "template name must match /^[a-z][a-z0-9-]*$/",
100
- };
101
- }
102
- const resolved = canonicalTemplateName(name);
103
- if (!isTemplateName(resolved)) {
104
- return {
105
- ok: false,
106
- message: `unknown template "${name}" (available: ${availableTemplates().join(", ")})`,
107
- };
108
- }
109
- const entry = TEMPLATES[resolved];
110
- const dir = resolvePackagePath("templates", entry.dir);
111
- return {
112
- ok: true,
113
- name: resolved,
114
- dir,
115
- overlayDir: entry.overlay === undefined ? undefined : join(dir, "overlays", entry.overlay),
116
- };
117
- }
118
-
119
- function resolvePackagePath(...segments: string[]): string {
120
- if (runfiles.workspace !== undefined) {
121
- return runfiles.resolveWorkspaceRelative(["packages", "agent-serve", ...segments].join("/"));
122
- }
123
- return join(packageRootDir(), ...segments);
124
- }
125
-
126
- export type InitTargetCheck = { ok: true } | { ok: false; message: string };
127
-
128
- /**
129
- * Re-init must keep the mode the project was scaffolded with: template
130
- * scaffolds stamp `cursorAgentTemplate` into package.json, and a mismatch
131
- * here would silently mix default-scaffold files into a template project
132
- * (or the reverse).
133
- */
134
- export function checkInitTarget(rootDir: string, template: string | undefined): InitTargetCheck {
135
- const pkgPath = join(rootDir, "package.json");
136
- if (!existsSync(pkgPath)) {
137
- return { ok: true };
138
- }
139
- const marker = readCursorAgentTemplate(rootDir);
140
- if (marker === template) {
141
- return { ok: true };
142
- }
143
- if (
144
- marker !== undefined &&
145
- template !== undefined &&
146
- canonicalTemplateName(marker) === canonicalTemplateName(template)
147
- ) {
148
- return { ok: true };
149
- }
150
- if (template === undefined) {
151
- return {
152
- ok: false,
153
- message: `${rootDir} was scaffolded from the "${marker}" template; re-run with --template ${marker}`,
154
- };
155
- }
156
- if (marker === undefined) {
157
- return {
158
- ok: false,
159
- message: `${rootDir} already has a package.json without template provenance; re-run init without --template, or scaffold into a fresh directory`,
160
- };
161
- }
162
- return {
163
- ok: false,
164
- message: `${rootDir} was scaffolded from the "${marker}" template, not "${template}"`,
165
- };
166
- }
167
-
168
- const DEFAULT_MODEL: ModelSetting = {
169
- id: "grok-4.5",
170
- params: [
171
- { id: "effort", value: "high" },
172
- { id: "fast", value: "true" },
173
- ],
174
- };
175
-
176
- export async function initProject(options: InitProjectOptions): Promise<InitProjectResult> {
177
- const rootDir = resolve(options.dir);
178
- const projectName = basename(rootDir);
179
- const name = options.name ?? projectName;
180
- const model = formatModelLiteral(options.model ?? DEFAULT_MODEL);
181
- const projectRoot = resolveProjectRoot(rootDir);
182
-
183
- const files: InitFileEntry[] = [];
184
- const write = async (rel: string, contents: string | Uint8Array): Promise<void> => {
185
- const abs = join(rootDir, rel);
186
- await mkdir(dirname(abs), { recursive: true });
187
- try {
188
- await writeFile(abs, contents, { flag: "wx" });
189
- files.push({ path: rel, action: "create" });
190
- } catch (error) {
191
- if (isEexist(error)) {
192
- files.push({ path: rel, action: "exist" });
193
- return;
194
- }
195
- throw error;
196
- }
197
- };
198
-
199
- if (options.templateDir !== undefined) {
200
- const templateDir = options.templateDir;
201
- const overlayDir = options.overlayDir;
202
- const overlayPaths = overlayDir ? await listTemplateFiles(overlayDir) : [];
203
- const overlaySet = new Set(overlayPaths);
204
- const corePaths = (await listTemplateFiles(templateDir)).filter(rel => !overlaySet.has(rel));
205
- const templateName = options.templateName ?? basename(templateDir);
206
- const initSpec = options.initSpec ?? (await loadTemplateInitSpec(templateDir));
207
- const answers = options.answers ?? {};
208
- for (const rel of corePaths) {
209
- await writeTemplateFile({
210
- write,
211
- sourceDir: templateDir,
212
- rel,
213
- destinationRel: remapCanonicalProjectPath(rel, projectRoot),
214
- projectRoot,
215
- projectName,
216
- templateName,
217
- initSpec,
218
- answers,
219
- });
220
- }
221
- if (overlayDir !== undefined) {
222
- for (const rel of overlayPaths) {
223
- await writeTemplateFile({
224
- write,
225
- sourceDir: overlayDir,
226
- rel,
227
- destinationRel: remapCanonicalProjectPath(rel, projectRoot),
228
- projectRoot,
229
- projectName,
230
- templateName,
231
- initSpec,
232
- answers,
233
- });
234
- }
235
- }
236
- } else {
237
- await writeDefaultScaffold(write, name, model, projectRoot);
238
- }
239
-
240
- await write("AGENTS.md", agentsMd(name, projectRoot));
241
- await write(".gitignore", GITIGNORE);
242
- return {
243
- rootDir,
244
- files,
245
- created: files.filter(entry => entry.action === "create").map(entry => entry.path),
246
- skipped: files.filter(entry => entry.action === "exist").map(entry => entry.path),
247
- };
248
- }
249
-
250
- async function listTemplateFiles(root: string): Promise<string[]> {
251
- const entries = await readdir(root, {
252
- recursive: true,
253
- withFileTypes: true,
254
- });
255
- return entries
256
- .filter(entry => entry.isFile())
257
- .map(entry => posixRel(relative(root, join(entry.parentPath, entry.name))))
258
- .filter(rel => !isTemplateMetaPath(rel))
259
- .sort();
260
- }
261
-
262
- async function writeTemplateFile(input: {
263
- write: (rel: string, contents: string | Uint8Array) => Promise<void>;
264
- sourceDir: string;
265
- rel: string;
266
- destinationRel: string;
267
- projectRoot: ProjectRoot;
268
- projectName: string;
269
- templateName: string;
270
- initSpec?: TemplateInitSpec;
271
- answers: Record<string, string>;
272
- }): Promise<void> {
273
- const source = join(input.sourceDir, input.rel);
274
- if (input.rel === "package.json") {
275
- const packageJson: {
276
- name: string;
277
- dependencies: Record<string, string>;
278
- [key: string]: unknown;
279
- } = JSON.parse(await readFile(source, "utf8"));
280
- packageJson.name = input.projectName;
281
- packageJson.dependencies[PACKAGE_NAME] = `^${packageVersion()}`;
282
- packageJson.cursorAgentTemplate = input.templateName;
283
- await input.write(input.destinationRel, `${JSON.stringify(packageJson, null, 2)}\n`);
284
- return;
285
- }
286
- if (input.initSpec !== undefined && templateFileHasReplacements(input.initSpec, input.rel)) {
287
- const contents = applyInitReplacements(
288
- await readFile(source, "utf8"),
289
- input.rel,
290
- input.initSpec,
291
- input.answers,
292
- );
293
- await input.write(
294
- input.destinationRel,
295
- remapCanonicalProjectContents(contents, input.projectRoot),
296
- );
297
- return;
298
- }
299
- const contents = await readFile(source, "utf8");
300
- await input.write(
301
- input.destinationRel,
302
- remapCanonicalProjectContents(contents, input.projectRoot),
303
- );
304
- }
305
-
306
- export function isEexist(error: unknown): boolean {
307
- return hasErrorCode(error, "EEXIST");
308
- }
309
-
310
- function hasErrorCode(error: unknown, code: string): boolean {
311
- return error !== null && typeof error === "object" && "code" in error && error.code === code;
312
- }
313
-
314
- export interface InstallScaffoldDependenciesOptions {
315
- /**
316
- * `inherit` streams npm output to the terminal (human `init`);
317
- * `pipe` captures it ( `--json` / tests).
318
- */
319
- stdio?: "inherit" | "pipe";
320
- /** Test seam — replaces the real `npm install` spawn. */
321
- runner?: (args: {
322
- command: string;
323
- args: string[];
324
- cwd: string;
325
- stdio: "inherit" | "pipe";
326
- }) => Promise<{ exitCode: number; stderr: string }>;
327
- }
328
-
329
- export interface InstallScaffoldDependenciesResult {
330
- ok: boolean;
331
- exitCode: number;
332
- stderr: string;
333
- }
334
-
335
- /**
336
- * Install the scaffold's npm dependencies so `dev` / `run` can resolve
337
- * `@cursor/bdk` immediately after `init`.
338
- */
339
- export async function installScaffoldDependencies(
340
- rootDir: string,
341
- options: InstallScaffoldDependenciesOptions = {},
342
- ): Promise<InstallScaffoldDependenciesResult> {
343
- const stdio = options.stdio ?? "inherit";
344
- const command = process.platform === "win32" ? "npm.cmd" : "npm";
345
- const args = ["install", "--no-fund", "--no-audit"];
346
- const runner = options.runner ?? defaultNpmInstallRunner;
347
- const result = await runner({ command, args, cwd: rootDir, stdio });
348
- return {
349
- ok: result.exitCode === 0,
350
- exitCode: result.exitCode,
351
- stderr: result.stderr,
352
- };
353
- }
354
-
355
- export interface LinkCliOntoPathOptions {
356
- stdio?: "inherit" | "pipe";
357
- runner?: (args: {
358
- command: string;
359
- args: string[];
360
- cwd: string;
361
- stdio: "inherit" | "pipe";
362
- }) => Promise<{ exitCode: number; stderr: string }>;
363
- /** Test seam — absolute path of the linked CLI when present. */
364
- whichImpl?: (command: string) => string | undefined | Promise<string | undefined>;
365
- }
366
-
367
- export interface LinkCliOntoPathResult {
368
- ok: boolean;
369
- exitCode: number;
370
- stderr: string;
371
- /** Absolute path to the linked `bdk` when it resolves on PATH. */
372
- resolvedPath?: string;
373
- }
374
-
375
- /**
376
- * Put `bdk` on the user PATH by installing the already-downloaded project
377
- * copy into the npm global prefix. `npx @cursor/bdk init` only runs the
378
- * package; this is the install that makes bare `bdk …`
379
- * work afterward.
380
- */
381
- export async function linkCliOntoPath(
382
- rootDir: string,
383
- options: LinkCliOntoPathOptions = {},
384
- ): Promise<LinkCliOntoPathResult> {
385
- const packageDir = join(rootDir, "node_modules", PACKAGE_NAME);
386
- if (!existsSync(packageDir)) {
387
- return {
388
- ok: false,
389
- exitCode: 1,
390
- stderr: `missing ${PACKAGE_NAME} under ${packageDir} (run npm install first)`,
391
- };
392
- }
393
- const stdio = options.stdio ?? "inherit";
394
- const command = process.platform === "win32" ? "npm.cmd" : "npm";
395
- const args = ["install", "--global", "--no-fund", "--no-audit", packageDir];
396
- const runner = options.runner ?? defaultNpmInstallRunner;
397
- const result = await runner({ command, args, cwd: rootDir, stdio });
398
- if (result.exitCode !== 0) {
399
- return {
400
- ok: false,
401
- exitCode: result.exitCode,
402
- stderr: result.stderr,
403
- };
404
- }
405
- const whichImpl = options.whichImpl ?? resolveLinkedCli;
406
- const resolvedPath = await whichImpl(CLI_COMMAND_NAME);
407
- return {
408
- ok: resolvedPath !== undefined,
409
- exitCode: 0,
410
- stderr:
411
- resolvedPath === undefined
412
- ? `${CLI_COMMAND_NAME} linked into the npm global prefix but is not on PATH; open a new shell or add that bin directory to PATH`
413
- : "",
414
- resolvedPath,
415
- };
416
- }
417
-
418
- /** Prefer the npm-global bin; ignore an older `bdk` earlier on PATH. */
419
- async function resolveLinkedCli(commandName: string): Promise<string | undefined> {
420
- const prefix = await npmGlobalPrefix();
421
- if (prefix === undefined) {
422
- return whichOnPath(commandName);
423
- }
424
- const binDir = process.platform === "win32" ? prefix : join(prefix, "bin");
425
- const exts =
426
- process.platform === "win32"
427
- ? (process.env.PATHEXT ?? ".EXE;.CMD;.BAT").split(";").filter(Boolean)
428
- : [""];
429
- for (const ext of exts) {
430
- const candidate = join(binDir, `${commandName}${ext}`);
431
- if (!existsSync(candidate)) {
432
- continue;
433
- }
434
- // Only claim PATH success when this linked bin is the first hit.
435
- const onPath = whichOnPath(commandName);
436
- return onPath === candidate ? candidate : undefined;
437
- }
438
- return undefined;
439
- }
440
-
441
- async function npmGlobalPrefix(): Promise<string | undefined> {
442
- const command = process.platform === "win32" ? "npm.cmd" : "npm";
443
- return await new Promise(resolvePromise => {
444
- const child = spawn(command, ["prefix", "-g"], {
445
- stdio: ["ignore", "pipe", "ignore"],
446
- env: process.env,
447
- });
448
- let out = "";
449
- child.stdout?.setEncoding("utf8");
450
- child.stdout?.on("data", (chunk: string) => {
451
- out += chunk;
452
- });
453
- child.on("error", () => resolvePromise(undefined));
454
- child.on("close", code => {
455
- if (code !== 0) {
456
- resolvePromise(undefined);
457
- return;
458
- }
459
- const prefix = out.trim();
460
- resolvePromise(prefix === "" ? undefined : prefix);
461
- });
462
- });
463
- }
464
-
465
- function whichOnPath(commandName: string): string | undefined {
466
- const pathEnv = process.env.PATH ?? "";
467
- const sep = process.platform === "win32" ? ";" : ":";
468
- const exts =
469
- process.platform === "win32"
470
- ? (process.env.PATHEXT ?? ".EXE;.CMD;.BAT").split(";").filter(Boolean)
471
- : [""];
472
- for (const dir of pathEnv.split(sep)) {
473
- if (dir === "") {
474
- continue;
475
- }
476
- for (const ext of exts) {
477
- const candidate = join(dir, `${commandName}${ext}`);
478
- if (existsSync(candidate)) {
479
- return candidate;
480
- }
481
- }
482
- }
483
- return undefined;
484
- }
485
-
486
- async function defaultNpmInstallRunner(args: {
487
- command: string;
488
- args: string[];
489
- cwd: string;
490
- stdio: "inherit" | "pipe";
491
- }): Promise<{ exitCode: number; stderr: string }> {
492
- return await new Promise((resolvePromise, reject) => {
493
- const child = spawn(args.command, args.args, {
494
- cwd: args.cwd,
495
- stdio: args.stdio === "inherit" ? "inherit" : ["ignore", "pipe", "pipe"],
496
- env: process.env,
497
- });
498
- let stderr = "";
499
- if (args.stdio === "pipe") {
500
- child.stderr?.setEncoding("utf8");
501
- child.stderr?.on("data", (chunk: string) => {
502
- stderr += chunk;
503
- });
504
- child.stdout?.resume();
505
- }
506
- child.on("error", reject);
507
- child.on("close", code => {
508
- resolvePromise({ exitCode: code ?? 1, stderr });
509
- });
510
- });
511
- }
512
-
513
- function formatModelLiteral(model: string | ModelSetting): string {
514
- if (typeof model === "string") {
515
- return JSON.stringify(model);
516
- }
517
- const params =
518
- model.params === undefined
519
- ? ""
520
- : `,
521
- params: [
522
- ${model.params
523
- .map(param => ` { id: ${JSON.stringify(param.id)}, value: ${JSON.stringify(param.value)} },`)
524
- .join("\n")}
525
- ]`;
526
- return `{
527
- id: ${JSON.stringify(model.id)}${params},
528
- }`;
529
- }
530
-
531
- export interface InitScaffoldSummaryOptions {
532
- /** Scaffolded project root (absolute). */
533
- rootDir: string;
534
- /** Scaffold files in write order (`create` / `exist`). */
535
- files: InitFileEntry[];
536
- /** Override TTY color detection (tests / `--json` callers). */
537
- color?: boolean;
538
- }
539
-
540
- export interface InitNextStepsOptions {
541
- /** Scaffolded project root (absolute). */
542
- rootDir: string;
543
- /** Directory the command ran from. */
544
- cwd: string;
545
- /**
546
- * True when a Cursor credential resolves. When false, next steps include
547
- * `login` (used for `--json` and when an interactive login attempt failed).
548
- */
549
- signedIn: boolean;
550
- /**
551
- * True when `bdk` resolves on PATH after init linked the CLI.
552
- * When false, next steps include a PATH export for `node_modules/.bin`.
553
- */
554
- cliOnPath: boolean;
555
- /** Override TTY color detection (tests / `--json` callers). */
556
- color?: boolean;
557
- }
558
-
559
- export type InitSummaryOptions = InitScaffoldSummaryOptions & InitNextStepsOptions;
560
-
561
- function initPalette(color?: boolean): TerminalPalette {
562
- return color === undefined ? stdoutPalette() : makePalette(color);
563
- }
564
-
565
- /**
566
- * Created/skipped files plus the project path. Printed before an interactive
567
- * login so the scaffold is visible while the browser flow runs.
568
- */
569
- export function formatInitScaffoldSummary(options: InitScaffoldSummaryOptions): string {
570
- const c = initPalette(options.color);
571
- const name = basename(options.rootDir);
572
- const lines: string[] = [];
573
- lines.push(`Initialized agent ${name}`);
574
- lines.push("");
575
- for (const file of options.files) {
576
- // Empty-dir placeholders stay on disk but clutter the summary.
577
- if (file.path.endsWith("/.gitkeep") || file.path === ".gitkeep") {
578
- continue;
579
- }
580
- // Thor/Rails status column is 12 chars, right-aligned.
581
- lines.push(c.dim(`${file.action.padStart(12)} ${file.path}`));
582
- }
583
- lines.push("");
584
- lines.push(c.dim(`Project: ${options.rootDir}`));
585
- lines.push("");
586
- return `${lines.join("\n")}\n`;
587
- }
588
-
589
- /**
590
- * Numbered next steps after scaffold (and after login when init ran it).
591
- * Includes `cd` when init did not already run inside the project.
592
- */
593
- export function formatInitNextSteps(options: InitNextStepsOptions): string {
594
- const c = initPalette(options.color);
595
- const lines: string[] = [];
596
- lines.push("Next steps:");
597
- lines.push("");
598
-
599
- const steps = initNextStepEntries(options);
600
- const width = Math.max(...steps.map(step => step.command.length));
601
- for (const [index, step] of steps.entries()) {
602
- const command =
603
- step.note === undefined
604
- ? step.command
605
- : `${step.command.padEnd(width)} ${c.dim(`# ${step.note}`)}`;
606
- lines.push(` ${index + 1}. ${command}`);
607
- }
608
- return `${lines.join("\n")}\n`;
609
- }
610
-
611
- /**
612
- * Full human-readable scaffold summary (scaffold + next steps).
613
- */
614
- export function formatInitSummary(options: InitSummaryOptions): string {
615
- return formatInitScaffoldSummary(options) + formatInitNextSteps(options);
616
- }
617
-
618
- /**
619
- * `cd` into the scaffold when init did not already run inside it. Relative
620
- * when the target sits under the invoking directory, absolute otherwise.
621
- */
622
- export function formatCdCommand(cwd: string, rootDir: string): string | undefined {
623
- const rel = relative(cwd, rootDir);
624
- if (rel === "") {
625
- return undefined;
626
- }
627
- const path = rel.startsWith("..") ? rootDir : rel;
628
- const quoted = /\s/.test(path) ? JSON.stringify(path) : path;
629
- return `cd ${quoted}`;
630
- }
631
-
632
- function initNextStepEntries(options: InitNextStepsOptions): Array<{
633
- command: string;
634
- note?: string;
635
- }> {
636
- const steps: Array<{ command: string; note?: string }> = [];
637
- const cd = formatCdCommand(options.cwd, options.rootDir);
638
- if (cd !== undefined) {
639
- steps.push({ command: cd });
640
- }
641
- if (!options.signedIn) {
642
- const login = options.cliOnPath ? `${CLI_COMMAND_NAME} login` : `npx ${PACKAGE_NAME} login`;
643
- steps.push({
644
- command: login,
645
- note: "connect your Cursor account (powers model turns)",
646
- });
647
- }
648
- const dev = options.cliOnPath ? `${CLI_COMMAND_NAME} dev` : `npx ${PACKAGE_NAME} dev`;
649
- steps.push({
650
- command: dev,
651
- note: "start the local playground",
652
- });
653
- return steps;
654
- }
655
-
656
- /**
657
- * Next-step commands for the `--json` scaffold summary (login omitted when
658
- * the host already has a Cursor credential).
659
- */
660
- export function initNextCommands(options: {
661
- rootDir: string;
662
- cwd: string;
663
- signedIn: boolean;
664
- cliOnPath: boolean;
665
- }): string[] {
666
- return initNextStepEntries(options).map(step => step.command);
667
- }
668
-
669
- /**
670
- * Coding-agent setup guide printed by `bdk init`
671
- * with no target directory (does not scaffold).
672
- */
673
- export function printInitGuide(): void {
674
- process.stdout.write(`${CLI_COMMAND_NAME} — coding agent setup
675
-
676
- Scaffold a project, then open the playground:
677
- npx ${PACKAGE_NAME} init ./my-agent # installs deps + links bdk onto PATH
678
- npx ${PACKAGE_NAME} init ./my-demo --template demo # record a PR walkthrough
679
- npx ${PACKAGE_NAME} init ./grokbot --template grokbot-agents # talk to Grok Bot agents
680
- npx ${PACKAGE_NAME} init ./code-wiki --template code-wiki # keep wiki pages current after merge
681
- npx ${PACKAGE_NAME} init ./agents-md --template agents-md # keep AGENTS.md current from last week's PRs and Slack
682
- npx ${PACKAGE_NAME} init ./my-reviewer --template security-reviewer # review PRs for security bugs
683
- npx ${PACKAGE_NAME} init ./thermo-review --template thermo-review # review PRs for bugs and breakage
684
- npx ${PACKAGE_NAME} init ./thermo-quality --template thermo-quality-review # review PRs for code quality
685
- npx ${PACKAGE_NAME} init ./security-help --template security-help # answer security questions in Slack
686
- npx ${PACKAGE_NAME} init ./my-triage --template triage-linear # comment on Linear issues
687
- npx ${PACKAGE_NAME} init ./my-triage --template triage-jira # comment on Jira issues
688
- npx ${PACKAGE_NAME} init ./my-owners --template agentic-owners # review PRs via owners policies
689
- # TTY asks the template's questions. Scripts pass --var:
690
- # --var repos=acme/widgets,acme/api
691
- # --var agents="Plan Keeper, Chief of Staff"
692
- cd ./my-agent && ${CLI_COMMAND_NAME} dev # or: npx ${PACKAGE_NAME} dev
693
-
694
- Recommended loop once the project exists (from the project directory):
695
- 1. Edit bot/ + tools under bot/tools/
696
- 2. ${CLI_COMMAND_NAME} info --dir . --json
697
- 3. ${CLI_COMMAND_NAME} run --dir . --message "..."
698
- 4. ${CLI_COMMAND_NAME} eval --dir .
699
-
700
- Evals:
701
- Create evals/**/*.eval.ts using defineEval from ${PACKAGE_NAME}/evals
702
- Case id is the path: evals/weather/nyc.eval.ts → weather/nyc
703
- Required: evals/evals.config.ts with defineEvalConfig({ maxConcurrency })
704
- (hard-capped at 200 due to model provider request limits)
705
- Run: ${CLI_COMMAND_NAME} eval [--json] [evalId...]
706
- (pass --prod to run against the hosted deployment)
707
-
708
- The scaffold writes AGENTS.md (coding-agent loop for this project).
709
- See AGENTS.md in the ${PACKAGE_NAME} package for the framework loop.
710
- `);
711
- }