@cursor/july 0.1.99 → 0.1.101
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 +4 -2
- package/dist/bin/agent-serve.js +3 -2
- package/dist/channels/deployments/deployments-channel.d.ts +41 -5
- package/dist/channels/deployments/deployments-channel.d.ts.map +1 -1
- package/dist/channels/deployments/deployments-channel.js +88 -8
- package/dist/channels/deployments/types.d.ts +4 -3
- package/dist/channels/deployments/types.d.ts.map +1 -1
- package/dist/channels/github/defaults.d.ts.map +1 -1
- package/dist/channels/github/defaults.js +28 -3
- package/dist/channels/github/progress.d.ts +7 -0
- package/dist/channels/github/progress.d.ts.map +1 -1
- package/dist/channels/origin/defaults.d.ts +43 -0
- package/dist/channels/origin/defaults.d.ts.map +1 -0
- package/dist/channels/origin/defaults.js +111 -0
- package/dist/channels/origin/index.d.ts +2 -0
- package/dist/channels/origin/index.d.ts.map +1 -1
- package/dist/channels/origin/index.js +2 -0
- package/dist/channels/origin/origin-channel.d.ts +2 -1
- package/dist/channels/origin/origin-channel.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.js +24 -3
- package/dist/channels/origin/state.d.ts +32 -0
- package/dist/channels/origin/state.d.ts.map +1 -0
- package/dist/channels/origin/state.js +23 -0
- package/dist/channels/origin/types.d.ts +23 -1
- package/dist/channels/origin/types.d.ts.map +1 -1
- package/dist/channels/slack/api.d.ts +16 -7
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +31 -14
- package/dist/channels/slack/code-fences.d.ts +17 -0
- package/dist/channels/slack/code-fences.d.ts.map +1 -0
- package/dist/channels/slack/code-fences.js +168 -0
- package/dist/channels/slack/constants.d.ts +6 -0
- package/dist/channels/slack/constants.d.ts.map +1 -1
- package/dist/channels/slack/constants.js +6 -0
- package/dist/channels/slack/defaults.d.ts +9 -4
- package/dist/channels/slack/defaults.d.ts.map +1 -1
- package/dist/channels/slack/defaults.js +154 -76
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +3 -3
- package/dist/channels/slack/inbound.d.ts +9 -0
- package/dist/channels/slack/inbound.d.ts.map +1 -1
- package/dist/channels/slack/inbound.js +14 -0
- package/dist/channels/slack/index.d.ts +2 -0
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +2 -0
- package/dist/channels/slack/live-delivery.d.ts +5 -0
- package/dist/channels/slack/live-delivery.d.ts.map +1 -1
- package/dist/channels/slack/live-delivery.js +116 -21
- package/dist/channels/slack/reasoning-card.d.ts +38 -0
- package/dist/channels/slack/reasoning-card.d.ts.map +1 -0
- package/dist/channels/slack/reasoning-card.js +104 -0
- package/dist/channels/slack/redact.d.ts +2 -0
- package/dist/channels/slack/redact.d.ts.map +1 -0
- package/dist/channels/slack/redact.js +5 -0
- package/dist/channels/slack/reply-options.d.ts +40 -0
- package/dist/channels/slack/reply-options.d.ts.map +1 -0
- package/dist/channels/slack/reply-options.js +150 -0
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +8 -4
- package/dist/channels/slack/stream.d.ts +22 -10
- package/dist/channels/slack/stream.d.ts.map +1 -1
- package/dist/channels/slack/stream.js +9 -16
- package/dist/channels/slack/tool-cards.d.ts +22 -0
- package/dist/channels/slack/tool-cards.d.ts.map +1 -0
- package/dist/channels/slack/tool-cards.js +178 -0
- package/dist/channels/slack/types.d.ts +145 -6
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/connections.d.ts +18 -2
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +18 -2
- package/dist/docs/404.html +2 -2
- package/dist/docs/ab.html +6 -6
- package/dist/docs/ab.md +1 -1
- package/dist/docs/assets/{ab.md.DJo5r4R-.js → ab.md.mlVgqvSk.js} +1 -1
- package/dist/docs/assets/{app.BplEAZ3S.js → app.BASO9Kih.js} +1 -1
- package/dist/docs/assets/{building-with-agents.md.DI4mEzlt.js → building-with-agents.md.CUSWxlP_.js} +2 -2
- package/dist/docs/assets/chunks/@localSearchIndexroot.DbFXINq2.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.CHXyv4wP.js → VPLocalSearchBox.DwkqxoE0.js} +1 -1
- package/dist/docs/assets/chunks/{theme.BTcsZmjQ.js → theme.CCil_13e.js} +2 -2
- package/dist/docs/assets/{evals.md.lfJoEVc8.js → evals.md.CPzDAwoH.js} +1 -1
- package/dist/docs/assets/{guides_github.md.Cnh2mL4a.js → guides_github.md.BtPr9GaP.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.CN-6YmTJ.js → guides_mcp-oauth.md.Dp6cDP7f.js} +1 -1
- package/dist/docs/assets/{guides_opentelemetry.md.bmPmkvJu.js → guides_opentelemetry.md.BVTXDCRg.js} +2 -2
- package/dist/docs/assets/{guides_slack.md.VDXQV3ja.js → guides_slack.md.9oHPye9o.js} +19 -3
- package/dist/docs/assets/{guides_slack.md.VDXQV3ja.lean.js → guides_slack.md.9oHPye9o.lean.js} +1 -1
- package/dist/docs/assets/hillclimbing.md.CpTGTCle.js +4 -0
- package/dist/docs/assets/{index.md.CVeRUOeZ.js → index.md.Bb4k8kUm.js} +1 -1
- package/dist/docs/assets/{quickstart.md.Nj_LjW_a.js → quickstart.md.DdQOF7Y8.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.DxldvyIB.js → reference_connections.md.Di6jJAXF.js} +13 -3
- package/dist/docs/assets/{reference_connections.md.DxldvyIB.lean.js → reference_connections.md.Di6jJAXF.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.BEJx9XVj.js → reference_http-api.md.oySXBO8o.js} +1 -1
- package/dist/docs/assets/scaffolding-agents.md.em43xlY1.js +1 -0
- package/dist/docs/assets/skills_ab.md.CsFNatVx.js +26 -0
- package/dist/docs/assets/skills_ab.md.CsFNatVx.lean.js +1 -0
- package/dist/docs/assets/skills_create-agent.md.BVoWPcan.js +8 -0
- package/dist/docs/assets/skills_create-agent.md.BVoWPcan.lean.js +1 -0
- package/dist/docs/assets/skills_debug.md.CDbPhHfg.js +1 -0
- package/dist/docs/assets/skills_debug.md.CDbPhHfg.lean.js +1 -0
- package/dist/docs/assets/skills_evals.md.723kpUmA.js +25 -0
- package/dist/docs/assets/skills_evals.md.723kpUmA.lean.js +1 -0
- package/dist/docs/assets/skills_framework-map.md.BTi817yv.js +1 -0
- package/dist/docs/assets/skills_framework-map.md.BTi817yv.lean.js +1 -0
- package/dist/docs/assets/skills_github.md.D0JahM8c.js +16 -0
- package/dist/docs/assets/skills_github.md.D0JahM8c.lean.js +1 -0
- package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.js +7 -0
- package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.lean.js +1 -0
- package/dist/docs/assets/skills_index.md.DKwIxzGg.js +1 -0
- package/dist/docs/assets/skills_index.md.DKwIxzGg.lean.js +1 -0
- package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.js +18 -0
- package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.lean.js +1 -0
- package/dist/docs/assets/skills_otel.md.CgiZryR3.js +8 -0
- package/dist/docs/assets/skills_otel.md.CgiZryR3.lean.js +1 -0
- package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.js +20 -0
- package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.lean.js +1 -0
- package/dist/docs/assets/{troubleshooting.md.DCiPBhYs.js → troubleshooting.md.Cus_YZga.js} +1 -1
- package/dist/docs/building-with-agents.html +6 -6
- package/dist/docs/building-with-agents.md +14 -11
- package/dist/docs/concepts.html +4 -4
- package/dist/docs/deployment.html +4 -4
- package/dist/docs/evals.html +6 -6
- package/dist/docs/evals.md +1 -1
- package/dist/docs/guides/agent-to-agent.html +4 -4
- package/dist/docs/guides/cloud-runtime.html +4 -4
- package/dist/docs/guides/convert-automation.html +4 -4
- package/dist/docs/guides/github.html +5 -5
- package/dist/docs/guides/github.md +1 -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/mcp-oauth.md +1 -1
- package/dist/docs/guides/opentelemetry.html +7 -7
- package/dist/docs/guides/opentelemetry.md +2 -2
- package/dist/docs/guides/slack.html +22 -6
- package/dist/docs/guides/slack.md +80 -1
- package/dist/docs/guides/webhooks.html +5 -5
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +6 -6
- package/dist/docs/hillclimbing.md +5 -5
- package/dist/docs/index.html +6 -6
- package/dist/docs/index.md +1 -1
- package/dist/docs/llms-full.txt +1073 -31
- package/dist/docs/llms.txt +14 -0
- package/dist/docs/quickstart.html +5 -5
- package/dist/docs/quickstart.md +1 -1
- package/dist/docs/reference/agent-config.html +4 -4
- package/dist/docs/reference/artifacts.html +4 -4
- package/dist/docs/reference/channels.html +4 -4
- package/dist/docs/reference/cli.html +4 -4
- package/dist/docs/reference/connections.html +17 -7
- package/dist/docs/reference/connections.md +32 -1
- package/dist/docs/reference/hooks.html +4 -4
- package/dist/docs/reference/http-api.html +6 -6
- package/dist/docs/reference/http-api.md +1 -1
- package/dist/docs/reference/instructions.html +4 -4
- package/dist/docs/reference/playground.html +4 -4
- package/dist/docs/reference/project-layout.html +4 -4
- package/dist/docs/reference/prompt.html +4 -4
- package/dist/docs/reference/schedules.html +4 -4
- package/dist/docs/reference/sessions.html +4 -4
- package/dist/docs/reference/skills.html +4 -4
- package/dist/docs/reference/subagents.html +4 -4
- package/dist/docs/reference/tools.html +4 -4
- package/dist/docs/scaffolding-agents.html +5 -5
- package/dist/docs/scaffolding-agents.md +3 -3
- package/dist/docs/skills/ab.html +52 -0
- package/dist/docs/skills/ab.md +50 -0
- package/dist/docs/skills/create-agent.html +34 -0
- package/dist/docs/skills/create-agent.md +160 -0
- package/dist/docs/skills/debug.html +27 -0
- package/dist/docs/skills/debug.md +36 -0
- package/dist/docs/skills/evals.html +51 -0
- package/dist/docs/skills/evals.md +99 -0
- package/dist/docs/skills/framework-map.html +27 -0
- package/dist/docs/skills/framework-map.md +95 -0
- package/dist/docs/skills/github.html +42 -0
- package/dist/docs/skills/github.md +93 -0
- package/dist/docs/skills/hillclimb.html +33 -0
- package/dist/docs/skills/hillclimb.md +55 -0
- package/dist/docs/skills/index.html +27 -0
- package/dist/docs/skills/index.md +21 -0
- package/dist/docs/skills/mcp-auth.html +44 -0
- package/dist/docs/skills/mcp-auth.md +76 -0
- package/dist/docs/skills/otel.html +34 -0
- package/dist/docs/skills/otel.md +48 -0
- package/dist/docs/skills/setup-slack.html +46 -0
- package/dist/docs/skills/setup-slack.md +141 -0
- 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 +4 -4
- 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 +5 -5
- package/dist/docs/troubleshooting.md +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.d.ts +55 -0
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/extension.js +64 -0
- package/dist/extensions/cursor-cloud-agents/lib/cloud.d.ts +30 -0
- package/dist/extensions/cursor-cloud-agents/lib/cloud.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/cloud.js +45 -0
- package/dist/extensions/cursor-cloud-agents/lib/fleet.d.ts +25 -0
- package/dist/extensions/cursor-cloud-agents/lib/fleet.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/fleet.js +85 -0
- package/dist/extensions/cursor-cloud-agents/lib/repos.d.ts +15 -0
- package/dist/extensions/cursor-cloud-agents/lib/repos.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/repos.js +55 -0
- package/dist/extensions/cursor-cloud-agents/skills/handoff.md +27 -0
- package/dist/extensions/cursor-cloud-agents/tools/follow_up.d.ts +4 -0
- package/dist/extensions/cursor-cloud-agents/tools/follow_up.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/tools/follow_up.js +37 -0
- package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts +4 -0
- package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/tools/launch.js +83 -0
- package/dist/extensions/cursor-cloud-agents/tools/list.d.ts +4 -0
- package/dist/extensions/cursor-cloud-agents/tools/list.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/tools/list.js +36 -0
- package/dist/extensions/cursor-cloud-agents/tools/status.d.ts +4 -0
- package/dist/extensions/cursor-cloud-agents/tools/status.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/tools/status.js +41 -0
- package/dist/extensions.d.ts +49 -0
- package/dist/extensions.d.ts.map +1 -0
- package/dist/extensions.js +75 -0
- package/dist/files-backends/cursor-hosted.d.ts +6 -0
- package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/files-backends/cursor-hosted.js +6 -9
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/internal/advertise-tools.d.ts +4 -1
- package/dist/internal/advertise-tools.d.ts.map +1 -1
- package/dist/internal/advertise-tools.js +20 -1
- package/dist/internal/as-of.d.ts +18 -0
- package/dist/internal/as-of.d.ts.map +1 -1
- package/dist/internal/as-of.js +131 -0
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +66 -21
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +3 -1
- package/dist/internal/conversation-mirror.d.ts.map +1 -1
- package/dist/internal/conversation-mirror.js +3 -4
- package/dist/internal/cursor/hosted-deployment-secrets.d.ts +16 -0
- package/dist/internal/cursor/hosted-deployment-secrets.d.ts.map +1 -0
- package/dist/internal/cursor/hosted-deployment-secrets.js +61 -0
- package/dist/internal/cursor/hosted-store-secrets.d.ts +15 -0
- package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -0
- package/dist/internal/cursor/hosted-store-secrets.js +48 -0
- package/dist/internal/cursor-deployment-relay.d.ts +15 -1
- package/dist/internal/cursor-deployment-relay.d.ts.map +1 -1
- package/dist/internal/cursor-deployment-relay.js +46 -7
- package/dist/internal/deploy-client.d.ts +29 -6
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +61 -19
- package/dist/internal/discovery.d.ts.map +1 -1
- package/dist/internal/discovery.js +426 -121
- package/dist/internal/distribution.d.ts.map +1 -1
- package/dist/internal/distribution.js +5 -0
- package/dist/internal/framework-file-storage.d.ts +15 -8
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +70 -10
- package/dist/internal/framework-storage-selection.d.ts +12 -12
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +33 -39
- package/dist/internal/hosted-delivery.d.ts +3 -1
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +19 -32
- package/dist/internal/hosted-execution-diag.d.ts +5 -0
- package/dist/internal/hosted-execution-diag.d.ts.map +1 -1
- package/dist/internal/hosted-execution-diag.js +5 -0
- package/dist/internal/hosted-execution-flush.d.ts +46 -0
- package/dist/internal/hosted-execution-flush.d.ts.map +1 -0
- package/dist/internal/hosted-execution-flush.js +81 -0
- package/dist/internal/mcp-endpoint.js +1 -0
- package/dist/internal/mcp-host.d.ts +2 -1
- package/dist/internal/mcp-host.d.ts.map +1 -1
- package/dist/internal/mcp-host.js +35 -15
- package/dist/internal/review-comments.d.ts +1 -1
- package/dist/internal/review-comments.d.ts.map +1 -1
- package/dist/internal/review-comments.js +4 -4
- package/dist/internal/server.d.ts +3 -0
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +79 -104
- package/dist/internal/session-engine.d.ts +9 -7
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +45 -34
- package/dist/internal/session-run-log.d.ts +5 -4
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +8 -8
- package/dist/internal/start-log-store.d.ts +60 -0
- package/dist/internal/start-log-store.d.ts.map +1 -0
- package/dist/internal/start-log-store.js +151 -0
- package/dist/internal/storage-coordinator.d.ts +0 -6
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +1 -9
- package/dist/internal/tool-policy.d.ts +8 -0
- package/dist/internal/tool-policy.d.ts.map +1 -1
- package/dist/internal/tool-policy.js +19 -7
- package/dist/playground/assets/{index-jzNbJENa.js → index-BnNN1-EK.js} +45 -45
- package/dist/playground/assets/index-DBQCwFp0.css +1 -0
- package/dist/playground/index.html +2 -2
- package/dist/storage-backends/cursor-hosted-v2.d.ts +83 -0
- package/dist/storage-backends/cursor-hosted-v2.d.ts.map +1 -0
- package/dist/storage-backends/cursor-hosted-v2.js +164 -0
- package/dist/storage-backends/cursor-hosted.d.ts +6 -0
- package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted.js +6 -1
- package/dist/storage-protocol.d.ts +24 -0
- package/dist/storage-protocol.d.ts.map +1 -1
- package/dist/storage-protocol.js +33 -0
- package/dist/storage.d.ts +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +1 -1
- package/dist/types.d.ts +123 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +29 -1
- package/docs/README.md +1 -1
- package/docs/ab.md +1 -1
- package/docs/building-with-agents.md +14 -11
- package/docs/evals.md +1 -1
- package/docs/guides/github.md +1 -1
- package/docs/guides/mcp-oauth.md +1 -1
- package/docs/guides/opentelemetry.md +2 -2
- package/docs/guides/slack.md +80 -1
- package/docs/hillclimbing.md +5 -5
- package/docs/quickstart.md +1 -1
- package/docs/reference/connections.md +32 -1
- package/docs/reference/http-api.md +1 -1
- package/docs/scaffolding-agents.md +3 -3
- package/docs/skills/index.md +26 -0
- package/docs/troubleshooting.md +1 -1
- package/package.json +18 -4
- package/src/bin/agent-serve.ts +11 -2
- package/src/channels/deployments/deployments-channel.ts +117 -8
- package/src/channels/deployments/types.ts +4 -3
- package/src/channels/github/defaults.ts +36 -3
- package/src/channels/github/progress.ts +7 -0
- package/src/channels/origin/defaults.ts +143 -0
- package/src/channels/origin/index.ts +2 -0
- package/src/channels/origin/origin-channel.ts +37 -1
- package/src/channels/origin/state.ts +54 -0
- package/src/channels/origin/types.ts +24 -0
- package/src/channels/slack/api.ts +37 -18
- package/src/channels/slack/code-fences.ts +183 -0
- package/src/channels/slack/constants.ts +6 -0
- package/src/channels/slack/defaults.ts +173 -92
- package/src/channels/slack/dispatch.ts +8 -1
- package/src/channels/slack/inbound.ts +17 -0
- package/src/channels/slack/index.ts +2 -0
- package/src/channels/slack/live-delivery.ts +142 -28
- package/src/channels/slack/reasoning-card.ts +140 -0
- package/src/channels/slack/redact.ts +6 -0
- package/src/channels/slack/reply-options.ts +229 -0
- package/src/channels/slack/slack-channel.ts +7 -2
- package/src/channels/slack/stream.ts +31 -24
- package/src/channels/slack/tool-cards.ts +221 -0
- package/src/channels/slack/types.ts +159 -6
- package/src/connections.ts +18 -1
- package/src/extensions/cursor-cloud-agents/extension.ts +118 -0
- package/src/extensions/cursor-cloud-agents/lib/cloud.ts +79 -0
- package/src/extensions/cursor-cloud-agents/lib/fleet.ts +109 -0
- package/src/extensions/cursor-cloud-agents/lib/repos.ts +81 -0
- package/src/extensions/cursor-cloud-agents/skills/handoff.md +27 -0
- package/src/extensions/cursor-cloud-agents/tools/follow_up.ts +29 -0
- package/src/extensions/cursor-cloud-agents/tools/launch.ts +84 -0
- package/src/extensions/cursor-cloud-agents/tools/list.ts +31 -0
- package/src/extensions/cursor-cloud-agents/tools/status.ts +39 -0
- package/src/extensions.ts +98 -0
- package/src/files-backends/cursor-hosted.ts +15 -5
- package/src/index.ts +2 -0
- package/src/internal/advertise-tools.ts +37 -12
- package/src/internal/as-of.ts +163 -0
- package/src/internal/cli-deploy.ts +88 -25
- package/src/internal/continuation-identity.ts +3 -1
- package/src/internal/conversation-mirror.ts +3 -8
- package/src/internal/cursor/hosted-deployment-secrets.ts +72 -0
- package/src/internal/cursor/hosted-store-secrets.ts +72 -0
- package/src/internal/cursor-deployment-relay.ts +65 -8
- package/src/internal/deploy-client.ts +83 -28
- package/src/internal/discovery.ts +479 -114
- package/src/internal/distribution.ts +5 -0
- package/src/internal/framework-file-storage.ts +80 -10
- package/src/internal/framework-storage-selection.ts +31 -44
- package/src/internal/hosted-delivery.ts +38 -63
- package/src/internal/hosted-execution-diag.ts +6 -0
- package/src/internal/hosted-execution-flush.ts +142 -0
- package/src/internal/mcp-endpoint.ts +1 -0
- package/src/internal/mcp-host.ts +40 -14
- package/src/internal/review-comments.ts +5 -2
- package/src/internal/server.ts +81 -100
- package/src/internal/session-engine.ts +56 -28
- package/src/internal/session-run-log.ts +8 -12
- package/src/internal/start-log-store.ts +177 -0
- package/src/internal/storage-coordinator.ts +1 -11
- package/src/internal/tool-policy.ts +39 -9
- package/src/storage-backends/cursor-hosted-v2.ts +219 -0
- package/src/storage-backends/cursor-hosted.ts +6 -1
- package/src/storage-protocol.ts +37 -0
- package/src/storage.ts +1 -0
- package/src/types.ts +177 -14
- package/dist/docs/assets/chunks/@localSearchIndexroot.DpuI4i7Z.js +0 -1
- package/dist/docs/assets/hillclimbing.md.DhESf3OO.js +0 -4
- package/dist/docs/assets/scaffolding-agents.md.D7UUkWw0.js +0 -1
- package/dist/internal/null-kv-storage.d.ts +0 -48
- package/dist/internal/null-kv-storage.d.ts.map +0 -1
- package/dist/internal/null-kv-storage.js +0 -58
- package/dist/playground/assets/index-D7rGZNjy.css +0 -1
- package/src/internal/null-kv-storage.ts +0 -74
- /package/dist/docs/assets/{ab.md.DJo5r4R-.lean.js → ab.md.mlVgqvSk.lean.js} +0 -0
- /package/dist/docs/assets/{building-with-agents.md.DI4mEzlt.lean.js → building-with-agents.md.CUSWxlP_.lean.js} +0 -0
- /package/dist/docs/assets/{evals.md.lfJoEVc8.lean.js → evals.md.CPzDAwoH.lean.js} +0 -0
- /package/dist/docs/assets/{guides_github.md.Cnh2mL4a.lean.js → guides_github.md.BtPr9GaP.lean.js} +0 -0
- /package/dist/docs/assets/{guides_mcp-oauth.md.CN-6YmTJ.lean.js → guides_mcp-oauth.md.Dp6cDP7f.lean.js} +0 -0
- /package/dist/docs/assets/{guides_opentelemetry.md.bmPmkvJu.lean.js → guides_opentelemetry.md.BVTXDCRg.lean.js} +0 -0
- /package/dist/docs/assets/{hillclimbing.md.DhESf3OO.lean.js → hillclimbing.md.CpTGTCle.lean.js} +0 -0
- /package/dist/docs/assets/{index.md.CVeRUOeZ.lean.js → index.md.Bb4k8kUm.lean.js} +0 -0
- /package/dist/docs/assets/{quickstart.md.Nj_LjW_a.lean.js → quickstart.md.DdQOF7Y8.lean.js} +0 -0
- /package/dist/docs/assets/{reference_http-api.md.BEJx9XVj.lean.js → reference_http-api.md.oySXBO8o.lean.js} +0 -0
- /package/dist/docs/assets/{scaffolding-agents.md.D7UUkWw0.lean.js → scaffolding-agents.md.em43xlY1.lean.js} +0 -0
- /package/dist/docs/assets/{troubleshooting.md.DCiPBhYs.lean.js → troubleshooting.md.Cus_YZga.lean.js} +0 -0
package/src/types.ts
CHANGED
|
@@ -50,6 +50,8 @@ export type DefinitionKind =
|
|
|
50
50
|
| "instructions"
|
|
51
51
|
| "tool"
|
|
52
52
|
| "skill"
|
|
53
|
+
| "extension"
|
|
54
|
+
| "disabled-tool"
|
|
53
55
|
| "connection"
|
|
54
56
|
| "channel"
|
|
55
57
|
| "http-channel"
|
|
@@ -952,6 +954,42 @@ export function normalizeConnectionEffects(
|
|
|
952
954
|
return unique;
|
|
953
955
|
}
|
|
954
956
|
|
|
957
|
+
/**
|
|
958
|
+
* Trim, drop blanks, and unique-preserve authored
|
|
959
|
+
* {@link ConnectionConfig.tools} name lists. Invalid shapes are left
|
|
960
|
+
* for discovery.
|
|
961
|
+
*/
|
|
962
|
+
export function normalizeConnectionTools(tools: readonly string[]): string[] {
|
|
963
|
+
const unique: string[] = [];
|
|
964
|
+
const seen = new Set<string>();
|
|
965
|
+
for (const raw of tools) {
|
|
966
|
+
const name = raw.trim();
|
|
967
|
+
if (name === "" || seen.has(name)) {
|
|
968
|
+
continue;
|
|
969
|
+
}
|
|
970
|
+
seen.add(name);
|
|
971
|
+
unique.push(name);
|
|
972
|
+
}
|
|
973
|
+
return unique;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
/** True when `toolName` passes the connection's `tools` / `disallowedTools` filter. */
|
|
977
|
+
export function connectionAllowsTool(
|
|
978
|
+
filter: {
|
|
979
|
+
tools?: readonly string[];
|
|
980
|
+
disallowedTools?: readonly string[];
|
|
981
|
+
},
|
|
982
|
+
toolName: string
|
|
983
|
+
): boolean {
|
|
984
|
+
if (filter.tools !== undefined && !filter.tools.includes(toolName)) {
|
|
985
|
+
return false;
|
|
986
|
+
}
|
|
987
|
+
return (
|
|
988
|
+
filter.disallowedTools === undefined ||
|
|
989
|
+
!filter.disallowedTools.includes(toolName)
|
|
990
|
+
);
|
|
991
|
+
}
|
|
992
|
+
|
|
955
993
|
/**
|
|
956
994
|
* A tool's declared {@link ToolEffect} — fixed, or decided per call from
|
|
957
995
|
* validated input for tools that read or write depending on their arguments
|
|
@@ -1065,6 +1103,66 @@ export interface SkillConfig {
|
|
|
1065
1103
|
|
|
1066
1104
|
export type SkillDefinition = SkillConfig & BrandedDefinition<"skill">;
|
|
1067
1105
|
|
|
1106
|
+
// ============================================================================
|
|
1107
|
+
// Extensions (agent/extensions/<ns>.ts | agent/extensions/<ns>/extension.ts)
|
|
1108
|
+
// ============================================================================
|
|
1109
|
+
|
|
1110
|
+
/**
|
|
1111
|
+
* Input to `defineExtension`, the `extension.ts` at the root of an
|
|
1112
|
+
* agent-shaped tree (`tools/`, `skills/`, `lib/`).
|
|
1113
|
+
*/
|
|
1114
|
+
export interface ExtensionOptions<TConfig, TInput = TConfig> {
|
|
1115
|
+
/** The tree's directory; pass `import.meta.dirname`. */
|
|
1116
|
+
root: string;
|
|
1117
|
+
/** What the extension adds; shown by `info`. */
|
|
1118
|
+
description?: string;
|
|
1119
|
+
/** Mount configuration schema. A consumer's settings are validated at mount. */
|
|
1120
|
+
config?: z.ZodType<TConfig, z.ZodTypeDef, TInput>;
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1123
|
+
/**
|
|
1124
|
+
* What `extension.ts` default-exports. A consumer calls it from
|
|
1125
|
+
* `agent/extensions/<ns>.ts` to mount the extension with a configuration;
|
|
1126
|
+
* the extension's own modules import it to read that configuration.
|
|
1127
|
+
*/
|
|
1128
|
+
export interface Extension<TConfig = undefined, TInput = TConfig>
|
|
1129
|
+
extends ExtensionDeclaration {
|
|
1130
|
+
(
|
|
1131
|
+
...args: undefined extends TInput ? [config?: TInput] : [config: TInput]
|
|
1132
|
+
): ExtensionMount;
|
|
1133
|
+
/** The mounted configuration (schema defaults applied); throws before the mount. */
|
|
1134
|
+
readonly config: TConfig;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
/** The mount-independent part of an {@link Extension}. */
|
|
1138
|
+
export interface ExtensionDeclaration {
|
|
1139
|
+
readonly root: string;
|
|
1140
|
+
readonly description: string | undefined;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
/** What `agent/extensions/<ns>.ts` default-exports. */
|
|
1144
|
+
export interface ExtensionMount extends BrandedDefinition<"extension"> {
|
|
1145
|
+
readonly extension: ExtensionDeclaration;
|
|
1146
|
+
readonly config: unknown;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
/**
|
|
1150
|
+
* `export default disableTool()` in a directory mount's `tools/<name>.ts`
|
|
1151
|
+
* removes the extension's `<ns>__<name>`.
|
|
1152
|
+
*/
|
|
1153
|
+
export type DisabledToolDefinition = BrandedDefinition<"disabled-tool">;
|
|
1154
|
+
|
|
1155
|
+
/** One mounted extension and the names it contributed. */
|
|
1156
|
+
export interface DiscoveredExtension {
|
|
1157
|
+
/** Mount namespace: the filename stem or directory name under `agent/extensions/`. */
|
|
1158
|
+
name: string;
|
|
1159
|
+
description?: string;
|
|
1160
|
+
/** Composed tool names (`<ns>__<name>`), overrides applied. */
|
|
1161
|
+
tools: string[];
|
|
1162
|
+
/** Composed skill names (`<ns>__<name>`), overrides applied. */
|
|
1163
|
+
skills: string[];
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1068
1166
|
// ============================================================================
|
|
1069
1167
|
// MCP connections (agent/mcp-connections/*.ts)
|
|
1070
1168
|
// ============================================================================
|
|
@@ -1213,19 +1311,38 @@ export type InlineStdioConnectionConfig = {
|
|
|
1213
1311
|
* cloud VM.
|
|
1214
1312
|
*/
|
|
1215
1313
|
export type ConnectionConfig = (
|
|
1216
|
-
|
|
|
1217
|
-
|
|
1218
|
-
|
|
1314
|
+
| ((
|
|
1315
|
+
| Exclude<ConnectionTransport, { cursorAccount: true }>
|
|
1316
|
+
| {
|
|
1317
|
+
cursorAccount: true;
|
|
1318
|
+
/**
|
|
1319
|
+
* Which account connectors to expose.
|
|
1320
|
+
*
|
|
1321
|
+
* - Omit, pass `"*"`, or pass `["*"]` to forward **every** connected
|
|
1322
|
+
* HTTP/SSE server on the account (no per-connector allowlist).
|
|
1323
|
+
* - Pass connector names as they appear in the Cursor account's MCP
|
|
1324
|
+
* config (e.g. `["Linear", "Notion"]`) to restrict the set.
|
|
1325
|
+
*/
|
|
1326
|
+
servers?: string[] | "*";
|
|
1327
|
+
}
|
|
1328
|
+
) & {
|
|
1219
1329
|
/**
|
|
1220
|
-
*
|
|
1330
|
+
* Tool-name allowlist. Same shape as {@link AgentConfig.tools}:
|
|
1331
|
+
* when set, only these MCP tool names (the server's `tools/list`
|
|
1332
|
+
* names) are advertised and callable through `host.mcp`. Names
|
|
1333
|
+
* the server does not list are omitted, not guessed.
|
|
1334
|
+
*
|
|
1335
|
+
* A list of names is an allowlist. An object of handlers authors
|
|
1336
|
+
* TypeScript tools ({@link InlineStdioConnectionConfig}).
|
|
1337
|
+
*
|
|
1338
|
+
* On a model-visible connection this requires {@link advertiseTools}:
|
|
1339
|
+
* an attached server would still expose every tool. On
|
|
1340
|
+
* `host-connections/` it restricts `host.mcp` alone.
|
|
1221
1341
|
*
|
|
1222
|
-
*
|
|
1223
|
-
* HTTP/SSE server on the account (no per-connector allowlist).
|
|
1224
|
-
* - Pass connector names as they appear in the Cursor account's MCP
|
|
1225
|
-
* config (e.g. `["Linear", "Notion"]`) to restrict the set.
|
|
1342
|
+
* Combines with {@link disallowedTools} as deny-wins.
|
|
1226
1343
|
*/
|
|
1227
|
-
|
|
1228
|
-
}
|
|
1344
|
+
tools?: readonly string[];
|
|
1345
|
+
})
|
|
1229
1346
|
| InlineStdioConnectionConfig
|
|
1230
1347
|
) & {
|
|
1231
1348
|
/** Documentation only; shown in `info` output. */
|
|
@@ -1300,6 +1417,16 @@ export type ConnectionConfig = (
|
|
|
1300
1417
|
* are the same.
|
|
1301
1418
|
*/
|
|
1302
1419
|
effects?: ConnectionEffects;
|
|
1420
|
+
/**
|
|
1421
|
+
* Tool-name denylist. Same shape as the Cursor SDK's
|
|
1422
|
+
* `disallowedTools`: when set, these MCP tool names are omitted from
|
|
1423
|
+
* the advertised set and rejected on `host.mcp`. Combines with
|
|
1424
|
+
* {@link ConnectionConfig.tools} as deny-wins.
|
|
1425
|
+
*
|
|
1426
|
+
* On a model-visible connection this requires {@link advertiseTools}.
|
|
1427
|
+
* On `host-connections/` it restricts `host.mcp` alone.
|
|
1428
|
+
*/
|
|
1429
|
+
disallowedTools?: readonly string[];
|
|
1303
1430
|
};
|
|
1304
1431
|
|
|
1305
1432
|
/**
|
|
@@ -1322,7 +1449,11 @@ export function isInlineStdioConnection(
|
|
|
1322
1449
|
): connection is InlineStdioConnectionConfig & {
|
|
1323
1450
|
description?: string;
|
|
1324
1451
|
} {
|
|
1325
|
-
return
|
|
1452
|
+
return (
|
|
1453
|
+
"tools" in connection &&
|
|
1454
|
+
connection.tools !== undefined &&
|
|
1455
|
+
!Array.isArray(connection.tools)
|
|
1456
|
+
);
|
|
1326
1457
|
}
|
|
1327
1458
|
|
|
1328
1459
|
/**
|
|
@@ -1873,9 +2004,13 @@ export interface SendMessageOptions {
|
|
|
1873
2004
|
dryRun?: boolean;
|
|
1874
2005
|
/**
|
|
1875
2006
|
* ISO-8601 instant with a timezone, frozen at create: the prompt states
|
|
1876
|
-
* it, {@link ToolContext.now} returns it, and
|
|
1877
|
-
*
|
|
1878
|
-
*
|
|
2007
|
+
* it, {@link ToolContext.now} returns it, and every tool call is checked
|
|
2008
|
+
* against it — a relative time argument (`now-1h`), an absolute one after
|
|
2009
|
+
* the instant, or an omitted window a vendor schema declares is refused so
|
|
2010
|
+
* the model retries with explicit absolute bounds. Tools may also declare
|
|
2011
|
+
* {@link ToolConfig.timeArgs} for precise per-field checking. The check
|
|
2012
|
+
* reads arguments, not behavior: a tool that reads present state without a
|
|
2013
|
+
* time argument still answers from the present.
|
|
1879
2014
|
*/
|
|
1880
2015
|
asOf?: string;
|
|
1881
2016
|
/**
|
|
@@ -2314,6 +2449,11 @@ export interface ChannelMeta {
|
|
|
2314
2449
|
* by `info` so watched channels are auditable.
|
|
2315
2450
|
*/
|
|
2316
2451
|
slackChannelPosts?: readonly string[];
|
|
2452
|
+
/**
|
|
2453
|
+
* Author-facing notices about deprecated options the pack still honored.
|
|
2454
|
+
* Discovery surfaces each one as a `validate` warning on the channel file.
|
|
2455
|
+
*/
|
|
2456
|
+
deprecations?: readonly string[];
|
|
2317
2457
|
}
|
|
2318
2458
|
|
|
2319
2459
|
export interface ChannelConfig<TState = JsonValue> {
|
|
@@ -2786,6 +2926,8 @@ export interface DiscoveredTool {
|
|
|
2786
2926
|
advertised?: true;
|
|
2787
2927
|
/** Name of the advertising connection an advertised tool came from. */
|
|
2788
2928
|
connection?: string;
|
|
2929
|
+
/** Mounted extension this tool came from; absent for `agent/tools/`. */
|
|
2930
|
+
extension?: string;
|
|
2789
2931
|
/**
|
|
2790
2932
|
* Agent tools: script body materialized under
|
|
2791
2933
|
* `.agent-serve/tools/<name>.sh`.
|
|
@@ -2804,6 +2946,8 @@ export interface DiscoveredSkill {
|
|
|
2804
2946
|
markdown: string;
|
|
2805
2947
|
/** Package-relative sibling files. */
|
|
2806
2948
|
files: Record<string, SkillFileSource>;
|
|
2949
|
+
/** Mounted extension this skill came from; absent for `agent/skills/`. */
|
|
2950
|
+
extension?: string;
|
|
2807
2951
|
}
|
|
2808
2952
|
|
|
2809
2953
|
export interface DiscoveredConnection {
|
|
@@ -2819,6 +2963,16 @@ export interface DiscoveredConnection {
|
|
|
2819
2963
|
* Absent means every listed tool is advertised.
|
|
2820
2964
|
*/
|
|
2821
2965
|
effects?: readonly ToolEffect[];
|
|
2966
|
+
/**
|
|
2967
|
+
* Normalized tool-name allowlist from {@link ConnectionConfig.tools}.
|
|
2968
|
+
* Absent means every listed tool is kept.
|
|
2969
|
+
*/
|
|
2970
|
+
tools?: readonly string[];
|
|
2971
|
+
/**
|
|
2972
|
+
* Normalized tool-name denylist from
|
|
2973
|
+
* {@link ConnectionConfig.disallowedTools}.
|
|
2974
|
+
*/
|
|
2975
|
+
disallowedTools?: readonly string[];
|
|
2822
2976
|
}
|
|
2823
2977
|
|
|
2824
2978
|
export interface DiscoveredChannel {
|
|
@@ -2890,6 +3044,11 @@ export interface ResolvedAgent {
|
|
|
2890
3044
|
architecture?: AgentArchitecture;
|
|
2891
3045
|
tools: DiscoveredTool[];
|
|
2892
3046
|
skills: DiscoveredSkill[];
|
|
3047
|
+
/**
|
|
3048
|
+
* Mounted `agent/extensions/`. Their tools and skills are already merged
|
|
3049
|
+
* into {@link tools} and {@link skills}; this records provenance.
|
|
3050
|
+
*/
|
|
3051
|
+
extensions?: DiscoveredExtension[];
|
|
2893
3052
|
connections: DiscoveredConnection[];
|
|
2894
3053
|
/**
|
|
2895
3054
|
* MCP connections from `agent/host-connections/`. Host tools and
|
|
@@ -2972,11 +3131,15 @@ export interface AgentProjectInfo {
|
|
|
2972
3131
|
inputSchema: JsonSchemaObject;
|
|
2973
3132
|
}>;
|
|
2974
3133
|
skills: Array<{ name: string; description: string }>;
|
|
3134
|
+
/** Mounted extensions and the tool / skill names each contributed. */
|
|
3135
|
+
extensions: DiscoveredExtension[];
|
|
2975
3136
|
connections: Array<{
|
|
2976
3137
|
name: string;
|
|
2977
3138
|
transport: string;
|
|
2978
3139
|
advertiseTools?: boolean;
|
|
2979
3140
|
effects?: readonly ToolEffect[];
|
|
3141
|
+
tools?: readonly string[];
|
|
3142
|
+
disallowedTools?: readonly string[];
|
|
2980
3143
|
/**
|
|
2981
3144
|
* Present only for `cursorAccount` connections: the connector-name
|
|
2982
3145
|
* allowlist, or `"*"` for every connected server. Structured twin of the
|