@cursor/july 0.1.30 → 0.1.32
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/post-update-delivery.d.ts +85 -0
- package/dist/channels/slack/post-update-delivery.d.ts.map +1 -0
- 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.C2aVczmo.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.xgMnlUSO.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.CYUFXspH.js → VPLocalSearchBox.DLEzetbD.js} +1 -1
- package/dist/docs/assets/chunks/{theme.CTjkX9vc.js → theme.BkOH1oMp.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 +3 -0
- package/dist/files-backends/agent-store-presigned-url.d.ts.map +1 -0
- package/dist/files-backends/agent-store-presigned-url.js +1023 -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 +563 -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/json-dir-store.d.ts +32 -0
- package/dist/internal/json-dir-store.d.ts.map +1 -0
- 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/persistence-coordinator.d.ts +127 -0
- package/dist/internal/persistence-coordinator.d.ts.map +1 -0
- 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/multi-tenant.d.ts +80 -0
- package/dist/multi-tenant.d.ts.map +1 -0
- package/dist/multi-tenant.js +69 -0
- package/dist/persistence.d.ts +184 -0
- package/dist/persistence.d.ts.map +1 -0
- 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 +5 -2
- 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 +8 -0
- package/src/files-backends/cursor-hosted.ts +724 -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
|
@@ -128,7 +128,7 @@ function cmdGithubForward(options) {
|
|
|
128
128
|
process.stderr.write("could not infer the repository — pass --repo owner/repo (or --org <org>)\n");
|
|
129
129
|
return 1;
|
|
130
130
|
}
|
|
131
|
-
process.stderr.write(`[
|
|
131
|
+
process.stderr.write(`[agent-sdk] inferred --repo ${repo}\n`);
|
|
132
132
|
}
|
|
133
133
|
const secret = (_c = options.secret) !== null && _c !== void 0 ? _c : process.env.GITHUB_WEBHOOK_SECRET;
|
|
134
134
|
// `gh webhook forward` targets a single URL, and GitHub allows only one
|
|
@@ -146,21 +146,21 @@ function cmdGithubForward(options) {
|
|
|
146
146
|
org,
|
|
147
147
|
secret,
|
|
148
148
|
});
|
|
149
|
-
process.stderr.write(`[
|
|
149
|
+
process.stderr.write(`[agent-sdk] forwarding ${org !== undefined ? `org ${org}` : `repo ${repo}`} to ${targets.length} channel${targets.length === 1 ? "" : "s"}:\n`);
|
|
150
150
|
for (const target of targets) {
|
|
151
|
-
process.stderr.write(`[
|
|
151
|
+
process.stderr.write(`[agent-sdk] → ${targetLabel(target)} ${target.url} (${target.events.join(", ")})\n`);
|
|
152
152
|
}
|
|
153
153
|
if (fanout) {
|
|
154
|
-
process.stderr.write(`[
|
|
154
|
+
process.stderr.write(`[agent-sdk] fan-out proxy on ${forwardUrl} (union events: ${events.join(", ")})\n`);
|
|
155
155
|
}
|
|
156
156
|
if (secret === undefined || secret === "") {
|
|
157
|
-
process.stderr.write("[
|
|
157
|
+
process.stderr.write("[agent-sdk] no signing secret — deliveries are unsigned. A `serve --dev` github channel accepts them; set GITHUB_WEBHOOK_SECRET on both sides to verify signatures (required for a non-dev target).\n");
|
|
158
158
|
}
|
|
159
159
|
const envToken = detectGitHubEnvTokenOverride();
|
|
160
160
|
if (envToken !== undefined) {
|
|
161
|
-
process.stderr.write(`[
|
|
161
|
+
process.stderr.write(`[agent-sdk] warning: ${githubEnvTokenHint(envToken)}\n`);
|
|
162
162
|
}
|
|
163
|
-
process.stderr.write(`[
|
|
163
|
+
process.stderr.write(`[agent-sdk] running: gh ${redact(args)}\n`);
|
|
164
164
|
try {
|
|
165
165
|
return yield spawnGh(args);
|
|
166
166
|
}
|
|
@@ -228,7 +228,7 @@ function cmdGithubReplay(options) {
|
|
|
228
228
|
const requested = parseEventList(options.events);
|
|
229
229
|
const { events: eventsToReplay, unsupported } = selectReplayEvents(requested, unionForwardEvents(targets));
|
|
230
230
|
if (unsupported.length > 0) {
|
|
231
|
-
process.stderr.write(`[
|
|
231
|
+
process.stderr.write(`[agent-sdk] cannot synthesize (skipped): ${unsupported.join(", ")}\n`);
|
|
232
232
|
}
|
|
233
233
|
if (eventsToReplay.length === 0) {
|
|
234
234
|
process.stderr.write("no synthesizable events selected\n");
|
|
@@ -263,7 +263,7 @@ function cmdGithubReplay(options) {
|
|
|
263
263
|
check,
|
|
264
264
|
});
|
|
265
265
|
if ("error" in result) {
|
|
266
|
-
process.stderr.write(`[
|
|
266
|
+
process.stderr.write(`[agent-sdk] skipping ${event}: ${result.error}\n`);
|
|
267
267
|
continue;
|
|
268
268
|
}
|
|
269
269
|
synthesized.push(result);
|
|
@@ -273,7 +273,7 @@ function cmdGithubReplay(options) {
|
|
|
273
273
|
return 1;
|
|
274
274
|
}
|
|
275
275
|
const secret = (_j = options.secret) !== null && _j !== void 0 ? _j : process.env.GITHUB_WEBHOOK_SECRET;
|
|
276
|
-
process.stderr.write(`[
|
|
276
|
+
process.stderr.write(`[agent-sdk] replaying ${ref.label} (${synthesized
|
|
277
277
|
.map((s) => s.eventName)
|
|
278
278
|
.join(", ")}) → ${targets.length} channel${targets.length === 1 ? "" : "s"}\n`);
|
|
279
279
|
const report = [];
|
|
@@ -291,7 +291,7 @@ function cmdGithubReplay(options) {
|
|
|
291
291
|
}
|
|
292
292
|
if (options.out !== undefined) {
|
|
293
293
|
const file = yield writeReplayFixture(options.out, event);
|
|
294
|
-
process.stderr.write(`[
|
|
294
|
+
process.stderr.write(`[agent-sdk] wrote ${file}\n`);
|
|
295
295
|
}
|
|
296
296
|
const label = eventLabel(event);
|
|
297
297
|
if (options.dryRun === true) {
|
|
@@ -311,7 +311,7 @@ function cmdGithubReplay(options) {
|
|
|
311
311
|
const summary = deliveries
|
|
312
312
|
.map((delivery) => `${delivery.label} ${delivery.status || "ERR"}${delivery.ok ? "" : " (rejected)"}`)
|
|
313
313
|
.join(", ") || "(no matching channel)";
|
|
314
|
-
process.stderr.write(`[
|
|
314
|
+
process.stderr.write(`[agent-sdk] ${label} → ${summary}\n`);
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
if (options.json === true) {
|
|
@@ -552,7 +552,7 @@ function ensureWebhookExtension(install) {
|
|
|
552
552
|
: `${GITHUB_WEBHOOK_EXTENSION} is ${(_b = parseGhWebhookExtensionVersion(list)) !== null && _b !== void 0 ? _b : "unknown"} (need ${GITHUB_WEBHOOK_EXTENSION_PIN}) — re-run with --install`,
|
|
553
553
|
};
|
|
554
554
|
}
|
|
555
|
-
process.stderr.write(`[
|
|
555
|
+
process.stderr.write(`[agent-sdk] installing ${GITHUB_WEBHOOK_EXTENSION}@${GITHUB_WEBHOOK_EXTENSION_PIN}…\n`);
|
|
556
556
|
if ((yield tryExec({
|
|
557
557
|
command: "gh",
|
|
558
558
|
args: ghWebhookExtensionInstallArgs({ force: installed && !pinOk }),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
2
|
+
* `agent-sdk mcp oauth <connection> [--store]`.
|
|
3
3
|
*
|
|
4
4
|
* Host MCP OAuth for `defineConnection({ url, oauth: true })` (local tokens,
|
|
5
5
|
* optionally stored as deployment secrets), and service-account connector
|
|
@@ -76,7 +76,7 @@ export function cmdMcpOauth(options) {
|
|
|
76
76
|
authorizationUrl = url;
|
|
77
77
|
},
|
|
78
78
|
});
|
|
79
|
-
const client = new Client({ name: "
|
|
79
|
+
const client = new Client({ name: "agent-sdk-mcp-oauth", version: "0.1.0" });
|
|
80
80
|
const url = new URL(transport.url);
|
|
81
81
|
const requestInit = transport.headers === undefined
|
|
82
82
|
? undefined
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
2
|
+
* `agent-sdk mcp` — stdio ↔ streamable-HTTP proxy for an agent's MCP endpoint.
|
|
3
3
|
*
|
|
4
4
|
* Every served agent is an MCP server at `<base>/v1/mcp` (hosted deployments
|
|
5
5
|
* run in single mode, so the endpoint sits directly on the engine base URL).
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
* - `--url <baseUrl>` — a running server (local `serve` mount or self-hosted
|
|
16
16
|
* base URL), with optional `--bearer-token`.
|
|
17
17
|
*
|
|
18
|
-
* `
|
|
18
|
+
* `agent-sdk mcp install` writes the matching entry into `~/.cursor/mcp.json`
|
|
19
19
|
* so the agent shows up as an MCP server in Cursor:
|
|
20
20
|
*
|
|
21
21
|
* { "mcpServers": { "weather-agent": {
|
|
22
|
-
* "command": "
|
|
22
|
+
* "command": "agent-sdk",
|
|
23
23
|
* "args": ["mcp", "--prod", "--slug", "weather-agent"] } } }
|
|
24
24
|
*
|
|
25
25
|
* stdout is reserved for the MCP wire in serve mode; all logging goes to
|
package/dist/internal/cli-mcp.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
2
|
+
* `agent-sdk mcp` — stdio ↔ streamable-HTTP proxy for an agent's MCP endpoint.
|
|
3
3
|
*
|
|
4
4
|
* Every served agent is an MCP server at `<base>/v1/mcp` (hosted deployments
|
|
5
5
|
* run in single mode, so the endpoint sits directly on the engine base URL).
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
* - `--url <baseUrl>` — a running server (local `serve` mount or self-hosted
|
|
16
16
|
* base URL), with optional `--bearer-token`.
|
|
17
17
|
*
|
|
18
|
-
* `
|
|
18
|
+
* `agent-sdk mcp install` writes the matching entry into `~/.cursor/mcp.json`
|
|
19
19
|
* so the agent shows up as an MCP server in Cursor:
|
|
20
20
|
*
|
|
21
21
|
* { "mcpServers": { "weather-agent": {
|
|
22
|
-
* "command": "
|
|
22
|
+
* "command": "agent-sdk",
|
|
23
23
|
* "args": ["mcp", "--prod", "--slug", "weather-agent"] } } }
|
|
24
24
|
*
|
|
25
25
|
* stdout is reserved for the MCP wire in serve mode; all logging goes to
|
|
@@ -491,7 +491,7 @@ export function cmdMcpInstall(options) {
|
|
|
491
491
|
* engineAccess server-side, so the entry never carries a pod hostname or a
|
|
492
492
|
* short-lived port token — only the durable, stable gateway URL.
|
|
493
493
|
*
|
|
494
|
-
* Auth: this headless/CLI entry sends the `
|
|
494
|
+
* Auth: this headless/CLI entry sends the `agent-sdk login` API key as a
|
|
495
495
|
* bearer against the user-API-key gateway surface. That key is written to
|
|
496
496
|
* `mcp.json` in plain text (flagged below); a signed-in Cursor client
|
|
497
497
|
* (Glass) can instead use the session gateway surface with no header at all
|
|
@@ -48,7 +48,7 @@ export function cmdInstallSkills() {
|
|
|
48
48
|
return 0;
|
|
49
49
|
}
|
|
50
50
|
const action = plan.firstInstall ? "install" : "update";
|
|
51
|
-
out(`Would ${action} ${plan.leaves.length}
|
|
51
|
+
out(`Would ${action} ${plan.leaves.length} Agent SDK ${noun}\n`);
|
|
52
52
|
out(previewBlock(plan));
|
|
53
53
|
return 0;
|
|
54
54
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Recover token usage /
|
|
2
|
+
* Recover token usage / billed cost for cloud turns that finished without
|
|
3
3
|
* either field on `turn.completed`.
|
|
4
4
|
*
|
|
5
5
|
* Cloud `run.wait()` often drops streamed usage after SSE reconnect, and
|
|
@@ -11,9 +11,17 @@ import type { ModelSetting, SessionEvent, TurnUsage } from "../types.js";
|
|
|
11
11
|
export interface CloudRunUsage {
|
|
12
12
|
runId: string;
|
|
13
13
|
usage: TurnUsage;
|
|
14
|
+
cost?: {
|
|
15
|
+
rawCostCents: number;
|
|
16
|
+
chargedCents: number;
|
|
17
|
+
};
|
|
14
18
|
}
|
|
15
19
|
export interface CloudAgentUsage {
|
|
16
20
|
usage: TurnUsage;
|
|
21
|
+
cost?: {
|
|
22
|
+
rawCostCents: number;
|
|
23
|
+
chargedCents: number;
|
|
24
|
+
};
|
|
17
25
|
runs: CloudRunUsage[];
|
|
18
26
|
}
|
|
19
27
|
export declare function usageTokenSum(usage: TurnUsage | undefined): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-turn-cost.d.ts","sourceRoot":"","sources":["../../src/internal/cloud-turn-cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEZ,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud-turn-cost.d.ts","sourceRoot":"","sources":["../../src/internal/cloud-turn-cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEZ,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAUlE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAMpE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAClC,MAAM,GAAG,SAAS,CAYpB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,YAAY,GAClB,YAAY,EAAE,GAAG,SAAS,CAkE5B;AAgBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,SAAS,CAWZ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Recover token usage /
|
|
2
|
+
* Recover token usage / billed cost for cloud turns that finished without
|
|
3
3
|
* either field on `turn.completed`.
|
|
4
4
|
*
|
|
5
5
|
* Cloud `run.wait()` often drops streamed usage after SSE reconnect, and
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* what is on the event, so historical sessions stay blank unless we backfill
|
|
8
8
|
* from `Agent.getUsage` when the stream is read.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { modelSettingId, turnCostFromCents } from "./turn-cost.js";
|
|
11
11
|
export function usageTokenSum(usage) {
|
|
12
12
|
if (usage === undefined) {
|
|
13
13
|
return 0;
|
|
@@ -63,7 +63,7 @@ export function applyCloudUsageToEvents(events, billed, model) {
|
|
|
63
63
|
if (index !== undefined) {
|
|
64
64
|
patches.set(index, {
|
|
65
65
|
usage: billed.usage,
|
|
66
|
-
cost:
|
|
66
|
+
cost: turnCostFromBilled(model, billed.cost),
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -77,7 +77,7 @@ export function applyCloudUsageToEvents(events, billed, model) {
|
|
|
77
77
|
}
|
|
78
78
|
patches.set(index, {
|
|
79
79
|
usage: run.usage,
|
|
80
|
-
cost:
|
|
80
|
+
cost: turnCostFromBilled(model, run.cost),
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -92,6 +92,16 @@ export function applyCloudUsageToEvents(events, billed, model) {
|
|
|
92
92
|
return Object.assign(Object.assign({}, event), { data: Object.assign(Object.assign(Object.assign({}, event.data), { usage: patch.usage }), (patch.cost === undefined ? {} : { cost: patch.cost })) });
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
|
+
function turnCostFromBilled(model, cost) {
|
|
96
|
+
if (cost === undefined) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
return turnCostFromCents({
|
|
100
|
+
model: modelSettingId(model),
|
|
101
|
+
cost,
|
|
102
|
+
source: "usage",
|
|
103
|
+
});
|
|
104
|
+
}
|
|
95
105
|
export function mapSdkTokenUsage(usage) {
|
|
96
106
|
const mapped = {
|
|
97
107
|
inputTokens: usage.inputTokens,
|
|
@@ -144,7 +144,7 @@ export class CursorAccountMcpBridge {
|
|
|
144
144
|
try {
|
|
145
145
|
const catalog = yield this.getCatalog(ref);
|
|
146
146
|
if (catalog.servers.length === 0) {
|
|
147
|
-
this.logger(`[
|
|
147
|
+
this.logger(`[agent-sdk] Cursor account MCP connection "${ref.name}": no matching connectors on this account — connect servers in Cursor (dashboard → MCP) or fix the \`servers\` filter`);
|
|
148
148
|
return;
|
|
149
149
|
}
|
|
150
150
|
const errorDetails = new Map();
|
|
@@ -159,10 +159,10 @@ export class CursorAccountMcpBridge {
|
|
|
159
159
|
const summary = catalog.servers
|
|
160
160
|
.map((server) => formatServerStatusSummary(server, errorDetails.get(server.serverIdentifier)))
|
|
161
161
|
.join(", ");
|
|
162
|
-
this.logger(`[
|
|
162
|
+
this.logger(`[agent-sdk] Cursor account MCP connection "${ref.name}": ${summary}`);
|
|
163
163
|
const needsAuth = catalog.servers.filter((server) => server.status === "needsAuth");
|
|
164
164
|
if (needsAuth.length > 0) {
|
|
165
|
-
this.logger(`[
|
|
165
|
+
this.logger(`[agent-sdk] Cursor account MCP connection "${ref.name}": ${needsAuth
|
|
166
166
|
.map((server) => server.serverIdentifier)
|
|
167
167
|
.join(", ")} need re-authorization in Cursor (dashboard → MCP / Settings → MCP) before their tools appear`);
|
|
168
168
|
}
|
|
@@ -176,11 +176,11 @@ export class CursorAccountMcpBridge {
|
|
|
176
176
|
: `${server.serverIdentifier} (${detail})`;
|
|
177
177
|
})
|
|
178
178
|
.join("; ");
|
|
179
|
-
this.logger(`[
|
|
179
|
+
this.logger(`[agent-sdk] Cursor account MCP connection "${ref.name}": ${details} — Cursor backend could not use this connector (not a missing agent-sdk login). Re-check the server in Cursor dashboard → MCP, confirm the URL is healthy, and retry after the backend can reach it`);
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
catch (error) {
|
|
183
|
-
this.logger(`[
|
|
183
|
+
this.logger(`[agent-sdk] Cursor account MCP connection "${ref.name}" preflight failed: ${describeError(error)}`);
|
|
184
184
|
}
|
|
185
185
|
});
|
|
186
186
|
}
|
|
@@ -396,7 +396,7 @@ export class CursorBackendClient {
|
|
|
396
396
|
value: body.data.accessToken,
|
|
397
397
|
expiresAtMs: jwtExpiryMs(body.data.accessToken),
|
|
398
398
|
};
|
|
399
|
-
this.logger("[
|
|
399
|
+
this.logger("[agent-sdk] cursor account: minted a fresh access token");
|
|
400
400
|
return body.data.accessToken;
|
|
401
401
|
});
|
|
402
402
|
}
|
|
@@ -115,13 +115,13 @@ export class CursorGithubCredentialProvider {
|
|
|
115
115
|
this.installGhToken(result.token);
|
|
116
116
|
this.scheduleRefresh();
|
|
117
117
|
}
|
|
118
|
-
this.logger(`[
|
|
118
|
+
this.logger(`[agent-sdk] GitHub auth: refreshed Cursor account credential for ${this.repos.length} repo(s)`);
|
|
119
119
|
return result.token;
|
|
120
120
|
}
|
|
121
121
|
catch (error) {
|
|
122
122
|
const message = error instanceof Error ? error.message : String(error);
|
|
123
123
|
if (this.cached !== undefined && this.now() < this.cached.expiresAtMs) {
|
|
124
|
-
this.logger(`[
|
|
124
|
+
this.logger(`[agent-sdk] GitHub auth: Cursor account credential refresh failed; using the current lease: ${message}`);
|
|
125
125
|
this.cached.refreshAtMs = Math.min(this.cached.expiresAtMs, this.now() + REFRESH_RETRY_MS);
|
|
126
126
|
if (this.started) {
|
|
127
127
|
this.scheduleRetry();
|
|
@@ -164,7 +164,7 @@ export class CursorGithubCredentialProvider {
|
|
|
164
164
|
}
|
|
165
165
|
this.refreshTimer = setTimeout(() => {
|
|
166
166
|
void this.getToken().catch((error) => {
|
|
167
|
-
this.logger(`[
|
|
167
|
+
this.logger(`[agent-sdk] GitHub auth: Cursor account credential refresh failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
168
168
|
this.scheduleRetry();
|
|
169
169
|
});
|
|
170
170
|
}, delayMs);
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* needing auth), open each URL for the human to grant, and poll until the
|
|
10
10
|
* backend reports the token stored. Nothing token-shaped ever touches this
|
|
11
11
|
* process — the cursor.com callback stores tokens against the service
|
|
12
|
-
* account. Used by `
|
|
12
|
+
* account. Used by `agent-sdk mcp oauth <connection>` and the post-deploy
|
|
13
13
|
* hook in `cli-deploy.ts`.
|
|
14
14
|
*/
|
|
15
15
|
import type { CursorBackendClient } from "./cursor/backend-client.js";
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* needing auth), open each URL for the human to grant, and poll until the
|
|
10
10
|
* backend reports the token stored. Nothing token-shaped ever touches this
|
|
11
11
|
* process — the cursor.com callback stores tokens against the service
|
|
12
|
-
* account. Used by `
|
|
12
|
+
* account. Used by `agent-sdk mcp oauth <connection>` and the post-deploy
|
|
13
13
|
* hook in `cli-deploy.ts`.
|
|
14
14
|
*/
|
|
15
15
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
@@ -210,7 +210,7 @@ export class CursorEventRelay {
|
|
|
210
210
|
if (!this.subscribedRepos.has(event.repo)) {
|
|
211
211
|
if (!this.loggedSkippedRepos.has(event.repo)) {
|
|
212
212
|
this.loggedSkippedRepos.add(event.repo);
|
|
213
|
-
this.options.logger(`[
|
|
213
|
+
this.options.logger(`[agent-sdk] cursor-events: skipping events for ${event.repo}: not in this host's subscription (another consumer of this API key likely subscribed it)`);
|
|
214
214
|
}
|
|
215
215
|
return false;
|
|
216
216
|
}
|
|
@@ -26,7 +26,7 @@ export declare function describeRelayError(error: unknown): string;
|
|
|
26
26
|
export interface RelayAdapter<TEvent extends {
|
|
27
27
|
offset: string;
|
|
28
28
|
}> {
|
|
29
|
-
/** Log fragment, e.g. `cursor-events` → `[
|
|
29
|
+
/** Log fragment, e.g. `cursor-events` → `[agent-sdk] cursor-events: …`. */
|
|
30
30
|
readonly logPrefix: string;
|
|
31
31
|
/** Subscription registration path, e.g. `/v0/scm-events/subscriptions`. */
|
|
32
32
|
readonly subscribePath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-relay-core.d.ts","sourceRoot":"","sources":["../../src/internal/cursor-relay-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6BH,8DAA8D;AAC9D,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAArC,YAA6B,QAAQ,EAAE,MAAM,EAAI;IAEjD,OAAO,KAAK,QAAQ,GAEnB;IAEK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAcxC;IAEK,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxC;CACF;AAED,6CAA6C;AAC7C,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAMjE;AASD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzD;AAQD;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,SAAS;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;IAC7D,
|
|
1
|
+
{"version":3,"file":"cursor-relay-core.d.ts","sourceRoot":"","sources":["../../src/internal/cursor-relay-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,7 +68,7 @@ export function createCursorSlackApiCaller(args) {
|
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
70
|
catch (error) {
|
|
71
|
-
(_a = args.logger) === null || _a === void 0 ? void 0 : _a.call(args, `[
|
|
71
|
+
(_a = args.logger) === null || _a === void 0 ? void 0 : _a.call(args, `[agent-sdk] cursor-slack: ${method} proxy call failed: ${describeRelayError(error)}`);
|
|
72
72
|
return { ok: false, error: "cursor_backend_unreachable" };
|
|
73
73
|
}
|
|
74
74
|
});
|
|
@@ -96,6 +96,11 @@ export interface Deployment {
|
|
|
96
96
|
egressAllowedDomains?: string[];
|
|
97
97
|
/** Service-account id (`sa_…`); null on legacy rows. */
|
|
98
98
|
serviceAccountId?: string | number | null;
|
|
99
|
+
/**
|
|
100
|
+
* The durable file store's address on `/v0/agent-serve-files` (also pinned
|
|
101
|
+
* into the pod env as `AGENT_SERVE_STORE_SOURCE_ID`).
|
|
102
|
+
*/
|
|
103
|
+
agentStoreSourceId?: string;
|
|
99
104
|
/** Masked pod credential; the raw key is never returned. */
|
|
100
105
|
podCredentialMaskedKey?: string | null;
|
|
101
106
|
/** Names of the secrets set on the deployment (values never returned). */
|
|
@@ -195,7 +200,7 @@ export declare class AgentServeDeployClient {
|
|
|
195
200
|
aliasUrl(engineAlias: string): string;
|
|
196
201
|
/**
|
|
197
202
|
* Stable remote MCP gateway URL for a deployment, on the user-API-key
|
|
198
|
-
* surface (headless / CLI, `
|
|
203
|
+
* surface (headless / CLI, `agent-sdk login` credential). The gateway
|
|
199
204
|
* mints/refreshes engineAccess server-side and proxies `/v1/mcp` to the
|
|
200
205
|
* pod, so a signed-in client never sees a pod hostname or port token.
|
|
201
206
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-client.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deploy-client.d.ts","sourceRoot":"","sources":["../../src/internal/deploy-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,6 +132,7 @@ const deploymentSchema = z.object({
|
|
|
132
132
|
// String ids (`sa_…`) in prod; older mocks/fixtures used numbers. Null on
|
|
133
133
|
// legacy rows that predate service-account-backed deploys.
|
|
134
134
|
serviceAccountId: z.union([z.string(), z.number()]).nullable().optional(),
|
|
135
|
+
agentStoreSourceId: z.string().optional(),
|
|
135
136
|
podCredentialMaskedKey: z.string().nullable().optional(),
|
|
136
137
|
secretNames: z.array(z.string()).optional(),
|
|
137
138
|
});
|
|
@@ -337,7 +338,7 @@ export class AgentServeDeployClient {
|
|
|
337
338
|
}
|
|
338
339
|
/**
|
|
339
340
|
* Stable remote MCP gateway URL for a deployment, on the user-API-key
|
|
340
|
-
* surface (headless / CLI, `
|
|
341
|
+
* surface (headless / CLI, `agent-sdk login` credential). The gateway
|
|
341
342
|
* mints/refreshes engineAccess server-side and proxies `/v1/mcp` to the
|
|
342
343
|
* pod, so a signed-in client never sees a pod hostname or port token.
|
|
343
344
|
*/
|
|
@@ -391,7 +392,7 @@ function mapErrorResponse(response, bodyText, context) {
|
|
|
391
392
|
case 400:
|
|
392
393
|
return new DeployApiError(serverError !== null && serverError !== void 0 ? serverError : `The ${context.verb} request was rejected as invalid.`, 400);
|
|
393
394
|
case 401:
|
|
394
|
-
return new DeployApiError("The Cursor API key was rejected. Run `
|
|
395
|
+
return new DeployApiError("The Cursor API key was rejected. Run `agent-sdk login` again or update CURSOR_API_KEY.", 401);
|
|
395
396
|
case 403:
|
|
396
397
|
return new DeployApiError(`${serverError !== null && serverError !== void 0 ? serverError : "Not authorized"} — deploying needs team-admin permission and the cloud-agent entitlement on that team.`, 403);
|
|
397
398
|
case 404: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Infer `
|
|
2
|
+
* Infer `agent-sdk deploy` git source fields from a local checkout.
|
|
3
3
|
*
|
|
4
4
|
* From an agent directory inside a git repo with an `origin` remote, the
|
|
5
|
-
* CLI can fill `--repo` / `--ref` / `--path` so `
|
|
5
|
+
* CLI can fill `--repo` / `--ref` / `--path` so `agent-sdk deploy` (no
|
|
6
6
|
* flags) is enough. Explicit flags always win.
|
|
7
7
|
*/
|
|
8
8
|
/** Injectable git runner (cwd + args → stdout, or undefined on failure). */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Infer `
|
|
2
|
+
* Infer `agent-sdk deploy` git source fields from a local checkout.
|
|
3
3
|
*
|
|
4
4
|
* From an agent directory inside a git repo with an `origin` remote, the
|
|
5
|
-
* CLI can fill `--repo` / `--ref` / `--path` so `
|
|
5
|
+
* CLI can fill `--repo` / `--ref` / `--path` so `agent-sdk deploy` (no
|
|
6
6
|
* flags) is enough. Explicit flags always win.
|
|
7
7
|
*/
|
|
8
8
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
@@ -348,8 +348,8 @@ function resolveAgentCwd(ctx, authored) {
|
|
|
348
348
|
/**
|
|
349
349
|
* Validate the authored `hosting` block against the same grammar the
|
|
350
350
|
* backend enforces on deploy. Violations are warning diagnostics (reported
|
|
351
|
-
* by `
|
|
352
|
-
* authoritative and `
|
|
351
|
+
* by `agent-sdk validate`), not hard failures: the backend stays
|
|
352
|
+
* authoritative and `agent-sdk deploy` re-checks before any network call.
|
|
353
353
|
*/
|
|
354
354
|
function resolveHosting(ctx, agentDir, hosting) {
|
|
355
355
|
var _a, _b;
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* Distribution facts for the running copy of the framework.
|
|
3
3
|
*
|
|
4
4
|
* The package publishes to npm as `@cursor/july` (the pre-launch codename
|
|
5
|
-
* for
|
|
6
|
-
* legacy `agent-serve` alias) but
|
|
5
|
+
* for Agent SDK; bins: `july` for `npx @cursor/july`, `agent-sdk`, the
|
|
6
|
+
* older `agentkit`, and the legacy `agent-serve` alias) but
|
|
7
7
|
* the monorepo keeps its historical `@anysphere/agent-serve` import name
|
|
8
8
|
* working via tsconfig paths (source runs) and the runtime alias hooks
|
|
9
9
|
* (compiled runs). Everything that needs to print a package name, print a
|
|
10
10
|
* CLI command, or locate the package root goes through this module.
|
|
11
11
|
*/
|
|
12
|
-
/** Published npm package name (pre-launch codename for
|
|
12
|
+
/** Published npm package name (pre-launch codename for Agent SDK). */
|
|
13
13
|
export declare const PACKAGE_NAME = "@cursor/july";
|
|
14
14
|
/** Historical monorepo package name; never published, aliased at runtime. */
|
|
15
15
|
export declare const LEGACY_PACKAGE_NAME = "@anysphere/agent-serve";
|
|
@@ -20,9 +20,9 @@ export declare const LEGACY_PACKAGE_NAME = "@anysphere/agent-serve";
|
|
|
20
20
|
export declare const AGENTKIT_PACKAGE_NAME = "@cursor/agentkit";
|
|
21
21
|
/**
|
|
22
22
|
* Bracketed product tag for stderr / ServeOptions.logger lines
|
|
23
|
-
* (`[
|
|
23
|
+
* (`[agent-sdk] …`, `[agent-sdk/slack] …`).
|
|
24
24
|
*/
|
|
25
|
-
export declare const LOG_PRODUCT = "
|
|
25
|
+
export declare const LOG_PRODUCT = "agent-sdk";
|
|
26
26
|
export declare const LOG_PREFIX: string;
|
|
27
27
|
export declare const SLACK_LOG_PREFIX: string;
|
|
28
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/internal/distribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,
|
|
1
|
+
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/internal/distribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,sEAAsE;AACtE,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,eAAO,MAAM,UAAU,EAAE,MAA2B,CAAC;AACrD,eAAO,MAAM,gBAAgB,EAAE,MAAiC,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAA+B,CAAC;AAc/D;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAGhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,MAAM,CAOvC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAuBzC,CAAC"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Distribution facts for the running copy of the framework.
|
|
3
3
|
*
|
|
4
4
|
* The package publishes to npm as `@cursor/july` (the pre-launch codename
|
|
5
|
-
* for
|
|
6
|
-
* legacy `agent-serve` alias) but
|
|
5
|
+
* for Agent SDK; bins: `july` for `npx @cursor/july`, `agent-sdk`, the
|
|
6
|
+
* older `agentkit`, and the legacy `agent-serve` alias) but
|
|
7
7
|
* the monorepo keeps its historical `@anysphere/agent-serve` import name
|
|
8
8
|
* working via tsconfig paths (source runs) and the runtime alias hooks
|
|
9
9
|
* (compiled runs). Everything that needs to print a package name, print a
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { readFileSync } from "node:fs";
|
|
13
13
|
import { basename } from "node:path";
|
|
14
14
|
import { fileURLToPath } from "node:url";
|
|
15
|
-
/** Published npm package name (pre-launch codename for
|
|
15
|
+
/** Published npm package name (pre-launch codename for Agent SDK). */
|
|
16
16
|
export const PACKAGE_NAME = "@cursor/july";
|
|
17
17
|
/** Historical monorepo package name; never published, aliased at runtime. */
|
|
18
18
|
export const LEGACY_PACKAGE_NAME = "@anysphere/agent-serve";
|
|
@@ -23,9 +23,9 @@ export const LEGACY_PACKAGE_NAME = "@anysphere/agent-serve";
|
|
|
23
23
|
export const AGENTKIT_PACKAGE_NAME = "@cursor/agentkit";
|
|
24
24
|
/**
|
|
25
25
|
* Bracketed product tag for stderr / ServeOptions.logger lines
|
|
26
|
-
* (`[
|
|
26
|
+
* (`[agent-sdk] …`, `[agent-sdk/slack] …`).
|
|
27
27
|
*/
|
|
28
|
-
export const LOG_PRODUCT = "
|
|
28
|
+
export const LOG_PRODUCT = "agent-sdk";
|
|
29
29
|
export const LOG_PREFIX = `[${LOG_PRODUCT}]`;
|
|
30
30
|
export const SLACK_LOG_PREFIX = `[${LOG_PRODUCT}/slack]`;
|
|
31
31
|
/**
|
|
@@ -42,7 +42,7 @@ function detectCliCommandName() {
|
|
|
42
42
|
if (entry !== undefined && basename(entry) === "agent-serve") {
|
|
43
43
|
return "agent-serve";
|
|
44
44
|
}
|
|
45
|
-
return "
|
|
45
|
+
return "agent-sdk";
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* True when this module runs from compiled `dist/` output (a published
|
|
@@ -103,10 +103,10 @@ export function ensureDocsSiteBundle() {
|
|
|
103
103
|
}
|
|
104
104
|
const toolchain = resolveDocsToolchain();
|
|
105
105
|
if (toolchain === undefined) {
|
|
106
|
-
logger("[
|
|
106
|
+
logger("[agent-sdk] docs site missing and vitepress toolchain unavailable; /docs will show a build hint");
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
|
-
logger("[
|
|
109
|
+
logger("[agent-sdk] building docs site (vitepress)...");
|
|
110
110
|
const code = yield new Promise((resolve, reject) => {
|
|
111
111
|
const child = spawn(process.execPath, [toolchain.vitepressCli, "build", "docs"], { cwd: toolchain.packageRoot, env: process.env, stdio: "inherit" });
|
|
112
112
|
child.on("error", reject);
|
|
@@ -118,7 +118,7 @@ export function ensureDocsSiteBundle() {
|
|
|
118
118
|
if (!docsSiteExists()) {
|
|
119
119
|
throw new Error("docs vitepress build finished but dist/docs/index.html is missing");
|
|
120
120
|
}
|
|
121
|
-
logger("[
|
|
121
|
+
logger("[agent-sdk] docs site build complete");
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
/** True when docs sources + a resolvable `vitepress` CLI are present. */
|
|
@@ -161,8 +161,8 @@ function fallbackHtml() {
|
|
|
161
161
|
<div class="box">
|
|
162
162
|
<h1>Docs site not built</h1>
|
|
163
163
|
<p>
|
|
164
|
-
The documentation site has not been built yet. <code>
|
|
165
|
-
and <code>
|
|
164
|
+
The documentation site has not been built yet. <code>agent-sdk serve</code>
|
|
165
|
+
and <code>agent-sdk docs</code> auto-build it when the vitepress toolchain
|
|
166
166
|
is available; otherwise run <code>pnpm run docs:build</code> from
|
|
167
167
|
<code>packages/agent-serve</code>. The markdown sources are always
|
|
168
168
|
readable under <code>docs/</code>.
|