@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
|
@@ -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,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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forward.d.ts","sourceRoot":"","sources":["../../../src/channels/github/forward.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"forward.d.ts","sourceRoot":"","sources":["../../../src/channels/github/forward.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
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
|
+
import { CLI_COMMAND_NAME as CLI } from "../../internal/distribution.js";
|
|
10
11
|
import { GITHUB_CHANNEL_KIND } from "./events.js";
|
|
11
12
|
/** GitHub CLI extension that provides `gh webhook forward`. */
|
|
12
13
|
export const GITHUB_WEBHOOK_EXTENSION = "cli/gh-webhook";
|
|
@@ -214,7 +215,7 @@ export function detectGitHubEnvTokenOverride(env = process.env) {
|
|
|
214
215
|
}
|
|
215
216
|
/** Guidance shown when {@link detectGitHubEnvTokenOverride} finds an override. */
|
|
216
217
|
export function githubEnvTokenHint(varName) {
|
|
217
|
-
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=
|
|
218
|
+
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\`.`;
|
|
218
219
|
}
|
|
219
220
|
/**
|
|
220
221
|
* Extract `owner/repo` from a git remote URL (https, `git@`, or `ssh://`).
|
|
@@ -25,11 +25,7 @@ export interface GitHubPullRequestRef {
|
|
|
25
25
|
* its session is pinned to without trusting model-provided identifiers.
|
|
26
26
|
*/
|
|
27
27
|
export declare function parseGitHubPrContinuationKey(key: string): GitHubPullRequestRef | undefined;
|
|
28
|
-
/** @deprecated Prefer {@link githubContinuationKey}. */
|
|
29
|
-
export declare function githubPullRequestContinuationKey(ctx: GitHubParsedContext): string;
|
|
30
28
|
export declare function defaultGitHubTitle(ctx: GitHubParsedContext): string;
|
|
31
|
-
/** @deprecated Prefer {@link defaultGitHubTitle}. */
|
|
32
|
-
export declare function defaultGitHubPullRequestTitle(ctx: GitHubParsedContext): string;
|
|
33
29
|
export declare function defaultGitHubPullRequestMessage(ctx: GitHubParsedContext, pullRequest: GitHubPullRequestEvent): string;
|
|
34
30
|
/**
|
|
35
31
|
* Default dispatch gate when no `onPullRequest` hook is declared: the common
|
|
@@ -69,6 +65,35 @@ export declare function verifyGitHubWebhookSignature(args: {
|
|
|
69
65
|
signatureHeader: string | null;
|
|
70
66
|
secret: GitHubCredentialValue | undefined;
|
|
71
67
|
}): Promise<"verified" | "missing_secret" | "missing_signature" | "mismatch">;
|
|
68
|
+
/**
|
|
69
|
+
* Run the authored hooks for one GitHub delivery and `send()` the turn.
|
|
70
|
+
* Callers own delivery auth: the HTTP route verifies the HMAC; trigger
|
|
71
|
+
* fan-out and hosted admission arrive verified. The v2 mailbox is stamped
|
|
72
|
+
* upstream (local CP or hosted ingress), never here.
|
|
73
|
+
*/
|
|
74
|
+
export declare function dispatchGitHubWebhook(input: {
|
|
75
|
+
options: GitHubChannelOptions;
|
|
76
|
+
eventName: string | null;
|
|
77
|
+
payload: unknown;
|
|
78
|
+
deliveryId?: string;
|
|
79
|
+
args: ChannelHandlerArgs;
|
|
80
|
+
}): Promise<Response>;
|
|
81
|
+
/**
|
|
82
|
+
* HTTP entry for a single agent's GitHub channel: optional HMAC verify, then
|
|
83
|
+
* {@link dispatchGitHubWebhook}.
|
|
84
|
+
*/
|
|
85
|
+
export declare function handleGitHubWebhookRequest(input: {
|
|
86
|
+
options: GitHubChannelOptions;
|
|
87
|
+
request: Request;
|
|
88
|
+
args: ChannelHandlerArgs;
|
|
89
|
+
/** When true, skip HMAC even if a webhook secret is configured. */
|
|
90
|
+
skipSignatureVerification?: boolean;
|
|
91
|
+
}): Promise<Response>;
|
|
92
|
+
/**
|
|
93
|
+
* Recover the {@link GitHubChannelOptions} used to build a channel definition,
|
|
94
|
+
* if it was created via {@link githubChannel}.
|
|
95
|
+
*/
|
|
96
|
+
export declare function getGitHubChannelOptions(definition: object): GitHubChannelOptions | undefined;
|
|
72
97
|
/**
|
|
73
98
|
* GitHub webhook channel (Eve-compatible dispatch surface). Point a GitHub App
|
|
74
99
|
* or repository webhook at `/<agent>/v1/channels/github` and declare inbound
|
|
@@ -104,41 +129,6 @@ export declare function verifyGitHubWebhookSignature(args: {
|
|
|
104
129
|
* });
|
|
105
130
|
* ```
|
|
106
131
|
*/
|
|
107
|
-
/**
|
|
108
|
-
* Core GitHub webhook dispatch used by {@link githubChannel} routes and by
|
|
109
|
-
* {@link handleAgentServeTrigger} fan-out. Signature verification is the
|
|
110
|
-
* caller's responsibility (HTTP route verifies; internal fan-out skips).
|
|
111
|
-
*/
|
|
112
|
-
/**
|
|
113
|
-
* Run authored GitHub hooks and `send()`. Does not extract a v2 mailbox —
|
|
114
|
-
* the local CP (or hosted verified ingress) stamps before this runs.
|
|
115
|
-
*/
|
|
116
|
-
export type GitHubDispatchOutcome = "skip" | "send" | "task";
|
|
117
|
-
export declare function getGitHubDispatchOutcome(response: Response): GitHubDispatchOutcome | undefined;
|
|
118
|
-
export declare function withPropagatingGitHubBackgroundErrors(args: ChannelHandlerArgs): ChannelHandlerArgs;
|
|
119
|
-
export declare function dispatchGitHubWebhook(input: {
|
|
120
|
-
options: GitHubChannelOptions;
|
|
121
|
-
eventName: string | null;
|
|
122
|
-
payload: unknown;
|
|
123
|
-
deliveryId?: string;
|
|
124
|
-
args: ChannelHandlerArgs;
|
|
125
|
-
}): Promise<Response>;
|
|
126
|
-
/**
|
|
127
|
-
* HTTP entry for a single agent's GitHub channel: optional HMAC verify, then
|
|
128
|
-
* {@link dispatchGitHubWebhook}.
|
|
129
|
-
*/
|
|
130
|
-
export declare function handleGitHubWebhookRequest(input: {
|
|
131
|
-
options: GitHubChannelOptions;
|
|
132
|
-
request: Request;
|
|
133
|
-
args: ChannelHandlerArgs;
|
|
134
|
-
/** When true, skip HMAC even if a webhook secret is configured. */
|
|
135
|
-
skipSignatureVerification?: boolean;
|
|
136
|
-
}): Promise<Response>;
|
|
137
|
-
/**
|
|
138
|
-
* Recover the {@link GitHubChannelOptions} used to build a channel definition,
|
|
139
|
-
* if it was created via {@link githubChannel}.
|
|
140
|
-
*/
|
|
141
|
-
export declare function getGitHubChannelOptions(definition: object): GitHubChannelOptions | undefined;
|
|
142
132
|
export declare function githubChannel(options?: GitHubChannelOptions): ChannelDefinition<GitHubChannelState>;
|
|
143
133
|
/** Match GitHub App bot actors (`slug` config vs `slug[bot]` login). */
|
|
144
134
|
export declare function isGitHubAppBotAuthor(author: GitHubUser | undefined, botName: string | undefined): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-channel.d.ts","sourceRoot":"","sources":["../../../src/channels/github/github-channel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"github-channel.d.ts","sourceRoot":"","sources":["../../../src/channels/github/github-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
11
11
|
import { z } from "zod";
|
|
12
12
|
import { allowAll, defineChannel, localDevStrict, loopbackGitHubDev, POST, } from "../../channels.js";
|
|
13
|
+
import { acknowledgeTask, acknowledgeTurn, isTaskDispatch, scheduleAfterAck, skipped, turnStarted, withPropagatingBackgroundErrors, } from "../../internal/channel-dispatch.js";
|
|
13
14
|
import { continuationSource, normalizeIdentity, } from "../../internal/continuation-identity.js";
|
|
14
|
-
import { isDeferredChannelSession } from "../../internal/deferred-channel-session.js";
|
|
15
15
|
import { isDevMode } from "../../internal/dev-mode.js";
|
|
16
16
|
import { attachHostedAdmissionAdapter } from "../../internal/hosted-admission-adapter.js";
|
|
17
17
|
import { bindLocalIngressSend } from "../../internal/local-ingress.js";
|
|
@@ -142,17 +142,9 @@ export function parseGitHubPrContinuationKey(key) {
|
|
|
142
142
|
number: Number(match[3]),
|
|
143
143
|
};
|
|
144
144
|
}
|
|
145
|
-
/** @deprecated Prefer {@link githubContinuationKey}. */
|
|
146
|
-
export function githubPullRequestContinuationKey(ctx) {
|
|
147
|
-
return githubContinuationKey(ctx);
|
|
148
|
-
}
|
|
149
145
|
export function defaultGitHubTitle(ctx) {
|
|
150
146
|
return `GitHub ${ctx.repository.fullName}#${ctx.conversation.number}`;
|
|
151
147
|
}
|
|
152
|
-
/** @deprecated Prefer {@link defaultGitHubTitle}. */
|
|
153
|
-
export function defaultGitHubPullRequestTitle(ctx) {
|
|
154
|
-
return defaultGitHubTitle(ctx);
|
|
155
|
-
}
|
|
156
148
|
export function defaultGitHubPullRequestMessage(ctx, pullRequest) {
|
|
157
149
|
return [
|
|
158
150
|
`GitHub pull request trigger: ${ctx.repository.fullName}#${pullRequest.number}`,
|
|
@@ -196,9 +188,6 @@ export function defaultOnComment(ctx, comment, options) {
|
|
|
196
188
|
}
|
|
197
189
|
return { auth: defaultGitHubAuth(ctx) };
|
|
198
190
|
}
|
|
199
|
-
function isTaskDispatch(dispatch) {
|
|
200
|
-
return "task" in dispatch;
|
|
201
|
-
}
|
|
202
191
|
export function shouldDispatchGitHubComment(args) {
|
|
203
192
|
var _a;
|
|
204
193
|
const botName = (_a = args.botName) === null || _a === void 0 ? void 0 : _a.trim();
|
|
@@ -285,24 +274,13 @@ function verifyWebhookSha256Signature(args) {
|
|
|
285
274
|
const received = Buffer.from(receivedHex, "hex");
|
|
286
275
|
return (received.length === expected.length && timingSafeEqual(received, expected));
|
|
287
276
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return dispatchOutcomeByResponse.get(response);
|
|
295
|
-
}
|
|
296
|
-
const PROPAGATE_BACKGROUND_ERRORS = Symbol("propagateBackgroundErrors");
|
|
297
|
-
export function withPropagatingGitHubBackgroundErrors(args) {
|
|
298
|
-
return Object.assign(args, { [PROPAGATE_BACKGROUND_ERRORS]: true });
|
|
299
|
-
}
|
|
277
|
+
/**
|
|
278
|
+
* Run the authored hooks for one GitHub delivery and `send()` the turn.
|
|
279
|
+
* Callers own delivery auth: the HTTP route verifies the HMAC; trigger
|
|
280
|
+
* fan-out and hosted admission arrive verified. The v2 mailbox is stamped
|
|
281
|
+
* upstream (local CP or hosted ingress), never here.
|
|
282
|
+
*/
|
|
300
283
|
export function dispatchGitHubWebhook(input) {
|
|
301
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
302
|
-
return dispatchGitHubWebhookInner(input);
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
function dispatchGitHubWebhookInner(input) {
|
|
306
284
|
return __awaiter(this, void 0, void 0, function* () {
|
|
307
285
|
var _a;
|
|
308
286
|
const { options, eventName, payload, deliveryId, args } = input;
|
|
@@ -392,12 +370,7 @@ function dispatchGitHubWebhookInner(input) {
|
|
|
392
370
|
args,
|
|
393
371
|
});
|
|
394
372
|
}
|
|
395
|
-
return
|
|
396
|
-
ok: true,
|
|
397
|
-
skipped: true,
|
|
398
|
-
reason: "unsupported_event",
|
|
399
|
-
event: eventName,
|
|
400
|
-
});
|
|
373
|
+
return skipped("unsupported_event", { event: eventName });
|
|
401
374
|
}
|
|
402
375
|
});
|
|
403
376
|
}
|
|
@@ -455,6 +428,41 @@ const githubChannelOptionsByDefinition = new WeakMap();
|
|
|
455
428
|
export function getGitHubChannelOptions(definition) {
|
|
456
429
|
return githubChannelOptionsByDefinition.get(definition);
|
|
457
430
|
}
|
|
431
|
+
/**
|
|
432
|
+
* GitHub webhook channel (Eve-compatible dispatch surface). Point a GitHub App
|
|
433
|
+
* or repository webhook at `/<agent>/v1/channels/github` and declare inbound
|
|
434
|
+
* hooks:
|
|
435
|
+
*
|
|
436
|
+
* ```ts
|
|
437
|
+
* import { defaultGitHubAuth, githubChannel } from "@cursor/july/channels/github";
|
|
438
|
+
*
|
|
439
|
+
* export default githubChannel({
|
|
440
|
+
* botName: "my-agent",
|
|
441
|
+
* credentials: { webhookSecret: () => process.env.GITHUB_WEBHOOK_SECRET },
|
|
442
|
+
* // Replaces the @mention gate. Prefer typed Octokit via getOctokit().
|
|
443
|
+
* onComment: (ctx, comment) => ({ auth: defaultGitHubAuth(ctx) }),
|
|
444
|
+
* onPullRequest: (ctx, pr) =>
|
|
445
|
+
* pr.action === "opened" ? { auth: defaultGitHubAuth(ctx) } : null,
|
|
446
|
+
* onStatus: (ctx, status) =>
|
|
447
|
+
* status.state === "failure"
|
|
448
|
+
* ? {
|
|
449
|
+
* task: async () => {
|
|
450
|
+
* const octokit = await ctx.github.getOctokit();
|
|
451
|
+
* await octokit.rest.repos.createCommitStatus({
|
|
452
|
+
* owner: ctx.repository.owner,
|
|
453
|
+
* repo: ctx.repository.name,
|
|
454
|
+
* sha: status.sha,
|
|
455
|
+
* state: "pending",
|
|
456
|
+
* context: "agent/triage",
|
|
457
|
+
* });
|
|
458
|
+
* },
|
|
459
|
+
* }
|
|
460
|
+
* : null,
|
|
461
|
+
* onEvent: (ctx, event) =>
|
|
462
|
+
* event.eventName === "label" ? { auth: defaultGitHubAuth(ctx) } : null,
|
|
463
|
+
* });
|
|
464
|
+
* ```
|
|
465
|
+
*/
|
|
458
466
|
export function githubChannel(options = {}) {
|
|
459
467
|
var _a, _b, _c;
|
|
460
468
|
const usesCursorAccount = options.cursorAccount === true || typeof options.cursorAccount === "object";
|
|
@@ -526,7 +534,7 @@ export function githubChannel(options = {}) {
|
|
|
526
534
|
githubChannelOptionsByDefinition.set(definition, channelOptions);
|
|
527
535
|
attachHostedAdmissionAdapter(definition, {
|
|
528
536
|
kind: GITHUB_CHANNEL_KIND,
|
|
529
|
-
prepareArgs:
|
|
537
|
+
prepareArgs: withPropagatingBackgroundErrors,
|
|
530
538
|
dispatch: ({ eventType, payload, deliveryId, args }) => dispatchGitHubWebhook({
|
|
531
539
|
options: channelOptions,
|
|
532
540
|
eventName: eventType,
|
|
@@ -534,10 +542,6 @@ export function githubChannel(options = {}) {
|
|
|
534
542
|
deliveryId,
|
|
535
543
|
args,
|
|
536
544
|
}),
|
|
537
|
-
getOutcome: (response) => {
|
|
538
|
-
const outcome = getGitHubDispatchOutcome(response);
|
|
539
|
-
return outcome === "skip" || outcome === "task" ? outcome : undefined;
|
|
540
|
-
},
|
|
541
545
|
});
|
|
542
546
|
if (cursorCredentials !== undefined) {
|
|
543
547
|
registerGithubCursorAccountRuntime(definition, {
|
|
@@ -573,6 +577,7 @@ function handlePullRequest(input) {
|
|
|
573
577
|
repo: parsed.ctx.repository.name,
|
|
574
578
|
number: parsed.ctx.conversation.number,
|
|
575
579
|
repositoryId: parsed.ctx.repository.id,
|
|
580
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
576
581
|
installationId,
|
|
577
582
|
});
|
|
578
583
|
const ctx = enrichEventContext({
|
|
@@ -591,7 +596,7 @@ function handlePullRequest(input) {
|
|
|
591
596
|
return skipped("not_dispatched", { action: pullRequest.action });
|
|
592
597
|
}
|
|
593
598
|
if (isTaskDispatch(dispatch)) {
|
|
594
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
599
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
595
600
|
action: pullRequest.action,
|
|
596
601
|
prUrl: pullRequest.url,
|
|
597
602
|
headSha: pullRequest.headSha,
|
|
@@ -643,6 +648,7 @@ function handleIssueComment(input) {
|
|
|
643
648
|
repo: parsed.ctx.repository.name,
|
|
644
649
|
number: parsed.ctx.conversation.number,
|
|
645
650
|
repositoryId: parsed.ctx.repository.id,
|
|
651
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
646
652
|
installationId,
|
|
647
653
|
triggeringCommentId: parsed.comment.id,
|
|
648
654
|
});
|
|
@@ -664,7 +670,7 @@ function handleIssueComment(input) {
|
|
|
664
670
|
return skipped("not_dispatched");
|
|
665
671
|
}
|
|
666
672
|
if (isTaskDispatch(dispatch)) {
|
|
667
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
673
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
668
674
|
event: "issue_comment",
|
|
669
675
|
action: parsed.action,
|
|
670
676
|
});
|
|
@@ -714,6 +720,7 @@ function handleReviewComment(input) {
|
|
|
714
720
|
repo: parsed.ctx.repository.name,
|
|
715
721
|
number: parsed.ctx.conversation.number,
|
|
716
722
|
repositoryId: parsed.ctx.repository.id,
|
|
723
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
717
724
|
installationId,
|
|
718
725
|
triggeringCommentId: parsed.comment.id,
|
|
719
726
|
reviewCommentId: parsed.comment.id,
|
|
@@ -737,7 +744,7 @@ function handleReviewComment(input) {
|
|
|
737
744
|
return skipped("not_dispatched");
|
|
738
745
|
}
|
|
739
746
|
if (isTaskDispatch(dispatch)) {
|
|
740
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
747
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
741
748
|
event: "pull_request_review_comment",
|
|
742
749
|
action: parsed.action,
|
|
743
750
|
});
|
|
@@ -787,6 +794,7 @@ function handleIssue(input) {
|
|
|
787
794
|
repo: parsed.ctx.repository.name,
|
|
788
795
|
number: parsed.ctx.conversation.number,
|
|
789
796
|
repositoryId: parsed.ctx.repository.id,
|
|
797
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
790
798
|
installationId,
|
|
791
799
|
});
|
|
792
800
|
const ctx = enrichEventContext({
|
|
@@ -803,7 +811,7 @@ function handleIssue(input) {
|
|
|
803
811
|
return skipped("not_dispatched", { action: parsed.issue.action });
|
|
804
812
|
}
|
|
805
813
|
if (isTaskDispatch(dispatch)) {
|
|
806
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
814
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
807
815
|
event: "issues",
|
|
808
816
|
action: parsed.issue.action,
|
|
809
817
|
issueNumber: parsed.issue.number,
|
|
@@ -851,7 +859,7 @@ function handleCheckSuite(input) {
|
|
|
851
859
|
artifacts: input.args.artifacts,
|
|
852
860
|
}), parsed.checkSuite);
|
|
853
861
|
if (dispatch !== null && isTaskDispatch(dispatch)) {
|
|
854
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
862
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
855
863
|
event: "check_suite",
|
|
856
864
|
action: parsed.checkSuite.action,
|
|
857
865
|
checkSuiteId: parsed.checkSuite.checkSuiteId,
|
|
@@ -865,6 +873,7 @@ function handleCheckSuite(input) {
|
|
|
865
873
|
repo: parsed.ctx.repository.name,
|
|
866
874
|
number: parsed.ctx.conversation.number,
|
|
867
875
|
repositoryId: parsed.ctx.repository.id,
|
|
876
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
868
877
|
installationId,
|
|
869
878
|
});
|
|
870
879
|
const ctx = enrichEventContext({
|
|
@@ -881,7 +890,7 @@ function handleCheckSuite(input) {
|
|
|
881
890
|
return skipped("not_dispatched", { action: parsed.checkSuite.action });
|
|
882
891
|
}
|
|
883
892
|
if (isTaskDispatch(dispatch)) {
|
|
884
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
893
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
885
894
|
event: "check_suite",
|
|
886
895
|
action: parsed.checkSuite.action,
|
|
887
896
|
checkSuiteId: parsed.checkSuite.checkSuiteId,
|
|
@@ -930,7 +939,7 @@ function handleCheckRun(input) {
|
|
|
930
939
|
artifacts: input.args.artifacts,
|
|
931
940
|
}), parsed.checkRun);
|
|
932
941
|
if (dispatch !== null && isTaskDispatch(dispatch)) {
|
|
933
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
942
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
934
943
|
event: "check_run",
|
|
935
944
|
action: parsed.checkRun.action,
|
|
936
945
|
checkRunId: parsed.checkRun.checkRunId,
|
|
@@ -944,6 +953,7 @@ function handleCheckRun(input) {
|
|
|
944
953
|
repo: parsed.ctx.repository.name,
|
|
945
954
|
number: parsed.ctx.conversation.number,
|
|
946
955
|
repositoryId: parsed.ctx.repository.id,
|
|
956
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
947
957
|
installationId,
|
|
948
958
|
});
|
|
949
959
|
const ctx = enrichEventContext({
|
|
@@ -960,7 +970,7 @@ function handleCheckRun(input) {
|
|
|
960
970
|
return skipped("not_dispatched", { action: parsed.checkRun.action });
|
|
961
971
|
}
|
|
962
972
|
if (isTaskDispatch(dispatch)) {
|
|
963
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
973
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
964
974
|
event: "check_run",
|
|
965
975
|
action: parsed.checkRun.action,
|
|
966
976
|
checkRunId: parsed.checkRun.checkRunId,
|
|
@@ -1009,7 +1019,7 @@ function handleWorkflowRun(input) {
|
|
|
1009
1019
|
artifacts: input.args.artifacts,
|
|
1010
1020
|
}), parsed.workflowRun);
|
|
1011
1021
|
if (dispatch !== null && isTaskDispatch(dispatch)) {
|
|
1012
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
1022
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
1013
1023
|
event: "workflow_run",
|
|
1014
1024
|
action: parsed.workflowRun.action,
|
|
1015
1025
|
workflowRunId: parsed.workflowRun.workflowRunId,
|
|
@@ -1023,6 +1033,7 @@ function handleWorkflowRun(input) {
|
|
|
1023
1033
|
repo: parsed.ctx.repository.name,
|
|
1024
1034
|
number: parsed.ctx.conversation.number,
|
|
1025
1035
|
repositoryId: parsed.ctx.repository.id,
|
|
1036
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
1026
1037
|
installationId,
|
|
1027
1038
|
});
|
|
1028
1039
|
const ctx = enrichEventContext({
|
|
@@ -1039,7 +1050,7 @@ function handleWorkflowRun(input) {
|
|
|
1039
1050
|
return skipped("not_dispatched", { action: parsed.workflowRun.action });
|
|
1040
1051
|
}
|
|
1041
1052
|
if (isTaskDispatch(dispatch)) {
|
|
1042
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
1053
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
1043
1054
|
event: "workflow_run",
|
|
1044
1055
|
action: parsed.workflowRun.action,
|
|
1045
1056
|
workflowRunId: parsed.workflowRun.workflowRunId,
|
|
@@ -1084,6 +1095,7 @@ function handleStatus(input) {
|
|
|
1084
1095
|
repo: parsed.ctx.repository.name,
|
|
1085
1096
|
number: parsed.ctx.conversation.number,
|
|
1086
1097
|
repositoryId: parsed.ctx.repository.id,
|
|
1098
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
1087
1099
|
installationId,
|
|
1088
1100
|
});
|
|
1089
1101
|
const ctx = enrichEventContext({
|
|
@@ -1103,7 +1115,7 @@ function handleStatus(input) {
|
|
|
1103
1115
|
});
|
|
1104
1116
|
}
|
|
1105
1117
|
if (isTaskDispatch(dispatch)) {
|
|
1106
|
-
return acknowledgeTask(input.args, dispatch, {
|
|
1118
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, {
|
|
1107
1119
|
event: "status",
|
|
1108
1120
|
state: parsed.status.state,
|
|
1109
1121
|
sha: parsed.status.sha,
|
|
@@ -1153,6 +1165,7 @@ function handleGenericEvent(input) {
|
|
|
1153
1165
|
repo: parsed.ctx.repository.name,
|
|
1154
1166
|
number: parsed.ctx.conversation.number,
|
|
1155
1167
|
repositoryId: parsed.ctx.repository.id,
|
|
1168
|
+
repositoryUrl: parsed.ctx.repository.url,
|
|
1156
1169
|
installationId,
|
|
1157
1170
|
});
|
|
1158
1171
|
const ctx = enrichEventContext({
|
|
@@ -1169,7 +1182,7 @@ function handleGenericEvent(input) {
|
|
|
1169
1182
|
return skipped("not_dispatched", { event: input.eventName });
|
|
1170
1183
|
}
|
|
1171
1184
|
if (isTaskDispatch(dispatch)) {
|
|
1172
|
-
return acknowledgeTask(input.args, dispatch, Object.assign({ event: input.eventName }, (parsed.event.action === undefined
|
|
1185
|
+
return acknowledgeTask(input.args, GITHUB_CHANNEL_KIND, dispatch, Object.assign({ event: input.eventName }, (parsed.event.action === undefined
|
|
1173
1186
|
? {}
|
|
1174
1187
|
: { action: parsed.event.action })));
|
|
1175
1188
|
}
|
|
@@ -1209,61 +1222,14 @@ function startTurn(input) {
|
|
|
1209
1222
|
refreshState: input.state }));
|
|
1210
1223
|
});
|
|
1211
1224
|
if (lazy) {
|
|
1212
|
-
scheduleAfterAck(input.args, () => __awaiter(this, void 0, void 0, function* () {
|
|
1225
|
+
scheduleAfterAck(input.args, GITHUB_CHANNEL_KIND, () => __awaiter(this, void 0, void 0, function* () {
|
|
1213
1226
|
yield sendTurn();
|
|
1214
1227
|
}));
|
|
1215
1228
|
return acknowledgeTurn();
|
|
1216
1229
|
}
|
|
1217
|
-
|
|
1218
|
-
if (isDeferredChannelSession(session)) {
|
|
1219
|
-
// Hosted admission captured the send; the control plane allocates the
|
|
1220
|
-
// session after acknowledgement, so there is nothing to report yet.
|
|
1221
|
-
return acknowledgeTurn();
|
|
1222
|
-
}
|
|
1223
|
-
return withDispatchOutcome(Response.json({
|
|
1224
|
-
ok: true,
|
|
1225
|
-
sessionId: session.id,
|
|
1226
|
-
isNew: session.isNew,
|
|
1227
|
-
continuationToken: session.continuationToken,
|
|
1228
|
-
}), "send");
|
|
1230
|
+
return turnStarted(yield sendTurn());
|
|
1229
1231
|
});
|
|
1230
1232
|
}
|
|
1231
|
-
function scheduleAfterAck(args, work) {
|
|
1232
|
-
// Defer past the current turn so the 202 can flush before work starts
|
|
1233
|
-
// (and so tests can assert scheduling without racing microtasks).
|
|
1234
|
-
args.waitUntil(new Promise((resolve, reject) => {
|
|
1235
|
-
setImmediate(() => {
|
|
1236
|
-
Promise.resolve()
|
|
1237
|
-
.then(work)
|
|
1238
|
-
.then(() => resolve(), (error) => {
|
|
1239
|
-
var _a;
|
|
1240
|
-
if (args[PROPAGATE_BACKGROUND_ERRORS] ===
|
|
1241
|
-
true) {
|
|
1242
|
-
reject(error);
|
|
1243
|
-
return;
|
|
1244
|
-
}
|
|
1245
|
-
const detail = error instanceof Error
|
|
1246
|
-
? ((_a = error.stack) !== null && _a !== void 0 ? _a : error.message)
|
|
1247
|
-
: String(error);
|
|
1248
|
-
console.error(`[github] background dispatch failed: ${detail}`);
|
|
1249
|
-
resolve();
|
|
1250
|
-
});
|
|
1251
|
-
});
|
|
1252
|
-
}));
|
|
1253
|
-
}
|
|
1254
|
-
/** 202 ack for a turn whose send completes after the response flushes. */
|
|
1255
|
-
function acknowledgeTurn() {
|
|
1256
|
-
return withDispatchOutcome(Response.json({ ok: true, dispatched: true, mode: "turn" }, { status: 202 }), "send");
|
|
1257
|
-
}
|
|
1258
|
-
function acknowledgeTask(args, dispatch, extra) {
|
|
1259
|
-
// Hand the task the per-delivery send/waitUntil so hosted admission can
|
|
1260
|
-
// capture task-initiated sends; startup-captured sends bypass capture.
|
|
1261
|
-
scheduleAfterAck(args, () => dispatch.task({ send: args.send, waitUntil: args.waitUntil }));
|
|
1262
|
-
return withDispatchOutcome(Response.json(Object.assign({ ok: true, dispatched: true, mode: "task" }, extra), { status: 202 }), "task");
|
|
1263
|
-
}
|
|
1264
|
-
function skipped(reason, extra = {}) {
|
|
1265
|
-
return withDispatchOutcome(Response.json(Object.assign({ ok: true, skipped: true, reason }, extra)), "skip");
|
|
1266
|
-
}
|
|
1267
1233
|
function formatCiMessage(label, id, event) {
|
|
1268
1234
|
var _a;
|
|
1269
1235
|
const outcome = (_a = event.conclusion) !== null && _a !== void 0 ? _a : event.status;
|
|
@@ -1814,6 +1780,7 @@ function enrichCiContext(input) {
|
|
|
1814
1780
|
repo: input.ctx.repository.name,
|
|
1815
1781
|
number: input.ctx.conversation.number,
|
|
1816
1782
|
repositoryId: input.ctx.repository.id,
|
|
1783
|
+
repositoryUrl: input.ctx.repository.url,
|
|
1817
1784
|
installationId: input.installationId,
|
|
1818
1785
|
});
|
|
1819
1786
|
return enrichEventContext({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Synthesize GitHub webhook payloads from data you can *read* about a PR, so
|
|
3
|
-
* `agent-
|
|
3
|
+
* `agent-sdk github replay` can exercise a `githubChannel()` without repo
|
|
4
4
|
* admin, without the `gh webhook forward` relay, and deterministically (great
|
|
5
5
|
* for hillclimbing).
|
|
6
6
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Synthesize GitHub webhook payloads from data you can *read* about a PR, so
|
|
3
|
-
* `agent-
|
|
3
|
+
* `agent-sdk github replay` can exercise a `githubChannel()` without repo
|
|
4
4
|
* admin, without the `gh webhook forward` relay, and deterministically (great
|
|
5
5
|
* for hillclimbing).
|
|
6
6
|
*
|
|
@@ -31,6 +31,8 @@ export declare function githubBindingStateForEvent(input: {
|
|
|
31
31
|
repo: string;
|
|
32
32
|
number: number;
|
|
33
33
|
repositoryId?: number;
|
|
34
|
+
/** `repository.html_url` (GHES host lives here). */
|
|
35
|
+
repositoryUrl?: string;
|
|
34
36
|
installationId?: number;
|
|
35
37
|
triggeringCommentId?: number;
|
|
36
38
|
reviewCommentId?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/channels/github/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6DAA6D;IAC7D,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,4DAA4D;IAC5D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yDAAyD;IACzD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,yBAAyB,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,wBAAgB,uBAAuB,CACrC,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC1C,kBAAkB,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/channels/github/state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6DAA6D;IAC7D,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,4DAA4D;IAC5D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yDAAyD;IACzD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,yBAAyB,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,wBAAgB,uBAAuB,CACrC,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC1C,kBAAkB,CAwBpB;AAED,wDAAwD;AACxD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GAAG,kBAAkB,CAgDrB"}
|