@cursor/july 0.1.102 → 0.1.103
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 +34 -32
- package/README.md +10 -12
- package/dist/ab.d.ts +1 -1
- package/dist/ab.js +1 -1
- package/dist/bin/agent-serve.d.ts +12 -12
- package/dist/bin/agent-serve.js +114 -36
- package/dist/channels/bitbucket/api.d.ts +176 -0
- package/dist/channels/bitbucket/api.d.ts.map +1 -0
- package/dist/channels/bitbucket/api.js +419 -0
- package/dist/channels/bitbucket/binding.d.ts +71 -0
- package/dist/channels/bitbucket/binding.d.ts.map +1 -0
- package/dist/channels/bitbucket/binding.js +269 -0
- package/dist/channels/bitbucket/bitbucket-channel.d.ts +33 -0
- package/dist/channels/bitbucket/bitbucket-channel.d.ts.map +1 -0
- package/dist/channels/bitbucket/bitbucket-channel.js +120 -0
- package/dist/channels/bitbucket/bitbucket-webhook.d.ts +61 -0
- package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -0
- package/dist/channels/bitbucket/bitbucket-webhook.js +394 -0
- package/dist/channels/bitbucket/checks.d.ts +67 -0
- package/dist/channels/bitbucket/checks.d.ts.map +1 -0
- package/dist/channels/bitbucket/checks.js +102 -0
- package/dist/channels/bitbucket/cursor-account.d.ts +37 -0
- package/dist/channels/bitbucket/cursor-account.d.ts.map +1 -0
- package/dist/channels/bitbucket/cursor-account.js +65 -0
- package/dist/channels/bitbucket/defaults.d.ts +26 -0
- package/dist/channels/bitbucket/defaults.d.ts.map +1 -0
- package/dist/channels/bitbucket/defaults.js +73 -0
- package/dist/channels/bitbucket/events.d.ts +22 -0
- package/dist/channels/bitbucket/events.d.ts.map +1 -0
- package/dist/channels/bitbucket/events.js +64 -0
- package/dist/channels/bitbucket/index.d.ts +34 -0
- package/dist/channels/bitbucket/index.d.ts.map +1 -0
- package/dist/channels/bitbucket/index.js +33 -0
- package/dist/channels/bitbucket/replay.d.ts +63 -0
- package/dist/channels/bitbucket/replay.d.ts.map +1 -0
- package/dist/channels/bitbucket/replay.js +304 -0
- package/dist/channels/bitbucket/state.d.ts +35 -0
- package/dist/channels/bitbucket/state.d.ts.map +1 -0
- package/dist/channels/bitbucket/state.js +21 -0
- package/dist/channels/bitbucket/types.d.ts +229 -0
- package/dist/channels/bitbucket/types.d.ts.map +1 -0
- package/dist/channels/bitbucket/types.js +1 -0
- package/dist/channels/deployments/deployments-channel.d.ts +22 -14
- package/dist/channels/deployments/deployments-channel.d.ts.map +1 -1
- package/dist/channels/deployments/deployments-channel.js +25 -27
- package/dist/channels/deployments/types.d.ts +12 -6
- package/dist/channels/deployments/types.d.ts.map +1 -1
- package/dist/channels/github/binding.d.ts +6 -0
- package/dist/channels/github/binding.d.ts.map +1 -1
- package/dist/channels/github/binding.js +3 -3
- package/dist/channels/github/cursor-account.d.ts +7 -3
- package/dist/channels/github/cursor-account.d.ts.map +1 -1
- package/dist/channels/github/cursor-account.js +10 -6
- package/dist/channels/github/events.d.ts +1 -1
- package/dist/channels/github/events.js +1 -1
- package/dist/channels/github/forward.d.ts +1 -1
- package/dist/channels/github/forward.d.ts.map +1 -1
- package/dist/channels/github/forward.js +3 -2
- package/dist/channels/github/github-channel.d.ts +29 -39
- package/dist/channels/github/github-channel.d.ts.map +1 -1
- package/dist/channels/github/github-channel.js +68 -101
- package/dist/channels/github/replay.d.ts +1 -1
- package/dist/channels/github/replay.js +1 -1
- package/dist/channels/github/state.d.ts +2 -0
- package/dist/channels/github/state.d.ts.map +1 -1
- package/dist/channels/github/state.js +14 -11
- package/dist/channels/github/types.d.ts +2 -4
- package/dist/channels/github/types.d.ts.map +1 -1
- package/dist/channels/gitlab/api.d.ts +91 -0
- package/dist/channels/gitlab/api.d.ts.map +1 -0
- package/dist/channels/gitlab/api.js +150 -0
- package/dist/channels/gitlab/binding.d.ts +58 -0
- package/dist/channels/gitlab/binding.d.ts.map +1 -0
- package/dist/channels/gitlab/binding.js +139 -0
- package/dist/channels/gitlab/checks.d.ts +110 -0
- package/dist/channels/gitlab/checks.d.ts.map +1 -0
- package/dist/channels/gitlab/checks.js +126 -0
- package/dist/channels/gitlab/cursor-account.d.ts +36 -0
- package/dist/channels/gitlab/cursor-account.d.ts.map +1 -0
- package/dist/channels/gitlab/cursor-account.js +65 -0
- package/dist/channels/gitlab/defaults.d.ts +25 -0
- package/dist/channels/gitlab/defaults.d.ts.map +1 -0
- package/dist/channels/gitlab/defaults.js +60 -0
- package/dist/channels/gitlab/events.d.ts +12 -0
- package/dist/channels/gitlab/events.d.ts.map +1 -0
- package/dist/channels/gitlab/events.js +28 -0
- package/dist/channels/gitlab/gitlab-channel.d.ts +33 -0
- package/dist/channels/gitlab/gitlab-channel.d.ts.map +1 -0
- package/dist/channels/gitlab/gitlab-channel.js +120 -0
- package/dist/channels/gitlab/gitlab-webhook.d.ts +45 -0
- package/dist/channels/gitlab/gitlab-webhook.d.ts.map +1 -0
- package/dist/channels/gitlab/gitlab-webhook.js +397 -0
- package/dist/channels/gitlab/index.d.ts +31 -0
- package/dist/channels/gitlab/index.d.ts.map +1 -0
- package/dist/channels/gitlab/index.js +30 -0
- package/dist/channels/gitlab/replay.d.ts +105 -0
- package/dist/channels/gitlab/replay.d.ts.map +1 -0
- package/dist/channels/gitlab/replay.js +206 -0
- package/dist/channels/gitlab/state.d.ts +33 -0
- package/dist/channels/gitlab/state.d.ts.map +1 -0
- package/dist/channels/gitlab/state.js +23 -0
- package/dist/channels/gitlab/types.d.ts +214 -0
- package/dist/channels/gitlab/types.d.ts.map +1 -0
- package/dist/channels/gitlab/types.js +1 -0
- package/dist/channels/origin/api.d.ts.map +1 -1
- package/dist/channels/origin/api.js +4 -2
- package/dist/channels/origin/origin-channel.d.ts +4 -9
- package/dist/channels/origin/origin-channel.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.js +8 -48
- package/dist/channels/origin/types.d.ts +20 -2
- package/dist/channels/origin/types.d.ts.map +1 -1
- package/dist/channels/slack/eval-directive.d.ts.map +1 -1
- package/dist/channels/slack/eval-directive.js +1 -7
- package/dist/channels/slack/init.d.ts.map +1 -1
- package/dist/channels/slack/init.js +3 -3
- package/dist/channels/slack/setup.d.ts +1 -1
- package/dist/channels/slack/setup.d.ts.map +1 -1
- package/dist/channels/slack/setup.js +6 -13
- package/dist/channels/slack/types.d.ts +1 -1
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/channels.d.ts +1 -1
- package/dist/channels.d.ts.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +1 -1
- package/dist/connections.d.ts +1 -1
- package/dist/connections.js +1 -1
- package/dist/docs/404.html +2 -2
- package/dist/docs/ab.html +4 -4
- package/dist/docs/assets/{app.CLA03RCz.js → app.DW9pXkpL.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.nrl1ifBq.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.ifxv-cJV.js → VPLocalSearchBox.CdEIUwDg.js} +1 -1
- package/dist/docs/assets/chunks/{theme.DWCwM6p-.js → theme.YZMHgPgg.js} +2 -2
- package/dist/docs/assets/concepts.md.DgEcZOfT.js +1 -0
- package/dist/docs/assets/{concepts.md.rPzW2HZN.lean.js → concepts.md.DgEcZOfT.lean.js} +1 -1
- package/dist/docs/assets/{evals.md.CPzDAwoH.js → evals.md.CbMoebP1.js} +1 -1
- package/dist/docs/assets/guides_cloud-agents.md.DS8RIjwx.js +9 -0
- package/dist/docs/assets/{guides_github.md.BtPr9GaP.js → guides_github.md.DKYiT9do.js} +1 -1
- package/dist/docs/assets/{guides_opentelemetry.md.BVTXDCRg.js → guides_opentelemetry.md.COh9jFVg.js} +7 -8
- package/dist/docs/assets/{guides_opentelemetry.md.BVTXDCRg.lean.js → guides_opentelemetry.md.COh9jFVg.lean.js} +1 -1
- package/dist/docs/assets/{index.md.Kiht7ell.js → index.md.D75GWhPl.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.BHeYMgme.js → reference_agent-config.md.CHNpiyp4.js} +3 -3
- package/dist/docs/assets/{reference_channels.md.Cd2f2iyV.js → reference_channels.md.Dz8Cnudp.js} +2 -2
- package/dist/docs/assets/{reference_channels.md.Cd2f2iyV.lean.js → reference_channels.md.Dz8Cnudp.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.DfoeyvL0.js → reference_cli.md.CJNc_xYK.js} +1 -1
- package/dist/docs/assets/{reference_extensions.md.9WQMZe1l.js → reference_extensions.md.DykHW3qL.js} +11 -5
- package/dist/docs/assets/reference_extensions.md.DykHW3qL.lean.js +1 -0
- package/dist/docs/assets/reference_hooks.md.Ddt5DdgJ.js +73 -0
- package/dist/docs/assets/{reference_hooks.md.a8BJxMR5.lean.js → reference_hooks.md.Ddt5DdgJ.lean.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.DnX5nL-B.js → reference_playground.md.4myJPxrf.js} +1 -1
- package/dist/docs/assets/{reference_project-layout.md.CA6QP6Lw.js → reference_project-layout.md.DuBu9a96.js} +2 -2
- package/dist/docs/assets/reference_result.md.BK5SxDrf.js +19 -0
- package/dist/docs/assets/reference_result.md.BK5SxDrf.lean.js +1 -0
- package/dist/docs/assets/{reference_sessions.md.NxFP_CAC.js → reference_sessions.md.CueyOHSL.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.NxFP_CAC.lean.js → reference_sessions.md.CueyOHSL.lean.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.B1up2r9W.js → reference_tools.md.aGrn99hP.js} +1 -1
- package/dist/docs/assets/skills_framework-map.md.haibFyoB.js +1 -0
- package/dist/docs/assets/{skills_otel.md.CgiZryR3.js → skills_otel.md.CqhobH3B.js} +3 -3
- package/dist/docs/assets/{skills_otel.md.CgiZryR3.lean.js → skills_otel.md.CqhobH3B.lean.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.x5zl6-GT.js → templates_pr-autofixer.md.Bds_XWcV.js} +2 -2
- package/dist/docs/assets/{templates_pr-autofixer.md.x5zl6-GT.lean.js → templates_pr-autofixer.md.Bds_XWcV.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +4 -4
- package/dist/docs/concepts.html +5 -5
- package/dist/docs/concepts.md +2 -4
- package/dist/docs/deployment.html +4 -4
- package/dist/docs/design/runtime-abstraction.md +2 -3
- package/dist/docs/evals.html +6 -6
- package/dist/docs/evals.md +9 -7
- package/dist/docs/guides/agent-to-agent.html +4 -4
- package/dist/docs/guides/cloud-agents.html +6 -6
- package/dist/docs/guides/cloud-agents.md +4 -6
- package/dist/docs/guides/convert-automation.html +4 -4
- package/dist/docs/guides/github.html +6 -6
- package/dist/docs/guides/github.md +0 -1
- package/dist/docs/guides/human-in-the-loop.html +4 -4
- package/dist/docs/guides/mcp-oauth.html +5 -5
- package/dist/docs/guides/opentelemetry.html +10 -11
- package/dist/docs/guides/opentelemetry.md +41 -17
- package/dist/docs/guides/slack.html +4 -4
- package/dist/docs/guides/webhooks.html +4 -4
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +4 -4
- package/dist/docs/index.html +6 -6
- package/dist/docs/index.md +2 -2
- package/dist/docs/llms-full.txt +501 -262
- package/dist/docs/llms.txt +2 -2
- package/dist/docs/quickstart.html +4 -4
- package/dist/docs/reference/agent-config.html +8 -8
- package/dist/docs/reference/agent-config.md +6 -10
- package/dist/docs/reference/artifacts.html +5 -5
- package/dist/docs/reference/channels.html +6 -6
- package/dist/docs/reference/channels.md +18 -8
- package/dist/docs/reference/cli.html +5 -5
- package/dist/docs/reference/cli.md +3 -4
- package/dist/docs/reference/connections.html +4 -4
- package/dist/docs/reference/extensions.html +16 -10
- package/dist/docs/reference/extensions.md +86 -22
- package/dist/docs/reference/hooks.html +69 -10
- package/dist/docs/reference/hooks.md +215 -46
- package/dist/docs/reference/http-api.html +4 -4
- package/dist/docs/reference/instructions.html +4 -4
- package/dist/docs/reference/playground.html +5 -5
- package/dist/docs/reference/playground.md +3 -0
- package/dist/docs/reference/project-layout.html +6 -6
- package/dist/docs/reference/project-layout.md +2 -1
- package/dist/docs/reference/prompt.html +4 -4
- package/dist/docs/reference/result.html +45 -0
- package/dist/docs/reference/result.md +89 -0
- package/dist/docs/reference/schedules.html +4 -4
- package/dist/docs/reference/sessions.html +5 -5
- package/dist/docs/reference/sessions.md +3 -1
- package/dist/docs/reference/skills.html +4 -4
- package/dist/docs/reference/subagents.html +4 -4
- package/dist/docs/reference/tools.html +5 -5
- package/dist/docs/reference/tools.md +1 -2
- package/dist/docs/scaffolding-agents.html +4 -4
- package/dist/docs/skills/ab.html +4 -4
- package/dist/docs/skills/create-agent.html +4 -4
- package/dist/docs/skills/debug.html +4 -4
- package/dist/docs/skills/evals.html +4 -4
- package/dist/docs/skills/framework-map.html +5 -5
- package/dist/docs/skills/framework-map.md +3 -1
- package/dist/docs/skills/github.html +4 -4
- package/dist/docs/skills/hillclimb.html +4 -4
- package/dist/docs/skills/index.html +4 -4
- package/dist/docs/skills/mcp-auth.html +4 -4
- package/dist/docs/skills/otel.html +7 -7
- package/dist/docs/skills/otel.md +8 -3
- package/dist/docs/skills/setup-slack.html +4 -4
- package/dist/docs/storage.html +4 -4
- package/dist/docs/templates/agentic-owners.html +4 -4
- package/dist/docs/templates/agents-md.html +4 -4
- package/dist/docs/templates/code-wiki.html +4 -4
- package/dist/docs/templates/demo.html +4 -4
- package/dist/docs/templates/pr-autofixer.html +6 -6
- package/dist/docs/templates/pr-autofixer.md +0 -3
- package/dist/docs/templates/security-help.html +4 -4
- package/dist/docs/templates/security-reviewer.html +4 -4
- package/dist/docs/templates/triage.html +4 -4
- package/dist/docs/troubleshooting.html +4 -4
- package/dist/evals.d.ts +1 -1
- package/dist/evals.d.ts.map +1 -1
- package/dist/extensions.d.ts +20 -7
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +36 -5
- package/dist/files.d.ts +16 -3
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +16 -3
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/internal/ab-snapshot.d.ts.map +1 -1
- package/dist/internal/ab-snapshot.js +0 -1
- package/dist/internal/advertise-tools.d.ts.map +1 -1
- package/dist/internal/advertise-tools.js +1 -3
- package/dist/internal/authored-alias-hooks.d.ts +4 -13
- package/dist/internal/authored-alias-hooks.d.ts.map +1 -1
- package/dist/internal/authored-alias-hooks.js +4 -20
- package/dist/internal/authored-loaders.d.ts +2 -3
- package/dist/internal/authored-loaders.d.ts.map +1 -1
- package/dist/internal/authored-loaders.js +6 -20
- package/dist/internal/channel-dispatch.d.ts +43 -0
- package/dist/internal/channel-dispatch.d.ts.map +1 -0
- package/dist/internal/channel-dispatch.js +77 -0
- package/dist/internal/chat-client.d.ts +1 -1
- package/dist/internal/chat-client.js +1 -1
- package/dist/internal/cli-ax.d.ts +5 -5
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +5 -5
- package/dist/internal/cli-bitbucket.d.ts +33 -0
- package/dist/internal/cli-bitbucket.d.ts.map +1 -0
- package/dist/internal/cli-bitbucket.js +359 -0
- package/dist/internal/cli-convert-automation.d.ts +1 -1
- package/dist/internal/cli-convert-automation.js +2 -2
- package/dist/internal/cli-cursor.d.ts +1 -1
- package/dist/internal/cli-cursor.d.ts.map +1 -1
- package/dist/internal/cli-cursor.js +2 -4
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +2 -6
- package/dist/internal/cli-github.d.ts +1 -1
- package/dist/internal/cli-github.js +3 -3
- package/dist/internal/cli-gitlab.d.ts +37 -0
- package/dist/internal/cli-gitlab.d.ts.map +1 -0
- package/dist/internal/cli-gitlab.js +380 -0
- package/dist/internal/cli-mcp.d.ts.map +1 -1
- package/dist/internal/cli-mcp.js +2 -6
- package/dist/internal/cli-slack.d.ts +1 -1
- package/dist/internal/cli-slack.d.ts.map +1 -1
- package/dist/internal/cli-slack.js +2 -4
- package/dist/internal/continuation-channel.d.ts +14 -0
- package/dist/internal/continuation-channel.d.ts.map +1 -1
- package/dist/internal/continuation-channel.js +56 -3
- package/dist/internal/continuation-identity.d.ts +14 -15
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +182 -7
- package/dist/internal/conversation-mirror.d.ts.map +1 -1
- package/dist/internal/conversation-mirror.js +4 -3
- package/dist/internal/convert-automation/types.d.ts +1 -1
- package/dist/internal/convert-automation/types.js +1 -1
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +1 -3
- package/dist/internal/cursor/backend-client.d.ts +5 -4
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +5 -6
- package/dist/internal/cursor/bound-secret-file.d.ts +56 -0
- package/dist/internal/cursor/bound-secret-file.d.ts.map +1 -0
- package/dist/internal/cursor/bound-secret-file.js +88 -0
- package/dist/internal/cursor/credentials.d.ts +39 -5
- package/dist/internal/cursor/credentials.d.ts.map +1 -1
- package/dist/internal/cursor/credentials.js +58 -8
- package/dist/internal/cursor/hosted-bound-secrets.d.ts +41 -0
- package/dist/internal/cursor/hosted-bound-secrets.d.ts.map +1 -0
- package/dist/internal/cursor/hosted-bound-secrets.js +54 -0
- package/dist/internal/cursor/hosted-deployment-secrets.d.ts +19 -5
- package/dist/internal/cursor/hosted-deployment-secrets.d.ts.map +1 -1
- package/dist/internal/cursor/hosted-deployment-secrets.js +29 -9
- package/dist/internal/cursor/hosted-store-secrets.d.ts +1 -1
- package/dist/internal/cursor/hosted-store-secrets.js +1 -1
- package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -1
- package/dist/internal/cursor-account-mcp-auth.js +2 -4
- package/dist/internal/cursor-deployment-relay.d.ts +6 -2
- package/dist/internal/cursor-deployment-relay.d.ts.map +1 -1
- package/dist/internal/cursor-deployment-relay.js +13 -9
- package/dist/internal/deploy-manifest.d.ts +1 -1
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +1 -1
- package/dist/internal/discovery/ab.d.ts +1 -1
- package/dist/internal/discovery/ab.d.ts.map +1 -1
- package/dist/internal/discovery/ab.js +21 -9
- package/dist/internal/discovery/agent.d.ts +6 -1
- package/dist/internal/discovery/agent.d.ts.map +1 -1
- package/dist/internal/discovery/agent.js +65 -116
- package/dist/internal/discovery/channels.d.ts +1 -1
- package/dist/internal/discovery/channels.d.ts.map +1 -1
- package/dist/internal/discovery/channels.js +14 -14
- package/dist/internal/discovery/connections.d.ts +1 -5
- package/dist/internal/discovery/connections.d.ts.map +1 -1
- package/dist/internal/discovery/connections.js +30 -44
- package/dist/internal/discovery/cursor-plugin.d.ts.map +1 -1
- package/dist/internal/discovery/cursor-plugin.js +1 -3
- package/dist/internal/discovery/extension-overlay.d.ts +32 -0
- package/dist/internal/discovery/extension-overlay.d.ts.map +1 -0
- package/dist/internal/discovery/extension-overlay.js +191 -0
- package/dist/internal/discovery/extensions.d.ts +11 -2
- package/dist/internal/discovery/extensions.d.ts.map +1 -1
- package/dist/internal/discovery/extensions.js +211 -74
- package/dist/internal/discovery/hooks.d.ts +1 -1
- package/dist/internal/discovery/hooks.d.ts.map +1 -1
- package/dist/internal/discovery/hooks.js +15 -2
- package/dist/internal/discovery/info.d.ts.map +1 -1
- package/dist/internal/discovery/info.js +7 -1
- package/dist/internal/discovery/modules.d.ts.map +1 -1
- package/dist/internal/discovery/modules.js +8 -2
- package/dist/internal/discovery/names.d.ts +1 -1
- package/dist/internal/discovery/names.d.ts.map +1 -1
- package/dist/internal/discovery/names.js +1 -0
- package/dist/internal/discovery/project.d.ts +0 -2
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +64 -10
- package/dist/internal/discovery/runtime.d.ts.map +1 -1
- package/dist/internal/discovery/runtime.js +1 -2
- package/dist/internal/discovery/schedules.d.ts +1 -1
- package/dist/internal/discovery/schedules.d.ts.map +1 -1
- package/dist/internal/discovery/schedules.js +23 -2
- package/dist/internal/discovery/services.d.ts +6 -2
- package/dist/internal/discovery/services.d.ts.map +1 -1
- package/dist/internal/discovery/services.js +31 -1
- package/dist/internal/discovery/skills.d.ts +1 -6
- package/dist/internal/discovery/skills.d.ts.map +1 -1
- package/dist/internal/discovery/skills.js +8 -3
- package/dist/internal/discovery/subagent.d.ts +3 -0
- package/dist/internal/discovery/subagent.d.ts.map +1 -1
- package/dist/internal/discovery/subagent.js +109 -0
- package/dist/internal/discovery.d.ts +1 -2
- package/dist/internal/discovery.d.ts.map +1 -1
- package/dist/internal/discovery.js +1 -2
- package/dist/internal/distribution.d.ts +10 -27
- package/dist/internal/distribution.d.ts.map +1 -1
- package/dist/internal/distribution.js +25 -73
- package/dist/internal/docs-site.js +1 -1
- package/dist/internal/eval-run-store.d.ts +0 -1
- package/dist/internal/eval-run-store.d.ts.map +1 -1
- package/dist/internal/eval-runner.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.d.ts +8 -0
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +8 -8
- package/dist/internal/github-fanout.d.ts +1 -1
- package/dist/internal/github-fanout.js +1 -1
- package/dist/internal/guest-network.d.ts +101 -0
- package/dist/internal/guest-network.d.ts.map +1 -0
- package/dist/internal/guest-network.js +304 -0
- package/dist/internal/host-otel.d.ts +3 -3
- package/dist/internal/host-otel.d.ts.map +1 -1
- package/dist/internal/host-otel.js +8 -4
- package/dist/internal/hosted-admission-adapter.d.ts +8 -7
- package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.d.ts +6 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.js +18 -5
- package/dist/internal/hosted-delivery.d.ts +18 -0
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +248 -118
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +1 -3
- package/dist/internal/init-interview.d.ts.map +1 -1
- package/dist/internal/init-interview.js +1 -3
- package/dist/internal/init-project.d.ts +2 -2
- package/dist/internal/init-project.js +2 -2
- package/dist/internal/inline-stdio-define-stub.d.ts +1 -1
- package/dist/internal/inline-stdio-define-stub.d.ts.map +1 -1
- package/dist/internal/inline-stdio-define-stub.js +1 -1
- package/dist/internal/is-record.d.ts +2 -0
- package/dist/internal/is-record.d.ts.map +1 -0
- package/dist/internal/is-record.js +3 -0
- package/dist/internal/json-schema.d.ts.map +1 -1
- package/dist/internal/json-schema.js +18 -10
- package/dist/internal/local-control-plane.d.ts +1 -2
- package/dist/internal/local-control-plane.d.ts.map +1 -1
- package/dist/internal/local-control-plane.js +3 -20
- package/dist/internal/mcp-endpoint.d.ts.map +1 -1
- package/dist/internal/mcp-endpoint.js +1 -3
- package/dist/internal/otel/collector.d.ts +12 -3
- package/dist/internal/otel/collector.d.ts.map +1 -1
- package/dist/internal/otel/collector.js +77 -125
- package/dist/internal/otel/config.d.ts +0 -2
- package/dist/internal/otel/config.d.ts.map +1 -1
- package/dist/internal/otel/config.js +17 -20
- package/dist/internal/otel/http.d.ts +2 -0
- package/dist/internal/otel/http.d.ts.map +1 -1
- package/dist/internal/otel/http.js +7 -1
- package/dist/internal/otel/mcp.d.ts.map +1 -1
- package/dist/internal/otel/mcp.js +3 -16
- package/dist/internal/otel/runtime.d.ts +26 -1
- package/dist/internal/otel/runtime.d.ts.map +1 -1
- package/dist/internal/otel/runtime.js +164 -15
- package/dist/internal/package-inline-stdio.d.ts.map +1 -1
- package/dist/internal/package-inline-stdio.js +3 -11
- package/dist/internal/playground/toolchain.d.ts +1 -1
- package/dist/internal/playground/toolchain.d.ts.map +1 -1
- package/dist/internal/playground/toolchain.js +1 -1
- package/dist/internal/request-error-status.d.ts +12 -0
- package/dist/internal/request-error-status.d.ts.map +1 -0
- package/dist/internal/request-error-status.js +52 -0
- package/dist/internal/resolve-prod-target.d.ts +1 -1
- package/dist/internal/resolve-prod-target.d.ts.map +1 -1
- package/dist/internal/resolve-prod-target.js +3 -7
- package/dist/internal/result-output.d.ts +18 -0
- package/dist/internal/result-output.d.ts.map +1 -0
- package/dist/internal/result-output.js +33 -0
- package/dist/internal/run-client.d.ts +2 -2
- package/dist/internal/run-client.js +2 -2
- package/dist/internal/runtime-dispatch-runner.d.ts +1 -11
- package/dist/internal/runtime-dispatch-runner.d.ts.map +1 -1
- package/dist/internal/runtime-dispatch-runner.js +2 -15
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +3 -6
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +110 -35
- package/dist/internal/session-cost.d.ts +3 -3
- package/dist/internal/session-cost.d.ts.map +1 -1
- package/dist/internal/session-cost.js +3 -3
- package/dist/internal/session-engine.d.ts +26 -11
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +146 -76
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +1 -3
- package/dist/internal/skills-sync.d.ts +1 -4
- package/dist/internal/skills-sync.d.ts.map +1 -1
- package/dist/internal/skills-sync.js +10 -50
- package/dist/internal/sleep.d.ts +2 -0
- package/dist/internal/sleep.d.ts.map +1 -0
- package/dist/internal/sleep.js +3 -0
- package/dist/internal/store-mirror.d.ts +29 -0
- package/dist/internal/store-mirror.d.ts.map +1 -0
- package/dist/internal/store-mirror.js +70 -0
- package/dist/internal/tenant-slack/relay.d.ts +73 -0
- package/dist/internal/tenant-slack/relay.d.ts.map +1 -0
- package/dist/internal/tenant-slack/relay.js +138 -0
- package/dist/internal/testing/scm-continuation-fixtures.d.ts +33 -0
- package/dist/internal/testing/scm-continuation-fixtures.d.ts.map +1 -0
- package/dist/internal/testing/scm-continuation-fixtures.js +253 -0
- package/dist/internal/workspace-sync.d.ts +22 -0
- package/dist/internal/workspace-sync.d.ts.map +1 -0
- package/dist/internal/workspace-sync.js +49 -0
- package/dist/internal/workspace.d.ts +7 -0
- package/dist/internal/workspace.d.ts.map +1 -1
- package/dist/internal/workspace.js +13 -0
- package/dist/otel.d.ts +23 -1
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +93 -2
- package/dist/playground/assets/index-59KvgREd.js +67 -0
- package/dist/playground/assets/index-MbMxXg-y.css +1 -0
- package/dist/playground/index.html +2 -2
- package/dist/result.d.ts +24 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +27 -0
- package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted.js +7 -4
- package/dist/storage-protocol.d.ts.map +1 -1
- package/dist/storage-protocol.js +1 -3
- package/dist/types.d.ts +90 -23
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +2 -2
- package/docs/concepts.md +2 -4
- package/docs/design/runtime-abstraction.md +2 -3
- package/docs/evals.md +9 -7
- package/docs/guides/cloud-agents.md +4 -6
- package/docs/guides/github.md +0 -1
- package/docs/guides/opentelemetry.md +41 -17
- package/docs/reference/agent-config.md +6 -10
- package/docs/reference/channels.md +18 -8
- package/docs/reference/cli.md +3 -4
- package/docs/reference/extensions.md +87 -23
- package/docs/reference/hooks.md +215 -46
- package/docs/reference/playground.md +3 -0
- package/docs/reference/project-layout.md +2 -1
- package/docs/reference/result.md +94 -0
- package/docs/reference/sessions.md +3 -1
- package/docs/reference/tools.md +1 -2
- package/docs/templates/pr-autofixer.md +0 -3
- package/package.json +29 -10
- package/skills/framework-map/SKILL.md +3 -1
- package/skills/otel/SKILL.md +8 -3
- package/src/ab.ts +1 -1
- package/src/bin/agent-serve.ts +121 -21
- package/src/channels/bitbucket/api.ts +623 -0
- package/src/channels/bitbucket/binding.ts +414 -0
- package/src/channels/bitbucket/bitbucket-channel.ts +182 -0
- package/src/channels/bitbucket/bitbucket-webhook.ts +576 -0
- package/src/channels/bitbucket/checks.ts +154 -0
- package/src/channels/bitbucket/cursor-account.ts +117 -0
- package/src/channels/bitbucket/defaults.ts +110 -0
- package/src/channels/bitbucket/events.ts +84 -0
- package/src/channels/bitbucket/index.ts +49 -0
- package/src/channels/bitbucket/replay.ts +439 -0
- package/src/channels/bitbucket/state.ts +59 -0
- package/src/channels/bitbucket/types.ts +266 -0
- package/src/channels/deployments/deployments-channel.ts +25 -43
- package/src/channels/deployments/types.ts +12 -6
- package/src/channels/github/binding.ts +8 -1
- package/src/channels/github/cursor-account.ts +17 -6
- package/src/channels/github/events.ts +1 -1
- package/src/channels/github/forward.ts +3 -2
- package/src/channels/github/github-channel.ts +74 -221
- package/src/channels/github/replay.ts +1 -1
- package/src/channels/github/state.ts +6 -0
- package/src/channels/github/types.ts +2 -5
- package/src/channels/gitlab/api.ts +228 -0
- package/src/channels/gitlab/binding.ts +233 -0
- package/src/channels/gitlab/checks.ts +243 -0
- package/src/channels/gitlab/cursor-account.ts +114 -0
- package/src/channels/gitlab/defaults.ts +93 -0
- package/src/channels/gitlab/events.ts +44 -0
- package/src/channels/gitlab/gitlab-channel.ts +176 -0
- package/src/channels/gitlab/gitlab-webhook.ts +555 -0
- package/src/channels/gitlab/index.ts +43 -0
- package/src/channels/gitlab/replay.ts +347 -0
- package/src/channels/gitlab/state.ts +55 -0
- package/src/channels/gitlab/types.ts +263 -0
- package/src/channels/origin/api.ts +4 -2
- package/src/channels/origin/origin-channel.ts +19 -94
- package/src/channels/origin/types.ts +23 -2
- package/src/channels/slack/eval-directive.ts +1 -6
- package/src/channels/slack/init.ts +6 -3
- package/src/channels/slack/setup.ts +7 -6
- package/src/channels/slack/types.ts +1 -1
- package/src/channels.ts +0 -1
- package/src/client.ts +1 -1
- package/src/connections.ts +1 -1
- package/src/evals.ts +1 -1
- package/src/extensions.ts +47 -5
- package/src/files.ts +21 -3
- package/src/index.ts +20 -28
- package/src/internal/ab-snapshot.ts +0 -3
- package/src/internal/advertise-tools.ts +1 -4
- package/src/internal/authored-alias-hooks.ts +4 -21
- package/src/internal/authored-loaders.ts +6 -23
- package/src/internal/channel-dispatch.ts +160 -0
- package/src/internal/chat-client.ts +1 -1
- package/src/internal/cli-ax.ts +5 -5
- package/src/internal/cli-bitbucket.ts +477 -0
- package/src/internal/cli-convert-automation.ts +7 -7
- package/src/internal/cli-cursor.ts +2 -5
- package/src/internal/cli-deploy.ts +2 -8
- package/src/internal/cli-github.ts +3 -3
- package/src/internal/cli-gitlab.ts +485 -0
- package/src/internal/cli-mcp.ts +2 -7
- package/src/internal/cli-slack.ts +2 -5
- package/src/internal/continuation-channel.ts +82 -1
- package/src/internal/continuation-identity.ts +229 -11
- package/src/internal/conversation-mirror.ts +4 -3
- package/src/internal/convert-automation/types.ts +1 -1
- package/src/internal/cursor/account-mcp.ts +1 -4
- package/src/internal/cursor/backend-client.ts +9 -10
- package/src/internal/cursor/bound-secret-file.ts +108 -0
- package/src/internal/cursor/credentials.ts +75 -10
- package/src/internal/cursor/hosted-bound-secrets.ts +75 -0
- package/src/internal/cursor/hosted-deployment-secrets.ts +42 -11
- package/src/internal/cursor/hosted-store-secrets.ts +1 -1
- package/src/internal/cursor-account-mcp-auth.ts +2 -5
- package/src/internal/cursor-deployment-relay.ts +11 -7
- package/src/internal/deploy-manifest.ts +4 -2
- package/src/internal/discovery/ab.ts +29 -9
- package/src/internal/discovery/agent.ts +94 -135
- package/src/internal/discovery/channels.ts +15 -13
- package/src/internal/discovery/connections.ts +55 -50
- package/src/internal/discovery/cursor-plugin.ts +1 -4
- package/src/internal/discovery/extension-overlay.ts +274 -0
- package/src/internal/discovery/extensions.ts +330 -105
- package/src/internal/discovery/hooks.ts +20 -2
- package/src/internal/discovery/info.ts +7 -0
- package/src/internal/discovery/modules.ts +8 -2
- package/src/internal/discovery/names.ts +2 -1
- package/src/internal/discovery/project.ts +80 -9
- package/src/internal/discovery/runtime.ts +1 -2
- package/src/internal/discovery/schedules.ts +28 -2
- package/src/internal/discovery/services.ts +37 -1
- package/src/internal/discovery/skills.ts +13 -3
- package/src/internal/discovery/subagent.ts +107 -0
- package/src/internal/discovery.ts +0 -2
- package/src/internal/distribution.ts +35 -83
- package/src/internal/docs-site.ts +1 -1
- package/src/internal/eval-run-store.ts +0 -7
- package/src/internal/eval-runner.ts +0 -1
- package/src/internal/framework-file-storage.ts +8 -8
- package/src/internal/github-fanout.ts +1 -1
- package/src/internal/guest-network.ts +383 -0
- package/src/internal/host-otel.ts +8 -4
- package/src/internal/hosted-admission-adapter.ts +8 -8
- package/src/internal/hosted-delivery-protocol.ts +26 -1
- package/src/internal/hosted-delivery.ts +376 -192
- package/src/internal/http-channel.ts +1 -4
- package/src/internal/init-interview.ts +1 -4
- package/src/internal/init-project.ts +2 -2
- package/src/internal/inline-stdio-define-stub.ts +1 -1
- package/src/internal/is-record.ts +3 -0
- package/src/internal/json-schema.ts +19 -10
- package/src/internal/local-control-plane.ts +5 -24
- package/src/internal/mcp-endpoint.ts +1 -4
- package/src/internal/otel/collector.ts +94 -159
- package/src/internal/otel/config.ts +10 -14
- package/src/internal/otel/http.ts +14 -1
- package/src/internal/otel/mcp.ts +3 -16
- package/src/internal/otel/runtime.ts +240 -25
- package/src/internal/package-inline-stdio.ts +3 -12
- package/src/internal/playground/toolchain.ts +1 -1
- package/src/internal/request-error-status.ts +72 -0
- package/src/internal/resolve-prod-target.ts +3 -8
- package/src/internal/result-output.ts +34 -0
- package/src/internal/run-client.ts +2 -2
- package/src/internal/runtime-dispatch-runner.ts +3 -21
- package/src/internal/sdk-runner.ts +3 -7
- package/src/internal/server.ts +153 -44
- package/src/internal/session-cost.ts +3 -3
- package/src/internal/session-engine.ts +182 -74
- package/src/internal/session-run-log.ts +1 -4
- package/src/internal/skills-sync.ts +13 -63
- package/src/internal/sleep.ts +3 -0
- package/src/internal/store-mirror.ts +86 -0
- package/src/internal/tenant-slack/relay.ts +179 -0
- package/src/internal/testing/scm-continuation-fixtures.ts +286 -0
- package/src/internal/workspace-sync.ts +55 -0
- package/src/internal/workspace.ts +14 -0
- package/src/otel.ts +143 -3
- package/src/result.ts +36 -0
- package/src/storage-backends/cursor-hosted.ts +7 -4
- package/src/storage-protocol.ts +1 -4
- package/src/types.ts +105 -34
- package/templates/triage/agent/lib/types.ts +0 -2
- package/dist/continuation.d.ts +0 -20
- package/dist/continuation.d.ts.map +0 -1
- package/dist/continuation.js +0 -18
- package/dist/docs/assets/chunks/@localSearchIndexroot.FAqdWIXo.js +0 -1
- package/dist/docs/assets/concepts.md.rPzW2HZN.js +0 -1
- package/dist/docs/assets/guides_cloud-agents.md.DumwWXba.js +0 -9
- package/dist/docs/assets/guides_cloud-runtime.md.BRirbRAN.js +0 -9
- package/dist/docs/assets/guides_cloud-runtime.md.BRirbRAN.lean.js +0 -1
- package/dist/docs/assets/reference_extensions.md.9WQMZe1l.lean.js +0 -1
- package/dist/docs/assets/reference_hooks.md.a8BJxMR5.js +0 -14
- package/dist/docs/assets/skills_framework-map.md.DDa4MeEW.js +0 -1
- package/dist/docs/guides/cloud-runtime.html +0 -35
- package/dist/docs/guides/cloud-runtime.md +0 -117
- package/dist/internal/convert-automation/index.d.ts +0 -3
- package/dist/internal/convert-automation/index.d.ts.map +0 -1
- package/dist/internal/convert-automation/index.js +0 -1
- package/dist/internal/grokbot/runner.d.ts +0 -64
- package/dist/internal/grokbot/runner.d.ts.map +0 -1
- package/dist/internal/grokbot/runner.js +0 -282
- package/dist/internal/managed-delivery.d.ts +0 -80
- package/dist/internal/managed-delivery.d.ts.map +0 -1
- package/dist/internal/managed-delivery.js +0 -86
- package/dist/internal/review-comments.d.ts +0 -370
- package/dist/internal/review-comments.d.ts.map +0 -1
- package/dist/internal/review-comments.js +0 -921
- package/dist/internal/shallow-clone.d.ts +0 -176
- package/dist/internal/shallow-clone.d.ts.map +0 -1
- package/dist/internal/shallow-clone.js +0 -419
- package/dist/playground/assets/index-B6C9S9nG.css +0 -1
- package/dist/playground/assets/index-ZqNoT8Ie.js +0 -69
- package/docs/guides/cloud-runtime.md +0 -122
- package/src/continuation.ts +0 -49
- package/src/internal/convert-automation/index.ts +0 -10
- package/src/internal/grokbot/runner.ts +0 -370
- package/src/internal/managed-delivery.ts +0 -125
- package/src/internal/review-comments.ts +0 -1363
- package/src/internal/shallow-clone.ts +0 -609
- /package/dist/docs/assets/{evals.md.CPzDAwoH.lean.js → evals.md.CbMoebP1.lean.js} +0 -0
- /package/dist/docs/assets/{guides_cloud-agents.md.DumwWXba.lean.js → guides_cloud-agents.md.DS8RIjwx.lean.js} +0 -0
- /package/dist/docs/assets/{guides_github.md.BtPr9GaP.lean.js → guides_github.md.DKYiT9do.lean.js} +0 -0
- /package/dist/docs/assets/{index.md.Kiht7ell.lean.js → index.md.D75GWhPl.lean.js} +0 -0
- /package/dist/docs/assets/{reference_agent-config.md.BHeYMgme.lean.js → reference_agent-config.md.CHNpiyp4.lean.js} +0 -0
- /package/dist/docs/assets/{reference_cli.md.DfoeyvL0.lean.js → reference_cli.md.CJNc_xYK.lean.js} +0 -0
- /package/dist/docs/assets/{reference_playground.md.DnX5nL-B.lean.js → reference_playground.md.4myJPxrf.lean.js} +0 -0
- /package/dist/docs/assets/{reference_project-layout.md.CA6QP6Lw.lean.js → reference_project-layout.md.DuBu9a96.lean.js} +0 -0
- /package/dist/docs/assets/{reference_tools.md.B1up2r9W.lean.js → reference_tools.md.aGrn99hP.lean.js} +0 -0
- /package/dist/docs/assets/{skills_framework-map.md.DDa4MeEW.lean.js → skills_framework-map.md.haibFyoB.lean.js} +0 -0
package/src/internal/server.ts
CHANGED
|
@@ -14,6 +14,14 @@ import {
|
|
|
14
14
|
} from "node:http";
|
|
15
15
|
import type { AddressInfo } from "node:net";
|
|
16
16
|
import { join } from "node:path";
|
|
17
|
+
import {
|
|
18
|
+
type BitbucketProxyTransport,
|
|
19
|
+
CURSOR_BITBUCKET_REPOS_HEADER,
|
|
20
|
+
} from "../channels/bitbucket/api.js";
|
|
21
|
+
import {
|
|
22
|
+
getBitbucketCursorAccountRuntime,
|
|
23
|
+
resolveCursorBitbucketProxyUrl,
|
|
24
|
+
} from "../channels/bitbucket/cursor-account.js";
|
|
17
25
|
import {
|
|
18
26
|
dispatchDeploymentEvent,
|
|
19
27
|
getDeploymentsChannelOptions,
|
|
@@ -32,6 +40,14 @@ import {
|
|
|
32
40
|
resolveCursorGithubProxyUrl,
|
|
33
41
|
} from "../channels/github/cursor-account.js";
|
|
34
42
|
import { findGitHubChannelTargets } from "../channels/github/forward.js";
|
|
43
|
+
import {
|
|
44
|
+
CURSOR_GITLAB_PROJECTS_HEADER,
|
|
45
|
+
type GitLabProxyTransport,
|
|
46
|
+
} from "../channels/gitlab/api.js";
|
|
47
|
+
import {
|
|
48
|
+
getGitLabCursorAccountRuntime,
|
|
49
|
+
resolveCursorGitLabProxyUrl,
|
|
50
|
+
} from "../channels/gitlab/cursor-account.js";
|
|
35
51
|
import {
|
|
36
52
|
getOriginCursorAccountRuntime,
|
|
37
53
|
type OriginCursorAccountRuntime,
|
|
@@ -50,8 +66,6 @@ import type {
|
|
|
50
66
|
ReminderInfo,
|
|
51
67
|
ServeOptions,
|
|
52
68
|
} from "../types.js";
|
|
53
|
-
import { InvalidAsOfError, VacuousTimeArgsError } from "./as-of.js";
|
|
54
|
-
import { V2EngineError } from "./continuation-identity.js";
|
|
55
69
|
import { selectConversationMirror } from "./conversation-mirror.js";
|
|
56
70
|
import {
|
|
57
71
|
type CursorAccountConnectionRef,
|
|
@@ -104,6 +118,10 @@ import {
|
|
|
104
118
|
EvalRunStore,
|
|
105
119
|
EvalRunUnknownError,
|
|
106
120
|
} from "./eval-run-store.js";
|
|
121
|
+
import {
|
|
122
|
+
GUEST_NETWORK_PATH,
|
|
123
|
+
guestNetworkReadinessResponse,
|
|
124
|
+
} from "./guest-network.js";
|
|
107
125
|
import {
|
|
108
126
|
collectGitHubTriggerTargets,
|
|
109
127
|
collectOriginTriggerTargets,
|
|
@@ -143,7 +161,11 @@ import { isLoopbackAddress } from "./net.js";
|
|
|
143
161
|
import { createOtelCollector, type OtelCollector } from "./otel/collector.js";
|
|
144
162
|
import { pickAuthoredOtel, resolveOtelConfig } from "./otel/config.js";
|
|
145
163
|
import { instrumentHttp } from "./otel/http.js";
|
|
146
|
-
import {
|
|
164
|
+
import {
|
|
165
|
+
createOtelRuntime,
|
|
166
|
+
forceFlushOtelRuntime,
|
|
167
|
+
shutdownOtelRuntime,
|
|
168
|
+
} from "./otel/runtime.js";
|
|
147
169
|
import { collectPeerConnections } from "./peer-connections.js";
|
|
148
170
|
import {
|
|
149
171
|
PLATFORM_SCHEDULE_CATALOG_FILENAME,
|
|
@@ -171,6 +193,7 @@ import {
|
|
|
171
193
|
ReminderValidationError,
|
|
172
194
|
UnknownReminderError,
|
|
173
195
|
} from "./reminder-runner.js";
|
|
196
|
+
import { mapThrownRequestError } from "./request-error-status.js";
|
|
174
197
|
import {
|
|
175
198
|
assertAccountConnectionsNotAnonymous,
|
|
176
199
|
resolveMountConnections,
|
|
@@ -182,8 +205,6 @@ import { ScheduleRunner, UnknownScheduleError } from "./schedule-runner.js";
|
|
|
182
205
|
import { type AgentRunner, CursorSdkRunner } from "./sdk-runner.js";
|
|
183
206
|
import {
|
|
184
207
|
InvalidContinuationTokenError,
|
|
185
|
-
SessionAuthError,
|
|
186
|
-
SessionBusyError,
|
|
187
208
|
SessionEngine,
|
|
188
209
|
ToolInputError,
|
|
189
210
|
ToolNotDirectlyCallableError,
|
|
@@ -296,9 +317,14 @@ export async function startServer(
|
|
|
296
317
|
const playground = options.playground ?? true;
|
|
297
318
|
const hosted = options as {
|
|
298
319
|
noControlPlane?: boolean;
|
|
320
|
+
/** `--cursor-scm-proxy`: every cursorAccount SCM pack routes via the backend forwarder. */
|
|
321
|
+
cursorScmProxy?: boolean;
|
|
322
|
+
/** Deprecated alias (`--cursor-github-proxy`); same effect as cursorScmProxy. */
|
|
299
323
|
cursorGithubProxy?: boolean;
|
|
300
324
|
};
|
|
301
325
|
const noControlPlane = hosted.noControlPlane === true;
|
|
326
|
+
const scmProxyRequested =
|
|
327
|
+
hosted.cursorScmProxy === true || hosted.cursorGithubProxy === true;
|
|
302
328
|
const runSchedules = options.schedules ?? !dev;
|
|
303
329
|
const runReminders = options.reminders ?? !dev;
|
|
304
330
|
|
|
@@ -314,22 +340,14 @@ export async function startServer(
|
|
|
314
340
|
otel: m.project.otel,
|
|
315
341
|
}))
|
|
316
342
|
);
|
|
317
|
-
const
|
|
343
|
+
const resolveOtelExport = () =>
|
|
318
344
|
resolveOtelConfig({
|
|
319
345
|
authored: authoredOtel,
|
|
320
346
|
serve: options.otel,
|
|
321
|
-
})
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
otelRuntime === undefined &&
|
|
326
|
-
options.otel !== false &&
|
|
327
|
-
authoredOtel !== undefined
|
|
328
|
-
) {
|
|
329
|
-
logger(
|
|
330
|
-
"[agent-sdk] otel: agent/otel.ts present but no OTLP exporters configured (set exporters or OTEL_EXPORTER_OTLP_ENDPOINT)"
|
|
331
|
-
);
|
|
332
|
-
}
|
|
347
|
+
});
|
|
348
|
+
const otelRuntime = createOtelRuntime(resolveOtelExport(), logger, {
|
|
349
|
+
resolveExport: resolveOtelExport,
|
|
350
|
+
});
|
|
333
351
|
|
|
334
352
|
const cursorGithubTargets = collectCursorGithubTargets(mounts);
|
|
335
353
|
const cursorOriginTargets = collectCursorOriginTargets(mounts);
|
|
@@ -350,7 +368,7 @@ export async function startServer(
|
|
|
350
368
|
// One resolution for every Cursor credential consumer (SDK runner, account
|
|
351
369
|
// MCP bridge, SCM event relay, GitHub credentials): explicit option →
|
|
352
370
|
// CURSOR_API_KEY → CURSOR_API_KEY_FILE (or the hosted default path) →
|
|
353
|
-
// stored `agent-
|
|
371
|
+
// stored `agent-sdk login`. SDK / GitHub / account MCP re-read later;
|
|
354
372
|
// Slack and deployment-event relays capture the key at start.
|
|
355
373
|
const accountKey = await resolveApiKey(
|
|
356
374
|
options.apiKey === undefined ? {} : { apiKey: options.apiKey }
|
|
@@ -390,7 +408,7 @@ export async function startServer(
|
|
|
390
408
|
// through github-proxy exactly like channel Octokit calls.
|
|
391
409
|
let hostGithubProxyResolver: CursorAccountGithubTokenResolver | undefined;
|
|
392
410
|
if (cursorGithubTargets.length > 0) {
|
|
393
|
-
const githubProxyRequested =
|
|
411
|
+
const githubProxyRequested = scmProxyRequested;
|
|
394
412
|
const needsGithubAuth =
|
|
395
413
|
cursorGithubConfig.scope !== undefined || githubProxyRequested;
|
|
396
414
|
if (needsGithubAuth) {
|
|
@@ -509,6 +527,91 @@ export async function startServer(
|
|
|
509
527
|
}
|
|
510
528
|
}
|
|
511
529
|
}
|
|
530
|
+
// GitLab `cursorAccount` channels: `ctx.gitlab` routes through the SCM
|
|
531
|
+
// proxy in proxy mode. Without `--cursor-scm-proxy` the runtime stays
|
|
532
|
+
// unbound and the handle falls back to direct `GITLAB_TOKEN` access.
|
|
533
|
+
if (scmProxyRequested) {
|
|
534
|
+
const gitlabProxyUrl = resolveCursorGitLabProxyUrl(cursorExternalApiUrl());
|
|
535
|
+
let gitlabTargets = 0;
|
|
536
|
+
for (const mount of mounts) {
|
|
537
|
+
for (const channel of mount.project.channels) {
|
|
538
|
+
const runtime = getGitLabCursorAccountRuntime(channel.definition);
|
|
539
|
+
if (runtime === undefined) {
|
|
540
|
+
continue;
|
|
541
|
+
}
|
|
542
|
+
gitlabTargets += 1;
|
|
543
|
+
const transport: Omit<GitLabProxyTransport, "getApiKey"> = {
|
|
544
|
+
apiBaseUrl: gitlabProxyUrl,
|
|
545
|
+
...(runtime.scope === undefined
|
|
546
|
+
? {}
|
|
547
|
+
: {
|
|
548
|
+
headers: {
|
|
549
|
+
[CURSOR_GITLAB_PROJECTS_HEADER]:
|
|
550
|
+
runtime.scope.projects.join(","),
|
|
551
|
+
},
|
|
552
|
+
}),
|
|
553
|
+
};
|
|
554
|
+
runtime.credentials.bind(async () => {
|
|
555
|
+
const apiKey = liveCursorApiKey();
|
|
556
|
+
if (apiKey === undefined) {
|
|
557
|
+
throw new Error(
|
|
558
|
+
`gitlabChannel({ cursorAccount }) has no Cursor credential yet. ${SIGN_IN_HINT}`
|
|
559
|
+
);
|
|
560
|
+
}
|
|
561
|
+
return apiKey;
|
|
562
|
+
});
|
|
563
|
+
runtime.credentials.bindProxyTransport(transport);
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
if (gitlabTargets > 0) {
|
|
567
|
+
logger(
|
|
568
|
+
`[agent-sdk] GitLab auth: channel API calls route through ${gitlabProxyUrl}`
|
|
569
|
+
);
|
|
570
|
+
}
|
|
571
|
+
// Bitbucket `cursorAccount` channels: same shape, `/v0/bitbucket-proxy`
|
|
572
|
+
// with `x-cursor-bitbucket-repos` scope. The proxy picks Cloud 2.0 or
|
|
573
|
+
// the DC host's 1.0 upstream per tenant; the pack picks the dialect
|
|
574
|
+
// from the delivery payload.
|
|
575
|
+
const bitbucketProxyUrl = resolveCursorBitbucketProxyUrl(
|
|
576
|
+
cursorExternalApiUrl()
|
|
577
|
+
);
|
|
578
|
+
let bitbucketTargets = 0;
|
|
579
|
+
for (const mount of mounts) {
|
|
580
|
+
for (const channel of mount.project.channels) {
|
|
581
|
+
const runtime = getBitbucketCursorAccountRuntime(channel.definition);
|
|
582
|
+
if (runtime === undefined) {
|
|
583
|
+
continue;
|
|
584
|
+
}
|
|
585
|
+
bitbucketTargets += 1;
|
|
586
|
+
const transport: Omit<BitbucketProxyTransport, "getApiKey"> = {
|
|
587
|
+
apiBaseUrl: bitbucketProxyUrl,
|
|
588
|
+
...(runtime.scope === undefined
|
|
589
|
+
? {}
|
|
590
|
+
: {
|
|
591
|
+
headers: {
|
|
592
|
+
[CURSOR_BITBUCKET_REPOS_HEADER]:
|
|
593
|
+
runtime.scope.repos.join(","),
|
|
594
|
+
},
|
|
595
|
+
}),
|
|
596
|
+
};
|
|
597
|
+
runtime.credentials.bind(async () => {
|
|
598
|
+
const apiKey = liveCursorApiKey();
|
|
599
|
+
if (apiKey === undefined) {
|
|
600
|
+
throw new Error(
|
|
601
|
+
`bitbucketChannel({ cursorAccount }) has no Cursor credential yet. ${SIGN_IN_HINT}`
|
|
602
|
+
);
|
|
603
|
+
}
|
|
604
|
+
return apiKey;
|
|
605
|
+
});
|
|
606
|
+
runtime.credentials.bindProxyTransport(transport);
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
if (bitbucketTargets > 0) {
|
|
610
|
+
logger(
|
|
611
|
+
`[agent-sdk] Bitbucket auth: channel API calls route through ${bitbucketProxyUrl}`
|
|
612
|
+
);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
512
615
|
const resolvedCursorGithubCredentials = cursorGithubCredentials;
|
|
513
616
|
const hostGithubToken =
|
|
514
617
|
hostGithubProxyResolver ??
|
|
@@ -616,18 +719,24 @@ export async function startServer(
|
|
|
616
719
|
}
|
|
617
720
|
let runner: AgentRunner = sdkRunner;
|
|
618
721
|
if (hasGrokBotMounts && options.runner === undefined) {
|
|
722
|
+
// Cursor-internal client, left out of the npm tarball (`files`); loaded
|
|
723
|
+
// only when a mount needs it, so a published install fails here, before
|
|
724
|
+
// listen, rather than on the first turn.
|
|
725
|
+
const { GrokBotRunner } = await import("./grokbot/runner.js").catch(() => {
|
|
726
|
+
throw new Error(
|
|
727
|
+
'runtime: "grokbot" is not available in the published @cursor/july package'
|
|
728
|
+
);
|
|
729
|
+
});
|
|
619
730
|
runner = new RuntimeDispatchingRunner({
|
|
620
731
|
sdkRunner,
|
|
621
|
-
grokbot: {
|
|
622
|
-
|
|
623
|
-
? {}
|
|
624
|
-
: { apiKey: options.apiKey }),
|
|
732
|
+
grokbot: new GrokBotRunner({
|
|
733
|
+
apiKey: options.apiKey,
|
|
625
734
|
// `/v0/grokbot` lives on the external API (api.cursor.com), not
|
|
626
735
|
// api2. Prefer that default over the account key's backendUrl.
|
|
627
736
|
// Do not pass stored login as apiKey: that would pin it as an
|
|
628
737
|
// option and beat a later CURSOR_API_KEY_FILE bind.
|
|
629
738
|
backendUrl: cursorExternalApiUrl(),
|
|
630
|
-
},
|
|
739
|
+
}),
|
|
631
740
|
});
|
|
632
741
|
logger(
|
|
633
742
|
"[agent-sdk] grokbot runtime: remote client (turns run on the hosted Grok Bot harness)"
|
|
@@ -801,6 +910,7 @@ export async function startServer(
|
|
|
801
910
|
diagStateRoot: baseStateRoot,
|
|
802
911
|
sessionRunLog,
|
|
803
912
|
flushStartLog,
|
|
913
|
+
flushOtel: () => forceFlushOtelRuntime(otelRuntime),
|
|
804
914
|
...(options.authToken === undefined
|
|
805
915
|
? {}
|
|
806
916
|
: { authToken: options.authToken }),
|
|
@@ -962,7 +1072,6 @@ export async function startServer(
|
|
|
962
1072
|
})),
|
|
963
1073
|
});
|
|
964
1074
|
const collectGitHubTargets = () => collectGitHubTargetsFrom(runtimes);
|
|
965
|
-
const collectOriginTargets = () => collectOriginTargetsFrom(runtimes);
|
|
966
1075
|
const v1Runtimes = runtimes.filter(
|
|
967
1076
|
(runtime) => !isV2Project(runtime.project)
|
|
968
1077
|
);
|
|
@@ -1320,6 +1429,7 @@ function mountAgentRoutes(
|
|
|
1320
1429
|
logRing: LogRing;
|
|
1321
1430
|
sessionRunLog?: ReturnType<typeof selectSessionRunLogStore>;
|
|
1322
1431
|
flushStartLog?: (startLogId: string) => Promise<void>;
|
|
1432
|
+
flushOtel?: () => Promise<void>;
|
|
1323
1433
|
authToken?: string;
|
|
1324
1434
|
allowAnonymous?: boolean;
|
|
1325
1435
|
/** Cursor account bridge + this mount's account MCP connections, when authored. */
|
|
@@ -1400,6 +1510,7 @@ function mountAgentRoutes(
|
|
|
1400
1510
|
}),
|
|
1401
1511
|
drainSessionDurability: (sessionId) =>
|
|
1402
1512
|
engine.drainSessionDurability(sessionId),
|
|
1513
|
+
flushOtel: args.flushOtel,
|
|
1403
1514
|
...(args.diagStateRoot === undefined
|
|
1404
1515
|
? {}
|
|
1405
1516
|
: { stateRoot: args.diagStateRoot }),
|
|
@@ -1450,6 +1561,16 @@ function mountAgentRoutes(
|
|
|
1450
1561
|
}),
|
|
1451
1562
|
});
|
|
1452
1563
|
|
|
1564
|
+
// TAS polls this after `/v1/health` and before the hosted POST. Auth none
|
|
1565
|
+
// mirrors health: the engine is reachable only through the anyrun port
|
|
1566
|
+
// proxy (network token) or the alias route.
|
|
1567
|
+
router.add({
|
|
1568
|
+
method: "GET",
|
|
1569
|
+
pattern: `${base}${GUEST_NETWORK_PATH}`,
|
|
1570
|
+
auth: "none",
|
|
1571
|
+
handler: () => guestNetworkReadinessResponse(),
|
|
1572
|
+
});
|
|
1573
|
+
|
|
1453
1574
|
// Bootstrap the SPA can't derive from its own URL (agent name, dev mode, and
|
|
1454
1575
|
// — in multi-agent mode — where the agents index lives).
|
|
1455
1576
|
router.add({
|
|
@@ -2750,12 +2871,12 @@ function startCursorDeploymentRelay(input: {
|
|
|
2750
2871
|
return undefined;
|
|
2751
2872
|
}
|
|
2752
2873
|
throw new Error(
|
|
2753
|
-
`This project has channels subscribed to deployment events (deploymentsChannel({
|
|
2874
|
+
`This project has channels subscribed to deployment events (deploymentsChannel({ ... })) but the host is not signed in to Cursor. ${SIGN_IN_HINT}`
|
|
2754
2875
|
);
|
|
2755
2876
|
}
|
|
2756
2877
|
// Union is re-resolved on each heartbeat and fan-out so a channel that
|
|
2757
|
-
//
|
|
2758
|
-
//
|
|
2878
|
+
// fills `deploySourceUris` after start registers the new URIs. This wire
|
|
2879
|
+
// names every source, so a channel that omits the option registers nothing.
|
|
2759
2880
|
const initial = liveDeploymentSubscriptionUnion(targets);
|
|
2760
2881
|
if (initial.length === 0) {
|
|
2761
2882
|
logger(
|
|
@@ -2886,21 +3007,9 @@ async function handleRequest(
|
|
|
2886
3007
|
});
|
|
2887
3008
|
}
|
|
2888
3009
|
} catch (error) {
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
response = errorResponse(
|
|
2893
|
-
409,
|
|
2894
|
-
"v2_identity_conflict",
|
|
2895
|
-
"Control-plane session identity conflicts with existing state."
|
|
2896
|
-
);
|
|
2897
|
-
} else if (error instanceof SessionAuthError) {
|
|
2898
|
-
response = errorResponse(403, "forbidden", error.message);
|
|
2899
|
-
} else if (
|
|
2900
|
-
error instanceof InvalidAsOfError ||
|
|
2901
|
-
error instanceof VacuousTimeArgsError
|
|
2902
|
-
) {
|
|
2903
|
-
response = errorResponse(400, "invalid_request", error.message);
|
|
3010
|
+
const mapped = mapThrownRequestError(error);
|
|
3011
|
+
if (mapped !== undefined) {
|
|
3012
|
+
response = errorResponse(mapped.status, mapped.code, mapped.message);
|
|
2904
3013
|
} else {
|
|
2905
3014
|
logger(
|
|
2906
3015
|
`[agent-sdk] request failed: ${
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Per-session cost metrics folded from a durable session event stream.
|
|
3
3
|
*
|
|
4
|
-
* Powers `agent-
|
|
4
|
+
* Powers `agent-sdk cost [sessionId]`: each `turn.completed` event carries
|
|
5
5
|
* the turn's token usage and the estimated dollar cost recorded by the
|
|
6
6
|
* engine via `POST /v1/models/estimate-cost`, so a session's spend is a
|
|
7
7
|
* pure fold over its `events.ndjson`. `GET /v1/session/:id/cost` is the
|
|
@@ -115,7 +115,7 @@ function formatCount(value: number): string {
|
|
|
115
115
|
return String(value);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
/** Per-turn table for `agent-
|
|
118
|
+
/** Per-turn table for `agent-sdk cost <sessionId>`. */
|
|
119
119
|
export function formatSessionCostText(report: SessionCostReport): string {
|
|
120
120
|
const lines: string[] = [];
|
|
121
121
|
lines.push(
|
|
@@ -170,7 +170,7 @@ export interface SessionCostRow {
|
|
|
170
170
|
totals: SessionCostTotals;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
/** All-sessions table for `agent-
|
|
173
|
+
/** All-sessions table for `agent-sdk cost` (no session id). */
|
|
174
174
|
export function formatSessionsCostText(rows: SessionCostRow[]): string {
|
|
175
175
|
if (rows.length === 0) {
|
|
176
176
|
return "No sessions.\n";
|