@cursor/bdk 0.2.11 → 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 (432) 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_tools.md.v3SXVSs_.js → reference_tools.md.DzIY9JzY.js} +3 -3
  124. package/dist/docs/assets/{reference_tools.md.v3SXVSs_.lean.js → reference_tools.md.DzIY9JzY.lean.js} +1 -1
  125. package/dist/docs/assets/{style.C130MVnH.css → style.Dwls12uf.css} +1 -1
  126. package/dist/docs/building-with-agents.html +37 -37
  127. package/dist/docs/deployment.html +37 -37
  128. package/dist/docs/evals.html +37 -37
  129. package/dist/docs/guides/agent-to-agent.html +37 -37
  130. package/dist/docs/guides/bitbucket.html +37 -37
  131. package/dist/docs/guides/cloud-agents.html +37 -37
  132. package/dist/docs/guides/convert-automation.html +37 -37
  133. package/dist/docs/guides/github.html +37 -37
  134. package/dist/docs/guides/gitlab.html +37 -37
  135. package/dist/docs/guides/grokbot-agents.html +37 -37
  136. package/dist/docs/guides/hooks.html +37 -37
  137. package/dist/docs/guides/improve.html +37 -37
  138. package/dist/docs/guides/jev.html +37 -37
  139. package/dist/docs/guides/mcp-oauth.html +37 -37
  140. package/dist/docs/guides/migrate.html +37 -37
  141. package/dist/docs/guides/opentelemetry.html +37 -37
  142. package/dist/docs/guides/slack.html +37 -37
  143. package/dist/docs/guides/webhooks.html +37 -37
  144. package/dist/docs/hashmap.json +1 -1
  145. package/dist/docs/hillclimbing.html +37 -37
  146. package/dist/docs/index.html +37 -37
  147. package/dist/docs/llms-full.txt +15 -2
  148. package/dist/docs/quickstart.html +37 -37
  149. package/dist/docs/reference/agent-config.html +37 -37
  150. package/dist/docs/reference/artifacts.html +37 -37
  151. package/dist/docs/reference/channels.html +37 -37
  152. package/dist/docs/reference/cli.html +37 -37
  153. package/dist/docs/reference/connections.html +39 -39
  154. package/dist/docs/reference/connections.md +2 -1
  155. package/dist/docs/reference/evals.html +37 -37
  156. package/dist/docs/reference/extensions.html +37 -37
  157. package/dist/docs/reference/hooks.html +39 -39
  158. package/dist/docs/reference/hooks.md +1 -0
  159. package/dist/docs/reference/http-api.html +37 -37
  160. package/dist/docs/reference/instructions.html +37 -37
  161. package/dist/docs/reference/playground.html +36 -36
  162. package/dist/docs/reference/project-layout.html +37 -37
  163. package/dist/docs/reference/prompt.html +37 -37
  164. package/dist/docs/reference/schedules.html +37 -37
  165. package/dist/docs/reference/sessions.html +37 -37
  166. package/dist/docs/reference/sessions.md +1 -1
  167. package/dist/docs/reference/skills.html +37 -37
  168. package/dist/docs/reference/subagents.html +37 -37
  169. package/dist/docs/reference/tools.html +39 -39
  170. package/dist/docs/reference/tools.md +11 -0
  171. package/dist/docs/templates/agentic-owners.html +37 -37
  172. package/dist/docs/templates/grokbot-agents.html +37 -37
  173. package/dist/docs/templates/security-reviewer.html +37 -37
  174. package/dist/docs/templates/thermo-quality-review.html +37 -37
  175. package/dist/docs/templates/thermo-review.html +37 -37
  176. package/dist/docs/templates/triage.html +37 -37
  177. package/dist/docs/troubleshooting.html +36 -36
  178. package/dist/evals/assertions.d.ts.map +1 -1
  179. package/dist/evals/assertions.js +21 -19
  180. package/dist/evals/expect.js +1 -1
  181. package/dist/evals/judge.js +1 -1
  182. package/dist/evals/reporters.js +8 -8
  183. package/dist/evals/run-facts.js +2 -2
  184. package/dist/evals.js +6 -6
  185. package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
  186. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  187. package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
  188. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +16 -0
  189. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  190. package/dist/extensions/cursor-cloud-agents/lib/backend.js +44 -3
  191. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  192. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts +23 -0
  193. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts.map +1 -0
  194. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.js +32 -0
  195. package/dist/extensions/cursor-cloud-agents/lib/repos.js +2 -2
  196. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -2
  197. package/dist/extensions/cursor-cloud-agents/lib/watch.d.ts.map +1 -1
  198. package/dist/extensions/cursor-cloud-agents/lib/watch.js +1 -1
  199. package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -1
  200. package/dist/extensions/cursor-cloud-agents/tools/launch.js +3 -8
  201. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  202. package/dist/extensions/cursor-grokbot-agents/extension.js +3 -3
  203. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +3 -3
  204. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +3 -3
  205. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +4 -4
  206. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  207. package/dist/extensions/improve/skills/yourself.js +1 -1
  208. package/dist/extensions/jev/extension.js +2 -2
  209. package/dist/extensions/jev/tools/evaluate.js +1 -1
  210. package/dist/extensions/slack-communication/tools/react.js +1 -1
  211. package/dist/files-backends/cursor-hosted.js +8 -8
  212. package/dist/files-backends/local-fs.js +1 -1
  213. package/dist/filesystem.d.ts.map +1 -1
  214. package/dist/filesystem.js +15 -15
  215. package/dist/internal/advertise-tools.d.ts +3 -2
  216. package/dist/internal/advertise-tools.d.ts.map +1 -1
  217. package/dist/internal/advertise-tools.js +11 -9
  218. package/dist/internal/approval-gate.js +1 -1
  219. package/dist/internal/artifacts-store.js +13 -13
  220. package/dist/internal/as-of.js +2 -2
  221. package/dist/internal/authored-alias-hooks.js +1 -1
  222. package/dist/internal/builtin-tools/reminders.js +2 -2
  223. package/dist/internal/chat-client.js +5 -5
  224. package/dist/internal/cli-ax.js +14 -14
  225. package/dist/internal/cli-bitbucket.js +10 -10
  226. package/dist/internal/cli-convert-automation.js +2 -2
  227. package/dist/internal/cli-cursor.js +2 -2
  228. package/dist/internal/cli-deploy.d.ts.map +1 -1
  229. package/dist/internal/cli-deploy.js +40 -40
  230. package/dist/internal/cli-docs.js +5 -5
  231. package/dist/internal/cli-github.js +15 -15
  232. package/dist/internal/cli-gitlab.js +10 -10
  233. package/dist/internal/cli-images.js +16 -16
  234. package/dist/internal/cli-manifest.js +1 -1
  235. package/dist/internal/cli-mcp-oauth.js +5 -5
  236. package/dist/internal/cli-mcp.js +3 -3
  237. package/dist/internal/cli-migrate.js +1 -1
  238. package/dist/internal/cli-skills.js +2 -2
  239. package/dist/internal/cli-slack.js +5 -5
  240. package/dist/internal/cloud-turn-cost.js +1 -1
  241. package/dist/internal/continuation-identity.js +6 -6
  242. package/dist/internal/conversation-mirror.js +5 -5
  243. package/dist/internal/convert-automation/convert-workflow.js +24 -24
  244. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  245. package/dist/internal/cursor/account-mcp.js +20 -20
  246. package/dist/internal/cursor/backend-client.js +6 -6
  247. package/dist/internal/cursor/credentials.js +1 -1
  248. package/dist/internal/cursor/store-api-client.js +1 -1
  249. package/dist/internal/cursor-account-mcp-auth.js +9 -9
  250. package/dist/internal/cursor-deployment-relay.d.ts.map +1 -1
  251. package/dist/internal/cursor-deployment-relay.js +9 -9
  252. package/dist/internal/cursor-event-relay.js +10 -10
  253. package/dist/internal/cursor-relay-core.js +2 -2
  254. package/dist/internal/deploy-manifest.js +10 -10
  255. package/dist/internal/discovery/agent-config.js +2 -2
  256. package/dist/internal/discovery/agent.js +6 -6
  257. package/dist/internal/discovery/connections.js +5 -5
  258. package/dist/internal/discovery/cursor-plugin.js +12 -12
  259. package/dist/internal/discovery/extension-overlay.js +3 -3
  260. package/dist/internal/discovery/extensions.js +6 -6
  261. package/dist/internal/discovery/info.js +9 -9
  262. package/dist/internal/discovery/instructions.js +1 -1
  263. package/dist/internal/discovery/project.js +3 -3
  264. package/dist/internal/discovery/services.js +1 -1
  265. package/dist/internal/discovery/tools.js +1 -1
  266. package/dist/internal/docs-site.js +2 -2
  267. package/dist/internal/env-file.js +1 -1
  268. package/dist/internal/eval-run-store.js +7 -7
  269. package/dist/internal/eval-runner.d.ts.map +1 -1
  270. package/dist/internal/eval-runner.js +14 -14
  271. package/dist/internal/eval-transport.js +1 -1
  272. package/dist/internal/evals-client.js +4 -4
  273. package/dist/internal/event-log.js +8 -8
  274. package/dist/internal/event-mapper.js +13 -13
  275. package/dist/internal/expected-delivery-failure.js +2 -2
  276. package/dist/internal/filesystem/format.js +2 -2
  277. package/dist/internal/filesystem/nearest.js +3 -3
  278. package/dist/internal/filesystem/scratch.js +3 -3
  279. package/dist/internal/filesystem/tools.js +6 -6
  280. package/dist/internal/filesystem/walk.d.ts.map +1 -1
  281. package/dist/internal/filesystem/walk.js +2 -2
  282. package/dist/internal/framework-file-storage.d.ts.map +1 -1
  283. package/dist/internal/framework-file-storage.js +6 -5
  284. package/dist/internal/framework-storage-selection.d.ts.map +1 -1
  285. package/dist/internal/framework-storage-selection.js +4 -2
  286. package/dist/internal/github-fanout.d.ts.map +1 -1
  287. package/dist/internal/github-fanout.js +3 -3
  288. package/dist/internal/guest-network.js +4 -4
  289. package/dist/internal/host-files.js +1 -1
  290. package/dist/internal/host-kv.js +2 -2
  291. package/dist/internal/hosted-catch-protocol.js +1 -1
  292. package/dist/internal/hosted-catch.js +1 -1
  293. package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
  294. package/dist/internal/hosted-delivery-protocol.js +14 -14
  295. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  296. package/dist/internal/hosted-delivery.js +23 -9
  297. package/dist/internal/hosted-eval-cases.js +4 -4
  298. package/dist/internal/hosted-execution-diag.js +3 -3
  299. package/dist/internal/hosting.js +1 -1
  300. package/dist/internal/http-channel.js +1 -1
  301. package/dist/internal/http-control-plane-session.js +2 -2
  302. package/dist/internal/init-interview.js +7 -7
  303. package/dist/internal/init-project.d.ts.map +1 -1
  304. package/dist/internal/init-project.js +12 -12
  305. package/dist/internal/inline-stdio-mcp.js +2 -2
  306. package/dist/internal/install-cursor-skills.js +11 -11
  307. package/dist/internal/json-schema.js +1 -1
  308. package/dist/internal/local-control-plane.js +3 -3
  309. package/dist/internal/local-env.js +3 -3
  310. package/dist/internal/log-ring.js +1 -1
  311. package/dist/internal/logs-client.js +1 -1
  312. package/dist/internal/mcp-endpoint.js +8 -8
  313. package/dist/internal/mcp-host.d.ts.map +1 -1
  314. package/dist/internal/mcp-host.js +5 -5
  315. package/dist/internal/mcp-oauth-on-demand.js +3 -3
  316. package/dist/internal/mcp-oauth.js +5 -5
  317. package/dist/internal/net.js +2 -2
  318. package/dist/internal/otel/config.js +3 -3
  319. package/dist/internal/otel/runtime.js +13 -13
  320. package/dist/internal/peer-connections.js +2 -2
  321. package/dist/internal/persistent-stage-log-mirror.d.ts +57 -0
  322. package/dist/internal/persistent-stage-log-mirror.d.ts.map +1 -0
  323. package/dist/internal/persistent-stage-log-mirror.js +231 -0
  324. package/dist/internal/platform-schedule-sync.js +1 -1
  325. package/dist/internal/platform-timers.js +1 -1
  326. package/dist/internal/playground/static.js +2 -2
  327. package/dist/internal/playground/toolchain.js +2 -2
  328. package/dist/internal/playground-proxy.js +3 -3
  329. package/dist/internal/process-memory-telemetry.js +1 -1
  330. package/dist/internal/reminder-runner.d.ts +1 -1
  331. package/dist/internal/reminder-runner.d.ts.map +1 -1
  332. package/dist/internal/reminder-runner.js +14 -16
  333. package/dist/internal/reminder-store.js +1 -1
  334. package/dist/internal/resolved-connections.js +8 -8
  335. package/dist/internal/router.js +4 -4
  336. package/dist/internal/run-client.js +2 -2
  337. package/dist/internal/schedule-runner.js +6 -6
  338. package/dist/internal/sdk-runner.d.ts.map +1 -1
  339. package/dist/internal/sdk-runner.js +6 -6
  340. package/dist/internal/serve-restart.js +1 -1
  341. package/dist/internal/server.d.ts.map +1 -1
  342. package/dist/internal/server.js +93 -72
  343. package/dist/internal/session-cost.js +3 -3
  344. package/dist/internal/session-engine.d.ts +8 -0
  345. package/dist/internal/session-engine.d.ts.map +1 -1
  346. package/dist/internal/session-engine.js +183 -118
  347. package/dist/internal/session-live-publisher.d.ts +46 -0
  348. package/dist/internal/session-live-publisher.d.ts.map +1 -0
  349. package/dist/internal/session-live-publisher.js +352 -0
  350. package/dist/internal/session-run-log.js +6 -6
  351. package/dist/internal/sessions-client.js +3 -3
  352. package/dist/internal/skill-catalog.js +2 -2
  353. package/dist/internal/sleep.js +1 -1
  354. package/dist/internal/start-log-store.d.ts +5 -1
  355. package/dist/internal/start-log-store.d.ts.map +1 -1
  356. package/dist/internal/start-log-store.js +5 -3
  357. package/dist/internal/storage-coordinator.js +12 -12
  358. package/dist/internal/store-api-protocol.d.ts +51 -0
  359. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  360. package/dist/internal/store-api-protocol.js +39 -2
  361. package/dist/internal/store-mirror.js +4 -4
  362. package/dist/internal/stream-progress.d.ts.map +1 -1
  363. package/dist/internal/stream-progress.js +4 -0
  364. package/dist/internal/terminal-style.js +2 -2
  365. package/dist/internal/tool-call-retry.d.ts +87 -0
  366. package/dist/internal/tool-call-retry.d.ts.map +1 -0
  367. package/dist/internal/tool-call-retry.js +387 -0
  368. package/dist/internal/tool-result.js +3 -3
  369. package/dist/internal/trajectory.js +7 -7
  370. package/dist/internal/turn-governor.js +2 -2
  371. package/dist/internal/turn-outbox.js +1 -1
  372. package/dist/internal/update-check.d.ts.map +1 -1
  373. package/dist/internal/update-check.js +4 -2
  374. package/dist/internal/v2-hosting.d.ts +6 -0
  375. package/dist/internal/v2-hosting.d.ts.map +1 -1
  376. package/dist/internal/v2-hosting.js +7 -1
  377. package/dist/internal/workspace.js +4 -4
  378. package/dist/kv/memory-kv.js +3 -3
  379. package/dist/playground/assets/{index-Be0-1hw2.js → index-HN5lOuAX.js} +42 -42
  380. package/dist/playground/assets/index-JY1wKCMg.css +1 -0
  381. package/dist/playground/index.html +2 -2
  382. package/dist/prompt.js +1 -1
  383. package/dist/storage-backends/cursor-hosted-v2.js +2 -2
  384. package/dist/storage-backends/file-kv.js +7 -7
  385. package/dist/storage-protocol.d.ts +7 -0
  386. package/dist/storage-protocol.d.ts.map +1 -1
  387. package/dist/storage-protocol.js +7 -0
  388. package/dist/storage.js +3 -3
  389. package/dist/types.d.ts +15 -0
  390. package/dist/types.d.ts.map +1 -1
  391. package/dist/types.js +4 -4
  392. package/docs/reference/connections.md +2 -1
  393. package/docs/reference/hooks.md +1 -0
  394. package/docs/reference/sessions.md +1 -1
  395. package/docs/reference/tools.md +11 -0
  396. package/package.json +6 -6
  397. package/templates/agentic-owners/bot/channels/github.ts +2 -2
  398. package/templates/agentic-owners/bot/lib/github.ts +7 -5
  399. package/templates/agentic-owners/bot/lib/owners/decision.ts +9 -9
  400. package/templates/agentic-owners/bot/lib/owners/handles.ts +2 -2
  401. package/templates/agentic-owners/bot/lib/owners/match.ts +5 -3
  402. package/templates/agentic-owners/bot/lib/owners/matching.ts +1 -1
  403. package/templates/agentic-owners/bot/lib/owners/parse.ts +4 -4
  404. package/templates/agentic-owners/bot/lib/owners/prompt.ts +1 -1
  405. package/templates/agentic-owners/bot/lib/review.ts +18 -17
  406. package/templates/agentic-owners/evals/owners.eval.ts +2 -2
  407. package/templates/agents-md/bot/lib/collect.ts +6 -6
  408. package/templates/agents-md/bot/lib/config.ts +1 -1
  409. package/templates/agents-md/bot/tools/apply_agents.ts +4 -4
  410. package/templates/code-wiki/bot/channels/github.ts +3 -3
  411. package/templates/code-wiki/bot/lib/repos.ts +1 -1
  412. package/templates/code-wiki/bot/tools/apply_wiki.ts +2 -2
  413. package/templates/demo/bot/lib/collect.ts +1 -1
  414. package/templates/demo/bot/lib/repos.ts +1 -1
  415. package/templates/demo/bot/tools/record_demo.ts +1 -1
  416. package/templates/pr-autofixer/bot/channels/github.ts +2 -2
  417. package/templates/pr-autofixer/bot/lib/merge-watch.ts +2 -2
  418. package/templates/pr-autofixer/bot/lib/repos.ts +2 -2
  419. package/templates/pr-autofixer/bot/lib/webhook-routing.ts +1 -1
  420. package/templates/security-help/bot/lib/repos.ts +1 -1
  421. package/templates/security-reviewer/bot/lib/repos.ts +1 -1
  422. package/templates/triage/bot/lib/actuate.ts +15 -15
  423. package/dist/docs/assets/chunks/@localSearchIndexroot.CtLtpWcx.js +0 -1
  424. package/dist/docs/assets/chunks/channel.CBwrU9rP.js +0 -1
  425. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CbC_mrvB.js +0 -1
  426. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CbC_mrvB.js +0 -1
  427. package/dist/docs/assets/chunks/clone.BTvFyY1a.js +0 -1
  428. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BYXl4LW6.js +0 -1
  429. package/dist/docs/assets/chunks/wardley-RL74JXVD.iXazD3Z7.js +0 -162
  430. package/dist/playground/assets/index-Clz6uHj9.css +0 -1
  431. /package/dist/docs/assets/{reference_connections.md.Bljpve-y.lean.js → reference_connections.md.DLrgAd5f.lean.js} +0 -0
  432. /package/dist/docs/assets/{reference_sessions.md.CM5zo3w4.lean.js → reference_sessions.md.CyM7ARz1.lean.js} +0 -0
@@ -21,12 +21,12 @@ const PLUGIN_ROOT_VARIABLES = new Set(["CURSOR_PLUGIN_ROOT", "CLAUDE_PLUGIN_ROOT
21
21
  /** A component slot's declaration: one directory or a list of paths. */
22
22
  const pathsSchema = z
23
23
  .union([z.string(), z.array(z.string())])
24
- .transform(value => (typeof value === "string" ? [value] : value));
24
+ .transform((value) => (typeof value === "string" ? [value] : value));
25
25
  /** A blank or null value reads as absent, as a missing key would. */
26
26
  const text = z
27
27
  .string()
28
28
  .nullish()
29
- .transform(value => value === undefined || value === null || value.trim() === "" ? undefined : value);
29
+ .transform((value) => value === undefined || value === null || value.trim() === "" ? undefined : value);
30
30
  const manifestSchema = z.object({
31
31
  description: text.optional(),
32
32
  skills: pathsSchema.optional(),
@@ -41,11 +41,11 @@ const manifestSchema = z.object({
41
41
  z.array(z.union([z.string(), z.record(z.unknown())])),
42
42
  ])
43
43
  .optional()
44
- .transform(value => {
44
+ .transform((value) => {
45
45
  const items = value === undefined || Array.isArray(value) ? (value ?? []) : [value];
46
46
  return {
47
- paths: items.filter(item => typeof item === "string"),
48
- inline: items.filter(item => typeof item !== "string"),
47
+ paths: items.filter((item) => typeof item === "string"),
48
+ inline: items.filter((item) => typeof item !== "string"),
49
49
  };
50
50
  }),
51
51
  });
@@ -84,7 +84,7 @@ export async function readCursorPlugin(ctx, root, mountPath, variables, overlaid
84
84
  };
85
85
  const skills = await loadPluginSkills(plugin, manifest.data.skills);
86
86
  for (const command of await loadPluginCommands(plugin, manifest.data.commands)) {
87
- if (skills.some(skill => skill.name === command.name)) {
87
+ if (skills.some((skill) => skill.name === command.name)) {
88
88
  ctx.diagnostics.push({
89
89
  severity: "warning",
90
90
  path: displayPath(ctx, root),
@@ -170,7 +170,7 @@ async function loadPluginSkills(plugin, declared) {
170
170
  const skills = [];
171
171
  for (const dir of dirs) {
172
172
  const skill = await readSkillDir(plugin, dir);
173
- if (skill !== undefined && !skills.some(s => s.name === skill.name)) {
173
+ if (skill !== undefined && !skills.some((s) => s.name === skill.name)) {
174
174
  skills.push(skill);
175
175
  }
176
176
  }
@@ -226,7 +226,7 @@ async function loadPluginAgents(plugin, declared) {
226
226
  for (const path of await componentFiles(plugin, declared, "agents", MARKDOWN_EXTENSIONS)) {
227
227
  const { data, body } = await readMarkdown(plugin, path);
228
228
  const name = componentName(plugin, data.name ?? fileStem(path), path);
229
- if (name === undefined || agents.some(agent => agent.name === name)) {
229
+ if (name === undefined || agents.some((agent) => agent.name === name)) {
230
230
  continue;
231
231
  }
232
232
  if (isBlank(body)) {
@@ -311,7 +311,7 @@ function mcpServersOf(data) {
311
311
  }
312
312
  function serverConnection(plugin, name, raw, path) {
313
313
  const unresolved = new Set();
314
- const expanded = expandPlaceholders(raw, key => {
314
+ const expanded = expandPlaceholders(raw, (key) => {
315
315
  if (PLUGIN_ROOT_VARIABLES.has(key)) {
316
316
  return plugin.root;
317
317
  }
@@ -321,7 +321,7 @@ function serverConnection(plugin, name, raw, path) {
321
321
  plugin.ctx.diagnostics.push({
322
322
  severity: "error",
323
323
  path: displayPath(plugin.ctx, path),
324
- message: `MCP server "${name}" needs ${[...unresolved].map(v => `\${${v}}`).join(", ")}. Pass it in cursorPlugin({ variables }) or set it in the environment.`,
324
+ message: `MCP server "${name}" needs ${[...unresolved].map((v) => `\${${v}}`).join(", ")}. Pass it in cursorPlugin({ variables }) or set it in the environment.`,
325
325
  });
326
326
  return undefined;
327
327
  }
@@ -395,7 +395,7 @@ function expandPlaceholders(value, lookup, unresolved) {
395
395
  });
396
396
  }
397
397
  if (Array.isArray(value)) {
398
- return value.map(item => expandPlaceholders(item, lookup, unresolved));
398
+ return value.map((item) => expandPlaceholders(item, lookup, unresolved));
399
399
  }
400
400
  if (isRecord(value)) {
401
401
  const out = {};
@@ -433,7 +433,7 @@ async function componentFiles(plugin, declared, folder, extensions) {
433
433
  files.push(path);
434
434
  }
435
435
  }
436
- return files.filter(file => extensions.has(extname(file)));
436
+ return files.filter((file) => extensions.has(extname(file)));
437
437
  }
438
438
  /** Manifest paths resolve against the plugin root; escaping ones are refused, as in Cursor. */
439
439
  function declaredPaths(plugin, declared) {
@@ -34,13 +34,13 @@ export async function overlaySlot(ctx, site, contributed, entries, slot) {
34
34
  }
35
35
  }
36
36
  export async function overlaySkills(ctx, site, contributed, dir) {
37
- await overlayNamed(ctx, site, contributed, dir, "disableSkill", onDisable => loadSkills(ctx, dir, onDisable));
37
+ await overlayNamed(ctx, site, contributed, dir, "disableSkill", (onDisable) => loadSkills(ctx, dir, onDisable));
38
38
  }
39
39
  export async function overlayHooks(ctx, site, contributed, dir) {
40
- await overlayNamed(ctx, site, contributed, dir, "disableHook", onDisable => loadHooks(ctx, dir, onDisable));
40
+ await overlayNamed(ctx, site, contributed, dir, "disableHook", (onDisable) => loadHooks(ctx, dir, onDisable));
41
41
  }
42
42
  export async function overlaySchedules(ctx, site, contributed, dir) {
43
- await overlayNamed(ctx, site, contributed, dir, "disableSchedule", onDisable => loadSchedules(ctx, dir, onDisable));
43
+ await overlayNamed(ctx, site, contributed, dir, "disableSchedule", (onDisable) => loadSchedules(ctx, dir, onDisable));
44
44
  }
45
45
  export async function overlayChannels(ctx, site, contributed, dir) {
46
46
  if (!(await isDirectory(dir))) {
@@ -38,7 +38,7 @@ export async function appendExtensions(ctx, extensionsDir, into) {
38
38
  if (site === undefined) {
39
39
  continue;
40
40
  }
41
- if (extensions.some(extension => extension.name === site.ns)) {
41
+ if (extensions.some((extension) => extension.name === site.ns)) {
42
42
  ctx.diagnostics.push({
43
43
  severity: "error",
44
44
  path: displayPath(ctx, path),
@@ -129,7 +129,7 @@ async function mountExtension(ctx, site, mount, into) {
129
129
  for (const agent of tree.agents) {
130
130
  subagents.set(agent.name, subagent(agent.name, agent));
131
131
  }
132
- const seedFiles = new Map(tree.seedFiles.map(seed => [seed.relativePath, seed]));
132
+ const seedFiles = new Map(tree.seedFiles.map((seed) => [seed.relativePath, seed]));
133
133
  let artifacts = tree.artifacts;
134
134
  let instructions = tree.instructions;
135
135
  if (site.overlayDir !== undefined) {
@@ -231,7 +231,7 @@ async function mountExtension(ctx, site, mount, into) {
231
231
  mounted.instructions = true;
232
232
  }
233
233
  for (const seed of seedFiles.values()) {
234
- if (into.seedFiles.some(existing => existing.relativePath === seed.relativePath)) {
234
+ if (into.seedFiles.some((existing) => existing.relativePath === seed.relativePath)) {
235
235
  ctx.diagnostics.push({
236
236
  severity: "warning",
237
237
  path: displayPath(ctx, seed.sourcePath),
@@ -272,7 +272,7 @@ async function readExtensionTree(ctx, site, mount, root) {
272
272
  const connectionOverlay = site.overlayDir === undefined
273
273
  ? []
274
274
  : await moduleEntries(ctx, join(site.overlayDir, "mcp-connections"), "connection");
275
- const plugin = await readCursorPlugin(ctx, root, site.mountPath, mount.extension.variables, new Set(connectionOverlay.map(entry => entry.name)));
275
+ const plugin = await readCursorPlugin(ctx, root, site.mountPath, mount.extension.variables, new Set(connectionOverlay.map((entry) => entry.name)));
276
276
  if (plugin === undefined) {
277
277
  return undefined;
278
278
  }
@@ -323,10 +323,10 @@ function namespaceSubagent(composed, child) {
323
323
  };
324
324
  }
325
325
  function byName(items) {
326
- return new Map(items.map(item => [item.name, item]));
326
+ return new Map(items.map((item) => [item.name, item]));
327
327
  }
328
328
  function byId(items) {
329
- return new Map(items.map(item => [item.id, item]));
329
+ return new Map(items.map((item) => [item.id, item]));
330
330
  }
331
331
  /**
332
332
  * Agent-singleton slots: one runtime (`agent.ts`), one storage backend,
@@ -54,7 +54,7 @@ export function projectInfo(project) {
54
54
  ? `${agent.instructions.slice(0, 277)}...`
55
55
  : agent.instructions,
56
56
  },
57
- tools: agent.tools.map(tool => ({
57
+ tools: agent.tools.map((tool) => ({
58
58
  name: tool.name,
59
59
  description: tool.description,
60
60
  execution: tool.execution,
@@ -62,12 +62,12 @@ export function projectInfo(project) {
62
62
  effect: tool.effect,
63
63
  inputSchema: tool.inputSchema,
64
64
  })),
65
- skills: agent.skills.map(skill => ({
65
+ skills: agent.skills.map((skill) => ({
66
66
  name: skill.name,
67
67
  description: skill.description,
68
68
  })),
69
69
  extensions: agent.extensions ?? [],
70
- connections: agent.connections.map(connection => ({
70
+ connections: agent.connections.map((connection) => ({
71
71
  name: connection.name,
72
72
  transport: connectionTransportLabel(connection.transport),
73
73
  advertiseTools: connection.advertiseTools,
@@ -77,17 +77,17 @@ export function projectInfo(project) {
77
77
  disallowedTools: connection.disallowedTools,
78
78
  cursorAccountServers: "cursorAccount" in connection.transport ? (connection.transport.servers ?? "*") : undefined,
79
79
  })),
80
- subagents: agent.subagents.map(subagent => ({
80
+ subagents: agent.subagents.map((subagent) => ({
81
81
  name: subagent.name,
82
82
  description: subagent.description,
83
83
  model: subagent.model,
84
84
  })),
85
85
  channels: [
86
86
  { id: "http", routes: httpRoutes },
87
- ...project.channels.map(channel => {
87
+ ...project.channels.map((channel) => {
88
88
  const info = {
89
89
  id: channel.id,
90
- routes: (channel.definition.routes ?? []).map(r => {
90
+ routes: (channel.definition.routes ?? []).map((r) => {
91
91
  const routeInfo = {
92
92
  method: r.method,
93
93
  path: r.path,
@@ -136,17 +136,17 @@ export function projectInfo(project) {
136
136
  return info;
137
137
  }),
138
138
  ],
139
- schedules: project.schedules.map(schedule => ({
139
+ schedules: project.schedules.map((schedule) => ({
140
140
  name: schedule.name,
141
141
  cron: schedule.cron,
142
142
  kind: schedule.kind,
143
143
  })),
144
144
  reminders: (project.reminders ?? []).length === 0
145
145
  ? undefined
146
- : (project.reminders ?? []).map(reminder => ({
146
+ : (project.reminders ?? []).map((reminder) => ({
147
147
  name: reminder.name,
148
148
  })),
149
- hooks: project.hooks.map(hook => hook.name),
149
+ hooks: project.hooks.map((hook) => hook.name),
150
150
  storage: project.storage === undefined ? undefined : { name: project.storage.name },
151
151
  artifacts: project.artifacts === undefined
152
152
  ? undefined
@@ -40,7 +40,7 @@ export async function loadInstructions(ctx, agentDir, config, isRoot) {
40
40
  if (config?.instructions !== undefined && !isBlank(config.instructions)) {
41
41
  parts.push(config.instructions.trim());
42
42
  }
43
- const combined = parts.filter(part => part !== "").join("\n\n");
43
+ const combined = parts.filter((part) => part !== "").join("\n\n");
44
44
  if (combined === "") {
45
45
  if (isRoot) {
46
46
  ctx.diagnostics.push({
@@ -167,7 +167,7 @@ export async function loadAgentProject(dir, options = {}) {
167
167
  });
168
168
  const { channels, httpChannelDefinition } = await loadChannels(ctx, join(agentDir, "channels"));
169
169
  for (const channel of projectSlots.channels) {
170
- if (channel.id === "http" || channels.some(c => c.id === channel.id)) {
170
+ if (channel.id === "http" || channels.some((c) => c.id === channel.id)) {
171
171
  ctx.diagnostics.push({
172
172
  severity: "error",
173
173
  path: displayPath(ctx, join(agentDir, "extensions")),
@@ -256,11 +256,11 @@ async function mergeProjectArtifacts(ctx, agentDir, extra) {
256
256
  }
257
257
  /** True when the project has diagnostics that must block serving. */
258
258
  export function hasErrorDiagnostics(project) {
259
- return project.diagnostics.some(d => d.severity === "error");
259
+ return project.diagnostics.some((d) => d.severity === "error");
260
260
  }
261
261
  export function formatDiagnostics(diagnostics) {
262
262
  return diagnostics
263
- .map(d => {
263
+ .map((d) => {
264
264
  const location = d.path === undefined ? "" : ` (${d.path})`;
265
265
  return `${d.severity}: ${d.message}${location}`;
266
266
  })
@@ -104,7 +104,7 @@ export async function appendArtifactTool(ctx, agentDir, agent, artifacts) {
104
104
  return;
105
105
  }
106
106
  const artifactsPath = displayPath(ctx, (await findModuleFile(agentDir, "artifacts")) ?? join(agentDir, "artifacts.ts"));
107
- if (agent.tools.some(t => t.name === TAG_ARTIFACT_TOOL_NAME)) {
107
+ if (agent.tools.some((t) => t.name === TAG_ARTIFACT_TOOL_NAME)) {
108
108
  ctx.diagnostics.push({
109
109
  severity: "warning",
110
110
  path: artifactsPath,
@@ -129,7 +129,7 @@ export function appendBuiltinTools(ctx, agentDir, tools, config) {
129
129
  }
130
130
  const agentPath = displayPath(ctx, join(agentDir, "agent.ts"));
131
131
  for (const tool of builtin) {
132
- const existing = tools.find(t => t.name === tool.name);
132
+ const existing = tools.find((t) => t.name === tool.name);
133
133
  if (existing !== undefined) {
134
134
  const owner = existing.extension === undefined ? "Authored" : `Extension "${existing.extension}"`;
135
135
  ctx.diagnostics.push({
@@ -86,7 +86,7 @@ export function docsSiteExists(distDir = docsDistDir()) {
86
86
  export function resolveDocsFile(requestPath, distDir = docsDistDir()) {
87
87
  const decoded = requestPath
88
88
  .split("/")
89
- .filter(part => part !== "")
89
+ .filter((part) => part !== "")
90
90
  .join("/");
91
91
  const normalized = normalize(decoded === "" ? "." : decoded);
92
92
  if (normalized.startsWith("..") || normalized.includes(`..${sep}`)) {
@@ -161,7 +161,7 @@ export async function ensureDocsSiteBundle(logger = console.log) {
161
161
  stdio: "inherit",
162
162
  });
163
163
  child.on("error", reject);
164
- child.on("exit", exitCode => resolve(exitCode ?? 1));
164
+ child.on("exit", (exitCode) => resolve(exitCode ?? 1));
165
165
  });
166
166
  if (code !== 0) {
167
167
  throw new Error(`docs vitepress build failed (exit ${code})`);
@@ -62,7 +62,7 @@ export async function ensureEnvLocalGitignored(dir) {
62
62
  const existing = await readOptionalFile(path);
63
63
  const covered = existing
64
64
  .split(/\r?\n/)
65
- .some(line => /^\.env(\.local\*?|\.\*|\*)$/.test(line.trim()));
65
+ .some((line) => /^\.env(\.local\*?|\.\*|\*)$/.test(line.trim()));
66
66
  if (covered) {
67
67
  return false;
68
68
  }
@@ -29,7 +29,7 @@ export class EvalRunStore {
29
29
  await this.hydrate();
30
30
  const { evals, config } = await discoverEvals(this.projectRoot);
31
31
  return {
32
- evals: evals.map(e => ({
32
+ evals: evals.map((e) => ({
33
33
  id: e.id,
34
34
  fileId: e.fileId,
35
35
  ...(e.definition.description === undefined
@@ -86,7 +86,7 @@ export class EvalRunStore {
86
86
  throw new EvalRunEmptyError();
87
87
  }
88
88
  const runId = `evalrun_${randomUUID().replace(/-/g, "").slice(0, 16)}`;
89
- const cases = selected.map(e => discoveredToPending(e));
89
+ const cases = selected.map((e) => discoveredToPending(e));
90
90
  const snapshot = {
91
91
  runId,
92
92
  status: "running",
@@ -259,12 +259,12 @@ export class EvalRunStore {
259
259
  ...(opts.bearerToken === undefined ? {} : { bearerToken: opts.bearerToken }),
260
260
  ...(opts.verbose === undefined ? {} : { verbose: opts.verbose }),
261
261
  ...(opts.timeoutMs === undefined ? {} : { timeoutMs: opts.timeoutMs }),
262
- onCaseStart: id => {
262
+ onCaseStart: (id) => {
263
263
  const run = this.runs.get(runId);
264
264
  if (run === undefined || run.status === "cancelled") {
265
265
  return;
266
266
  }
267
- const c = run.cases.find(x => x.id === id);
267
+ const c = run.cases.find((x) => x.id === id);
268
268
  if (c !== undefined) {
269
269
  c.status = "running";
270
270
  c.inputs = [];
@@ -281,7 +281,7 @@ export class EvalRunStore {
281
281
  if (run === undefined) {
282
282
  return;
283
283
  }
284
- const c = run.cases.find(x => x.id === id);
284
+ const c = run.cases.find((x) => x.id === id);
285
285
  if (c === undefined) {
286
286
  return;
287
287
  }
@@ -300,7 +300,7 @@ export class EvalRunStore {
300
300
  c.finalText = event.data.text;
301
301
  }
302
302
  },
303
- onCaseDone: result => {
303
+ onCaseDone: (result) => {
304
304
  this.applyCaseResult(runId, result);
305
305
  const run = this.runs.get(runId);
306
306
  if (run !== undefined) {
@@ -347,7 +347,7 @@ export class EvalRunStore {
347
347
  if (run === undefined) {
348
348
  return;
349
349
  }
350
- const c = run.cases.find(x => x.id === result.id);
350
+ const c = run.cases.find((x) => x.id === result.id);
351
351
  if (c === undefined) {
352
352
  return;
353
353
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eval-runner.d.ts","sourceRoot":"","sources":["../../src/internal/eval-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval-runner.d.ts","sourceRoot":"","sources":["../../src/internal/eval-runner.ts"],"names":[],"mappings":"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"}
@@ -123,13 +123,13 @@ export function expandEvalModule(fileId, defaultExport) {
123
123
  export function filterDiscoveredEvals(evals, options = {}) {
124
124
  let selected = evals;
125
125
  if (options.filterIds !== undefined && options.filterIds.length > 0) {
126
- selected = selected.filter(e => options.filterIds.some(f => matchesEvalIdFilter(e.id, f)));
126
+ selected = selected.filter((e) => options.filterIds.some((f) => matchesEvalIdFilter(e.id, f)));
127
127
  }
128
128
  if (options.tags !== undefined && options.tags.length > 0) {
129
- selected = selected.filter(e => (e.definition.tags ?? []).some(t => options.tags.includes(t)));
129
+ selected = selected.filter((e) => (e.definition.tags ?? []).some((t) => options.tags.includes(t)));
130
130
  }
131
131
  // Suite aggregators (`summary` tag) need sibling cases from the same file.
132
- return expandSummarySuiteSelection(evals, selected, e => isEvalSummaryCase(e.definition.tags));
132
+ return expandSummarySuiteSelection(evals, selected, (e) => isEvalSummaryCase(e.definition.tags));
133
133
  }
134
134
  export async function runDiscoveredEvals(options) {
135
135
  let selected;
@@ -185,7 +185,7 @@ export async function runDiscoveredEvals(options) {
185
185
  configModel: config.judge?.model,
186
186
  caller: options.judgeCaller ?? callJudgeModel,
187
187
  },
188
- onEvent: event => {
188
+ onEvent: (event) => {
189
189
  options.onCaseEvent?.(discovered.id, event);
190
190
  options.onEvent?.(event);
191
191
  },
@@ -215,7 +215,7 @@ export async function runDiscoveredEvals(options) {
215
215
  function buildReporterHub(options, config, selected) {
216
216
  const skip = options.skipReport === true;
217
217
  const runWide = [...(options.reporters ?? []), ...(skip ? [] : (config.reporters ?? []))];
218
- const perEval = skip ? [] : selected.flatMap(e => e.definition.reporters ?? []);
218
+ const perEval = skip ? [] : selected.flatMap((e) => e.definition.reporters ?? []);
219
219
  const everyReporter = [...new Set([...runWide, ...perEval])];
220
220
  if (everyReporter.length === 0) {
221
221
  return undefined;
@@ -228,7 +228,7 @@ function buildReporterHub(options, config, selected) {
228
228
  const all = combineReporters(everyReporter, onError);
229
229
  return {
230
230
  async runStart(evals, target) {
231
- await all.onRunStart?.(evals.map(e => ({
231
+ await all.onRunStart?.(evals.map((e) => ({
232
232
  id: e.id,
233
233
  fileId: e.fileId,
234
234
  description: e.definition.description,
@@ -279,7 +279,7 @@ export function groupEvalsForIterationSchedule(evals) {
279
279
  }
280
280
  group.push(discovered);
281
281
  }
282
- return order.map(key => {
282
+ return order.map((key) => {
283
283
  const group = groups.get(key);
284
284
  return group.sort((a, b) => (a.definition.iteration ?? 1) - (b.definition.iteration ?? 1));
285
285
  });
@@ -323,8 +323,8 @@ async function runOneEval(discovered, opts) {
323
323
  const inputs = [];
324
324
  const turns = [];
325
325
  let reply = null;
326
- const toolsUsed = () => buildTrajectory(allEvents).turns.flatMap(t => t.toolCalls.map(c => c.toolName));
327
- const toolCallIo = () => buildTrajectory(allEvents).turns.flatMap(turn => turn.toolCalls.map(c => ({
326
+ const toolsUsed = () => buildTrajectory(allEvents).turns.flatMap((t) => t.toolCalls.map((c) => c.toolName));
327
+ const toolCallIo = () => buildTrajectory(allEvents).turns.flatMap((turn) => turn.toolCalls.map((c) => ({
328
328
  toolName: c.toolName,
329
329
  ...(c.args === undefined ? {} : { args: c.args }),
330
330
  ...(c.output === undefined ? {} : { output: c.output }),
@@ -366,8 +366,8 @@ async function runOneEval(discovered, opts) {
366
366
  });
367
367
  const judge = createJudgeSurface({
368
368
  recorder,
369
- grader: name => EVAL_JUDGE_GRADERS[name],
370
- resolveModel: callModel => resolveJudgeModel({
369
+ grader: (name) => EVAL_JUDGE_GRADERS[name],
370
+ resolveModel: (callModel) => resolveJudgeModel({
371
371
  call: callModel,
372
372
  evalLevel: def.judge?.model,
373
373
  config: opts.judge.configModel,
@@ -375,7 +375,7 @@ async function runOneEval(discovered, opts) {
375
375
  }),
376
376
  caller: opts.judge.caller,
377
377
  defaultValue: () => reply,
378
- onUnavailable: message => {
378
+ onUnavailable: (message) => {
379
379
  judgeUnavailable = judgeUnavailable ?? message;
380
380
  },
381
381
  });
@@ -436,12 +436,12 @@ async function runOneEval(discovered, opts) {
436
436
  message: result.trajectory.finalText,
437
437
  sessionId: result.sessionId,
438
438
  events: turnEvents,
439
- toolCalls: result.trajectory.turns.flatMap(turn => turn.toolCalls.map(c => c.toolName)),
439
+ toolCalls: result.trajectory.turns.flatMap((turn) => turn.toolCalls.map((c) => c.toolName)),
440
440
  ok: result.ok,
441
441
  index,
442
442
  expectOk() {
443
443
  if (!result.ok) {
444
- throw new Error(`turn[${index}] failed: ${result.trajectory.turns.find(x => x.failed)?.error ?? "unknown error"}`);
444
+ throw new Error(`turn[${index}] failed: ${result.trajectory.turns.find((x) => x.failed)?.error ?? "unknown error"}`);
445
445
  }
446
446
  return turn;
447
447
  },
@@ -2,7 +2,7 @@ import { runSession } from "./run-client.js";
2
2
  /** An agent served over HTTP: the local eval server, a `--url`, or the playground host. */
3
3
  export function localHttpEvalTransport(input) {
4
4
  return {
5
- send: turn => runSession({
5
+ send: (turn) => runSession({
6
6
  baseUrl: input.baseUrl,
7
7
  messages: [turn.message],
8
8
  sessionId: turn.sessionId,
@@ -89,13 +89,13 @@ export async function listRemoteEvals(args) {
89
89
  }
90
90
  let selected = listed;
91
91
  if (args.filterIds !== undefined && args.filterIds.length > 0) {
92
- selected = selected.filter(e => args.filterIds.some(f => matchesEvalIdFilter(e.id, f)));
92
+ selected = selected.filter((e) => args.filterIds.some((f) => matchesEvalIdFilter(e.id, f)));
93
93
  }
94
94
  if (args.tags !== undefined && args.tags.length > 0) {
95
- selected = selected.filter(e => (e.tags ?? []).some(t => args.tags.includes(t)));
95
+ selected = selected.filter((e) => (e.tags ?? []).some((t) => args.tags.includes(t)));
96
96
  }
97
97
  // Match server-side filterDiscoveredEvals: summary → whole file.
98
- return expandSummarySuiteSelection(listed, selected, e => isEvalSummaryCase(e.tags));
98
+ return expandSummarySuiteSelection(listed, selected, (e) => isEvalSummaryCase(e.tags));
99
99
  }
100
100
  export async function startRemoteEvalRun(args) {
101
101
  const baseUrl = args.baseUrl.replace(/\/$/, "");
@@ -258,7 +258,7 @@ export async function pollRemoteEvalRun(args) {
258
258
  }
259
259
  }
260
260
  export function snapshotToEvalRunResults(snapshot) {
261
- return snapshot.cases.map(c => ({
261
+ return snapshot.cases.map((c) => ({
262
262
  id: c.id,
263
263
  path: c.fileId,
264
264
  ...(c.description === undefined ? {} : { description: c.description }),
@@ -80,7 +80,7 @@ export class SessionEventLog {
80
80
  }
81
81
  async readNextIndex() {
82
82
  let next = 0;
83
- await readNdjsonEvents(this.filePath, event => {
83
+ await readNdjsonEvents(this.filePath, (event) => {
84
84
  if (typeof event.index === "number" && event.index >= next) {
85
85
  next = event.index + 1;
86
86
  }
@@ -132,7 +132,7 @@ export class SessionEventLog {
132
132
  .then(() => {
133
133
  this.dropInflight(index);
134
134
  })
135
- .catch(error => this.onPersistError(error));
135
+ .catch((error) => this.onPersistError(error));
136
136
  return event;
137
137
  }
138
138
  dropInflight(index) {
@@ -140,7 +140,7 @@ export class SessionEventLog {
140
140
  this.inflight.shift();
141
141
  return;
142
142
  }
143
- const i = this.inflight.findIndex(event => event.index === index);
143
+ const i = this.inflight.findIndex((event) => event.index === index);
144
144
  if (i >= 0) {
145
145
  this.inflight.splice(i, 1);
146
146
  }
@@ -155,7 +155,7 @@ export class SessionEventLog {
155
155
  */
156
156
  async snapshot(startIndex = 0) {
157
157
  const byIndex = new Map();
158
- await readNdjsonEvents(this.filePath, event => {
158
+ await readNdjsonEvents(this.filePath, (event) => {
159
159
  if (event.index >= startIndex) {
160
160
  byIndex.set(event.index, event);
161
161
  }
@@ -214,7 +214,7 @@ export class SessionEventLog {
214
214
  };
215
215
  let following = false;
216
216
  const buffered = [];
217
- unsubscribe = this.subscribe(event => {
217
+ unsubscribe = this.subscribe((event) => {
218
218
  if (event.index < startIndex) {
219
219
  return;
220
220
  }
@@ -269,9 +269,9 @@ export class EventLogStore {
269
269
  .then(() => SessionEventLog.open({
270
270
  sessionId,
271
271
  filePath,
272
- onPersistError: error => this.onPersistError(sessionId, error),
272
+ onPersistError: (error) => this.onPersistError(sessionId, error),
273
273
  }))
274
- .then(opened => {
274
+ .then((opened) => {
275
275
  this.opened.set(sessionId, opened);
276
276
  return opened;
277
277
  });
@@ -294,6 +294,6 @@ export class EventLogStore {
294
294
  };
295
295
  }
296
296
  async flushAll() {
297
- await Promise.all([...this.logs.values()].map(logPromise => logPromise.then(log => log.flush()).catch(() => { })));
297
+ await Promise.all([...this.logs.values()].map((logPromise) => logPromise.then((log) => log.flush()).catch(() => { })));
298
298
  }
299
299
  }