@cursor/bdk 0.2.18 → 0.2.21

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 (294) hide show
  1. package/AGENTS.md +16 -6
  2. package/dist/channels/github/defaults.d.ts +1 -1
  3. package/dist/channels/github/defaults.d.ts.map +1 -1
  4. package/dist/channels/github/defaults.js +1 -1
  5. package/dist/channels/github/progress.d.ts +1 -1
  6. package/dist/channels/github/progress.d.ts.map +1 -1
  7. package/dist/channels/slack/slack-channel.d.ts +3 -2
  8. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  9. package/dist/channels/slack/slack-channel.js +9 -2
  10. package/dist/docs/404.html +2 -2
  11. package/dist/docs/assets/{app.CJ-XZTK5.js → app.C0diulDR.js} +4 -4
  12. package/dist/docs/assets/chunks/@localSearchIndexroot._fglLrPa.js +1 -0
  13. package/dist/docs/assets/chunks/{VPLocalSearchBox.CpbYgURZ.js → VPLocalSearchBox.mlUwkfRQ.js} +1 -1
  14. package/dist/docs/assets/chunks/{arc.B081PemO.js → arc.DM5RRfvb.js} +1 -1
  15. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.DPaT_hi-.js → architectureDiagram-Q4EWVU46.CNHCBbQl.js} +1 -1
  16. package/dist/docs/assets/chunks/{baseUniq.Buu61NLg.js → baseUniq.25Udb_uV.js} +1 -1
  17. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.C6t63owh.js → blockDiagram-DXYQGD6D.Bg-f3-qN.js} +1 -1
  18. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.BtKabdXR.js → c4Diagram-AHTNJAMY.BywSQvK9.js} +1 -1
  19. package/dist/docs/assets/chunks/channel.C4s-x2x3.js +1 -0
  20. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.DQpNaR8N.js → chunk-4BX2VUAB.C3IdWWlO.js} +1 -1
  21. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DrhL-6Rv.js → chunk-4TB4RGXK.D_t-pAXu.js} +1 -1
  22. package/dist/docs/assets/chunks/{chunk-55IACEB6.DRLIBfNR.js → chunk-55IACEB6.DvlNSQE5.js} +1 -1
  23. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.kuUuFkIg.js → chunk-EDXVE4YY.6LpTrDTf.js} +1 -1
  24. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.BlrVxprw.js → chunk-FMBD7UC4.BZxXsutI.js} +1 -1
  25. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CZCfYeQA.js → chunk-OYMX7WX6.CrtynS_e.js} +1 -1
  26. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.C7rwVEMV.js → chunk-QZHKN3VN.CUOQY0pM.js} +1 -1
  27. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CGseJtT_.js → chunk-YZCP3GAM.Dv3biZVN.js} +1 -1
  28. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.h-fLya-M.js +1 -0
  29. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.h-fLya-M.js +1 -0
  30. package/dist/docs/assets/chunks/clone.BM9yCOiZ.js +1 -0
  31. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BWlczAK4.js → cose-bilkent-S5V4N54A.DDzCqntx.js} +1 -1
  32. package/dist/docs/assets/chunks/{dagre-KV5264BT.Cw0tT0bB.js → dagre-KV5264BT.DoiV-U_C.js} +1 -1
  33. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.Cm96ah9V.js → diagram-5BDNPKRD.LHX1aUDr.js} +1 -1
  34. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Cl0AoWYM.js → diagram-G4DWMVQ6.lTnkbDQp.js} +1 -1
  35. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.Bp7mlzKs.js → diagram-MMDJMWI5.CclJPnEx.js} +1 -1
  36. package/dist/docs/assets/chunks/{diagram-TYMM5635.ClVeqpcW.js → diagram-TYMM5635.CLmB0KKs.js} +1 -1
  37. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.Bi8dojF9.js → erDiagram-SMLLAGMA.qKkkB7iQ.js} +1 -1
  38. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.Bb4urpfG.js → flowDiagram-DWJPFMVM.HIkXNLJ3.js} +1 -1
  39. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.whR4wFze.js → ganttDiagram-T4ZO3ILL.YN9lDgHe.js} +1 -1
  40. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.6oVMi6-3.js → gitGraphDiagram-UUTBAWPF.CL6gf7f9.js} +1 -1
  41. package/dist/docs/assets/chunks/{graph.D8AJDOFK.js → graph.DMkP70rB.js} +1 -1
  42. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.nTpsf5Vk.js → infoDiagram-42DDH7IO.CT98u6Zd.js} +1 -1
  43. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DhYDOwyB.js → ishikawaDiagram-UXIWVN3A.CF88w8YD.js} +1 -1
  44. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.Bg7Rudw3.js → journeyDiagram-VCZTEJTY.BoWKk6Rz.js} +1 -1
  45. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.D80D_ZAR.js → kanban-definition-6JOO6SKY.CrmPv2sG.js} +1 -1
  46. package/dist/docs/assets/chunks/{layout.e9hmuC-K.js → layout.CEiPTQln.js} +1 -1
  47. package/dist/docs/assets/chunks/{linear.D6hEyqVB.js → linear.gkXuWu8G.js} +1 -1
  48. package/dist/docs/assets/chunks/{min.BPAdvB9D.js → min.C4EHK60v.js} +1 -1
  49. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.tm2Sov2Q.js → mindmap-definition-QFDTVHPH.C-JqTP4s.js} +1 -1
  50. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BKHZ497m.js → pieDiagram-DEJITSTG.t2HgQOCt.js} +1 -1
  51. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CPj7gSp6.js → quadrantDiagram-34T5L4WZ.D1k-BEKc.js} +1 -1
  52. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E._U68yVUd.js → requirementDiagram-MS252O5E.CUu9VVrt.js} +1 -1
  53. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6._6jrIQPb.js → sankeyDiagram-XADWPNL6.HroiBrt1.js} +1 -1
  54. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.D9UlmB6F.js → sequenceDiagram-FGHM5R23.CeJapdwH.js} +1 -1
  55. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.BQSaiJCe.js → stateDiagram-FHFEXIEX.CLj6JnXZ.js} +1 -1
  56. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CLFLHNN0.js +1 -0
  57. package/dist/docs/assets/chunks/{theme.25ZC61Iy.js → theme.B9ZHHvCq.js} +2 -2
  58. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.d-17NZ3L.js → timeline-definition-GMOUNBTQ.BzKGPAdN.js} +1 -1
  59. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.DE9AGEjG.js → vennDiagram-DHZGUBPP.DtBNkpF9.js} +1 -1
  60. package/dist/docs/assets/chunks/wardley-RL74JXVD.D_iarxve.js +162 -0
  61. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.D9SDNipV.js → wardleyDiagram-NUSXRM2D.rOXEXIA9.js} +1 -1
  62. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.DM1sIMf8.js → xychartDiagram-5P7HB3ND.BrM71_SA.js} +1 -1
  63. package/dist/docs/assets/{deployment.md.ajc3VM0m.js → deployment.md.CtSJ6sF9.js} +3 -3
  64. package/dist/docs/assets/{deployment.md.ajc3VM0m.lean.js → deployment.md.CtSJ6sF9.lean.js} +1 -1
  65. package/dist/docs/assets/{guides_agent-to-agent.md.Cps5NiCV.js → guides_agent-to-agent.md.CwL5cwuE.js} +6 -5
  66. package/dist/docs/assets/{guides_agent-to-agent.md.Cps5NiCV.lean.js → guides_agent-to-agent.md.CwL5cwuE.lean.js} +1 -1
  67. package/dist/docs/assets/guides_export-grokbot.md.qo5bxi4h.js +55 -0
  68. package/dist/docs/assets/guides_export-grokbot.md.qo5bxi4h.lean.js +1 -0
  69. package/dist/docs/assets/{guides_hooks.md.B_bKG1oA.js → guides_hooks.md.Bfj0pK91.js} +1 -1
  70. package/dist/docs/assets/{guides_hooks.md.B_bKG1oA.lean.js → guides_hooks.md.Bfj0pK91.lean.js} +1 -1
  71. package/dist/docs/assets/{guides_opentelemetry.md.jcPNrQbH.js → guides_opentelemetry.md.ByW1Fs7b.js} +5 -5
  72. package/dist/docs/assets/{guides_opentelemetry.md.jcPNrQbH.lean.js → guides_opentelemetry.md.ByW1Fs7b.lean.js} +1 -1
  73. package/dist/docs/assets/{index.md.CHAFTf6m.js → index.md.CAnsLl8D.js} +2 -2
  74. package/dist/docs/assets/{index.md.CHAFTf6m.lean.js → index.md.CAnsLl8D.lean.js} +1 -1
  75. package/dist/docs/assets/{reference_cli.md.Bt3sAfat.js → reference_cli.md.Bkrsce22.js} +7 -4
  76. package/dist/docs/assets/{reference_cli.md.Bt3sAfat.lean.js → reference_cli.md.Bkrsce22.lean.js} +1 -1
  77. package/dist/docs/assets/{reference_connections.md.CxbLpaaP.js → reference_connections.md.BJE2Zllp.js} +4 -4
  78. package/dist/docs/assets/{reference_connections.md.CxbLpaaP.lean.js → reference_connections.md.BJE2Zllp.lean.js} +1 -1
  79. package/dist/docs/assets/{reference_hooks.md.DbJC8mcZ.js → reference_hooks.md.B1jq3oGl.js} +3 -3
  80. package/dist/docs/assets/{reference_hooks.md.DbJC8mcZ.lean.js → reference_hooks.md.B1jq3oGl.lean.js} +1 -1
  81. package/dist/docs/assets/reference_memory.md.BwyJXYZe.js +4 -0
  82. package/dist/docs/assets/reference_memory.md.BwyJXYZe.lean.js +1 -0
  83. package/dist/docs/assets/{reference_project-layout.md.SNzIvnmC.js → reference_project-layout.md.mFcS8yDD.js} +3 -3
  84. package/dist/docs/assets/{reference_project-layout.md.SNzIvnmC.lean.js → reference_project-layout.md.mFcS8yDD.lean.js} +1 -1
  85. package/dist/docs/assets/{reference_sessions.md.C_uzIWuy.js → reference_sessions.md.C8FXuGwk.js} +1 -1
  86. package/dist/docs/assets/{reference_skills.md.Ckddg6KX.js → reference_skills.md.C2GWh7g8.js} +3 -3
  87. package/dist/docs/assets/{reference_subagents.md.gmPt5J-M.js → reference_subagents.md.ChNGh6HK.js} +1 -1
  88. package/dist/docs/assets/{reference_subagents.md.gmPt5J-M.lean.js → reference_subagents.md.ChNGh6HK.lean.js} +1 -1
  89. package/dist/docs/assets/{troubleshooting.md.PCafNCb5.js → troubleshooting.md.DFnoTDlQ.js} +1 -1
  90. package/dist/docs/building-with-agents.html +35 -35
  91. package/dist/docs/deployment.html +38 -38
  92. package/dist/docs/deployment.md +27 -3
  93. package/dist/docs/evals.html +35 -35
  94. package/dist/docs/guides/agent-to-agent.html +41 -40
  95. package/dist/docs/guides/agent-to-agent.md +34 -21
  96. package/dist/docs/guides/bitbucket.html +35 -35
  97. package/dist/docs/guides/cloud-agents.html +35 -35
  98. package/dist/docs/guides/convert-automation.html +35 -35
  99. package/dist/docs/guides/export-grokbot.html +114 -0
  100. package/dist/docs/guides/export-grokbot.md +239 -0
  101. package/dist/docs/guides/github.html +35 -35
  102. package/dist/docs/guides/gitlab.html +35 -35
  103. package/dist/docs/guides/grokbot-agents.html +35 -35
  104. package/dist/docs/guides/hooks.html +37 -37
  105. package/dist/docs/guides/hooks.md +3 -1
  106. package/dist/docs/guides/improve.html +35 -35
  107. package/dist/docs/guides/jev.html +35 -35
  108. package/dist/docs/guides/mcp-oauth.html +35 -35
  109. package/dist/docs/guides/migrate.html +36 -36
  110. package/dist/docs/guides/opentelemetry.html +39 -39
  111. package/dist/docs/guides/opentelemetry.md +37 -5
  112. package/dist/docs/guides/slack.html +35 -35
  113. package/dist/docs/guides/webhooks.html +35 -35
  114. package/dist/docs/hashmap.json +1 -1
  115. package/dist/docs/hillclimbing.html +35 -35
  116. package/dist/docs/index.html +37 -37
  117. package/dist/docs/index.md +3 -0
  118. package/dist/docs/llms-full.txt +536 -44
  119. package/dist/docs/llms.txt +2 -0
  120. package/dist/docs/quickstart.html +35 -35
  121. package/dist/docs/reference/agent-config.html +35 -35
  122. package/dist/docs/reference/artifacts.html +35 -35
  123. package/dist/docs/reference/channels.html +35 -35
  124. package/dist/docs/reference/cli.html +41 -38
  125. package/dist/docs/reference/cli.md +39 -1
  126. package/dist/docs/reference/connections.html +38 -38
  127. package/dist/docs/reference/connections.md +16 -6
  128. package/dist/docs/reference/evals.html +36 -36
  129. package/dist/docs/reference/extensions.html +35 -35
  130. package/dist/docs/reference/hooks.html +38 -38
  131. package/dist/docs/reference/hooks.md +6 -2
  132. package/dist/docs/reference/http-api.html +35 -35
  133. package/dist/docs/reference/instructions.html +35 -35
  134. package/dist/docs/reference/memory.html +63 -0
  135. package/dist/docs/reference/memory.md +114 -0
  136. package/dist/docs/reference/playground.html +35 -35
  137. package/dist/docs/reference/project-layout.html +37 -37
  138. package/dist/docs/reference/project-layout.md +4 -1
  139. package/dist/docs/reference/prompt.html +35 -35
  140. package/dist/docs/reference/schedules.html +35 -35
  141. package/dist/docs/reference/sessions.html +36 -36
  142. package/dist/docs/reference/sessions.md +1 -3
  143. package/dist/docs/reference/skills.html +38 -38
  144. package/dist/docs/reference/subagents.html +36 -36
  145. package/dist/docs/reference/subagents.md +2 -0
  146. package/dist/docs/reference/tools.html +35 -35
  147. package/dist/docs/templates/agentic-owners.html +35 -35
  148. package/dist/docs/templates/grokbot-agents.html +35 -35
  149. package/dist/docs/templates/security-reviewer.html +35 -35
  150. package/dist/docs/templates/thermo-quality-review.html +35 -35
  151. package/dist/docs/templates/thermo-review.html +35 -35
  152. package/dist/docs/templates/triage.html +35 -35
  153. package/dist/docs/troubleshooting.html +36 -36
  154. package/dist/docs/troubleshooting.md +1 -1
  155. package/dist/evals/assertions.d.ts +3 -3
  156. package/dist/evals/assertions.d.ts.map +1 -1
  157. package/dist/evals/assertions.js +2 -2
  158. package/dist/evals/judge.d.ts +5 -4
  159. package/dist/evals/judge.d.ts.map +1 -1
  160. package/dist/evals.d.ts +1 -1
  161. package/dist/evals.js +1 -1
  162. package/dist/extensions/cursor-cloud-agents/extension.d.ts +5 -2
  163. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  164. package/dist/extensions/cursor-cloud-agents/extension.js +21 -1
  165. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +22 -1
  166. package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
  167. package/dist/extensions/cursor-cloud-agents/lib/backend.js +1 -0
  168. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts +10 -3
  169. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts.map +1 -1
  170. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.js +10 -1
  171. package/dist/filesystem.js +1 -1
  172. package/dist/internal/cli-ax.d.ts +7 -7
  173. package/dist/internal/cli-ax.d.ts.map +1 -1
  174. package/dist/internal/cli-ax.js +36 -15
  175. package/dist/internal/cloud-turn-usage.d.ts +34 -0
  176. package/dist/internal/cloud-turn-usage.d.ts.map +1 -0
  177. package/dist/internal/cloud-turn-usage.js +94 -0
  178. package/dist/internal/cursor/account-mcp.d.ts +1 -1
  179. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  180. package/dist/internal/cursor/account-mcp.js +1 -1
  181. package/dist/internal/cursor/github-credentials.d.ts +1 -1
  182. package/dist/internal/cursor/github-credentials.d.ts.map +1 -1
  183. package/dist/internal/deploy-client.js +20 -1
  184. package/dist/internal/discovery/agent.d.ts +1 -1
  185. package/dist/internal/discovery/agent.d.ts.map +1 -1
  186. package/dist/internal/estimate-cost.d.ts +55 -0
  187. package/dist/internal/estimate-cost.d.ts.map +1 -0
  188. package/dist/internal/{turn-cost.js → estimate-cost.js} +15 -23
  189. package/dist/internal/eval-judge-model.d.ts +1 -1
  190. package/dist/internal/eval-judge-model.d.ts.map +1 -1
  191. package/dist/internal/eval-runner.d.ts +2 -2
  192. package/dist/internal/eval-runner.d.ts.map +1 -1
  193. package/dist/internal/eval-runner.js +1 -1
  194. package/dist/internal/evals-client.d.ts +1 -1
  195. package/dist/internal/evals-client.d.ts.map +1 -1
  196. package/dist/internal/evals-client.js +1 -1
  197. package/dist/internal/event-log.d.ts +2 -2
  198. package/dist/internal/event-log.d.ts.map +1 -1
  199. package/dist/internal/event-log.js +6 -3
  200. package/dist/internal/event-mapper.d.ts.map +1 -1
  201. package/dist/internal/event-mapper.js +5 -1
  202. package/dist/internal/filesystem/nearest.d.ts +1 -1
  203. package/dist/internal/filesystem/nearest.d.ts.map +1 -1
  204. package/dist/internal/filesystem/walk.d.ts +1 -1
  205. package/dist/internal/filesystem/walk.d.ts.map +1 -1
  206. package/dist/internal/filesystem/walk.js +1 -1
  207. package/dist/internal/host-otel.d.ts.map +1 -1
  208. package/dist/internal/http-channel.js +1 -1
  209. package/dist/internal/init-scaffold.d.ts.map +1 -1
  210. package/dist/internal/init-scaffold.js +3 -4
  211. package/dist/internal/memory-dir.d.ts +8 -0
  212. package/dist/internal/memory-dir.d.ts.map +1 -0
  213. package/dist/internal/memory-dir.js +7 -0
  214. package/dist/internal/otel/collector.d.ts +3 -3
  215. package/dist/internal/otel/collector.d.ts.map +1 -1
  216. package/dist/internal/otel/collector.js +68 -43
  217. package/dist/internal/otel/computer-use-attrs.d.ts +18 -0
  218. package/dist/internal/otel/computer-use-attrs.d.ts.map +1 -0
  219. package/dist/internal/otel/computer-use-attrs.js +30 -0
  220. package/dist/internal/otel/config.d.ts +1 -1
  221. package/dist/internal/otel/config.d.ts.map +1 -1
  222. package/dist/internal/otel/config.js +1 -1
  223. package/dist/internal/otel/runtime.d.ts +2 -6
  224. package/dist/internal/otel/runtime.d.ts.map +1 -1
  225. package/dist/internal/otel/runtime.js +54 -43
  226. package/dist/internal/otel/tool-error-class.d.ts +4 -0
  227. package/dist/internal/otel/tool-error-class.d.ts.map +1 -0
  228. package/dist/internal/otel/tool-error-class.js +36 -0
  229. package/dist/internal/sdk-runner.d.ts.map +1 -1
  230. package/dist/internal/sdk-runner.js +5 -13
  231. package/dist/internal/session-cost.d.ts +21 -22
  232. package/dist/internal/session-cost.d.ts.map +1 -1
  233. package/dist/internal/session-cost.js +38 -46
  234. package/dist/internal/session-engine.d.ts +22 -40
  235. package/dist/internal/session-engine.d.ts.map +1 -1
  236. package/dist/internal/session-engine.js +62 -109
  237. package/dist/internal/sessions-client.d.ts +13 -1
  238. package/dist/internal/sessions-client.d.ts.map +1 -1
  239. package/dist/internal/sessions-client.js +24 -0
  240. package/dist/internal/tool-result.d.ts +2 -2
  241. package/dist/internal/tool-result.d.ts.map +1 -1
  242. package/dist/internal/tool-result.js +16 -11
  243. package/dist/internal/trajectory.d.ts +5 -6
  244. package/dist/internal/trajectory.d.ts.map +1 -1
  245. package/dist/internal/trajectory.js +1 -13
  246. package/dist/internal/workspace-sync.js +1 -1
  247. package/dist/internal/workspace.js +1 -1
  248. package/dist/memory.d.ts +5 -4
  249. package/dist/memory.d.ts.map +1 -1
  250. package/dist/memory.js +2 -3
  251. package/dist/playground/assets/cursor-icons-16-gwXtdAvu.woff2 +0 -0
  252. package/dist/playground/assets/index-BfePgvWh.css +1 -0
  253. package/dist/playground/assets/index-DAlf9lxD.js +71 -0
  254. package/dist/playground/index.html +2 -2
  255. package/dist/types.d.ts +25 -29
  256. package/dist/types.d.ts.map +1 -1
  257. package/docs/README.md +3 -0
  258. package/docs/deployment.md +27 -3
  259. package/docs/guides/agent-to-agent.md +34 -21
  260. package/docs/guides/export-grokbot.md +244 -0
  261. package/docs/guides/hooks.md +3 -1
  262. package/docs/guides/opentelemetry.md +37 -5
  263. package/docs/reference/cli.md +39 -1
  264. package/docs/reference/connections.md +16 -6
  265. package/docs/reference/hooks.md +6 -2
  266. package/docs/reference/memory.md +119 -0
  267. package/docs/reference/project-layout.md +4 -1
  268. package/docs/reference/sessions.md +1 -3
  269. package/docs/reference/subagents.md +2 -0
  270. package/docs/troubleshooting.md +1 -1
  271. package/package.json +6 -5
  272. package/skills/evals/SKILL.md +1 -1
  273. package/skills/framework-map/SKILL.md +3 -1
  274. package/skills/otel/SKILL.md +4 -3
  275. package/templates/agentic-owners/bot/lib/owners/matching.ts +57 -2
  276. package/templates/pr-autofixer/bot/tools/drive_pr.ts +1 -2
  277. package/dist/docs/assets/chunks/@localSearchIndexroot.ylB4B_Ud.js +0 -1
  278. package/dist/docs/assets/chunks/channel.BgjgeSqp.js +0 -1
  279. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CIVv63wE.js +0 -1
  280. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CIVv63wE.js +0 -1
  281. package/dist/docs/assets/chunks/clone.HcW7h-70.js +0 -1
  282. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.B5d7jT7E.js +0 -1
  283. package/dist/docs/assets/chunks/wardley-RL74JXVD.BcY0KddE.js +0 -162
  284. package/dist/internal/cloud-turn-cost.d.ts +0 -42
  285. package/dist/internal/cloud-turn-cost.d.ts.map +0 -1
  286. package/dist/internal/cloud-turn-cost.js +0 -120
  287. package/dist/internal/turn-cost.d.ts +0 -41
  288. package/dist/internal/turn-cost.d.ts.map +0 -1
  289. package/dist/playground/assets/cursor-icons-16-DBmD_cqy.woff2 +0 -0
  290. package/dist/playground/assets/index-BDPd0Sec.css +0 -1
  291. package/dist/playground/assets/index-BrXDwbrN.js +0 -71
  292. /package/dist/docs/assets/{reference_sessions.md.C_uzIWuy.lean.js → reference_sessions.md.C8FXuGwk.lean.js} +0 -0
  293. /package/dist/docs/assets/{reference_skills.md.Ckddg6KX.lean.js → reference_skills.md.C2GWh7g8.lean.js} +0 -0
  294. /package/dist/docs/assets/{troubleshooting.md.PCafNCb5.lean.js → troubleshooting.md.DFnoTDlQ.lean.js} +0 -0
@@ -2,15 +2,19 @@
2
2
  * Maps the durable session event stream onto OTel traces / metrics / logs.
3
3
  *
4
4
  * Attribute names reuse Cursor enterprise wire keys where they overlap
5
- * (`cursor.conversation.id`, `cursor.token.*`, `cursor.tool.*`,
6
- * `cursor.cost.usage`, `cursor.model.name`) so Agent SDK traces join org
7
- * metrics/logs in the same collector. Agent-SDK-only fields use `agent_sdk.*`.
5
+ * (`cursor.conversation.id`, `cursor.token.*`, `cursor.tool.*`) so Agent SDK
6
+ * traces join org metrics/logs in the same collector. Agent-SDK-only fields
7
+ * use `agent_sdk.*`.
8
8
  */
9
9
  import { context, ROOT_CONTEXT, SpanKind, SpanStatusCode, trace, } from "@opentelemetry/api";
10
10
  import { SeverityNumber } from "@opentelemetry/api-logs";
11
11
  import { classifyExpectedDeliveryFailure } from "../expected-delivery-failure.js";
12
+ import { toolCallErrorMessage } from "../tool-result.js";
12
13
  import { attrs } from "./attrs.js";
14
+ import { computerUseRequestAttrs, computerUseResultAttrs } from "./computer-use-attrs.js";
15
+ import { classifyToolErrorText } from "./tool-error-class.js";
13
16
  const CONTENT_MAX = 2_048;
17
+ const SPAN_STATUS_REASON_MAX = 160;
14
18
  export function createOtelCollector(runtime, agentName, log) {
15
19
  const sessions = new Map();
16
20
  const extraBySession = new Map();
@@ -128,14 +132,22 @@ export function createOtelCollector(runtime, agentName, log) {
128
132
  return;
129
133
  }
130
134
  case "reasoning.completed": {
131
- ensureTurn(event, session, startTime)?.span.addEvent("reasoning.completed", attrs({
135
+ const turn = ensureTurn(event, session, startTime);
136
+ if (turn === undefined) {
137
+ return;
138
+ }
139
+ spanFor(turn, event.data.parentCallId).addEvent("reasoning.completed", attrs({
132
140
  "agent_sdk.duration_ms": event.data.durationMs,
133
141
  "agent_sdk.parent_call_id": event.data.parentCallId,
134
142
  }), startTime);
135
143
  return;
136
144
  }
137
145
  case "message.completed": {
138
- ensureTurn(event, session, startTime)?.span.addEvent("message.completed", attrs({
146
+ const turn = ensureTurn(event, session, startTime);
147
+ if (turn === undefined) {
148
+ return;
149
+ }
150
+ spanFor(turn, event.data.parentCallId).addEvent("message.completed", attrs({
139
151
  "agent_sdk.finish_reason": event.data.finishReason,
140
152
  "agent_sdk.parent_call_id": event.data.parentCallId,
141
153
  }), startTime);
@@ -170,18 +182,20 @@ export function createOtelCollector(runtime, agentName, log) {
170
182
  return;
171
183
  }
172
184
  case "action.approval_resolved": {
173
- ensureTurn(event, session, startTime)
174
- ?.tools.get(event.data.callId)
175
- ?.addEvent("approval_resolved", attrs({
185
+ const approvalTurn = ensureTurn(event, session, startTime);
186
+ if (event.data.decision === "deny") {
187
+ approvalTurn?.pendingToolErrors.set(event.data.callId, "denied");
188
+ }
189
+ approvalTurn?.tools.get(event.data.callId)?.addEvent("approval_resolved", attrs({
176
190
  "agent_sdk.decision": event.data.decision,
177
191
  "agent_sdk.decision_by": event.data.by,
178
192
  }), startTime);
179
193
  return;
180
194
  }
181
195
  case "action.auth_requested": {
182
- ensureTurn(event, session, startTime)
183
- ?.tools.get(event.data.callId)
184
- ?.addEvent("auth_requested", undefined, startTime);
196
+ const authTurn = ensureTurn(event, session, startTime);
197
+ authTurn?.pendingToolErrors.set(event.data.callId, "auth_required");
198
+ authTurn?.tools.get(event.data.callId)?.addEvent("auth_requested", undefined, startTime);
185
199
  emitLog("action.auth_requested", SeverityNumber.INFO, attrs({
186
200
  ...baseLog(event, session),
187
201
  "cursor.tool.name": event.data.toolName,
@@ -191,9 +205,11 @@ export function createOtelCollector(runtime, agentName, log) {
191
205
  return;
192
206
  }
193
207
  case "action.auth_resolved": {
194
- ensureTurn(event, session, startTime)
195
- ?.tools.get(event.data.callId)
196
- ?.addEvent("auth_resolved", attrs({
208
+ const authTurn = ensureTurn(event, session, startTime);
209
+ if (event.data.decision === "approve") {
210
+ authTurn?.pendingToolErrors.delete(event.data.callId);
211
+ }
212
+ authTurn?.tools.get(event.data.callId)?.addEvent("auth_resolved", attrs({
197
213
  "agent_sdk.decision": event.data.decision,
198
214
  "agent_sdk.decision_by": event.data.by,
199
215
  "agent_sdk.mcp_connection": event.data.connection,
@@ -206,17 +222,22 @@ export function createOtelCollector(runtime, agentName, log) {
206
222
  const status = event.data.isError ? "failure" : "success";
207
223
  if (span !== undefined) {
208
224
  span.setAttribute("cursor.tool.status", status);
225
+ span.setAttributes(attrs(computerUseResultAttrs(event.data)));
209
226
  if (logOpts?.toolContent === true && event.data.output !== undefined) {
210
227
  span.setAttribute("agent_sdk.tool_output", truncate(json(event.data.output)));
211
228
  }
212
229
  if (event.data.isError) {
230
+ const errorClass = turn?.pendingToolErrors.get(event.data.callId) ??
231
+ classifyToolErrorText(event.data.output);
232
+ span.setAttribute("agent_sdk.tool_error_class", errorClass);
213
233
  span.setStatus({
214
234
  code: SpanStatusCode.ERROR,
215
- message: "tool error",
235
+ message: toolFailureReason(event.data.output) ?? "tool error",
216
236
  });
217
237
  }
218
238
  span.end(startTime);
219
239
  turn?.tools.delete(event.data.callId);
240
+ turn?.pendingToolErrors.delete(event.data.callId);
220
241
  }
221
242
  metrics?.toolCalls.add(1, join(event.sessionId, {
222
243
  "cursor.tool.name": event.data.toolName,
@@ -272,6 +293,9 @@ export function createOtelCollector(runtime, agentName, log) {
272
293
  const turn = ensureTurn(event, session, startTime);
273
294
  const span = turn?.subagents.get(event.data.callId);
274
295
  if (span !== undefined) {
296
+ if (event.data.isError === true) {
297
+ span.setStatus({ code: SpanStatusCode.ERROR, message: "subagent error" });
298
+ }
275
299
  span.end(startTime);
276
300
  turn?.subagents.delete(event.data.callId);
277
301
  }
@@ -300,7 +324,6 @@ export function createOtelCollector(runtime, agentName, log) {
300
324
  }
301
325
  endOpenChildren(turn, startTime);
302
326
  const usage = event.data.usage;
303
- const cost = event.data.cost;
304
327
  if (usage !== undefined) {
305
328
  turn.span.setAttributes(attrs({
306
329
  "agent_sdk.usage.input_tokens": usage.inputTokens,
@@ -311,17 +334,6 @@ export function createOtelCollector(runtime, agentName, log) {
311
334
  }));
312
335
  recordTokens(event.sessionId, usage);
313
336
  }
314
- if (cost !== undefined) {
315
- turn.span.setAttributes(attrs({
316
- "cursor.model.name": cost.model,
317
- "agent_sdk.cost_usd": cost.totalUsd,
318
- "agent_sdk.cost_source": cost.source,
319
- }));
320
- metrics?.cost.add(cost.totalUsd, join(event.sessionId, {
321
- "cursor.model.name": cost.model,
322
- "agent_sdk.agent": agentName,
323
- }));
324
- }
325
337
  turn.span.setStatus({ code: SpanStatusCode.OK });
326
338
  turn.span.end(startTime);
327
339
  sessions.get(event.sessionId)?.turns.delete(event.turnId);
@@ -333,8 +345,6 @@ export function createOtelCollector(runtime, agentName, log) {
333
345
  ...baseLog(event, session),
334
346
  "agent_sdk.usage.input_tokens": usage?.inputTokens,
335
347
  "agent_sdk.usage.output_tokens": usage?.outputTokens,
336
- "agent_sdk.cost_usd": cost?.totalUsd,
337
- "cursor.model.name": cost?.model,
338
348
  }));
339
349
  return;
340
350
  }
@@ -460,22 +470,22 @@ export function createOtelCollector(runtime, agentName, log) {
460
470
  const turn = {
461
471
  span,
462
472
  tools: new Map(),
473
+ pendingToolErrors: new Map(),
463
474
  subagents: new Map(),
464
475
  synthetic: args.synthetic,
465
476
  };
466
477
  args.state.turns.set(args.turnId, turn);
467
478
  return turn;
468
479
  }
480
+ // Work inside a subagent belongs to its span, everything else to the turn.
481
+ function spanFor(turn, parentCallId) {
482
+ return (parentCallId === undefined ? undefined : turn.subagents.get(parentCallId)) ?? turn.span;
483
+ }
469
484
  function parentCtxFor(turn, parentCallId) {
470
- if (parentCallId !== undefined) {
471
- const sub = turn.subagents.get(parentCallId);
472
- if (sub !== undefined) {
473
- return trace.setSpan(context.active(), sub);
474
- }
475
- }
476
- return trace.setSpan(context.active(), turn.span);
485
+ return trace.setSpan(context.active(), spanFor(turn, parentCallId));
477
486
  }
478
487
  function openToolSpan(args) {
488
+ const computerUseAttrs = computerUseRequestAttrs(args.call.toolName, args.call.args);
479
489
  const existing = args.turn.tools.get(args.call.callId);
480
490
  if (existing !== undefined) {
481
491
  // Early `runInCall` opens with callId/toolName only. Fill in
@@ -483,6 +493,7 @@ export function createOtelCollector(runtime, agentName, log) {
483
493
  // The OTel parent is fixed at start; `parent_call_id` still records
484
494
  // the event-stream hierarchy for nested/subagent calls.
485
495
  existing.setAttributes(join(args.sessionId, {
496
+ ...computerUseAttrs,
486
497
  "agent_sdk.parent_call_id": args.parentCallId ?? args.call.parentCallId,
487
498
  "agent_sdk.tool_args": logOpts?.toolContent === true && args.call.args !== undefined
488
499
  ? truncate(json(args.call.args))
@@ -504,6 +515,7 @@ export function createOtelCollector(runtime, agentName, log) {
504
515
  "agent_sdk.tool_args": logOpts?.toolContent === true && args.call.args !== undefined
505
516
  ? truncate(json(args.call.args))
506
517
  : undefined,
518
+ ...computerUseAttrs,
507
519
  }),
508
520
  }, parentCtxFor(args.turn, args.parentCallId ?? args.call.parentCallId));
509
521
  args.turn.tools.set(args.call.callId, span);
@@ -537,10 +549,20 @@ export function createOtelCollector(runtime, agentName, log) {
537
549
  }
538
550
  function endOpenChildren(turn, endTime) {
539
551
  for (const span of turn.tools.values()) {
552
+ span.setAttribute("cursor.tool.status", "unknown");
553
+ span.setStatus({
554
+ code: SpanStatusCode.ERROR,
555
+ message: "no result",
556
+ });
540
557
  span.end(endTime);
541
558
  }
542
559
  turn.tools.clear();
560
+ turn.pendingToolErrors.clear();
543
561
  for (const span of turn.subagents.values()) {
562
+ span.setStatus({
563
+ code: SpanStatusCode.ERROR,
564
+ message: "no result",
565
+ });
544
566
  span.end(endTime);
545
567
  }
546
568
  turn.subagents.clear();
@@ -668,17 +690,20 @@ function buildMetrics(meter) {
668
690
  description: "Token usage by type",
669
691
  unit: "{token}",
670
692
  }),
671
- cost: meter.createCounter("cursor.cost.usage", {
672
- description: "Estimated turn cost in USD",
673
- unit: "USD",
674
- }),
675
693
  };
676
694
  }
677
- function truncate(value) {
678
- if (value.length <= CONTENT_MAX) {
695
+ function truncate(value, max = CONTENT_MAX) {
696
+ if (value.length <= max) {
679
697
  return value;
680
698
  }
681
- return `${value.slice(0, CONTENT_MAX)}…`;
699
+ return `${value.slice(0, max)}…`;
700
+ }
701
+ function toolFailureReason(output) {
702
+ const summary = toolCallErrorMessage(output);
703
+ if (summary === undefined) {
704
+ return undefined;
705
+ }
706
+ return truncate(summary.replace(/\s+/g, " ").trim(), SPAN_STATUS_REASON_MAX);
682
707
  }
683
708
  function json(value) {
684
709
  try {
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Content-free span attributes for `computerUse` tool calls.
3
+ *
4
+ * Computer use args hold typed text and screen coordinates, so the collector
5
+ * exports them only under `toolContent`. These attributes keep the action
6
+ * shape visible without that opt-in. On the cloud agent path one
7
+ * `computerUse` call is one action, so its tool span is the action span.
8
+ */
9
+ import type { AttrValue } from "./attrs.js";
10
+ type Attrs = Record<string, AttrValue | undefined>;
11
+ export declare function computerUseRequestAttrs(toolName: string, args: unknown): Attrs;
12
+ export declare function computerUseResultAttrs(result: {
13
+ readonly toolName: string;
14
+ readonly output?: unknown;
15
+ readonly isError: boolean;
16
+ }): Attrs;
17
+ export {};
18
+ //# sourceMappingURL=computer-use-attrs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computer-use-attrs.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/computer-use-attrs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;AAEnD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,CAU9E;AAID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GAAG,KAAK,CAWR"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Content-free span attributes for `computerUse` tool calls.
3
+ *
4
+ * Computer use args hold typed text and screen coordinates, so the collector
5
+ * exports them only under `toolContent`. These attributes keep the action
6
+ * shape visible without that opt-in. On the cloud agent path one
7
+ * `computerUse` call is one action, so its tool span is the action span.
8
+ */
9
+ import { isRecord } from "../is-record.js";
10
+ export function computerUseRequestAttrs(toolName, args) {
11
+ if (toolName !== "computerUse" || !isRecord(args) || !Array.isArray(args.actions)) {
12
+ return {};
13
+ }
14
+ // The SDK adapter emits only known action types, so `type` is a fixed
15
+ // literal and carries no content.
16
+ const types = args.actions.map((action) => isRecord(action) && typeof action.type === "string" ? action.type : "other");
17
+ return { "agent_sdk.computer.actions": types.join(",") };
18
+ }
19
+ // An error result is rebuilt from the thrown error and reports zero
20
+ // durations, so only a success result carries executor timing.
21
+ export function computerUseResultAttrs(result) {
22
+ const { toolName, output, isError } = result;
23
+ if (toolName !== "computerUse" || isError || !isRecord(output)) {
24
+ return {};
25
+ }
26
+ return {
27
+ "agent_sdk.computer.executor_duration_ms": typeof output.durationMs === "number" ? output.durationMs : undefined,
28
+ "agent_sdk.computer.settle_ms": typeof output.settleMs === "number" ? output.settleMs : undefined,
29
+ };
30
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Merge authored `defineOtel`, `serve({ otel })`, and standard OTel env.
3
3
  */
4
- import type { OtelConfig, OtelDefinition, OtelExporterConfig, OtelLogOptions, OtelMetricOptions, OtelSignal, OtelTraceOptions } from "../../otel.js";
4
+ import { type OtelConfig, type OtelDefinition, type OtelExporterConfig, type OtelLogOptions, type OtelMetricOptions, type OtelSignal, type OtelTraceOptions } from "../../otel.js";
5
5
  export interface ResolvedOtelConfig {
6
6
  enabled: boolean;
7
7
  serviceName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,GAAG,gBAAgB,CAAC;IACjC,OAAO,EAAE,KAAK,GAAG,iBAAiB,CAAC;IACnC,IAAI,EAAE,KAAK,GAAG,cAAc,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,GAC3E,cAAc,GAAG,SAAS,CAmB5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,kBAAkB,CAkDrB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBhF;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,kBAAkB,EAAE,EACxC,MAAM,EAAE,UAAU,GACjB,kBAAkB,EAAE,CAItB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,GAAG,gBAAgB,CAAC;IACjC,OAAO,EAAE,KAAK,GAAG,iBAAiB,CAAC;IACnC,IAAI,EAAE,KAAK,GAAG,cAAc,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,GAC3E,cAAc,GAAG,SAAS,CAmB5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,kBAAkB,CAkDrB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBhF;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,kBAAkB,EAAE,EACxC,MAAM,EAAE,UAAU,GACjB,kBAAkB,EAAE,CAItB"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Merge authored `defineOtel`, `serve({ otel })`, and standard OTel env.
3
3
  */
4
- import { resolveOtelDefinition } from "../../otel.js";
4
+ import { resolveOtelDefinition, } from "../../otel.js";
5
5
  /**
6
6
  * Process-global authored config. OTel SDK is one per serve process — if
7
7
  * several mounts ship `agent/otel.ts`, they must be identical.
@@ -1,12 +1,8 @@
1
1
  /**
2
2
  * Process-level OTel SDK (OTLP HTTP exporters for traces / metrics / logs).
3
- *
4
- * Refuses to install a second global Tracer/Meter/Logger provider when one
5
- * already owns the process (CLI, extension host, etc.). Spans still use
6
- * `trace.getTracer()` so they nest under an existing parent when present.
7
3
  */
8
- import type { Histogram, Meter, Tracer } from "@opentelemetry/api";
9
- import type { Logger as OtelLogger } from "@opentelemetry/api-logs";
4
+ import { type Histogram, type Meter, type Tracer } from "@opentelemetry/api";
5
+ import { type Logger as OtelLogger } from "@opentelemetry/api-logs";
10
6
  import { type ResolvedOtelConfig } from "./config.js";
11
7
  /**
12
8
  * Hosted v2 pods may be frozen or destroyed as soon as the HTTP reply
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA8BpE,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAK1E;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAErD,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,kBAAkB,CAAC;CAC1C;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,OAAO,CAAC,EAAE,wBAAwB,GACjC,WAAW,GAAG,SAAS,CA8BzB;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,SAAS,GAAE,MAAoC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAef"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/runtime.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,MAAM,EAKZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,MAAM,IAAI,UAAU,EAAQ,MAAM,yBAAyB,CAAC;AAiC1E,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAK1E;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAErD,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,kBAAkB,CAAC;CAC1C;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,OAAO,CAAC,EAAE,wBAAwB,GACjC,WAAW,GAAG,SAAS,CA8BzB;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,SAAS,GAAE,MAAoC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -1,11 +1,7 @@
1
1
  /**
2
2
  * Process-level OTel SDK (OTLP HTTP exporters for traces / metrics / logs).
3
- *
4
- * Refuses to install a second global Tracer/Meter/Logger provider when one
5
- * already owns the process (CLI, extension host, etc.). Spans still use
6
- * `trace.getTracer()` so they nest under an existing parent when present.
7
3
  */
8
- import { DiagLogLevel, diag, metrics, trace } from "@opentelemetry/api";
4
+ import { DiagLogLevel, diag, metrics, trace, } from "@opentelemetry/api";
9
5
  import { logs } from "@opentelemetry/api-logs";
10
6
  import { ExportResultCode } from "@opentelemetry/core";
11
7
  import { OTLPLogExporter as OTLPLogExporterHttp } from "@opentelemetry/exporter-logs-otlp-http";
@@ -17,7 +13,7 @@ import { OTLPTraceExporter as OTLPTraceExporterProto } from "@opentelemetry/expo
17
13
  import { resourceFromAttributes } from "@opentelemetry/resources";
18
14
  import { BatchLogRecordProcessor, LoggerProvider } from "@opentelemetry/sdk-logs";
19
15
  import { AggregationTemporality, MeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
20
- import { SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
16
+ import { SimpleSpanProcessor, } from "@opentelemetry/sdk-trace-base";
21
17
  import { BatchSpanProcessor, NodeTracerProvider, ParentBasedSampler, TraceIdRatioBasedSampler, } from "@opentelemetry/sdk-trace-node";
22
18
  import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
23
19
  import { installOutboundFetchInstrumentation, } from "../../otel.js";
@@ -51,12 +47,12 @@ export function createOtelRuntime(config, log, options) {
51
47
  }
52
48
  ensureW3cPropagator();
53
49
  const sdk = startOtelSdk(config, log, options?.resolveExport);
54
- const meter = config.metrics === false ? undefined : metrics.getMeterProvider().getMeter(INSTRUMENTATION);
50
+ const meter = config.metrics === false ? undefined : (sdk.meter ?? metrics.getMeter(INSTRUMENTATION));
55
51
  return {
56
52
  config,
57
- tracer: trace.getTracer(INSTRUMENTATION),
53
+ tracer: sdk.tracer,
58
54
  meter,
59
- logger: config.logs === false ? undefined : logs.getLogger(INSTRUMENTATION),
55
+ logger: config.logs === false ? undefined : (sdk.logger ?? logs.getLogger(INSTRUMENTATION)),
60
56
  httpDuration: meter === undefined
61
57
  ? undefined
62
58
  : meter.createHistogram("agent_sdk.http.duration", {
@@ -105,20 +101,18 @@ function startOtelSdk(config, logger, resolveExport) {
105
101
  const traceOpts = config.traces;
106
102
  if (traceOpts !== false) {
107
103
  const exporters = exportersForSignal(config.exporters, "traces");
108
- if (hasRealTracerProvider()) {
109
- logger("[bdk:otel] TracerProvider already registered; reusing global (BDK OTLP exporters not attached)");
110
- }
111
- else {
112
- const spanProcessors = [];
113
- if (exporters.length > 0) {
114
- for (const exporter of exporters) {
115
- spanProcessors.push(new BatchSpanProcessor(createTraceExporter(exporter, signalUrl(exporter.url, "traces"))));
116
- }
117
- }
118
- else {
119
- memoryExporter = new BoundedMemorySpanExporter(OTEL_IN_MEMORY_SPAN_LIMIT);
120
- spanProcessors.push(new SimpleSpanProcessor(memoryExporter));
104
+ const globalTracer = hasRealTracerProvider();
105
+ const spanProcessors = [];
106
+ if (exporters.length > 0) {
107
+ for (const exporter of exporters) {
108
+ spanProcessors.push(new BatchSpanProcessor(createTraceExporter(exporter, signalUrl(exporter.url, "traces"))));
121
109
  }
110
+ }
111
+ else if (!globalTracer) {
112
+ memoryExporter = new BoundedMemorySpanExporter(OTEL_IN_MEMORY_SPAN_LIMIT);
113
+ spanProcessors.push(new SimpleSpanProcessor(memoryExporter));
114
+ }
115
+ if (spanProcessors.length > 0) {
122
116
  tracerProvider = new NodeTracerProvider({
123
117
  resource,
124
118
  spanProcessors,
@@ -126,7 +120,12 @@ function startOtelSdk(config, logger, resolveExport) {
126
120
  root: new TraceIdRatioBasedSampler(traceOpts.sampleRatio ?? 1),
127
121
  }),
128
122
  });
129
- tracerProvider.register();
123
+ if (globalTracer) {
124
+ logger("[bdk:otel] TracerProvider already registered; BDK traces export on a local provider");
125
+ }
126
+ else {
127
+ tracerProvider.register();
128
+ }
130
129
  }
131
130
  }
132
131
  const metricOpts = config.metrics;
@@ -141,12 +140,9 @@ function startOtelSdk(config, logger, resolveExport) {
141
140
  exportIntervalMillis,
142
141
  })),
143
142
  });
144
- if (metrics.setGlobalMeterProvider(provider)) {
145
- meterProvider = provider;
146
- }
147
- else {
148
- logger("[bdk:otel] MeterProvider already registered; reusing global (BDK OTLP exporters not attached)");
149
- void provider.shutdown();
143
+ meterProvider = provider;
144
+ if (!metrics.setGlobalMeterProvider(provider)) {
145
+ logger("[bdk:otel] MeterProvider already registered; BDK metrics export on a local provider");
150
146
  }
151
147
  }
152
148
  }
@@ -157,13 +153,10 @@ function startOtelSdk(config, logger, resolveExport) {
157
153
  resource,
158
154
  processors: exporters.map((exporter) => new BatchLogRecordProcessor(createLogExporter(exporter, signalUrl(exporter.url, "logs")))),
159
155
  });
156
+ loggerProvider = provider;
160
157
  // api-logs returns the active provider (ours on success, existing otherwise).
161
- if (logs.setGlobalLoggerProvider(provider) === provider) {
162
- loggerProvider = provider;
163
- }
164
- else {
165
- logger("[bdk:otel] LoggerProvider already registered; reusing global (BDK OTLP exporters not attached)");
166
- void provider.shutdown();
158
+ if (logs.setGlobalLoggerProvider(provider) !== provider) {
159
+ logger("[bdk:otel] LoggerProvider already registered; BDK logs export on a local provider");
167
160
  }
168
161
  }
169
162
  }
@@ -173,14 +166,17 @@ function startOtelSdk(config, logger, resolveExport) {
173
166
  else {
174
167
  logger(`[bdk] otel recording service=${config.serviceName} (export on flush when OTLP exporters resolve)`);
175
168
  }
176
- const flushDeferred = async () => {
169
+ let draining;
170
+ const flushDeferred = () => {
171
+ draining ??= drainDeferred().finally(() => {
172
+ draining = undefined;
173
+ });
174
+ return draining;
175
+ };
176
+ const drainDeferred = async () => {
177
177
  if (memoryExporter === undefined) {
178
178
  return;
179
179
  }
180
- const spans = memoryExporter.getFinishedSpans();
181
- if (spans.length === 0) {
182
- return;
183
- }
184
180
  const exportConfig = resolveExport?.() ?? config;
185
181
  const destinations = exportersForSignal(exportConfig.exporters, "traces");
186
182
  if (destinations.length === 0) {
@@ -189,12 +185,23 @@ function startOtelSdk(config, logger, resolveExport) {
189
185
  // Spans already carry the bake-time Resource. Hosted v2 binds
190
186
  // deployment secrets after bake, so env / service extras on
191
187
  // exportConfig must replace that Resource on the wire.
192
- const ok = await exportQueuedSpans(spans, destinations, logger, buildResource(exportConfig));
193
- if (ok) {
194
- memoryExporter.reset();
188
+ const resource = buildResource(exportConfig);
189
+ for (;;) {
190
+ const spans = memoryExporter.getFinishedSpans();
191
+ if (spans.length === 0) {
192
+ return;
193
+ }
194
+ const ok = await exportQueuedSpans(spans, destinations, logger, resource);
195
+ if (!ok) {
196
+ return;
197
+ }
198
+ memoryExporter.dropExported(spans);
195
199
  }
196
200
  };
197
201
  return {
202
+ tracer: tracerProvider?.getTracer(INSTRUMENTATION) ?? trace.getTracer(INSTRUMENTATION),
203
+ meter: meterProvider?.getMeter(INSTRUMENTATION),
204
+ logger: loggerProvider?.getLogger(INSTRUMENTATION),
198
205
  forceFlush: async () => {
199
206
  await Promise.allSettled([
200
207
  raceOtelForceFlush(Promise.allSettled([
@@ -306,6 +313,10 @@ class BoundedMemorySpanExporter {
306
313
  getFinishedSpans() {
307
314
  return this.spans.slice();
308
315
  }
316
+ dropExported(exported) {
317
+ const exportedSet = new Set(exported);
318
+ this.spans = this.spans.filter((span) => !exportedSet.has(span));
319
+ }
309
320
  reset() {
310
321
  this.spans = [];
311
322
  }
@@ -0,0 +1,4 @@
1
+ export type ToolErrorTextClass = "not_found" | "rate_limited" | "timeout" | "unauthorized" | "tool_error";
2
+ export type ToolErrorClass = ToolErrorTextClass | "auth_required" | "denied";
3
+ export declare function classifyToolErrorText(output: unknown): ToolErrorTextClass;
4
+ //# sourceMappingURL=tool-error-class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-error-class.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/tool-error-class.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,cAAc,GACd,SAAS,GACT,cAAc,GACd,YAAY,CAAC;AAEjB,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,eAAe,GAAG,QAAQ,CAAC;AA6B7E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAWzE"}
@@ -0,0 +1,36 @@
1
+ import { toolCallErrorMessage } from "../tool-result.js";
2
+ const MAX_SCANNED_CHARS = 2_000;
3
+ const TEXT_CLASSES = [
4
+ ["not_found", /\bnot found: \/|path does not exist:|\benoent\b|no such file or directory/i],
5
+ [
6
+ "rate_limited",
7
+ /\b(?:HTTP(?:\/[\d.]+)?|status(?: code)?|code)[\s:=]*429\b|rate limit|too many requests/i,
8
+ ],
9
+ ["timeout", /\btimed?\s*out\b|\btimeout\b|\betimedout\b/i],
10
+ [
11
+ "unauthorized",
12
+ /\b(?:HTTP(?:\/[\d.]+)?|status(?: code)?|code)[\s:=]*(?:401|403)\b|\bunauthorized\b|\bforbidden\b/i,
13
+ ],
14
+ ];
15
+ function errorText(output) {
16
+ const message = toolCallErrorMessage(output);
17
+ if (message !== undefined || output === null || typeof output !== "object") {
18
+ return message;
19
+ }
20
+ const error = output.error;
21
+ return typeof error === "string" && error.trim() !== "" ? error : undefined;
22
+ }
23
+ const HOST_TOOL_PREFIX = /^Tool "[^"]*" /;
24
+ const INPUT_ECHO_PREFIX = /^(?:Invalid input for tool "|invalid grep pattern:)/i;
25
+ export function classifyToolErrorText(output) {
26
+ const text = errorText(output)?.replace(HOST_TOOL_PREFIX, "").slice(0, MAX_SCANNED_CHARS);
27
+ if (text === undefined || INPUT_ECHO_PREFIX.test(text)) {
28
+ return "tool_error";
29
+ }
30
+ for (const [errorClass, pattern] of TEXT_CLASSES) {
31
+ if (pattern.test(text)) {
32
+ return errorClass;
33
+ }
34
+ }
35
+ return "tool_error";
36
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-runner.d.ts","sourceRoot":"","sources":["../../src/internal/sdk-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk-runner.d.ts","sourceRoot":"","sources":["../../src/internal/sdk-runner.ts"],"names":[],"mappings":"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"}