@cursor/july 0.1.102 → 0.1.104
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/change-monitors/change-monitors-channel.d.ts +5 -0
- package/dist/channels/change-monitors/change-monitors-channel.d.ts.map +1 -0
- package/dist/channels/change-monitors/change-monitors-channel.js +41 -0
- package/dist/channels/change-monitors/index.d.ts +4 -0
- package/dist/channels/change-monitors/index.d.ts.map +1 -0
- package/dist/channels/change-monitors/index.js +2 -0
- package/dist/channels/change-monitors/types.d.ts +39 -0
- package/dist/channels/change-monitors/types.d.ts.map +1 -0
- package/dist/channels/change-monitors/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/defaults.d.ts.map +1 -1
- package/dist/channels/github/defaults.js +4 -0
- 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/progress.d.ts +22 -0
- package/dist/channels/github/progress.d.ts.map +1 -1
- package/dist/channels/github/progress.js +32 -5
- 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/issues/index.d.ts +4 -0
- package/dist/channels/issues/index.d.ts.map +1 -0
- package/dist/channels/issues/index.js +2 -0
- package/dist/channels/issues/issues-channel.d.ts +5 -0
- package/dist/channels/issues/issues-channel.d.ts.map +1 -0
- package/dist/channels/issues/issues-channel.js +37 -0
- package/dist/channels/issues/types.d.ts +33 -0
- package/dist/channels/issues/types.d.ts.map +1 -0
- package/dist/channels/issues/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.DbMWUyGb.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.Bqsulb9K.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.ifxv-cJV.js → VPLocalSearchBox.DcNeTh9o.js} +1 -1
- package/dist/docs/assets/chunks/{theme.DWCwM6p-.js → theme.DMjhY3gl.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.c0gdGJ-D.js} +1 -1
- package/dist/docs/assets/{guides_github.md.BtPr9GaP.lean.js → guides_github.md.c0gdGJ-D.lean.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.DBGcaB7m.js} +2 -2
- package/dist/docs/assets/{reference_channels.md.Cd2f2iyV.lean.js → reference_channels.md.DBGcaB7m.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/filesystem.md +376 -0
- 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 +5 -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 +907 -262
- package/dist/docs/llms.txt +3 -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 +38 -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/filesystem.d.ts +440 -0
- package/dist/filesystem.d.ts.map +1 -0
- package/dist/filesystem.js +1694 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -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 +18 -2
- package/dist/internal/continuation-channel.d.ts.map +1 -1
- package/dist/internal/continuation-channel.js +67 -5
- package/dist/internal/continuation-identity.d.ts +24 -17
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +246 -32
- 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 +141 -120
- 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 +10 -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/factory-resource-channel.d.ts +33 -0
- package/dist/internal/factory-resource-channel.d.ts.map +1 -0
- package/dist/internal/factory-resource-channel.js +77 -0
- package/dist/internal/filesystem/errors.d.ts +64 -0
- package/dist/internal/filesystem/errors.d.ts.map +1 -0
- package/dist/internal/filesystem/errors.js +175 -0
- package/dist/internal/filesystem/format.d.ts +28 -0
- package/dist/internal/filesystem/format.d.ts.map +1 -0
- package/dist/internal/filesystem/format.js +213 -0
- package/dist/internal/filesystem/merge.d.ts +34 -0
- package/dist/internal/filesystem/merge.d.ts.map +1 -0
- package/dist/internal/filesystem/merge.js +196 -0
- package/dist/internal/filesystem/scratch.d.ts +59 -0
- package/dist/internal/filesystem/scratch.d.ts.map +1 -0
- package/dist/internal/filesystem/scratch.js +212 -0
- package/dist/internal/filesystem/sdk-schemas.d.ts +29 -0
- package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -0
- package/dist/internal/filesystem/sdk-schemas.js +153 -0
- package/dist/internal/filesystem/tools.d.ts +42 -0
- package/dist/internal/filesystem/tools.d.ts.map +1 -0
- package/dist/internal/filesystem/tools.js +618 -0
- package/dist/internal/filesystem/walk.d.ts +74 -0
- package/dist/internal/filesystem/walk.d.ts.map +1 -0
- package/dist/internal/filesystem/walk.js +339 -0
- 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 +104 -0
- package/dist/internal/guest-network.d.ts.map +1 -0
- package/dist/internal/guest-network.js +309 -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 +258 -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 +1 -1
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +6 -7
- 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 +48 -11
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +507 -115
- 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/factory-resource-fixtures.d.ts +48 -0
- package/dist/internal/testing/factory-resource-fixtures.d.ts.map +1 -0
- package/dist/internal/testing/factory-resource-fixtures.js +41 -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-8YiozU89.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 +141 -26
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +2 -2
- package/docs/concepts.md +2 -4
- package/docs/design/filesystem.md +376 -0
- 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 +5 -1
- package/docs/guides/opentelemetry.md +41 -17
- package/docs/reference/agent-config.md +6 -10
- package/docs/reference/channels.md +38 -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 +42 -9
- 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/change-monitors/change-monitors-channel.ts +62 -0
- package/src/channels/change-monitors/index.ts +8 -0
- package/src/channels/change-monitors/types.ts +44 -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/defaults.ts +4 -0
- 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/progress.ts +76 -10
- 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/issues/index.ts +9 -0
- package/src/channels/issues/issues-channel.ts +51 -0
- package/src/channels/issues/types.ts +41 -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/filesystem.ts +2074 -0
- package/src/index.ts +48 -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 +102 -4
- package/src/internal/continuation-identity.ts +338 -35
- 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 +181 -136
- 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 +10 -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/factory-resource-channel.ts +122 -0
- package/src/internal/filesystem/errors.ts +220 -0
- package/src/internal/filesystem/format.ts +276 -0
- package/src/internal/filesystem/merge.ts +195 -0
- package/src/internal/filesystem/scratch.ts +255 -0
- package/src/internal/filesystem/sdk-schemas.ts +204 -0
- package/src/internal/filesystem/tools.ts +821 -0
- package/src/internal/filesystem/walk.ts +369 -0
- package/src/internal/framework-file-storage.ts +8 -8
- package/src/internal/github-fanout.ts +1 -1
- package/src/internal/guest-network.ts +389 -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 +393 -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 +7 -7
- package/src/internal/server.ts +153 -44
- package/src/internal/session-cost.ts +3 -3
- package/src/internal/session-engine.ts +621 -103
- 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/factory-resource-fixtures.ts +85 -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 +154 -37
- 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/{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,282 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The grokbot runtime's remote client — a thin client like `"cloud"`.
|
|
3
|
-
* Turns execute on Cursor's hosted Grok Bot (Sand) harness (the Temporal
|
|
4
|
-
* turn workflow and the account's own computer), reached through the
|
|
5
|
-
* public `/v0/grokbot` session API.
|
|
6
|
-
*
|
|
7
|
-
* Sand delivery contract, preserved end to end: only content the agent
|
|
8
|
-
* delivers through SendToUser becomes the user-visible reply. The hosted
|
|
9
|
-
* transcript exposes those deliveries as `send-message` entries; the
|
|
10
|
-
* agent's internal monologue never appears in the transcript, so it can
|
|
11
|
-
* never leak into the session reply.
|
|
12
|
-
*/
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
import { randomUUID } from "node:crypto";
|
|
23
|
-
import { cursorExternalApiUrl, resolveApiKeySync, } from "../cursor/credentials.js";
|
|
24
|
-
const DEFAULT_POLL_INTERVAL_MS = 750;
|
|
25
|
-
const DEFAULT_TURN_TIMEOUT_MS = 20 * 60 * 1000;
|
|
26
|
-
/**
|
|
27
|
-
* Idle polls required after a send before the turn is considered settled
|
|
28
|
-
* when the workflow never reported busy — covers the window between the
|
|
29
|
-
* accepted dispatch and the workflow picking the signal up.
|
|
30
|
-
*/
|
|
31
|
-
const MIN_IDLE_POLLS_WITHOUT_BUSY = 4;
|
|
32
|
-
class GrokBotApiError extends Error {
|
|
33
|
-
constructor(status, path, body) {
|
|
34
|
-
super(`Grok Bot API ${path} failed (HTTP ${status}): ${body.slice(0, 300)}`);
|
|
35
|
-
this.status = status;
|
|
36
|
-
this.path = path;
|
|
37
|
-
this.name = "GrokBotApiError";
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/** Minimal `/v0/grokbot` client: bearer API key, JSON in/out. */
|
|
41
|
-
class GrokBotApiClient {
|
|
42
|
-
constructor(options) {
|
|
43
|
-
var _a;
|
|
44
|
-
var _b, _c;
|
|
45
|
-
this.fetchImpl = (_b = options.fetchImpl) !== null && _b !== void 0 ? _b : fetch;
|
|
46
|
-
this.baseUrl = ((_c = options.backendUrl) !== null && _c !== void 0 ? _c : cursorExternalApiUrl()).replace(/\/$/, "");
|
|
47
|
-
const apiKey = (_a = resolveApiKeySync({
|
|
48
|
-
apiKey: options.apiKey,
|
|
49
|
-
backendUrl: options.backendUrl,
|
|
50
|
-
})) === null || _a === void 0 ? void 0 : _a.apiKey;
|
|
51
|
-
if (apiKey === undefined || apiKey === "") {
|
|
52
|
-
throw new Error('runtime: "grokbot" needs a Cursor API key (CURSOR_API_KEY, CURSOR_API_KEY_FILE, or agent-sdk login) to reach the hosted Grok Bot harness.');
|
|
53
|
-
}
|
|
54
|
-
this.apiKey = apiKey;
|
|
55
|
-
}
|
|
56
|
-
request(args) {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
const headers = {
|
|
59
|
-
authorization: `Bearer ${this.apiKey}`,
|
|
60
|
-
};
|
|
61
|
-
if (args.body !== undefined) {
|
|
62
|
-
headers["content-type"] = "application/json";
|
|
63
|
-
}
|
|
64
|
-
const response = yield this.fetchImpl(`${this.baseUrl}${args.path}`, {
|
|
65
|
-
method: args.method,
|
|
66
|
-
headers,
|
|
67
|
-
body: args.body === undefined ? undefined : JSON.stringify(args.body),
|
|
68
|
-
});
|
|
69
|
-
if (!response.ok) {
|
|
70
|
-
throw new GrokBotApiError(response.status, args.path, yield response.text().catch(() => ""));
|
|
71
|
-
}
|
|
72
|
-
return (yield response.json());
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
createSession(args) {
|
|
76
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
return yield this.request({
|
|
78
|
-
method: "POST",
|
|
79
|
-
path: "/v0/grokbot/sessions",
|
|
80
|
-
body: { name: args.name, instructions: args.instructions },
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
sendMessage(args) {
|
|
85
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
return yield this.request({
|
|
87
|
-
method: "POST",
|
|
88
|
-
path: `/v0/grokbot/sessions/${args.sessionId}/messages`,
|
|
89
|
-
body: { text: args.text, messageId: randomUUID() },
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
listEntries(args) {
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
return yield this.request({
|
|
96
|
-
method: "GET",
|
|
97
|
-
path: `/v0/grokbot/sessions/${args.sessionId}/entries?afterUpdatedSeq=${args.afterUpdatedSeq}`,
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
interrupt(args) {
|
|
102
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
yield this.request({
|
|
104
|
-
method: "POST",
|
|
105
|
-
path: `/v0/grokbot/sessions/${args.sessionId}/interrupt`,
|
|
106
|
-
body: { reason: args.reason },
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
export class GrokBotRunner {
|
|
112
|
-
constructor(options = {}) {
|
|
113
|
-
this.options = options;
|
|
114
|
-
/**
|
|
115
|
-
* One hosted Grok Bot agent per SDK agent name — the backend
|
|
116
|
-
* get-or-creates by name, so every SDK session forwards into the same
|
|
117
|
-
* hosted agent and conversation, and the Grok Bot app shows one agent
|
|
118
|
-
* rather than one per session.
|
|
119
|
-
*/
|
|
120
|
-
this.agents = new Map();
|
|
121
|
-
/**
|
|
122
|
-
* Per-hosted-agent turn chain. Sessions share one hosted conversation
|
|
123
|
-
* and one transcript cursor, so turns run one at a time per agent:
|
|
124
|
-
* deliveries attribute to the turn that sent them, and an abort only
|
|
125
|
-
* interrupts its own turn — mirroring the hosted workflow's own queue.
|
|
126
|
-
*/
|
|
127
|
-
this.turns = new Map();
|
|
128
|
-
}
|
|
129
|
-
runTurn(request) {
|
|
130
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
-
var _a;
|
|
132
|
-
if (request.runtime !== "grokbot") {
|
|
133
|
-
throw new Error(`Session ${request.sessionId} is a ${request.runtime} turn, which the Grok Bot runner cannot execute.`);
|
|
134
|
-
}
|
|
135
|
-
if (request.images !== undefined && request.images.length > 0) {
|
|
136
|
-
// Attachments ride the hosted box's upload path, which the /v0
|
|
137
|
-
// session API does not expose yet. Refuse rather than silently
|
|
138
|
-
// dropping what the user attached.
|
|
139
|
-
throw new Error("Image attachments are not supported on grokbot turns yet.");
|
|
140
|
-
}
|
|
141
|
-
const name = hostedAgentName(request);
|
|
142
|
-
const previous = (_a = this.turns.get(name)) !== null && _a !== void 0 ? _a : Promise.resolve();
|
|
143
|
-
const run = previous.then(() => this.executeTurn(request));
|
|
144
|
-
this.turns.set(name, run.catch(() => { }));
|
|
145
|
-
return yield run;
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
executeTurn(request) {
|
|
149
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
-
var _a, _b;
|
|
151
|
-
const signal = request.signal;
|
|
152
|
-
if ((signal === null || signal === void 0 ? void 0 : signal.aborted) === true) {
|
|
153
|
-
return { status: "cancelled" };
|
|
154
|
-
}
|
|
155
|
-
const client = this.ensureClient();
|
|
156
|
-
const entry = yield this.getAgent(client, request);
|
|
157
|
-
const send = yield client.sendMessage({
|
|
158
|
-
sessionId: entry.remoteId,
|
|
159
|
-
text: request.prompt,
|
|
160
|
-
});
|
|
161
|
-
if (send.delivery !== "accepted_temporal" &&
|
|
162
|
-
send.delivery !== "duplicate") {
|
|
163
|
-
throw new Error(`The hosted Grok Bot harness did not accept the turn (delivery: ${send.delivery}).`);
|
|
164
|
-
}
|
|
165
|
-
const pollIntervalMs = (_a = this.options.pollIntervalMs) !== null && _a !== void 0 ? _a : DEFAULT_POLL_INTERVAL_MS;
|
|
166
|
-
const turnTimeoutMs = (_b = this.options.turnTimeoutMs) !== null && _b !== void 0 ? _b : DEFAULT_TURN_TIMEOUT_MS;
|
|
167
|
-
const deadline = Date.now() + turnTimeoutMs;
|
|
168
|
-
const delivered = [];
|
|
169
|
-
let sawBusy = false;
|
|
170
|
-
let idlePolls = 0;
|
|
171
|
-
while (true) {
|
|
172
|
-
// On abort: interrupt the hosted run, drain entries once so a reply
|
|
173
|
-
// that already landed still streams out, then cancel.
|
|
174
|
-
const aborted = isAborted(signal);
|
|
175
|
-
if (aborted) {
|
|
176
|
-
yield client
|
|
177
|
-
.interrupt({
|
|
178
|
-
sessionId: entry.remoteId,
|
|
179
|
-
reason: "The user sent a new message.",
|
|
180
|
-
})
|
|
181
|
-
.catch(() => { });
|
|
182
|
-
}
|
|
183
|
-
const page = yield client.listEntries({
|
|
184
|
-
sessionId: entry.remoteId,
|
|
185
|
-
afterUpdatedSeq: entry.lastUpdatedSeq,
|
|
186
|
-
});
|
|
187
|
-
entry.lastUpdatedSeq = BigInt(page.latestUpdatedSeq);
|
|
188
|
-
for (const item of page.entries) {
|
|
189
|
-
if (item.kind !== "send-message" || item.text === undefined) {
|
|
190
|
-
continue;
|
|
191
|
-
}
|
|
192
|
-
const delta = delivered.length === 0 ? item.text : `\n\n${item.text}`;
|
|
193
|
-
delivered.push(item.text);
|
|
194
|
-
// The emit callback may be async; a rejection must never escape
|
|
195
|
-
// the poll loop.
|
|
196
|
-
void Promise.resolve(request.onUpdate({ type: "text-delta", text: delta })).catch(() => { });
|
|
197
|
-
}
|
|
198
|
-
if (aborted) {
|
|
199
|
-
return { status: "cancelled" };
|
|
200
|
-
}
|
|
201
|
-
if (page.turn.inFlight || page.turn.queued > 0) {
|
|
202
|
-
sawBusy = true;
|
|
203
|
-
}
|
|
204
|
-
else if (page.turn.idle) {
|
|
205
|
-
idlePolls += 1;
|
|
206
|
-
if (sawBusy || idlePolls >= MIN_IDLE_POLLS_WITHOUT_BUSY) {
|
|
207
|
-
return {
|
|
208
|
-
status: "finished",
|
|
209
|
-
result: delivered.length === 0 ? undefined : delivered.join("\n\n"),
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
if (Date.now() >= deadline) {
|
|
214
|
-
throw new Error(`The grokbot turn for session ${request.sessionId} did not settle within ${Math.round(turnTimeoutMs / 60000)} minutes.`);
|
|
215
|
-
}
|
|
216
|
-
yield this.sleep(pollIntervalMs, signal);
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
dispose() {
|
|
221
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
222
|
-
// Hosted agents live server-side (the account's Grok Bot agents);
|
|
223
|
-
// nothing in this process holds conversation state.
|
|
224
|
-
this.agents.clear();
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
ensureClient() {
|
|
228
|
-
var _a;
|
|
229
|
-
(_a = this.client) !== null && _a !== void 0 ? _a : (this.client = new GrokBotApiClient(this.options));
|
|
230
|
-
return this.client;
|
|
231
|
-
}
|
|
232
|
-
getAgent(client, request) {
|
|
233
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
234
|
-
const name = hostedAgentName(request);
|
|
235
|
-
const existing = this.agents.get(name);
|
|
236
|
-
if (existing !== undefined) {
|
|
237
|
-
return existing;
|
|
238
|
-
}
|
|
239
|
-
// Get-or-create: a reconnect (new process, same agent name) lands on
|
|
240
|
-
// the existing hosted agent. The returned tail seq starts the cursor
|
|
241
|
-
// after the hosted conversation's history so an old transcript never
|
|
242
|
-
// replays into this turn's reply.
|
|
243
|
-
const created = yield client.createSession({
|
|
244
|
-
name,
|
|
245
|
-
instructions: request.instructions,
|
|
246
|
-
});
|
|
247
|
-
const entry = {
|
|
248
|
-
remoteId: created.id,
|
|
249
|
-
lastUpdatedSeq: BigInt(created.latestUpdatedSeq),
|
|
250
|
-
};
|
|
251
|
-
this.agents.set(name, entry);
|
|
252
|
-
return entry;
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
sleep(ms, signal) {
|
|
256
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
257
|
-
yield new Promise((resolve) => {
|
|
258
|
-
const timer = setTimeout(() => {
|
|
259
|
-
signal === null || signal === void 0 ? void 0 : signal.removeEventListener("abort", onAbort);
|
|
260
|
-
resolve();
|
|
261
|
-
}, ms);
|
|
262
|
-
const onAbort = () => {
|
|
263
|
-
clearTimeout(timer);
|
|
264
|
-
resolve();
|
|
265
|
-
};
|
|
266
|
-
signal === null || signal === void 0 ? void 0 : signal.addEventListener("abort", onAbort, { once: true });
|
|
267
|
-
});
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
function hostedAgentName(request) {
|
|
272
|
-
var _a;
|
|
273
|
-
return (_a = request.agentName) !== null && _a !== void 0 ? _a : "Agent SDK agent";
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* `AbortSignal.aborted` is readonly to TypeScript, so an inline recheck
|
|
277
|
-
* after an await narrows to the stale pre-await value; the function
|
|
278
|
-
* boundary keeps the recheck honest.
|
|
279
|
-
*/
|
|
280
|
-
function isAborted(signal) {
|
|
281
|
-
return (signal === null || signal === void 0 ? void 0 : signal.aborted) === true;
|
|
282
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Envelope-carried installation config for managed-product deliveries
|
|
3
|
-
* (plan 0002 Stack H1; envelope shape from Stack B1).
|
|
4
|
-
*
|
|
5
|
-
* On the v2 architecture a managed product (security-reviewer, …) is many
|
|
6
|
-
* single-tenant deployments: the pre-signal trigger gate matches the
|
|
7
|
-
* customer's automation trigger before a workflow starts and stamps the
|
|
8
|
-
* matched automation uuid + an opaque installation-config reference on the
|
|
9
|
-
* attributed session envelope. The delivery activity forwards the matched
|
|
10
|
-
* installation-config document to the fork **inside the webhook payload it
|
|
11
|
-
* POSTs to the channel**, under {@link MANAGED_DELIVERY_PAYLOAD_KEY} — the
|
|
12
|
-
* same embed-in-payload pattern the legacy deployment event stream used
|
|
13
|
-
* for its source marker.
|
|
14
|
-
*
|
|
15
|
-
* This module is the one contract both sides share: the control-plane
|
|
16
|
-
* delivery path embeds with {@link withManagedDeliveryConfig}; the agent's
|
|
17
|
-
* channels detect and read with {@link parseManagedDeliveryConfig}. The
|
|
18
|
-
* document mirrors the sync layer's `ManagedAutomationConfigDoc` **policy**
|
|
19
|
-
* fields that "ride the delivery envelope to the fork" (posting mode,
|
|
20
|
-
* managed config, trigger snapshots for the channel's staleness guard);
|
|
21
|
-
* readers ignore unknown fields so a newer sync can add material without
|
|
22
|
-
* breaking older forks. The automation's MCP server refs deliberately do
|
|
23
|
-
* NOT ride here: they travel on the hosted-admission envelope's
|
|
24
|
-
* `managedAutomation` slice (plan 0002 G2, `hosted-delivery-protocol.ts` /
|
|
25
|
-
* `hosted-managed-automation.ts`) so one mechanism owns MCP attach.
|
|
26
|
-
*
|
|
27
|
-
* INTERNAL: first-party host plumbing shared by agents in `factory/*`,
|
|
28
|
-
* consumed via relative source imports. Deliberately excluded from the
|
|
29
|
-
* published `@cursor/july` npm package (see the `files` whitelist).
|
|
30
|
-
*/
|
|
31
|
-
/**
|
|
32
|
-
* Key inside the delivered webhook payload under which the delivery
|
|
33
|
-
* activity embeds the matched installation config. Chosen to never
|
|
34
|
-
* collide with a provider webhook field (GitHub and Origin payloads have
|
|
35
|
-
* no `cursor*` keys).
|
|
36
|
-
*/
|
|
37
|
-
export declare const MANAGED_DELIVERY_PAYLOAD_KEY: "cursorManagedDelivery";
|
|
38
|
-
/**
|
|
39
|
-
* The matched installation-config document as it rides the delivery to
|
|
40
|
-
* the fork. Required: the matched automation uuid (B1 attribution).
|
|
41
|
-
* Everything else is optional; absent fields keep the channel's default
|
|
42
|
-
* posture (post, all modules enabled, no staleness guard).
|
|
43
|
-
*/
|
|
44
|
-
export interface ManagedDeliveryInstallationConfig {
|
|
45
|
-
/** Source managed automation uuid the pre-signal gate matched. */
|
|
46
|
-
matchedAutomationUuid: string;
|
|
47
|
-
/** Opaque `<installationId>@<resourceVersion>` config reference. */
|
|
48
|
-
installationConfigRef?: string;
|
|
49
|
-
managedType?: string;
|
|
50
|
-
name?: string;
|
|
51
|
-
/**
|
|
52
|
-
* Whether product output (PR comments, …) posts for this installation,
|
|
53
|
-
* or the run stays check/shadow-only. Channels post only on `"post"`
|
|
54
|
-
* (or when the field is absent) — any other value fails closed to
|
|
55
|
-
* shadow, so a newer mode name never posts by accident.
|
|
56
|
-
*/
|
|
57
|
-
postingMode?: string;
|
|
58
|
-
managedConfig?: Record<string, unknown>;
|
|
59
|
-
/**
|
|
60
|
-
* The automation's git triggers as `GitTrigger.toJson()` snapshots.
|
|
61
|
-
* The channel re-checks the delivery against them (staleness guard:
|
|
62
|
-
* the config may have changed between admission and delivery).
|
|
63
|
-
*/
|
|
64
|
-
triggerSnapshots?: unknown[];
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Read the embedded installation config out of a delivered webhook
|
|
68
|
-
* payload. Returns undefined for payloads without the key (legacy
|
|
69
|
-
* deliveries, host relay, fixtures) and for documents missing the
|
|
70
|
-
* required matched automation uuid — the channel then runs its legacy
|
|
71
|
-
* path unchanged. Malformed optional fields are dropped, not fatal.
|
|
72
|
-
*/
|
|
73
|
-
export declare function parseManagedDeliveryConfig(payload: unknown): ManagedDeliveryInstallationConfig | undefined;
|
|
74
|
-
/**
|
|
75
|
-
* Embed one matched installation config into the webhook payload the
|
|
76
|
-
* delivery activity POSTs to the channel. Pure; used by the control-plane
|
|
77
|
-
* delivery path and by channel tests building fixture envelopes.
|
|
78
|
-
*/
|
|
79
|
-
export declare function withManagedDeliveryConfig(payload: Record<string, unknown>, config: ManagedDeliveryInstallationConfig): Record<string, unknown>;
|
|
80
|
-
//# sourceMappingURL=managed-delivery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"managed-delivery.d.ts","sourceRoot":"","sources":["../../src/internal/managed-delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,EAAG,uBAAgC,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD,kEAAkE;IAClE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;CAC9B;AAcD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,GACf,iCAAiC,GAAG,SAAS,CAuB/C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,iCAAiC,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Envelope-carried installation config for managed-product deliveries
|
|
3
|
-
* (plan 0002 Stack H1; envelope shape from Stack B1).
|
|
4
|
-
*
|
|
5
|
-
* On the v2 architecture a managed product (security-reviewer, …) is many
|
|
6
|
-
* single-tenant deployments: the pre-signal trigger gate matches the
|
|
7
|
-
* customer's automation trigger before a workflow starts and stamps the
|
|
8
|
-
* matched automation uuid + an opaque installation-config reference on the
|
|
9
|
-
* attributed session envelope. The delivery activity forwards the matched
|
|
10
|
-
* installation-config document to the fork **inside the webhook payload it
|
|
11
|
-
* POSTs to the channel**, under {@link MANAGED_DELIVERY_PAYLOAD_KEY} — the
|
|
12
|
-
* same embed-in-payload pattern the legacy deployment event stream used
|
|
13
|
-
* for its source marker.
|
|
14
|
-
*
|
|
15
|
-
* This module is the one contract both sides share: the control-plane
|
|
16
|
-
* delivery path embeds with {@link withManagedDeliveryConfig}; the agent's
|
|
17
|
-
* channels detect and read with {@link parseManagedDeliveryConfig}. The
|
|
18
|
-
* document mirrors the sync layer's `ManagedAutomationConfigDoc` **policy**
|
|
19
|
-
* fields that "ride the delivery envelope to the fork" (posting mode,
|
|
20
|
-
* managed config, trigger snapshots for the channel's staleness guard);
|
|
21
|
-
* readers ignore unknown fields so a newer sync can add material without
|
|
22
|
-
* breaking older forks. The automation's MCP server refs deliberately do
|
|
23
|
-
* NOT ride here: they travel on the hosted-admission envelope's
|
|
24
|
-
* `managedAutomation` slice (plan 0002 G2, `hosted-delivery-protocol.ts` /
|
|
25
|
-
* `hosted-managed-automation.ts`) so one mechanism owns MCP attach.
|
|
26
|
-
*
|
|
27
|
-
* INTERNAL: first-party host plumbing shared by agents in `factory/*`,
|
|
28
|
-
* consumed via relative source imports. Deliberately excluded from the
|
|
29
|
-
* published `@cursor/july` npm package (see the `files` whitelist).
|
|
30
|
-
*/
|
|
31
|
-
/**
|
|
32
|
-
* Key inside the delivered webhook payload under which the delivery
|
|
33
|
-
* activity embeds the matched installation config. Chosen to never
|
|
34
|
-
* collide with a provider webhook field (GitHub and Origin payloads have
|
|
35
|
-
* no `cursor*` keys).
|
|
36
|
-
*/
|
|
37
|
-
export const MANAGED_DELIVERY_PAYLOAD_KEY = "cursorManagedDelivery";
|
|
38
|
-
function isRecord(value) {
|
|
39
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
40
|
-
}
|
|
41
|
-
function nonEmptyString(value) {
|
|
42
|
-
if (typeof value !== "string") {
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
const trimmed = value.trim();
|
|
46
|
-
return trimmed === "" ? undefined : trimmed;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Read the embedded installation config out of a delivered webhook
|
|
50
|
-
* payload. Returns undefined for payloads without the key (legacy
|
|
51
|
-
* deliveries, host relay, fixtures) and for documents missing the
|
|
52
|
-
* required matched automation uuid — the channel then runs its legacy
|
|
53
|
-
* path unchanged. Malformed optional fields are dropped, not fatal.
|
|
54
|
-
*/
|
|
55
|
-
export function parseManagedDeliveryConfig(payload) {
|
|
56
|
-
if (!isRecord(payload)) {
|
|
57
|
-
return undefined;
|
|
58
|
-
}
|
|
59
|
-
const doc = payload[MANAGED_DELIVERY_PAYLOAD_KEY];
|
|
60
|
-
if (!isRecord(doc)) {
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
const matchedAutomationUuid = nonEmptyString(doc.matchedAutomationUuid);
|
|
64
|
-
if (matchedAutomationUuid === undefined) {
|
|
65
|
-
return undefined;
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
matchedAutomationUuid,
|
|
69
|
-
installationConfigRef: nonEmptyString(doc.installationConfigRef),
|
|
70
|
-
managedType: nonEmptyString(doc.managedType),
|
|
71
|
-
name: nonEmptyString(doc.name),
|
|
72
|
-
postingMode: nonEmptyString(doc.postingMode),
|
|
73
|
-
managedConfig: isRecord(doc.managedConfig) ? doc.managedConfig : undefined,
|
|
74
|
-
triggerSnapshots: Array.isArray(doc.triggerSnapshots)
|
|
75
|
-
? doc.triggerSnapshots
|
|
76
|
-
: undefined,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Embed one matched installation config into the webhook payload the
|
|
81
|
-
* delivery activity POSTs to the channel. Pure; used by the control-plane
|
|
82
|
-
* delivery path and by channel tests building fixture envelopes.
|
|
83
|
-
*/
|
|
84
|
-
export function withManagedDeliveryConfig(payload, config) {
|
|
85
|
-
return Object.assign(Object.assign({}, payload), { [MANAGED_DELIVERY_PAYLOAD_KEY]: config });
|
|
86
|
-
}
|