@cursor/bdk 0.2.8 → 0.2.10

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 (581) hide show
  1. package/dist/artifacts.js +3 -5
  2. package/dist/bin/agent-serve.d.ts +1 -0
  3. package/dist/bin/agent-serve.d.ts.map +1 -1
  4. package/dist/bin/agent-serve.js +820 -807
  5. package/dist/channels/bitbucket/api.js +305 -321
  6. package/dist/channels/bitbucket/binding.js +97 -61
  7. package/dist/channels/bitbucket/bitbucket-channel.d.ts +15 -1
  8. package/dist/channels/bitbucket/bitbucket-channel.d.ts.map +1 -1
  9. package/dist/channels/bitbucket/bitbucket-channel.js +95 -42
  10. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +11 -0
  11. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
  12. package/dist/channels/bitbucket/bitbucket-webhook.js +214 -204
  13. package/dist/channels/bitbucket/checks.js +9 -21
  14. package/dist/channels/bitbucket/cursor-account.js +1 -1
  15. package/dist/channels/bitbucket/defaults.js +14 -4
  16. package/dist/channels/bitbucket/events.js +1 -2
  17. package/dist/channels/bitbucket/index.d.ts +6 -2
  18. package/dist/channels/bitbucket/index.d.ts.map +1 -1
  19. package/dist/channels/bitbucket/index.js +6 -2
  20. package/dist/channels/bitbucket/replay.js +80 -56
  21. package/dist/channels/bitbucket/state.js +16 -7
  22. package/dist/channels/bitbucket/types.d.ts +11 -2
  23. package/dist/channels/bitbucket/types.d.ts.map +1 -1
  24. package/dist/channels/checks.js +18 -28
  25. package/dist/channels/deployments/deployments-channel.js +26 -34
  26. package/dist/channels/github/api.js +216 -210
  27. package/dist/channels/github/auth.d.ts +5 -1
  28. package/dist/channels/github/auth.d.ts.map +1 -1
  29. package/dist/channels/github/auth.js +157 -174
  30. package/dist/channels/github/binding.js +48 -39
  31. package/dist/channels/github/checks.js +9 -14
  32. package/dist/channels/github/cursor-account.js +6 -11
  33. package/dist/channels/github/defaults.js +105 -130
  34. package/dist/channels/github/forward.js +13 -17
  35. package/dist/channels/github/github-channel.d.ts +43 -2
  36. package/dist/channels/github/github-channel.d.ts.map +1 -1
  37. package/dist/channels/github/github-channel.js +1228 -958
  38. package/dist/channels/github/progress.js +145 -146
  39. package/dist/channels/github/replay.js +30 -39
  40. package/dist/channels/github/state.js +40 -16
  41. package/dist/channels/github/types.d.ts +30 -6
  42. package/dist/channels/github/types.d.ts.map +1 -1
  43. package/dist/channels/gitlab/api.js +100 -114
  44. package/dist/channels/gitlab/binding.js +52 -33
  45. package/dist/channels/gitlab/checks.js +28 -29
  46. package/dist/channels/gitlab/cursor-account.js +1 -1
  47. package/dist/channels/gitlab/defaults.js +9 -3
  48. package/dist/channels/gitlab/gitlab-channel.d.ts +16 -1
  49. package/dist/channels/gitlab/gitlab-channel.d.ts.map +1 -1
  50. package/dist/channels/gitlab/gitlab-channel.js +95 -42
  51. package/dist/channels/gitlab/gitlab-webhook.d.ts +10 -1
  52. package/dist/channels/gitlab/gitlab-webhook.d.ts.map +1 -1
  53. package/dist/channels/gitlab/gitlab-webhook.js +282 -249
  54. package/dist/channels/gitlab/index.d.ts +6 -2
  55. package/dist/channels/gitlab/index.d.ts.map +1 -1
  56. package/dist/channels/gitlab/index.js +6 -2
  57. package/dist/channels/gitlab/replay.js +50 -27
  58. package/dist/channels/gitlab/state.js +14 -6
  59. package/dist/channels/gitlab/types.d.ts +13 -2
  60. package/dist/channels/gitlab/types.d.ts.map +1 -1
  61. package/dist/channels/origin/api.js +100 -116
  62. package/dist/channels/origin/binding.js +15 -16
  63. package/dist/channels/origin/checks.js +30 -28
  64. package/dist/channels/origin/defaults.js +50 -65
  65. package/dist/channels/origin/origin-channel.js +266 -272
  66. package/dist/channels/origin/origin-webhook.js +70 -88
  67. package/dist/channels/origin/reactions.js +9 -21
  68. package/dist/channels/origin/state.js +13 -5
  69. package/dist/channels/slack/agentic-delivery.js +426 -478
  70. package/dist/channels/slack/agentic-posted.js +9 -10
  71. package/dist/channels/slack/agentic-signals.js +2 -3
  72. package/dist/channels/slack/api.js +417 -427
  73. package/dist/channels/slack/approvals.js +1 -1
  74. package/dist/channels/slack/assistant.js +37 -47
  75. package/dist/channels/slack/attachments.js +188 -206
  76. package/dist/channels/slack/auth.js +8 -6
  77. package/dist/channels/slack/bot-mentions.js +31 -45
  78. package/dist/channels/slack/channel-watch.js +42 -48
  79. package/dist/channels/slack/cli-project.js +112 -137
  80. package/dist/channels/slack/code-fences.js +3 -5
  81. package/dist/channels/slack/constants.js +2 -2
  82. package/dist/channels/slack/credentials.js +23 -38
  83. package/dist/channels/slack/defaults.js +292 -331
  84. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  85. package/dist/channels/slack/dispatch.js +533 -460
  86. package/dist/channels/slack/doctor.js +200 -214
  87. package/dist/channels/slack/eval-directive.js +79 -96
  88. package/dist/channels/slack/event-id-dedupe.js +1 -1
  89. package/dist/channels/slack/external-policy.js +26 -39
  90. package/dist/channels/slack/footer.js +28 -41
  91. package/dist/channels/slack/inbound.d.ts +1 -0
  92. package/dist/channels/slack/inbound.d.ts.map +1 -1
  93. package/dist/channels/slack/inbound.js +50 -31
  94. package/dist/channels/slack/init.d.ts +1 -5
  95. package/dist/channels/slack/init.d.ts.map +1 -1
  96. package/dist/channels/slack/init.js +42 -59
  97. package/dist/channels/slack/interactive.d.ts +9 -3
  98. package/dist/channels/slack/interactive.d.ts.map +1 -1
  99. package/dist/channels/slack/interactive.js +160 -162
  100. package/dist/channels/slack/links.js +1 -2
  101. package/dist/channels/slack/live-delivery.js +172 -190
  102. package/dist/channels/slack/manifest.d.ts.map +1 -1
  103. package/dist/channels/slack/manifest.js +44 -23
  104. package/dist/channels/slack/message-body.js +2 -2
  105. package/dist/channels/slack/nudge-carrier.js +30 -42
  106. package/dist/channels/slack/nudge-store.js +164 -191
  107. package/dist/channels/slack/paint-start.js +66 -81
  108. package/dist/channels/slack/placeholder.js +123 -152
  109. package/dist/channels/slack/pr-ref.js +1 -1
  110. package/dist/channels/slack/progress-delivery.js +65 -78
  111. package/dist/channels/slack/reasoning-card.js +36 -49
  112. package/dist/channels/slack/recording-sink.js +12 -24
  113. package/dist/channels/slack/reply-options.js +7 -12
  114. package/dist/channels/slack/self-identity.js +27 -35
  115. package/dist/channels/slack/sender-name.d.ts +12 -3
  116. package/dist/channels/slack/sender-name.d.ts.map +1 -1
  117. package/dist/channels/slack/sender-name.js +57 -61
  118. package/dist/channels/slack/setup.js +2 -4
  119. package/dist/channels/slack/slack-channel.d.ts +6 -4
  120. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  121. package/dist/channels/slack/slack-channel.js +441 -308
  122. package/dist/channels/slack/socket-mode.js +38 -52
  123. package/dist/channels/slack/thread-context.js +143 -160
  124. package/dist/channels/slack/tool-approval-events.js +149 -166
  125. package/dist/channels/slack/tool-cards.js +6 -11
  126. package/dist/channels/slack/tool-chip.js +1 -2
  127. package/dist/channels/slack/types.d.ts +15 -17
  128. package/dist/channels/slack/types.d.ts.map +1 -1
  129. package/dist/channels/slack/upload.js +84 -97
  130. package/dist/channels/slack/user-info.js +27 -41
  131. package/dist/channels.js +9 -20
  132. package/dist/dashboard-session-url.js +3 -4
  133. package/dist/docs/404.html +2 -2
  134. package/dist/docs/assets/{app.oyjtOr3W.js → app.DXI7bwox.js} +4 -4
  135. package/dist/docs/assets/{building-with-agents.md.BPjPFxFg.js → building-with-agents.md.Df87rAe1.js} +1 -1
  136. package/dist/docs/assets/chunks/@localSearchIndexroot.CtLtpWcx.js +1 -0
  137. package/dist/docs/assets/chunks/{VPLocalSearchBox.D0P6J_UJ.js → VPLocalSearchBox.BrbO5mEe.js} +1 -1
  138. package/dist/docs/assets/chunks/{arc.B0LY1J1h.js → arc.BOG1yms8.js} +1 -1
  139. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.dPduLUxY.js → architectureDiagram-Q4EWVU46.C0hsMZnZ.js} +1 -1
  140. package/dist/docs/assets/chunks/{baseUniq.B_Ohm21h.js → baseUniq.H044KjKs.js} +1 -1
  141. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.B4zcanaJ.js → blockDiagram-DXYQGD6D.BsRW6GoB.js} +1 -1
  142. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.D9Iw21nx.js → c4Diagram-AHTNJAMY.B9HV5PFR.js} +1 -1
  143. package/dist/docs/assets/chunks/channel.CBwrU9rP.js +1 -0
  144. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.DDVwRShI.js → chunk-4BX2VUAB.CPoT_ajl.js} +1 -1
  145. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DsYcdn1i.js → chunk-4TB4RGXK.DZBwWuCL.js} +1 -1
  146. package/dist/docs/assets/chunks/{chunk-55IACEB6.BzzQvcYp.js → chunk-55IACEB6.CZ3yTiyq.js} +1 -1
  147. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.BMiXZ7FX.js → chunk-EDXVE4YY.6DfvHSd8.js} +1 -1
  148. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.D_mBcLoc.js → chunk-FMBD7UC4.CpBj8HfK.js} +1 -1
  149. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CMVjWVMx.js → chunk-OYMX7WX6.BdKo8YqS.js} +1 -1
  150. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BG-FrPv9.js → chunk-QZHKN3VN.BnXNyxJx.js} +1 -1
  151. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CkFE1ap3.js → chunk-YZCP3GAM.Cg1OcF8G.js} +1 -1
  152. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CbC_mrvB.js +1 -0
  153. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CbC_mrvB.js +1 -0
  154. package/dist/docs/assets/chunks/clone.BTvFyY1a.js +1 -0
  155. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BVNnCTvY.js → cose-bilkent-S5V4N54A.1SP8al9c.js} +1 -1
  156. package/dist/docs/assets/chunks/{dagre-KV5264BT.CDN5PR9l.js → dagre-KV5264BT.DS1L6hJt.js} +1 -1
  157. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DQRUlT-i.js → diagram-5BDNPKRD.ChsausbG.js} +1 -1
  158. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.CoeblYQT.js → diagram-G4DWMVQ6.3XsptNWj.js} +1 -1
  159. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.DW3ymjl0.js → diagram-MMDJMWI5.DPA9Dk_P.js} +1 -1
  160. package/dist/docs/assets/chunks/{diagram-TYMM5635.BP0uN4Jw.js → diagram-TYMM5635.BVswXWrB.js} +1 -1
  161. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.DVFUWEn4.js → erDiagram-SMLLAGMA.BSak5OSP.js} +1 -1
  162. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.HU-eHspv.js → flowDiagram-DWJPFMVM.CQgN4TTz.js} +1 -1
  163. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.DHNhXijY.js → ganttDiagram-T4ZO3ILL.GrT0kA4a.js} +1 -1
  164. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.DkISXcO3.js → gitGraphDiagram-UUTBAWPF.CdS7Ucll.js} +1 -1
  165. package/dist/docs/assets/chunks/{graph.CCV0fuRR.js → graph.BVqKRmRo.js} +1 -1
  166. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.bgILzOoc.js → infoDiagram-42DDH7IO.C3C9FRto.js} +1 -1
  167. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.CuryXC0F.js → ishikawaDiagram-UXIWVN3A.2FuAh_Zj.js} +1 -1
  168. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BL1Pr-wu.js → journeyDiagram-VCZTEJTY.CaHMfK4b.js} +1 -1
  169. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.BbGjvk4l.js → kanban-definition-6JOO6SKY.CjhIUwcA.js} +1 -1
  170. package/dist/docs/assets/chunks/{layout.C4PfdldS.js → layout.CGU3gfSf.js} +1 -1
  171. package/dist/docs/assets/chunks/{linear.C3xD1T6X.js → linear.DaihpW_n.js} +1 -1
  172. package/dist/docs/assets/chunks/{min.CzgRAQ9c.js → min.BS-j8kHQ.js} +1 -1
  173. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.CA9rSWum.js → mindmap-definition-QFDTVHPH.BVJ1Bbnk.js} +1 -1
  174. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.B8MprgJu.js → pieDiagram-DEJITSTG.Cz1WIv9r.js} +1 -1
  175. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DndDwbKT.js → quadrantDiagram-34T5L4WZ.DKLFxcjy.js} +1 -1
  176. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.Zhfgwlnn.js → requirementDiagram-MS252O5E.BHegiK7x.js} +1 -1
  177. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.B6RRm6N5.js → sankeyDiagram-XADWPNL6.DYkY6yPc.js} +1 -1
  178. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.Bfmz-1PN.js → sequenceDiagram-FGHM5R23.DYQ1QUrI.js} +1 -1
  179. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.gbrdNqgj.js → stateDiagram-FHFEXIEX.Iru8BsFo.js} +1 -1
  180. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BYXl4LW6.js +1 -0
  181. package/dist/docs/assets/chunks/{theme.gpWjytMh.js → theme.DaplWQhQ.js} +2 -2
  182. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.Bl1l7M1f.js → timeline-definition-GMOUNBTQ.BwFA8hiX.js} +1 -1
  183. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.Dfle4U0d.js → vennDiagram-DHZGUBPP.CZ60W1C_.js} +1 -1
  184. package/dist/docs/assets/chunks/wardley-RL74JXVD.iXazD3Z7.js +162 -0
  185. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.CM_4lmvZ.js → wardleyDiagram-NUSXRM2D.B69D2r8-.js} +1 -1
  186. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CHT5X28R.js → xychartDiagram-5P7HB3ND.CLPZEIU9.js} +1 -1
  187. package/dist/docs/assets/{deployment.md.BdqTiGdc.js → deployment.md.BYuEcDBv.js} +2 -2
  188. package/dist/docs/assets/{guides_bitbucket.md.BB6fqD-M.js → guides_bitbucket.md.CKUayYtD.js} +3 -3
  189. package/dist/docs/assets/{guides_bitbucket.md.BB6fqD-M.lean.js → guides_bitbucket.md.CKUayYtD.lean.js} +1 -1
  190. package/dist/docs/assets/{guides_github.md.Cr1Xlf-m.js → guides_github.md.TuNiZAOQ.js} +4 -4
  191. package/dist/docs/assets/{guides_github.md.Cr1Xlf-m.lean.js → guides_github.md.TuNiZAOQ.lean.js} +1 -1
  192. package/dist/docs/assets/{guides_gitlab.md.CMpmFi4M.js → guides_gitlab.md.CtNI4fSH.js} +4 -4
  193. package/dist/docs/assets/{guides_gitlab.md.CMpmFi4M.lean.js → guides_gitlab.md.CtNI4fSH.lean.js} +1 -1
  194. package/dist/docs/assets/guides_migrate.md.sCAvvlC6.js +7 -0
  195. package/dist/docs/assets/guides_migrate.md.sCAvvlC6.lean.js +1 -0
  196. package/dist/docs/assets/{reference_cli.md.GwugN3n-.js → reference_cli.md.dYCAL2lB.js} +4 -3
  197. package/dist/docs/assets/reference_cli.md.dYCAL2lB.lean.js +1 -0
  198. package/dist/docs/assets/{reference_skills.md.ClkMoQsV.js → reference_skills.md.C0guGcH0.js} +3 -3
  199. package/dist/docs/assets/troubleshooting.md.x-GBa7wN.js +1 -0
  200. package/dist/docs/assets/{troubleshooting.md.Bscj6ODe.lean.js → troubleshooting.md.x-GBa7wN.lean.js} +1 -1
  201. package/dist/docs/building-with-agents.html +37 -37
  202. package/dist/docs/building-with-agents.md +2 -0
  203. package/dist/docs/deployment.html +38 -38
  204. package/dist/docs/deployment.md +7 -0
  205. package/dist/docs/evals.html +36 -36
  206. package/dist/docs/guides/agent-to-agent.html +35 -35
  207. package/dist/docs/guides/bitbucket.html +38 -38
  208. package/dist/docs/guides/bitbucket.md +9 -1
  209. package/dist/docs/guides/cloud-agents.html +35 -35
  210. package/dist/docs/guides/convert-automation.html +35 -35
  211. package/dist/docs/guides/github.html +39 -39
  212. package/dist/docs/guides/github.md +20 -4
  213. package/dist/docs/guides/gitlab.html +38 -38
  214. package/dist/docs/guides/gitlab.md +9 -1
  215. package/dist/docs/guides/grokbot-agents.html +35 -35
  216. package/dist/docs/guides/hooks.html +35 -35
  217. package/dist/docs/guides/improve.html +35 -35
  218. package/dist/docs/guides/jev.html +35 -35
  219. package/dist/docs/guides/mcp-oauth.html +35 -35
  220. package/dist/docs/guides/migrate.html +66 -0
  221. package/dist/docs/guides/migrate.md +122 -0
  222. package/dist/docs/guides/opentelemetry.html +35 -35
  223. package/dist/docs/guides/slack.html +35 -35
  224. package/dist/docs/guides/webhooks.html +35 -35
  225. package/dist/docs/hashmap.json +1 -1
  226. package/dist/docs/hillclimbing.html +35 -35
  227. package/dist/docs/index.html +35 -35
  228. package/dist/docs/llms-full.txt +214 -6
  229. package/dist/docs/llms.txt +1 -0
  230. package/dist/docs/quickstart.html +35 -35
  231. package/dist/docs/reference/agent-config.html +35 -35
  232. package/dist/docs/reference/artifacts.html +35 -35
  233. package/dist/docs/reference/channels.html +35 -35
  234. package/dist/docs/reference/cli.html +39 -38
  235. package/dist/docs/reference/cli.md +39 -0
  236. package/dist/docs/reference/connections.html +35 -35
  237. package/dist/docs/reference/evals.html +35 -35
  238. package/dist/docs/reference/extensions.html +35 -35
  239. package/dist/docs/reference/hooks.html +35 -35
  240. package/dist/docs/reference/http-api.html +35 -35
  241. package/dist/docs/reference/instructions.html +35 -35
  242. package/dist/docs/reference/playground.html +35 -35
  243. package/dist/docs/reference/project-layout.html +35 -35
  244. package/dist/docs/reference/prompt.html +35 -35
  245. package/dist/docs/reference/schedules.html +35 -35
  246. package/dist/docs/reference/sessions.html +35 -35
  247. package/dist/docs/reference/skills.html +38 -38
  248. package/dist/docs/reference/subagents.html +35 -35
  249. package/dist/docs/reference/tools.html +35 -35
  250. package/dist/docs/templates/agentic-owners.html +35 -35
  251. package/dist/docs/templates/grokbot-agents.html +35 -35
  252. package/dist/docs/templates/security-reviewer.html +35 -35
  253. package/dist/docs/templates/thermo-quality-review.html +35 -35
  254. package/dist/docs/templates/thermo-review.html +35 -35
  255. package/dist/docs/templates/triage.html +35 -35
  256. package/dist/docs/troubleshooting.html +36 -36
  257. package/dist/docs/troubleshooting.md +1 -0
  258. package/dist/evals/assertions.js +20 -34
  259. package/dist/evals/expect.js +3 -6
  260. package/dist/evals/judge.js +5 -8
  261. package/dist/evals/loaders.js +45 -62
  262. package/dist/evals/matchers.js +2 -3
  263. package/dist/evals/reporters.js +43 -67
  264. package/dist/evals/results.js +1 -1
  265. package/dist/evals/run-facts.js +5 -6
  266. package/dist/evals.js +27 -15
  267. package/dist/extensions/cursor-cloud-agents/extension.js +4 -1
  268. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +0 -1
  269. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  270. package/dist/extensions/cursor-cloud-agents/lib/backend.js +101 -130
  271. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +22 -38
  272. package/dist/extensions/cursor-cloud-agents/lib/repos.js +8 -10
  273. package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -3
  274. package/dist/extensions/cursor-cloud-agents/lib/watch.js +52 -66
  275. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +29 -40
  276. package/dist/extensions/cursor-cloud-agents/tools/cancel.js +6 -17
  277. package/dist/extensions/cursor-cloud-agents/tools/dump.js +25 -36
  278. package/dist/extensions/cursor-cloud-agents/tools/get.js +3 -14
  279. package/dist/extensions/cursor-cloud-agents/tools/launch.js +13 -21
  280. package/dist/extensions/cursor-cloud-agents/tools/list.d.ts.map +1 -1
  281. package/dist/extensions/cursor-cloud-agents/tools/list.js +9 -20
  282. package/dist/extensions/cursor-cloud-agents/tools/reply.js +5 -16
  283. package/dist/extensions/cursor-grokbot-agents/extension.js +4 -1
  284. package/dist/extensions/cursor-grokbot-agents/lib/agents.js +3 -3
  285. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +53 -73
  286. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +10 -23
  287. package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +112 -132
  288. package/dist/extensions/cursor-grokbot-agents/lib/lock.js +1 -2
  289. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +5 -16
  290. package/dist/extensions/cursor-grokbot-agents/tools/check.js +4 -15
  291. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +2 -13
  292. package/dist/extensions/cursor-grokbot-agents/tools/list.js +11 -23
  293. package/dist/extensions/jev/extension.js +3 -3
  294. package/dist/extensions/jev/lib/evaluate.js +43 -60
  295. package/dist/extensions/jev/tools/evaluate.js +6 -17
  296. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  297. package/dist/extensions.js +3 -5
  298. package/dist/files-backends/cursor-hosted.js +504 -523
  299. package/dist/files-backends/local-fs.js +72 -134
  300. package/dist/files.js +3 -3
  301. package/dist/filesystem.js +562 -861
  302. package/dist/index.js +16 -35
  303. package/dist/internal/advertise-tools.js +74 -86
  304. package/dist/internal/artifacts-store.js +298 -361
  305. package/dist/internal/as-of.js +2 -4
  306. package/dist/internal/authored-alias-hooks.js +6 -4
  307. package/dist/internal/authored-loaders.js +37 -52
  308. package/dist/internal/bounded-int.js +1 -2
  309. package/dist/internal/bounded.js +13 -24
  310. package/dist/internal/brand.js +1 -1
  311. package/dist/internal/browser-origin-guard.js +4 -4
  312. package/dist/internal/builtin-tools/artifacts.js +15 -27
  313. package/dist/internal/builtin-tools/index.js +2 -3
  314. package/dist/internal/builtin-tools/reminders.js +33 -52
  315. package/dist/internal/channel-architecture.d.ts +21 -0
  316. package/dist/internal/channel-architecture.d.ts.map +1 -0
  317. package/dist/internal/channel-architecture.js +41 -0
  318. package/dist/internal/channel-dispatch.js +3 -4
  319. package/dist/internal/channel-route-dispatch.js +40 -51
  320. package/dist/internal/channel-state.js +1 -1
  321. package/dist/internal/chat-client.js +319 -340
  322. package/dist/internal/cli-ax.js +1262 -1294
  323. package/dist/internal/cli-bitbucket.js +244 -272
  324. package/dist/internal/cli-convert-automation.js +137 -151
  325. package/dist/internal/cli-cursor.js +126 -147
  326. package/dist/internal/cli-deploy.d.ts.map +1 -1
  327. package/dist/internal/cli-deploy.js +1457 -1507
  328. package/dist/internal/cli-docs.js +130 -147
  329. package/dist/internal/cli-github.js +437 -476
  330. package/dist/internal/cli-gitlab.js +259 -288
  331. package/dist/internal/cli-images.js +266 -334
  332. package/dist/internal/cli-manifest.js +25 -37
  333. package/dist/internal/cli-mcp-oauth.js +228 -247
  334. package/dist/internal/cli-mcp.js +358 -383
  335. package/dist/internal/cli-migrate.d.ts +18 -0
  336. package/dist/internal/cli-migrate.d.ts.map +1 -0
  337. package/dist/internal/cli-migrate.js +136 -0
  338. package/dist/internal/cli-skills.js +35 -47
  339. package/dist/internal/cli-slack-manual.d.ts +0 -1
  340. package/dist/internal/cli-slack-manual.d.ts.map +1 -1
  341. package/dist/internal/cli-slack-manual.js +175 -204
  342. package/dist/internal/cli-slack.d.ts +1 -1
  343. package/dist/internal/cli-slack.d.ts.map +1 -1
  344. package/dist/internal/cli-slack.js +416 -456
  345. package/dist/internal/cloud-merge.js +7 -3
  346. package/dist/internal/cloud-turn-cost.js +8 -1
  347. package/dist/internal/connection-env.js +5 -6
  348. package/dist/internal/continuation-channel.js +10 -7
  349. package/dist/internal/continuation-identity.js +85 -67
  350. package/dist/internal/conversation-mirror.js +112 -131
  351. package/dist/internal/convert-automation/convert-workflow.js +21 -31
  352. package/dist/internal/cron.js +3 -3
  353. package/dist/internal/cursor/account-mcp.js +147 -146
  354. package/dist/internal/cursor/backend-client.js +290 -320
  355. package/dist/internal/cursor/bound-secret-file.js +3 -3
  356. package/dist/internal/cursor/credentials.d.ts +1 -0
  357. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  358. package/dist/internal/cursor/credentials.js +130 -142
  359. package/dist/internal/cursor/cursor-api-transport.js +4 -8
  360. package/dist/internal/cursor/github-credentials.js +91 -108
  361. package/dist/internal/cursor/hosted-bound-secrets.js +3 -4
  362. package/dist/internal/cursor/hosted-deployment-secrets.js +1 -1
  363. package/dist/internal/cursor/hosted-store-secrets.js +5 -9
  364. package/dist/internal/cursor/session-token.js +36 -48
  365. package/dist/internal/cursor/store-api-client.js +77 -92
  366. package/dist/internal/cursor-account-mcp-auth.js +132 -149
  367. package/dist/internal/cursor-agent-template.js +1 -1
  368. package/dist/internal/cursor-deployment-relay.js +33 -54
  369. package/dist/internal/cursor-event-relay.js +65 -59
  370. package/dist/internal/cursor-relay-core.js +258 -286
  371. package/dist/internal/deferred-channel-session.js +3 -12
  372. package/dist/internal/deploy-client.js +410 -475
  373. package/dist/internal/deploy-manifest.d.ts +17 -0
  374. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  375. package/dist/internal/deploy-manifest.js +71 -21
  376. package/dist/internal/deploy-source.js +31 -43
  377. package/dist/internal/discovery/agent-config.js +45 -59
  378. package/dist/internal/discovery/agent.js +276 -280
  379. package/dist/internal/discovery/channels.js +67 -80
  380. package/dist/internal/discovery/connections.js +286 -296
  381. package/dist/internal/discovery/context.js +2 -13
  382. package/dist/internal/discovery/cursor-plugin.js +223 -259
  383. package/dist/internal/discovery/extension-overlay.js +104 -131
  384. package/dist/internal/discovery/extensions.js +276 -281
  385. package/dist/internal/discovery/fs.js +56 -79
  386. package/dist/internal/discovery/hooks.js +39 -50
  387. package/dist/internal/discovery/info.js +17 -19
  388. package/dist/internal/discovery/instructions.js +58 -71
  389. package/dist/internal/discovery/modules.js +45 -58
  390. package/dist/internal/discovery/project.d.ts.map +1 -1
  391. package/dist/internal/discovery/project.js +192 -215
  392. package/dist/internal/discovery/reminders.js +41 -52
  393. package/dist/internal/discovery/runtime.js +1 -1
  394. package/dist/internal/discovery/schedules.js +71 -82
  395. package/dist/internal/discovery/seed-files.js +21 -32
  396. package/dist/internal/discovery/services.js +74 -96
  397. package/dist/internal/discovery/skills.js +77 -94
  398. package/dist/internal/discovery/subagent.js +79 -95
  399. package/dist/internal/discovery/tools.js +12 -23
  400. package/dist/internal/distribution.js +2 -2
  401. package/dist/internal/docs-site.js +30 -45
  402. package/dist/internal/duration.js +1 -1
  403. package/dist/internal/env-file.js +48 -64
  404. package/dist/internal/eval-judge-model.js +17 -28
  405. package/dist/internal/eval-run-store.js +265 -254
  406. package/dist/internal/eval-runner.d.ts +8 -0
  407. package/dist/internal/eval-runner.d.ts.map +1 -1
  408. package/dist/internal/eval-runner.js +406 -408
  409. package/dist/internal/eval-transport.d.ts +24 -0
  410. package/dist/internal/eval-transport.d.ts.map +1 -0
  411. package/dist/internal/eval-transport.js +22 -0
  412. package/dist/internal/evals-client.js +242 -246
  413. package/dist/internal/event-log.js +72 -120
  414. package/dist/internal/event-mapper.js +30 -31
  415. package/dist/internal/factory-resource-channel.js +16 -30
  416. package/dist/internal/filesystem/errors.js +6 -6
  417. package/dist/internal/filesystem/format.js +10 -13
  418. package/dist/internal/filesystem/merge.js +52 -94
  419. package/dist/internal/filesystem/nearest.js +15 -27
  420. package/dist/internal/filesystem/scratch.js +65 -85
  421. package/dist/internal/filesystem/tools.js +221 -241
  422. package/dist/internal/filesystem/walk.js +76 -143
  423. package/dist/internal/framework-file-storage.js +118 -139
  424. package/dist/internal/framework-storage-selection.js +21 -13
  425. package/dist/internal/frontmatter.js +4 -6
  426. package/dist/internal/github-fanout.js +50 -64
  427. package/dist/internal/guest-network.js +96 -109
  428. package/dist/internal/handleAgentServeTrigger.js +121 -126
  429. package/dist/internal/host-files.js +73 -88
  430. package/dist/internal/host-kv.js +21 -36
  431. package/dist/internal/host-otel.js +22 -19
  432. package/dist/internal/host-platforms.js +49 -63
  433. package/dist/internal/hosted-catch-protocol.d.ts +1 -0
  434. package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
  435. package/dist/internal/hosted-catch-protocol.js +1 -0
  436. package/dist/internal/hosted-catch.d.ts +5 -3
  437. package/dist/internal/hosted-catch.d.ts.map +1 -1
  438. package/dist/internal/hosted-catch.js +84 -93
  439. package/dist/internal/hosted-delivery-protocol.js +32 -8
  440. package/dist/internal/hosted-delivery.d.ts +13 -1
  441. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  442. package/dist/internal/hosted-delivery.js +614 -584
  443. package/dist/internal/hosted-eval-cases.d.ts +21 -0
  444. package/dist/internal/hosted-eval-cases.d.ts.map +1 -0
  445. package/dist/internal/hosted-eval-cases.js +162 -0
  446. package/dist/internal/hosted-execution-diag.js +38 -30
  447. package/dist/internal/hosted-execution-flush.js +75 -66
  448. package/dist/internal/hosted-execution-latency.js +16 -8
  449. package/dist/internal/hosted-managed-automation.js +2 -2
  450. package/dist/internal/hosting.js +2 -3
  451. package/dist/internal/http-channel-define.js +4 -1
  452. package/dist/internal/http-channel.js +101 -112
  453. package/dist/internal/http-control-plane-session.d.ts +18 -1
  454. package/dist/internal/http-control-plane-session.d.ts.map +1 -1
  455. package/dist/internal/http-control-plane-session.js +66 -32
  456. package/dist/internal/incoming-headers-to-fetch.js +1 -2
  457. package/dist/internal/init-interview.js +73 -93
  458. package/dist/internal/init-project.js +182 -214
  459. package/dist/internal/init-scaffold.js +10 -21
  460. package/dist/internal/inline-stdio-mcp.js +80 -86
  461. package/dist/internal/install-cursor-skills.d.ts.map +1 -1
  462. package/dist/internal/install-cursor-skills.js +238 -274
  463. package/dist/internal/legacy-command-guard.js +18 -31
  464. package/dist/internal/listen-port.js +34 -45
  465. package/dist/internal/local-control-plane.js +293 -307
  466. package/dist/internal/local-env.js +1 -1
  467. package/dist/internal/local-ingress.js +15 -9
  468. package/dist/internal/log-ring.js +1 -2
  469. package/dist/internal/logs-client.js +207 -227
  470. package/dist/internal/map-pool.js +24 -38
  471. package/dist/internal/mcp-endpoint.js +204 -180
  472. package/dist/internal/mcp-host.js +165 -168
  473. package/dist/internal/mcp-oauth-on-demand.js +170 -207
  474. package/dist/internal/mcp-oauth-persist.js +15 -29
  475. package/dist/internal/mcp-oauth.js +209 -266
  476. package/dist/internal/named-webhook-secret.d.ts +39 -0
  477. package/dist/internal/named-webhook-secret.d.ts.map +1 -0
  478. package/dist/internal/named-webhook-secret.js +47 -0
  479. package/dist/internal/open-browser.js +2 -3
  480. package/dist/internal/otel/collector.js +104 -68
  481. package/dist/internal/otel/config.js +24 -37
  482. package/dist/internal/otel/http.js +5 -7
  483. package/dist/internal/otel/mcp.js +3 -12
  484. package/dist/internal/otel/runtime.js +69 -83
  485. package/dist/internal/package-inline-stdio.js +57 -65
  486. package/dist/internal/peer-connections.js +9 -5
  487. package/dist/internal/platform-schedule-sync.js +39 -54
  488. package/dist/internal/platform-timers.js +176 -210
  489. package/dist/internal/playground/static.js +1 -2
  490. package/dist/internal/playground/toolchain.js +37 -53
  491. package/dist/internal/playground-proxy.js +230 -270
  492. package/dist/internal/process-memory-telemetry.js +33 -51
  493. package/dist/internal/prompt-context.js +3 -6
  494. package/dist/internal/reminder-control-plane-protocol.js +46 -13
  495. package/dist/internal/reminder-runner.js +770 -785
  496. package/dist/internal/reminder-schedule.js +1 -1
  497. package/dist/internal/reminder-store.js +57 -78
  498. package/dist/internal/request-error-status.js +1 -3
  499. package/dist/internal/request-headers.js +2 -2
  500. package/dist/internal/resolve-prod-target.js +119 -135
  501. package/dist/internal/resolved-connections.js +16 -6
  502. package/dist/internal/run-client.js +221 -229
  503. package/dist/internal/runtime-dispatch-runner.js +18 -43
  504. package/dist/internal/schedule-runner.js +49 -58
  505. package/dist/internal/scm/pr-url.js +7 -6
  506. package/dist/internal/sdk-runner.js +388 -363
  507. package/dist/internal/serve-restart.js +26 -39
  508. package/dist/internal/server.d.ts.map +1 -1
  509. package/dist/internal/server.js +1283 -1244
  510. package/dist/internal/session-cost.js +7 -9
  511. package/dist/internal/session-engine.d.ts +3 -1
  512. package/dist/internal/session-engine.d.ts.map +1 -1
  513. package/dist/internal/session-engine.js +2801 -2777
  514. package/dist/internal/session-links.js +12 -16
  515. package/dist/internal/session-run-log.js +134 -82
  516. package/dist/internal/session-store.js +133 -164
  517. package/dist/internal/sessions-client.js +97 -118
  518. package/dist/internal/skill-catalog.js +18 -23
  519. package/dist/internal/skills-sync.js +16 -30
  520. package/dist/internal/slack-provision-client.js +90 -116
  521. package/dist/internal/start-log-store.js +48 -67
  522. package/dist/internal/steering.js +1 -2
  523. package/dist/internal/storage-coordinator.js +160 -196
  524. package/dist/internal/store-mirror.js +16 -30
  525. package/dist/internal/stream-progress.js +6 -8
  526. package/dist/internal/terminal-style.js +3 -4
  527. package/dist/internal/testing/scm-continuation-fixtures.js +6 -2
  528. package/dist/internal/testing/slack-continuation-fixtures.d.ts +26 -0
  529. package/dist/internal/testing/slack-continuation-fixtures.d.ts.map +1 -0
  530. package/dist/internal/testing/slack-continuation-fixtures.js +136 -0
  531. package/dist/internal/tool-catalog.js +11 -5
  532. package/dist/internal/tool-result.js +1 -1
  533. package/dist/internal/trajectory.js +19 -22
  534. package/dist/internal/turn-cost.js +52 -62
  535. package/dist/internal/turn-governor.js +5 -8
  536. package/dist/internal/turn-lease-store.js +85 -105
  537. package/dist/internal/turn-outbox.js +28 -43
  538. package/dist/internal/update-check.js +231 -259
  539. package/dist/internal/v2-hosting.js +1 -2
  540. package/dist/internal/workspace-sync.js +25 -41
  541. package/dist/internal/workspace.js +111 -139
  542. package/dist/kv/memory-kv.js +27 -51
  543. package/dist/memory.js +106 -148
  544. package/dist/otel.js +5 -8
  545. package/dist/playground/assets/index-DXm_VXAQ.css +1 -0
  546. package/dist/playground/assets/{index-MijLHTbB.js → index-JekUQERK.js} +45 -45
  547. package/dist/playground/index.html +2 -2
  548. package/dist/prompt.js +2 -4
  549. package/dist/storage-backends/cursor-hosted-v2.js +53 -83
  550. package/dist/storage-backends/cursor-hosted.js +105 -145
  551. package/dist/storage-backends/file-kv.js +100 -128
  552. package/dist/storage-protocol.js +3 -5
  553. package/dist/storage.js +17 -26
  554. package/dist/types.d.ts +68 -0
  555. package/dist/types.d.ts.map +1 -1
  556. package/dist/types.js +20 -18
  557. package/docs/building-with-agents.md +2 -0
  558. package/docs/deployment.md +7 -0
  559. package/docs/guides/bitbucket.md +9 -1
  560. package/docs/guides/github.md +20 -4
  561. package/docs/guides/gitlab.md +9 -1
  562. package/docs/guides/migrate.md +127 -0
  563. package/docs/reference/cli.md +39 -0
  564. package/docs/troubleshooting.md +1 -0
  565. package/package.json +1 -1
  566. package/skills/debug/SKILL.md +1 -0
  567. package/skills/github/SKILL.md +23 -0
  568. package/skills/migrate-v2/SKILL.md +264 -0
  569. package/dist/docs/assets/chunks/@localSearchIndexroot.C25zYVuc.js +0 -1
  570. package/dist/docs/assets/chunks/channel.CRUyWDV-.js +0 -1
  571. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CG_UObcQ.js +0 -1
  572. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CG_UObcQ.js +0 -1
  573. package/dist/docs/assets/chunks/clone.NYSZ9qZN.js +0 -1
  574. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DOOmulfQ.js +0 -1
  575. package/dist/docs/assets/chunks/wardley-RL74JXVD.BJrCW6xc.js +0 -162
  576. package/dist/docs/assets/reference_cli.md.GwugN3n-.lean.js +0 -1
  577. package/dist/docs/assets/troubleshooting.md.Bscj6ODe.js +0 -1
  578. package/dist/playground/assets/index-DPKLl4C_.css +0 -1
  579. /package/dist/docs/assets/{building-with-agents.md.BPjPFxFg.lean.js → building-with-agents.md.Df87rAe1.lean.js} +0 -0
  580. /package/dist/docs/assets/{deployment.md.BdqTiGdc.lean.js → deployment.md.BYuEcDBv.lean.js} +0 -0
  581. /package/dist/docs/assets/{reference_skills.md.ClkMoQsV.lean.js → reference_skills.md.C0guGcH0.lean.js} +0 -0
package/dist/memory.js CHANGED
@@ -18,15 +18,6 @@
18
18
  * file tools keep the same read path. Local development uses
19
19
  * {@link fileMemoryBackend}.
20
20
  */
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
21
  import { randomUUID } from "node:crypto";
31
22
  import { appendFile, mkdir, rename, stat, writeFile } from "node:fs/promises";
32
23
  import { join } from "node:path";
@@ -42,8 +33,7 @@ export const MEMORY_DIR_NAME = "memory";
42
33
  * segments stay alongside as `journal-<epoch-ms>.jsonl`.
43
34
  */
44
35
  export function fileMemoryBackend(options = {}) {
45
- var _a;
46
- const maxJournalBytes = (_a = options.maxJournalBytes) !== null && _a !== void 0 ? _a : 5 * 1024 * 1024;
36
+ const maxJournalBytes = options.maxJournalBytes ?? 5 * 1024 * 1024;
47
37
  // Event dispatch is serialized per session but concurrent across
48
38
  // sessions, so appends to the shared journal are chained per path. A
49
39
  // failed append must not poison the chain for later turns.
@@ -52,28 +42,23 @@ export function fileMemoryBackend(options = {}) {
52
42
  // rename would silently replace the earlier archive.
53
43
  let rotationSeq = 0;
54
44
  return {
55
- appendTurn(record, ctx) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- var _a;
58
- const dir = join(ctx.stateRoot, MEMORY_DIR_NAME);
59
- const path = join(dir, "journal.jsonl");
60
- const prior = (_a = appendChains.get(path)) !== null && _a !== void 0 ? _a : Promise.resolve();
61
- const next = prior
62
- .catch(() => { })
63
- .then(() => __awaiter(this, void 0, void 0, function* () {
64
- var _a;
65
- var _b;
66
- yield mkdir(dir, { recursive: true });
67
- const size = (_b = (_a = (yield stat(path).catch(() => undefined))) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0;
68
- if (size >= maxJournalBytes) {
69
- rotationSeq += 1;
70
- yield rename(path, join(dir, `journal-${Date.now()}-${rotationSeq}.jsonl`));
71
- }
72
- yield appendFile(path, `${JSON.stringify(record)}\n`, "utf8");
73
- }));
74
- appendChains.set(path, next);
75
- yield next;
45
+ async appendTurn(record, ctx) {
46
+ const dir = join(ctx.stateRoot, MEMORY_DIR_NAME);
47
+ const path = join(dir, "journal.jsonl");
48
+ const prior = appendChains.get(path) ?? Promise.resolve();
49
+ const next = prior
50
+ .catch(() => { })
51
+ .then(async () => {
52
+ await mkdir(dir, { recursive: true });
53
+ const size = (await stat(path).catch(() => undefined))?.size ?? 0;
54
+ if (size >= maxJournalBytes) {
55
+ rotationSeq += 1;
56
+ await rename(path, join(dir, `journal-${Date.now()}-${rotationSeq}.jsonl`));
57
+ }
58
+ await appendFile(path, `${JSON.stringify(record)}\n`, "utf8");
76
59
  });
60
+ appendChains.set(path, next);
61
+ await next;
77
62
  },
78
63
  };
79
64
  }
@@ -84,15 +69,14 @@ export function fileMemoryBackend(options = {}) {
84
69
  * persistence path.
85
70
  */
86
71
  export function agentStoreMemoryBackend(options = {}) {
87
- var _a, _b, _c;
88
- const hosted = (_a = options.hosted) !== null && _a !== void 0 ? _a : {};
89
- const maxJournalBytes = (_b = options.maxJournalBytes) !== null && _b !== void 0 ? _b : 5 * 1024 * 1024;
72
+ const hosted = options.hosted ?? {};
73
+ const maxJournalBytes = options.maxJournalBytes ?? 5 * 1024 * 1024;
90
74
  // Mirror work is chained per journal key (same shape as
91
75
  // fileMemoryBackend): hydration and appends on one agent's mirror never
92
76
  // interleave, and a failed step must not poison the chain for later turns.
93
77
  const appendChains = new Map();
94
78
  // The client owns retries and typed errors; this module owns memory policy.
95
- const storeApiClient = (_c = options.storeApiClient) !== null && _c !== void 0 ? _c : createStoreApiClient(hosted);
79
+ const storeApiClient = options.storeApiClient ?? createStoreApiClient(hosted);
96
80
  /**
97
81
  * Keep the local journal mirror available to file tools. Hydrate it when
98
82
  * absent, then append each record only after managed storage accepts it.
@@ -101,9 +85,7 @@ export function agentStoreMemoryBackend(options = {}) {
101
85
  */
102
86
  const hydratedMirrors = new Set();
103
87
  let mirrorRotationSeq = 0;
104
- const maintainLocalMirror = (record, ctx) => __awaiter(this, void 0, void 0, function* () {
105
- var _a;
106
- var _b;
88
+ const maintainLocalMirror = async (record, ctx) => {
107
89
  const dir = join(ctx.stateRoot, MEMORY_DIR_NAME);
108
90
  const path = join(dir, "journal.jsonl");
109
91
  if (!hydratedMirrors.has(path)) {
@@ -111,24 +93,24 @@ export function agentStoreMemoryBackend(options = {}) {
111
93
  // itself for one agent. Backstop for a session that appended before
112
94
  // any prepareSession hydration ran (e.g. a custom hook ordering).
113
95
  hydratedMirrors.add(path);
114
- const existing = yield stat(path).catch(() => undefined);
96
+ const existing = await stat(path).catch(() => undefined);
115
97
  if (existing === undefined) {
116
- const content = yield storeApiClient.memoryReadContent({
98
+ const content = await storeApiClient.memoryReadContent({
117
99
  agent: ctx.agentName,
118
100
  });
119
101
  if (content !== undefined) {
120
- yield mirrorJournalLocally(ctx.stateRoot, content);
102
+ await mirrorJournalLocally(ctx.stateRoot, content);
121
103
  }
122
104
  }
123
105
  }
124
- yield mkdir(dir, { recursive: true });
125
- const size = (_b = (_a = (yield stat(path).catch(() => undefined))) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0;
106
+ await mkdir(dir, { recursive: true });
107
+ const size = (await stat(path).catch(() => undefined))?.size ?? 0;
126
108
  if (size >= maxJournalBytes) {
127
109
  mirrorRotationSeq += 1;
128
- yield rename(path, join(dir, `journal-${Date.now()}-${mirrorRotationSeq}.jsonl`));
110
+ await rename(path, join(dir, `journal-${Date.now()}-${mirrorRotationSeq}.jsonl`));
129
111
  }
130
- yield appendFile(path, `${JSON.stringify(record)}\n`, "utf8");
131
- });
112
+ await appendFile(path, `${JSON.stringify(record)}\n`, "utf8");
113
+ };
132
114
  /**
133
115
  * Append one record to managed storage, then update the local mirror.
134
116
  *
@@ -136,39 +118,37 @@ export function agentStoreMemoryBackend(options = {}) {
136
118
  * the hook runner treats an append failure as non-fatal to the turn;
137
119
  * a failed durable write also skips the mirror.
138
120
  */
139
- const appendViaStoreApi = (record, ctx) => __awaiter(this, void 0, void 0, function* () {
121
+ const appendViaStoreApi = async (record, ctx) => {
140
122
  try {
141
- yield storeApiClient.memoryAppend({ agent: ctx.agentName, record });
123
+ await storeApiClient.memoryAppend({ agent: ctx.agentName, record });
142
124
  }
143
125
  catch (error) {
144
126
  console.warn(`[bdk] memory.append dropped one record for "${ctx.agentName}": ${error instanceof Error ? error.message : String(error)}`);
145
127
  return;
146
128
  }
147
129
  try {
148
- yield maintainLocalMirror(record, ctx);
130
+ await maintainLocalMirror(record, ctx);
149
131
  }
150
132
  catch (error) {
151
133
  console.warn(`[bdk] memory mirror update failed for "${ctx.agentName}" (journal record is durable): ${error instanceof Error ? error.message : String(error)}`);
152
134
  }
153
- });
135
+ };
154
136
  /**
155
137
  * Refresh the local mirror at session start. Soft-fail so an unavailable
156
138
  * store does not erase the existing mirror.
157
139
  */
158
- const hydrateMirror = (ctx) => __awaiter(this, void 0, void 0, function* () {
159
- var _a;
160
- var _b;
140
+ const hydrateMirror = async (ctx) => {
161
141
  const path = join(ctx.stateRoot, MEMORY_DIR_NAME, "journal.jsonl");
162
142
  try {
163
- const content = yield storeApiClient.memoryReadContent({
143
+ const content = await storeApiClient.memoryReadContent({
164
144
  agent: ctx.agentName,
165
145
  });
166
146
  if (content !== undefined) {
167
147
  // Never replace the local mirror with a shorter journal. Keeping the
168
148
  // richer view avoids hiding records the agent has already seen.
169
- const mirroredBytes = (_b = (_a = (yield stat(path).catch(() => undefined))) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0;
149
+ const mirroredBytes = (await stat(path).catch(() => undefined))?.size ?? 0;
170
150
  if (content.byteLength >= mirroredBytes) {
171
- yield mirrorJournalLocally(ctx.stateRoot, content);
151
+ await mirrorJournalLocally(ctx.stateRoot, content);
172
152
  }
173
153
  }
174
154
  // Either way the read answered: skip the append path's absent-file
@@ -178,65 +158,57 @@ export function agentStoreMemoryBackend(options = {}) {
178
158
  catch (error) {
179
159
  console.warn(`[bdk] memory hydration failed for "${ctx.agentName}" (keeping the existing mirror): ${error instanceof Error ? error.message : String(error)}`);
180
160
  }
181
- });
161
+ };
182
162
  /** Report a missing managed-storage binding without falling back locally. */
183
163
  const refuseMisconfiguredLane = (agentName, verb) => {
184
164
  console.error(`[bdk] memory ${verb} for "${agentName}" dropped: the store API lane is unavailable (missing/foreign AGENT_SERVE_STORE_PROTOCOL pin or no provisioned store). This BDK version has no client-side journal fallback; fix the hosting pin.`);
185
165
  };
186
166
  return {
187
- prepareSession(ctx) {
188
- return __awaiter(this, void 0, void 0, function* () {
189
- var _a;
190
- // Chained on the same per-journal key as appends, so hydration never
191
- // interleaves with an append's mirror write.
192
- const key = agentStoreKeys.memoryJournal(ctx.agentName);
193
- const prior = (_a = appendChains.get(key)) !== null && _a !== void 0 ? _a : Promise.resolve();
194
- const next = prior
195
- .catch(() => { })
196
- .then(() => __awaiter(this, void 0, void 0, function* () {
197
- if (!isStoreApiLaneEnabled(hosted)) {
198
- refuseMisconfiguredLane(ctx.agentName, "hydration");
199
- return;
200
- }
201
- yield hydrateMirror(ctx);
202
- }));
203
- appendChains.set(key, next);
204
- yield next;
167
+ async prepareSession(ctx) {
168
+ // Chained on the same per-journal key as appends, so hydration never
169
+ // interleaves with an append's mirror write.
170
+ const key = agentStoreKeys.memoryJournal(ctx.agentName);
171
+ const prior = appendChains.get(key) ?? Promise.resolve();
172
+ const next = prior
173
+ .catch(() => { })
174
+ .then(async () => {
175
+ if (!isStoreApiLaneEnabled(hosted)) {
176
+ refuseMisconfiguredLane(ctx.agentName, "hydration");
177
+ return;
178
+ }
179
+ await hydrateMirror(ctx);
205
180
  });
181
+ appendChains.set(key, next);
182
+ await next;
206
183
  },
207
- appendTurn(record, ctx) {
208
- return __awaiter(this, void 0, void 0, function* () {
209
- var _a;
210
- // Soft-fail by construction (appendViaStoreApi never throws), but
211
- // still chained per journal key: the local mirror's hydrate-then-
212
- // append must not interleave with itself. Availability is resolved
213
- // lazily for each append.
214
- const key = agentStoreKeys.memoryJournal(ctx.agentName);
215
- const prior = (_a = appendChains.get(key)) !== null && _a !== void 0 ? _a : Promise.resolve();
216
- const next = prior
217
- .catch(() => { })
218
- .then(() => __awaiter(this, void 0, void 0, function* () {
219
- if (!isStoreApiLaneEnabled(hosted)) {
220
- refuseMisconfiguredLane(ctx.agentName, "append");
221
- return;
222
- }
223
- yield appendViaStoreApi(record, ctx);
224
- }));
225
- appendChains.set(key, next);
226
- yield next;
184
+ async appendTurn(record, ctx) {
185
+ // Soft-fail by construction (appendViaStoreApi never throws), but
186
+ // still chained per journal key: the local mirror's hydrate-then-
187
+ // append must not interleave with itself. Availability is resolved
188
+ // lazily for each append.
189
+ const key = agentStoreKeys.memoryJournal(ctx.agentName);
190
+ const prior = appendChains.get(key) ?? Promise.resolve();
191
+ const next = prior
192
+ .catch(() => { })
193
+ .then(async () => {
194
+ if (!isStoreApiLaneEnabled(hosted)) {
195
+ refuseMisconfiguredLane(ctx.agentName, "append");
196
+ return;
197
+ }
198
+ await appendViaStoreApi(record, ctx);
227
199
  });
200
+ appendChains.set(key, next);
201
+ await next;
228
202
  },
229
203
  };
230
204
  }
231
205
  /** Atomic full rewrite of the local mirror. */
232
- function mirrorJournalLocally(stateRoot, contents) {
233
- return __awaiter(this, void 0, void 0, function* () {
234
- const dir = join(stateRoot, MEMORY_DIR_NAME);
235
- yield mkdir(dir, { recursive: true });
236
- const tmp = join(dir, `.tmp-${randomUUID()}`);
237
- yield writeFile(tmp, contents);
238
- yield rename(tmp, join(dir, "journal.jsonl"));
239
- });
206
+ async function mirrorJournalLocally(stateRoot, contents) {
207
+ const dir = join(stateRoot, MEMORY_DIR_NAME);
208
+ await mkdir(dir, { recursive: true });
209
+ const tmp = join(dir, `.tmp-${randomUUID()}`);
210
+ await writeFile(tmp, contents);
211
+ await rename(tmp, join(dir, "journal.jsonl"));
240
212
  }
241
213
  /** Cursor-managed deployments use durable memory; local development uses files. */
242
214
  function defaultMemoryBackend() {
@@ -259,16 +231,15 @@ function truncate(text, max) {
259
231
  * memories live; delete the hook file to opt out entirely.
260
232
  */
261
233
  export function memoryHook(options = {}) {
262
- var _a, _b;
263
- const backend = (_a = options.backend) !== null && _a !== void 0 ? _a : defaultMemoryBackend();
264
- const maxTextLength = (_b = options.maxTextLength) !== null && _b !== void 0 ? _b : 2000;
234
+ const backend = options.backend ?? defaultMemoryBackend();
235
+ const maxTextLength = options.maxTextLength ?? 2000;
265
236
  // Inbound message per turn (truncated at receipt so large pastes are not
266
237
  // retained), keyed `<sessionId>/<turnId>` — `message.received` and the
267
238
  // turn-end events share a turnId. Entries drop at turn end and any
268
239
  // stragglers (turns that never reached a terminal event) at session end.
269
240
  const pendingMessages = new Map();
270
- const pendingKey = (ctx, turnId) => `${ctx.session.id}/${turnId !== null && turnId !== void 0 ? turnId : "?"}`;
271
- const record = (ctx, turnId, status, result, usage) => __awaiter(this, void 0, void 0, function* () {
241
+ const pendingKey = (ctx, turnId) => `${ctx.session.id}/${turnId ?? "?"}`;
242
+ const record = async (ctx, turnId, status, result, usage) => {
272
243
  const key = pendingKey(ctx, turnId);
273
244
  const userMessage = pendingMessages.get(key);
274
245
  pendingMessages.delete(key);
@@ -293,11 +264,11 @@ export function memoryHook(options = {}) {
293
264
  if (usage !== undefined) {
294
265
  entry.usage = usage;
295
266
  }
296
- yield backend.appendTurn(entry, {
267
+ await backend.appendTurn(entry, {
297
268
  stateRoot: ctx.stateRoot,
298
269
  agentName: ctx.agent.name,
299
270
  });
300
- });
271
+ };
301
272
  const sweepSession = (ctx) => {
302
273
  for (const key of pendingMessages.keys()) {
303
274
  if (key.startsWith(`${ctx.session.id}/`)) {
@@ -307,48 +278,35 @@ export function memoryHook(options = {}) {
307
278
  };
308
279
  return defineHook({
309
280
  events: {
310
- "session.started"(_event, ctx) {
311
- return __awaiter(this, void 0, void 0, function* () {
312
- var _a;
313
- // Bring the mirror (the workspace symlink read path) up to date
314
- // before the session's first turn reads it. Backends without a
315
- // prepareSession (plain files) have nothing to freshen. Soft-fail:
316
- // hydration is a freshness upgrade, never a turn blocker.
317
- try {
318
- yield (_a = backend.prepareSession) === null || _a === void 0 ? void 0 : _a.call(backend, {
319
- stateRoot: ctx.stateRoot,
320
- agentName: ctx.agent.name,
321
- });
322
- }
323
- catch (error) {
324
- console.warn(`[bdk] memory hydration at session start failed: ${error instanceof Error ? error.message : String(error)}`);
325
- }
326
- });
281
+ async "session.started"(_event, ctx) {
282
+ // Bring the mirror (the workspace symlink read path) up to date
283
+ // before the session's first turn reads it. Backends without a
284
+ // prepareSession (plain files) have nothing to freshen. Soft-fail:
285
+ // hydration is a freshness upgrade, never a turn blocker.
286
+ try {
287
+ await backend.prepareSession?.({
288
+ stateRoot: ctx.stateRoot,
289
+ agentName: ctx.agent.name,
290
+ });
291
+ }
292
+ catch (error) {
293
+ console.warn(`[bdk] memory hydration at session start failed: ${error instanceof Error ? error.message : String(error)}`);
294
+ }
327
295
  },
328
- "message.received"(event, ctx) {
329
- return __awaiter(this, void 0, void 0, function* () {
330
- pendingMessages.set(pendingKey(ctx, event.turnId), truncate(event.data.text, maxTextLength));
331
- });
296
+ async "message.received"(event, ctx) {
297
+ pendingMessages.set(pendingKey(ctx, event.turnId), truncate(event.data.text, maxTextLength));
332
298
  },
333
- "turn.completed"(event, ctx) {
334
- return __awaiter(this, void 0, void 0, function* () {
335
- yield record(ctx, event.turnId, "completed", event.data.result, event.data.usage);
336
- });
299
+ async "turn.completed"(event, ctx) {
300
+ await record(ctx, event.turnId, "completed", event.data.result, event.data.usage);
337
301
  },
338
- "turn.failed"(event, ctx) {
339
- return __awaiter(this, void 0, void 0, function* () {
340
- yield record(ctx, event.turnId, "failed", event.data.message, undefined);
341
- });
302
+ async "turn.failed"(event, ctx) {
303
+ await record(ctx, event.turnId, "failed", event.data.message, undefined);
342
304
  },
343
- "session.completed"(_event, ctx) {
344
- return __awaiter(this, void 0, void 0, function* () {
345
- sweepSession(ctx);
346
- });
305
+ async "session.completed"(_event, ctx) {
306
+ sweepSession(ctx);
347
307
  },
348
- "session.failed"(_event, ctx) {
349
- return __awaiter(this, void 0, void 0, function* () {
350
- sweepSession(ctx);
351
- });
308
+ async "session.failed"(_event, ctx) {
309
+ sweepSession(ctx);
352
310
  },
353
311
  },
354
312
  });
package/dist/otel.js CHANGED
@@ -116,8 +116,7 @@ export function formatTraceparent(spanContext) {
116
116
  * are per `@opentelemetry/api` copy.
117
117
  */
118
118
  export function injectActiveTraceContext(headers) {
119
- var _a;
120
- const span = (_a = trace.getSpan(context.active())) !== null && _a !== void 0 ? _a : getContextTracerSpan();
119
+ const span = trace.getSpan(context.active()) ?? getContextTracerSpan();
121
120
  if (span === undefined) {
122
121
  return;
123
122
  }
@@ -130,10 +129,9 @@ export function injectActiveTraceContext(headers) {
130
129
  }
131
130
  /** W3C `traceparent` for the active span, or undefined if none. */
132
131
  export function activeTraceparent() {
133
- var _a;
134
132
  const headers = new Headers();
135
133
  injectActiveTraceContext(headers);
136
- return (_a = headers.get(TRACEPARENT_HEADER)) !== null && _a !== void 0 ? _a : undefined;
134
+ return headers.get(TRACEPARENT_HEADER) ?? undefined;
137
135
  }
138
136
  /**
139
137
  * Copy the active span onto every outbound `fetch`. Agents should not
@@ -143,7 +141,7 @@ export function activeTraceparent() {
143
141
  function headersForFetch(input, init) {
144
142
  // Fetch: `init.headers` replaces `Request` headers. If `init` omits
145
143
  // headers (`fetch(request, { signal })`), keep the Request's.
146
- const headers = new Headers((init === null || init === void 0 ? void 0 : init.headers) !== undefined
144
+ const headers = new Headers(init?.headers !== undefined
147
145
  ? init.headers
148
146
  : input instanceof Request
149
147
  ? input.headers
@@ -157,7 +155,7 @@ export function instrumentedFetch(base = fetch) {
157
155
  if (input instanceof Request && init === undefined) {
158
156
  return base(new Request(input, { headers }));
159
157
  }
160
- return base(input, Object.assign(Object.assign({}, init), { headers }));
158
+ return base(input, { ...init, headers });
161
159
  };
162
160
  }
163
161
  const OUTBOUND_FETCH_INSTALLED = Symbol.for("anysphere.july.otel.outboundFetch");
@@ -180,7 +178,6 @@ function ensureContextTracerAls() {
180
178
  }
181
179
  ensureContextTracerAls();
182
180
  function getContextTracerSpan() {
183
- var _a;
184
181
  const als = globalThis[ACTIVE_OTEL_SPAN_ALS];
185
- return (_a = als === null || als === void 0 ? void 0 : als.getStore) === null || _a === void 0 ? void 0 : _a.call(als);
182
+ return als?.getStore?.();
186
183
  }