@cursor/bdk 0.2.10 → 0.2.12

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 (436) hide show
  1. package/dist/bin/agent-serve.js +28 -26
  2. package/dist/channels/bitbucket/api.js +8 -8
  3. package/dist/channels/bitbucket/binding.js +4 -4
  4. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  5. package/dist/channels/bitbucket/bitbucket-webhook.js +1 -1
  6. package/dist/channels/bitbucket/checks.js +1 -1
  7. package/dist/channels/bitbucket/cursor-account.js +1 -1
  8. package/dist/channels/bitbucket/events.js +1 -1
  9. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  10. package/dist/channels/checks.js +2 -2
  11. package/dist/channels/deployments/deployments-channel.js +1 -1
  12. package/dist/channels/github/cursor-account.js +3 -3
  13. package/dist/channels/github/defaults.js +3 -3
  14. package/dist/channels/github/events.js +1 -1
  15. package/dist/channels/github/forward.js +8 -8
  16. package/dist/channels/github/github-channel.js +2 -2
  17. package/dist/channels/gitlab/binding.js +4 -4
  18. package/dist/channels/gitlab/checks.js +1 -1
  19. package/dist/channels/gitlab/cursor-account.js +1 -1
  20. package/dist/channels/gitlab/events.js +1 -1
  21. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  22. package/dist/channels/gitlab/gitlab-webhook.js +1 -1
  23. package/dist/channels/gitlab/replay.js +2 -2
  24. package/dist/channels/origin/binding.js +3 -3
  25. package/dist/channels/origin/checks.js +1 -1
  26. package/dist/channels/origin/cursor-account.js +1 -1
  27. package/dist/channels/origin/events.js +1 -1
  28. package/dist/channels/origin/origin-channel.js +1 -1
  29. package/dist/channels/origin/origin-webhook.js +2 -2
  30. package/dist/channels/slack/agentic-delivery.js +3 -3
  31. package/dist/channels/slack/agentic-signals.js +1 -1
  32. package/dist/channels/slack/api.js +5 -5
  33. package/dist/channels/slack/approvals.js +1 -1
  34. package/dist/channels/slack/attachments.js +3 -3
  35. package/dist/channels/slack/blocks.js +3 -3
  36. package/dist/channels/slack/bot-mentions.js +4 -4
  37. package/dist/channels/slack/channel-watch.js +4 -4
  38. package/dist/channels/slack/cli-project.js +3 -3
  39. package/dist/channels/slack/dispatch.js +1 -1
  40. package/dist/channels/slack/doctor.js +1 -1
  41. package/dist/channels/slack/eval-directive.js +1 -1
  42. package/dist/channels/slack/footer.js +1 -1
  43. package/dist/channels/slack/interactive.js +2 -2
  44. package/dist/channels/slack/log.d.ts.map +1 -1
  45. package/dist/channels/slack/log.js +1 -1
  46. package/dist/channels/slack/manifest.js +1 -1
  47. package/dist/channels/slack/nudge-carrier.js +1 -1
  48. package/dist/channels/slack/nudge-store.js +2 -2
  49. package/dist/channels/slack/recording-sink.js +6 -6
  50. package/dist/channels/slack/reply-options.js +6 -6
  51. package/dist/channels/slack/self-identity.d.ts +7 -4
  52. package/dist/channels/slack/self-identity.d.ts.map +1 -1
  53. package/dist/channels/slack/self-identity.js +17 -8
  54. package/dist/channels/slack/sender-name.d.ts.map +1 -1
  55. package/dist/channels/slack/sender-name.js +2 -6
  56. package/dist/channels/slack/setup.d.ts.map +1 -1
  57. package/dist/channels/slack/setup.js +1 -1
  58. package/dist/channels/slack/slack-channel.js +2 -2
  59. package/dist/channels/slack/socket-mode.js +2 -2
  60. package/dist/channels/slack/thread-context.js +8 -8
  61. package/dist/channels/slack/tool-cards.js +1 -1
  62. package/dist/channels/slack/user-info.d.ts +2 -1
  63. package/dist/channels/slack/user-info.d.ts.map +1 -1
  64. package/dist/channels/slack/user-info.js +16 -1
  65. package/dist/channels.js +1 -1
  66. package/dist/docs/404.html +3 -3
  67. package/dist/docs/assets/{app.DXI7bwox.js → app.CKta5zX1.js} +4 -4
  68. package/dist/docs/assets/chunks/@localSearchIndexroot.DtlCe4t6.js +1 -0
  69. package/dist/docs/assets/chunks/{VPLocalSearchBox.BrbO5mEe.js → VPLocalSearchBox.4vRM3EDG.js} +2 -2
  70. package/dist/docs/assets/chunks/{arc.BOG1yms8.js → arc.CofbA8tA.js} +1 -1
  71. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.C0hsMZnZ.js → architectureDiagram-Q4EWVU46.Mt2UV5M-.js} +1 -1
  72. package/dist/docs/assets/chunks/{baseUniq.H044KjKs.js → baseUniq.C_W0Aqp4.js} +1 -1
  73. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BsRW6GoB.js → blockDiagram-DXYQGD6D.dAc4goE-.js} +1 -1
  74. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.B9HV5PFR.js → c4Diagram-AHTNJAMY.dnbRC3Dm.js} +1 -1
  75. package/dist/docs/assets/chunks/channel.DpljPUVU.js +1 -0
  76. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.CPoT_ajl.js → chunk-4BX2VUAB.B42ltSTd.js} +1 -1
  77. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DZBwWuCL.js → chunk-4TB4RGXK.2GbAul_E.js} +1 -1
  78. package/dist/docs/assets/chunks/{chunk-55IACEB6.CZ3yTiyq.js → chunk-55IACEB6.pjzY-v-B.js} +1 -1
  79. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.6DfvHSd8.js → chunk-EDXVE4YY.BB1GXLj2.js} +1 -1
  80. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.CpBj8HfK.js → chunk-FMBD7UC4.B2WxZkoA.js} +1 -1
  81. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.BdKo8YqS.js → chunk-OYMX7WX6.BMvb2w73.js} +1 -1
  82. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BnXNyxJx.js → chunk-QZHKN3VN.Bmu_2lNr.js} +1 -1
  83. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.Cg1OcF8G.js → chunk-YZCP3GAM.Cth65EaC.js} +1 -1
  84. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.DFNHq2OM.js +1 -0
  85. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.DFNHq2OM.js +1 -0
  86. package/dist/docs/assets/chunks/clone.DssygCzX.js +1 -0
  87. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.1SP8al9c.js → cose-bilkent-S5V4N54A.CrfA7Iw_.js} +1 -1
  88. package/dist/docs/assets/chunks/{dagre-KV5264BT.DS1L6hJt.js → dagre-KV5264BT.PCD6KQDb.js} +1 -1
  89. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.ChsausbG.js → diagram-5BDNPKRD.CGNlYlP1.js} +1 -1
  90. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.3XsptNWj.js → diagram-G4DWMVQ6.C0cvryPD.js} +1 -1
  91. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.DPA9Dk_P.js → diagram-MMDJMWI5.DHlkZHNV.js} +1 -1
  92. package/dist/docs/assets/chunks/{diagram-TYMM5635.BVswXWrB.js → diagram-TYMM5635.DDGqH_4B.js} +1 -1
  93. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BSak5OSP.js → erDiagram-SMLLAGMA.4gOY_C3v.js} +1 -1
  94. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.CQgN4TTz.js → flowDiagram-DWJPFMVM.8i7zsxuh.js} +1 -1
  95. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.GrT0kA4a.js → ganttDiagram-T4ZO3ILL.BEKHYdM-.js} +1 -1
  96. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CdS7Ucll.js → gitGraphDiagram-UUTBAWPF.ACzeLGiB.js} +1 -1
  97. package/dist/docs/assets/chunks/{graph.BVqKRmRo.js → graph.08C3hS6m.js} +1 -1
  98. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.C3C9FRto.js → infoDiagram-42DDH7IO.D8R9obOH.js} +1 -1
  99. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.2FuAh_Zj.js → ishikawaDiagram-UXIWVN3A.CmgYpCWL.js} +1 -1
  100. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CaHMfK4b.js → journeyDiagram-VCZTEJTY.DUzjGfoZ.js} +1 -1
  101. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CjhIUwcA.js → kanban-definition-6JOO6SKY.DbcW2iZ0.js} +1 -1
  102. package/dist/docs/assets/chunks/{layout.CGU3gfSf.js → layout.BaDEpJzu.js} +1 -1
  103. package/dist/docs/assets/chunks/{linear.DaihpW_n.js → linear.B_zRQgCU.js} +1 -1
  104. package/dist/docs/assets/chunks/{min.BS-j8kHQ.js → min.BYscCdSu.js} +1 -1
  105. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BVJ1Bbnk.js → mindmap-definition-QFDTVHPH.Ggu0jg86.js} +1 -1
  106. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.Cz1WIv9r.js → pieDiagram-DEJITSTG.D_q4SVDT.js} +1 -1
  107. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DKLFxcjy.js → quadrantDiagram-34T5L4WZ.D3zGj5ok.js} +1 -1
  108. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.BHegiK7x.js → requirementDiagram-MS252O5E.DVTg7zr2.js} +1 -1
  109. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DYkY6yPc.js → sankeyDiagram-XADWPNL6.D3X8jm57.js} +1 -1
  110. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.DYQ1QUrI.js → sequenceDiagram-FGHM5R23.Dpjai9YP.js} +1 -1
  111. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.Iru8BsFo.js → stateDiagram-FHFEXIEX.D_AbQBuP.js} +1 -1
  112. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CWKWRxRx.js +1 -0
  113. package/dist/docs/assets/chunks/{theme.DaplWQhQ.js → theme.BcgOnbZ6.js} +2 -2
  114. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BwFA8hiX.js → timeline-definition-GMOUNBTQ.Cp3DKBe2.js} +1 -1
  115. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CZ60W1C_.js → vennDiagram-DHZGUBPP.Bcvg-Aqu.js} +1 -1
  116. package/dist/docs/assets/chunks/wardley-RL74JXVD.CCpdcUSq.js +162 -0
  117. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.B69D2r8-.js → wardleyDiagram-NUSXRM2D.L0yehCc5.js} +1 -1
  118. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CLPZEIU9.js → xychartDiagram-5P7HB3ND.Cw8-tJmw.js} +1 -1
  119. package/dist/docs/assets/{reference_connections.md.Bljpve-y.js → reference_connections.md.DLrgAd5f.js} +1 -1
  120. package/dist/docs/assets/{reference_hooks.md.C5LCJ1R3.js → reference_hooks.md.B-eGa2km.js} +3 -3
  121. package/dist/docs/assets/{reference_hooks.md.C5LCJ1R3.lean.js → reference_hooks.md.B-eGa2km.lean.js} +1 -1
  122. package/dist/docs/assets/{reference_sessions.md.CM5zo3w4.js → reference_sessions.md.CyM7ARz1.js} +1 -1
  123. package/dist/docs/assets/{reference_skills.md.C0guGcH0.js → reference_skills.md.ClkMoQsV.js} +3 -3
  124. package/dist/docs/assets/{reference_tools.md.v3SXVSs_.js → reference_tools.md.DzIY9JzY.js} +3 -3
  125. package/dist/docs/assets/{reference_tools.md.v3SXVSs_.lean.js → reference_tools.md.DzIY9JzY.lean.js} +1 -1
  126. package/dist/docs/assets/{style.C130MVnH.css → style.Dwls12uf.css} +1 -1
  127. package/dist/docs/building-with-agents.html +37 -37
  128. package/dist/docs/deployment.html +37 -37
  129. package/dist/docs/evals.html +37 -37
  130. package/dist/docs/guides/agent-to-agent.html +37 -37
  131. package/dist/docs/guides/bitbucket.html +37 -37
  132. package/dist/docs/guides/cloud-agents.html +37 -37
  133. package/dist/docs/guides/convert-automation.html +37 -37
  134. package/dist/docs/guides/github.html +37 -37
  135. package/dist/docs/guides/gitlab.html +37 -37
  136. package/dist/docs/guides/grokbot-agents.html +37 -37
  137. package/dist/docs/guides/hooks.html +37 -37
  138. package/dist/docs/guides/improve.html +37 -37
  139. package/dist/docs/guides/jev.html +37 -37
  140. package/dist/docs/guides/mcp-oauth.html +37 -37
  141. package/dist/docs/guides/migrate.html +37 -37
  142. package/dist/docs/guides/opentelemetry.html +37 -37
  143. package/dist/docs/guides/slack.html +37 -37
  144. package/dist/docs/guides/webhooks.html +37 -37
  145. package/dist/docs/hashmap.json +1 -1
  146. package/dist/docs/hillclimbing.html +37 -37
  147. package/dist/docs/index.html +37 -37
  148. package/dist/docs/llms-full.txt +15 -2
  149. package/dist/docs/quickstart.html +37 -37
  150. package/dist/docs/reference/agent-config.html +37 -37
  151. package/dist/docs/reference/artifacts.html +37 -37
  152. package/dist/docs/reference/channels.html +37 -37
  153. package/dist/docs/reference/cli.html +37 -37
  154. package/dist/docs/reference/connections.html +39 -39
  155. package/dist/docs/reference/connections.md +2 -1
  156. package/dist/docs/reference/evals.html +37 -37
  157. package/dist/docs/reference/extensions.html +37 -37
  158. package/dist/docs/reference/hooks.html +39 -39
  159. package/dist/docs/reference/hooks.md +1 -0
  160. package/dist/docs/reference/http-api.html +37 -37
  161. package/dist/docs/reference/instructions.html +37 -37
  162. package/dist/docs/reference/playground.html +36 -36
  163. package/dist/docs/reference/project-layout.html +37 -37
  164. package/dist/docs/reference/prompt.html +37 -37
  165. package/dist/docs/reference/schedules.html +37 -37
  166. package/dist/docs/reference/sessions.html +37 -37
  167. package/dist/docs/reference/sessions.md +1 -1
  168. package/dist/docs/reference/skills.html +40 -40
  169. package/dist/docs/reference/subagents.html +37 -37
  170. package/dist/docs/reference/tools.html +39 -39
  171. package/dist/docs/reference/tools.md +11 -0
  172. package/dist/docs/templates/agentic-owners.html +37 -37
  173. package/dist/docs/templates/grokbot-agents.html +37 -37
  174. package/dist/docs/templates/security-reviewer.html +37 -37
  175. package/dist/docs/templates/thermo-quality-review.html +37 -37
  176. package/dist/docs/templates/thermo-review.html +37 -37
  177. package/dist/docs/templates/triage.html +37 -37
  178. package/dist/docs/troubleshooting.html +36 -36
  179. package/dist/evals/assertions.d.ts.map +1 -1
  180. package/dist/evals/assertions.js +21 -19
  181. package/dist/evals/expect.js +1 -1
  182. package/dist/evals/judge.js +1 -1
  183. package/dist/evals/reporters.js +8 -8
  184. package/dist/evals/run-facts.js +2 -2
  185. package/dist/evals.js +6 -6
  186. package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
  187. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  188. package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
  189. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +16 -0
  190. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  191. package/dist/extensions/cursor-cloud-agents/lib/backend.js +44 -3
  192. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  193. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts +23 -0
  194. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts.map +1 -0
  195. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.js +32 -0
  196. package/dist/extensions/cursor-cloud-agents/lib/repos.js +2 -2
  197. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -2
  198. package/dist/extensions/cursor-cloud-agents/lib/watch.d.ts.map +1 -1
  199. package/dist/extensions/cursor-cloud-agents/lib/watch.js +1 -1
  200. package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -1
  201. package/dist/extensions/cursor-cloud-agents/tools/launch.js +3 -8
  202. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  203. package/dist/extensions/cursor-grokbot-agents/extension.js +3 -3
  204. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +3 -3
  205. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +3 -3
  206. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +4 -4
  207. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  208. package/dist/extensions/improve/skills/yourself.js +1 -1
  209. package/dist/extensions/jev/extension.js +2 -2
  210. package/dist/extensions/jev/tools/evaluate.js +1 -1
  211. package/dist/extensions/slack-communication/tools/react.js +1 -1
  212. package/dist/files-backends/cursor-hosted.js +8 -8
  213. package/dist/files-backends/local-fs.js +1 -1
  214. package/dist/filesystem.d.ts.map +1 -1
  215. package/dist/filesystem.js +15 -15
  216. package/dist/internal/advertise-tools.d.ts +3 -2
  217. package/dist/internal/advertise-tools.d.ts.map +1 -1
  218. package/dist/internal/advertise-tools.js +11 -9
  219. package/dist/internal/approval-gate.js +1 -1
  220. package/dist/internal/artifacts-store.js +13 -13
  221. package/dist/internal/as-of.js +2 -2
  222. package/dist/internal/authored-alias-hooks.js +1 -1
  223. package/dist/internal/builtin-tools/reminders.js +2 -2
  224. package/dist/internal/chat-client.js +5 -5
  225. package/dist/internal/cli-ax.js +14 -14
  226. package/dist/internal/cli-bitbucket.js +10 -10
  227. package/dist/internal/cli-convert-automation.js +2 -2
  228. package/dist/internal/cli-cursor.js +2 -2
  229. package/dist/internal/cli-deploy.d.ts.map +1 -1
  230. package/dist/internal/cli-deploy.js +40 -40
  231. package/dist/internal/cli-docs.js +5 -5
  232. package/dist/internal/cli-github.js +15 -15
  233. package/dist/internal/cli-gitlab.js +10 -10
  234. package/dist/internal/cli-images.js +16 -16
  235. package/dist/internal/cli-manifest.js +1 -1
  236. package/dist/internal/cli-mcp-oauth.js +5 -5
  237. package/dist/internal/cli-mcp.js +3 -3
  238. package/dist/internal/cli-migrate.js +1 -1
  239. package/dist/internal/cli-skills.js +2 -2
  240. package/dist/internal/cli-slack.js +5 -5
  241. package/dist/internal/cloud-turn-cost.js +1 -1
  242. package/dist/internal/continuation-identity.js +6 -6
  243. package/dist/internal/conversation-mirror.js +5 -5
  244. package/dist/internal/convert-automation/convert-workflow.js +24 -24
  245. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  246. package/dist/internal/cursor/account-mcp.js +20 -20
  247. package/dist/internal/cursor/backend-client.js +6 -6
  248. package/dist/internal/cursor/credentials.js +1 -1
  249. package/dist/internal/cursor/store-api-client.js +1 -1
  250. package/dist/internal/cursor-account-mcp-auth.js +9 -9
  251. package/dist/internal/cursor-deployment-relay.d.ts.map +1 -1
  252. package/dist/internal/cursor-deployment-relay.js +9 -9
  253. package/dist/internal/cursor-event-relay.js +10 -10
  254. package/dist/internal/cursor-relay-core.js +2 -2
  255. package/dist/internal/deploy-client.d.ts.map +1 -1
  256. package/dist/internal/deploy-client.js +3 -0
  257. package/dist/internal/deploy-manifest.js +10 -10
  258. package/dist/internal/discovery/agent-config.js +2 -2
  259. package/dist/internal/discovery/agent.js +6 -6
  260. package/dist/internal/discovery/connections.js +5 -5
  261. package/dist/internal/discovery/cursor-plugin.js +12 -12
  262. package/dist/internal/discovery/extension-overlay.js +3 -3
  263. package/dist/internal/discovery/extensions.js +6 -6
  264. package/dist/internal/discovery/info.js +9 -9
  265. package/dist/internal/discovery/instructions.js +1 -1
  266. package/dist/internal/discovery/project.js +3 -3
  267. package/dist/internal/discovery/services.js +1 -1
  268. package/dist/internal/discovery/tools.js +1 -1
  269. package/dist/internal/docs-site.js +2 -2
  270. package/dist/internal/env-file.js +1 -1
  271. package/dist/internal/eval-run-store.js +7 -7
  272. package/dist/internal/eval-runner.d.ts.map +1 -1
  273. package/dist/internal/eval-runner.js +14 -14
  274. package/dist/internal/eval-transport.js +1 -1
  275. package/dist/internal/evals-client.js +4 -4
  276. package/dist/internal/event-log.js +8 -8
  277. package/dist/internal/event-mapper.js +13 -13
  278. package/dist/internal/expected-delivery-failure.js +2 -2
  279. package/dist/internal/filesystem/format.js +2 -2
  280. package/dist/internal/filesystem/nearest.js +3 -3
  281. package/dist/internal/filesystem/scratch.js +3 -3
  282. package/dist/internal/filesystem/tools.js +6 -6
  283. package/dist/internal/filesystem/walk.d.ts.map +1 -1
  284. package/dist/internal/filesystem/walk.js +2 -2
  285. package/dist/internal/framework-file-storage.d.ts.map +1 -1
  286. package/dist/internal/framework-file-storage.js +6 -5
  287. package/dist/internal/framework-storage-selection.d.ts.map +1 -1
  288. package/dist/internal/framework-storage-selection.js +4 -2
  289. package/dist/internal/github-fanout.d.ts.map +1 -1
  290. package/dist/internal/github-fanout.js +3 -3
  291. package/dist/internal/guest-network.js +4 -4
  292. package/dist/internal/host-files.js +1 -1
  293. package/dist/internal/host-kv.js +2 -2
  294. package/dist/internal/hosted-catch-protocol.js +1 -1
  295. package/dist/internal/hosted-catch.js +1 -1
  296. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  297. package/dist/internal/hosted-delivery-protocol.js +14 -14
  298. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  299. package/dist/internal/hosted-delivery.js +23 -9
  300. package/dist/internal/hosted-eval-cases.js +4 -4
  301. package/dist/internal/hosted-execution-diag.js +3 -3
  302. package/dist/internal/hosting.js +1 -1
  303. package/dist/internal/http-channel.js +1 -1
  304. package/dist/internal/http-control-plane-session.js +2 -2
  305. package/dist/internal/init-interview.js +7 -7
  306. package/dist/internal/init-project.d.ts.map +1 -1
  307. package/dist/internal/init-project.js +12 -12
  308. package/dist/internal/inline-stdio-mcp.js +2 -2
  309. package/dist/internal/install-cursor-skills.js +11 -11
  310. package/dist/internal/json-schema.js +1 -1
  311. package/dist/internal/local-control-plane.js +3 -3
  312. package/dist/internal/local-env.js +3 -3
  313. package/dist/internal/log-ring.js +1 -1
  314. package/dist/internal/logs-client.js +1 -1
  315. package/dist/internal/mcp-endpoint.js +8 -8
  316. package/dist/internal/mcp-host.d.ts.map +1 -1
  317. package/dist/internal/mcp-host.js +5 -5
  318. package/dist/internal/mcp-oauth-on-demand.js +3 -3
  319. package/dist/internal/mcp-oauth.js +5 -5
  320. package/dist/internal/net.js +2 -2
  321. package/dist/internal/otel/config.js +3 -3
  322. package/dist/internal/otel/runtime.js +13 -13
  323. package/dist/internal/peer-connections.js +2 -2
  324. package/dist/internal/persistent-stage-log-mirror.d.ts +57 -0
  325. package/dist/internal/persistent-stage-log-mirror.d.ts.map +1 -0
  326. package/dist/internal/persistent-stage-log-mirror.js +231 -0
  327. package/dist/internal/platform-schedule-sync.js +1 -1
  328. package/dist/internal/platform-timers.js +1 -1
  329. package/dist/internal/playground/static.js +2 -2
  330. package/dist/internal/playground/toolchain.js +2 -2
  331. package/dist/internal/playground-proxy.js +3 -3
  332. package/dist/internal/process-memory-telemetry.js +1 -1
  333. package/dist/internal/reminder-runner.d.ts +1 -1
  334. package/dist/internal/reminder-runner.d.ts.map +1 -1
  335. package/dist/internal/reminder-runner.js +14 -16
  336. package/dist/internal/reminder-store.js +1 -1
  337. package/dist/internal/resolved-connections.js +8 -8
  338. package/dist/internal/router.js +4 -4
  339. package/dist/internal/run-client.js +2 -2
  340. package/dist/internal/schedule-runner.js +6 -6
  341. package/dist/internal/sdk-runner.d.ts.map +1 -1
  342. package/dist/internal/sdk-runner.js +6 -6
  343. package/dist/internal/serve-restart.js +1 -1
  344. package/dist/internal/server.d.ts.map +1 -1
  345. package/dist/internal/server.js +93 -72
  346. package/dist/internal/session-cost.js +3 -3
  347. package/dist/internal/session-engine.d.ts +8 -0
  348. package/dist/internal/session-engine.d.ts.map +1 -1
  349. package/dist/internal/session-engine.js +183 -118
  350. package/dist/internal/session-live-publisher.d.ts +46 -0
  351. package/dist/internal/session-live-publisher.d.ts.map +1 -0
  352. package/dist/internal/session-live-publisher.js +352 -0
  353. package/dist/internal/session-run-log.js +6 -6
  354. package/dist/internal/sessions-client.js +3 -3
  355. package/dist/internal/skill-catalog.js +2 -2
  356. package/dist/internal/sleep.js +1 -1
  357. package/dist/internal/start-log-store.d.ts +5 -1
  358. package/dist/internal/start-log-store.d.ts.map +1 -1
  359. package/dist/internal/start-log-store.js +5 -3
  360. package/dist/internal/storage-coordinator.js +12 -12
  361. package/dist/internal/store-api-protocol.d.ts +51 -0
  362. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  363. package/dist/internal/store-api-protocol.js +39 -2
  364. package/dist/internal/store-mirror.js +4 -4
  365. package/dist/internal/stream-progress.d.ts.map +1 -1
  366. package/dist/internal/stream-progress.js +4 -0
  367. package/dist/internal/terminal-style.js +2 -2
  368. package/dist/internal/tool-call-retry.d.ts +87 -0
  369. package/dist/internal/tool-call-retry.d.ts.map +1 -0
  370. package/dist/internal/tool-call-retry.js +387 -0
  371. package/dist/internal/tool-result.js +3 -3
  372. package/dist/internal/trajectory.js +7 -7
  373. package/dist/internal/turn-governor.js +2 -2
  374. package/dist/internal/turn-outbox.js +1 -1
  375. package/dist/internal/update-check.d.ts.map +1 -1
  376. package/dist/internal/update-check.js +4 -2
  377. package/dist/internal/v2-hosting.d.ts +6 -0
  378. package/dist/internal/v2-hosting.d.ts.map +1 -1
  379. package/dist/internal/v2-hosting.js +7 -1
  380. package/dist/internal/workspace.js +4 -4
  381. package/dist/kv/memory-kv.js +3 -3
  382. package/dist/playground/assets/{index-JekUQERK.js → index-HN5lOuAX.js} +42 -42
  383. package/dist/playground/assets/index-JY1wKCMg.css +1 -0
  384. package/dist/playground/index.html +2 -2
  385. package/dist/prompt.js +1 -1
  386. package/dist/storage-backends/cursor-hosted-v2.js +2 -2
  387. package/dist/storage-backends/file-kv.js +7 -7
  388. package/dist/storage-protocol.d.ts +7 -0
  389. package/dist/storage-protocol.d.ts.map +1 -1
  390. package/dist/storage-protocol.js +7 -0
  391. package/dist/storage.js +3 -3
  392. package/dist/types.d.ts +15 -0
  393. package/dist/types.d.ts.map +1 -1
  394. package/dist/types.js +4 -4
  395. package/docs/reference/connections.md +2 -1
  396. package/docs/reference/hooks.md +1 -0
  397. package/docs/reference/sessions.md +1 -1
  398. package/docs/reference/tools.md +11 -0
  399. package/package.json +6 -6
  400. package/templates/agentic-owners/bot/channels/github.ts +2 -2
  401. package/templates/agentic-owners/bot/lib/github.ts +7 -5
  402. package/templates/agentic-owners/bot/lib/owners/decision.ts +9 -9
  403. package/templates/agentic-owners/bot/lib/owners/handles.ts +2 -2
  404. package/templates/agentic-owners/bot/lib/owners/match.ts +5 -3
  405. package/templates/agentic-owners/bot/lib/owners/matching.ts +1 -1
  406. package/templates/agentic-owners/bot/lib/owners/parse.ts +4 -4
  407. package/templates/agentic-owners/bot/lib/owners/prompt.ts +1 -1
  408. package/templates/agentic-owners/bot/lib/review.ts +18 -17
  409. package/templates/agentic-owners/evals/owners.eval.ts +2 -2
  410. package/templates/agents-md/bot/lib/collect.ts +6 -6
  411. package/templates/agents-md/bot/lib/config.ts +1 -1
  412. package/templates/agents-md/bot/tools/apply_agents.ts +4 -4
  413. package/templates/code-wiki/bot/channels/github.ts +3 -3
  414. package/templates/code-wiki/bot/lib/repos.ts +1 -1
  415. package/templates/code-wiki/bot/tools/apply_wiki.ts +2 -2
  416. package/templates/demo/bot/lib/collect.ts +1 -1
  417. package/templates/demo/bot/lib/repos.ts +1 -1
  418. package/templates/demo/bot/tools/record_demo.ts +1 -1
  419. package/templates/pr-autofixer/bot/channels/github.ts +2 -2
  420. package/templates/pr-autofixer/bot/lib/merge-watch.ts +2 -2
  421. package/templates/pr-autofixer/bot/lib/repos.ts +2 -2
  422. package/templates/pr-autofixer/bot/lib/webhook-routing.ts +1 -1
  423. package/templates/security-help/bot/lib/repos.ts +1 -1
  424. package/templates/security-reviewer/bot/lib/repos.ts +1 -1
  425. package/templates/triage/bot/lib/actuate.ts +15 -15
  426. package/dist/docs/assets/chunks/@localSearchIndexroot.CtLtpWcx.js +0 -1
  427. package/dist/docs/assets/chunks/channel.CBwrU9rP.js +0 -1
  428. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CbC_mrvB.js +0 -1
  429. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CbC_mrvB.js +0 -1
  430. package/dist/docs/assets/chunks/clone.BTvFyY1a.js +0 -1
  431. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BYXl4LW6.js +0 -1
  432. package/dist/docs/assets/chunks/wardley-RL74JXVD.iXazD3Z7.js +0 -162
  433. package/dist/playground/assets/index-DXm_VXAQ.css +0 -1
  434. /package/dist/docs/assets/{reference_connections.md.Bljpve-y.lean.js → reference_connections.md.DLrgAd5f.lean.js} +0 -0
  435. /package/dist/docs/assets/{reference_sessions.md.CM5zo3w4.lean.js → reference_sessions.md.CyM7ARz1.lean.js} +0 -0
  436. /package/dist/docs/assets/{reference_skills.md.C0guGcH0.lean.js → reference_skills.md.ClkMoQsV.lean.js} +0 -0
@@ -78,10 +78,10 @@ async function resolveTargets(options) {
78
78
  const port = options.port ?? DEFAULT_PORT;
79
79
  let candidates = channels;
80
80
  if (options.slug !== undefined) {
81
- candidates = candidates.filter(c => c.slug === options.slug);
81
+ candidates = candidates.filter((c) => c.slug === options.slug);
82
82
  }
83
83
  if (options.channel !== undefined) {
84
- candidates = candidates.filter(c => c.channelId === options.channel);
84
+ candidates = candidates.filter((c) => c.channelId === options.channel);
85
85
  }
86
86
  if (options.url !== undefined && candidates.length > 1) {
87
87
  process.stderr.write("--url targets a single channel; narrow with --slug/--channel\n");
@@ -102,7 +102,7 @@ async function resolveTargets(options) {
102
102
  },
103
103
  ];
104
104
  }
105
- return candidates.map(c => ({
105
+ return candidates.map((c) => ({
106
106
  slug: c.slug,
107
107
  channelId: c.channelId,
108
108
  url: channelForwardUrl({
@@ -131,7 +131,7 @@ async function cmdBitbucketReplay(options) {
131
131
  return 1;
132
132
  }
133
133
  const requested = parseEventList(options.events);
134
- const declared = [...new Set(targets.flatMap(target => target.events))];
134
+ const declared = [...new Set(targets.flatMap((target) => target.events))];
135
135
  const { events, unsupported } = selectBitbucketReplayEvents(requested, declared);
136
136
  if (unsupported.length > 0) {
137
137
  process.stderr.write(`[bdk] cannot synthesize (skipped): ${unsupported.join(", ")}\n`);
@@ -174,7 +174,7 @@ async function cmdBitbucketReplay(options) {
174
174
  }
175
175
  const secret = options.secret ?? process.env.BITBUCKET_WEBHOOK_SECRET;
176
176
  process.stderr.write(`[bdk] replaying ${ref.label} (${ref.dialect}; ${synthesized
177
- .map(event => event.eventType)
177
+ .map((event) => event.eventType)
178
178
  .join(", ")}) → ${targets.length} channel${targets.length === 1 ? "" : "s"}\n`);
179
179
  const report = [];
180
180
  let anyRejected = false;
@@ -200,13 +200,13 @@ async function cmdBitbucketReplay(options) {
200
200
  continue;
201
201
  }
202
202
  const deliveries = await deliverReplayEvent(body, headers, event.eventType, targets);
203
- if (deliveries.length === 0 || deliveries.some(d => !d.ok)) {
203
+ if (deliveries.length === 0 || deliveries.some((d) => !d.ok)) {
204
204
  anyRejected = true;
205
205
  }
206
206
  report.push({ ...eventReport(event), deliveries });
207
207
  if (options.json !== true) {
208
208
  const summary = deliveries
209
- .map(d => `${d.label} ${d.status || "ERR"}${d.ok ? "" : " (rejected)"}`)
209
+ .map((d) => `${d.label} ${d.status || "ERR"}${d.ok ? "" : " (rejected)"}`)
210
210
  .join(", ") || "(no matching channel)";
211
211
  process.stderr.write(`[bdk] ${event.header} → ${summary}\n`);
212
212
  }
@@ -222,7 +222,7 @@ async function cmdBitbucketReplay(options) {
222
222
  return anyRejected ? 1 : 0;
223
223
  }
224
224
  async function deliverReplayEvent(body, headers, eventType, targets) {
225
- const recipients = targets.filter(target => target.events.length === 0 || target.events.includes(eventType));
225
+ const recipients = targets.filter((target) => target.events.length === 0 || target.events.includes(eventType));
226
226
  return Promise.all(recipients.map(async (target) => {
227
227
  const label = target.slug === "" ? target.channelId : `${target.slug}/${target.channelId}`;
228
228
  try {
@@ -259,7 +259,7 @@ async function cmdBitbucketEvents(options) {
259
259
  const channels = findBitbucketChannelTargets(await resolveAgentMounts(dir));
260
260
  const host = options.host ?? DEFAULT_HOST;
261
261
  const port = options.port ?? DEFAULT_PORT;
262
- const rows = channels.map(c => ({
262
+ const rows = channels.map((c) => ({
263
263
  slug: c.slug,
264
264
  channelId: c.channelId,
265
265
  url: channelForwardUrl({
@@ -326,7 +326,7 @@ function parseEventList(value) {
326
326
  }
327
327
  const events = value
328
328
  .split(/[\s,]+/)
329
- .map(event => event.trim())
329
+ .map((event) => event.trim())
330
330
  .filter(Boolean);
331
331
  return events.length === 0 ? undefined : events;
332
332
  }
@@ -45,7 +45,7 @@ export function parseAutomationRef(input) {
45
45
  if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
46
46
  return undefined;
47
47
  }
48
- const segments = parsed.pathname.split("/").filter(s => s !== "");
48
+ const segments = parsed.pathname.split("/").filter((s) => s !== "");
49
49
  if (segments.length !== 2) {
50
50
  return undefined;
51
51
  }
@@ -144,7 +144,7 @@ export async function cmdConvertAutomation(options) {
144
144
  installError: installed.ok
145
145
  ? null
146
146
  : installed.stderr.trim() || `npm install exited ${installed.exitCode}`,
147
- mcpConnections: result.mcpConnections.map(connection => ({
147
+ mcpConnections: result.mcpConnections.map((connection) => ({
148
148
  name: connection.name,
149
149
  kind: connection.kind,
150
150
  })),
@@ -34,7 +34,7 @@ export async function cmdLogin(options) {
34
34
  uuid,
35
35
  verifier,
36
36
  backendUrl,
37
- logger: line => process.stderr.write(`warning: ${line}\n`),
37
+ logger: (line) => process.stderr.write(`warning: ${line}\n`),
38
38
  });
39
39
  if (login.status !== "signed_in") {
40
40
  process.stderr.write(`${describeLoginPollFailure(login)}\n`);
@@ -164,7 +164,7 @@ export async function cmdWhoami(options) {
164
164
  }
165
165
  function formatIdentity(identity) {
166
166
  const name = [identity.firstName, identity.lastName]
167
- .filter(part => part !== undefined && part !== "")
167
+ .filter((part) => part !== undefined && part !== "")
168
168
  .join(" ");
169
169
  const email = identity.email ?? identity.authId ?? "(unknown user)";
170
170
  const team = identity.teamName === undefined ? "" : ` — team ${identity.teamName}`;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-deploy.d.ts","sourceRoot":"","sources":["../../src/internal/cli-deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-deploy.d.ts","sourceRoot":"","sources":["../../src/internal/cli-deploy.ts"],"names":[],"mappings":"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"}
@@ -145,18 +145,18 @@ export async function cmdDeploy(options) {
145
145
  for (const target of targets) {
146
146
  manifests.push(await readDeployManifest(target.dir));
147
147
  }
148
- if (manifests.every(manifest => manifest.architecture === "v2")) {
148
+ if (manifests.every((manifest) => manifest.architecture === "v2")) {
149
149
  return deployAgentsdkApplication(ctx, options, targets, {
150
150
  // `persistent` is per child agent, like `agentPath`: each release
151
151
  // component carries its own.
152
152
  componentPersistent: Object.fromEntries(targets.map((target, index) => [target.slug, manifests[index]?.persistent === true])),
153
153
  componentImage: Object.fromEntries(targets.flatMap((target, index) => manifests[index]?.image === undefined ? [] : [[target.slug, manifests[index].image]])),
154
- hasScmChannels: manifests.some(manifest => manifest.hasScmChannels),
154
+ hasScmChannels: manifests.some((manifest) => manifest.hasScmChannels),
155
155
  declaredSecretNames: declaredSecretNames(manifests),
156
- hasDeploymentsChannels: manifests.some(manifest => manifest.hasDeploymentsChannels),
156
+ hasDeploymentsChannels: manifests.some((manifest) => manifest.hasDeploymentsChannels),
157
157
  });
158
158
  }
159
- if (!ctx.json && manifests.some(manifest => manifest.architecture === "v2")) {
159
+ if (!ctx.json && manifests.some((manifest) => manifest.architecture === "v2")) {
160
160
  ctx.err(`warning: agents under this parent mix architectures; deploying each separately (v2 children become standalone single-component applications).\n`);
161
161
  }
162
162
  // --path is per-agent (relative to the repo root). When deploying several
@@ -254,7 +254,7 @@ async function resolveDeployTargets(options, ctx) {
254
254
  }
255
255
  // Deploy slugs are lowercase-only; normalize directory names the same way
256
256
  // single-agent deploy does so MixedCase child dirs still deploy.
257
- children = children.flatMap(child => {
257
+ children = children.flatMap((child) => {
258
258
  const slug = slugFromDirectoryName(basename(child.dir));
259
259
  if (slug === undefined) {
260
260
  return [];
@@ -301,13 +301,13 @@ async function resolveDeployTargets(options, ctx) {
301
301
  // Multiple children.
302
302
  if (options.all === true) {
303
303
  if (!ctx.json) {
304
- ctx.err(`Deploying all ${children.length} agents under ${basename(dir)}: ${children.map(c => c.slug).join(", ")}.\n`);
304
+ ctx.err(`Deploying all ${children.length} agents under ${basename(dir)}: ${children.map((c) => c.slug).join(", ")}.\n`);
305
305
  }
306
306
  return [...children];
307
307
  }
308
308
  if (options.slug !== undefined) {
309
309
  const wanted = options.slug.toLowerCase();
310
- const match = children.find(child => child.slug === wanted);
310
+ const match = children.find((child) => child.slug === wanted);
311
311
  if (match === undefined) {
312
312
  ctx.err(`No agent "${options.slug}" under ${dir}.\n` +
313
313
  formatAgentList(children) +
@@ -327,7 +327,7 @@ async function resolveDeployTargets(options, ctx) {
327
327
  return [...children];
328
328
  }
329
329
  const chooser = options.chooseTargets ??
330
- (agents => promptChooseDeployTargets(agents, {
330
+ ((agents) => promptChooseDeployTargets(agents, {
331
331
  err: ctx.err,
332
332
  stdin: options.stdin ?? process.stdin,
333
333
  interactive: ctx.json !== true &&
@@ -396,7 +396,7 @@ export async function promptChooseDeployTargets(agents, options) {
396
396
  asIndex <= agents.length) {
397
397
  return [agents[asIndex - 1]];
398
398
  }
399
- const bySlug = agents.find(agent => agent.slug.toLowerCase() === answer);
399
+ const bySlug = agents.find((agent) => agent.slug.toLowerCase() === answer);
400
400
  if (bySlug !== undefined) {
401
401
  return [bySlug];
402
402
  }
@@ -462,7 +462,7 @@ async function deployOne(ctx, options, target, extras) {
462
462
  const egressAllowedDomains = [
463
463
  ...new Set([...(hosting?.egressDomains ?? []), ...(options.allowDomains ?? [])]),
464
464
  ];
465
- const publicRoutePaths = (manifest?.publicChannelIds ?? []).map(channelId => `/v1/channels/${channelId}`);
465
+ const publicRoutePaths = (manifest?.publicChannelIds ?? []).map((channelId) => `/v1/channels/${channelId}`);
466
466
  if (!ctx.json && manifest?.httpChannelPublicEndpoint === true) {
467
467
  ctx.err(`warning: publicEndpoint() on the built-in HTTP channel has no effect on hosting — only custom channels (/v1/channels/…) can be public; the session API always requires the alias token.\n`);
468
468
  }
@@ -478,13 +478,13 @@ async function deployOne(ctx, options, target, extras) {
478
478
  // Mounted packages widen the pod's egress without an agent.ts edit; name
479
479
  // each one before the deploy is accepted.
480
480
  ctx.err(` egress from extensions: ${extensionEgress
481
- .map(entry => `${entry.extension} (${entry.egressDomains.join(", ")})`)
481
+ .map((entry) => `${entry.extension} (${entry.egressDomains.join(", ")})`)
482
482
  .join("; ")}\n`);
483
483
  }
484
484
  const deadSecretChannels = manifest?.publicChannelIdsWithDeadSecretPolicies ?? [];
485
485
  if (!ctx.json && deadSecretChannels.length > 0) {
486
486
  ctx.err(`warning: ${deadSecretChannels
487
- .map(channelId => `/v1/channels/${channelId}`)
487
+ .map((channelId) => `/v1/channels/${channelId}`)
488
488
  .join(", ")}: publicEndpoint() sits beside sharedSecretAuth()/hmacSignatureAuth() — auth chains are any-of, so every request is admitted and those secret policies never run. Drop publicEndpoint() to enforce them, or drop them to make the intent explicit.\n`);
489
489
  }
490
490
  if (manifest?.architecture === "v2") {
@@ -588,7 +588,7 @@ async function deployOne(ctx, options, target, extras) {
588
588
  // Paste-ready webhook URLs: these subtrees skip the alias token, so
589
589
  // the channel handler must verify deliveries (webhook signatures).
590
590
  deployedPublicRoutes
591
- .map(path => ` public: ${aliasUrl}${path} (no alias token)\n`)
591
+ .map((path) => ` public: ${aliasUrl}${path} (no alias token)\n`)
592
592
  .join(""));
593
593
  await runPostDeployConnectorAuth(ctx, options, {
594
594
  slug,
@@ -635,7 +635,7 @@ async function deployAgentsdkApplication(ctx, options, targets, declarations) {
635
635
  return 1;
636
636
  }
637
637
  }
638
- const components = targets.map(target => ({
638
+ const components = targets.map((target) => ({
639
639
  componentKey: target.slug,
640
640
  agentPath: [parentPath, basename(target.dir)]
641
641
  .filter((part) => part !== undefined && part !== "")
@@ -648,7 +648,7 @@ async function deployAgentsdkApplication(ctx, options, targets, declarations) {
648
648
  ` architecture: v2\n` +
649
649
  ` source: ${gitRepoUrl}${gitRef === undefined ? "" : ` @ ${gitRef}`}\n` +
650
650
  components
651
- .map(component => ` component: ${component.componentKey} (${component.agentPath ?? "."})${component.persistent ? " persistent" : ""}${component.image === undefined ? "" : ` image ${component.image}`}\n`)
651
+ .map((component) => ` component: ${component.componentKey} (${component.agentPath ?? "."})${component.persistent ? " persistent" : ""}${component.image === undefined ? "" : ` image ${component.image}`}\n`)
652
652
  .join(""));
653
653
  }
654
654
  return deployOneAgentsdk(ctx, undefined, {
@@ -674,7 +674,7 @@ async function deployOneAgentsdk(ctx, extras, args) {
674
674
  const { slug } = args;
675
675
  const componentsLine = args.components === undefined
676
676
  ? ""
677
- : ` components: ${args.components.map(component => component.componentKey).join(", ")}\n`;
677
+ : ` components: ${args.components.map((component) => component.componentKey).join(", ")}\n`;
678
678
  if (args.multiTenant && !ctx.json) {
679
679
  ctx.err(" multi-tenant: existing product\n");
680
680
  }
@@ -749,7 +749,7 @@ async function deployOneAgentsdk(ctx, extras, args) {
749
749
  (args.components === undefined
750
750
  ? ""
751
751
  : ` components: ${args.components
752
- .map(component => component.componentKey)
752
+ .map((component) => component.componentKey)
753
753
  .join(", ")}\n`) +
754
754
  (detail.repositories === undefined || !watchesRepositories
755
755
  ? ""
@@ -834,42 +834,42 @@ async function readDeployManifest(dir) {
834
834
  // diagnostics (e.g. agent/storage.ts on architecture v2) would only be
835
835
  // refused later by `serve` inside the hosted build, wasting a bake.
836
836
  if (hasErrorDiagnostics(project)) {
837
- throw new Error(`Refusing to deploy ${project.name} — it has errors:\n${formatDiagnostics(project.diagnostics.filter(d => d.severity === "error"))}`);
837
+ throw new Error(`Refusing to deploy ${project.name} — it has errors:\n${formatDiagnostics(project.diagnostics.filter((d) => d.severity === "error"))}`);
838
838
  }
839
839
  return {
840
840
  hosting: project.agent.hosting,
841
841
  architecture: project.agent.architecture,
842
842
  persistent: project.agent.persistent === true,
843
843
  image: project.agent.hosting?.image,
844
- cursorAccountConnections: project.agent.connections.flatMap(connection => isCursorAccountTransport(connection.transport)
844
+ cursorAccountConnections: project.agent.connections.flatMap((connection) => isCursorAccountTransport(connection.transport)
845
845
  ? [{ name: connection.name, servers: connection.transport.servers }]
846
846
  : []),
847
847
  publicChannelIds: project.channels
848
- .filter(channel => (channel.definition.auth ?? []).some(isPublicEndpointPolicy))
849
- .map(channel => channel.id),
848
+ .filter((channel) => (channel.definition.auth ?? []).some(isPublicEndpointPolicy))
849
+ .map((channel) => channel.id),
850
850
  publicChannelIdsWithDeadSecretPolicies: project.channels
851
- .filter(channel => {
851
+ .filter((channel) => {
852
852
  const auth = channel.definition.auth ?? [];
853
853
  return (auth.some(isPublicEndpointPolicy) &&
854
- auth.some(policy => {
854
+ auth.some((policy) => {
855
855
  const kind = catchAuthDeclaration(policy)?.kind;
856
856
  return kind !== undefined && kind !== "public";
857
857
  }));
858
858
  })
859
- .map(channel => channel.id),
859
+ .map((channel) => channel.id),
860
860
  httpChannelPublicEndpoint: (project.httpChannel.auth ?? []).some(isPublicEndpointPolicy),
861
861
  catchSecretNames: [
862
- ...new Set(project.channels.flatMap(channel => channelCatchSecretNames(channel.definition))),
862
+ ...new Set(project.channels.flatMap((channel) => channelCatchSecretNames(channel.definition))),
863
863
  ],
864
864
  credentialSecretNames: [
865
- ...new Set(project.channels.flatMap(channel => channelCredentialSecretNames(channel.definition))),
865
+ ...new Set(project.channels.flatMap((channel) => channelCredentialSecretNames(channel.definition))),
866
866
  ],
867
- hasScmChannels: project.channels.some(channel => {
867
+ hasScmChannels: project.channels.some((channel) => {
868
868
  const kind = channel.definition.meta?.kind;
869
869
  return kind === "github" || kind === "origin";
870
870
  }),
871
- hasDeploymentsChannels: project.channels.some(channel => channel.definition.meta?.kind === "deployments"),
872
- extensionEgress: (project.agent.extensions ?? []).flatMap(extension => {
871
+ hasDeploymentsChannels: project.channels.some((channel) => channel.definition.meta?.kind === "deployments"),
872
+ extensionEgress: (project.agent.extensions ?? []).flatMap((extension) => {
873
873
  const egressDomains = extension.hosting?.egressDomains ?? [];
874
874
  return egressDomains.length === 0 ? [] : [{ extension: extension.name, egressDomains }];
875
875
  }),
@@ -882,7 +882,7 @@ async function readDeployManifest(dir) {
882
882
  */
883
883
  function declaredSecretNames(manifests) {
884
884
  return [
885
- ...new Set(manifests.flatMap(manifest => manifest === undefined
885
+ ...new Set(manifests.flatMap((manifest) => manifest === undefined
886
886
  ? []
887
887
  : [
888
888
  ...(manifest.hosting?.secretNames ?? []),
@@ -902,7 +902,7 @@ function warnMissingSecrets(ctx, slug, declared, set) {
902
902
  const setNames = new Set(set ?? []);
903
903
  // Platform-managed names (CURSOR_*, hosted storage) are injected by the
904
904
  // control plane and never appear in secrets list — do not warn on them.
905
- const missing = declared.filter(name => !setNames.has(name) && !isReservedSecretName(name));
905
+ const missing = declared.filter((name) => !setNames.has(name) && !isReservedSecretName(name));
906
906
  if (missing.length === 0) {
907
907
  return;
908
908
  }
@@ -946,7 +946,7 @@ export async function cmdDeployments(options) {
946
946
  return 0;
947
947
  }
948
948
  ctx.out(`${renderTable(["SLUG", "ARCH", "STATUS", "GEN", "KIND", "UPDATED"], [
949
- ...deployments.map(d => [
949
+ ...deployments.map((d) => [
950
950
  d.slug,
951
951
  "v1",
952
952
  d.status,
@@ -954,14 +954,14 @@ export async function cmdDeployments(options) {
954
954
  d.deploymentKind,
955
955
  d.desiredUpdatedAt ?? "",
956
956
  ]),
957
- ...applications.map(application => [
957
+ ...applications.map((application) => [
958
958
  application.slug,
959
959
  "v2",
960
960
  application.status,
961
961
  "-",
962
962
  "application",
963
963
  application.deployments
964
- .map(row => row.desiredUpdatedAt)
964
+ .map((row) => row.desiredUpdatedAt)
965
965
  .sort()
966
966
  .at(-1) ?? "",
967
967
  ]),
@@ -1075,7 +1075,7 @@ function livePublicWebhookLines(ctx, detail) {
1075
1075
  return "";
1076
1076
  }
1077
1077
  return (detail.publicRoutePaths ?? [])
1078
- .map(path => ` public: ${ctx.client.aliasUrl(engineAlias)}${path} (no alias token)\n`)
1078
+ .map((path) => ` public: ${ctx.client.aliasUrl(engineAlias)}${path} (no alias token)\n`)
1079
1079
  .join("");
1080
1080
  }
1081
1081
  function renderAgentkitDeploymentStatus(ctx, detail) {
@@ -1535,7 +1535,7 @@ export async function cmdSecretsSet(slug, specs, options) {
1535
1535
  }
1536
1536
  parsed.push(eq === -1 ? { name } : { name, value: spec.slice(eq + 1) });
1537
1537
  }
1538
- const hasArgvValues = parsed.some(entry => entry.value !== undefined);
1538
+ const hasArgvValues = parsed.some((entry) => entry.value !== undefined);
1539
1539
  if (hasArgvValues && options.fromArgv !== true) {
1540
1540
  usageErr(`Refusing NAME=VALUE on argv (shows up in shell history and agent-captured terminals).\n` +
1541
1541
  `Pass names only:\n` +
@@ -1629,7 +1629,7 @@ export async function cmdSecretsList(slug, options) {
1629
1629
  ctx.out(`No secrets set on ${slug}. Add one with \`${CLI} secrets set ${slug} NAME\`.\n`);
1630
1630
  return 0;
1631
1631
  }
1632
- ctx.out(`${renderTable(["NAME", "CREATED"], secrets.map(secret => [secret.name, secret.createdAt]))}\n`);
1632
+ ctx.out(`${renderTable(["NAME", "CREATED"], secrets.map((secret) => [secret.name, secret.createdAt]))}\n`);
1633
1633
  return 0;
1634
1634
  }
1635
1635
  export async function cmdSecretsUnset(slug, name, options) {
@@ -1678,7 +1678,7 @@ export async function cmdSecretsUnset(slug, name, options) {
1678
1678
  */
1679
1679
  function createSecretValueReader(stdin, err) {
1680
1680
  if (stdin.isTTY === true) {
1681
- return name => promptHidden(stdin, err, `Value for ${name}: `);
1681
+ return (name) => promptHidden(stdin, err, `Value for ${name}: `);
1682
1682
  }
1683
1683
  const readLine = createLineReader(stdin);
1684
1684
  return async (name) => {
@@ -1831,7 +1831,7 @@ export function createLineReader(stream) {
1831
1831
  drain();
1832
1832
  });
1833
1833
  stream.resume();
1834
- return () => new Promise(resolvePromise => {
1834
+ return () => new Promise((resolvePromise) => {
1835
1835
  waiters.push(resolvePromise);
1836
1836
  drain();
1837
1837
  });
@@ -2000,7 +2000,7 @@ export function renderApiError(error, err, context) {
2000
2000
  throw error;
2001
2001
  }
2002
2002
  export function renderTable(header, rows) {
2003
- const widths = header.map((h, i) => Math.max(h.length, ...rows.map(row => (row[i] ?? "").length)));
2003
+ const widths = header.map((h, i) => Math.max(h.length, ...rows.map((row) => (row[i] ?? "").length)));
2004
2004
  const renderRow = (row) => row
2005
2005
  .map((cell, i) => cell.padEnd(widths[i] ?? 0))
2006
2006
  .join(" ")
@@ -8,8 +8,8 @@ import { PACKAGE_NAME } from "./distribution.js";
8
8
  import { docsSiteExists, ensureDocsSiteBundle, renderDocsFile } from "./docs-site.js";
9
9
  import { openBrowser } from "./open-browser.js";
10
10
  export async function cmdDocs(options = {}) {
11
- const stdout = options.stdoutWrite ?? (c => void process.stdout.write(c));
12
- const stderr = options.stderrWrite ?? (c => void process.stderr.write(c));
11
+ const stdout = options.stdoutWrite ?? ((c) => void process.stdout.write(c));
12
+ const stderr = options.stderrWrite ?? ((c) => void process.stderr.write(c));
13
13
  await (options.ensureBundle ?? ensureDocsSiteBundle)();
14
14
  if (!(options.siteExists ?? docsSiteExists)()) {
15
15
  stderr(`Documentation site is missing from this install. Reinstall ${PACKAGE_NAME}, or from a source checkout run: pnpm run docs:build\n`);
@@ -20,7 +20,7 @@ export async function cmdDocs(options = {}) {
20
20
  handle = await startDocsServer({
21
21
  port: options.port ?? 0,
22
22
  host: options.host ?? "127.0.0.1",
23
- renderFile: options.renderFile ?? (path => renderDocsFile(path)),
23
+ renderFile: options.renderFile ?? ((path) => renderDocsFile(path)),
24
24
  createServerImpl: options.createServerImpl ?? createServer,
25
25
  });
26
26
  }
@@ -49,7 +49,7 @@ export async function cmdDocs(options = {}) {
49
49
  }
50
50
  }
51
51
  try {
52
- await new Promise(resolve => {
52
+ await new Promise((resolve) => {
53
53
  if (controller.signal.aborted) {
54
54
  resolve();
55
55
  return;
@@ -87,7 +87,7 @@ export async function startDocsServer(args) {
87
87
  docsUrl: `${url}/docs/`,
88
88
  port: address.port,
89
89
  close: () => new Promise((resolve, reject) => {
90
- server.close(err => (err !== undefined ? reject(err) : resolve()));
90
+ server.close((err) => (err !== undefined ? reject(err) : resolve()));
91
91
  }),
92
92
  };
93
93
  }
@@ -177,10 +177,10 @@ async function cmdGithubReplay(options) {
177
177
  const port = options.port ?? DEFAULT_PORT;
178
178
  let candidates = channels;
179
179
  if (options.slug !== undefined) {
180
- candidates = candidates.filter(c => c.slug === options.slug);
180
+ candidates = candidates.filter((c) => c.slug === options.slug);
181
181
  }
182
182
  if (options.channel !== undefined) {
183
- candidates = candidates.filter(c => c.channelId === options.channel);
183
+ candidates = candidates.filter((c) => c.channelId === options.channel);
184
184
  }
185
185
  if (options.url !== undefined && candidates.length > 1) {
186
186
  process.stderr.write("--url targets a single channel; narrow with --slug/--channel\n");
@@ -192,7 +192,7 @@ async function cmdGithubReplay(options) {
192
192
  return 1;
193
193
  }
194
194
  const targets = options.url === undefined
195
- ? candidates.map(c => ({
195
+ ? candidates.map((c) => ({
196
196
  slug: c.slug,
197
197
  channelId: c.channelId,
198
198
  url: channelForwardUrl({
@@ -233,7 +233,7 @@ async function cmdGithubReplay(options) {
233
233
  return 1;
234
234
  }
235
235
  // Best-effort: mirror a real CI check (app slug / conclusion) for CI events.
236
- const wantsCi = eventsToReplay.some(event => ["check_run", "check_suite", "workflow_run", "status"].includes(event));
236
+ const wantsCi = eventsToReplay.some((event) => ["check_run", "check_suite", "workflow_run", "status"].includes(event));
237
237
  const check = wantsCi ? await fetchReplayCheck(ref, pull.head.sha) : undefined;
238
238
  const synthesized = [];
239
239
  for (const event of eventsToReplay) {
@@ -259,7 +259,7 @@ async function cmdGithubReplay(options) {
259
259
  }
260
260
  const secret = options.secret ?? process.env.GITHUB_WEBHOOK_SECRET;
261
261
  process.stderr.write(`[bdk] replaying ${ref.label} (${synthesized
262
- .map(s => s.eventName)
262
+ .map((s) => s.eventName)
263
263
  .join(", ")}) → ${targets.length} channel${targets.length === 1 ? "" : "s"}\n`);
264
264
  const report = [];
265
265
  let anyRejected = false;
@@ -286,13 +286,13 @@ async function cmdGithubReplay(options) {
286
286
  continue;
287
287
  }
288
288
  const deliveries = await deliverReplayEvent(body, headers, event.eventName, targets);
289
- if (deliveries.length === 0 || deliveries.some(delivery => !delivery.ok)) {
289
+ if (deliveries.length === 0 || deliveries.some((delivery) => !delivery.ok)) {
290
290
  anyRejected = true;
291
291
  }
292
292
  report.push({ ...eventReport(event), deliveries });
293
293
  if (options.json !== true) {
294
294
  const summary = deliveries
295
- .map(delivery => `${delivery.label} ${delivery.status || "ERR"}${delivery.ok ? "" : " (rejected)"}`)
295
+ .map((delivery) => `${delivery.label} ${delivery.status || "ERR"}${delivery.ok ? "" : " (rejected)"}`)
296
296
  .join(", ") || "(no matching channel)";
297
297
  process.stderr.write(`[bdk] ${label} → ${summary}\n`);
298
298
  }
@@ -304,7 +304,7 @@ async function cmdGithubReplay(options) {
304
304
  }
305
305
  /** POST one synthesized event to every channel whose event set matches. */
306
306
  async function deliverReplayEvent(body, headers, eventName, targets) {
307
- const recipients = targets.filter(target => target.events.length === 0 || target.events.includes(eventName));
307
+ const recipients = targets.filter((target) => target.events.length === 0 || target.events.includes(eventName));
308
308
  const payload = new Uint8Array(body);
309
309
  // Bounded by the channel count (a handful) — see fanoutDelivery.
310
310
  return Promise.all(recipients.map(async (target) => {
@@ -350,7 +350,7 @@ async function fetchReplayCheck(ref, sha) {
350
350
  try {
351
351
  const data = await ghApiJson(`repos/${ref.owner}/${ref.repo}/commits/${sha}/check-runs?per_page=100`);
352
352
  const runs = data.check_runs ?? [];
353
- const chosen = runs.find(run => run.conclusion === "failure") ?? runs[0];
353
+ const chosen = runs.find((run) => run.conclusion === "failure") ?? runs[0];
354
354
  if (chosen === undefined) {
355
355
  return undefined;
356
356
  }
@@ -386,7 +386,7 @@ async function cmdGithubEvents(options) {
386
386
  });
387
387
  if (options.json) {
388
388
  process.stdout.write(`${JSON.stringify({
389
- channels: targets.map(t => ({
389
+ channels: targets.map((t) => ({
390
390
  slug: t.slug,
391
391
  channelId: t.channelId,
392
392
  url: urlFor(t),
@@ -479,7 +479,7 @@ async function cmdGithubDoctor(options) {
479
479
  }
480
480
  function reportDoctor(checks, json) {
481
481
  // Warnings (e.g. an env-token override) are advisory and do not fail doctor.
482
- const ok = checks.every(check => check.ok || check.warn === true);
482
+ const ok = checks.every((check) => check.ok || check.warn === true);
483
483
  if (json === true) {
484
484
  process.stdout.write(`${JSON.stringify({ ok, checks }, null, 2)}\n`);
485
485
  }
@@ -565,7 +565,7 @@ async function tryExec(options) {
565
565
  }
566
566
  }
567
567
  function spawnGh(args) {
568
- return new Promise(resolve => {
568
+ return new Promise((resolve) => {
569
569
  const child = spawn("gh", args, { stdio: "inherit" });
570
570
  const forward = (signal) => {
571
571
  if (!child.killed) {
@@ -574,7 +574,7 @@ function spawnGh(args) {
574
574
  };
575
575
  process.on("SIGINT", forward);
576
576
  process.on("SIGTERM", forward);
577
- child.on("error", error => {
577
+ child.on("error", (error) => {
578
578
  process.stderr.write(`failed to run gh: ${error.message}\n`);
579
579
  resolve(1);
580
580
  });
@@ -590,11 +590,11 @@ function parseEventList(value) {
590
590
  }
591
591
  const events = value
592
592
  .split(/[\s,]+/)
593
- .map(event => event.trim())
593
+ .map((event) => event.trim())
594
594
  .filter(Boolean);
595
595
  return events.length === 0 ? undefined : events;
596
596
  }
597
597
  /** Render the gh argv for logging with the signing secret masked. */
598
598
  function redact(args) {
599
- return args.map(arg => (arg.startsWith("--secret=") ? "--secret=***" : arg)).join(" ");
599
+ return args.map((arg) => (arg.startsWith("--secret=") ? "--secret=***" : arg)).join(" ");
600
600
  }