@cursor/july 0.1.101 → 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 +28 -3
- 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/api.d.ts +1 -1
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +3 -1
- package/dist/channels/slack/assistant.d.ts +1 -1
- package/dist/channels/slack/assistant.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.d.ts +3 -2
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +28 -8
- package/dist/channels/slack/eval-directive.d.ts.map +1 -1
- package/dist/channels/slack/eval-directive.js +1 -7
- package/dist/channels/slack/inbound.d.ts +8 -0
- package/dist/channels/slack/inbound.d.ts.map +1 -1
- package/dist/channels/slack/inbound.js +28 -0
- package/dist/channels/slack/init.d.ts.map +1 -1
- package/dist/channels/slack/init.js +3 -3
- package/dist/channels/slack/manifest.d.ts.map +1 -1
- package/dist/channels/slack/manifest.js +2 -1
- 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.BASO9Kih.js → app.DW9pXkpL.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.nrl1ifBq.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.DwkqxoE0.js → VPLocalSearchBox.CdEIUwDg.js} +1 -1
- package/dist/docs/assets/chunks/{theme.CCil_13e.js → theme.YZMHgPgg.js} +2 -2
- package/dist/docs/assets/{concepts.md.lwAgBIMI.js → concepts.md.DgEcZOfT.js} +1 -1
- package/dist/docs/assets/{concepts.md.lwAgBIMI.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_cloud-agents.md.DS8RIjwx.lean.js +1 -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.D75GWhPl.js +5 -0
- package/dist/docs/assets/{index.md.Bb4k8kUm.lean.js → index.md.D75GWhPl.lean.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.DykHW3qL.js +62 -0
- 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.Bv4KOtlB.js → reference_project-layout.md.DuBu9a96.js} +2 -2
- package/dist/docs/assets/{reference_project-layout.md.Bv4KOtlB.lean.js → reference_project-layout.md.DuBu9a96.lean.js} +1 -1
- 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_skills.md.BFW9retM.js → reference_skills.md.l2ezAcaN.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.CvAHsdSp.js → reference_tools.md.aGrn99hP.js} +2 -2
- package/dist/docs/assets/skills_framework-map.md.haibFyoB.js +1 -0
- package/dist/docs/assets/{skills_framework-map.md.BTi817yv.lean.js → skills_framework-map.md.haibFyoB.lean.js} +1 -1
- 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 +5 -7
- 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 +35 -0
- package/dist/docs/guides/cloud-agents.md +91 -0
- 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 +11 -12
- 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 +7 -3
- package/dist/docs/llms-full.txt +765 -209
- package/dist/docs/llms.txt +3 -1
- 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 +88 -0
- package/dist/docs/reference/extensions.md +264 -0
- 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 +4 -0
- 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 +6 -6
- package/dist/docs/reference/skills.md +2 -0
- package/dist/docs/reference/subagents.html +5 -5
- package/dist/docs/reference/tools.html +6 -6
- package/dist/docs/reference/tools.md +3 -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 -0
- 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/cursor-cloud-agents/extension.d.ts +9 -7
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +9 -7
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +78 -0
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +286 -0
- package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +5 -0
- package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/inputs.js +4 -0
- package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts +8 -0
- package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/transcript.js +15 -0
- package/dist/extensions/cursor-cloud-agents/skills/handoff.md +21 -7
- package/dist/extensions/cursor-cloud-agents/tools/cancel.d.ts +4 -0
- package/dist/extensions/cursor-cloud-agents/tools/cancel.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/tools/cancel.js +26 -0
- package/dist/extensions/cursor-cloud-agents/tools/dump.d.ts +4 -0
- package/dist/extensions/cursor-cloud-agents/tools/dump.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/tools/dump.js +54 -0
- package/dist/extensions/cursor-cloud-agents/tools/get.d.ts +4 -0
- package/dist/extensions/cursor-cloud-agents/tools/get.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/tools/get.js +25 -0
- package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/launch.js +14 -38
- package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/reply.d.ts +4 -0
- package/dist/extensions/cursor-cloud-agents/tools/reply.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/tools/{follow_up.js → reply.js} +12 -14
- package/dist/extensions.d.ts +54 -17
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +83 -15
- package/dist/files-backends/cursor-hosted.d.ts +0 -8
- package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/files-backends/cursor-hosted.js +1 -11
- package/dist/files.d.ts +21 -4
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +38 -21
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- 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 +17 -18
- 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 +13 -5
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +30 -15
- 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 +12 -1
- package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
- package/dist/internal/cursor/hosted-store-secrets.js +16 -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 +9 -0
- package/dist/internal/discovery/ab.d.ts.map +1 -0
- package/dist/internal/discovery/ab.js +113 -0
- package/dist/internal/discovery/agent-config.d.ts +35 -0
- package/dist/internal/discovery/agent-config.d.ts.map +1 -0
- package/dist/internal/discovery/agent-config.js +173 -0
- package/dist/internal/discovery/agent.d.ts +16 -0
- package/dist/internal/discovery/agent.d.ts.map +1 -0
- package/dist/internal/discovery/agent.js +255 -0
- package/dist/internal/discovery/channels.d.ts +10 -0
- package/dist/internal/discovery/channels.d.ts.map +1 -0
- package/dist/internal/discovery/channels.js +97 -0
- package/dist/internal/discovery/connections.d.ts +13 -0
- package/dist/internal/discovery/connections.d.ts.map +1 -0
- package/dist/internal/discovery/connections.js +422 -0
- package/dist/internal/discovery/context.d.ts +20 -0
- package/dist/internal/discovery/context.d.ts.map +1 -0
- package/dist/internal/discovery/context.js +30 -0
- package/dist/internal/discovery/cursor-plugin.d.ts +25 -0
- package/dist/internal/discovery/cursor-plugin.d.ts.map +1 -0
- package/dist/internal/discovery/cursor-plugin.js +568 -0
- 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 +28 -0
- package/dist/internal/discovery/extensions.d.ts.map +1 -0
- package/dist/internal/discovery/extensions.js +375 -0
- package/dist/internal/discovery/fs.d.ts +15 -0
- package/dist/internal/discovery/fs.d.ts.map +1 -0
- package/dist/internal/discovery/fs.js +115 -0
- package/dist/internal/discovery/hooks.d.ts +7 -0
- package/dist/internal/discovery/hooks.d.ts.map +1 -0
- package/dist/internal/discovery/hooks.js +61 -0
- package/dist/internal/discovery/info.d.ts +6 -0
- package/dist/internal/discovery/info.d.ts.map +1 -0
- package/dist/internal/discovery/info.js +147 -0
- package/dist/internal/discovery/instructions.d.ts +7 -0
- package/dist/internal/discovery/instructions.d.ts.map +1 -0
- package/dist/internal/discovery/instructions.js +95 -0
- package/dist/internal/discovery/modules.d.ts +20 -0
- package/dist/internal/discovery/modules.d.ts.map +1 -0
- package/dist/internal/discovery/modules.js +107 -0
- package/dist/internal/discovery/names.d.ts +12 -0
- package/dist/internal/discovery/names.d.ts.map +1 -0
- package/dist/internal/discovery/names.js +37 -0
- package/dist/internal/discovery/project.d.ts +51 -0
- package/dist/internal/discovery/project.d.ts.map +1 -0
- package/dist/internal/discovery/project.js +293 -0
- package/dist/internal/discovery/runtime.d.ts +34 -0
- package/dist/internal/discovery/runtime.d.ts.map +1 -0
- package/dist/internal/discovery/runtime.js +97 -0
- package/dist/internal/discovery/schedules.d.ts +7 -0
- package/dist/internal/discovery/schedules.d.ts.map +1 -0
- package/dist/internal/discovery/schedules.js +118 -0
- package/dist/internal/discovery/seed-files.d.ts +7 -0
- package/dist/internal/discovery/seed-files.d.ts.map +1 -0
- package/dist/internal/discovery/seed-files.js +41 -0
- package/dist/internal/discovery/services.d.ts +21 -0
- package/dist/internal/discovery/services.d.ts.map +1 -0
- package/dist/internal/discovery/services.js +134 -0
- package/dist/internal/discovery/skills.d.ts +11 -0
- package/dist/internal/discovery/skills.d.ts.map +1 -0
- package/dist/internal/discovery/skills.js +156 -0
- package/dist/internal/discovery/subagent.d.ts +16 -0
- package/dist/internal/discovery/subagent.d.ts.map +1 -0
- package/dist/internal/discovery/subagent.js +128 -0
- package/dist/internal/discovery/tools.d.ts +18 -0
- package/dist/internal/discovery/tools.d.ts.map +1 -0
- package/dist/internal/discovery/tools.js +159 -0
- package/dist/internal/discovery.d.ts +8 -63
- package/dist/internal/discovery.d.ts.map +1 -1
- package/dist/internal/discovery.js +6 -2504
- 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 +14 -14
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +8 -7
- package/dist/internal/frontmatter.d.ts +11 -3
- package/dist/internal/frontmatter.d.ts.map +1 -1
- package/dist/internal/frontmatter.js +29 -3
- 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/mcp-host.d.ts.map +1 -1
- package/dist/internal/mcp-host.js +37 -20
- package/dist/internal/otel/collector.d.ts +22 -0
- package/dist/internal/otel/collector.d.ts.map +1 -1
- package/dist/internal/otel/collector.js +145 -126
- 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 +8 -10
- package/dist/internal/otel/mcp.d.ts +16 -0
- package/dist/internal/otel/mcp.d.ts.map +1 -0
- package/dist/internal/otel/mcp.js +55 -0
- package/dist/internal/otel/propagation.d.ts +6 -0
- package/dist/internal/otel/propagation.d.ts.map +1 -0
- package/dist/internal/otel/propagation.js +14 -0
- 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 +166 -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 +31 -11
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +208 -102
- package/dist/internal/session-run-log.d.ts +2 -1
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +14 -17
- 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/start-log-store.d.ts +1 -1
- package/dist/internal/start-log-store.d.ts.map +1 -1
- package/dist/internal/start-log-store.js +12 -14
- package/dist/internal/storage-coordinator.d.ts +4 -1
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +15 -13
- 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/tool-catalog.d.ts.map +1 -1
- package/dist/internal/tool-catalog.js +9 -6
- package/dist/internal/turn-cost.d.ts +14 -0
- package/dist/internal/turn-cost.d.ts.map +1 -1
- package/dist/internal/turn-cost.js +41 -9
- package/dist/internal/v2-hosting.d.ts +22 -0
- package/dist/internal/v2-hosting.d.ts.map +1 -0
- package/dist/internal/v2-hosting.js +23 -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 +39 -1
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +118 -1
- 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 +24 -23
- package/dist/storage-protocol.d.ts.map +1 -1
- package/dist/storage-protocol.js +69 -68
- package/dist/storage.d.ts +2 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +1 -1
- package/dist/tools.d.ts +9 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +9 -0
- package/dist/types.d.ts +126 -23
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +7 -3
- package/docs/concepts.md +5 -7
- package/docs/design/runtime-abstraction.md +2 -3
- package/docs/evals.md +9 -7
- package/docs/guides/cloud-agents.md +96 -0
- 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 +269 -0
- package/docs/reference/hooks.md +215 -46
- package/docs/reference/playground.md +3 -0
- package/docs/reference/project-layout.md +4 -0
- package/docs/reference/result.md +94 -0
- package/docs/reference/sessions.md +3 -1
- package/docs/reference/skills.md +2 -0
- package/docs/reference/tools.md +3 -2
- package/docs/templates/pr-autofixer.md +0 -3
- package/package.json +29 -10
- package/skills/framework-map/SKILL.md +3 -0
- 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/api.ts +4 -2
- package/src/channels/slack/assistant.ts +1 -1
- package/src/channels/slack/dispatch.ts +27 -2
- package/src/channels/slack/eval-directive.ts +1 -6
- package/src/channels/slack/inbound.ts +37 -0
- package/src/channels/slack/init.ts +6 -3
- package/src/channels/slack/manifest.ts +2 -1
- 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/cursor-cloud-agents/extension.ts +9 -7
- package/src/extensions/cursor-cloud-agents/lib/backend.ts +395 -0
- package/src/extensions/cursor-cloud-agents/lib/inputs.ts +5 -0
- package/src/extensions/cursor-cloud-agents/lib/transcript.ts +23 -0
- package/src/extensions/cursor-cloud-agents/skills/handoff.md +21 -7
- package/src/extensions/cursor-cloud-agents/tools/cancel.ts +19 -0
- package/src/extensions/cursor-cloud-agents/tools/dump.ts +51 -0
- package/src/extensions/cursor-cloud-agents/tools/get.ts +18 -0
- package/src/extensions/cursor-cloud-agents/tools/launch.ts +22 -42
- package/src/extensions/cursor-cloud-agents/tools/list.ts +1 -1
- package/src/extensions/cursor-cloud-agents/tools/reply.ts +34 -0
- package/src/extensions.ts +100 -15
- package/src/files-backends/cursor-hosted.ts +1 -17
- package/src/files.ts +64 -37
- package/src/index.ts +27 -26
- 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 +27 -21
- 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 +41 -20
- 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 +28 -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 +131 -0
- package/src/internal/discovery/agent-config.ts +222 -0
- package/src/internal/discovery/agent.ts +319 -0
- package/src/internal/discovery/channels.ts +105 -0
- package/src/internal/discovery/connections.ts +545 -0
- package/src/internal/discovery/context.ts +46 -0
- package/src/internal/discovery/cursor-plugin.ts +705 -0
- package/src/internal/discovery/extension-overlay.ts +274 -0
- package/src/internal/discovery/extensions.ts +573 -0
- package/src/internal/discovery/fs.ts +108 -0
- package/src/internal/discovery/hooks.ts +63 -0
- package/src/internal/discovery/info.ts +186 -0
- package/src/internal/discovery/instructions.ts +113 -0
- package/src/internal/discovery/modules.ts +113 -0
- package/src/internal/discovery/names.ts +45 -0
- package/src/internal/discovery/project.ts +341 -0
- package/src/internal/discovery/runtime.ts +158 -0
- package/src/internal/discovery/schedules.ts +120 -0
- package/src/internal/discovery/seed-files.ts +37 -0
- package/src/internal/discovery/services.ts +160 -0
- package/src/internal/discovery/skills.ts +186 -0
- package/src/internal/discovery/subagent.ts +136 -0
- package/src/internal/discovery/tools.ts +182 -0
- package/src/internal/discovery.ts +18 -3081
- 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 +14 -14
- package/src/internal/framework-storage-selection.ts +9 -9
- package/src/internal/frontmatter.ts +36 -3
- 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/mcp-host.ts +84 -31
- package/src/internal/otel/collector.ts +200 -165
- package/src/internal/otel/config.ts +10 -14
- package/src/internal/otel/http.ts +16 -13
- package/src/internal/otel/mcp.ts +56 -0
- package/src/internal/otel/propagation.ts +17 -0
- package/src/internal/otel/runtime.ts +242 -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 +274 -81
- package/src/internal/session-run-log.ts +18 -20
- package/src/internal/skills-sync.ts +13 -63
- package/src/internal/sleep.ts +3 -0
- package/src/internal/start-log-store.ts +13 -16
- package/src/internal/storage-coordinator.ts +19 -16
- 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/tool-catalog.ts +9 -6
- package/src/internal/turn-cost.ts +47 -4
- package/src/internal/v2-hosting.ts +38 -0
- package/src/internal/workspace-sync.ts +55 -0
- package/src/internal/workspace.ts +14 -0
- package/src/otel.ts +180 -2
- package/src/result.ts +36 -0
- package/src/storage-backends/cursor-hosted.ts +7 -4
- package/src/storage-protocol.ts +102 -95
- package/src/storage.ts +4 -0
- package/src/tools.ts +18 -0
- package/src/types.ts +146 -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.DbFXINq2.js +0 -1
- package/dist/docs/assets/guides_cloud-runtime.md.CkYbjnAX.js +0 -9
- package/dist/docs/assets/guides_cloud-runtime.md.CkYbjnAX.lean.js +0 -1
- package/dist/docs/assets/index.md.Bb4k8kUm.js +0 -5
- package/dist/docs/assets/reference_hooks.md.a8BJxMR5.js +0 -14
- package/dist/docs/assets/skills_framework-map.md.BTi817yv.js +0 -1
- package/dist/docs/guides/cloud-runtime.html +0 -35
- package/dist/docs/guides/cloud-runtime.md +0 -115
- package/dist/extensions/cursor-cloud-agents/lib/cloud.d.ts +0 -30
- package/dist/extensions/cursor-cloud-agents/lib/cloud.d.ts.map +0 -1
- package/dist/extensions/cursor-cloud-agents/lib/cloud.js +0 -45
- package/dist/extensions/cursor-cloud-agents/tools/follow_up.d.ts +0 -4
- package/dist/extensions/cursor-cloud-agents/tools/follow_up.d.ts.map +0 -1
- package/dist/extensions/cursor-cloud-agents/tools/status.d.ts +0 -4
- package/dist/extensions/cursor-cloud-agents/tools/status.d.ts.map +0 -1
- package/dist/extensions/cursor-cloud-agents/tools/status.js +0 -41
- 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-BnNN1-EK.js +0 -69
- package/dist/playground/assets/index-DBQCwFp0.css +0 -1
- package/docs/guides/cloud-runtime.md +0 -120
- package/src/continuation.ts +0 -49
- package/src/extensions/cursor-cloud-agents/lib/cloud.ts +0 -79
- package/src/extensions/cursor-cloud-agents/tools/follow_up.ts +0 -29
- package/src/extensions/cursor-cloud-agents/tools/status.ts +0 -39
- 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_github.md.BtPr9GaP.lean.js → guides_github.md.DKYiT9do.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_skills.md.BFW9retM.lean.js → reference_skills.md.l2ezAcaN.lean.js} +0 -0
- /package/dist/docs/assets/{reference_tools.md.CvAHsdSp.lean.js → reference_tools.md.aGrn99hP.lean.js} +0 -0
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import type { ContinuationIdentity } from "../../internal/continuation-identity.js";
|
|
2
|
+
import type {
|
|
3
|
+
AgentCloudOptions,
|
|
4
|
+
ArtifactsApi,
|
|
5
|
+
AuthContext,
|
|
6
|
+
AuthPolicy,
|
|
7
|
+
ChannelEventHandlers,
|
|
8
|
+
ChannelStartArgs,
|
|
9
|
+
HostContext,
|
|
10
|
+
SendMessageFn,
|
|
11
|
+
} from "../../types.js";
|
|
12
|
+
import type { BitbucketTokenProvider } from "./api.js";
|
|
13
|
+
import type { BitbucketHandle } from "./binding.js";
|
|
14
|
+
import type { BitbucketChannelState } from "./state.js";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Which Bitbucket sent the payload. Cloud bodies carry `pullrequest` and
|
|
18
|
+
* `repository.uuid`; Data Center bodies carry `pullRequest` and
|
|
19
|
+
* `repository.project.key`.
|
|
20
|
+
*/
|
|
21
|
+
export type BitbucketDialect = "cloud" | "data-center";
|
|
22
|
+
|
|
23
|
+
export interface BitbucketUser {
|
|
24
|
+
/** Cloud `uuid` (braces included) or Data Center numeric `id`. */
|
|
25
|
+
id: string;
|
|
26
|
+
displayName?: string;
|
|
27
|
+
/** Cloud `nickname` / Data Center `name`. */
|
|
28
|
+
username?: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface BitbucketRepositoryRef {
|
|
32
|
+
dialect: BitbucketDialect;
|
|
33
|
+
/**
|
|
34
|
+
* `workspace/repo` (Cloud) or `PROJECT/repo` (Data Center), as delivered.
|
|
35
|
+
* Continuation keys lowercase it; consumers should too when comparing.
|
|
36
|
+
*/
|
|
37
|
+
fullName: string;
|
|
38
|
+
/** Workspace slug (Cloud) or project key (Data Center). */
|
|
39
|
+
owner: string;
|
|
40
|
+
slug: string;
|
|
41
|
+
/** Cloud `repository.uuid` (braces included). */
|
|
42
|
+
uuid?: string;
|
|
43
|
+
/** Data Center numeric repository id. */
|
|
44
|
+
id?: number;
|
|
45
|
+
/** Web URL when the payload carries one. */
|
|
46
|
+
htmlUrl?: string;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** A pull request normalized from either dialect. */
|
|
50
|
+
export interface BitbucketPullRequestEvent {
|
|
51
|
+
/**
|
|
52
|
+
* Cloud-normalized action: `created`, `updated`, `approved`, `unapproved`,
|
|
53
|
+
* `changes_request_created`, `fulfilled`, `rejected`.
|
|
54
|
+
*/
|
|
55
|
+
action: string;
|
|
56
|
+
id: number;
|
|
57
|
+
title?: string;
|
|
58
|
+
description?: string | null;
|
|
59
|
+
/** `OPEN`, `MERGED`, `DECLINED`, `SUPERSEDED`. */
|
|
60
|
+
state?: string;
|
|
61
|
+
draft?: boolean;
|
|
62
|
+
sourceBranch?: string;
|
|
63
|
+
targetBranch?: string;
|
|
64
|
+
/** Source-branch head: Cloud `source.commit.hash` / DC `fromRef.latestCommit`. */
|
|
65
|
+
headSha?: string;
|
|
66
|
+
/** DC `previousFromHash` on `pr:from_ref_updated` — new commits were pushed. */
|
|
67
|
+
previousHeadSha?: string;
|
|
68
|
+
author?: BitbucketUser;
|
|
69
|
+
htmlUrl?: string;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export interface BitbucketPullRequestComment {
|
|
73
|
+
id: number;
|
|
74
|
+
body: string;
|
|
75
|
+
author?: BitbucketUser;
|
|
76
|
+
htmlUrl?: string;
|
|
77
|
+
/** Cloud `comment.inline` when the comment is anchored to a file. */
|
|
78
|
+
inline?: { path?: string; to?: number; from?: number };
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface BitbucketPushChange {
|
|
82
|
+
ref?: string;
|
|
83
|
+
/** Branch / tag name. */
|
|
84
|
+
name?: string;
|
|
85
|
+
before?: string;
|
|
86
|
+
after?: string;
|
|
87
|
+
type?: string;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface BitbucketPush {
|
|
91
|
+
changes: BitbucketPushChange[];
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface BitbucketEventContext {
|
|
95
|
+
/** `X-Request-UUID` (Cloud) / `X-Request-Id` (DC), when present. */
|
|
96
|
+
deliveryId?: string;
|
|
97
|
+
/** Cloud-normalized event key (`pullrequest:created`, `repo:push`, …). */
|
|
98
|
+
eventType: string;
|
|
99
|
+
/** Raw `X-Event-Key` as delivered (DC keys before normalization). */
|
|
100
|
+
rawEventType: string;
|
|
101
|
+
repository: BitbucketRepositoryRef;
|
|
102
|
+
pullRequestId?: number;
|
|
103
|
+
pullRequestUrl?: string;
|
|
104
|
+
/** Raw parsed payload record, for consumers whose normalization needs more. */
|
|
105
|
+
payload: Record<string, unknown>;
|
|
106
|
+
/** `actor` on the payload — who triggered the delivery. */
|
|
107
|
+
sender?: BitbucketUser;
|
|
108
|
+
/**
|
|
109
|
+
* Repo-bound Bitbucket API (`api`, `request`, `setBuildStatus`,
|
|
110
|
+
* `createCheck`) in the delivery's dialect. Routes through the Cursor SCM
|
|
111
|
+
* proxy under `cursorAccount` + `--cursor-scm-proxy`; otherwise uses
|
|
112
|
+
* {@link BitbucketChannelOptions.token} / `BITBUCKET_TOKEN` against the
|
|
113
|
+
* dialect's API base.
|
|
114
|
+
*/
|
|
115
|
+
bitbucket: BitbucketHandle;
|
|
116
|
+
/**
|
|
117
|
+
* Channel `send`. Set on every delivery path (HTTP webhook, hosted
|
|
118
|
+
* admission) so a hook can start a turn itself instead of returning
|
|
119
|
+
* `{ auth, message }` or a deferred `{ task }`.
|
|
120
|
+
*/
|
|
121
|
+
send?: SendMessageFn;
|
|
122
|
+
host: HostContext;
|
|
123
|
+
artifacts: ArtifactsApi;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export type BitbucketTurnDispatch = {
|
|
127
|
+
auth: AuthContext;
|
|
128
|
+
message?: string;
|
|
129
|
+
title?: string;
|
|
130
|
+
context?: readonly string[];
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
/** Bound per-delivery helpers passed to a {@link BitbucketTaskDispatch.task}. */
|
|
134
|
+
export interface BitbucketTaskArgs {
|
|
135
|
+
send: SendMessageFn;
|
|
136
|
+
waitUntil: (promise: Promise<unknown>) => void;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/** Run a host-side handler after the webhook is acknowledged with a 202. */
|
|
140
|
+
export type BitbucketTaskDispatch = {
|
|
141
|
+
task: (args: BitbucketTaskArgs) => void | Promise<void>;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
export type BitbucketDispatch = BitbucketTurnDispatch | BitbucketTaskDispatch;
|
|
145
|
+
|
|
146
|
+
export type BitbucketDispatchResult =
|
|
147
|
+
| BitbucketDispatch
|
|
148
|
+
| null
|
|
149
|
+
| Promise<BitbucketDispatch | null>;
|
|
150
|
+
|
|
151
|
+
export type BitbucketPullRequestHook = (
|
|
152
|
+
ctx: BitbucketEventContext,
|
|
153
|
+
pullRequest: BitbucketPullRequestEvent
|
|
154
|
+
) => BitbucketDispatchResult;
|
|
155
|
+
|
|
156
|
+
export type BitbucketPullRequestCommentHook = (
|
|
157
|
+
ctx: BitbucketEventContext,
|
|
158
|
+
comment: BitbucketPullRequestComment,
|
|
159
|
+
pullRequest: BitbucketPullRequestEvent
|
|
160
|
+
) => BitbucketDispatchResult;
|
|
161
|
+
|
|
162
|
+
export type BitbucketPushHook = (
|
|
163
|
+
ctx: BitbucketEventContext,
|
|
164
|
+
push: BitbucketPush
|
|
165
|
+
) => BitbucketDispatchResult;
|
|
166
|
+
|
|
167
|
+
export type BitbucketEventHook = (
|
|
168
|
+
ctx: BitbucketEventContext,
|
|
169
|
+
event: { eventType: string; rawEventType: string; payload: unknown }
|
|
170
|
+
) => BitbucketDispatchResult;
|
|
171
|
+
|
|
172
|
+
export type BitbucketCloudOptionsResolver = (
|
|
173
|
+
ctx: BitbucketEventContext,
|
|
174
|
+
pullRequest: BitbucketPullRequestEvent
|
|
175
|
+
) => AgentCloudOptions | undefined | Promise<AgentCloudOptions | undefined>;
|
|
176
|
+
|
|
177
|
+
/** One verified Bitbucket delivery handed to {@link dispatchBitbucketWebhook}. */
|
|
178
|
+
export interface BitbucketWebhookDelivery {
|
|
179
|
+
/** Cloud-normalized event key (hosted admission passes the envelope's). */
|
|
180
|
+
eventType: string;
|
|
181
|
+
/** `X-Event-Key` as delivered. Defaults to {@link eventType}. */
|
|
182
|
+
rawEventType?: string;
|
|
183
|
+
payload: Record<string, unknown>;
|
|
184
|
+
deliveryId?: string;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export interface BitbucketChannelOptions {
|
|
188
|
+
/**
|
|
189
|
+
* Use the signed-in Cursor account for inbound Bitbucket events delivered
|
|
190
|
+
* by the Cursor backend. `true` takes repo scope from the deployment;
|
|
191
|
+
* `{ repos }` (`workspace/repo` or `PROJECT/repo`) makes the channel
|
|
192
|
+
* self-contained.
|
|
193
|
+
*/
|
|
194
|
+
cursorAccount?: boolean | { repos: readonly string[] };
|
|
195
|
+
/**
|
|
196
|
+
* Access token (or provider) for direct `ctx.bitbucket` calls when not in
|
|
197
|
+
* proxy mode. Sent as `Authorization: Bearer`. Falls back to
|
|
198
|
+
* `BITBUCKET_TOKEN`.
|
|
199
|
+
*/
|
|
200
|
+
token?: string | BitbucketTokenProvider;
|
|
201
|
+
/**
|
|
202
|
+
* REST base for direct `ctx.bitbucket` calls. Defaults to
|
|
203
|
+
* `BITBUCKET_API_BASE_URL`, else api.bitbucket.org 2.0 (Cloud). Data
|
|
204
|
+
* Center deploys must set one of these; the payload's repository link is
|
|
205
|
+
* never used to pick where the token is sent.
|
|
206
|
+
*/
|
|
207
|
+
apiBaseUrl?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Webhook secret for direct HTTP deliveries: `X-Hub-Signature`
|
|
210
|
+
* `sha256=<hmac>` over the raw body (both dialects). Falls back to
|
|
211
|
+
* `BITBUCKET_WEBHOOK_SECRET`. With a secret set the HMAC is the request
|
|
212
|
+
* auth; without one production stays loopback-strict and `serve --dev`
|
|
213
|
+
* admits unsigned loopback deliveries.
|
|
214
|
+
*/
|
|
215
|
+
webhookSecret?: string | (() => string | undefined);
|
|
216
|
+
/**
|
|
217
|
+
* Optional repo allowlist (`workspace/repo` / `PROJECT/repo`,
|
|
218
|
+
* case-insensitive). Events from other repos are acked without a turn.
|
|
219
|
+
*/
|
|
220
|
+
repos?: readonly string[];
|
|
221
|
+
/** Route auth chain; defaults follow {@link webhookSecret}. */
|
|
222
|
+
auth?: AuthPolicy[];
|
|
223
|
+
/** Route path under `/v1/channels/<name>`. Defaults to `/`. */
|
|
224
|
+
path?: string;
|
|
225
|
+
/**
|
|
226
|
+
* Pin the event keys this channel dispatches on (Cloud vocabulary; DC keys
|
|
227
|
+
* are normalized). Published as `meta.bitbucketWebhookEvents`. Defaults to
|
|
228
|
+
* the set derived from hooks.
|
|
229
|
+
*/
|
|
230
|
+
webhookEvents?: readonly string[];
|
|
231
|
+
/**
|
|
232
|
+
* Continuation selector. Omitted inherits {@link AgentConfig.architecture}:
|
|
233
|
+
* engine-minted per-PR continuation unless the agent set
|
|
234
|
+
* `architecture: "v2"` (then `bitbucket.pr/v2`, or `bitbucket.none/v2`
|
|
235
|
+
* when a non-PR event is declared).
|
|
236
|
+
*/
|
|
237
|
+
continuation?: ContinuationIdentity;
|
|
238
|
+
/**
|
|
239
|
+
* Decide whether an inbound pull-request event starts a turn. Return
|
|
240
|
+
* `{ auth: defaultBitbucketAuth(ctx) }` to dispatch, `null` to ignore.
|
|
241
|
+
* Without this hook the channel dispatches on `created` and on `updated`
|
|
242
|
+
* that pushed commits (Data Center `previousFromHash` differs from the
|
|
243
|
+
* head; Cloud `pullrequest:updated` carries no diff and is not dispatched).
|
|
244
|
+
*/
|
|
245
|
+
onPullRequest?: BitbucketPullRequestHook;
|
|
246
|
+
/** Opt-in `pullrequest:comment_created` handler. */
|
|
247
|
+
onPullRequestComment?: BitbucketPullRequestCommentHook;
|
|
248
|
+
/** Opt-in `repo:push` handler. No default dispatch. */
|
|
249
|
+
onPush?: BitbucketPushHook;
|
|
250
|
+
/**
|
|
251
|
+
* Catch-all for event keys without a typed hook (`repo:fork`,
|
|
252
|
+
* `issue:created`, …). NOT a fallback: typed events never reach it.
|
|
253
|
+
*/
|
|
254
|
+
onEvent?: BitbucketEventHook;
|
|
255
|
+
/**
|
|
256
|
+
* Per-session cloud options. Pass `true` to attach the repo using the
|
|
257
|
+
* pull request's web URL, or a resolver for custom cloud options.
|
|
258
|
+
*/
|
|
259
|
+
cloud?: boolean | AgentCloudOptions | BitbucketCloudOptionsResolver;
|
|
260
|
+
/** Channel stream-event handlers. */
|
|
261
|
+
events?: ChannelEventHandlers<BitbucketChannelState>;
|
|
262
|
+
/** Called once when the server mounts this channel. */
|
|
263
|
+
onStart?: (args: ChannelStartArgs) => void | Promise<void>;
|
|
264
|
+
/** Called when the server shuts down. */
|
|
265
|
+
onStop?: () => void | Promise<void>;
|
|
266
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
import { defineChannel, localDevStrict, POST } from "../../channels.js";
|
|
4
|
+
import { skipped, tagOutcome } from "../../internal/channel-dispatch.js";
|
|
4
5
|
import {
|
|
5
6
|
deploymentEventMatches,
|
|
6
7
|
resolveDeploymentSubscriptions,
|
|
@@ -49,16 +50,16 @@ export function getDeploymentsChannelOptions(
|
|
|
49
50
|
* subscriptions. Published as `meta.deploymentEventTypes` so the deploy
|
|
50
51
|
* manifest can extract `eventTypes`.
|
|
51
52
|
*
|
|
52
|
-
* A channel with no resolved subscriptions declares the full event set
|
|
53
|
-
*
|
|
54
|
-
* hosted freeze bakes hermetically (no customer env/secrets), so
|
|
55
|
-
* `[]` there would leave the manifest without event types and no
|
|
53
|
+
* A channel with no resolved subscriptions declares the full event set.
|
|
54
|
+
* That covers an omitted `deploySourceUris` and the env-configured case:
|
|
55
|
+
* the hosted freeze bakes hermetically (no customer env/secrets), so
|
|
56
|
+
* deriving `[]` there would leave the manifest without event types and no
|
|
56
57
|
* subscription edge could ever materialize (invariant 26). Capability is
|
|
57
58
|
* the channel's code shape — `onEvent` handles any deployment event —
|
|
58
59
|
* while sources/environments/event narrowing are runtime subscription
|
|
59
60
|
* config; the hosted-admission adapter re-applies them before authored
|
|
60
61
|
* code runs. Inertness is still guaranteed by scope: a deploy that names
|
|
61
|
-
* no
|
|
62
|
+
* no repositories binds no edges.
|
|
62
63
|
*/
|
|
63
64
|
export function deriveDeploymentEventTypes(
|
|
64
65
|
options: Pick<DeploymentsChannelOptions, "deploySourceUris" | "events">
|
|
@@ -97,28 +98,7 @@ export async function dispatchDeploymentEvent(input: {
|
|
|
97
98
|
);
|
|
98
99
|
// "task": authored `onEvent` ran to completion without a captured send.
|
|
99
100
|
// Hosted admission only consults this when no send was captured.
|
|
100
|
-
return
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export type DeploymentsDispatchOutcome = "skip" | "task";
|
|
104
|
-
|
|
105
|
-
const dispatchOutcomeByResponse = new WeakMap<
|
|
106
|
-
Response,
|
|
107
|
-
DeploymentsDispatchOutcome
|
|
108
|
-
>();
|
|
109
|
-
|
|
110
|
-
function withDispatchOutcome(
|
|
111
|
-
response: Response,
|
|
112
|
-
outcome: DeploymentsDispatchOutcome
|
|
113
|
-
): Response {
|
|
114
|
-
dispatchOutcomeByResponse.set(response, outcome);
|
|
115
|
-
return response;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export function getDeploymentsDispatchOutcome(
|
|
119
|
-
response: Response
|
|
120
|
-
): DeploymentsDispatchOutcome | undefined {
|
|
121
|
-
return dispatchOutcomeByResponse.get(response);
|
|
101
|
+
return tagOutcome(Response.json({ ok: true }), "task");
|
|
122
102
|
}
|
|
123
103
|
|
|
124
104
|
/**
|
|
@@ -129,13 +109,14 @@ export function getDeploymentsDispatchOutcome(
|
|
|
129
109
|
* the v1 relay does before `onEvent`.
|
|
130
110
|
*
|
|
131
111
|
* A channel with NO resolved subscriptions admits everything the control
|
|
132
|
-
* plane delivered
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
* delivery. Same
|
|
138
|
-
* subscriptions narrow;
|
|
112
|
+
* plane delivered. Omitting `deploySourceUris` picks that deliberately:
|
|
113
|
+
* the deploy-time edges (bound from the watched repositories) already
|
|
114
|
+
* carry the tenant's scope, so re-filtering here could only narrow it with
|
|
115
|
+
* another tenant's list. The same holds for an env-configured channel that
|
|
116
|
+
* resolves empty on a restored pod, where refusing would silently drop
|
|
117
|
+
* every delivery. Same rule as {@link deriveDeploymentEventTypes}:
|
|
118
|
+
* authored subscriptions narrow; a channel that names none defers to the
|
|
119
|
+
* deploy scope.
|
|
139
120
|
*/
|
|
140
121
|
export function deploymentEventMatchesChannel(
|
|
141
122
|
options: DeploymentsChannelOptions,
|
|
@@ -181,6 +162,15 @@ export function deploymentEventMatchesChannel(
|
|
|
181
162
|
* adapter re-applies this channel's subscription filter — environments are
|
|
182
163
|
* not edge identity — and skips before authored code runs.
|
|
183
164
|
*
|
|
165
|
+
* A hosted agent therefore omits `deploySourceUris`:
|
|
166
|
+
*
|
|
167
|
+
* ```ts
|
|
168
|
+
* export default deploymentsChannel({
|
|
169
|
+
* events: ["deployment.created", "deployment.succeeded"],
|
|
170
|
+
* onEvent: async (event, { send }) => { ... },
|
|
171
|
+
* });
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
184
174
|
* The route on this channel exists for local replay (`agent-sdk` and tests):
|
|
185
175
|
* POST an event body and it runs the same `onEvent`.
|
|
186
176
|
*/
|
|
@@ -232,18 +222,10 @@ export function deploymentsChannel(
|
|
|
232
222
|
}
|
|
233
223
|
const event = parsed.data as DeploymentEvent;
|
|
234
224
|
if (!deploymentEventMatchesChannel(options, event)) {
|
|
235
|
-
return
|
|
236
|
-
Response.json({
|
|
237
|
-
ok: true,
|
|
238
|
-
skipped: true,
|
|
239
|
-
reason: "subscription_mismatch",
|
|
240
|
-
}),
|
|
241
|
-
"skip"
|
|
242
|
-
);
|
|
225
|
+
return skipped("subscription_mismatch");
|
|
243
226
|
}
|
|
244
227
|
return dispatchDeploymentEvent({ options, event, args });
|
|
245
228
|
},
|
|
246
|
-
getOutcome: (response) => getDeploymentsDispatchOutcome(response),
|
|
247
229
|
});
|
|
248
230
|
return definition;
|
|
249
231
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContinuationIdentity } from "../../continuation.js";
|
|
1
|
+
import type { ContinuationIdentity } from "../../internal/continuation-identity.js";
|
|
2
2
|
import type { ChannelDefinition, ChannelHandlerArgs } from "../../types.js";
|
|
3
3
|
|
|
4
4
|
/** {@link ChannelMeta.kind} value used by {@link deploymentsChannel}. */
|
|
@@ -54,12 +54,18 @@ export interface DeploymentsChannelOptions {
|
|
|
54
54
|
* and then receives nothing. A bare string takes the default environment and
|
|
55
55
|
* event filters.
|
|
56
56
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
57
|
+
* Omit on hosted v2. The control plane then binds `deploy_source` edges
|
|
58
|
+
* from the deploy's watched `repositories` and the channel admits what it
|
|
59
|
+
* is sent. That is the multi-tenant shape: an agent cannot enumerate
|
|
60
|
+
* sources for a tenant it has never seen.
|
|
61
|
+
*
|
|
62
|
+
* Name sources to narrow below that scope, or to drive the self-hosted
|
|
63
|
+
* relay, which has no deploy scope to inherit. On that wire `[]` means
|
|
64
|
+
* deregister, which is why deferring to the deploy scope is an omitted
|
|
65
|
+
* field and not an empty one. A live array that starts empty and is filled
|
|
66
|
+
* later is re-read on each registration heartbeat.
|
|
61
67
|
*/
|
|
62
|
-
deploySourceUris
|
|
68
|
+
deploySourceUris?: readonly (string | DeploymentSubscription)[];
|
|
63
69
|
/**
|
|
64
70
|
* Applied to every subscription that does not set its own. Omit or leave
|
|
65
71
|
* empty for every environment.
|
|
@@ -52,6 +52,12 @@ export interface GitHubBindingState {
|
|
|
52
52
|
pullRequestNumber: number | null;
|
|
53
53
|
repo: string;
|
|
54
54
|
repositoryId: number | null;
|
|
55
|
+
/**
|
|
56
|
+
* `repository.html_url` from the delivery. Carries the GitHub Enterprise
|
|
57
|
+
* Server host; absent on state persisted before this field existed, in
|
|
58
|
+
* which case handles fall back to `https://github.com`.
|
|
59
|
+
*/
|
|
60
|
+
repositoryUrl?: string | null;
|
|
55
61
|
reviewCommentId: number | null;
|
|
56
62
|
reviewThreadRootCommentId: number | null;
|
|
57
63
|
triggeringCommentId: number | null;
|
|
@@ -113,7 +119,8 @@ export function buildGitHubBinding(input: {
|
|
|
113
119
|
const { config, state } = input;
|
|
114
120
|
const repository: GitHubRepositoryRef = {
|
|
115
121
|
fullName: `${state.owner}/${state.repo}`,
|
|
116
|
-
url:
|
|
122
|
+
url:
|
|
123
|
+
state.repositoryUrl ?? `https://github.com/${state.owner}/${state.repo}`,
|
|
117
124
|
owner: state.owner,
|
|
118
125
|
name: state.repo,
|
|
119
126
|
...(state.repositoryId === null ? {} : { id: state.repositoryId }),
|
|
@@ -259,20 +259,31 @@ const pendingByResolver = new WeakMap<
|
|
|
259
259
|
PendingCursorGithubCredentials
|
|
260
260
|
>();
|
|
261
261
|
|
|
262
|
+
/** Forges whose cursorAccount packs route through the backend SCM forwarder. */
|
|
263
|
+
export type CursorScmProxyForge = "github" | "gitlab" | "bitbucket";
|
|
264
|
+
|
|
262
265
|
/**
|
|
263
|
-
* Backend
|
|
264
|
-
*
|
|
265
|
-
* base URL
|
|
266
|
+
* Backend SCM-proxy base URL for proxy mode (`--cursor-scm-proxy`). Each
|
|
267
|
+
* pack derives its own route, `/v0/<forge>-proxy`, from the Cursor API
|
|
268
|
+
* base URL; `AGENT_SERVE_<FORGE>_PROXY_URL` overrides it.
|
|
266
269
|
*/
|
|
267
|
-
export function
|
|
268
|
-
|
|
270
|
+
export function resolveCursorScmProxyUrl(
|
|
271
|
+
forge: CursorScmProxyForge,
|
|
272
|
+
backendBaseUrl: string
|
|
273
|
+
): string {
|
|
274
|
+
const override = process.env[`AGENT_SERVE_${forge.toUpperCase()}_PROXY_URL`];
|
|
269
275
|
const url =
|
|
270
276
|
override !== undefined && override.trim() !== ""
|
|
271
277
|
? new URL(override)
|
|
272
|
-
: new URL(
|
|
278
|
+
: new URL(`/v0/${forge}-proxy`, backendBaseUrl);
|
|
273
279
|
return url.toString().replace(/\/+$/, "");
|
|
274
280
|
}
|
|
275
281
|
|
|
282
|
+
/** GitHub-proxy base URL; see {@link resolveCursorScmProxyUrl}. */
|
|
283
|
+
export function resolveCursorGithubProxyUrl(backendBaseUrl: string): string {
|
|
284
|
+
return resolveCursorScmProxyUrl("github", backendBaseUrl);
|
|
285
|
+
}
|
|
286
|
+
|
|
276
287
|
export function isCursorAccountGithubTokenResolver(
|
|
277
288
|
value: unknown
|
|
278
289
|
): value is CursorAccountGithubTokenResolver {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Webhook event derivation for the GitHub channel.
|
|
3
3
|
*
|
|
4
|
-
* `agent-
|
|
4
|
+
* `agent-sdk github forward` reads the set of webhook events a channel is
|
|
5
5
|
* wired to dispatch (published as `meta.githubWebhookEvents`) so it can build
|
|
6
6
|
* `gh webhook forward --events=…` without the operator hand-listing them.
|
|
7
7
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Planning helpers for `agent-
|
|
2
|
+
* Planning helpers for `agent-sdk github forward` — turning discovered
|
|
3
3
|
* GitHub channels into a `gh webhook forward` invocation.
|
|
4
4
|
*
|
|
5
5
|
* These are pure functions (no process spawning) so they are unit-testable;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @see https://docs.github.com/en/webhooks/testing-and-troubleshooting-webhooks/using-the-github-cli-to-forward-webhooks-for-testing
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import { CLI_COMMAND_NAME as CLI } from "../../internal/distribution.js";
|
|
11
12
|
import type { AgentProject } from "../../types.js";
|
|
12
13
|
import { GITHUB_CHANNEL_KIND } from "./events.js";
|
|
13
14
|
|
|
@@ -316,7 +317,7 @@ export function detectGitHubEnvTokenOverride(
|
|
|
316
317
|
|
|
317
318
|
/** Guidance shown when {@link detectGitHubEnvTokenOverride} finds an override. */
|
|
318
319
|
export function githubEnvTokenHint(varName: string): string {
|
|
319
|
-
return `${varName} is set — gh webhook forward authenticates its relay with the GitHub CLI's own login, so an env token usually causes HTTP 401. Blank it for the command (e.g. \`GITHUB_TOKEN= GH_TOKEN=
|
|
320
|
+
return `${varName} is set — gh webhook forward authenticates its relay with the GitHub CLI's own login, so an env token usually causes HTTP 401. Blank it for the command (e.g. \`GITHUB_TOKEN= GH_TOKEN= ${CLI} github forward …\`) or \`unset GITHUB_TOKEN GH_TOKEN\`.`;
|
|
320
321
|
}
|
|
321
322
|
|
|
322
323
|
/**
|