@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.
- package/AGENTS.md +16 -6
- package/dist/channels/github/defaults.d.ts +1 -1
- package/dist/channels/github/defaults.d.ts.map +1 -1
- package/dist/channels/github/defaults.js +1 -1
- package/dist/channels/github/progress.d.ts +1 -1
- package/dist/channels/github/progress.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.d.ts +3 -2
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +9 -2
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.CJ-XZTK5.js → app.C0diulDR.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot._fglLrPa.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.CpbYgURZ.js → VPLocalSearchBox.mlUwkfRQ.js} +1 -1
- package/dist/docs/assets/chunks/{arc.B081PemO.js → arc.DM5RRfvb.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.DPaT_hi-.js → architectureDiagram-Q4EWVU46.CNHCBbQl.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.Buu61NLg.js → baseUniq.25Udb_uV.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.C6t63owh.js → blockDiagram-DXYQGD6D.Bg-f3-qN.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.BtKabdXR.js → c4Diagram-AHTNJAMY.BywSQvK9.js} +1 -1
- package/dist/docs/assets/chunks/channel.C4s-x2x3.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.DQpNaR8N.js → chunk-4BX2VUAB.C3IdWWlO.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DrhL-6Rv.js → chunk-4TB4RGXK.D_t-pAXu.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.DRLIBfNR.js → chunk-55IACEB6.DvlNSQE5.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.kuUuFkIg.js → chunk-EDXVE4YY.6LpTrDTf.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.BlrVxprw.js → chunk-FMBD7UC4.BZxXsutI.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CZCfYeQA.js → chunk-OYMX7WX6.CrtynS_e.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.C7rwVEMV.js → chunk-QZHKN3VN.CUOQY0pM.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.CGseJtT_.js → chunk-YZCP3GAM.Dv3biZVN.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.h-fLya-M.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.h-fLya-M.js +1 -0
- package/dist/docs/assets/chunks/clone.BM9yCOiZ.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.BWlczAK4.js → cose-bilkent-S5V4N54A.DDzCqntx.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.Cw0tT0bB.js → dagre-KV5264BT.DoiV-U_C.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.Cm96ah9V.js → diagram-5BDNPKRD.LHX1aUDr.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Cl0AoWYM.js → diagram-G4DWMVQ6.lTnkbDQp.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.Bp7mlzKs.js → diagram-MMDJMWI5.CclJPnEx.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.ClVeqpcW.js → diagram-TYMM5635.CLmB0KKs.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.Bi8dojF9.js → erDiagram-SMLLAGMA.qKkkB7iQ.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.Bb4urpfG.js → flowDiagram-DWJPFMVM.HIkXNLJ3.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.whR4wFze.js → ganttDiagram-T4ZO3ILL.YN9lDgHe.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.6oVMi6-3.js → gitGraphDiagram-UUTBAWPF.CL6gf7f9.js} +1 -1
- package/dist/docs/assets/chunks/{graph.D8AJDOFK.js → graph.DMkP70rB.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.nTpsf5Vk.js → infoDiagram-42DDH7IO.CT98u6Zd.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DhYDOwyB.js → ishikawaDiagram-UXIWVN3A.CF88w8YD.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.Bg7Rudw3.js → journeyDiagram-VCZTEJTY.BoWKk6Rz.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.D80D_ZAR.js → kanban-definition-6JOO6SKY.CrmPv2sG.js} +1 -1
- package/dist/docs/assets/chunks/{layout.e9hmuC-K.js → layout.CEiPTQln.js} +1 -1
- package/dist/docs/assets/chunks/{linear.D6hEyqVB.js → linear.gkXuWu8G.js} +1 -1
- package/dist/docs/assets/chunks/{min.BPAdvB9D.js → min.C4EHK60v.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.tm2Sov2Q.js → mindmap-definition-QFDTVHPH.C-JqTP4s.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.BKHZ497m.js → pieDiagram-DEJITSTG.t2HgQOCt.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CPj7gSp6.js → quadrantDiagram-34T5L4WZ.D1k-BEKc.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E._U68yVUd.js → requirementDiagram-MS252O5E.CUu9VVrt.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6._6jrIQPb.js → sankeyDiagram-XADWPNL6.HroiBrt1.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.D9UlmB6F.js → sequenceDiagram-FGHM5R23.CeJapdwH.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.BQSaiJCe.js → stateDiagram-FHFEXIEX.CLj6JnXZ.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.CLFLHNN0.js +1 -0
- package/dist/docs/assets/chunks/{theme.25ZC61Iy.js → theme.B9ZHHvCq.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.d-17NZ3L.js → timeline-definition-GMOUNBTQ.BzKGPAdN.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.DE9AGEjG.js → vennDiagram-DHZGUBPP.DtBNkpF9.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.D_iarxve.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.D9SDNipV.js → wardleyDiagram-NUSXRM2D.rOXEXIA9.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.DM1sIMf8.js → xychartDiagram-5P7HB3ND.BrM71_SA.js} +1 -1
- package/dist/docs/assets/{deployment.md.ajc3VM0m.js → deployment.md.CtSJ6sF9.js} +3 -3
- package/dist/docs/assets/{deployment.md.ajc3VM0m.lean.js → deployment.md.CtSJ6sF9.lean.js} +1 -1
- package/dist/docs/assets/{guides_agent-to-agent.md.Cps5NiCV.js → guides_agent-to-agent.md.CwL5cwuE.js} +6 -5
- package/dist/docs/assets/{guides_agent-to-agent.md.Cps5NiCV.lean.js → guides_agent-to-agent.md.CwL5cwuE.lean.js} +1 -1
- package/dist/docs/assets/guides_export-grokbot.md.qo5bxi4h.js +55 -0
- package/dist/docs/assets/guides_export-grokbot.md.qo5bxi4h.lean.js +1 -0
- package/dist/docs/assets/{guides_hooks.md.B_bKG1oA.js → guides_hooks.md.Bfj0pK91.js} +1 -1
- package/dist/docs/assets/{guides_hooks.md.B_bKG1oA.lean.js → guides_hooks.md.Bfj0pK91.lean.js} +1 -1
- package/dist/docs/assets/{guides_opentelemetry.md.jcPNrQbH.js → guides_opentelemetry.md.ByW1Fs7b.js} +5 -5
- package/dist/docs/assets/{guides_opentelemetry.md.jcPNrQbH.lean.js → guides_opentelemetry.md.ByW1Fs7b.lean.js} +1 -1
- package/dist/docs/assets/{index.md.CHAFTf6m.js → index.md.CAnsLl8D.js} +2 -2
- package/dist/docs/assets/{index.md.CHAFTf6m.lean.js → index.md.CAnsLl8D.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.Bt3sAfat.js → reference_cli.md.Bkrsce22.js} +7 -4
- package/dist/docs/assets/{reference_cli.md.Bt3sAfat.lean.js → reference_cli.md.Bkrsce22.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.CxbLpaaP.js → reference_connections.md.BJE2Zllp.js} +4 -4
- package/dist/docs/assets/{reference_connections.md.CxbLpaaP.lean.js → reference_connections.md.BJE2Zllp.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.DbJC8mcZ.js → reference_hooks.md.B1jq3oGl.js} +3 -3
- package/dist/docs/assets/{reference_hooks.md.DbJC8mcZ.lean.js → reference_hooks.md.B1jq3oGl.lean.js} +1 -1
- package/dist/docs/assets/reference_memory.md.BwyJXYZe.js +4 -0
- package/dist/docs/assets/reference_memory.md.BwyJXYZe.lean.js +1 -0
- package/dist/docs/assets/{reference_project-layout.md.SNzIvnmC.js → reference_project-layout.md.mFcS8yDD.js} +3 -3
- package/dist/docs/assets/{reference_project-layout.md.SNzIvnmC.lean.js → reference_project-layout.md.mFcS8yDD.lean.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.C_uzIWuy.js → reference_sessions.md.C8FXuGwk.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.Ckddg6KX.js → reference_skills.md.C2GWh7g8.js} +3 -3
- package/dist/docs/assets/{reference_subagents.md.gmPt5J-M.js → reference_subagents.md.ChNGh6HK.js} +1 -1
- package/dist/docs/assets/{reference_subagents.md.gmPt5J-M.lean.js → reference_subagents.md.ChNGh6HK.lean.js} +1 -1
- package/dist/docs/assets/{troubleshooting.md.PCafNCb5.js → troubleshooting.md.DFnoTDlQ.js} +1 -1
- package/dist/docs/building-with-agents.html +35 -35
- package/dist/docs/deployment.html +38 -38
- package/dist/docs/deployment.md +27 -3
- package/dist/docs/evals.html +35 -35
- package/dist/docs/guides/agent-to-agent.html +41 -40
- package/dist/docs/guides/agent-to-agent.md +34 -21
- package/dist/docs/guides/bitbucket.html +35 -35
- package/dist/docs/guides/cloud-agents.html +35 -35
- package/dist/docs/guides/convert-automation.html +35 -35
- package/dist/docs/guides/export-grokbot.html +114 -0
- package/dist/docs/guides/export-grokbot.md +239 -0
- package/dist/docs/guides/github.html +35 -35
- package/dist/docs/guides/gitlab.html +35 -35
- package/dist/docs/guides/grokbot-agents.html +35 -35
- package/dist/docs/guides/hooks.html +37 -37
- package/dist/docs/guides/hooks.md +3 -1
- package/dist/docs/guides/improve.html +35 -35
- package/dist/docs/guides/jev.html +35 -35
- package/dist/docs/guides/mcp-oauth.html +35 -35
- package/dist/docs/guides/migrate.html +36 -36
- package/dist/docs/guides/opentelemetry.html +39 -39
- package/dist/docs/guides/opentelemetry.md +37 -5
- package/dist/docs/guides/slack.html +35 -35
- package/dist/docs/guides/webhooks.html +35 -35
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +35 -35
- package/dist/docs/index.html +37 -37
- package/dist/docs/index.md +3 -0
- package/dist/docs/llms-full.txt +536 -44
- package/dist/docs/llms.txt +2 -0
- package/dist/docs/quickstart.html +35 -35
- package/dist/docs/reference/agent-config.html +35 -35
- package/dist/docs/reference/artifacts.html +35 -35
- package/dist/docs/reference/channels.html +35 -35
- package/dist/docs/reference/cli.html +41 -38
- package/dist/docs/reference/cli.md +39 -1
- package/dist/docs/reference/connections.html +38 -38
- package/dist/docs/reference/connections.md +16 -6
- package/dist/docs/reference/evals.html +36 -36
- package/dist/docs/reference/extensions.html +35 -35
- package/dist/docs/reference/hooks.html +38 -38
- package/dist/docs/reference/hooks.md +6 -2
- package/dist/docs/reference/http-api.html +35 -35
- package/dist/docs/reference/instructions.html +35 -35
- package/dist/docs/reference/memory.html +63 -0
- package/dist/docs/reference/memory.md +114 -0
- package/dist/docs/reference/playground.html +35 -35
- package/dist/docs/reference/project-layout.html +37 -37
- package/dist/docs/reference/project-layout.md +4 -1
- package/dist/docs/reference/prompt.html +35 -35
- package/dist/docs/reference/schedules.html +35 -35
- package/dist/docs/reference/sessions.html +36 -36
- package/dist/docs/reference/sessions.md +1 -3
- package/dist/docs/reference/skills.html +38 -38
- package/dist/docs/reference/subagents.html +36 -36
- package/dist/docs/reference/subagents.md +2 -0
- package/dist/docs/reference/tools.html +35 -35
- package/dist/docs/templates/agentic-owners.html +35 -35
- package/dist/docs/templates/grokbot-agents.html +35 -35
- package/dist/docs/templates/security-reviewer.html +35 -35
- package/dist/docs/templates/thermo-quality-review.html +35 -35
- package/dist/docs/templates/thermo-review.html +35 -35
- package/dist/docs/templates/triage.html +35 -35
- package/dist/docs/troubleshooting.html +36 -36
- package/dist/docs/troubleshooting.md +1 -1
- package/dist/evals/assertions.d.ts +3 -3
- package/dist/evals/assertions.d.ts.map +1 -1
- package/dist/evals/assertions.js +2 -2
- package/dist/evals/judge.d.ts +5 -4
- package/dist/evals/judge.d.ts.map +1 -1
- package/dist/evals.d.ts +1 -1
- package/dist/evals.js +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.d.ts +5 -2
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +21 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +22 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts +10 -3
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.js +10 -1
- package/dist/filesystem.js +1 -1
- package/dist/internal/cli-ax.d.ts +7 -7
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +36 -15
- package/dist/internal/cloud-turn-usage.d.ts +34 -0
- package/dist/internal/cloud-turn-usage.d.ts.map +1 -0
- package/dist/internal/cloud-turn-usage.js +94 -0
- package/dist/internal/cursor/account-mcp.d.ts +1 -1
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +1 -1
- package/dist/internal/cursor/github-credentials.d.ts +1 -1
- package/dist/internal/cursor/github-credentials.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +20 -1
- package/dist/internal/discovery/agent.d.ts +1 -1
- package/dist/internal/discovery/agent.d.ts.map +1 -1
- package/dist/internal/estimate-cost.d.ts +55 -0
- package/dist/internal/estimate-cost.d.ts.map +1 -0
- package/dist/internal/{turn-cost.js → estimate-cost.js} +15 -23
- package/dist/internal/eval-judge-model.d.ts +1 -1
- package/dist/internal/eval-judge-model.d.ts.map +1 -1
- package/dist/internal/eval-runner.d.ts +2 -2
- package/dist/internal/eval-runner.d.ts.map +1 -1
- package/dist/internal/eval-runner.js +1 -1
- package/dist/internal/evals-client.d.ts +1 -1
- package/dist/internal/evals-client.d.ts.map +1 -1
- package/dist/internal/evals-client.js +1 -1
- package/dist/internal/event-log.d.ts +2 -2
- package/dist/internal/event-log.d.ts.map +1 -1
- package/dist/internal/event-log.js +6 -3
- package/dist/internal/event-mapper.d.ts.map +1 -1
- package/dist/internal/event-mapper.js +5 -1
- package/dist/internal/filesystem/nearest.d.ts +1 -1
- package/dist/internal/filesystem/nearest.d.ts.map +1 -1
- package/dist/internal/filesystem/walk.d.ts +1 -1
- package/dist/internal/filesystem/walk.d.ts.map +1 -1
- package/dist/internal/filesystem/walk.js +1 -1
- package/dist/internal/host-otel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +1 -1
- package/dist/internal/init-scaffold.d.ts.map +1 -1
- package/dist/internal/init-scaffold.js +3 -4
- package/dist/internal/memory-dir.d.ts +8 -0
- package/dist/internal/memory-dir.d.ts.map +1 -0
- package/dist/internal/memory-dir.js +7 -0
- package/dist/internal/otel/collector.d.ts +3 -3
- package/dist/internal/otel/collector.d.ts.map +1 -1
- package/dist/internal/otel/collector.js +68 -43
- package/dist/internal/otel/computer-use-attrs.d.ts +18 -0
- package/dist/internal/otel/computer-use-attrs.d.ts.map +1 -0
- package/dist/internal/otel/computer-use-attrs.js +30 -0
- package/dist/internal/otel/config.d.ts +1 -1
- package/dist/internal/otel/config.d.ts.map +1 -1
- package/dist/internal/otel/config.js +1 -1
- package/dist/internal/otel/runtime.d.ts +2 -6
- package/dist/internal/otel/runtime.d.ts.map +1 -1
- package/dist/internal/otel/runtime.js +54 -43
- package/dist/internal/otel/tool-error-class.d.ts +4 -0
- package/dist/internal/otel/tool-error-class.d.ts.map +1 -0
- package/dist/internal/otel/tool-error-class.js +36 -0
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +5 -13
- package/dist/internal/session-cost.d.ts +21 -22
- package/dist/internal/session-cost.d.ts.map +1 -1
- package/dist/internal/session-cost.js +38 -46
- package/dist/internal/session-engine.d.ts +22 -40
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +62 -109
- package/dist/internal/sessions-client.d.ts +13 -1
- package/dist/internal/sessions-client.d.ts.map +1 -1
- package/dist/internal/sessions-client.js +24 -0
- package/dist/internal/tool-result.d.ts +2 -2
- package/dist/internal/tool-result.d.ts.map +1 -1
- package/dist/internal/tool-result.js +16 -11
- package/dist/internal/trajectory.d.ts +5 -6
- package/dist/internal/trajectory.d.ts.map +1 -1
- package/dist/internal/trajectory.js +1 -13
- package/dist/internal/workspace-sync.js +1 -1
- package/dist/internal/workspace.js +1 -1
- package/dist/memory.d.ts +5 -4
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +2 -3
- package/dist/playground/assets/cursor-icons-16-gwXtdAvu.woff2 +0 -0
- package/dist/playground/assets/index-BfePgvWh.css +1 -0
- package/dist/playground/assets/index-DAlf9lxD.js +71 -0
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +25 -29
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +3 -0
- package/docs/deployment.md +27 -3
- package/docs/guides/agent-to-agent.md +34 -21
- package/docs/guides/export-grokbot.md +244 -0
- package/docs/guides/hooks.md +3 -1
- package/docs/guides/opentelemetry.md +37 -5
- package/docs/reference/cli.md +39 -1
- package/docs/reference/connections.md +16 -6
- package/docs/reference/hooks.md +6 -2
- package/docs/reference/memory.md +119 -0
- package/docs/reference/project-layout.md +4 -1
- package/docs/reference/sessions.md +1 -3
- package/docs/reference/subagents.md +2 -0
- package/docs/troubleshooting.md +1 -1
- package/package.json +6 -5
- package/skills/evals/SKILL.md +1 -1
- package/skills/framework-map/SKILL.md +3 -1
- package/skills/otel/SKILL.md +4 -3
- package/templates/agentic-owners/bot/lib/owners/matching.ts +57 -2
- package/templates/pr-autofixer/bot/tools/drive_pr.ts +1 -2
- package/dist/docs/assets/chunks/@localSearchIndexroot.ylB4B_Ud.js +0 -1
- package/dist/docs/assets/chunks/channel.BgjgeSqp.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CIVv63wE.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CIVv63wE.js +0 -1
- package/dist/docs/assets/chunks/clone.HcW7h-70.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.B5d7jT7E.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.BcY0KddE.js +0 -162
- package/dist/internal/cloud-turn-cost.d.ts +0 -42
- package/dist/internal/cloud-turn-cost.d.ts.map +0 -1
- package/dist/internal/cloud-turn-cost.js +0 -120
- package/dist/internal/turn-cost.d.ts +0 -41
- package/dist/internal/turn-cost.d.ts.map +0 -1
- package/dist/playground/assets/cursor-icons-16-DBmD_cqy.woff2 +0 -0
- package/dist/playground/assets/index-BDPd0Sec.css +0 -1
- package/dist/playground/assets/index-BrXDwbrN.js +0 -71
- /package/dist/docs/assets/{reference_sessions.md.C_uzIWuy.lean.js → reference_sessions.md.C8FXuGwk.lean.js} +0 -0
- /package/dist/docs/assets/{reference_skills.md.Ckddg6KX.lean.js → reference_skills.md.C2GWh7g8.lean.js} +0 -0
- /package/dist/docs/assets/{troubleshooting.md.PCafNCb5.lean.js → troubleshooting.md.DFnoTDlQ.lean.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/extensions/cursor-cloud-agents/extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/extensions/cursor-cloud-agents/extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,sBAAsB,EAC3B,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE,KAAK,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG;IAC7E,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;IAC1C,4DAA4D;IAC5D,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACpC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,6BAA6B,CAAC;IACtC,mEAAmE;IACnE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sGAAsG;IACtG,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7D,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,8DAA8D;AAC9D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,6BAA6B,CAAC;IACrC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AA4ED,QAAA,MAAM,iBAAiB,EAAE,SAAS,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,SAAS,CAK5F,CAAC;eAEU,iBAAiB"}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
*/
|
|
30
30
|
import { z } from "zod";
|
|
31
31
|
import { defineExtension } from "../../extensions.js";
|
|
32
|
-
export { followUpCloudAgent, getCloudEnvironment, launchCloudAgent, listCloudEnvironmentsNamed, } from "./lib/launch-agent.js";
|
|
32
|
+
export { followUpCloudAgent, getCloudAgent, getCloudEnvironment, launchCloudAgent, listCloudEnvironmentsNamed, } from "./lib/launch-agent.js";
|
|
33
33
|
export { launchRepos } from "./lib/repos.js";
|
|
34
34
|
const repo = z.object({
|
|
35
35
|
url: z.string().url(),
|
|
@@ -37,6 +37,25 @@ const repo = z.object({
|
|
|
37
37
|
prUrl: z.string().url().optional(),
|
|
38
38
|
});
|
|
39
39
|
const repos = z.array(repo);
|
|
40
|
+
const mcpServer = z.union([
|
|
41
|
+
z
|
|
42
|
+
.object({
|
|
43
|
+
name: z.string().min(1),
|
|
44
|
+
type: z.literal("stdio").optional(),
|
|
45
|
+
command: z.string().min(1),
|
|
46
|
+
args: z.array(z.string()).optional(),
|
|
47
|
+
env: z.record(z.string()).optional(),
|
|
48
|
+
})
|
|
49
|
+
.strict(),
|
|
50
|
+
z
|
|
51
|
+
.object({
|
|
52
|
+
name: z.string().min(1),
|
|
53
|
+
type: z.enum(["http", "sse"]).optional(),
|
|
54
|
+
url: z.string().url(),
|
|
55
|
+
headers: z.record(z.string()).optional(),
|
|
56
|
+
})
|
|
57
|
+
.strict(),
|
|
58
|
+
]);
|
|
40
59
|
const cloud = z.object({
|
|
41
60
|
env: z
|
|
42
61
|
.discriminatedUnion("type", [
|
|
@@ -50,6 +69,7 @@ const cloud = z.object({
|
|
|
50
69
|
autoCreatePR: z.boolean().optional(),
|
|
51
70
|
skipReviewerRequest: z.boolean().optional(),
|
|
52
71
|
envVars: z.record(z.string()).optional(),
|
|
72
|
+
mcpServers: z.array(mcpServer).optional(),
|
|
53
73
|
});
|
|
54
74
|
const model = z.union([
|
|
55
75
|
z.string().min(1),
|
|
@@ -55,10 +55,31 @@ export type CloudEnvironment = {
|
|
|
55
55
|
/** False when the backend marks the environment unable to launch agents. */
|
|
56
56
|
eligible: boolean;
|
|
57
57
|
};
|
|
58
|
+
/**
|
|
59
|
+
* An MCP server attached to a launched agent, in the Cloud Agents API's
|
|
60
|
+
* shape. A stdio server's command runs on the machine the agent runs on,
|
|
61
|
+
* so on a self-hosted worker it can reach that machine's own network.
|
|
62
|
+
*/
|
|
63
|
+
export type CloudAgentMcpServer = {
|
|
64
|
+
name: string;
|
|
65
|
+
type?: "stdio";
|
|
66
|
+
command: string;
|
|
67
|
+
args?: string[];
|
|
68
|
+
env?: Record<string, string>;
|
|
69
|
+
} | {
|
|
70
|
+
name: string;
|
|
71
|
+
type?: "http" | "sse";
|
|
72
|
+
url: string;
|
|
73
|
+
headers?: Record<string, string>;
|
|
74
|
+
};
|
|
75
|
+
/** Where and how one launch runs: {@link AgentCloudOptions} plus its MCP servers. */
|
|
76
|
+
export type CloudAgentLaunchTarget = AgentCloudOptions & {
|
|
77
|
+
mcpServers?: CloudAgentMcpServer[];
|
|
78
|
+
};
|
|
58
79
|
export type LaunchRequest = {
|
|
59
80
|
prompt: string;
|
|
60
81
|
name?: string;
|
|
61
|
-
cloud:
|
|
82
|
+
cloud: CloudAgentLaunchTarget;
|
|
62
83
|
model?: ModelSetting;
|
|
63
84
|
};
|
|
64
85
|
export declare class CloudAgentsBackend {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-cloud-agents/lib/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUzE,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAF1B,YACE,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA,EAIzB;CACF;AAED,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAGd,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-cloud-agents/lib/backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,6 +120,7 @@ export class CloudAgentsBackend {
|
|
|
120
120
|
model: request.model === undefined ? undefined : toModelSelection(request.model),
|
|
121
121
|
env: cloud.env,
|
|
122
122
|
envVars: cloud.envVars,
|
|
123
|
+
mcpServers: cloud.mcpServers,
|
|
123
124
|
repos: cloud.repos,
|
|
124
125
|
workOnCurrentBranch: cloud.workOnCurrentBranch,
|
|
125
126
|
autoCreatePR: cloud.autoCreatePR,
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
* mount's `get` / `dump` / `reply` / `cancel` like any other, or with
|
|
8
8
|
* {@link followUpCloudAgent} from authored code.
|
|
9
9
|
*/
|
|
10
|
-
import type {
|
|
11
|
-
import { type CloudAgentLaunch, type CloudEnvironment } from "./backend.js";
|
|
10
|
+
import type { ModelSetting, ToolContext } from "../../../types.js";
|
|
11
|
+
import { type CloudAgentInfo, type CloudAgentLaunch, type CloudAgentLaunchTarget, type CloudEnvironment } from "./backend.js";
|
|
12
12
|
export type CloudAgentLaunchResult = CloudAgentLaunch & {
|
|
13
13
|
watching: boolean;
|
|
14
14
|
};
|
|
15
15
|
export declare function launchCloudAgent(ctx: ToolContext, request: {
|
|
16
16
|
prompt: string;
|
|
17
17
|
name?: string;
|
|
18
|
-
cloud:
|
|
18
|
+
cloud: CloudAgentLaunchTarget;
|
|
19
19
|
/** Overrides the mount's model for this launch only. */
|
|
20
20
|
model?: ModelSetting;
|
|
21
21
|
}): Promise<CloudAgentLaunchResult>;
|
|
@@ -33,6 +33,13 @@ export declare function followUpCloudAgent(ctx: ToolContext, request: {
|
|
|
33
33
|
runId: string | undefined;
|
|
34
34
|
watching: boolean;
|
|
35
35
|
}>;
|
|
36
|
+
/**
|
|
37
|
+
* One agent's status, branch, pull request, summary, and error under the
|
|
38
|
+
* mount's API key. Unlike `cloud__get` there is no principal check, so pass
|
|
39
|
+
* only ids authored code launched (a reminder that reports its own launch's
|
|
40
|
+
* outcome), never an id a model chose.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getCloudAgent(agentId: string): Promise<CloudAgentInfo>;
|
|
36
43
|
/** A saved environment by public id under the mount's API key; undefined when not visible. */
|
|
37
44
|
export declare function getCloudEnvironment(publicId: string): Promise<CloudEnvironment | undefined>;
|
|
38
45
|
/** Visible saved environments whose display name is exactly `name`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-agent.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-cloud-agents/lib/launch-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"launch-agent.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor-cloud-agents/lib/launch-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAC;AAKtB,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9E,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,sBAAsB,CAAC;IAC9B,wDAAwD;IACxD,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,GACA,OAAO,CAAC,sBAAsB,CAAC,CAUjC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChE,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAgB3D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAEtE;AAED,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAE3F;AAED,uEAAuE;AACvE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAEpF"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { cloudAgentUrl } from "../../../internal/cursor/credentials.js";
|
|
11
11
|
import extension from "../extension.js";
|
|
12
|
-
import { cloudAgentsBackend } from "./backend.js";
|
|
12
|
+
import { cloudAgentsBackend, } from "./backend.js";
|
|
13
13
|
import { assertWriteChannel } from "./channels.js";
|
|
14
14
|
import { assertOwned, recordLaunch } from "./fleet.js";
|
|
15
15
|
import { armWatch } from "./watch.js";
|
|
@@ -43,6 +43,15 @@ export async function followUpCloudAgent(ctx, request) {
|
|
|
43
43
|
});
|
|
44
44
|
return { runId, watching };
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* One agent's status, branch, pull request, summary, and error under the
|
|
48
|
+
* mount's API key. Unlike `cloud__get` there is no principal check, so pass
|
|
49
|
+
* only ids authored code launched (a reminder that reports its own launch's
|
|
50
|
+
* outcome), never an id a model chose.
|
|
51
|
+
*/
|
|
52
|
+
export function getCloudAgent(agentId) {
|
|
53
|
+
return cloudAgentsBackend().info(agentId);
|
|
54
|
+
}
|
|
46
55
|
/** A saved environment by public id under the mount's API key; undefined when not visible. */
|
|
47
56
|
export function getCloudEnvironment(publicId) {
|
|
48
57
|
return cloudAgentsBackend().environment(publicId);
|
package/dist/filesystem.js
CHANGED
|
@@ -4,7 +4,7 @@ import path from "node:path";
|
|
|
4
4
|
import { minimatch } from "minimatch";
|
|
5
5
|
import { FileConflictError } from "./files.js";
|
|
6
6
|
import { EditError, FileNotFoundError, InvalidGrepPatternError, isFileNotFoundError, isInvalidGrepPatternError, NoMountError, PathError, ReadOnlyMountError, remapPathError, WriteFailedError, } from "./internal/filesystem/errors.js";
|
|
7
|
-
import { MEMORY_DIR_NAME } from "./memory.js";
|
|
7
|
+
import { MEMORY_DIR_NAME } from "./internal/memory-dir.js";
|
|
8
8
|
export { DeleteNotSupportedError, EditError, FileNotFoundError, InvalidGrepPatternError, isFileNotFoundError, isInvalidGrepPatternError, NoMountError, PathError, ReadOnlyMountError, WriteFailedError, } from "./internal/filesystem/errors.js";
|
|
9
9
|
import { mergeSorted } from "./internal/filesystem/merge.js";
|
|
10
10
|
import { isExcludedPath, listFilesFromPaths, mergeSortedByPath, statFromFilePaths, } from "./internal/filesystem/walk.js";
|
|
@@ -206,14 +206,14 @@ export declare const HOSTED_RUNS_LAG_NOTE = "Turn running; runs may lag behind e
|
|
|
206
206
|
*/
|
|
207
207
|
export declare function cmdSession(sessionId: string | undefined, options: AxCliOptions): Promise<number>;
|
|
208
208
|
/**
|
|
209
|
-
* `cost [sessionId]` — pull per-session cost
|
|
209
|
+
* `cost [sessionId]` — pull per-session usage and cost.
|
|
210
210
|
*
|
|
211
|
-
* With a session id: per-turn token usage
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
211
|
+
* With a session id: per-turn token usage plus the whole session's cost from
|
|
212
|
+
* `GET /v1/session/:id/cost` (billed usage when available, else catalog
|
|
213
|
+
* pricing of the summed tokens). Without one: token usage per session (all
|
|
214
|
+
* sessions on the target) plus a total row, unpriced so listing does not run
|
|
215
|
+
* a billed lookup per session. `--json` prints the underlying report(s);
|
|
216
|
+
* text is the default.
|
|
217
217
|
*/
|
|
218
218
|
export declare function cmdCost(sessionId: string | undefined, options: AxCliOptions): Promise<number>;
|
|
219
219
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-ax.d.ts","sourceRoot":"","sources":["../../src/internal/cli-ax.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAA8C,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-ax.d.ts","sourceRoot":"","sources":["../../src/internal/cli-ax.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/cli-ax.js
CHANGED
|
@@ -29,7 +29,7 @@ import { startPlaygroundProxy } from "./playground-proxy.js";
|
|
|
29
29
|
import { resolveProdPlaygroundUrl, resolveProdSlug, resolveProdTarget, } from "./resolve-prod-target.js";
|
|
30
30
|
import { runSession } from "./run-client.js";
|
|
31
31
|
import { buildSessionCostReport, formatSessionCostText, formatSessionsCostText, } from "./session-cost.js";
|
|
32
|
-
import { fetchSessionEvents, formatSessionsTable, listSessionsWithSource, resolvePreviousSessionId, } from "./sessions-client.js";
|
|
32
|
+
import { fetchSessionCost, fetchSessionEvents, formatSessionsTable, listSessionsWithSource, resolvePreviousSessionId, } from "./sessions-client.js";
|
|
33
33
|
import { createStreamProgress } from "./stream-progress.js";
|
|
34
34
|
import { buildTrajectory, formatTrajectoryText, loadTrajectoryFromEventsFile, } from "./trajectory.js";
|
|
35
35
|
function shouldStreamProgress(options) {
|
|
@@ -363,6 +363,8 @@ export async function cmdChat(options) {
|
|
|
363
363
|
return 1;
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
|
+
/** Covers the server's billed lookup plus its catalog retry; `run` reports no cost past it. */
|
|
367
|
+
const RUN_SESSION_COST_TIMEOUT_MS = 15_000;
|
|
366
368
|
export async function cmdRun(options) {
|
|
367
369
|
// Only a v2-shaped request tries the control plane; every v1 `run --prod`
|
|
368
370
|
// form (multi-turn, continuation token, local session id, --url) keeps its
|
|
@@ -394,6 +396,17 @@ export async function cmdRun(options) {
|
|
|
394
396
|
timeoutMs: options.timeoutMs,
|
|
395
397
|
onEvent: progress === undefined ? undefined : (e) => progress.onEvent(e),
|
|
396
398
|
});
|
|
399
|
+
if (options.prod !== true) {
|
|
400
|
+
const cost = await fetchSessionCost({
|
|
401
|
+
baseUrl: target.agentUrl,
|
|
402
|
+
sessionId: result.sessionId,
|
|
403
|
+
auth: { bearerToken: options.bearerToken, headers: target.headers },
|
|
404
|
+
signal: AbortSignal.timeout(RUN_SESSION_COST_TIMEOUT_MS),
|
|
405
|
+
});
|
|
406
|
+
if (cost !== undefined) {
|
|
407
|
+
result.trajectory.totalCostUsd = cost.costUsd;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
397
410
|
let eventsPath;
|
|
398
411
|
const writeEvents = options.events !== false;
|
|
399
412
|
if (writeEvents) {
|
|
@@ -1614,14 +1627,14 @@ export async function cmdSession(sessionId, options) {
|
|
|
1614
1627
|
/** Sessions fetched concurrently when `cost` aggregates every session. */
|
|
1615
1628
|
const COST_FETCH_CONCURRENCY = 4;
|
|
1616
1629
|
/**
|
|
1617
|
-
* `cost [sessionId]` — pull per-session cost
|
|
1630
|
+
* `cost [sessionId]` — pull per-session usage and cost.
|
|
1618
1631
|
*
|
|
1619
|
-
* With a session id: per-turn token usage
|
|
1620
|
-
*
|
|
1621
|
-
*
|
|
1622
|
-
*
|
|
1623
|
-
*
|
|
1624
|
-
*
|
|
1632
|
+
* With a session id: per-turn token usage plus the whole session's cost from
|
|
1633
|
+
* `GET /v1/session/:id/cost` (billed usage when available, else catalog
|
|
1634
|
+
* pricing of the summed tokens). Without one: token usage per session (all
|
|
1635
|
+
* sessions on the target) plus a total row, unpriced so listing does not run
|
|
1636
|
+
* a billed lookup per session. `--json` prints the underlying report(s);
|
|
1637
|
+
* text is the default.
|
|
1625
1638
|
*/
|
|
1626
1639
|
export async function cmdCost(sessionId, options) {
|
|
1627
1640
|
const target = await resolveSessionTarget(options);
|
|
@@ -1635,13 +1648,21 @@ export async function cmdCost(sessionId, options) {
|
|
|
1635
1648
|
try {
|
|
1636
1649
|
const resolved = trimNonEmpty(sessionId);
|
|
1637
1650
|
if (resolved !== undefined) {
|
|
1638
|
-
const events = await
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1651
|
+
const [events, cost] = await Promise.all([
|
|
1652
|
+
fetchSessionEvents({
|
|
1653
|
+
baseUrl: target.agentUrl,
|
|
1654
|
+
sessionId: resolved,
|
|
1655
|
+
auth,
|
|
1656
|
+
fetchImpl: options.fetchImpl,
|
|
1657
|
+
}),
|
|
1658
|
+
fetchSessionCost({
|
|
1659
|
+
baseUrl: target.agentUrl,
|
|
1660
|
+
sessionId: resolved,
|
|
1661
|
+
auth,
|
|
1662
|
+
fetchImpl: options.fetchImpl,
|
|
1663
|
+
}),
|
|
1664
|
+
]);
|
|
1665
|
+
const report = buildSessionCostReport(events, cost);
|
|
1645
1666
|
if (report.sessionId === "") {
|
|
1646
1667
|
report.sessionId = resolved;
|
|
1647
1668
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recover token usage for cloud turns that finished without it on
|
|
3
|
+
* `turn.completed`.
|
|
4
|
+
*
|
|
5
|
+
* Cloud `run.wait()` often drops streamed usage after SSE reconnect. The
|
|
6
|
+
* playground Trace tab only renders what is on the event, so those turns
|
|
7
|
+
* stay blank unless usage is backfilled from `Agent.getUsage` when the
|
|
8
|
+
* stream is read.
|
|
9
|
+
*/
|
|
10
|
+
import type { SessionEvent, TurnUsage } from "../types.js";
|
|
11
|
+
export interface CloudRunUsage {
|
|
12
|
+
runId: string;
|
|
13
|
+
usage: TurnUsage;
|
|
14
|
+
}
|
|
15
|
+
export interface CloudAgentUsage {
|
|
16
|
+
usage: TurnUsage;
|
|
17
|
+
runs: CloudRunUsage[];
|
|
18
|
+
}
|
|
19
|
+
export declare function usageTokenSum(usage: TurnUsage | undefined): number;
|
|
20
|
+
export declare function isUsageMissingCompletedTurn(event: SessionEvent): boolean;
|
|
21
|
+
export declare function cloudSdkAgentIdFromEvents(events: ReadonlyArray<SessionEvent>): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Copy usage onto `turn.completed` events that have none. Returns undefined
|
|
24
|
+
* when the snapshot cannot be attributed safely (multiple unmatched turns).
|
|
25
|
+
*/
|
|
26
|
+
export declare function applyCloudUsageToEvents(events: ReadonlyArray<SessionEvent>, billed: CloudAgentUsage): SessionEvent[] | undefined;
|
|
27
|
+
export declare function mapSdkTokenUsage(usage: {
|
|
28
|
+
inputTokens: number;
|
|
29
|
+
outputTokens: number;
|
|
30
|
+
cacheReadTokens: number;
|
|
31
|
+
cacheWriteTokens: number;
|
|
32
|
+
reasoningTokens?: number;
|
|
33
|
+
}): TurnUsage;
|
|
34
|
+
//# sourceMappingURL=cloud-turn-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-turn-usage.d.ts","sourceRoot":"","sources":["../../src/internal/cloud-turn-usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAKlE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAExE;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,GACtB,YAAY,EAAE,GAAG,SAAS,CAkD5B;AAED,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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recover token usage for cloud turns that finished without it on
|
|
3
|
+
* `turn.completed`.
|
|
4
|
+
*
|
|
5
|
+
* Cloud `run.wait()` often drops streamed usage after SSE reconnect. The
|
|
6
|
+
* playground Trace tab only renders what is on the event, so those turns
|
|
7
|
+
* stay blank unless usage is backfilled from `Agent.getUsage` when the
|
|
8
|
+
* stream is read.
|
|
9
|
+
*/
|
|
10
|
+
export function usageTokenSum(usage) {
|
|
11
|
+
if (usage === undefined) {
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
return usage.inputTokens + usage.outputTokens + usage.cacheReadTokens + usage.cacheWriteTokens;
|
|
15
|
+
}
|
|
16
|
+
export function isUsageMissingCompletedTurn(event) {
|
|
17
|
+
return event.type === "turn.completed" && usageTokenSum(event.data.usage) <= 0;
|
|
18
|
+
}
|
|
19
|
+
export function cloudSdkAgentIdFromEvents(events) {
|
|
20
|
+
let sdkAgentId;
|
|
21
|
+
for (const event of events) {
|
|
22
|
+
if (event.type !== "agent.bound") {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const id = event.data.sdkAgentId.trim();
|
|
26
|
+
if (id.startsWith("bc-")) {
|
|
27
|
+
sdkAgentId = id;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return sdkAgentId;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Copy usage onto `turn.completed` events that have none. Returns undefined
|
|
34
|
+
* when the snapshot cannot be attributed safely (multiple unmatched turns).
|
|
35
|
+
*/
|
|
36
|
+
export function applyCloudUsageToEvents(events, billed) {
|
|
37
|
+
const completedIndexes = [];
|
|
38
|
+
const missingIndexes = [];
|
|
39
|
+
for (let i = 0; i < events.length; i++) {
|
|
40
|
+
const event = events[i];
|
|
41
|
+
if (event === undefined || event.type !== "turn.completed") {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
completedIndexes.push(i);
|
|
45
|
+
if (isUsageMissingCompletedTurn(event)) {
|
|
46
|
+
missingIndexes.push(i);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (missingIndexes.length === 0) {
|
|
50
|
+
return [...events];
|
|
51
|
+
}
|
|
52
|
+
const patches = new Map();
|
|
53
|
+
if (missingIndexes.length === 1 &&
|
|
54
|
+
completedIndexes.length === 1 &&
|
|
55
|
+
usageTokenSum(billed.usage) > 0) {
|
|
56
|
+
const index = missingIndexes[0];
|
|
57
|
+
if (index !== undefined) {
|
|
58
|
+
patches.set(index, billed.usage);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else if (billed.runs.length === missingIndexes.length &&
|
|
62
|
+
billed.runs.every((run) => usageTokenSum(run.usage) > 0)) {
|
|
63
|
+
for (let i = 0; i < missingIndexes.length; i++) {
|
|
64
|
+
const index = missingIndexes[i];
|
|
65
|
+
const run = billed.runs[i];
|
|
66
|
+
if (index === undefined || run === undefined) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
patches.set(index, run.usage);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
return events.map((event, index) => {
|
|
76
|
+
const usage = patches.get(index);
|
|
77
|
+
if (usage === undefined || event.type !== "turn.completed") {
|
|
78
|
+
return event;
|
|
79
|
+
}
|
|
80
|
+
return { ...event, data: { ...event.data, usage } };
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
export function mapSdkTokenUsage(usage) {
|
|
84
|
+
const mapped = {
|
|
85
|
+
inputTokens: usage.inputTokens,
|
|
86
|
+
outputTokens: usage.outputTokens,
|
|
87
|
+
cacheReadTokens: usage.cacheReadTokens,
|
|
88
|
+
cacheWriteTokens: usage.cacheWriteTokens,
|
|
89
|
+
};
|
|
90
|
+
if (usage.reasoningTokens !== undefined) {
|
|
91
|
+
mapped.reasoningTokens = usage.reasoningTokens;
|
|
92
|
+
}
|
|
93
|
+
return mapped;
|
|
94
|
+
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* (so `servers` filters apply there too); without one they omit the bridge
|
|
14
14
|
* and fall back to the account's natively hydrated connectors.
|
|
15
15
|
*/
|
|
16
|
-
import type
|
|
16
|
+
import { type AgentProject, type AuthPolicy } from "../../types.js";
|
|
17
17
|
import type { EngineResolvedConnection } from "../session-engine.js";
|
|
18
18
|
import { type TerminalPalette } from "../terminal-style.js";
|
|
19
19
|
import type { AccountMcpCallResult, AccountMcpServer, CursorBackendClient } from "./backend-client.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-mcp.d.ts","sourceRoot":"","sources":["../../../src/internal/cursor/account-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"account-mcp.d.ts","sourceRoot":"","sources":["../../../src/internal/cursor/account-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import { randomBytes } from "node:crypto";
|
|
|
17
17
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
18
18
|
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
19
19
|
import { bearerAuth } from "../../channels.js";
|
|
20
|
-
import { isCursorAccountTransport } from "../../types.js";
|
|
20
|
+
import { isCursorAccountTransport, } from "../../types.js";
|
|
21
21
|
import { probeConnectorAuthUrls } from "../cursor-account-mcp-auth.js";
|
|
22
22
|
import { describeError } from "../describe-error.js";
|
|
23
23
|
import { LOG_PREFIX } from "../distribution.js";
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* without being rebuilt.
|
|
7
7
|
*/
|
|
8
8
|
import type { CursorGithubRepoScope } from "../../channels/github/cursor-account.js";
|
|
9
|
-
import type
|
|
9
|
+
import { type CursorBackendClient } from "./backend-client.js";
|
|
10
10
|
type GithubTokenClient = Pick<CursorBackendClient, "getGithubToken">;
|
|
11
11
|
export interface CursorGithubCredentialProviderOptions {
|
|
12
12
|
client: GithubTokenClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-credentials.d.ts","sourceRoot":"","sources":["../../../src/internal/cursor/github-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"github-credentials.d.ts","sourceRoot":"","sources":["../../../src/internal/cursor/github-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAQnF,KAAK,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAErE,MAAM,WAAW,qCAAqC;IACpD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAaD,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,YAAY,OAAO,EAAE,qCAAqC,EAMzD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB3B;IAEK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAsBhC;IAED,IAAI,IAAI,IAAI,CAUX;YAEa,OAAO;IAoDrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,cAAc;CAUvB"}
|
|
@@ -937,6 +937,24 @@ function serverErrorText(bodyText) {
|
|
|
937
937
|
}
|
|
938
938
|
return undefined;
|
|
939
939
|
}
|
|
940
|
+
/**
|
|
941
|
+
* The server's Privacy Mode (Legacy) denial (`legacyPrivacyModeDeployDenial`).
|
|
942
|
+
* Its message already says what to do, so the generic 403 hint does not apply.
|
|
943
|
+
*/
|
|
944
|
+
function legacyPrivacyModeDenialText(bodyText) {
|
|
945
|
+
try {
|
|
946
|
+
const parsed = JSON.parse(bodyText);
|
|
947
|
+
if (parsed.code !== "legacy_privacy_mode" || typeof parsed.error !== "string") {
|
|
948
|
+
return undefined;
|
|
949
|
+
}
|
|
950
|
+
return typeof parsed.docsUrl === "string"
|
|
951
|
+
? `${parsed.error} See ${parsed.docsUrl}`
|
|
952
|
+
: parsed.error;
|
|
953
|
+
}
|
|
954
|
+
catch {
|
|
955
|
+
return undefined;
|
|
956
|
+
}
|
|
957
|
+
}
|
|
940
958
|
function mapErrorResponse(response, bodyText, context) {
|
|
941
959
|
const serverError = serverErrorText(bodyText);
|
|
942
960
|
const slugPart = context.slug === undefined ? "" : ` "${context.slug}"`;
|
|
@@ -946,7 +964,8 @@ function mapErrorResponse(response, bodyText, context) {
|
|
|
946
964
|
case 401:
|
|
947
965
|
return new DeployApiError("The Cursor API key was rejected. Run `agent-sdk login` again or update CURSOR_API_KEY.", 401);
|
|
948
966
|
case 403:
|
|
949
|
-
return new DeployApiError(
|
|
967
|
+
return new DeployApiError(legacyPrivacyModeDenialText(bodyText) ??
|
|
968
|
+
`${serverError ?? "Not authorized"} — deploying needs team membership and the cloud-agent entitlement on that team.`, 403);
|
|
950
969
|
case 404: {
|
|
951
970
|
// Fastify's route-not-found envelope means we hit the wrong host
|
|
952
971
|
// (api2 vs api.cursor.com), not a missing deployment / closed gate.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type ResolvedAgent } from "../../types.js";
|
|
5
5
|
import { type DiscoveryContext } from "./context.js";
|
|
6
|
-
import type
|
|
6
|
+
import { type ExtensionContributions } from "./extensions.js";
|
|
7
7
|
export interface LoadedRootAgent {
|
|
8
8
|
agent: ResolvedAgent;
|
|
9
9
|
projectSlots: Pick<ExtensionContributions, "hooks" | "channels" | "schedules" | "reminders" | "artifacts">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/internal/discovery/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAiBxB,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/internal/discovery/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAiBxB,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,KAAK,sBAAsB,EAAoB,MAAM,iBAAiB,CAAC;AAahF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,YAAY,EAAE,IAAI,CAChB,sBAAsB,EACtB,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAC/D,CAAC;CACH;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACzC,OAAO,CAAC,eAAe,CAAC,CA+R1B;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C7F"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dollar cost for a whole session, computed by the Cloud Agents
|
|
3
|
+
* `POST /v1/models/estimate-cost` endpoint: billed usage events for the
|
|
4
|
+
* conversation when they can be read, otherwise live catalog pricing of the
|
|
5
|
+
* session's summed tokens.
|
|
6
|
+
*
|
|
7
|
+
* The billed lookup scans the owning team's usage history, so it runs only
|
|
8
|
+
* when something asks for a session's cost, never once per turn.
|
|
9
|
+
*/
|
|
10
|
+
import type { ModelSetting, TurnUsage } from "../types.js";
|
|
11
|
+
export interface UsageCostCents {
|
|
12
|
+
rawCostCents: number;
|
|
13
|
+
chargedCents: number;
|
|
14
|
+
}
|
|
15
|
+
export interface EstimateCostInput {
|
|
16
|
+
model: ModelSetting;
|
|
17
|
+
/** Summed token usage, for the catalog fallback when billed events are unavailable. */
|
|
18
|
+
usage?: TurnUsage;
|
|
19
|
+
agentId?: string;
|
|
20
|
+
conversationId?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface EstimatedCost {
|
|
23
|
+
/** Charged total, in USD. */
|
|
24
|
+
totalUsd: number;
|
|
25
|
+
/** Model id the cost was priced against. */
|
|
26
|
+
model: string;
|
|
27
|
+
/** `"usage"` is billed events; `"catalog"` is live list pricing. */
|
|
28
|
+
source: "usage" | "catalog";
|
|
29
|
+
rawCostCents: number;
|
|
30
|
+
chargedCents: number;
|
|
31
|
+
}
|
|
32
|
+
export type EstimateCostFn = (input: EstimateCostInput) => Promise<EstimatedCost | undefined>;
|
|
33
|
+
export declare function modelSettingId(model: ModelSetting): string;
|
|
34
|
+
/**
|
|
35
|
+
* This estimate-cost client treats OpenAI-compat usage as **provider-gross**
|
|
36
|
+
* (local playground: `prompt_tokens` includes `cachedPromptTokens`). Catalog
|
|
37
|
+
* `costForBaseTier` assumes Anthropic / billing-style disjoint nets and ADDs
|
|
38
|
+
* `cacheRead × cachedRate` on top of `input × inputRate`, so we send
|
|
39
|
+
* `input − cache` for Grok / xAI / GPT / o-series.
|
|
40
|
+
*
|
|
41
|
+
* Non-OpenAI-compat models are left alone. `input < cache` is only a
|
|
42
|
+
* defensive clamp (avoid a negative uncached count), not a detector for
|
|
43
|
+
* billed / openaiProxy-shaped tokens. Cloud catalog fallback with already-
|
|
44
|
+
* netted OpenAI-compat usage is out of scope here.
|
|
45
|
+
*/
|
|
46
|
+
export declare function isOpenAiCompatGrossCacheModel(model: ModelSetting): boolean;
|
|
47
|
+
export declare function toCatalogDisjointUsage(usage: TurnUsage, model?: ModelSetting): TurnUsage;
|
|
48
|
+
export declare function roundCostUsd(usd: number): number;
|
|
49
|
+
export declare function estimatedCostFromCents(args: {
|
|
50
|
+
model: ModelSetting;
|
|
51
|
+
cost: UsageCostCents;
|
|
52
|
+
source: EstimatedCost["source"];
|
|
53
|
+
}): EstimatedCost;
|
|
54
|
+
export declare function estimateCostFromApi(input: EstimateCostInput): Promise<EstimatedCost | undefined>;
|
|
55
|
+
//# sourceMappingURL=estimate-cost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimate-cost.d.ts","sourceRoot":"","sources":["../../src/internal/estimate-cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,uFAAuF;IACvF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;AAE9F,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,sBAAsB,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CACjC,GAAG,aAAa,CAQhB;AAWD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAgBpC"}
|