@cursor/bdk 0.2.18 → 0.2.20

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 (213) hide show
  1. package/AGENTS.md +16 -6
  2. package/dist/channels/slack/slack-channel.d.ts +3 -2
  3. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  4. package/dist/channels/slack/slack-channel.js +9 -2
  5. package/dist/docs/404.html +2 -2
  6. package/dist/docs/assets/{app.CJ-XZTK5.js → app.BzgJFr_T.js} +4 -4
  7. package/dist/docs/assets/chunks/@localSearchIndexroot.gGwBYU3d.js +1 -0
  8. package/dist/docs/assets/chunks/{VPLocalSearchBox.CpbYgURZ.js → VPLocalSearchBox.Bn5QyUDM.js} +1 -1
  9. package/dist/docs/assets/chunks/{arc.B081PemO.js → arc.D734Gm5d.js} +1 -1
  10. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.DPaT_hi-.js → architectureDiagram-Q4EWVU46.NX1jj-YX.js} +1 -1
  11. package/dist/docs/assets/chunks/{baseUniq.Buu61NLg.js → baseUniq.nd8dxdeO.js} +1 -1
  12. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.C6t63owh.js → blockDiagram-DXYQGD6D.DG8faTim.js} +1 -1
  13. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.BtKabdXR.js → c4Diagram-AHTNJAMY.zD31AJ3b.js} +1 -1
  14. package/dist/docs/assets/chunks/channel.DQLJQMi3.js +1 -0
  15. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.DQpNaR8N.js → chunk-4BX2VUAB.BHQj6Rko.js} +1 -1
  16. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DrhL-6Rv.js → chunk-4TB4RGXK.Cs38Yh16.js} +1 -1
  17. package/dist/docs/assets/chunks/{chunk-55IACEB6.DRLIBfNR.js → chunk-55IACEB6.CFUR21JO.js} +1 -1
  18. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.kuUuFkIg.js → chunk-EDXVE4YY.C80-Sneg.js} +1 -1
  19. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.BlrVxprw.js → chunk-FMBD7UC4.CdT1MGza.js} +1 -1
  20. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CZCfYeQA.js → chunk-OYMX7WX6.BctEzab0.js} +1 -1
  21. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.C7rwVEMV.js → chunk-QZHKN3VN.DTneeX3k.js} +1 -1
  22. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CGseJtT_.js → chunk-YZCP3GAM.Cz47F_-o.js} +1 -1
  23. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.j55aerUT.js +1 -0
  24. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.j55aerUT.js +1 -0
  25. package/dist/docs/assets/chunks/clone.XimRS84I.js +1 -0
  26. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BWlczAK4.js → cose-bilkent-S5V4N54A.BPYgB-_O.js} +1 -1
  27. package/dist/docs/assets/chunks/{dagre-KV5264BT.Cw0tT0bB.js → dagre-KV5264BT.Cu6hECod.js} +1 -1
  28. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.Cm96ah9V.js → diagram-5BDNPKRD.BMgp95Tz.js} +1 -1
  29. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Cl0AoWYM.js → diagram-G4DWMVQ6.towWdhDi.js} +1 -1
  30. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.Bp7mlzKs.js → diagram-MMDJMWI5.D9IfOvE9.js} +1 -1
  31. package/dist/docs/assets/chunks/{diagram-TYMM5635.ClVeqpcW.js → diagram-TYMM5635.NTX57RPu.js} +1 -1
  32. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.Bi8dojF9.js → erDiagram-SMLLAGMA.DIQLqDqu.js} +1 -1
  33. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.Bb4urpfG.js → flowDiagram-DWJPFMVM.DhqpItRe.js} +1 -1
  34. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.whR4wFze.js → ganttDiagram-T4ZO3ILL.B998R3Ps.js} +1 -1
  35. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.6oVMi6-3.js → gitGraphDiagram-UUTBAWPF.B45nTn8-.js} +1 -1
  36. package/dist/docs/assets/chunks/{graph.D8AJDOFK.js → graph.DPseWzzM.js} +1 -1
  37. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.nTpsf5Vk.js → infoDiagram-42DDH7IO._GhhBBai.js} +1 -1
  38. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DhYDOwyB.js → ishikawaDiagram-UXIWVN3A.CTUMcaMM.js} +1 -1
  39. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.Bg7Rudw3.js → journeyDiagram-VCZTEJTY.DkJBUddC.js} +1 -1
  40. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.D80D_ZAR.js → kanban-definition-6JOO6SKY.B5Q3uwhy.js} +1 -1
  41. package/dist/docs/assets/chunks/{layout.e9hmuC-K.js → layout.CDY13IKh.js} +1 -1
  42. package/dist/docs/assets/chunks/{linear.D6hEyqVB.js → linear.BPd1ql9p.js} +1 -1
  43. package/dist/docs/assets/chunks/{min.BPAdvB9D.js → min.dlGuqIBP.js} +1 -1
  44. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.tm2Sov2Q.js → mindmap-definition-QFDTVHPH.Cp7zCtmb.js} +1 -1
  45. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BKHZ497m.js → pieDiagram-DEJITSTG.CRH034nu.js} +1 -1
  46. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CPj7gSp6.js → quadrantDiagram-34T5L4WZ.BspgZ-pX.js} +1 -1
  47. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E._U68yVUd.js → requirementDiagram-MS252O5E.CQZqZ0nZ.js} +1 -1
  48. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6._6jrIQPb.js → sankeyDiagram-XADWPNL6.DllwFU3k.js} +1 -1
  49. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.D9UlmB6F.js → sequenceDiagram-FGHM5R23.B5fTXycf.js} +1 -1
  50. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.BQSaiJCe.js → stateDiagram-FHFEXIEX.12GQjmbD.js} +1 -1
  51. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.Ctv5WEMu.js +1 -0
  52. package/dist/docs/assets/chunks/{theme.25ZC61Iy.js → theme.BgocqONV.js} +2 -2
  53. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.d-17NZ3L.js → timeline-definition-GMOUNBTQ.DXKUL5rH.js} +1 -1
  54. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.DE9AGEjG.js → vennDiagram-DHZGUBPP.BrsjYCjp.js} +1 -1
  55. package/dist/docs/assets/chunks/{wardley-RL74JXVD.BcY0KddE.js → wardley-RL74JXVD.DZDndEXQ.js} +1 -1
  56. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.D9SDNipV.js → wardleyDiagram-NUSXRM2D.C4oM69gv.js} +1 -1
  57. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.DM1sIMf8.js → xychartDiagram-5P7HB3ND.qzHH9efW.js} +1 -1
  58. package/dist/docs/assets/{deployment.md.ajc3VM0m.js → deployment.md.D0uprX2p.js} +3 -3
  59. package/dist/docs/assets/{deployment.md.ajc3VM0m.lean.js → deployment.md.D0uprX2p.lean.js} +1 -1
  60. package/dist/docs/assets/{guides_agent-to-agent.md.Cps5NiCV.js → guides_agent-to-agent.md.CwL5cwuE.js} +6 -5
  61. package/dist/docs/assets/{guides_agent-to-agent.md.Cps5NiCV.lean.js → guides_agent-to-agent.md.CwL5cwuE.lean.js} +1 -1
  62. package/dist/docs/assets/guides_export-grokbot.md.qo5bxi4h.js +55 -0
  63. package/dist/docs/assets/guides_export-grokbot.md.qo5bxi4h.lean.js +1 -0
  64. package/dist/docs/assets/{guides_opentelemetry.md.jcPNrQbH.js → guides_opentelemetry.md.BHPm32OR.js} +3 -3
  65. package/dist/docs/assets/{guides_opentelemetry.md.jcPNrQbH.lean.js → guides_opentelemetry.md.BHPm32OR.lean.js} +1 -1
  66. package/dist/docs/assets/{index.md.CHAFTf6m.js → index.md.CAnsLl8D.js} +2 -2
  67. package/dist/docs/assets/{index.md.CHAFTf6m.lean.js → index.md.CAnsLl8D.lean.js} +1 -1
  68. package/dist/docs/assets/{reference_cli.md.Bt3sAfat.js → reference_cli.md.Bkrsce22.js} +7 -4
  69. package/dist/docs/assets/{reference_cli.md.Bt3sAfat.lean.js → reference_cli.md.Bkrsce22.lean.js} +1 -1
  70. package/dist/docs/assets/{reference_connections.md.CxbLpaaP.js → reference_connections.md.BJE2Zllp.js} +4 -4
  71. package/dist/docs/assets/{reference_connections.md.CxbLpaaP.lean.js → reference_connections.md.BJE2Zllp.lean.js} +1 -1
  72. package/dist/docs/assets/{reference_hooks.md.DbJC8mcZ.js → reference_hooks.md.CP3FENFJ.js} +1 -1
  73. package/dist/docs/assets/reference_memory.md.BwyJXYZe.js +4 -0
  74. package/dist/docs/assets/reference_memory.md.BwyJXYZe.lean.js +1 -0
  75. package/dist/docs/assets/{reference_skills.md.Ckddg6KX.js → reference_skills.md.C2GWh7g8.js} +3 -3
  76. package/dist/docs/building-with-agents.html +35 -35
  77. package/dist/docs/deployment.html +38 -38
  78. package/dist/docs/deployment.md +17 -0
  79. package/dist/docs/evals.html +35 -35
  80. package/dist/docs/guides/agent-to-agent.html +41 -40
  81. package/dist/docs/guides/agent-to-agent.md +34 -21
  82. package/dist/docs/guides/bitbucket.html +35 -35
  83. package/dist/docs/guides/cloud-agents.html +35 -35
  84. package/dist/docs/guides/convert-automation.html +35 -35
  85. package/dist/docs/guides/export-grokbot.html +114 -0
  86. package/dist/docs/guides/export-grokbot.md +239 -0
  87. package/dist/docs/guides/github.html +35 -35
  88. package/dist/docs/guides/gitlab.html +35 -35
  89. package/dist/docs/guides/grokbot-agents.html +35 -35
  90. package/dist/docs/guides/hooks.html +35 -35
  91. package/dist/docs/guides/improve.html +35 -35
  92. package/dist/docs/guides/jev.html +35 -35
  93. package/dist/docs/guides/mcp-oauth.html +35 -35
  94. package/dist/docs/guides/migrate.html +36 -36
  95. package/dist/docs/guides/opentelemetry.html +37 -37
  96. package/dist/docs/guides/opentelemetry.md +19 -0
  97. package/dist/docs/guides/slack.html +35 -35
  98. package/dist/docs/guides/webhooks.html +35 -35
  99. package/dist/docs/hashmap.json +1 -1
  100. package/dist/docs/hillclimbing.html +35 -35
  101. package/dist/docs/index.html +37 -37
  102. package/dist/docs/index.md +3 -0
  103. package/dist/docs/llms-full.txt +493 -29
  104. package/dist/docs/llms.txt +2 -0
  105. package/dist/docs/quickstart.html +35 -35
  106. package/dist/docs/reference/agent-config.html +35 -35
  107. package/dist/docs/reference/artifacts.html +35 -35
  108. package/dist/docs/reference/channels.html +35 -35
  109. package/dist/docs/reference/cli.html +41 -38
  110. package/dist/docs/reference/cli.md +39 -1
  111. package/dist/docs/reference/connections.html +38 -38
  112. package/dist/docs/reference/connections.md +16 -6
  113. package/dist/docs/reference/evals.html +36 -36
  114. package/dist/docs/reference/extensions.html +35 -35
  115. package/dist/docs/reference/hooks.html +38 -38
  116. package/dist/docs/reference/hooks.md +2 -1
  117. package/dist/docs/reference/http-api.html +35 -35
  118. package/dist/docs/reference/instructions.html +35 -35
  119. package/dist/docs/reference/memory.html +63 -0
  120. package/dist/docs/reference/memory.md +114 -0
  121. package/dist/docs/reference/playground.html +35 -35
  122. package/dist/docs/reference/project-layout.html +35 -35
  123. package/dist/docs/reference/prompt.html +35 -35
  124. package/dist/docs/reference/schedules.html +35 -35
  125. package/dist/docs/reference/sessions.html +35 -35
  126. package/dist/docs/reference/skills.html +38 -38
  127. package/dist/docs/reference/subagents.html +35 -35
  128. package/dist/docs/reference/tools.html +35 -35
  129. package/dist/docs/templates/agentic-owners.html +35 -35
  130. package/dist/docs/templates/grokbot-agents.html +35 -35
  131. package/dist/docs/templates/security-reviewer.html +35 -35
  132. package/dist/docs/templates/thermo-quality-review.html +35 -35
  133. package/dist/docs/templates/thermo-review.html +35 -35
  134. package/dist/docs/templates/triage.html +35 -35
  135. package/dist/docs/troubleshooting.html +35 -35
  136. package/dist/evals.d.ts +1 -1
  137. package/dist/evals.js +1 -1
  138. package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -2
  139. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  140. package/dist/extensions/cursor-cloud-agents/extension.js +1 -1
  141. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts +8 -1
  142. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts.map +1 -1
  143. package/dist/extensions/cursor-cloud-agents/lib/launch-agent.js +10 -1
  144. package/dist/internal/cli-ax.d.ts +7 -7
  145. package/dist/internal/cli-ax.d.ts.map +1 -1
  146. package/dist/internal/cli-ax.js +36 -15
  147. package/dist/internal/cloud-turn-usage.d.ts +34 -0
  148. package/dist/internal/cloud-turn-usage.d.ts.map +1 -0
  149. package/dist/internal/cloud-turn-usage.js +94 -0
  150. package/dist/internal/estimate-cost.d.ts +55 -0
  151. package/dist/internal/estimate-cost.d.ts.map +1 -0
  152. package/dist/internal/{turn-cost.js → estimate-cost.js} +15 -23
  153. package/dist/internal/event-log.d.ts +2 -2
  154. package/dist/internal/event-log.js +2 -2
  155. package/dist/internal/http-channel.js +1 -1
  156. package/dist/internal/init-scaffold.d.ts.map +1 -1
  157. package/dist/internal/init-scaffold.js +3 -4
  158. package/dist/internal/otel/collector.d.ts +3 -3
  159. package/dist/internal/otel/collector.d.ts.map +1 -1
  160. package/dist/internal/otel/collector.js +8 -21
  161. package/dist/internal/otel/computer-use-attrs.d.ts +13 -0
  162. package/dist/internal/otel/computer-use-attrs.d.ts.map +1 -0
  163. package/dist/internal/otel/computer-use-attrs.js +29 -0
  164. package/dist/internal/sdk-runner.d.ts.map +1 -1
  165. package/dist/internal/sdk-runner.js +5 -13
  166. package/dist/internal/session-cost.d.ts +21 -22
  167. package/dist/internal/session-cost.d.ts.map +1 -1
  168. package/dist/internal/session-cost.js +38 -46
  169. package/dist/internal/session-engine.d.ts +22 -40
  170. package/dist/internal/session-engine.d.ts.map +1 -1
  171. package/dist/internal/session-engine.js +62 -109
  172. package/dist/internal/sessions-client.d.ts +13 -1
  173. package/dist/internal/sessions-client.d.ts.map +1 -1
  174. package/dist/internal/sessions-client.js +24 -0
  175. package/dist/internal/trajectory.d.ts +5 -6
  176. package/dist/internal/trajectory.d.ts.map +1 -1
  177. package/dist/internal/trajectory.js +1 -13
  178. package/dist/memory.d.ts +5 -2
  179. package/dist/memory.d.ts.map +1 -1
  180. package/dist/memory.js +1 -1
  181. package/dist/playground/assets/cursor-icons-16-gwXtdAvu.woff2 +0 -0
  182. package/dist/playground/assets/index-C77_FdOx.css +1 -0
  183. package/dist/playground/assets/index-CvzI2lhj.js +71 -0
  184. package/dist/playground/index.html +2 -2
  185. package/dist/types.d.ts +17 -26
  186. package/dist/types.d.ts.map +1 -1
  187. package/docs/README.md +3 -0
  188. package/docs/deployment.md +17 -0
  189. package/docs/guides/agent-to-agent.md +34 -21
  190. package/docs/guides/export-grokbot.md +244 -0
  191. package/docs/guides/opentelemetry.md +19 -0
  192. package/docs/reference/cli.md +39 -1
  193. package/docs/reference/connections.md +16 -6
  194. package/docs/reference/hooks.md +2 -1
  195. package/docs/reference/memory.md +119 -0
  196. package/package.json +4 -3
  197. package/templates/agentic-owners/bot/lib/owners/matching.ts +57 -2
  198. package/dist/docs/assets/chunks/@localSearchIndexroot.ylB4B_Ud.js +0 -1
  199. package/dist/docs/assets/chunks/channel.BgjgeSqp.js +0 -1
  200. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CIVv63wE.js +0 -1
  201. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CIVv63wE.js +0 -1
  202. package/dist/docs/assets/chunks/clone.HcW7h-70.js +0 -1
  203. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.B5d7jT7E.js +0 -1
  204. package/dist/internal/cloud-turn-cost.d.ts +0 -42
  205. package/dist/internal/cloud-turn-cost.d.ts.map +0 -1
  206. package/dist/internal/cloud-turn-cost.js +0 -120
  207. package/dist/internal/turn-cost.d.ts +0 -41
  208. package/dist/internal/turn-cost.d.ts.map +0 -1
  209. package/dist/playground/assets/cursor-icons-16-DBmD_cqy.woff2 +0 -0
  210. package/dist/playground/assets/index-BDPd0Sec.css +0 -1
  211. package/dist/playground/assets/index-BrXDwbrN.js +0 -71
  212. /package/dist/docs/assets/{reference_hooks.md.DbJC8mcZ.lean.js → reference_hooks.md.CP3FENFJ.lean.js} +0 -0
  213. /package/dist/docs/assets/{reference_skills.md.Ckddg6KX.lean.js → reference_skills.md.C2GWh7g8.lean.js} +0 -0
@@ -1 +0,0 @@
1
- import{U as a,D as n}from"../app.CJ-XZTK5.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK.DrhL-6Rv.js";import{_ as i}from"../app.CJ-XZTK5.js";import"./chunk-FMBD7UC4.BlrVxprw.js";import"./chunk-YZCP3GAM.CGseJtT_.js";import"./chunk-55IACEB6.DRLIBfNR.js";import"./chunk-EDXVE4YY.kuUuFkIg.js";import"./framework.BNw1pucY.js";import"./theme.25ZC61Iy.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK.DrhL-6Rv.js";import{_ as i}from"../app.CJ-XZTK5.js";import"./chunk-FMBD7UC4.BlrVxprw.js";import"./chunk-YZCP3GAM.CGseJtT_.js";import"./chunk-55IACEB6.DRLIBfNR.js";import"./chunk-EDXVE4YY.kuUuFkIg.js";import"./framework.BNw1pucY.js";import"./theme.25ZC61Iy.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./graph.D8AJDOFK.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1 +0,0 @@
1
- import{s as r,b as e,a,S as s}from"./chunk-OYMX7WX6.CZCfYeQA.js";import{_ as i}from"../app.CJ-XZTK5.js";import"./chunk-55IACEB6.DRLIBfNR.js";import"./chunk-EDXVE4YY.kuUuFkIg.js";import"./framework.BNw1pucY.js";import"./theme.25ZC61Iy.js";var u={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1,42 +0,0 @@
1
- /**
2
- * Recover token usage / billed cost for cloud turns that finished without
3
- * either field on `turn.completed`.
4
- *
5
- * Cloud `run.wait()` often drops streamed usage after SSE reconnect, and
6
- * older engines never persisted cost. The playground Trace tab only renders
7
- * what is on the event, so historical sessions stay blank unless we backfill
8
- * from `Agent.getUsage` when the stream is read.
9
- */
10
- import type { ModelSetting, SessionEvent, TurnUsage } from "../types.js";
11
- export interface CloudRunUsage {
12
- runId: string;
13
- usage: TurnUsage;
14
- cost?: {
15
- rawCostCents: number;
16
- chargedCents: number;
17
- };
18
- }
19
- export interface CloudAgentUsage {
20
- usage: TurnUsage;
21
- cost?: {
22
- rawCostCents: number;
23
- chargedCents: number;
24
- };
25
- runs: CloudRunUsage[];
26
- }
27
- export declare function usageTokenSum(usage: TurnUsage | undefined): number;
28
- export declare function isUnpricedCompletedTurn(event: SessionEvent): boolean;
29
- export declare function cloudSdkAgentIdFromEvents(events: ReadonlyArray<SessionEvent>): string | undefined;
30
- /**
31
- * Copy usage/cost onto unpriced `turn.completed` events. Returns undefined
32
- * when the snapshot cannot be attributed safely (multiple unmatched turns).
33
- */
34
- export declare function applyCloudUsageToEvents(events: ReadonlyArray<SessionEvent>, billed: CloudAgentUsage, model: ModelSetting): SessionEvent[] | undefined;
35
- export declare function mapSdkTokenUsage(usage: {
36
- inputTokens: number;
37
- outputTokens: number;
38
- cacheReadTokens: number;
39
- cacheWriteTokens: number;
40
- reasoningTokens?: number;
41
- }): TurnUsage;
42
- //# sourceMappingURL=cloud-turn-cost.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud-turn-cost.d.ts","sourceRoot":"","sources":["../../src/internal/cloud-turn-cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAY,SAAS,EAAE,MAAM,aAAa,CAAC;AAGnF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAKlE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAMpE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,SAAS,CAYjG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,GAClB,YAAY,EAAE,GAAG,SAAS,CA+D5B;AAgBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,SAAS,CAWZ"}
@@ -1,120 +0,0 @@
1
- /**
2
- * Recover token usage / billed cost for cloud turns that finished without
3
- * either field on `turn.completed`.
4
- *
5
- * Cloud `run.wait()` often drops streamed usage after SSE reconnect, and
6
- * older engines never persisted cost. The playground Trace tab only renders
7
- * what is on the event, so historical sessions stay blank unless we backfill
8
- * from `Agent.getUsage` when the stream is read.
9
- */
10
- import { turnCostFromCents } from "./turn-cost.js";
11
- export function usageTokenSum(usage) {
12
- if (usage === undefined) {
13
- return 0;
14
- }
15
- return usage.inputTokens + usage.outputTokens + usage.cacheReadTokens + usage.cacheWriteTokens;
16
- }
17
- export function isUnpricedCompletedTurn(event) {
18
- return (event.type === "turn.completed" &&
19
- usageTokenSum(event.data.usage) <= 0 &&
20
- event.data.cost === undefined);
21
- }
22
- export function cloudSdkAgentIdFromEvents(events) {
23
- let sdkAgentId;
24
- for (const event of events) {
25
- if (event.type !== "agent.bound") {
26
- continue;
27
- }
28
- const id = event.data.sdkAgentId.trim();
29
- if (id.startsWith("bc-")) {
30
- sdkAgentId = id;
31
- }
32
- }
33
- return sdkAgentId;
34
- }
35
- /**
36
- * Copy usage/cost onto unpriced `turn.completed` events. Returns undefined
37
- * when the snapshot cannot be attributed safely (multiple unmatched turns).
38
- */
39
- export function applyCloudUsageToEvents(events, billed, model) {
40
- const completedIndexes = [];
41
- const unpricedIndexes = [];
42
- for (let i = 0; i < events.length; i++) {
43
- const event = events[i];
44
- if (event === undefined || event.type !== "turn.completed") {
45
- continue;
46
- }
47
- completedIndexes.push(i);
48
- if (isUnpricedCompletedTurn(event)) {
49
- unpricedIndexes.push(i);
50
- }
51
- }
52
- if (unpricedIndexes.length === 0) {
53
- return [...events];
54
- }
55
- const patches = new Map();
56
- if (unpricedIndexes.length === 1 &&
57
- completedIndexes.length === 1 &&
58
- usageTokenSum(billed.usage) > 0) {
59
- const index = unpricedIndexes[0];
60
- if (index !== undefined) {
61
- patches.set(index, {
62
- usage: billed.usage,
63
- cost: turnCostFromBilled(model, billed.cost),
64
- });
65
- }
66
- }
67
- else if (billed.runs.length === unpricedIndexes.length &&
68
- billed.runs.every((run) => usageTokenSum(run.usage) > 0)) {
69
- for (let i = 0; i < unpricedIndexes.length; i++) {
70
- const index = unpricedIndexes[i];
71
- const run = billed.runs[i];
72
- if (index === undefined || run === undefined) {
73
- return undefined;
74
- }
75
- patches.set(index, {
76
- usage: run.usage,
77
- cost: turnCostFromBilled(model, run.cost),
78
- });
79
- }
80
- }
81
- else {
82
- return undefined;
83
- }
84
- return events.map((event, index) => {
85
- const patch = patches.get(index);
86
- if (patch === undefined || event.type !== "turn.completed") {
87
- return event;
88
- }
89
- return {
90
- ...event,
91
- data: {
92
- ...event.data,
93
- usage: patch.usage,
94
- ...(patch.cost === undefined ? {} : { cost: patch.cost }),
95
- },
96
- };
97
- });
98
- }
99
- function turnCostFromBilled(model, cost) {
100
- if (cost === undefined) {
101
- return undefined;
102
- }
103
- return turnCostFromCents({
104
- model,
105
- cost,
106
- source: "usage",
107
- });
108
- }
109
- export function mapSdkTokenUsage(usage) {
110
- const mapped = {
111
- inputTokens: usage.inputTokens,
112
- outputTokens: usage.outputTokens,
113
- cacheReadTokens: usage.cacheReadTokens,
114
- cacheWriteTokens: usage.cacheWriteTokens,
115
- };
116
- if (usage.reasoningTokens !== undefined) {
117
- mapped.reasoningTokens = usage.reasoningTokens;
118
- }
119
- return mapped;
120
- }
@@ -1,41 +0,0 @@
1
- /**
2
- * Dollar cost for an agent turn, computed by the Cloud Agents
3
- * `POST /v1/models/estimate-cost` endpoint (billed usage events for the
4
- * turn's cloud run when a run id is known, otherwise live catalog pricing).
5
- */
6
- import type { ModelSetting, TurnCost, TurnUsage } from "../types.js";
7
- export interface UsageCostCents {
8
- rawCostCents: number;
9
- chargedCents: number;
10
- }
11
- export interface EstimateTurnCostInput {
12
- model: ModelSetting;
13
- usage?: TurnUsage;
14
- agentId?: string;
15
- conversationId?: string;
16
- runId?: string;
17
- }
18
- export type EstimateTurnCostFn = (input: EstimateTurnCostInput) => Promise<TurnCost | undefined>;
19
- export declare function modelSettingId(model: ModelSetting): string;
20
- /**
21
- * This estimate-cost client treats OpenAI-compat usage as **provider-gross**
22
- * (local playground: `prompt_tokens` includes `cachedPromptTokens`). Catalog
23
- * `costForBaseTier` assumes Anthropic / billing-style disjoint nets and ADDs
24
- * `cacheRead × cachedRate` on top of `input × inputRate`, so we send
25
- * `input − cache` for Grok / xAI / GPT / o-series.
26
- *
27
- * Non-OpenAI-compat models are left alone. `input < cache` is only a
28
- * defensive clamp (avoid a negative uncached count), not a detector for
29
- * billed / openaiProxy-shaped tokens. Cloud catalog fallback with already-
30
- * netted OpenAI-compat usage is out of scope here.
31
- */
32
- export declare function isOpenAiCompatGrossCacheModel(model: ModelSetting): boolean;
33
- export declare function toCatalogDisjointUsage(usage: TurnUsage, model?: ModelSetting): TurnUsage;
34
- export declare function roundCostUsd(usd: number): number;
35
- export declare function turnCostFromCents(args: {
36
- model: ModelSetting;
37
- cost: UsageCostCents;
38
- source: TurnCost["source"];
39
- }): TurnCost;
40
- export declare function estimateTurnCostFromApi(input: EstimateTurnCostInput): Promise<TurnCost | undefined>;
41
- //# sourceMappingURL=turn-cost.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"turn-cost.d.ts","sourceRoot":"","sources":["../../src/internal/turn-cost.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGrE,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEjG,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAK1E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAYxF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC5B,GAAG,QAAQ,CAeX;AAeD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAgB/B"}