@cursor/july 0.1.30 → 0.1.31
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 +1 -1
- package/README.md +10 -5
- package/dist/bin/agent-serve.js +4 -4
- package/dist/channels/github/index.d.ts +1 -1
- package/dist/channels/github/index.js +1 -1
- package/dist/channels/slack/bot-mentions.d.ts +1 -1
- package/dist/channels/slack/bot-mentions.d.ts.map +1 -1
- package/dist/channels/slack/bot-mentions.js +1 -1
- package/dist/channels/slack/eval-directive.js +1 -1
- package/dist/channels/slack/external-policy.d.ts +1 -1
- package/dist/channels/slack/external-policy.js +1 -1
- package/dist/channels/slack/log.d.ts +1 -1
- package/dist/channels/slack/log.js +1 -1
- package/dist/channels/slack/setup.js +1 -1
- package/dist/channels/slack/socket-mode.js +1 -1
- package/dist/docs/404.html +3 -3
- package/dist/docs/ab.html +11 -11
- package/dist/docs/assets/{ab.md.BMCZ6Hd7.js → ab.md.DAQoJ-up.js} +6 -6
- package/dist/docs/assets/{ab.md.BMCZ6Hd7.lean.js → ab.md.DAQoJ-up.lean.js} +1 -1
- package/dist/docs/assets/{app.Cm4lsMc4.js → app.DigB_9cQ.js} +1 -1
- package/dist/docs/assets/building-with-agents.md.CnHqvYDd.js +13 -0
- package/dist/docs/assets/{building-with-agents.md.CJCtZCyi.lean.js → building-with-agents.md.CnHqvYDd.lean.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.CnFFl07y.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.CYUFXspH.js → VPLocalSearchBox.BCMX25Bv.js} +1 -1
- package/dist/docs/assets/chunks/{theme.CTjkX9vc.js → theme.BDDWeELx.js} +2 -2
- package/dist/docs/assets/concepts.md.DFaQEFkA.js +4 -0
- package/dist/docs/assets/concepts.md.DFaQEFkA.lean.js +1 -0
- package/dist/docs/assets/deployment.md.9MYBuKM1.js +55 -0
- package/dist/docs/assets/deployment.md.9MYBuKM1.lean.js +1 -0
- package/dist/docs/assets/{evals.md.DYOjkRCX.js → evals.md.BIUoVZ6X.js} +13 -13
- package/dist/docs/assets/evals.md.BIUoVZ6X.lean.js +1 -0
- package/dist/docs/assets/{example-agents_approval-buddy.md.DFGBYLcc.js → example-agents_approval-buddy.md.BhEfleVx.js} +4 -4
- package/dist/docs/assets/{example-agents_approval-buddy.md.DFGBYLcc.lean.js → example-agents_approval-buddy.md.BhEfleVx.lean.js} +1 -1
- package/dist/docs/assets/example-agents_benny.md.2Et1qa8f.js +7 -0
- package/dist/docs/assets/{example-agents_bugbot.md.DelIdhxB.js → example-agents_bugbot.md.ByUexi5i.js} +5 -5
- package/dist/docs/assets/{example-agents_codebase-wiki.md.DC6sgwn0.js → example-agents_codebase-wiki.md.B4y-7ZVW.js} +6 -6
- package/dist/docs/assets/{example-agents_codebase-wiki.md.DC6sgwn0.lean.js → example-agents_codebase-wiki.md.B4y-7ZVW.lean.js} +1 -1
- package/dist/docs/assets/{example-agents_codeowners-review.md.Ku_tG2RY.js → example-agents_codeowners-review.md.D6ay4nvf.js} +6 -6
- package/dist/docs/assets/{example-agents_codeowners-review.md.Ku_tG2RY.lean.js → example-agents_codeowners-review.md.D6ay4nvf.lean.js} +1 -1
- package/dist/docs/assets/{example-agents_concierge.md.4rQTSMXt.js → example-agents_concierge.md.lL8rhYlj.js} +7 -7
- package/dist/docs/assets/{example-agents_fsd.md.CzgUrDfi.js → example-agents_fsd.md.DfNKQTHz.js} +5 -5
- package/dist/docs/assets/example-agents_index.md.DgGBwckv.js +2 -0
- package/dist/docs/assets/example-agents_index.md.DgGBwckv.lean.js +1 -0
- package/dist/docs/assets/{example-agents_knowledge-base.md.BPJiVueF.js → example-agents_knowledge-base.md.CzyZ2DCr.js} +5 -5
- package/dist/docs/assets/{example-agents_knowledge-base.md.BPJiVueF.lean.js → example-agents_knowledge-base.md.CzyZ2DCr.lean.js} +1 -1
- package/dist/docs/assets/example-agents_oncall.md.wFFXXEyW.js +10 -0
- package/dist/docs/assets/{example-agents_security-reviewer.md.Dhj_m7_B.js → example-agents_security-reviewer.md.Dkf1gyo6.js} +8 -8
- package/dist/docs/assets/example-agents_slack-agent.md.DvgvT4nn.js +5 -0
- package/dist/docs/assets/example-agents_weather-agent.md.Dmrcphhl.js +24 -0
- package/dist/docs/assets/example-agents_weather-agent.md.Dmrcphhl.lean.js +1 -0
- package/dist/docs/assets/{guides_agent-to-agent.md.Bpzgq2Pq.js → guides_agent-to-agent.md.Bmbxy-FA.js} +4 -4
- package/dist/docs/assets/guides_cloud-runtime.md.BZ2GA7Es.js +9 -0
- package/dist/docs/assets/{guides_github.md.DOOCpqsW.js → guides_github.md.R2QlpR75.js} +5 -5
- package/dist/docs/assets/{guides_human-in-the-loop.md.DlUqsp1S.js → guides_human-in-the-loop.md.BWvT7UqY.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.Dd8EgSem.js → guides_mcp-oauth.md.C7G7IykG.js} +5 -5
- package/dist/docs/assets/guides_mcp-oauth.md.C7G7IykG.lean.js +1 -0
- package/dist/docs/assets/guides_slack.md.zriQpU_9.js +47 -0
- package/dist/docs/assets/guides_slack.md.zriQpU_9.lean.js +1 -0
- package/dist/docs/assets/{guides_webhooks.md.wSOYas3X.js → guides_webhooks.md.DiAwSR42.js} +1 -1
- package/dist/docs/assets/{hillclimbing.md.DHNast08.js → hillclimbing.md.D9Y1_bYh.js} +1 -1
- package/dist/docs/assets/index.md.CZqbBJPB.js +20 -0
- package/dist/docs/assets/index.md.CZqbBJPB.lean.js +1 -0
- package/dist/docs/assets/{quickstart.md.BU6Iwi_9.js → quickstart.md.TnEXYgYW.js} +12 -12
- package/dist/docs/assets/{reference_agent-config.md.DrW2JUM8.js → reference_agent-config.md.kuN6-OxK.js} +1 -1
- package/dist/docs/assets/reference_cli.md.sD-IUWjg.js +73 -0
- package/dist/docs/assets/{reference_cli.md.ccoKOoXt.lean.js → reference_cli.md.sD-IUWjg.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.B9Q3TOve.js → reference_connections.md.DGqAsFXb.js} +3 -3
- package/dist/docs/assets/reference_http-api.md.CfVM_ICa.js +11 -0
- package/dist/docs/assets/{reference_project-layout.md.Bd_CKtNS.js → reference_project-layout.md.D8E6ZmHJ.js} +4 -4
- package/dist/docs/assets/{reference_project-layout.md.Bd_CKtNS.lean.js → reference_project-layout.md.D8E6ZmHJ.lean.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.w_F2mXB6.js → reference_schedules.md.gmfYzf_I.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.DLd6mvbv.js → reference_sessions.md.C_ouF_uf.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.BRSDnTbN.js → reference_tools.md.BswAQM41.js} +3 -3
- package/dist/docs/assets/{scaffolding-agents.md.C3pTrmoE.js → scaffolding-agents.md.Bsr9Pwzu.js} +1 -1
- package/dist/docs/assets/{scaffolding-agents.md.C3pTrmoE.lean.js → scaffolding-agents.md.Bsr9Pwzu.lean.js} +1 -1
- package/dist/docs/assets/{storage.md.DRTdnFvd.js → storage.md.xZoiGM58.js} +3 -3
- package/dist/docs/assets/storage.md.xZoiGM58.lean.js +1 -0
- package/dist/docs/assets/troubleshooting.md.B5RVX_tL.js +1 -0
- package/dist/docs/assets/{troubleshooting.md.CmQkmnzC.lean.js → troubleshooting.md.B5RVX_tL.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +12 -12
- package/dist/docs/concepts.html +6 -6
- package/dist/docs/deployment.html +32 -32
- package/dist/docs/evals.html +19 -19
- package/dist/docs/example-agents/approval-buddy.html +9 -9
- package/dist/docs/example-agents/benny.html +11 -11
- package/dist/docs/example-agents/bugbot.html +10 -10
- package/dist/docs/example-agents/codebase-wiki.html +11 -11
- package/dist/docs/example-agents/codeowners-review.html +11 -11
- package/dist/docs/example-agents/concierge.html +12 -12
- package/dist/docs/example-agents/fsd.html +10 -10
- package/dist/docs/example-agents/index.html +7 -7
- package/dist/docs/example-agents/knowledge-base.html +10 -10
- package/dist/docs/example-agents/oncall.html +10 -10
- package/dist/docs/example-agents/security-reviewer.html +13 -13
- package/dist/docs/example-agents/slack-agent.html +10 -10
- package/dist/docs/example-agents/weather-agent.html +16 -16
- package/dist/docs/guides/agent-to-agent.html +9 -9
- package/dist/docs/guides/cloud-runtime.html +7 -7
- package/dist/docs/guides/github.html +10 -10
- package/dist/docs/guides/human-in-the-loop.html +7 -7
- package/dist/docs/guides/mcp-oauth.html +11 -11
- package/dist/docs/guides/slack.html +22 -17
- package/dist/docs/guides/webhooks.html +7 -7
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +7 -7
- package/dist/docs/index.html +9 -9
- package/dist/docs/quickstart.html +17 -17
- package/dist/docs/reference/agent-config.html +7 -7
- package/dist/docs/reference/channels.html +5 -5
- package/dist/docs/reference/cli.html +56 -48
- package/dist/docs/reference/connections.html +9 -9
- package/dist/docs/reference/hooks.html +5 -5
- package/dist/docs/reference/http-api.html +7 -7
- package/dist/docs/reference/instructions.html +5 -5
- package/dist/docs/reference/playground.html +5 -5
- package/dist/docs/reference/project-layout.html +9 -9
- package/dist/docs/reference/prompt.html +5 -5
- package/dist/docs/reference/schedules.html +7 -7
- package/dist/docs/reference/sessions.html +8 -8
- package/dist/docs/reference/skills.html +5 -5
- package/dist/docs/reference/subagents.html +5 -5
- package/dist/docs/reference/tools.html +9 -9
- package/dist/docs/scaffolding-agents.html +6 -6
- package/dist/docs/storage.html +9 -9
- package/dist/docs/troubleshooting.html +6 -6
- package/dist/evals/reporters.d.ts +1 -1
- package/dist/evals/reporters.js +1 -1
- package/dist/evals.d.ts +2 -2
- package/dist/files-backends/agent-store-presigned-url.d.ts +100 -0
- package/dist/files-backends/agent-store-presigned-url.d.ts.map +1 -0
- package/dist/files-backends/agent-store-presigned-url.js +347 -0
- package/dist/files-backends/cursor-hosted.d.ts +87 -0
- package/dist/files-backends/cursor-hosted.d.ts.map +1 -0
- package/dist/files-backends/cursor-hosted.js +540 -0
- package/dist/files-backends/local-fs.d.ts +33 -0
- package/dist/files-backends/local-fs.d.ts.map +1 -0
- package/dist/files-backends/local-fs.js +199 -0
- package/dist/files.d.ts +139 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +89 -0
- package/dist/internal/ab-collector.js +2 -2
- package/dist/internal/ab-fold.js +1 -1
- package/dist/internal/cli-ax.d.ts +2 -2
- package/dist/internal/cli-ax.js +2 -2
- package/dist/internal/cli-deploy.d.ts +1 -1
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +7 -2
- package/dist/internal/cli-docs.d.ts +1 -1
- package/dist/internal/cli-docs.js +1 -1
- package/dist/internal/cli-github.js +13 -13
- package/dist/internal/cli-mcp-oauth.d.ts +1 -1
- package/dist/internal/cli-mcp-oauth.js +2 -2
- package/dist/internal/cli-mcp.d.ts +3 -3
- package/dist/internal/cli-mcp.js +4 -4
- package/dist/internal/cli-skills.js +1 -1
- package/dist/internal/cloud-turn-cost.d.ts +9 -1
- package/dist/internal/cloud-turn-cost.d.ts.map +1 -1
- package/dist/internal/cloud-turn-cost.js +14 -4
- package/dist/internal/cursor/account-mcp.js +5 -5
- package/dist/internal/cursor/backend-client.js +1 -1
- package/dist/internal/cursor/github-credentials.js +3 -3
- package/dist/internal/cursor-account-mcp-auth.d.ts +1 -1
- package/dist/internal/cursor-account-mcp-auth.js +1 -1
- package/dist/internal/cursor-event-relay.js +1 -1
- package/dist/internal/cursor-relay-core.d.ts +1 -1
- package/dist/internal/cursor-relay-core.d.ts.map +1 -1
- package/dist/internal/cursor-slack-relay.js +1 -1
- package/dist/internal/deploy-client.d.ts +6 -1
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +3 -2
- package/dist/internal/deploy-source.d.ts +2 -2
- package/dist/internal/deploy-source.js +2 -2
- package/dist/internal/discovery.js +2 -2
- package/dist/internal/distribution.d.ts +5 -5
- package/dist/internal/distribution.d.ts.map +1 -1
- package/dist/internal/distribution.js +6 -6
- package/dist/internal/docs-site.js +5 -5
- package/dist/internal/eval-run-store.js +8 -8
- package/dist/internal/evals-client.d.ts +1 -1
- package/dist/internal/evals-client.js +1 -1
- package/dist/internal/github-fanout.js +2 -2
- package/dist/internal/host-files.d.ts +29 -0
- package/dist/internal/host-files.d.ts.map +1 -0
- package/dist/internal/host-files.js +283 -0
- package/dist/internal/host-platforms.js +5 -5
- package/dist/internal/hosting.d.ts +1 -1
- package/dist/internal/hosting.js +1 -1
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +26 -0
- package/dist/internal/install-cursor-skills.d.ts +1 -1
- package/dist/internal/install-cursor-skills.d.ts.map +1 -1
- package/dist/internal/install-cursor-skills.js +33 -4
- package/dist/internal/local-control-plane.js +2 -2
- package/dist/internal/logs-client.d.ts +2 -2
- package/dist/internal/logs-client.js +2 -2
- package/dist/internal/mcp-endpoint.js +1 -1
- package/dist/internal/mcp-oauth.js +2 -2
- package/dist/internal/platform-schedule-sync.js +2 -2
- package/dist/internal/playground/toolchain.js +6 -6
- package/dist/internal/reminder-runner.js +13 -13
- package/dist/internal/resolved-connections.js +6 -6
- package/dist/internal/schedule-runner.js +1 -1
- package/dist/internal/sdk-runner.js +5 -5
- package/dist/internal/server.js +16 -16
- package/dist/internal/session-cost.d.ts +3 -2
- package/dist/internal/session-cost.d.ts.map +1 -1
- package/dist/internal/session-cost.js +7 -6
- package/dist/internal/session-engine.d.ts +31 -1
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +119 -31
- package/dist/internal/slack-provision-client.js +1 -1
- package/dist/internal/storage-coordinator.js +7 -7
- package/dist/internal/trajectory.js +2 -2
- package/dist/internal/turn-cost.d.ts +27 -0
- package/dist/internal/turn-cost.d.ts.map +1 -0
- package/dist/internal/turn-cost.js +83 -0
- package/dist/internal/update-check.d.ts +3 -3
- package/dist/internal/update-check.d.ts.map +1 -1
- package/dist/internal/update-check.js +5 -5
- package/dist/memory.d.ts +1 -1
- package/dist/memory.js +1 -1
- package/dist/playground/assets/index-50PKeJlG.css +1 -0
- package/dist/playground/assets/index-C0f2Wl1q.js +85 -0
- package/dist/playground/index.html +2 -2
- package/dist/storage.d.ts +1 -1
- package/dist/storage.js +1 -1
- package/dist/types.d.ts +120 -16
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +23 -23
- package/docs/ab.md +12 -12
- package/docs/building-with-agents.md +9 -9
- package/docs/concepts.md +11 -11
- package/docs/deployment.md +55 -43
- package/docs/evals.md +20 -20
- package/docs/example-agents/approval-buddy.md +9 -9
- package/docs/example-agents/benny.md +13 -13
- package/docs/example-agents/bugbot.md +6 -6
- package/docs/example-agents/codebase-wiki.md +8 -8
- package/docs/example-agents/codeowners-review.md +8 -8
- package/docs/example-agents/concierge.md +10 -10
- package/docs/example-agents/fsd.md +7 -7
- package/docs/example-agents/index.md +8 -8
- package/docs/example-agents/knowledge-base.md +9 -9
- package/docs/example-agents/oncall.md +7 -7
- package/docs/example-agents/security-reviewer.md +12 -12
- package/docs/example-agents/slack-agent.md +10 -10
- package/docs/example-agents/weather-agent.md +30 -26
- package/docs/guides/agent-to-agent.md +4 -4
- package/docs/guides/cloud-runtime.md +3 -3
- package/docs/guides/github.md +6 -6
- package/docs/guides/human-in-the-loop.md +1 -1
- package/docs/guides/mcp-oauth.md +9 -9
- package/docs/guides/slack.md +94 -21
- package/docs/guides/webhooks.md +1 -1
- package/docs/hillclimbing.md +3 -3
- package/docs/quickstart.md +18 -18
- package/docs/reference/agent-config.md +1 -1
- package/docs/reference/cli.md +110 -79
- package/docs/reference/connections.md +3 -3
- package/docs/reference/http-api.md +2 -2
- package/docs/reference/project-layout.md +7 -7
- package/docs/reference/schedules.md +1 -1
- package/docs/reference/sessions.md +7 -7
- package/docs/reference/tools.md +3 -3
- package/docs/scaffolding-agents.md +2 -2
- package/docs/storage.md +5 -5
- package/docs/troubleshooting.md +11 -10
- package/package.json +3 -1
- package/skills/ab/SKILL.md +5 -5
- package/skills/create-agent/SKILL.md +17 -17
- package/skills/debug/SKILL.md +10 -10
- package/skills/evals/SKILL.md +13 -13
- package/skills/framework-map/SKILL.md +3 -3
- package/skills/github/SKILL.md +11 -11
- package/skills/hillclimb/SKILL.md +9 -9
- package/skills/mcp-auth/SKILL.md +11 -11
- package/skills/setup-slack/SKILL.md +28 -28
- package/src/bin/agent-serve.ts +4 -4
- package/src/channels/github/index.ts +1 -1
- package/src/channels/slack/bot-mentions.ts +1 -1
- package/src/channels/slack/eval-directive.ts +1 -1
- package/src/channels/slack/external-policy.ts +1 -1
- package/src/channels/slack/log.ts +1 -1
- package/src/channels/slack/setup.ts +1 -1
- package/src/channels/slack/socket-mode.ts +1 -1
- package/src/evals/reporters.ts +1 -1
- package/src/evals.ts +2 -2
- package/src/files-backends/agent-store-presigned-url.ts +402 -0
- package/src/files-backends/cursor-hosted.ts +698 -0
- package/src/files-backends/local-fs.ts +178 -0
- package/src/files.ts +195 -0
- package/src/internal/ab-collector.ts +2 -2
- package/src/internal/ab-fold.ts +1 -1
- package/src/internal/cli-ax.ts +2 -2
- package/src/internal/cli-deploy.ts +7 -2
- package/src/internal/cli-docs.ts +1 -1
- package/src/internal/cli-github.ts +13 -13
- package/src/internal/cli-mcp-oauth.ts +2 -2
- package/src/internal/cli-mcp.ts +4 -4
- package/src/internal/cli-skills.ts +1 -1
- package/src/internal/cloud-turn-cost.ts +20 -4
- package/src/internal/cursor/account-mcp.ts +5 -5
- package/src/internal/cursor/backend-client.ts +1 -1
- package/src/internal/cursor/github-credentials.ts +3 -3
- package/src/internal/cursor-account-mcp-auth.ts +1 -1
- package/src/internal/cursor-event-relay.ts +1 -1
- package/src/internal/cursor-relay-core.ts +1 -1
- package/src/internal/cursor-slack-relay.ts +1 -1
- package/src/internal/deploy-client.ts +8 -2
- package/src/internal/deploy-source.ts +2 -2
- package/src/internal/discovery.ts +2 -2
- package/src/internal/distribution.ts +6 -6
- package/src/internal/docs-site.ts +5 -5
- package/src/internal/eval-run-store.ts +8 -8
- package/src/internal/evals-client.ts +1 -1
- package/src/internal/github-fanout.ts +2 -2
- package/src/internal/host-files.ts +372 -0
- package/src/internal/host-platforms.ts +5 -5
- package/src/internal/hosting.ts +1 -1
- package/src/internal/http-channel.ts +30 -0
- package/src/internal/install-cursor-skills.ts +31 -3
- package/src/internal/local-control-plane.ts +2 -2
- package/src/internal/logs-client.ts +2 -2
- package/src/internal/mcp-endpoint.ts +1 -1
- package/src/internal/mcp-oauth.ts +2 -2
- package/src/internal/platform-schedule-sync.ts +2 -2
- package/src/internal/playground/toolchain.ts +6 -6
- package/src/internal/reminder-runner.ts +13 -13
- package/src/internal/resolved-connections.ts +6 -6
- package/src/internal/schedule-runner.ts +1 -1
- package/src/internal/sdk-runner.ts +5 -5
- package/src/internal/server.ts +16 -16
- package/src/internal/session-cost.ts +7 -6
- package/src/internal/session-engine.ts +141 -28
- package/src/internal/slack-provision-client.ts +1 -1
- package/src/internal/storage-coordinator.ts +7 -7
- package/src/internal/trajectory.ts +2 -2
- package/src/internal/turn-cost.ts +110 -0
- package/src/internal/update-check.ts +6 -6
- package/src/memory.ts +1 -1
- package/src/storage.ts +1 -1
- package/src/types.ts +148 -16
- package/dist/docs/assets/building-with-agents.md.CJCtZCyi.js +0 -13
- package/dist/docs/assets/chunks/@localSearchIndexroot.CbQshWFK.js +0 -1
- package/dist/docs/assets/concepts.md.Cfb9b-k1.js +0 -4
- package/dist/docs/assets/concepts.md.Cfb9b-k1.lean.js +0 -1
- package/dist/docs/assets/deployment.md.TecHo0_2.js +0 -55
- package/dist/docs/assets/deployment.md.TecHo0_2.lean.js +0 -1
- package/dist/docs/assets/evals.md.DYOjkRCX.lean.js +0 -1
- package/dist/docs/assets/example-agents_benny.md.B0gjhI-p.js +0 -7
- package/dist/docs/assets/example-agents_index.md.D2PEVSXl.js +0 -2
- package/dist/docs/assets/example-agents_index.md.D2PEVSXl.lean.js +0 -1
- package/dist/docs/assets/example-agents_oncall.md.BG_sUMly.js +0 -10
- package/dist/docs/assets/example-agents_slack-agent.md.buLbgvBf.js +0 -5
- package/dist/docs/assets/example-agents_weather-agent.md.C9Qv-W0o.js +0 -24
- package/dist/docs/assets/example-agents_weather-agent.md.C9Qv-W0o.lean.js +0 -1
- package/dist/docs/assets/guides_cloud-runtime.md.gVzabdQL.js +0 -9
- package/dist/docs/assets/guides_mcp-oauth.md.Dd8EgSem.lean.js +0 -1
- package/dist/docs/assets/guides_slack.md.CjmJSvZS.js +0 -42
- package/dist/docs/assets/guides_slack.md.CjmJSvZS.lean.js +0 -1
- package/dist/docs/assets/index.md.CH_s5uZe.js +0 -20
- package/dist/docs/assets/index.md.CH_s5uZe.lean.js +0 -1
- package/dist/docs/assets/reference_cli.md.ccoKOoXt.js +0 -65
- package/dist/docs/assets/reference_http-api.md.BncLd3PZ.js +0 -11
- package/dist/docs/assets/storage.md.DRTdnFvd.lean.js +0 -1
- package/dist/docs/assets/troubleshooting.md.CmQkmnzC.js +0 -1
- package/dist/internal/model-pricing.d.ts +0 -49
- package/dist/internal/model-pricing.d.ts.map +0 -1
- package/dist/internal/model-pricing.js +0 -377
- package/dist/playground/assets/index-CquRB-l0.js +0 -85
- package/dist/playground/assets/index-Dj0bWpkn.css +0 -1
- package/src/internal/model-pricing.ts +0 -426
- /package/dist/docs/assets/{example-agents_benny.md.B0gjhI-p.lean.js → example-agents_benny.md.2Et1qa8f.lean.js} +0 -0
- /package/dist/docs/assets/{example-agents_bugbot.md.DelIdhxB.lean.js → example-agents_bugbot.md.ByUexi5i.lean.js} +0 -0
- /package/dist/docs/assets/{example-agents_concierge.md.4rQTSMXt.lean.js → example-agents_concierge.md.lL8rhYlj.lean.js} +0 -0
- /package/dist/docs/assets/{example-agents_fsd.md.CzgUrDfi.lean.js → example-agents_fsd.md.DfNKQTHz.lean.js} +0 -0
- /package/dist/docs/assets/{example-agents_oncall.md.BG_sUMly.lean.js → example-agents_oncall.md.wFFXXEyW.lean.js} +0 -0
- /package/dist/docs/assets/{example-agents_security-reviewer.md.Dhj_m7_B.lean.js → example-agents_security-reviewer.md.Dkf1gyo6.lean.js} +0 -0
- /package/dist/docs/assets/{example-agents_slack-agent.md.buLbgvBf.lean.js → example-agents_slack-agent.md.DvgvT4nn.lean.js} +0 -0
- /package/dist/docs/assets/{guides_agent-to-agent.md.Bpzgq2Pq.lean.js → guides_agent-to-agent.md.Bmbxy-FA.lean.js} +0 -0
- /package/dist/docs/assets/{guides_cloud-runtime.md.gVzabdQL.lean.js → guides_cloud-runtime.md.BZ2GA7Es.lean.js} +0 -0
- /package/dist/docs/assets/{guides_github.md.DOOCpqsW.lean.js → guides_github.md.R2QlpR75.lean.js} +0 -0
- /package/dist/docs/assets/{guides_human-in-the-loop.md.DlUqsp1S.lean.js → guides_human-in-the-loop.md.BWvT7UqY.lean.js} +0 -0
- /package/dist/docs/assets/{guides_webhooks.md.wSOYas3X.lean.js → guides_webhooks.md.DiAwSR42.lean.js} +0 -0
- /package/dist/docs/assets/{hillclimbing.md.DHNast08.lean.js → hillclimbing.md.D9Y1_bYh.lean.js} +0 -0
- /package/dist/docs/assets/{quickstart.md.BU6Iwi_9.lean.js → quickstart.md.TnEXYgYW.lean.js} +0 -0
- /package/dist/docs/assets/{reference_agent-config.md.DrW2JUM8.lean.js → reference_agent-config.md.kuN6-OxK.lean.js} +0 -0
- /package/dist/docs/assets/{reference_connections.md.B9Q3TOve.lean.js → reference_connections.md.DGqAsFXb.lean.js} +0 -0
- /package/dist/docs/assets/{reference_http-api.md.BncLd3PZ.lean.js → reference_http-api.md.CfVM_ICa.lean.js} +0 -0
- /package/dist/docs/assets/{reference_schedules.md.w_F2mXB6.lean.js → reference_schedules.md.gmfYzf_I.lean.js} +0 -0
- /package/dist/docs/assets/{reference_sessions.md.DLd6mvbv.lean.js → reference_sessions.md.C_ouF_uf.lean.js} +0 -0
- /package/dist/docs/assets/{reference_tools.md.BRSDnTbN.lean.js → reference_tools.md.BswAQM41.lean.js} +0 -0
|
@@ -44,17 +44,18 @@ import { applyCloudUsageToEvents, cloudSdkAgentIdFromEvents, isUnpricedCompleted
|
|
|
44
44
|
import { isDevMode } from "./dev-mode.js";
|
|
45
45
|
import { EventLogStore } from "./event-log.js";
|
|
46
46
|
import { TurnEventMapper } from "./event-mapper.js";
|
|
47
|
+
import { createHostFilesApi } from "./host-files.js";
|
|
47
48
|
import { createHostKvApi } from "./host-kv.js";
|
|
48
49
|
import { createHostPlatforms, createHostSlackClient, } from "./host-platforms.js";
|
|
49
50
|
import { formatContinuationToken, newContinuationKey, newSessionId, newToolCallId, } from "./ids.js";
|
|
50
51
|
import { validateToolInput } from "./json-schema.js";
|
|
51
52
|
import { McpHost } from "./mcp-host.js";
|
|
52
|
-
import { estimateTurnCost } from "./model-pricing.js";
|
|
53
53
|
import { buildSessionContextBlock, SCHEDULE_CHANNEL_PREFIX, } from "./prompt-context.js";
|
|
54
54
|
import { assertCloudCanHonorAccountServersFilters } from "./resolved-connections.js";
|
|
55
55
|
import { SessionStore } from "./session-store.js";
|
|
56
56
|
import { StorageCoordinator } from "./storage-coordinator.js";
|
|
57
57
|
import { normalizeToolResult, toolCallErrorMessage } from "./tool-result.js";
|
|
58
|
+
import { estimateTurnCostFromApi, roundCostUsd, } from "./turn-cost.js";
|
|
58
59
|
import { TurnGovernor } from "./turn-governor.js";
|
|
59
60
|
import { buildAgentsMdContent, isNestedInGitRepo, materializeWorkspace, writeWorkspaceFiles, } from "./workspace.js";
|
|
60
61
|
export const HTTP_CHANNEL_ID = "http";
|
|
@@ -116,7 +117,7 @@ export class ApprovalInterruptedError extends Error {
|
|
|
116
117
|
}
|
|
117
118
|
export class SessionEngine {
|
|
118
119
|
constructor(options) {
|
|
119
|
-
var _a, _b, _c;
|
|
120
|
+
var _a, _b, _c, _d;
|
|
120
121
|
/** In-flight lazy restores, deduped per channel + continuation key. */
|
|
121
122
|
this.restoreInFlight = new Map();
|
|
122
123
|
this.channelsById = new Map();
|
|
@@ -153,11 +154,12 @@ export class SessionEngine {
|
|
|
153
154
|
this.runner = options.runner;
|
|
154
155
|
this.logger = (_a = options.logger) !== null && _a !== void 0 ? _a : (() => { });
|
|
155
156
|
this.getCloudUsage = (_b = options.getCloudUsage) !== null && _b !== void 0 ? _b : defaultGetCloudUsage;
|
|
157
|
+
this.estimateTurnCost = (_c = options.estimateTurnCost) !== null && _c !== void 0 ? _c : estimateTurnCostFromApi;
|
|
156
158
|
this.turnGovernor = new TurnGovernor(options.project.agent.concurrency);
|
|
157
159
|
this.sessions = new SessionStore(join(options.stateRoot, "sessions"));
|
|
158
160
|
this.nudgeStore = new SlackNudgeStore(join(options.stateRoot, "slack-nudges"));
|
|
159
161
|
this.askDedupe = new SlackAskDedupeStore(join(options.stateRoot, "slack-asks"));
|
|
160
|
-
this.logs = new EventLogStore((sessionId) => this.sessions.eventFilePath(sessionId), (sessionId, error) => this.logger(`[
|
|
162
|
+
this.logs = new EventLogStore((sessionId) => this.sessions.eventFilePath(sessionId), (sessionId, error) => this.logger(`[agent-sdk] failed to persist events for ${sessionId}: ${describeError(error)}`));
|
|
161
163
|
this.storage =
|
|
162
164
|
options.project.storage === undefined
|
|
163
165
|
? undefined
|
|
@@ -168,6 +170,10 @@ export class SessionEngine {
|
|
|
168
170
|
logger: this.logger,
|
|
169
171
|
});
|
|
170
172
|
this.kvApi = createHostKvApi(Object.assign({ agentName: options.project.name, stateRoot: options.stateRoot }, (this.storage === undefined ? {} : { storage: this.storage })));
|
|
173
|
+
this.filesApi = createHostFilesApi({
|
|
174
|
+
agentName: options.project.name,
|
|
175
|
+
stateRoot: options.stateRoot,
|
|
176
|
+
});
|
|
171
177
|
this.artifactsStore = new ArtifactsStore({
|
|
172
178
|
stateRoot: options.stateRoot,
|
|
173
179
|
storage: this.storage,
|
|
@@ -180,7 +186,7 @@ export class SessionEngine {
|
|
|
180
186
|
// resolves them; the host-side MCP registry starts with the concrete
|
|
181
187
|
// connections and gains the rest via setResolvedConnections.
|
|
182
188
|
this.mcpHost = new McpHost(options.project.agent.connections.filter((connection) => !isSymbolicConnectionTransport(connection.transport)));
|
|
183
|
-
const basePlatforms = (
|
|
189
|
+
const basePlatforms = (_d = options.platforms) !== null && _d !== void 0 ? _d : createHostPlatforms();
|
|
184
190
|
const slackBinding = resolveDedicatedSlackHostBinding(options.project.channels);
|
|
185
191
|
this.platforms =
|
|
186
192
|
slackBinding === undefined
|
|
@@ -222,9 +228,22 @@ export class SessionEngine {
|
|
|
222
228
|
reminders: this.reminderApi,
|
|
223
229
|
evals: this.evalsApi,
|
|
224
230
|
kv: this.kvApi,
|
|
231
|
+
files: this.filesApi,
|
|
225
232
|
slackNudges: this.slackNudgeHostApi(),
|
|
226
233
|
};
|
|
227
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Host services with `files` bound to one session, so a relative path in a
|
|
237
|
+
* tool or hook resolves to that session's scope and can never be read as
|
|
238
|
+
* another session's. Unbound (no session) keeps `host.files` usable for
|
|
239
|
+
* `{ scope: "deployment" }` and fails loudly on session-scoped calls.
|
|
240
|
+
*/
|
|
241
|
+
hostForSession(sessionId) {
|
|
242
|
+
const host = this.host;
|
|
243
|
+
return sessionId === undefined
|
|
244
|
+
? host
|
|
245
|
+
: Object.assign(Object.assign({}, host), { files: this.filesApi.forSession(sessionId) });
|
|
246
|
+
}
|
|
228
247
|
/** Unbound `ctx.artifacts` facade (channel handlers, scratch tool calls). */
|
|
229
248
|
get artifacts() {
|
|
230
249
|
return this.artifactsApi();
|
|
@@ -427,7 +446,7 @@ export class SessionEngine {
|
|
|
427
446
|
}
|
|
428
447
|
}
|
|
429
448
|
catch (error) {
|
|
430
|
-
this.logger(`[
|
|
449
|
+
this.logger(`[agent-sdk] ab "${experiment.name}" enrollment failed (sticky skip): ${describeError(error)}`);
|
|
431
450
|
variant = null;
|
|
432
451
|
}
|
|
433
452
|
abs[experiment.name] = variant;
|
|
@@ -818,11 +837,11 @@ export class SessionEngine {
|
|
|
818
837
|
// that cannot warm resolves cleanly, and logging success there would
|
|
819
838
|
// tell an operator the workspace is hot when nothing touched it.
|
|
820
839
|
this.logger(outcome.warmed
|
|
821
|
-
? `[
|
|
822
|
-
: `[
|
|
840
|
+
? `[agent-sdk] warmed ${workspaceDir} in ${Date.now() - startedAt}ms`
|
|
841
|
+
: `[agent-sdk] did not warm ${workspaceDir}: ${outcome.reason}`);
|
|
823
842
|
}
|
|
824
843
|
catch (error) {
|
|
825
|
-
this.logger(`[
|
|
844
|
+
this.logger(`[agent-sdk] could not warm ${workspaceDir}: ${describeError(error)}`);
|
|
826
845
|
}
|
|
827
846
|
});
|
|
828
847
|
}
|
|
@@ -835,7 +854,7 @@ export class SessionEngine {
|
|
|
835
854
|
}
|
|
836
855
|
executeTurn(record, turnId, message, isFirstTurn, signal) {
|
|
837
856
|
return __awaiter(this, void 0, void 0, function* () {
|
|
838
|
-
var _a, _b, _c, _d, _e, _f;
|
|
857
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
839
858
|
const sessionId = record.sessionId;
|
|
840
859
|
const workspaceDir = this.scaffoldDir(record);
|
|
841
860
|
const harnessCwd = this.harnessCwd(record);
|
|
@@ -849,7 +868,7 @@ export class SessionEngine {
|
|
|
849
868
|
this.queueDispatch(sessionId, event);
|
|
850
869
|
}
|
|
851
870
|
catch (error) {
|
|
852
|
-
this.logger(`[
|
|
871
|
+
this.logger(`[agent-sdk] failed to record event for ${sessionId}: ${describeError(error)}`);
|
|
853
872
|
}
|
|
854
873
|
};
|
|
855
874
|
const mapper = new TurnEventMapper(emit);
|
|
@@ -933,11 +952,14 @@ export class SessionEngine {
|
|
|
933
952
|
}
|
|
934
953
|
const finalResult = (_a = outcome.result) !== null && _a !== void 0 ? _a : mapper.finalText;
|
|
935
954
|
const finalUsage = (_b = outcome.usage) !== null && _b !== void 0 ? _b : mapper.usage;
|
|
936
|
-
// Estimated dollar cost of this loop pass, persisted alongside usage so
|
|
937
|
-
// traces / A/B metrics / the CLI can aggregate spend without re-pricing.
|
|
938
955
|
const finalCost = finalUsage === undefined
|
|
939
956
|
? undefined
|
|
940
|
-
:
|
|
957
|
+
: yield this.estimateTurnCost({
|
|
958
|
+
model: (_c = this.project.agent.model) !== null && _c !== void 0 ? _c : DEFAULT_MODEL,
|
|
959
|
+
usage: finalUsage,
|
|
960
|
+
agentId: record.sdkAgentId,
|
|
961
|
+
conversationId: (_d = record.sdkAgentId) !== null && _d !== void 0 ? _d : sessionId,
|
|
962
|
+
});
|
|
941
963
|
if (finalCost !== undefined) {
|
|
942
964
|
outcome = Object.assign(Object.assign({}, outcome), { cost: finalCost });
|
|
943
965
|
}
|
|
@@ -956,21 +978,21 @@ export class SessionEngine {
|
|
|
956
978
|
data: {
|
|
957
979
|
message: interrupted
|
|
958
980
|
? "turn interrupted"
|
|
959
|
-
: ((
|
|
981
|
+
: ((_e = outcome.errorMessage) !== null && _e !== void 0 ? _e : (outcome.status === "cancelled"
|
|
960
982
|
? "turn cancelled"
|
|
961
983
|
: "turn failed")),
|
|
962
984
|
},
|
|
963
985
|
});
|
|
964
986
|
}
|
|
965
987
|
const current = yield this.sessions.get(sessionId);
|
|
966
|
-
const mode = (
|
|
988
|
+
const mode = (_f = current === null || current === void 0 ? void 0 : current.mode) !== null && _f !== void 0 ? _f : record.mode;
|
|
967
989
|
if (mode === "task") {
|
|
968
990
|
yield this.appendEvent(sessionId, outcome.status === "finished"
|
|
969
991
|
? { type: "session.completed", turnId, data: {} }
|
|
970
992
|
: {
|
|
971
993
|
type: "session.failed",
|
|
972
994
|
turnId,
|
|
973
|
-
data: { message: (
|
|
995
|
+
data: { message: (_g = outcome.errorMessage) !== null && _g !== void 0 ? _g : "task failed" },
|
|
974
996
|
});
|
|
975
997
|
}
|
|
976
998
|
else {
|
|
@@ -1123,7 +1145,7 @@ export class SessionEngine {
|
|
|
1123
1145
|
session: this.sessionInfo(record),
|
|
1124
1146
|
workspaceDir: this.harnessCwd(record),
|
|
1125
1147
|
stateRoot: this.stateRoot,
|
|
1126
|
-
host: this.
|
|
1148
|
+
host: this.hostForSession(record.sessionId),
|
|
1127
1149
|
artifacts: this.artifactsApi({
|
|
1128
1150
|
sessionId: record.sessionId,
|
|
1129
1151
|
turnId,
|
|
@@ -1381,7 +1403,7 @@ export class SessionEngine {
|
|
|
1381
1403
|
session,
|
|
1382
1404
|
workspaceDir,
|
|
1383
1405
|
stateRoot: this.stateRoot,
|
|
1384
|
-
host: this.
|
|
1406
|
+
host: this.hostForSession(record === null || record === void 0 ? void 0 : record.sessionId),
|
|
1385
1407
|
// Scratch calls have no real session; their facade stays unbound.
|
|
1386
1408
|
artifacts: record === undefined
|
|
1387
1409
|
? this.artifactsApi()
|
|
@@ -1453,7 +1475,7 @@ export class SessionEngine {
|
|
|
1453
1475
|
const next = chain
|
|
1454
1476
|
.then(() => this.dispatchEvent(sessionId, event))
|
|
1455
1477
|
.catch((error) => {
|
|
1456
|
-
this.logger(`[
|
|
1478
|
+
this.logger(`[agent-sdk] event dispatch failed for ${sessionId}: ${describeError(error)}`);
|
|
1457
1479
|
})
|
|
1458
1480
|
.then(() => {
|
|
1459
1481
|
var _a;
|
|
@@ -1494,7 +1516,7 @@ export class SessionEngine {
|
|
|
1494
1516
|
yield handler(event, channelCtx, sessionCtx);
|
|
1495
1517
|
}
|
|
1496
1518
|
catch (error) {
|
|
1497
|
-
this.logger(`[
|
|
1519
|
+
this.logger(`[agent-sdk] channel "${record.channelId}" handler for ${event.type} threw: ${describeError(error)}`);
|
|
1498
1520
|
}
|
|
1499
1521
|
}
|
|
1500
1522
|
// Handlers mutate channel state in place; persist after each batch.
|
|
@@ -1525,7 +1547,7 @@ export class SessionEngine {
|
|
|
1525
1547
|
});
|
|
1526
1548
|
}
|
|
1527
1549
|
catch (error) {
|
|
1528
|
-
this.logger(`[
|
|
1550
|
+
this.logger(`[agent-sdk] hook "${hook.name}" handler for ${event.type} threw: ${describeError(error)}`);
|
|
1529
1551
|
}
|
|
1530
1552
|
}
|
|
1531
1553
|
}
|
|
@@ -1620,7 +1642,7 @@ export class SessionEngine {
|
|
|
1620
1642
|
};
|
|
1621
1643
|
}
|
|
1622
1644
|
catch (error) {
|
|
1623
|
-
this.logger(`[
|
|
1645
|
+
this.logger(`[agent-sdk] cursor-hosted session list failed; falling back to local: ${describeError(error)}`);
|
|
1624
1646
|
}
|
|
1625
1647
|
}
|
|
1626
1648
|
const records = yield this.sessions.list();
|
|
@@ -1725,7 +1747,7 @@ export class SessionEngine {
|
|
|
1725
1747
|
eventStream(sessionId_1) {
|
|
1726
1748
|
return __awaiter(this, arguments, void 0, function* (sessionId, startIndex = 0) {
|
|
1727
1749
|
// Playground Trace replays this stream; backfill before the snapshot
|
|
1728
|
-
// so historical Sherlock-style cloud turns can show
|
|
1750
|
+
// so historical Sherlock-style cloud turns can show billed cost.
|
|
1729
1751
|
yield this.backfillCloudTurnCosts(sessionId);
|
|
1730
1752
|
const log = yield this.logs.get(sessionId);
|
|
1731
1753
|
return log.stream(startIndex);
|
|
@@ -1772,6 +1794,70 @@ export class SessionEngine {
|
|
|
1772
1794
|
});
|
|
1773
1795
|
});
|
|
1774
1796
|
}
|
|
1797
|
+
/**
|
|
1798
|
+
* Billed/catalog cost for a session. Powers playground, traces, and
|
|
1799
|
+
* `agent-sdk cost` via `GET /v1/session/:id/cost`.
|
|
1800
|
+
*/
|
|
1801
|
+
sessionCost(sessionId) {
|
|
1802
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1803
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1804
|
+
const record = yield this.getOrRestoreSession(sessionId);
|
|
1805
|
+
if (record === undefined) {
|
|
1806
|
+
throw new Error(`Unknown session: ${sessionId}`);
|
|
1807
|
+
}
|
|
1808
|
+
yield this.backfillCloudTurnCosts(sessionId);
|
|
1809
|
+
const events = yield this.listEvents(sessionId);
|
|
1810
|
+
const sdkAgentId = (_a = (record.sdkAgentId !== undefined && record.sdkAgentId !== ""
|
|
1811
|
+
? record.sdkAgentId
|
|
1812
|
+
: undefined)) !== null && _a !== void 0 ? _a : cloudSdkAgentIdFromEvents(events);
|
|
1813
|
+
const model = (_b = this.project.agent.model) !== null && _b !== void 0 ? _b : DEFAULT_MODEL;
|
|
1814
|
+
const priced = yield this.estimateTurnCost({
|
|
1815
|
+
model,
|
|
1816
|
+
agentId: sdkAgentId,
|
|
1817
|
+
conversationId: sdkAgentId !== null && sdkAgentId !== void 0 ? sdkAgentId : sessionId,
|
|
1818
|
+
});
|
|
1819
|
+
if (priced !== undefined &&
|
|
1820
|
+
(priced.source === "usage" || priced.totalUsd > 0)) {
|
|
1821
|
+
return {
|
|
1822
|
+
sessionId,
|
|
1823
|
+
source: priced.source,
|
|
1824
|
+
cost: {
|
|
1825
|
+
rawCostCents: (_d = (_c = priced.rawCostCents) !== null && _c !== void 0 ? _c : priced.chargedCents) !== null && _d !== void 0 ? _d : 0,
|
|
1826
|
+
chargedCents: (_e = priced.chargedCents) !== null && _e !== void 0 ? _e : priced.totalUsd * 100,
|
|
1827
|
+
},
|
|
1828
|
+
costUsd: priced.totalUsd,
|
|
1829
|
+
rawCostUsd: roundCostUsd(((_g = (_f = priced.rawCostCents) !== null && _f !== void 0 ? _f : priced.chargedCents) !== null && _g !== void 0 ? _g : priced.totalUsd * 100) / 100),
|
|
1830
|
+
model: priced.model,
|
|
1831
|
+
};
|
|
1832
|
+
}
|
|
1833
|
+
let costUsd = 0;
|
|
1834
|
+
let rawCostUsd = 0;
|
|
1835
|
+
let source = "unavailable";
|
|
1836
|
+
let modelId;
|
|
1837
|
+
for (const event of events) {
|
|
1838
|
+
if (event.type !== "turn.completed" || event.data.cost === undefined) {
|
|
1839
|
+
continue;
|
|
1840
|
+
}
|
|
1841
|
+
costUsd = roundCostUsd(costUsd + event.data.cost.totalUsd);
|
|
1842
|
+
const rawCents = event.data.cost.rawCostCents;
|
|
1843
|
+
rawCostUsd = roundCostUsd(rawCostUsd +
|
|
1844
|
+
(rawCents !== undefined ? rawCents / 100 : event.data.cost.totalUsd));
|
|
1845
|
+
source = event.data.cost.source;
|
|
1846
|
+
modelId = event.data.cost.model;
|
|
1847
|
+
}
|
|
1848
|
+
return {
|
|
1849
|
+
sessionId,
|
|
1850
|
+
source,
|
|
1851
|
+
cost: {
|
|
1852
|
+
rawCostCents: rawCostUsd * 100,
|
|
1853
|
+
chargedCents: costUsd * 100,
|
|
1854
|
+
},
|
|
1855
|
+
costUsd,
|
|
1856
|
+
rawCostUsd,
|
|
1857
|
+
model: modelId,
|
|
1858
|
+
};
|
|
1859
|
+
});
|
|
1860
|
+
}
|
|
1775
1861
|
/** Snapshot of recorded events (for download / offline trace). */
|
|
1776
1862
|
listEvents(sessionId_1) {
|
|
1777
1863
|
return __awaiter(this, arguments, void 0, function* (sessionId, startIndex = 0, options) {
|
|
@@ -1785,7 +1871,7 @@ export class SessionEngine {
|
|
|
1785
1871
|
/**
|
|
1786
1872
|
* Historical cloud turns may lack usage/cost on `turn.completed` (pre-0.1.29
|
|
1787
1873
|
* engines, or getUsage still zero at turn end). Fill them from billed usage
|
|
1788
|
-
* before the playground replays the stream so Trace can show
|
|
1874
|
+
* before the playground replays the stream so Trace can show cost.
|
|
1789
1875
|
*/
|
|
1790
1876
|
backfillCloudTurnCosts(sessionId) {
|
|
1791
1877
|
if (this.cloudCostBackfillDone.has(sessionId)) {
|
|
@@ -1797,7 +1883,7 @@ export class SessionEngine {
|
|
|
1797
1883
|
}
|
|
1798
1884
|
const work = this.runCloudTurnCostBackfill(sessionId)
|
|
1799
1885
|
.catch((error) => {
|
|
1800
|
-
this.logger(`[
|
|
1886
|
+
this.logger(`[agent-sdk] cloud cost backfill failed for ${sessionId}: ${describeError(error)}`);
|
|
1801
1887
|
})
|
|
1802
1888
|
.finally(() => {
|
|
1803
1889
|
this.cloudCostBackfill.delete(sessionId);
|
|
@@ -1952,7 +2038,7 @@ export class SessionEngine {
|
|
|
1952
2038
|
yield this.runBulkRestore(storage, policy);
|
|
1953
2039
|
}
|
|
1954
2040
|
catch (error) {
|
|
1955
|
-
this.logger(`[
|
|
2041
|
+
this.logger(`[agent-sdk] session restore failed: ${describeError(error)}`);
|
|
1956
2042
|
}
|
|
1957
2043
|
});
|
|
1958
2044
|
}
|
|
@@ -1997,7 +2083,7 @@ export class SessionEngine {
|
|
|
1997
2083
|
return { record, events };
|
|
1998
2084
|
}
|
|
1999
2085
|
catch (error) {
|
|
2000
|
-
this.logger(`[
|
|
2086
|
+
this.logger(`[agent-sdk] failed to restore session ${record.sessionId}: ${describeError(error)}`);
|
|
2001
2087
|
return undefined;
|
|
2002
2088
|
}
|
|
2003
2089
|
})));
|
|
@@ -2012,7 +2098,7 @@ export class SessionEngine {
|
|
|
2012
2098
|
const bytes = Buffer.byteLength(JSON.stringify(item.record), "utf8") +
|
|
2013
2099
|
(ndjson === undefined ? 0 : Buffer.byteLength(ndjson, "utf8"));
|
|
2014
2100
|
if (bytes > budget) {
|
|
2015
|
-
this.logger(`[
|
|
2101
|
+
this.logger(`[agent-sdk] session restore stopped at the ${policy.maxTotalBytes}-byte budget after ${restored} session(s); remaining sessions restore lazily on resume`);
|
|
2016
2102
|
break outer;
|
|
2017
2103
|
}
|
|
2018
2104
|
try {
|
|
@@ -2021,12 +2107,12 @@ export class SessionEngine {
|
|
|
2021
2107
|
restored += 1;
|
|
2022
2108
|
}
|
|
2023
2109
|
catch (error) {
|
|
2024
|
-
this.logger(`[
|
|
2110
|
+
this.logger(`[agent-sdk] failed to restore session ${item.record.sessionId}: ${describeError(error)}`);
|
|
2025
2111
|
}
|
|
2026
2112
|
}
|
|
2027
2113
|
}
|
|
2028
2114
|
if (restored > 0) {
|
|
2029
|
-
this.logger(`[
|
|
2115
|
+
this.logger(`[agent-sdk] restored ${restored} session(s) from storage`);
|
|
2030
2116
|
}
|
|
2031
2117
|
});
|
|
2032
2118
|
}
|
|
@@ -2116,7 +2202,7 @@ export class SessionEngine {
|
|
|
2116
2202
|
}
|
|
2117
2203
|
const events = yield storage.listSessionEvents(record.sessionId);
|
|
2118
2204
|
yield this.materializeSession(record, eventsNdjson(events));
|
|
2119
|
-
this.logger(`[
|
|
2205
|
+
this.logger(`[agent-sdk] lazily restored session ${record.sessionId} from storage`);
|
|
2120
2206
|
return record;
|
|
2121
2207
|
});
|
|
2122
2208
|
}
|
|
@@ -2194,9 +2280,11 @@ function defaultGetCloudUsage(sdkAgentId) {
|
|
|
2194
2280
|
const billed = yield Agent.getUsage(sdkAgentId);
|
|
2195
2281
|
return {
|
|
2196
2282
|
usage: mapSdkTokenUsage(billed.usage),
|
|
2283
|
+
cost: billed.cost,
|
|
2197
2284
|
runs: billed.runs.map((run) => ({
|
|
2198
2285
|
runId: run.runId,
|
|
2199
2286
|
usage: mapSdkTokenUsage(run.usage),
|
|
2287
|
+
cost: run.cost,
|
|
2200
2288
|
})),
|
|
2201
2289
|
};
|
|
2202
2290
|
}
|
|
@@ -248,7 +248,7 @@ function mapErrorResponse(response, bodyText, context) {
|
|
|
248
248
|
const serverError = body.error;
|
|
249
249
|
switch (response.status) {
|
|
250
250
|
case 401:
|
|
251
|
-
return new SlackProvisionApiError("The Cursor API key was rejected. Run `
|
|
251
|
+
return new SlackProvisionApiError("The Cursor API key was rejected. Run `agent-sdk login` again or update CURSOR_API_KEY.", { status: 401 });
|
|
252
252
|
case 403:
|
|
253
253
|
return new SlackProvisionApiError(`${serverError !== null && serverError !== void 0 ? serverError : "Not authorized"} — Slack provisioning needs team-admin permission and the cloud-agent entitlement on that team.`, { status: 403 });
|
|
254
254
|
case 404: {
|
|
@@ -307,7 +307,7 @@ export class StorageCoordinator {
|
|
|
307
307
|
// Index entry without its record (e.g. the record write was shed
|
|
308
308
|
// under at-most-once). The session is unrecoverable; treat as a miss
|
|
309
309
|
// so the conversation can continue rather than failing forever.
|
|
310
|
-
this.logger(`[
|
|
310
|
+
this.logger(`[agent-sdk] storage continuation entry points at missing session ${sessionId}; treating as a miss`);
|
|
311
311
|
return undefined;
|
|
312
312
|
}
|
|
313
313
|
// The sink must answer for the exact key it was asked about — a
|
|
@@ -454,7 +454,7 @@ export class StorageCoordinator {
|
|
|
454
454
|
return Array.isArray(runs) ? runs : [];
|
|
455
455
|
}
|
|
456
456
|
catch (error) {
|
|
457
|
-
this.logger(`[
|
|
457
|
+
this.logger(`[agent-sdk] storage evals.list() failed: ${describeError(error)}`);
|
|
458
458
|
return [];
|
|
459
459
|
}
|
|
460
460
|
}),
|
|
@@ -506,7 +506,7 @@ export class StorageCoordinator {
|
|
|
506
506
|
return value !== null && value !== void 0 ? value : undefined;
|
|
507
507
|
}
|
|
508
508
|
catch (error) {
|
|
509
|
-
this.logger(`[
|
|
509
|
+
this.logger(`[agent-sdk] storage abs.getSnapshot() failed: ${describeError(error)}`);
|
|
510
510
|
return undefined;
|
|
511
511
|
}
|
|
512
512
|
});
|
|
@@ -538,7 +538,7 @@ export class StorageCoordinator {
|
|
|
538
538
|
]);
|
|
539
539
|
clearTimeout(timer);
|
|
540
540
|
if (!drained) {
|
|
541
|
-
this.logger(`[
|
|
541
|
+
this.logger(`[agent-sdk] storage shutdown drain timed out after ${CLOSE_DRAIN_TIMEOUT_MS}ms with ${this.pending} write(s) undelivered`);
|
|
542
542
|
}
|
|
543
543
|
});
|
|
544
544
|
}
|
|
@@ -578,7 +578,7 @@ export class StorageCoordinator {
|
|
|
578
578
|
return Array.isArray(entries) ? entries : [];
|
|
579
579
|
}
|
|
580
580
|
catch (error) {
|
|
581
|
-
this.logger(`[
|
|
581
|
+
this.logger(`[agent-sdk] storage list(${prefix}) failed: ${describeError(error)}`);
|
|
582
582
|
return [];
|
|
583
583
|
}
|
|
584
584
|
});
|
|
@@ -590,7 +590,7 @@ export class StorageCoordinator {
|
|
|
590
590
|
if (this.pending + ops.length > MAX_PENDING_OPS) {
|
|
591
591
|
this.dropped += ops.length;
|
|
592
592
|
if (this.dropped <= ops.length || this.dropped % 1000 < ops.length) {
|
|
593
|
-
this.logger(`[
|
|
593
|
+
this.logger(`[agent-sdk] storage queue full (${MAX_PENDING_OPS} pending writes); dropped ${this.dropped} write(s) so far — the sink is too slow for the traffic`);
|
|
594
594
|
}
|
|
595
595
|
return;
|
|
596
596
|
}
|
|
@@ -602,7 +602,7 @@ export class StorageCoordinator {
|
|
|
602
602
|
yield op.run(ctx);
|
|
603
603
|
}
|
|
604
604
|
catch (error) {
|
|
605
|
-
this.logger(`[
|
|
605
|
+
this.logger(`[agent-sdk] storage ${op.label} failed: ${describeError(error)}`);
|
|
606
606
|
}
|
|
607
607
|
finally {
|
|
608
608
|
this.pending -= 1;
|
|
@@ -286,7 +286,7 @@ export function formatTrajectoryText(trajectory) {
|
|
|
286
286
|
}
|
|
287
287
|
lines.push(`turns: ${trajectory.turns.length} tools=${trajectory.toolCallCount} failed: ${trajectory.turnsFailed}${trajectory.totalCostUsd === undefined
|
|
288
288
|
? ""
|
|
289
|
-
: `
|
|
289
|
+
: ` cost: ${formatCostUsd(trajectory.totalCostUsd)}`}`);
|
|
290
290
|
for (const turn of trajectory.turns) {
|
|
291
291
|
lines.push("");
|
|
292
292
|
lines.push(`── ${turn.turnId}${turn.failed ? " FAILED" : ""} ──`);
|
|
@@ -323,7 +323,7 @@ export function formatTrajectoryText(trajectory) {
|
|
|
323
323
|
if (turn.usage !== undefined) {
|
|
324
324
|
lines.push(` usage: in ${turn.usage.inputTokens} out ${turn.usage.outputTokens}${turn.cost === undefined
|
|
325
325
|
? ""
|
|
326
|
-
: `
|
|
326
|
+
: ` cost: ${formatCostUsd(turn.cost.totalUsd)}`}`);
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
329
|
return `${lines.join("\n")}\n`;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dollar cost for an agent turn, computed by the Cloud Agents
|
|
3
|
+
* `POST /v1/models/estimate-cost` endpoint (billed usage events when an
|
|
4
|
+
* agent/conversation 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
|
+
export declare function roundCostUsd(usd: number): number;
|
|
21
|
+
export declare function turnCostFromCents(args: {
|
|
22
|
+
model: string | ModelSetting;
|
|
23
|
+
cost: UsageCostCents;
|
|
24
|
+
source: TurnCost["source"];
|
|
25
|
+
}): TurnCost;
|
|
26
|
+
export declare function estimateTurnCostFromApi(input: EstimateTurnCostInput): Promise<TurnCost | undefined>;
|
|
27
|
+
//# sourceMappingURL=turn-cost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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,CAC/B,KAAK,EAAE,qBAAqB,KACzB,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEnC,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC5B,GAAG,QAAQ,CAeX;AAQD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA8C/B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dollar cost for an agent turn, computed by the Cloud Agents
|
|
3
|
+
* `POST /v1/models/estimate-cost` endpoint (billed usage events when an
|
|
4
|
+
* agent/conversation id is known, otherwise live catalog pricing).
|
|
5
|
+
*/
|
|
6
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
7
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
10
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
11
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
12
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
import { cursorExternalApiUrl, resolveApiKey } from "./cursor/credentials.js";
|
|
16
|
+
export function modelSettingId(model) {
|
|
17
|
+
return typeof model === "string" ? model : model.id;
|
|
18
|
+
}
|
|
19
|
+
export function roundCostUsd(usd) {
|
|
20
|
+
return Math.round(usd * 1e6) / 1e6;
|
|
21
|
+
}
|
|
22
|
+
export function turnCostFromCents(args) {
|
|
23
|
+
const totalUsd = roundCostUsd(args.cost.chargedCents / 100);
|
|
24
|
+
const model = typeof args.model === "string" ? args.model : modelSettingId(args.model);
|
|
25
|
+
return {
|
|
26
|
+
totalUsd,
|
|
27
|
+
inputUsd: 0,
|
|
28
|
+
outputUsd: 0,
|
|
29
|
+
cacheReadUsd: 0,
|
|
30
|
+
cacheWriteUsd: 0,
|
|
31
|
+
model,
|
|
32
|
+
source: args.source,
|
|
33
|
+
rawCostCents: args.cost.rawCostCents,
|
|
34
|
+
chargedCents: args.cost.chargedCents,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function estimateTurnCostFromApi(input) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
var _a, _b, _c, _d, _e;
|
|
40
|
+
var _f;
|
|
41
|
+
const resolved = yield resolveApiKey();
|
|
42
|
+
if (resolved === undefined) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const model = modelSettingId(input.model);
|
|
46
|
+
const response = yield fetch(`${cursorExternalApiUrl()}/v1/models/estimate-cost`, {
|
|
47
|
+
method: "POST",
|
|
48
|
+
headers: {
|
|
49
|
+
authorization: `Bearer ${resolved.apiKey}`,
|
|
50
|
+
"content-type": "application/json",
|
|
51
|
+
},
|
|
52
|
+
body: JSON.stringify({
|
|
53
|
+
model,
|
|
54
|
+
inputTokens: (_a = input.usage) === null || _a === void 0 ? void 0 : _a.inputTokens,
|
|
55
|
+
outputTokens: (_b = input.usage) === null || _b === void 0 ? void 0 : _b.outputTokens,
|
|
56
|
+
cacheReadTokens: (_c = input.usage) === null || _c === void 0 ? void 0 : _c.cacheReadTokens,
|
|
57
|
+
cacheWriteTokens: (_d = input.usage) === null || _d === void 0 ? void 0 : _d.cacheWriteTokens,
|
|
58
|
+
agentId: input.agentId,
|
|
59
|
+
conversationId: input.conversationId,
|
|
60
|
+
runId: input.runId,
|
|
61
|
+
}),
|
|
62
|
+
});
|
|
63
|
+
if (!response.ok) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
let body;
|
|
67
|
+
try {
|
|
68
|
+
body = (yield response.json());
|
|
69
|
+
}
|
|
70
|
+
catch (_g) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
if (typeof ((_e = body.cost) === null || _e === void 0 ? void 0 : _e.rawCostCents) !== "number" ||
|
|
74
|
+
typeof body.cost.chargedCents !== "number") {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
return turnCostFromCents({
|
|
78
|
+
model: (_f = body.model) !== null && _f !== void 0 ? _f : model,
|
|
79
|
+
cost: body.cost,
|
|
80
|
+
source: body.source === "usage" ? "usage" : "catalog",
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Outdated-version warning + `
|
|
2
|
+
* Outdated-version warning + `agent-sdk update`.
|
|
3
3
|
*
|
|
4
4
|
* Every CLI run of a published install compares its own version against the
|
|
5
5
|
* npm registry's `latest` dist-tag and warns on stderr when behind. The
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* network; a stale cache refreshes inline under a short timeout, and any
|
|
9
9
|
* network failure is silent (the warning is best-effort, never a blocker).
|
|
10
10
|
*
|
|
11
|
-
* `
|
|
11
|
+
* `agent-sdk update` re-runs the lookup fresh, figures out how this copy was
|
|
12
12
|
* installed (global npm/pnpm/yarn/bun, or a project dependency), and runs the
|
|
13
13
|
* matching install command.
|
|
14
14
|
*/
|
|
@@ -87,7 +87,7 @@ export interface UpdateCliOptions {
|
|
|
87
87
|
out?: (text: string) => void;
|
|
88
88
|
err?: (text: string) => void;
|
|
89
89
|
}
|
|
90
|
-
/** `
|
|
90
|
+
/** `agent-sdk update` — upgrade this install to the latest published version. */
|
|
91
91
|
export declare function cmdUpdate(options?: UpdateCliOptions): Promise<number>;
|
|
92
92
|
export {};
|
|
93
93
|
//# sourceMappingURL=update-check.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/internal/update-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6CxB;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0C5D;AAQD;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,CAAC,EAAE;IAC1D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB9B;AAMD,QAAA,MAAM,WAAW,EAAE,CAAC,CAAC,SAAS,CAC5B;IAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IAAC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;CAAE,EACrE,OAAO,CAMP,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAsB,oBAAoB,CACxC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAavC;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,gBAAgB,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAQf;AAMD,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,wCAAwC;IACxC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAUD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAoErC;AA+ED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,
|
|
1
|
+
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/internal/update-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6CxB;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0C5D;AAQD;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,CAAC,EAAE;IAC1D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB9B;AAMD,QAAA,MAAM,WAAW,EAAE,CAAC,CAAC,SAAS,CAC5B;IAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IAAC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;CAAE,EACrE,OAAO,CAMP,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAsB,oBAAoB,CACxC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAavC;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,gBAAgB,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAQf;AAMD,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,wCAAwC;IACxC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAUD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAoErC;AA+ED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,iFAAiF;AACjF,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwE3E"}
|