@cursor/july 0.1.108 → 0.1.111
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 +3 -7
- package/README.md +3 -21
- package/dist/bin/agent-serve.js +81 -66
- package/dist/channels/bitbucket/api.d.ts +41 -0
- package/dist/channels/bitbucket/api.d.ts.map +1 -1
- package/dist/channels/bitbucket/api.js +266 -6
- package/dist/channels/bitbucket/binding.d.ts +4 -0
- package/dist/channels/bitbucket/binding.d.ts.map +1 -1
- package/dist/channels/bitbucket/binding.js +20 -4
- package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
- package/dist/channels/bitbucket/bitbucket-webhook.js +1 -1
- package/dist/channels/bitbucket/checks.d.ts.map +1 -1
- package/dist/channels/bitbucket/checks.js +1 -1
- package/dist/channels/bitbucket/cursor-account.js +1 -1
- package/dist/channels/bitbucket/events.js +1 -1
- package/dist/channels/bitbucket/index.d.ts +1 -1
- package/dist/channels/bitbucket/index.d.ts.map +1 -1
- package/dist/channels/bitbucket/index.js +1 -1
- package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
- package/dist/channels/checks.d.ts.map +1 -1
- package/dist/channels/checks.js +2 -2
- package/dist/channels/deployments/deployments-channel.js +1 -1
- package/dist/channels/github/cursor-account.js +3 -3
- package/dist/channels/github/defaults.d.ts.map +1 -1
- package/dist/channels/github/defaults.js +5 -3
- package/dist/channels/github/events.js +1 -1
- package/dist/channels/github/forward.js +8 -8
- package/dist/channels/github/github-channel.d.ts.map +1 -1
- package/dist/channels/github/github-channel.js +17 -13
- package/dist/channels/github/progress.d.ts.map +1 -1
- package/dist/channels/github/progress.js +7 -2
- package/dist/channels/github/state.d.ts +6 -0
- package/dist/channels/github/state.d.ts.map +1 -1
- package/dist/channels/github/types.d.ts +6 -0
- package/dist/channels/github/types.d.ts.map +1 -1
- package/dist/channels/gitlab/api.d.ts +27 -0
- package/dist/channels/gitlab/api.d.ts.map +1 -1
- package/dist/channels/gitlab/api.js +88 -0
- package/dist/channels/gitlab/binding.d.ts +5 -0
- package/dist/channels/gitlab/binding.d.ts.map +1 -1
- package/dist/channels/gitlab/binding.js +14 -4
- package/dist/channels/gitlab/checks.d.ts.map +1 -1
- package/dist/channels/gitlab/checks.js +1 -1
- package/dist/channels/gitlab/cursor-account.js +1 -1
- package/dist/channels/gitlab/events.js +1 -1
- package/dist/channels/gitlab/gitlab-channel.js +1 -1
- package/dist/channels/gitlab/gitlab-webhook.js +1 -1
- package/dist/channels/gitlab/index.d.ts +1 -1
- package/dist/channels/gitlab/index.d.ts.map +1 -1
- package/dist/channels/gitlab/index.js +1 -1
- package/dist/channels/gitlab/replay.js +2 -2
- package/dist/channels/origin/binding.d.ts +2 -0
- package/dist/channels/origin/binding.d.ts.map +1 -1
- package/dist/channels/origin/binding.js +3 -3
- package/dist/channels/origin/checks.d.ts +19 -7
- package/dist/channels/origin/checks.d.ts.map +1 -1
- package/dist/channels/origin/checks.js +13 -9
- package/dist/channels/origin/cursor-account.js +1 -1
- package/dist/channels/origin/defaults.d.ts.map +1 -1
- package/dist/channels/origin/defaults.js +3 -1
- package/dist/channels/origin/events.js +1 -1
- package/dist/channels/origin/origin-channel.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.js +2 -1
- package/dist/channels/origin/origin-webhook.js +2 -2
- package/dist/channels/slack/agentic-delivery.d.ts +23 -0
- package/dist/channels/slack/agentic-delivery.d.ts.map +1 -0
- package/dist/channels/slack/agentic-delivery.js +558 -0
- package/dist/channels/slack/agentic-posted.d.ts +30 -0
- package/dist/channels/slack/agentic-posted.d.ts.map +1 -0
- package/dist/channels/slack/agentic-posted.js +102 -0
- package/dist/channels/slack/agentic-signals.d.ts +48 -0
- package/dist/channels/slack/agentic-signals.d.ts.map +1 -0
- package/dist/channels/slack/agentic-signals.js +204 -0
- package/dist/channels/slack/api.d.ts +20 -1
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +43 -11
- package/dist/channels/slack/approvals.js +1 -1
- package/dist/channels/slack/auth.d.ts.map +1 -1
- package/dist/channels/slack/auth.js +3 -1
- package/dist/channels/slack/blocks.js +3 -3
- package/dist/channels/slack/bot-mentions.d.ts.map +1 -1
- package/dist/channels/slack/bot-mentions.js +5 -5
- package/dist/channels/slack/channel-watch.js +1 -1
- package/dist/channels/slack/cli-project.js +3 -3
- package/dist/channels/slack/defaults.d.ts +3 -0
- package/dist/channels/slack/defaults.d.ts.map +1 -1
- package/dist/channels/slack/defaults.js +90 -29
- package/dist/channels/slack/dispatch.d.ts +44 -1
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +233 -103
- package/dist/channels/slack/doctor.js +1 -1
- package/dist/channels/slack/eval-directive.js +1 -1
- package/dist/channels/slack/external-policy.d.ts +2 -1
- package/dist/channels/slack/external-policy.d.ts.map +1 -1
- package/dist/channels/slack/external-policy.js +13 -2
- package/dist/channels/slack/footer.d.ts +30 -0
- package/dist/channels/slack/footer.d.ts.map +1 -0
- package/dist/channels/slack/footer.js +88 -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/interactive.d.ts.map +1 -1
- package/dist/channels/slack/interactive.js +5 -3
- package/dist/channels/slack/live-delivery.d.ts +1 -1
- package/dist/channels/slack/live-delivery.d.ts.map +1 -1
- package/dist/channels/slack/live-delivery.js +20 -6
- package/dist/channels/slack/log.d.ts.map +1 -1
- package/dist/channels/slack/log.js +1 -1
- package/dist/channels/slack/manifest.js +1 -1
- package/dist/channels/slack/nudge-carrier.js +1 -1
- package/dist/channels/slack/nudge-store.js +2 -2
- package/dist/channels/slack/paint-start.d.ts +22 -0
- package/dist/channels/slack/paint-start.d.ts.map +1 -0
- package/dist/channels/slack/paint-start.js +91 -0
- package/dist/channels/slack/placeholder.d.ts +36 -0
- package/dist/channels/slack/placeholder.d.ts.map +1 -0
- package/dist/channels/slack/placeholder.js +240 -0
- package/dist/channels/slack/progress-delivery.d.ts.map +1 -1
- package/dist/channels/slack/progress-delivery.js +13 -4
- package/dist/channels/slack/reasoning-chip.d.ts +8 -0
- package/dist/channels/slack/reasoning-chip.d.ts.map +1 -0
- package/dist/channels/slack/reasoning-chip.js +30 -0
- package/dist/channels/slack/recording-sink.d.ts +29 -0
- package/dist/channels/slack/recording-sink.d.ts.map +1 -0
- package/dist/channels/slack/recording-sink.js +142 -0
- package/dist/channels/slack/reply-options.d.ts +8 -1
- package/dist/channels/slack/reply-options.d.ts.map +1 -1
- package/dist/channels/slack/reply-options.js +59 -14
- package/dist/channels/slack/setup.js +1 -1
- package/dist/channels/slack/slack-channel.d.ts +12 -5
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +110 -24
- package/dist/channels/slack/socket-mode.js +2 -2
- package/dist/channels/slack/thread-context.js +5 -5
- package/dist/channels/slack/tool-approval-events.d.ts +5 -0
- package/dist/channels/slack/tool-approval-events.d.ts.map +1 -1
- package/dist/channels/slack/tool-approval-events.js +50 -38
- package/dist/channels/slack/tool-cards.js +1 -1
- package/dist/channels/slack/tool-chip.d.ts +9 -0
- package/dist/channels/slack/tool-chip.d.ts.map +1 -0
- package/dist/channels/slack/tool-chip.js +25 -0
- package/dist/channels/slack/types.d.ts +49 -7
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/channels/slack/upload.d.ts +13 -0
- package/dist/channels/slack/upload.d.ts.map +1 -0
- package/dist/channels/slack/upload.js +135 -0
- package/dist/channels.d.ts +10 -14
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +9 -21
- package/dist/dashboard-session-url.d.ts +15 -0
- package/dist/dashboard-session-url.d.ts.map +1 -0
- package/dist/dashboard-session-url.js +25 -0
- package/dist/docs/404.html +3 -3
- package/dist/docs/architecture.svg +59 -0
- package/dist/docs/assets/app.Drol6mi6.js +309 -0
- package/dist/docs/assets/{building-with-agents.md.CUSWxlP_.js → building-with-agents.md.CEGVXkmO.js} +2 -2
- package/dist/docs/assets/{building-with-agents.md.CUSWxlP_.lean.js → building-with-agents.md.CEGVXkmO.lean.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.DtXk1hy-.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.BOKxlYGP.js → VPLocalSearchBox.CdqoBZJX.js} +2 -2
- package/dist/docs/assets/chunks/arc.BVX3ycTn.js +1 -0
- package/dist/docs/assets/chunks/architectureDiagram-Q4EWVU46.CcChnMxX.js +36 -0
- package/dist/docs/assets/chunks/baseUniq.xwtXO-yt.js +1 -0
- package/dist/docs/assets/chunks/blockDiagram-DXYQGD6D.CijZ_taK.js +132 -0
- package/dist/docs/assets/chunks/c4Diagram-AHTNJAMY.0FBvwBvK.js +10 -0
- package/dist/docs/assets/chunks/channel.Bkv1N-gK.js +1 -0
- package/dist/docs/assets/chunks/chunk-4BX2VUAB.CELMmMDA.js +1 -0
- package/dist/docs/assets/chunks/chunk-4TB4RGXK.C4bhFtSm.js +206 -0
- package/dist/docs/assets/chunks/chunk-55IACEB6.ZnQ9gRRQ.js +1 -0
- package/dist/docs/assets/chunks/chunk-EDXVE4YY.DPlmglG-.js +1 -0
- package/dist/docs/assets/chunks/chunk-FMBD7UC4.BrUk8pff.js +15 -0
- package/dist/docs/assets/chunks/chunk-OYMX7WX6.CcmWIncu.js +231 -0
- package/dist/docs/assets/chunks/chunk-QZHKN3VN.D65-cs8I.js +1 -0
- package/dist/docs/assets/chunks/chunk-YZCP3GAM.qoXZpG9F.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CZDco1o8.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CZDco1o8.js +1 -0
- package/dist/docs/assets/chunks/clone.YSt_40_s.js +1 -0
- package/dist/docs/assets/chunks/cose-bilkent-S5V4N54A.8rYtqudO.js +1 -0
- package/dist/docs/assets/chunks/cytoscape.esm.BQk4lpUV.js +331 -0
- package/dist/docs/assets/chunks/dagre-KV5264BT.DrRP1fOh.js +4 -0
- package/dist/docs/assets/chunks/defaultLocale.C4B-KCzX.js +1 -0
- package/dist/docs/assets/chunks/diagram-5BDNPKRD.DHj_xA2_.js +10 -0
- package/dist/docs/assets/chunks/diagram-G4DWMVQ6.Bz_6nAKj.js +24 -0
- package/dist/docs/assets/chunks/diagram-MMDJMWI5.BWA0xSW9.js +43 -0
- package/dist/docs/assets/chunks/diagram-TYMM5635.CpTJLNJI.js +24 -0
- package/dist/docs/assets/chunks/erDiagram-SMLLAGMA.-7AWWSrP.js +85 -0
- package/dist/docs/assets/chunks/flowDiagram-DWJPFMVM.BTnQ742_.js +162 -0
- package/dist/docs/assets/chunks/framework.dypDpWZ3.js +19 -0
- package/dist/docs/assets/chunks/ganttDiagram-T4ZO3ILL.B5_HiiQ5.js +292 -0
- package/dist/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.CZcNTFZd.js +106 -0
- package/dist/docs/assets/chunks/graph.V2GLaab4.js +1 -0
- package/dist/docs/assets/chunks/infoDiagram-42DDH7IO.7pZOkCCU.js +2 -0
- package/dist/docs/assets/chunks/init.Gi6I4Gst.js +1 -0
- package/dist/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.DSMo3Qa3.js +70 -0
- package/dist/docs/assets/chunks/journeyDiagram-VCZTEJTY.BNEgWN1S.js +139 -0
- package/dist/docs/assets/chunks/kanban-definition-6JOO6SKY.B-4d4tC7.js +89 -0
- package/dist/docs/assets/chunks/katex.DkKDou_j.js +257 -0
- package/dist/docs/assets/chunks/layout.Dvbn9nSb.js +1 -0
- package/dist/docs/assets/chunks/linear.D2GM4p4b.js +1 -0
- package/dist/docs/assets/chunks/min.DVBtLK-B.js +1 -0
- package/dist/docs/assets/chunks/mindmap-definition-QFDTVHPH.CnJRI55x.js +96 -0
- package/dist/docs/assets/chunks/ordinal.DBvzRdQf.js +1 -0
- package/dist/docs/assets/chunks/pieDiagram-DEJITSTG.CtoaTFlA.js +30 -0
- package/dist/docs/assets/chunks/quadrantDiagram-34T5L4WZ.DtT24_vN.js +7 -0
- package/dist/docs/assets/chunks/requirementDiagram-MS252O5E.CjSO4o8f.js +84 -0
- package/dist/docs/assets/chunks/sankeyDiagram-XADWPNL6.-wWiIVWa.js +10 -0
- package/dist/docs/assets/chunks/sequenceDiagram-FGHM5R23.DSk8s4gX.js +157 -0
- package/dist/docs/assets/chunks/stateDiagram-FHFEXIEX.BFKAsdkN.js +1 -0
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C4CLm481.js +1 -0
- package/dist/docs/assets/chunks/{theme.DbDZW-zb.js → theme.C0MctGaz.js} +2 -2
- package/dist/docs/assets/chunks/timeline-definition-GMOUNBTQ.TUNJbAFe.js +120 -0
- package/dist/docs/assets/chunks/vennDiagram-DHZGUBPP.C-RGNnk4.js +34 -0
- package/dist/docs/assets/chunks/virtual_mermaid-config.DDnGl6nM.js +1 -0
- package/dist/docs/assets/chunks/wardley-RL74JXVD.g5efOWmT.js +162 -0
- package/dist/docs/assets/chunks/wardleyDiagram-NUSXRM2D.DH4zt73Y.js +20 -0
- package/dist/docs/assets/chunks/xychartDiagram-5P7HB3ND.B-3k6bF6.js +7 -0
- package/dist/docs/assets/{deployment.md.JenwuCCB.js → deployment.md.Dm4Qo3hp.js} +5 -5
- package/dist/docs/assets/{deployment.md.JenwuCCB.lean.js → deployment.md.Dm4Qo3hp.lean.js} +1 -1
- package/dist/docs/assets/evals.md.BLDRt5LH.js +211 -0
- package/dist/docs/assets/evals.md.BLDRt5LH.lean.js +1 -0
- package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.js +14 -0
- package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.lean.js +1 -0
- package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.js +10 -0
- package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.lean.js +1 -0
- package/dist/docs/assets/{guides_cloud-agents.md.BsloyHdY.js → guides_cloud-agents.md.lSE_l7lH.js} +2 -2
- package/dist/docs/assets/{guides_cloud-agents.md.BsloyHdY.lean.js → guides_cloud-agents.md.lSE_l7lH.lean.js} +1 -1
- package/dist/docs/assets/{guides_convert-automation.md.B4sjlodG.js → guides_convert-automation.md.Ck6Cr68A.js} +1 -1
- package/dist/docs/assets/{guides_convert-automation.md.B4sjlodG.lean.js → guides_convert-automation.md.Ck6Cr68A.lean.js} +1 -1
- package/dist/docs/assets/{guides_github.md.BH33UEBJ.js → guides_github.md.D6ER29dG.js} +13 -3
- package/dist/docs/assets/{guides_github.md.BH33UEBJ.lean.js → guides_github.md.D6ER29dG.lean.js} +1 -1
- package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.js +14 -0
- package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.lean.js +1 -0
- package/dist/docs/assets/guides_grokbot-agents.md.WBZIOvkz.js +9 -0
- package/dist/docs/assets/{guides_grokbot-agents.md.DyV-WArv.lean.js → guides_grokbot-agents.md.WBZIOvkz.lean.js} +1 -1
- package/dist/docs/assets/{guides_improve.md.BGVk32bK.js → guides_improve.md.BKaDuKKK.js} +1 -1
- package/dist/docs/assets/{guides_improve.md.BGVk32bK.lean.js → guides_improve.md.BKaDuKKK.lean.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.Dp6cDP7f.js → guides_mcp-oauth.md.DMNMpXtO.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.Dp6cDP7f.lean.js → guides_mcp-oauth.md.DMNMpXtO.lean.js} +1 -1
- package/dist/docs/assets/{guides_opentelemetry.md.SCRMskno.js → guides_opentelemetry.md._CRfDyzH.js} +14 -14
- package/dist/docs/assets/{guides_opentelemetry.md.SCRMskno.lean.js → guides_opentelemetry.md._CRfDyzH.lean.js} +1 -1
- package/dist/docs/assets/{guides_slack.md.D4RVMM4G.js → guides_slack.md.DdT8rmsj.js} +12 -4
- package/dist/docs/assets/{guides_slack.md.D4RVMM4G.lean.js → guides_slack.md.DdT8rmsj.lean.js} +1 -1
- package/dist/docs/assets/{guides_webhooks.md.DKdA43Qm.js → guides_webhooks.md.aQW10HRe.js} +3 -3
- package/dist/docs/assets/{guides_webhooks.md.DKdA43Qm.lean.js → guides_webhooks.md.aQW10HRe.lean.js} +1 -1
- package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.js +1 -0
- package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.lean.js +1 -0
- package/dist/docs/assets/index.md.BFVyY2KT.js +17 -0
- package/dist/docs/assets/index.md.BFVyY2KT.lean.js +1 -0
- package/dist/docs/assets/{quickstart.md.DdQOF7Y8.js → quickstart.md.D3MjSZN-.js} +30 -38
- package/dist/docs/assets/quickstart.md.D3MjSZN-.lean.js +1 -0
- package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.js → reference_agent-config.md.CfVA-LZJ.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.lean.js → reference_agent-config.md.CfVA-LZJ.lean.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.js → reference_artifacts.md.Vf7qyIZ-.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.lean.js → reference_artifacts.md.Vf7qyIZ-.lean.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.D-qTqwcq.js → reference_channels.md.icqLKcTc.js} +2 -12
- package/dist/docs/assets/{reference_channels.md.D-qTqwcq.lean.js → reference_channels.md.icqLKcTc.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.Ca26u0Es.js → reference_cli.md.B2dBL6L8.js} +4 -4
- package/dist/docs/assets/{reference_cli.md.Ca26u0Es.lean.js → reference_cli.md.B2dBL6L8.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.BojkC6c5.js → reference_connections.md.Cb3U_c8n.js} +4 -4
- package/dist/docs/assets/{reference_connections.md.BojkC6c5.lean.js → reference_connections.md.Cb3U_c8n.lean.js} +1 -1
- package/dist/docs/assets/{reference_extensions.md.CPWt00ds.js → reference_extensions.md.wlFD3cUR.js} +3 -3
- package/dist/docs/assets/{reference_extensions.md.CPWt00ds.lean.js → reference_extensions.md.wlFD3cUR.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.Ddt5DdgJ.js → reference_hooks.md.CZuynAxj.js} +3 -3
- package/dist/docs/assets/{reference_hooks.md.Ddt5DdgJ.lean.js → reference_hooks.md.CZuynAxj.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.oySXBO8o.js → reference_http-api.md.DTKcYE6L.js} +3 -3
- package/dist/docs/assets/{reference_http-api.md.oySXBO8o.lean.js → reference_http-api.md.DTKcYE6L.lean.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.js → reference_instructions.md.D7gkckK-.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.lean.js → reference_instructions.md.D7gkckK-.lean.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.4myJPxrf.js → reference_playground.md.D2YExv5K.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.4myJPxrf.lean.js → reference_playground.md.D2YExv5K.lean.js} +1 -1
- package/dist/docs/assets/reference_project-layout.md.DPxbUJyt.js +19 -0
- package/dist/docs/assets/{reference_project-layout.md.DuBu9a96.lean.js → reference_project-layout.md.DPxbUJyt.lean.js} +1 -1
- package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.js → reference_prompt.md.BQ5uAv1F.js} +1 -1
- package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.lean.js → reference_prompt.md.BQ5uAv1F.lean.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.js → reference_schedules.md.BasfZWO-.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.lean.js → reference_schedules.md.BasfZWO-.lean.js} +1 -1
- package/dist/docs/assets/reference_sessions.md.YKvIsWAx.js +1 -0
- package/dist/docs/assets/{reference_sessions.md.CueyOHSL.lean.js → reference_sessions.md.YKvIsWAx.lean.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.l2ezAcaN.js → reference_skills.md.rNgpsGd0.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.l2ezAcaN.lean.js → reference_skills.md.rNgpsGd0.lean.js} +1 -1
- package/dist/docs/assets/{reference_subagents.md.CfsIloPm.js → reference_subagents.md.e5qitjJt.js} +2 -2
- package/dist/docs/assets/{reference_subagents.md.CfsIloPm.lean.js → reference_subagents.md.e5qitjJt.lean.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.aGrn99hP.js → reference_tools.md.BdCO2aHZ.js} +4 -4
- package/dist/docs/assets/{reference_tools.md.aGrn99hP.lean.js → reference_tools.md.BdCO2aHZ.lean.js} +1 -1
- package/dist/docs/assets/{style.DCD_zyg3.css → style.Cfo2vbik.css} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.js → templates_agentic-owners.md.Da_AGDlH.js} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.lean.js → templates_agentic-owners.md.Da_AGDlH.lean.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.js → templates_pr-autofixer.md.DqxocIGh.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.lean.js → templates_pr-autofixer.md.DqxocIGh.lean.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.js → templates_security-reviewer.md.Bhnvd8VE.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.lean.js → templates_security-reviewer.md.Bhnvd8VE.lean.js} +1 -1
- package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.js → templates_triage.md.BdBWO9Ic.js} +1 -1
- package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.lean.js → templates_triage.md.BdBWO9Ic.lean.js} +1 -1
- package/dist/docs/assets/{troubleshooting.md.CYEAO9bM.js → troubleshooting.md.BcgNoYtJ.js} +1 -1
- package/dist/docs/assets/{troubleshooting.md.CYEAO9bM.lean.js → troubleshooting.md.BcgNoYtJ.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +41 -8
- package/dist/docs/building-with-agents.md +15 -16
- package/dist/docs/deployment.html +44 -11
- package/dist/docs/deployment.md +6 -7
- package/dist/docs/evals.html +196 -37
- package/dist/docs/evals.md +612 -297
- package/dist/docs/guides/agent-to-agent.html +48 -11
- package/dist/docs/guides/agent-to-agent.md +40 -83
- package/dist/docs/guides/bitbucket.html +69 -0
- package/dist/docs/guides/bitbucket.md +84 -0
- package/dist/docs/guides/cloud-agents.html +41 -8
- package/dist/docs/guides/cloud-agents.md +24 -20
- package/dist/docs/guides/convert-automation.html +41 -8
- package/dist/docs/guides/github.html +52 -9
- package/dist/docs/guides/github.md +32 -1
- package/dist/docs/guides/gitlab.html +73 -0
- package/dist/docs/guides/gitlab.md +92 -0
- package/dist/docs/guides/grokbot-agents.html +41 -8
- package/dist/docs/guides/grokbot-agents.md +26 -19
- package/dist/docs/guides/improve.html +41 -8
- package/dist/docs/guides/mcp-oauth.html +41 -8
- package/dist/docs/guides/mcp-oauth.md +1 -1
- package/dist/docs/guides/opentelemetry.html +53 -20
- package/dist/docs/guides/opentelemetry.md +28 -41
- package/dist/docs/guides/slack.html +51 -10
- package/dist/docs/guides/slack.md +53 -4
- package/dist/docs/guides/webhooks.html +42 -9
- package/dist/docs/guides/webhooks.md +7 -6
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +40 -10
- package/dist/docs/hillclimbing.md +7 -7
- package/dist/docs/index.html +57 -12
- package/dist/docs/index.md +81 -146
- package/dist/docs/llms-full.txt +1368 -5551
- package/dist/docs/llms.txt +6 -31
- package/dist/docs/quickstart.html +70 -45
- package/dist/docs/quickstart.md +44 -105
- package/dist/docs/reference/agent-config.html +41 -8
- package/dist/docs/reference/artifacts.html +41 -8
- package/dist/docs/reference/channels.html +41 -18
- package/dist/docs/reference/channels.md +16 -19
- package/dist/docs/reference/cli.html +43 -10
- package/dist/docs/reference/cli.md +6 -20
- package/dist/docs/reference/connections.html +43 -10
- package/dist/docs/reference/connections.md +3 -5
- package/dist/docs/reference/extensions.html +43 -10
- package/dist/docs/reference/extensions.md +2 -5
- package/dist/docs/reference/hooks.html +42 -9
- package/dist/docs/reference/hooks.md +11 -16
- package/dist/docs/reference/http-api.html +42 -9
- package/dist/docs/reference/http-api.md +6 -7
- package/dist/docs/reference/instructions.html +41 -8
- package/dist/docs/reference/playground.html +40 -7
- package/dist/docs/reference/playground.md +2 -6
- package/dist/docs/reference/project-layout.html +42 -9
- package/dist/docs/reference/project-layout.md +4 -12
- package/dist/docs/reference/prompt.html +41 -8
- package/dist/docs/reference/schedules.html +41 -8
- package/dist/docs/reference/sessions.html +40 -7
- package/dist/docs/reference/sessions.md +6 -6
- package/dist/docs/reference/skills.html +41 -8
- package/dist/docs/reference/subagents.html +41 -8
- package/dist/docs/reference/subagents.md +2 -4
- package/dist/docs/reference/tools.html +43 -10
- package/dist/docs/reference/tools.md +2 -5
- package/dist/docs/templates/agentic-owners.html +41 -8
- package/dist/docs/templates/pr-autofixer.html +41 -8
- package/dist/docs/templates/security-reviewer.html +41 -8
- package/dist/docs/templates/triage.html +41 -8
- package/dist/docs/troubleshooting.html +40 -7
- package/dist/docs/troubleshooting.md +1 -2
- package/dist/evals/assertions.js +19 -19
- package/dist/evals/expect.js +1 -1
- package/dist/evals/judge.js +1 -1
- package/dist/evals/reporters.d.ts.map +1 -1
- package/dist/evals/reporters.js +8 -8
- package/dist/evals/run-facts.js +2 -2
- package/dist/evals.d.ts +1 -1
- package/dist/evals.d.ts.map +1 -1
- package/dist/evals.js +7 -7
- package/dist/extensions/cursor-cloud-agents/extension.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +3 -3
- package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/repos.js +6 -6
- package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -2
- package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
- package/dist/extensions/improve/skills/yourself.js +1 -1
- package/dist/extensions/slack-communication/extension.d.ts +28 -0
- package/dist/extensions/slack-communication/extension.d.ts.map +1 -0
- package/dist/extensions/slack-communication/extension.js +32 -0
- package/dist/extensions/slack-communication/skills/slack-voice.d.ts +5 -0
- package/dist/extensions/slack-communication/skills/slack-voice.d.ts.map +1 -0
- package/dist/extensions/slack-communication/skills/slack-voice.js +54 -0
- package/dist/extensions/slack-communication/tools/delete-message.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/delete-message.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/delete-message.js +29 -0
- package/dist/extensions/slack-communication/tools/edit-message.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/edit-message.js +37 -0
- package/dist/extensions/slack-communication/tools/post-card.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-card.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-card.js +25 -0
- package/dist/extensions/slack-communication/tools/post-file.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-file.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-file.js +76 -0
- package/dist/extensions/slack-communication/tools/post-update.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-update.js +36 -0
- package/dist/extensions/slack-communication/tools/react.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/react.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/react.js +27 -0
- package/dist/extensions/slack-communication/tools/set-status.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/set-status.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/set-status.js +18 -0
- package/dist/extensions.d.ts +2 -3
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +2 -5
- package/dist/files-backends/cursor-hosted.d.ts +18 -6
- package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/files-backends/cursor-hosted.js +357 -74
- package/dist/files-backends/local-fs.js +1 -1
- package/dist/files.d.ts +15 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +15 -15
- package/dist/index.d.ts +6 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -8
- package/dist/internal/advertise-tools.js +6 -6
- package/dist/internal/approval-gate.js +1 -1
- package/dist/internal/artifacts-store.js +3 -3
- package/dist/internal/as-of.js +2 -2
- package/dist/internal/authored-alias-hooks.d.ts +5 -0
- package/dist/internal/authored-alias-hooks.d.ts.map +1 -1
- package/dist/internal/authored-alias-hooks.js +17 -0
- package/dist/internal/authored-loaders.d.ts +4 -0
- package/dist/internal/authored-loaders.d.ts.map +1 -1
- package/dist/internal/authored-loaders.js +21 -2
- package/dist/internal/builtin-tools/reminders.js +2 -2
- package/dist/internal/chat-client.js +5 -5
- package/dist/internal/cli-ax.d.ts +2 -2
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +69 -15
- package/dist/internal/cli-bitbucket.js +10 -10
- package/dist/internal/cli-convert-automation.js +2 -2
- package/dist/internal/cli-cursor.d.ts +3 -11
- package/dist/internal/cli-cursor.d.ts.map +1 -1
- package/dist/internal/cli-cursor.js +5 -10
- package/dist/internal/cli-deploy.d.ts +12 -2
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +328 -96
- package/dist/internal/cli-docs.js +5 -5
- package/dist/internal/cli-github.js +15 -16
- package/dist/internal/cli-gitlab.js +10 -10
- package/dist/internal/cli-manifest.js +1 -1
- package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
- package/dist/internal/cli-mcp-oauth.js +5 -5
- package/dist/internal/cli-mcp.js +3 -3
- package/dist/internal/cli-skills.js +2 -2
- package/dist/internal/cli-slack.js +5 -5
- package/dist/internal/cloud-turn-cost.js +1 -1
- package/dist/internal/continuation-channel.d.ts.map +1 -1
- package/dist/internal/continuation-channel.js +2 -2
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +22 -12
- package/dist/internal/conversation-mirror.d.ts.map +1 -1
- package/dist/internal/conversation-mirror.js +33 -2
- package/dist/internal/convert-automation/convert-workflow.js +25 -24
- package/dist/internal/convert-automation/types.d.ts +8 -0
- package/dist/internal/convert-automation/types.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.d.ts +2 -2
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +32 -27
- package/dist/internal/cursor/backend-client.d.ts +15 -10
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +17 -11
- package/dist/internal/cursor/credentials.js +1 -1
- package/dist/internal/cursor/hosted-store-secrets.d.ts +16 -0
- package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
- package/dist/internal/cursor/hosted-store-secrets.js +25 -0
- package/dist/internal/cursor-account-mcp-auth.js +9 -9
- package/dist/internal/cursor-deployment-relay.js +9 -9
- package/dist/internal/cursor-event-relay.js +10 -10
- package/dist/internal/cursor-relay-core.js +2 -2
- package/dist/internal/deploy-client.d.ts +106 -9
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +171 -23
- package/dist/internal/deploy-manifest.d.ts +13 -0
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +32 -16
- package/dist/internal/discovery/agent-config.d.ts +5 -0
- package/dist/internal/discovery/agent-config.d.ts.map +1 -1
- package/dist/internal/discovery/agent-config.js +27 -0
- package/dist/internal/discovery/agent.d.ts +1 -1
- package/dist/internal/discovery/agent.d.ts.map +1 -1
- package/dist/internal/discovery/agent.js +10 -13
- package/dist/internal/discovery/channels.js +4 -4
- package/dist/internal/discovery/connections.js +4 -4
- package/dist/internal/discovery/cursor-plugin.js +12 -12
- package/dist/internal/discovery/extension-overlay.d.ts +1 -2
- package/dist/internal/discovery/extension-overlay.d.ts.map +1 -1
- package/dist/internal/discovery/extension-overlay.js +3 -17
- package/dist/internal/discovery/extensions.d.ts +1 -2
- package/dist/internal/discovery/extensions.d.ts.map +1 -1
- package/dist/internal/discovery/extensions.js +10 -28
- package/dist/internal/discovery/info.d.ts.map +1 -1
- package/dist/internal/discovery/info.js +44 -26
- package/dist/internal/discovery/instructions.js +1 -1
- package/dist/internal/discovery/modules.js +0 -1
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +4 -20
- package/dist/internal/discovery/services.js +1 -1
- package/dist/internal/discovery/tools.js +1 -1
- package/dist/internal/docs-site.js +2 -2
- package/dist/internal/env-file.js +1 -1
- package/dist/internal/eval-run-store.d.ts.map +1 -1
- package/dist/internal/eval-run-store.js +7 -7
- package/dist/internal/eval-runner.js +14 -15
- package/dist/internal/evals-client.js +4 -4
- package/dist/internal/event-log.js +8 -8
- package/dist/internal/event-mapper.d.ts +18 -0
- package/dist/internal/event-mapper.d.ts.map +1 -1
- package/dist/internal/event-mapper.js +34 -2
- package/dist/internal/filesystem/format.d.ts.map +1 -1
- package/dist/internal/filesystem/format.js +6 -3
- package/dist/internal/filesystem/scratch.js +3 -3
- package/dist/internal/filesystem/tools.d.ts.map +1 -1
- package/dist/internal/filesystem/tools.js +6 -6
- package/dist/internal/filesystem/walk.js +1 -1
- package/dist/internal/framework-file-storage.d.ts +10 -7
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +95 -7
- package/dist/internal/framework-storage-selection.d.ts +2 -8
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +4 -13
- package/dist/internal/github-fanout.js +3 -3
- package/dist/internal/guest-network.js +4 -4
- package/dist/internal/host-files.js +1 -1
- package/dist/internal/host-kv.js +2 -2
- package/dist/internal/hosted-admission-adapter.d.ts +2 -0
- package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
- package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-catch-protocol.js +2 -4
- package/dist/internal/hosted-catch.js +1 -1
- package/dist/internal/hosted-delivery-protocol.d.ts +29 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.js +76 -8
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +201 -64
- package/dist/internal/hosted-execution-diag.js +3 -3
- package/dist/internal/hosted-execution-latency.d.ts +80 -0
- package/dist/internal/hosted-execution-latency.d.ts.map +1 -0
- package/dist/internal/hosted-execution-latency.js +220 -0
- package/dist/internal/hosting.d.ts +5 -5
- package/dist/internal/hosting.d.ts.map +1 -1
- package/dist/internal/hosting.js +5 -6
- package/dist/internal/http-channel-define.d.ts +11 -0
- package/dist/internal/http-channel-define.d.ts.map +1 -0
- package/dist/internal/http-channel-define.js +18 -0
- package/dist/internal/http-channel.d.ts +2 -3
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +3 -4
- package/dist/internal/http-control-plane-session.d.ts +7 -3
- package/dist/internal/http-control-plane-session.d.ts.map +1 -1
- package/dist/internal/http-control-plane-session.js +22 -10
- package/dist/internal/incoming-headers-to-fetch.d.ts +10 -0
- package/dist/internal/incoming-headers-to-fetch.d.ts.map +1 -0
- package/dist/internal/incoming-headers-to-fetch.js +41 -0
- package/dist/internal/init-interview.js +7 -7
- package/dist/internal/init-project.d.ts.map +1 -1
- package/dist/internal/init-project.js +14 -14
- package/dist/internal/init-scaffold.d.ts.map +1 -1
- package/dist/internal/init-scaffold.js +2 -3
- package/dist/internal/inline-stdio-mcp.js +2 -2
- package/dist/internal/install-cursor-skills.d.ts +5 -2
- package/dist/internal/install-cursor-skills.d.ts.map +1 -1
- package/dist/internal/install-cursor-skills.js +35 -15
- package/dist/internal/json-schema.js +1 -1
- package/dist/internal/local-control-plane.d.ts.map +1 -1
- package/dist/internal/local-control-plane.js +3 -3
- package/dist/internal/local-env.js +3 -3
- package/dist/internal/log-ring.js +1 -1
- package/dist/internal/logs-client.js +1 -1
- package/dist/internal/mcp-endpoint.js +8 -8
- package/dist/internal/mcp-host.js +4 -4
- package/dist/internal/mcp-oauth-on-demand.js +3 -3
- package/dist/internal/mcp-oauth.js +5 -5
- package/dist/internal/net.js +2 -2
- package/dist/internal/otel/config.js +3 -3
- package/dist/internal/otel/runtime.js +13 -13
- package/dist/internal/peer-connections.js +2 -2
- package/dist/internal/platform-schedule-sync.js +1 -1
- package/dist/internal/platform-timers.js +1 -1
- package/dist/internal/playground/static.js +2 -2
- package/dist/internal/playground/toolchain.js +2 -2
- package/dist/internal/playground-proxy.js +3 -3
- package/dist/internal/process-memory-telemetry.js +1 -1
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +7 -7
- package/dist/internal/reminder-store.js +1 -1
- package/dist/internal/request-error-status.d.ts.map +1 -1
- package/dist/internal/request-error-status.js +9 -0
- package/dist/internal/resolved-connections.js +8 -8
- package/dist/internal/result-output.d.ts +14 -2
- package/dist/internal/result-output.d.ts.map +1 -1
- package/dist/internal/result-output.js +45 -2
- package/dist/internal/router.js +4 -4
- package/dist/internal/run-client.d.ts +1 -1
- package/dist/internal/run-client.js +2 -2
- package/dist/internal/schedule-runner.js +6 -6
- package/dist/internal/scm/pr-url.d.ts +3 -1
- package/dist/internal/scm/pr-url.d.ts.map +1 -1
- package/dist/internal/scm/pr-url.js +10 -2
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +15 -16
- package/dist/internal/serve-restart.js +1 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +81 -101
- package/dist/internal/session-cost.js +3 -3
- package/dist/internal/session-engine.d.ts +39 -35
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +394 -343
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +4 -4
- package/dist/internal/session-store.d.ts +47 -3
- package/dist/internal/session-store.d.ts.map +1 -1
- package/dist/internal/session-store.js +198 -33
- package/dist/internal/sessions-client.js +3 -3
- package/dist/internal/slack-thread-key.d.ts +7 -0
- package/dist/internal/slack-thread-key.d.ts.map +1 -0
- package/dist/internal/slack-thread-key.js +10 -0
- package/dist/internal/sleep.js +1 -1
- package/dist/internal/storage-coordinator.d.ts +22 -19
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +114 -73
- package/dist/internal/storage-roles.d.ts +4 -9
- package/dist/internal/storage-roles.d.ts.map +1 -1
- package/dist/internal/storage-roles.js +2 -2
- package/dist/internal/storage.d.ts +2 -0
- package/dist/internal/storage.d.ts.map +1 -0
- package/dist/internal/storage.js +1 -0
- package/dist/internal/store-mirror.js +4 -4
- package/dist/internal/terminal-style.js +2 -2
- package/dist/internal/tool-result.js +3 -3
- package/dist/internal/trajectory.js +7 -7
- package/dist/internal/turn-governor.js +2 -2
- package/dist/internal/turn-outbox.js +1 -1
- package/dist/internal/update-check.js +2 -2
- package/dist/internal/v2-hosting.d.ts +9 -0
- package/dist/internal/v2-hosting.d.ts.map +1 -1
- package/dist/internal/v2-hosting.js +10 -0
- package/dist/internal/workspace.d.ts +13 -10
- package/dist/internal/workspace.d.ts.map +1 -1
- package/dist/internal/workspace.js +17 -16
- package/dist/kv/memory-kv.d.ts +6 -4
- package/dist/kv/memory-kv.d.ts.map +1 -1
- package/dist/kv/memory-kv.js +9 -7
- package/dist/kv.d.ts +4 -7
- package/dist/kv.d.ts.map +1 -1
- package/dist/kv.js +4 -7
- package/dist/otel-public.d.ts +7 -0
- package/dist/otel-public.d.ts.map +1 -0
- package/dist/otel-public.js +5 -0
- package/dist/otel.d.ts +7 -2
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +7 -2
- package/dist/playground/assets/index-BLlKgZtI.css +1 -0
- package/dist/playground/assets/index-CDS5p9sR.js +67 -0
- package/dist/playground/index.html +2 -2
- package/dist/prompt.js +1 -1
- package/dist/result.d.ts +10 -4
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +9 -3
- package/dist/storage-backends/cursor-hosted-v2.d.ts +4 -5
- package/dist/storage-backends/cursor-hosted-v2.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted-v2.js +6 -7
- package/dist/storage-backends/cursor-hosted.d.ts +6 -19
- package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted.js +6 -50
- package/dist/storage-backends/file-kv.d.ts +9 -12
- package/dist/storage-backends/file-kv.d.ts.map +1 -1
- package/dist/storage-backends/file-kv.js +18 -54
- package/dist/storage-protocol.d.ts +3 -11
- package/dist/storage-protocol.d.ts.map +1 -1
- package/dist/storage-protocol.js +3 -11
- package/dist/storage.d.ts +28 -38
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +15 -50
- package/dist/types.d.ts +87 -68
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -4
- package/docs/README.md +83 -148
- package/docs/building-with-agents.md +15 -16
- package/docs/deployment.md +6 -7
- package/docs/evals.md +613 -298
- package/docs/guides/agent-to-agent.md +41 -84
- package/docs/guides/bitbucket.md +89 -0
- package/docs/guides/cloud-agents.md +25 -20
- package/docs/guides/github.md +32 -1
- package/docs/guides/gitlab.md +97 -0
- package/docs/guides/grokbot-agents.md +27 -19
- package/docs/guides/mcp-oauth.md +1 -1
- package/docs/guides/opentelemetry.md +28 -41
- package/docs/guides/slack.md +53 -4
- package/docs/guides/webhooks.md +7 -6
- package/docs/hillclimbing.md +7 -7
- package/docs/quickstart.md +45 -106
- package/docs/reference/channels.md +16 -19
- package/docs/reference/cli.md +6 -20
- package/docs/reference/connections.md +3 -5
- package/docs/reference/extensions.md +2 -5
- package/docs/reference/hooks.md +11 -16
- package/docs/reference/http-api.md +6 -7
- package/docs/reference/playground.md +2 -6
- package/docs/reference/project-layout.md +4 -12
- package/docs/reference/sessions.md +6 -6
- package/docs/reference/subagents.md +2 -4
- package/docs/reference/tools.md +2 -5
- package/docs/troubleshooting.md +1 -2
- package/package.json +55 -43
- package/skills/deploy/SKILL.md +169 -0
- package/skills/evals/SKILL.md +45 -8
- package/skills/framework-map/SKILL.md +3 -4
- package/skills/otel/SKILL.md +8 -18
- package/src/bin/agent-serve.ts +93 -72
- package/src/channels/bitbucket/api.ts +347 -6
- package/src/channels/bitbucket/binding.ts +29 -4
- package/src/channels/bitbucket/bitbucket-channel.ts +1 -1
- package/src/channels/bitbucket/bitbucket-webhook.ts +1 -1
- package/src/channels/bitbucket/checks.ts +3 -4
- package/src/channels/bitbucket/cursor-account.ts +1 -1
- package/src/channels/bitbucket/events.ts +1 -1
- package/src/channels/bitbucket/index.ts +2 -0
- package/src/channels/change-monitors/change-monitors-channel.ts +2 -2
- package/src/channels/checks.ts +5 -4
- package/src/channels/deployments/deployments-channel.ts +1 -1
- package/src/channels/github/api.ts +1 -1
- package/src/channels/github/checks.ts +1 -1
- package/src/channels/github/cursor-account.ts +3 -3
- package/src/channels/github/defaults.ts +8 -4
- package/src/channels/github/events.ts +1 -1
- package/src/channels/github/forward.ts +8 -8
- package/src/channels/github/github-channel.ts +19 -2
- package/src/channels/github/progress.ts +7 -2
- package/src/channels/github/state.ts +6 -0
- package/src/channels/github/types.ts +6 -0
- package/src/channels/gitlab/api.ts +123 -0
- package/src/channels/gitlab/binding.ts +16 -4
- package/src/channels/gitlab/checks.ts +3 -4
- package/src/channels/gitlab/cursor-account.ts +1 -1
- package/src/channels/gitlab/events.ts +1 -1
- package/src/channels/gitlab/gitlab-channel.ts +1 -1
- package/src/channels/gitlab/gitlab-webhook.ts +1 -1
- package/src/channels/gitlab/index.ts +1 -0
- package/src/channels/gitlab/replay.ts +2 -2
- package/src/channels/origin/binding.ts +6 -3
- package/src/channels/origin/checks.ts +27 -17
- package/src/channels/origin/cursor-account.ts +1 -1
- package/src/channels/origin/defaults.ts +5 -1
- package/src/channels/origin/events.ts +1 -1
- package/src/channels/origin/origin-channel.ts +2 -1
- package/src/channels/origin/origin-webhook.ts +2 -2
- package/src/channels/slack/agentic-delivery.ts +659 -0
- package/src/channels/slack/agentic-posted.ts +148 -0
- package/src/channels/slack/agentic-signals.ts +248 -0
- package/src/channels/slack/api.ts +51 -11
- package/src/channels/slack/approvals.ts +1 -1
- package/src/channels/slack/attachments.ts +1 -1
- package/src/channels/slack/auth.ts +3 -1
- package/src/channels/slack/blocks.ts +3 -3
- package/src/channels/slack/bot-mentions.ts +5 -7
- package/src/channels/slack/channel-watch.ts +1 -1
- package/src/channels/slack/cli-project.ts +3 -3
- package/src/channels/slack/defaults.ts +109 -37
- package/src/channels/slack/dispatch.ts +323 -164
- package/src/channels/slack/doctor.ts +1 -1
- package/src/channels/slack/eval-directive.ts +1 -1
- package/src/channels/slack/external-policy.ts +15 -2
- package/src/channels/slack/footer.ts +108 -0
- package/src/channels/slack/index.ts +2 -0
- package/src/channels/slack/interactive.ts +4 -2
- package/src/channels/slack/live-delivery.ts +23 -7
- package/src/channels/slack/log.ts +1 -1
- package/src/channels/slack/manifest.ts +1 -1
- package/src/channels/slack/nudge-carrier.ts +1 -1
- package/src/channels/slack/nudge-store.ts +2 -2
- package/src/channels/slack/paint-start.ts +93 -0
- package/src/channels/slack/placeholder.ts +315 -0
- package/src/channels/slack/progress-delivery.ts +14 -1
- package/src/channels/slack/reasoning-chip.ts +48 -0
- package/src/channels/slack/recording-sink.ts +176 -0
- package/src/channels/slack/reply-options.ts +71 -15
- package/src/channels/slack/setup.ts +1 -1
- package/src/channels/slack/slack-channel.ts +140 -18
- package/src/channels/slack/socket-mode.ts +2 -2
- package/src/channels/slack/thread-context.ts +5 -5
- package/src/channels/slack/tool-approval-events.ts +54 -38
- package/src/channels/slack/tool-cards.ts +1 -1
- package/src/channels/slack/tool-chip.ts +36 -0
- package/src/channels/slack/types.ts +47 -7
- package/src/channels/slack/upload.ts +142 -0
- package/src/channels.ts +12 -30
- package/src/dashboard-session-url.ts +32 -0
- package/src/evals/assertions.ts +19 -19
- package/src/evals/expect.ts +1 -1
- package/src/evals/judge.ts +1 -1
- package/src/evals/reporters.ts +8 -9
- package/src/evals/run-facts.ts +2 -2
- package/src/evals.ts +7 -10
- package/src/extensions/cursor-cloud-agents/extension.ts +1 -1
- package/src/extensions/cursor-cloud-agents/lib/backend.ts +3 -3
- package/src/extensions/cursor-cloud-agents/lib/fleet.ts +1 -1
- package/src/extensions/cursor-cloud-agents/lib/repos.ts +3 -3
- package/src/extensions/cursor-cloud-agents/lib/transcript.ts +3 -4
- package/src/extensions/cursor-cloud-agents/tools/list.ts +1 -1
- package/src/extensions/improve/skills/yourself.ts +1 -1
- package/src/extensions/slack-communication/evals/harness.ts +728 -0
- package/src/extensions/slack-communication/evals/slack-communication.eval.ts +953 -0
- package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +194 -0
- package/src/extensions/slack-communication/extension.ts +45 -0
- package/src/extensions/slack-communication/skills/slack-voice.ts +59 -0
- package/src/extensions/slack-communication/tools/delete-message.ts +34 -0
- package/src/extensions/slack-communication/tools/edit-message.ts +42 -0
- package/src/extensions/slack-communication/tools/post-card.ts +28 -0
- package/src/extensions/slack-communication/tools/post-file.ts +85 -0
- package/src/extensions/slack-communication/tools/post-update.ts +41 -0
- package/src/extensions/slack-communication/tools/react.ts +33 -0
- package/src/extensions/slack-communication/tools/set-status.ts +21 -0
- package/src/extensions.ts +2 -6
- package/src/files-backends/cursor-hosted.ts +502 -98
- package/src/files-backends/local-fs.ts +1 -1
- package/src/files.ts +15 -0
- package/src/filesystem.ts +16 -18
- package/src/index.ts +4 -39
- package/src/internal/advertise-tools.ts +6 -6
- package/src/internal/approval-gate.ts +1 -1
- package/src/internal/artifacts-store.ts +3 -3
- package/src/internal/as-of.ts +2 -2
- package/src/internal/authored-alias-hooks.ts +32 -0
- package/src/internal/authored-loaders.ts +25 -2
- package/src/internal/builtin-tools/reminders.ts +2 -2
- package/src/internal/chat-client.ts +5 -5
- package/src/internal/cli-ax.ts +85 -16
- package/src/internal/cli-bitbucket.ts +11 -11
- package/src/internal/cli-convert-automation.ts +2 -2
- package/src/internal/cli-cursor.ts +5 -16
- package/src/internal/cli-deploy.ts +389 -104
- package/src/internal/cli-docs.ts +5 -5
- package/src/internal/cli-github.ts +16 -19
- package/src/internal/cli-gitlab.ts +11 -11
- package/src/internal/cli-manifest.ts +1 -1
- package/src/internal/cli-mcp-oauth.ts +5 -7
- package/src/internal/cli-mcp.ts +3 -3
- package/src/internal/cli-skills.ts +2 -2
- package/src/internal/cli-slack.ts +5 -5
- package/src/internal/cloud-turn-cost.ts +1 -1
- package/src/internal/continuation-channel.ts +2 -1
- package/src/internal/continuation-identity.ts +23 -11
- package/src/internal/conversation-mirror.ts +36 -3
- package/src/internal/convert-automation/convert-workflow.ts +27 -27
- package/src/internal/convert-automation/types.ts +9 -0
- package/src/internal/cursor/account-mcp.ts +48 -31
- package/src/internal/cursor/backend-client.ts +28 -17
- package/src/internal/cursor/credentials.ts +1 -1
- package/src/internal/cursor/hosted-store-secrets.ts +34 -0
- package/src/internal/cursor-account-mcp-auth.ts +9 -9
- package/src/internal/cursor-deployment-relay.ts +10 -10
- package/src/internal/cursor-event-relay.ts +10 -10
- package/src/internal/cursor-relay-core.ts +2 -2
- package/src/internal/deploy-client.ts +266 -24
- package/src/internal/deploy-manifest.ts +46 -8
- package/src/internal/discovery/agent-config.ts +34 -0
- package/src/internal/discovery/agent.ts +15 -13
- package/src/internal/discovery/channels.ts +4 -4
- package/src/internal/discovery/connections.ts +4 -4
- package/src/internal/discovery/cursor-plugin.ts +12 -12
- package/src/internal/discovery/extension-overlay.ts +3 -21
- package/src/internal/discovery/extensions.ts +8 -32
- package/src/internal/discovery/info.ts +12 -22
- package/src/internal/discovery/instructions.ts +1 -1
- package/src/internal/discovery/modules.ts +0 -1
- package/src/internal/discovery/project.ts +4 -20
- package/src/internal/discovery/services.ts +1 -1
- package/src/internal/discovery/tools.ts +1 -1
- package/src/internal/docs-site.ts +2 -2
- package/src/internal/env-file.ts +2 -2
- package/src/internal/eval-run-store.ts +7 -9
- package/src/internal/eval-runner.ts +20 -21
- package/src/internal/evals-client.ts +6 -6
- package/src/internal/event-log.ts +10 -10
- package/src/internal/event-mapper.ts +37 -2
- package/src/internal/filesystem/format.ts +11 -12
- package/src/internal/filesystem/scratch.ts +3 -3
- package/src/internal/filesystem/tools.ts +6 -8
- package/src/internal/filesystem/walk.ts +1 -1
- package/src/internal/framework-file-storage.ts +108 -9
- package/src/internal/framework-storage-selection.ts +4 -14
- package/src/internal/github-fanout.ts +4 -4
- package/src/internal/guest-network.ts +4 -4
- package/src/internal/host-files.ts +1 -1
- package/src/internal/host-kv.ts +2 -2
- package/src/internal/hosted-admission-adapter.ts +2 -0
- package/src/internal/hosted-catch-protocol.ts +3 -5
- package/src/internal/hosted-catch.ts +1 -1
- package/src/internal/hosted-delivery-protocol.ts +111 -13
- package/src/internal/hosted-delivery.ts +286 -81
- package/src/internal/hosted-execution-diag.ts +3 -3
- package/src/internal/hosted-execution-latency.ts +334 -0
- package/src/internal/hosting.ts +5 -6
- package/src/internal/http-channel-define.ts +27 -0
- package/src/internal/http-channel.ts +3 -4
- package/src/internal/http-control-plane-session.ts +24 -11
- package/src/internal/incoming-headers-to-fetch.ts +54 -0
- package/src/internal/init-interview.ts +7 -7
- package/src/internal/init-project.ts +14 -16
- package/src/internal/init-scaffold.ts +2 -3
- package/src/internal/inline-stdio-mcp.ts +2 -2
- package/src/internal/install-cursor-skills.ts +49 -16
- package/src/internal/json-schema.ts +1 -1
- package/src/internal/local-control-plane.ts +4 -5
- package/src/internal/local-env.ts +3 -3
- package/src/internal/log-ring.ts +1 -1
- package/src/internal/logs-client.ts +1 -1
- package/src/internal/mcp-endpoint.ts +10 -10
- package/src/internal/mcp-host.ts +9 -9
- package/src/internal/mcp-oauth-on-demand.ts +3 -3
- package/src/internal/mcp-oauth.ts +5 -5
- package/src/internal/net.ts +2 -2
- package/src/internal/otel/config.ts +3 -3
- package/src/internal/otel/runtime.ts +14 -14
- package/src/internal/peer-connections.ts +2 -2
- package/src/internal/platform-schedule-sync.ts +1 -1
- package/src/internal/platform-timers.ts +1 -1
- package/src/internal/playground/static.ts +2 -2
- package/src/internal/playground/toolchain.ts +2 -2
- package/src/internal/playground-proxy.ts +3 -3
- package/src/internal/process-memory-telemetry.ts +1 -1
- package/src/internal/reminder-runner.ts +8 -10
- package/src/internal/reminder-store.ts +1 -1
- package/src/internal/request-error-status.ts +9 -0
- package/src/internal/resolved-connections.ts +8 -8
- package/src/internal/result-output.ts +62 -5
- package/src/internal/router.ts +4 -4
- package/src/internal/run-client.ts +3 -3
- package/src/internal/schedule-runner.ts +6 -6
- package/src/internal/scm/pr-url.ts +11 -2
- package/src/internal/sdk-runner.ts +15 -29
- package/src/internal/serve-restart.ts +1 -1
- package/src/internal/server.ts +97 -115
- package/src/internal/session-cost.ts +3 -3
- package/src/internal/session-engine.ts +517 -445
- package/src/internal/session-run-log.ts +4 -6
- package/src/internal/session-store.ts +213 -39
- package/src/internal/sessions-client.ts +3 -3
- package/src/internal/slack-thread-key.ts +11 -0
- package/src/internal/sleep.ts +1 -1
- package/src/internal/storage-coordinator.ts +122 -96
- package/src/internal/storage-roles.ts +4 -9
- package/src/internal/storage.ts +1 -0
- package/src/internal/store-mirror.ts +4 -4
- package/src/internal/terminal-style.ts +2 -2
- package/src/internal/tool-result.ts +3 -3
- package/src/internal/trajectory.ts +7 -7
- package/src/internal/turn-governor.ts +2 -2
- package/src/internal/turn-outbox.ts +1 -1
- package/src/internal/update-check.ts +2 -2
- package/src/internal/v2-hosting.ts +14 -0
- package/src/internal/workspace.ts +17 -17
- package/src/kv/memory-kv.ts +9 -7
- package/src/kv.ts +4 -7
- package/src/otel-public.ts +24 -0
- package/src/otel.ts +7 -2
- package/src/prompt.ts +1 -1
- package/src/result.ts +10 -8
- package/src/storage-backends/cursor-hosted-v2.ts +6 -9
- package/src/storage-backends/cursor-hosted.ts +6 -60
- package/src/storage-backends/file-kv.ts +17 -58
- package/src/storage-protocol.ts +3 -17
- package/src/storage.ts +32 -108
- package/src/types.ts +101 -73
- package/templates/agentic-owners/agent/channels/github.ts +3 -6
- package/templates/agentic-owners/agent/lib/github.ts +5 -5
- package/templates/agentic-owners/agent/lib/owners/decision.ts +13 -10
- package/templates/agentic-owners/agent/lib/owners/handles.ts +2 -2
- package/templates/agentic-owners/agent/lib/owners/match.ts +3 -3
- package/templates/agentic-owners/agent/lib/owners/matching.ts +1 -1
- package/templates/agentic-owners/agent/lib/owners/parse.ts +4 -9
- package/templates/agentic-owners/agent/lib/owners/prompt.ts +1 -1
- package/templates/agentic-owners/agent/lib/review.ts +37 -30
- package/templates/agentic-owners/evals/owners.eval.ts +2 -2
- package/templates/agentic-owners/package.json +1 -1
- package/templates/agents-md/agent/lib/collect.ts +16 -10
- package/templates/agents-md/agent/lib/config.ts +1 -1
- package/templates/agents-md/agent/tools/apply_agents.ts +10 -8
- package/templates/agents-md/package.json +1 -1
- package/templates/code-wiki/agent/channels/github.ts +4 -7
- package/templates/code-wiki/agent/lib/repos.ts +1 -1
- package/templates/code-wiki/agent/tools/apply_wiki.ts +3 -4
- package/templates/code-wiki/package.json +1 -1
- package/templates/demo/README.md +10 -6
- package/templates/demo/agent/channels/github.ts +2 -0
- package/templates/demo/agent/channels/queue.ts +6 -2
- package/templates/demo/agent/lib/collect.ts +6 -2
- package/templates/demo/agent/lib/repos.ts +5 -0
- package/templates/demo/agent/tools/record_demo.ts +1 -1
- package/templates/demo/evals/demo.eval.ts +1 -5
- package/templates/demo/init.json +25 -0
- package/templates/demo/package.json +1 -1
- package/templates/grokbot-agents/package.json +1 -1
- package/templates/pr-autofixer/agent/channels/github.ts +16 -13
- package/templates/pr-autofixer/agent/lib/merge-watch.ts +2 -4
- package/templates/pr-autofixer/agent/lib/repos.ts +2 -2
- package/templates/pr-autofixer/agent/lib/webhook-routing.ts +1 -1
- package/templates/pr-autofixer/package.json +1 -1
- package/templates/security-help/agent/lib/repos.ts +1 -1
- package/templates/security-help/package.json +1 -1
- package/templates/security-reviewer/agent/lib/repos.ts +1 -1
- package/templates/security-reviewer/agent/tools/post_findings.ts +1 -3
- package/templates/security-reviewer/package.json +1 -1
- package/templates/triage/agent/lib/actuate.ts +26 -41
- package/templates/triage/agent/lib/parse-queue-event.ts +2 -1
- package/templates/triage/agent/lib/verify-webhook.ts +10 -5
- package/templates/triage/agent/tools/record_triage.ts +1 -4
- package/templates/triage/package.json +1 -1
- package/dist/ab.d.ts +0 -209
- package/dist/ab.d.ts.map +0 -1
- package/dist/ab.js +0 -246
- package/dist/client.d.ts +0 -14
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -12
- package/dist/docs/ab.html +0 -80
- package/dist/docs/ab.md +0 -332
- package/dist/docs/assets/ab.md.mlVgqvSk.js +0 -54
- package/dist/docs/assets/ab.md.mlVgqvSk.lean.js +0 -1
- package/dist/docs/assets/app.BASKM3M4.js +0 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.BHZYsNVi.js +0 -1
- package/dist/docs/assets/chunks/framework.BCISBCiQ.js +0 -19
- package/dist/docs/assets/concepts.md.DgEcZOfT.js +0 -1
- package/dist/docs/assets/concepts.md.DgEcZOfT.lean.js +0 -1
- package/dist/docs/assets/evals.md.C1ekS3k2.js +0 -85
- package/dist/docs/assets/evals.md.C1ekS3k2.lean.js +0 -1
- package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.js +0 -10
- package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.lean.js +0 -1
- package/dist/docs/assets/guides_grokbot-agents.md.DyV-WArv.js +0 -9
- package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.js +0 -28
- package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.lean.js +0 -1
- package/dist/docs/assets/hillclimbing.md.CpTGTCle.js +0 -4
- package/dist/docs/assets/hillclimbing.md.CpTGTCle.lean.js +0 -1
- package/dist/docs/assets/index.md.BjH1w2ZW.js +0 -5
- package/dist/docs/assets/index.md.BjH1w2ZW.lean.js +0 -1
- package/dist/docs/assets/quickstart.md.DdQOF7Y8.lean.js +0 -1
- package/dist/docs/assets/reference_project-layout.md.DuBu9a96.js +0 -19
- package/dist/docs/assets/reference_result.md.BK5SxDrf.js +0 -19
- package/dist/docs/assets/reference_result.md.BK5SxDrf.lean.js +0 -1
- package/dist/docs/assets/reference_sessions.md.CueyOHSL.js +0 -1
- package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.js +0 -1
- package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.lean.js +0 -1
- package/dist/docs/assets/skills_ab.md.CsFNatVx.js +0 -26
- package/dist/docs/assets/skills_ab.md.CsFNatVx.lean.js +0 -1
- package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.js +0 -8
- package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.lean.js +0 -1
- package/dist/docs/assets/skills_debug.md.CVjCXMFF.js +0 -1
- package/dist/docs/assets/skills_debug.md.CVjCXMFF.lean.js +0 -1
- package/dist/docs/assets/skills_evals.md.BhovOvrl.js +0 -25
- package/dist/docs/assets/skills_evals.md.BhovOvrl.lean.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.lean.js +0 -1
- package/dist/docs/assets/skills_github.md.hgFX_oKY.js +0 -16
- package/dist/docs/assets/skills_github.md.hgFX_oKY.lean.js +0 -1
- package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.js +0 -7
- package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.lean.js +0 -1
- package/dist/docs/assets/skills_index.md.DKwIxzGg.js +0 -1
- package/dist/docs/assets/skills_index.md.DKwIxzGg.lean.js +0 -1
- package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.js +0 -18
- package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.lean.js +0 -1
- package/dist/docs/assets/skills_otel.md.B5Ddv1xH.js +0 -8
- package/dist/docs/assets/skills_otel.md.B5Ddv1xH.lean.js +0 -1
- package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.js +0 -20
- package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.lean.js +0 -1
- package/dist/docs/assets/storage.md.BOHeqk2M.js +0 -30
- package/dist/docs/assets/storage.md.BOHeqk2M.lean.js +0 -1
- package/dist/docs/assets/templates_agents-md.md.CXSMZljE.js +0 -2
- package/dist/docs/assets/templates_agents-md.md.CXSMZljE.lean.js +0 -1
- package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.js +0 -2
- package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.lean.js +0 -1
- package/dist/docs/assets/templates_demo.md.BeQX9V3H.js +0 -4
- package/dist/docs/assets/templates_demo.md.BeQX9V3H.lean.js +0 -1
- package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.js +0 -3
- package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.lean.js +0 -1
- package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.js +0 -4
- package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.lean.js +0 -1
- package/dist/docs/concepts.html +0 -27
- package/dist/docs/concepts.md +0 -168
- package/dist/docs/design/filesystem.md +0 -376
- package/dist/docs/design/runtime-abstraction.md +0 -1756
- package/dist/docs/guides/human-in-the-loop.html +0 -54
- package/dist/docs/guides/human-in-the-loop.md +0 -126
- package/dist/docs/reference/result.html +0 -45
- package/dist/docs/reference/result.md +0 -89
- package/dist/docs/scaffolding-agents.html +0 -27
- package/dist/docs/scaffolding-agents.md +0 -130
- package/dist/docs/skills/ab.html +0 -52
- package/dist/docs/skills/ab.md +0 -50
- package/dist/docs/skills/create-agent.html +0 -34
- package/dist/docs/skills/create-agent.md +0 -160
- package/dist/docs/skills/debug.html +0 -27
- package/dist/docs/skills/debug.md +0 -36
- package/dist/docs/skills/evals.html +0 -51
- package/dist/docs/skills/evals.md +0 -99
- package/dist/docs/skills/framework-map.html +0 -27
- package/dist/docs/skills/framework-map.md +0 -100
- package/dist/docs/skills/github.html +0 -42
- package/dist/docs/skills/github.md +0 -93
- package/dist/docs/skills/hillclimb.html +0 -33
- package/dist/docs/skills/hillclimb.md +0 -55
- package/dist/docs/skills/index.html +0 -27
- package/dist/docs/skills/index.md +0 -21
- package/dist/docs/skills/mcp-auth.html +0 -44
- package/dist/docs/skills/mcp-auth.md +0 -76
- package/dist/docs/skills/otel.html +0 -34
- package/dist/docs/skills/otel.md +0 -53
- package/dist/docs/skills/setup-slack.html +0 -46
- package/dist/docs/skills/setup-slack.md +0 -141
- package/dist/docs/storage.html +0 -56
- package/dist/docs/storage.md +0 -176
- package/dist/docs/templates/agents-md.html +0 -28
- package/dist/docs/templates/agents-md.md +0 -105
- package/dist/docs/templates/code-wiki.html +0 -28
- package/dist/docs/templates/code-wiki.md +0 -91
- package/dist/docs/templates/demo.html +0 -30
- package/dist/docs/templates/demo.md +0 -80
- package/dist/docs/templates/grokbot-agents.html +0 -29
- package/dist/docs/templates/grokbot-agents.md +0 -48
- package/dist/docs/templates/security-help.html +0 -30
- package/dist/docs/templates/security-help.md +0 -65
- package/dist/internal/ab-collector.d.ts +0 -44
- package/dist/internal/ab-collector.d.ts.map +0 -1
- package/dist/internal/ab-collector.js +0 -142
- package/dist/internal/ab-fold.d.ts +0 -36
- package/dist/internal/ab-fold.d.ts.map +0 -1
- package/dist/internal/ab-fold.js +0 -175
- package/dist/internal/ab-snapshot.d.ts +0 -68
- package/dist/internal/ab-snapshot.d.ts.map +0 -1
- package/dist/internal/ab-snapshot.js +0 -208
- package/dist/internal/discovery/ab.d.ts +0 -9
- package/dist/internal/discovery/ab.d.ts.map +0 -1
- package/dist/internal/discovery/ab.js +0 -113
- package/dist/internal/tenant-slack/relay.d.ts +0 -75
- package/dist/internal/tenant-slack/relay.d.ts.map +0 -1
- package/dist/internal/tenant-slack/relay.js +0 -148
- package/dist/playground/assets/index-BMDqAeXu.js +0 -67
- package/dist/playground/assets/index-LUgJoWdL.css +0 -1
- package/docs/ab.md +0 -337
- package/docs/concepts.md +0 -173
- package/docs/design/filesystem.md +0 -376
- package/docs/design/runtime-abstraction.md +0 -1756
- package/docs/guides/human-in-the-loop.md +0 -131
- package/docs/reference/result.md +0 -94
- package/docs/scaffolding-agents.md +0 -135
- package/docs/skills/index.md +0 -26
- package/docs/storage.md +0 -181
- package/docs/templates/agents-md.md +0 -110
- package/docs/templates/code-wiki.md +0 -96
- package/docs/templates/demo.md +0 -85
- package/docs/templates/grokbot-agents.md +0 -53
- package/docs/templates/security-help.md +0 -70
- package/skills/ab/SKILL.md +0 -58
- package/src/ab.ts +0 -430
- package/src/client.ts +0 -23
- package/src/internal/ab-collector.ts +0 -200
- package/src/internal/ab-fold.ts +0 -232
- package/src/internal/ab-snapshot.ts +0 -331
- package/src/internal/discovery/ab.ts +0 -131
- package/src/internal/tenant-slack/relay.ts +0 -203
- package/templates/pr-autofixer/agent/storage.ts +0 -7
|
@@ -124,7 +124,7 @@ export function convertWorkflow(
|
|
|
124
124
|
|
|
125
125
|
emitMcpConnections(automation, mcpServers, out);
|
|
126
126
|
const hasSlackAction = (workflow.actions ?? []).some(
|
|
127
|
-
|
|
127
|
+
action => action.slack !== undefined || action.readSlack !== undefined
|
|
128
128
|
);
|
|
129
129
|
const hasSlackConnection =
|
|
130
130
|
hasSlackAction && emitSlackAccountConnection(automation, out);
|
|
@@ -386,7 +386,7 @@ function emitGithubChannel(
|
|
|
386
386
|
for (const trigger of triggers) {
|
|
387
387
|
const git = trigger.git as GitTriggerJson;
|
|
388
388
|
userAllowlist.push(
|
|
389
|
-
...(git.userAllowlist ?? []).filter(
|
|
389
|
+
...(git.userAllowlist ?? []).filter(user => user !== "")
|
|
390
390
|
);
|
|
391
391
|
for (const [eventKey, events] of Object.entries(GIT_EVENT_WEBHOOKS)) {
|
|
392
392
|
const event = git[eventKey as keyof GitTriggerJson];
|
|
@@ -546,7 +546,7 @@ function emitGithubChannel(
|
|
|
546
546
|
webhookEvents.push("pull_request");
|
|
547
547
|
prConditions.push(
|
|
548
548
|
...labelActions.map(
|
|
549
|
-
|
|
549
|
+
action => `(pr.action === ${JSON.stringify(action)})`
|
|
550
550
|
)
|
|
551
551
|
);
|
|
552
552
|
}
|
|
@@ -566,7 +566,7 @@ function emitGithubChannel(
|
|
|
566
566
|
|
|
567
567
|
const uniqueEvents = dedupe(webhookEvents);
|
|
568
568
|
const uniqueRepos = dedupe(
|
|
569
|
-
dedupe(repos.filter(
|
|
569
|
+
dedupe(repos.filter(repo => repo !== "")).flatMap(repo => {
|
|
570
570
|
const normalized = normalizeRepoIdentifier(repo, out);
|
|
571
571
|
return normalized === undefined ? [] : [normalized];
|
|
572
572
|
})
|
|
@@ -595,17 +595,15 @@ function emitGithubChannel(
|
|
|
595
595
|
if (uniqueRepos.length > 0) {
|
|
596
596
|
configLines.push(" cursorAccount: {");
|
|
597
597
|
configLines.push(
|
|
598
|
-
` repos: [${uniqueRepos.map(
|
|
598
|
+
` repos: [${uniqueRepos.map(repo => JSON.stringify(repo)).join(", ")}],`
|
|
599
599
|
);
|
|
600
600
|
configLines.push(" },");
|
|
601
601
|
}
|
|
602
602
|
configLines.push(
|
|
603
|
-
` webhookEvents: [${uniqueEvents.map(
|
|
603
|
+
` webhookEvents: [${uniqueEvents.map(event => JSON.stringify(event)).join(", ")}],`
|
|
604
604
|
);
|
|
605
605
|
|
|
606
|
-
const uniqueAllowlist = dedupe(
|
|
607
|
-
userAllowlist.map((user) => user.toLowerCase())
|
|
608
|
-
);
|
|
606
|
+
const uniqueAllowlist = dedupe(userAllowlist.map(user => user.toLowerCase()));
|
|
609
607
|
if (triggers.length > 1 && uniqueAllowlist.length > 0) {
|
|
610
608
|
out.warnings.push(
|
|
611
609
|
`user_allowlist applies per trigger in the backend; the export unions every trigger's allowlist across all hooks in ${path} — tighten per hook if the triggers differed.`
|
|
@@ -663,7 +661,7 @@ function emitGithubChannel(
|
|
|
663
661
|
"",
|
|
664
662
|
`// Exported from Cursor automation "${commentSafe(automation.name)}" git trigger(s).`,
|
|
665
663
|
"// Original trigger config:",
|
|
666
|
-
...jsonComment(triggers.map(
|
|
664
|
+
...jsonComment(triggers.map(trigger => trigger.git)),
|
|
667
665
|
"//",
|
|
668
666
|
"// The hooks below reproduce the triggers' mechanical filters. Cursor's",
|
|
669
667
|
"// backend also enforced any bespoke conditions (comment matching, CI",
|
|
@@ -751,7 +749,7 @@ function renderGithubHooks(args: {
|
|
|
751
749
|
" }"
|
|
752
750
|
);
|
|
753
751
|
}
|
|
754
|
-
const refs = args.pushBranches.map(
|
|
752
|
+
const refs = args.pushBranches.map(branch =>
|
|
755
753
|
JSON.stringify(`refs/heads/${branch}`)
|
|
756
754
|
);
|
|
757
755
|
lines.push(
|
|
@@ -804,7 +802,7 @@ function renderGithubHooks(args: {
|
|
|
804
802
|
const condition =
|
|
805
803
|
args.issueActions.length === 1
|
|
806
804
|
? `issue.action === ${JSON.stringify(args.issueActions[0])}`
|
|
807
|
-
: `[${args.issueActions.map(
|
|
805
|
+
: `[${args.issueActions.map(action => JSON.stringify(action)).join(", ")}].includes(issue.action)`;
|
|
808
806
|
lines.push(" onIssue: (ctx, issue) => {");
|
|
809
807
|
if (hasAllowlist) {
|
|
810
808
|
allowlistUsed = true;
|
|
@@ -867,7 +865,7 @@ function renderGithubHooks(args: {
|
|
|
867
865
|
? [
|
|
868
866
|
"// user_allowlist from the original trigger(s), lowercased — GitHub",
|
|
869
867
|
"// logins are case-insensitive and the backend compared them that way.",
|
|
870
|
-
`const ALLOWED_USERS = [${args.userAllowlist.map(
|
|
868
|
+
`const ALLOWED_USERS = [${args.userAllowlist.map(user => JSON.stringify(user)).join(", ")}];`,
|
|
871
869
|
"",
|
|
872
870
|
]
|
|
873
871
|
: [];
|
|
@@ -883,7 +881,7 @@ function repoLabel(eventObject: Record<string, unknown>): string {
|
|
|
883
881
|
(repo): repo is string => typeof repo === "string"
|
|
884
882
|
)
|
|
885
883
|
: []),
|
|
886
|
-
].filter(
|
|
884
|
+
].filter(repo => repo !== "")
|
|
887
885
|
);
|
|
888
886
|
return repos.length > 0 ? ` (${repos.join(", ")})` : "";
|
|
889
887
|
}
|
|
@@ -925,7 +923,7 @@ function normalizeRepoIdentifier(
|
|
|
925
923
|
);
|
|
926
924
|
return undefined;
|
|
927
925
|
}
|
|
928
|
-
const segments = url.pathname.split("/").filter(
|
|
926
|
+
const segments = url.pathname.split("/").filter(s => s !== "");
|
|
929
927
|
if (segments.length < 2) {
|
|
930
928
|
out.warnings.push(
|
|
931
929
|
`Repo URL ${JSON.stringify(raw)} has no owner/repo path — excluded from the GitHub channel's cursorAccount repos.`
|
|
@@ -958,9 +956,9 @@ function emitSlackChannel(
|
|
|
958
956
|
const slug = slugs.claim("slack");
|
|
959
957
|
const path = `agent/channels/${slug}.ts`;
|
|
960
958
|
|
|
961
|
-
const watches = triggers.filter(
|
|
959
|
+
const watches = triggers.filter(t => t.slackTrigger !== undefined);
|
|
962
960
|
const unsupported = triggers.filter(
|
|
963
|
-
|
|
961
|
+
t =>
|
|
964
962
|
t.slackReactionAdded !== undefined ||
|
|
965
963
|
t.slackAnyReactionAdded !== undefined ||
|
|
966
964
|
t.slackChannelCreated !== undefined
|
|
@@ -1016,10 +1014,10 @@ function emitSlackChannel(
|
|
|
1016
1014
|
let body: string[];
|
|
1017
1015
|
if (socketMode) {
|
|
1018
1016
|
const allow = dedupe(
|
|
1019
|
-
watches.flatMap(
|
|
1017
|
+
watches.flatMap(watch => slackChannelList(watch.slackTrigger))
|
|
1020
1018
|
);
|
|
1021
1019
|
const anyThreadReplies = watches.some(
|
|
1022
|
-
|
|
1020
|
+
watch =>
|
|
1023
1021
|
(watch.slackTrigger as SlackWatchTriggerJson).topLevelOnly === false
|
|
1024
1022
|
);
|
|
1025
1023
|
// "Authenticated Cursor users" watches require a linked Cursor account
|
|
@@ -1029,14 +1027,14 @@ function emitSlackChannel(
|
|
|
1029
1027
|
// pick a side: keep bots when any watch allowed everyone (alert /
|
|
1030
1028
|
// scorebot watches depend on them), and say so loudly.
|
|
1031
1029
|
const blocksUnauthenticated = watches.some(
|
|
1032
|
-
|
|
1030
|
+
watch =>
|
|
1033
1031
|
(watch.slackTrigger as SlackWatchTriggerJson)
|
|
1034
1032
|
.blockUnauthenticatedSlackUsers === true
|
|
1035
1033
|
);
|
|
1036
1034
|
const includeBotPosts =
|
|
1037
1035
|
watches.length > 0 &&
|
|
1038
1036
|
watches.some(
|
|
1039
|
-
|
|
1037
|
+
watch =>
|
|
1040
1038
|
(watch.slackTrigger as SlackWatchTriggerJson)
|
|
1041
1039
|
.blockUnauthenticatedSlackUsers !== true
|
|
1042
1040
|
);
|
|
@@ -1052,7 +1050,7 @@ function emitSlackChannel(
|
|
|
1052
1050
|
engagement.push(" engagement: {");
|
|
1053
1051
|
engagement.push(" channelPosts: {");
|
|
1054
1052
|
engagement.push(
|
|
1055
|
-
` allow: [${allow.map(
|
|
1053
|
+
` allow: [${allow.map(channel => JSON.stringify(channel)).join(", ")}],`
|
|
1056
1054
|
);
|
|
1057
1055
|
if (anyThreadReplies) {
|
|
1058
1056
|
engagement.push(' posts: "all",');
|
|
@@ -1111,7 +1109,7 @@ function slackChannelList(
|
|
|
1111
1109
|
}
|
|
1112
1110
|
|
|
1113
1111
|
// ============================================================================
|
|
1114
|
-
// Boilerplate webhook channels (Linear / PagerDuty / Sentry / Teams / webhook)
|
|
1112
|
+
// Boilerplate webhook channels (Linear / PagerDuty / Sentry / Teams / email / webhook)
|
|
1115
1113
|
// ============================================================================
|
|
1116
1114
|
|
|
1117
1115
|
type BoilerplateKind = {
|
|
@@ -1120,6 +1118,7 @@ type BoilerplateKind = {
|
|
|
1120
1118
|
| "pagerduty"
|
|
1121
1119
|
| "sentry"
|
|
1122
1120
|
| "webhook"
|
|
1121
|
+
| "emailReceived"
|
|
1123
1122
|
| "microsoftTeamsTrigger"
|
|
1124
1123
|
| "microsoftTeamsChannelCreated";
|
|
1125
1124
|
slug: string;
|
|
@@ -1131,6 +1130,7 @@ const BOILERPLATE_KINDS: BoilerplateKind[] = [
|
|
|
1131
1130
|
{ key: "pagerduty", slug: "pagerduty", label: "PagerDuty" },
|
|
1132
1131
|
{ key: "sentry", slug: "sentry", label: "Sentry" },
|
|
1133
1132
|
{ key: "webhook", slug: "webhook", label: "webhook" },
|
|
1133
|
+
{ key: "emailReceived", slug: "email", label: "email received" },
|
|
1134
1134
|
{
|
|
1135
1135
|
key: "microsoftTeamsTrigger",
|
|
1136
1136
|
slug: "teams",
|
|
@@ -1144,7 +1144,7 @@ const BOILERPLATE_KINDS: BoilerplateKind[] = [
|
|
|
1144
1144
|
];
|
|
1145
1145
|
|
|
1146
1146
|
function boilerplateKind(trigger: TriggerJson): BoilerplateKind | undefined {
|
|
1147
|
-
return BOILERPLATE_KINDS.find(
|
|
1147
|
+
return BOILERPLATE_KINDS.find(kind => trigger[kind.key] !== undefined);
|
|
1148
1148
|
}
|
|
1149
1149
|
|
|
1150
1150
|
function emitBoilerplateChannel(
|
|
@@ -1280,7 +1280,7 @@ function emitSlackAccountConnection(
|
|
|
1280
1280
|
out: ConvertOutput
|
|
1281
1281
|
): boolean {
|
|
1282
1282
|
const path = "agent/mcp-connections/slack.ts";
|
|
1283
|
-
if (out.files.some(
|
|
1283
|
+
if (out.files.some(file => file.path === path)) {
|
|
1284
1284
|
return true;
|
|
1285
1285
|
}
|
|
1286
1286
|
const lines = [
|
|
@@ -1297,7 +1297,7 @@ function emitSlackAccountConnection(
|
|
|
1297
1297
|
"",
|
|
1298
1298
|
];
|
|
1299
1299
|
out.files.push({ path, contents: lines.join("\n") });
|
|
1300
|
-
if (!out.mcpConnections.some(
|
|
1300
|
+
if (!out.mcpConnections.some(connection => connection.name === "slack")) {
|
|
1301
1301
|
out.mcpConnections.push({ name: "slack", kind: "cursorAccount" });
|
|
1302
1302
|
}
|
|
1303
1303
|
return true;
|
|
@@ -1417,7 +1417,7 @@ function jsonComment(value: unknown): string[] {
|
|
|
1417
1417
|
.replace(/\u2028/g, "\\u2028")
|
|
1418
1418
|
.replace(/\u2029/g, "\\u2029")
|
|
1419
1419
|
.split("\n")
|
|
1420
|
-
.map(
|
|
1420
|
+
.map(line => `// ${line}`);
|
|
1421
1421
|
}
|
|
1422
1422
|
|
|
1423
1423
|
function dedupe(values: string[]): string[] {
|
|
@@ -117,6 +117,7 @@ export interface TriggerJson {
|
|
|
117
117
|
slackReactionAdded?: SlackChannelsTriggerJson;
|
|
118
118
|
slackMention?: SlackChannelsTriggerJson;
|
|
119
119
|
slackAnyReactionAdded?: SlackChannelsTriggerJson;
|
|
120
|
+
emailReceived?: EmailReceivedTriggerJson;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
export interface CronTriggerJson {
|
|
@@ -164,6 +165,14 @@ export interface SlackWatchTriggerJson {
|
|
|
164
165
|
[key: string]: unknown;
|
|
165
166
|
}
|
|
166
167
|
|
|
168
|
+
/** EmailReceivedTrigger (Grok Bot inbox). */
|
|
169
|
+
export interface EmailReceivedTriggerJson {
|
|
170
|
+
inboxEmail?: string;
|
|
171
|
+
fromAddresses?: string[];
|
|
172
|
+
requireAuthPass?: boolean;
|
|
173
|
+
[key: string]: unknown;
|
|
174
|
+
}
|
|
175
|
+
|
|
167
176
|
/** Shared shape of SlackMention / SlackReactionAdded / SlackAnyReactionAdded. */
|
|
168
177
|
export interface SlackChannelsTriggerJson {
|
|
169
178
|
channel?: string;
|
|
@@ -45,6 +45,7 @@ import {
|
|
|
45
45
|
terminalHyperlink,
|
|
46
46
|
} from "../terminal-style.js";
|
|
47
47
|
import type {
|
|
48
|
+
AccountMcpCallResult,
|
|
48
49
|
AccountMcpServer,
|
|
49
50
|
CursorBackendClient,
|
|
50
51
|
} from "./backend-client.js";
|
|
@@ -132,7 +133,7 @@ export function resolveCursorAccountConnections(args: {
|
|
|
132
133
|
? undefined
|
|
133
134
|
: trimTrailingSlash(args.publicUrl);
|
|
134
135
|
const headers = { authorization: `Bearer ${args.bridgeSecret}` };
|
|
135
|
-
return args.refs.map(
|
|
136
|
+
return args.refs.map(ref => ({
|
|
136
137
|
name: ref.name,
|
|
137
138
|
localUrl: `${serverBase}${args.basePath}${cursorAccountMcpPath(ref.name)}`,
|
|
138
139
|
...(publicBase === undefined
|
|
@@ -236,10 +237,19 @@ export class CursorAccountMcpBridge {
|
|
|
236
237
|
* Handle one streamable-HTTP MCP request for the connection described by
|
|
237
238
|
* `ref` (stateless: fresh server per POST, like the per-agent endpoint).
|
|
238
239
|
*/
|
|
239
|
-
handle(
|
|
240
|
+
handle(
|
|
241
|
+
request: Request,
|
|
242
|
+
ref: CursorAccountConnectionRef,
|
|
243
|
+
decorate?: (
|
|
244
|
+
sessionId: string,
|
|
245
|
+
result: AccountMcpCallResult
|
|
246
|
+
) => AccountMcpCallResult
|
|
247
|
+
): Promise<Response> {
|
|
248
|
+
const sessionId =
|
|
249
|
+
new URL(request.url).searchParams.get("agentkitSessionId") ?? "";
|
|
240
250
|
return handleStatelessMcpRequest({
|
|
241
251
|
request,
|
|
242
|
-
buildServer: () => this.buildServer(ref),
|
|
252
|
+
buildServer: () => this.buildServer(ref, sessionId, decorate),
|
|
243
253
|
label: "cursor account bridge",
|
|
244
254
|
logger: this.logger,
|
|
245
255
|
});
|
|
@@ -261,7 +271,7 @@ export class CursorAccountMcpBridge {
|
|
|
261
271
|
ref.servers !== undefined && ref.servers.length > 0
|
|
262
272
|
? [...ref.servers]
|
|
263
273
|
: (await this.client.getAvailableMcpServers()).map(
|
|
264
|
-
|
|
274
|
+
server => server.serverIdentifier ?? server.name
|
|
265
275
|
);
|
|
266
276
|
const urls = await probeConnectorAuthUrls({
|
|
267
277
|
client: this.client,
|
|
@@ -276,7 +286,7 @@ export class CursorAccountMcpBridge {
|
|
|
276
286
|
}
|
|
277
287
|
|
|
278
288
|
logPreflight(refs: CursorAccountConnectionRef[]): Promise<void> {
|
|
279
|
-
return Promise.all(refs.map(
|
|
289
|
+
return Promise.all(refs.map(ref => this.runPreflight(ref))).then(
|
|
280
290
|
() => undefined
|
|
281
291
|
);
|
|
282
292
|
}
|
|
@@ -286,8 +296,8 @@ export class CursorAccountMcpBridge {
|
|
|
286
296
|
const catalog = await this.getCatalog(ref);
|
|
287
297
|
const errorDetails = new Map<string, string>();
|
|
288
298
|
const needsAuthNames = catalog.servers
|
|
289
|
-
.filter(
|
|
290
|
-
.map(
|
|
299
|
+
.filter(server => server.status === "needsAuth")
|
|
300
|
+
.map(server => server.serverIdentifier);
|
|
291
301
|
const [authUrls] = await Promise.all([
|
|
292
302
|
probeConnectorAuthUrls({
|
|
293
303
|
client: this.client,
|
|
@@ -295,8 +305,8 @@ export class CursorAccountMcpBridge {
|
|
|
295
305
|
}),
|
|
296
306
|
Promise.all(
|
|
297
307
|
catalog.servers
|
|
298
|
-
.filter(
|
|
299
|
-
.map(async
|
|
308
|
+
.filter(server => server.status === "error")
|
|
309
|
+
.map(async server => {
|
|
300
310
|
const detail = await diagnoseConnectorError(
|
|
301
311
|
this.client,
|
|
302
312
|
server.serverIdentifier
|
|
@@ -309,13 +319,13 @@ export class CursorAccountMcpBridge {
|
|
|
309
319
|
]);
|
|
310
320
|
|
|
311
321
|
const unhealthy = catalog.servers.some(
|
|
312
|
-
|
|
322
|
+
server => server.status === "needsAuth" || server.status === "error"
|
|
313
323
|
);
|
|
314
324
|
if (catalog.servers.length === 0 || unhealthy) {
|
|
315
325
|
this.logger(
|
|
316
326
|
formatCursorAccountMcpWarningBox({
|
|
317
327
|
connectionName: ref.name,
|
|
318
|
-
servers: catalog.servers.map(
|
|
328
|
+
servers: catalog.servers.map(server => ({
|
|
319
329
|
serverIdentifier: server.serverIdentifier,
|
|
320
330
|
status: server.status,
|
|
321
331
|
toolCount: server.tools.length,
|
|
@@ -329,7 +339,7 @@ export class CursorAccountMcpBridge {
|
|
|
329
339
|
}
|
|
330
340
|
|
|
331
341
|
const summary = catalog.servers
|
|
332
|
-
.map(
|
|
342
|
+
.map(server =>
|
|
333
343
|
formatServerStatusSummary(
|
|
334
344
|
server,
|
|
335
345
|
errorDetails.get(server.serverIdentifier)
|
|
@@ -346,7 +356,14 @@ export class CursorAccountMcpBridge {
|
|
|
346
356
|
}
|
|
347
357
|
}
|
|
348
358
|
|
|
349
|
-
private buildServer(
|
|
359
|
+
private buildServer(
|
|
360
|
+
ref: CursorAccountConnectionRef,
|
|
361
|
+
sessionId: string,
|
|
362
|
+
decorate?: (
|
|
363
|
+
sessionId: string,
|
|
364
|
+
result: AccountMcpCallResult
|
|
365
|
+
) => AccountMcpCallResult
|
|
366
|
+
): Server {
|
|
350
367
|
const server = new Server(
|
|
351
368
|
{ name: `cursor-account:${ref.name}`, version: "0.1.0" },
|
|
352
369
|
{
|
|
@@ -359,7 +376,7 @@ export class CursorAccountMcpBridge {
|
|
|
359
376
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
360
377
|
const catalog = await this.getCatalog(ref);
|
|
361
378
|
return {
|
|
362
|
-
tools: catalog.tools.map(
|
|
379
|
+
tools: catalog.tools.map(tool => ({
|
|
363
380
|
name: tool.exposedName,
|
|
364
381
|
description: tool.description,
|
|
365
382
|
inputSchema: tool.inputSchema,
|
|
@@ -375,25 +392,25 @@ export class CursorAccountMcpBridge {
|
|
|
375
392
|
};
|
|
376
393
|
});
|
|
377
394
|
|
|
378
|
-
server.setRequestHandler(CallToolRequestSchema, async
|
|
395
|
+
server.setRequestHandler(CallToolRequestSchema, async request => {
|
|
379
396
|
const tool = await this.findTool(ref, request.params.name);
|
|
380
397
|
if (tool === undefined) {
|
|
381
398
|
const catalog = await this.getCatalog(ref);
|
|
382
399
|
const unhealthy = catalog.servers.filter(
|
|
383
|
-
|
|
400
|
+
server => server.status !== "connected"
|
|
384
401
|
);
|
|
385
402
|
const statusHint =
|
|
386
403
|
unhealthy.length === 0
|
|
387
404
|
? ""
|
|
388
405
|
: ` Unhealthy connectors: ${unhealthy
|
|
389
|
-
.map(
|
|
406
|
+
.map(server => `${server.serverIdentifier}=${server.status}`)
|
|
390
407
|
.join(", ")}.`;
|
|
391
408
|
return {
|
|
392
409
|
content: [
|
|
393
410
|
{
|
|
394
411
|
type: "text",
|
|
395
412
|
text: `Unknown tool "${request.params.name}". Available: ${
|
|
396
|
-
catalog.tools.map(
|
|
413
|
+
catalog.tools.map(t => t.exposedName).join(", ") || "(none)"
|
|
397
414
|
}.${statusHint}`,
|
|
398
415
|
},
|
|
399
416
|
],
|
|
@@ -401,17 +418,17 @@ export class CursorAccountMcpBridge {
|
|
|
401
418
|
};
|
|
402
419
|
}
|
|
403
420
|
try {
|
|
404
|
-
const
|
|
421
|
+
const executed = await this.client.executeAccountMcpTool({
|
|
405
422
|
serverIdentifier: tool.serverIdentifier,
|
|
406
423
|
toolName: tool.backendName,
|
|
407
424
|
args: request.params.arguments ?? {},
|
|
408
425
|
});
|
|
426
|
+
const decorated =
|
|
427
|
+
decorate === undefined ? executed : decorate(sessionId, executed);
|
|
409
428
|
return {
|
|
410
|
-
content:
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
? {}
|
|
414
|
-
: { structuredContent: result.structuredContent }),
|
|
429
|
+
content: decorated.content,
|
|
430
|
+
isError: decorated.isError === true ? true : undefined,
|
|
431
|
+
structuredContent: decorated.structuredContent,
|
|
415
432
|
};
|
|
416
433
|
} catch (error) {
|
|
417
434
|
return {
|
|
@@ -471,7 +488,7 @@ export class CursorAccountMcpBridge {
|
|
|
471
488
|
const fresh: CatalogEntry = {
|
|
472
489
|
promise: this.client
|
|
473
490
|
.listAccountMcpTools(ref.servers ?? [])
|
|
474
|
-
.then(
|
|
491
|
+
.then(servers => {
|
|
475
492
|
const catalog = buildCatalog(servers);
|
|
476
493
|
fresh.freshAtMs = Date.now();
|
|
477
494
|
return catalog;
|
|
@@ -643,13 +660,13 @@ function warningCopy(args: {
|
|
|
643
660
|
hyperlinks: boolean;
|
|
644
661
|
}): { title: string; intro: string[]; actions: string[] } {
|
|
645
662
|
const empty = args.servers.length === 0;
|
|
646
|
-
const hasAuth = args.servers.some(
|
|
647
|
-
const hasError = args.servers.some(
|
|
663
|
+
const hasAuth = args.servers.some(server => server.status === "needsAuth");
|
|
664
|
+
const hasError = args.servers.some(server => server.status === "error");
|
|
648
665
|
const nameWidth = Math.max(
|
|
649
666
|
0,
|
|
650
|
-
...args.servers.map(
|
|
667
|
+
...args.servers.map(server => server.serverIdentifier.length)
|
|
651
668
|
);
|
|
652
|
-
const statusRows = args.servers.map(
|
|
669
|
+
const statusRows = args.servers.map(server =>
|
|
653
670
|
formatWarningStatusRow(server, nameWidth, args.hyperlinks)
|
|
654
671
|
);
|
|
655
672
|
const links = [
|
|
@@ -736,8 +753,8 @@ export async function diagnoseConnectorError(
|
|
|
736
753
|
.filter(
|
|
737
754
|
(part): part is { type: "text"; text: string } => part.type === "text"
|
|
738
755
|
)
|
|
739
|
-
.map(
|
|
740
|
-
.filter(
|
|
756
|
+
.map(part => part.text.trim())
|
|
757
|
+
.filter(part => part.length > 0)
|
|
741
758
|
.join(" ");
|
|
742
759
|
if (result.isError) {
|
|
743
760
|
return text.length > 0
|
|
@@ -82,14 +82,24 @@ const githubTokenResponseSchema: z.ZodType<CursorGithubToken> = z.object({
|
|
|
82
82
|
expiresAt: z.string().datetime(),
|
|
83
83
|
});
|
|
84
84
|
|
|
85
|
-
/**
|
|
86
|
-
|
|
85
|
+
/**
|
|
86
|
+
* SCMs whose git fetches ride the backend's `/v0/scm-events/<provider>-git-proxy`
|
|
87
|
+
* routes. `github` is for GitHub Enterprise Server hosts an engine's egress
|
|
88
|
+
* cannot reach; github.com clones mint a token and go direct.
|
|
89
|
+
*/
|
|
90
|
+
export type CursorScmCloneProvider = "github" | "gitlab" | "bitbucket";
|
|
91
|
+
|
|
92
|
+
const SCM_CLONE_PROVIDER_LABELS: Record<CursorScmCloneProvider, string> = {
|
|
93
|
+
github: "GitHub",
|
|
94
|
+
gitlab: "GitLab",
|
|
95
|
+
bitbucket: "Bitbucket",
|
|
96
|
+
};
|
|
87
97
|
|
|
88
98
|
/**
|
|
89
|
-
* Proxied clone target for a GitLab / Bitbucket repository.
|
|
90
|
-
* never hands out the provider credential: git fetches go to
|
|
91
|
-
* on the backend with the caller's own Cursor API key as a
|
|
92
|
-
* and the backend adds the tenant credential per request.
|
|
99
|
+
* Proxied clone target for a GitHub (GHES) / GitLab / Bitbucket repository.
|
|
100
|
+
* The backend never hands out the provider credential: git fetches go to
|
|
101
|
+
* `remoteUrl` on the backend with the caller's own Cursor API key as a
|
|
102
|
+
* bearer token, and the backend adds the tenant credential per request.
|
|
93
103
|
*/
|
|
94
104
|
export interface CursorScmCloneTarget {
|
|
95
105
|
/** Absolute `<backend>/v0/scm-events/<provider>-git-proxy/<repo>.git`. */
|
|
@@ -385,10 +395,10 @@ export class CursorBackendClient {
|
|
|
385
395
|
LIST_TIMEOUT_MS
|
|
386
396
|
);
|
|
387
397
|
const parsed = listSandMcpToolsResponseSchema.parse(raw);
|
|
388
|
-
return (parsed.servers ?? []).map(
|
|
398
|
+
return (parsed.servers ?? []).map(server => ({
|
|
389
399
|
serverIdentifier: server.serverIdentifier,
|
|
390
400
|
status: server.status,
|
|
391
|
-
tools: (server.tools ?? []).map(
|
|
401
|
+
tools: (server.tools ?? []).map(tool => {
|
|
392
402
|
const outputSchema = parseOutputSchemaJson(tool.outputSchemaJson);
|
|
393
403
|
const annotations = parseAnnotationsJson(tool.annotationsJson);
|
|
394
404
|
return {
|
|
@@ -439,8 +449,8 @@ export class CursorBackendClient {
|
|
|
439
449
|
});
|
|
440
450
|
const parsed = getAvailableMcpServersResponseSchema.parse(raw);
|
|
441
451
|
return (parsed.servers ?? [])
|
|
442
|
-
.filter(
|
|
443
|
-
.map(
|
|
452
|
+
.filter(server => server.id !== undefined && server.id > 0)
|
|
453
|
+
.map(server => ({
|
|
444
454
|
id: server.id!,
|
|
445
455
|
name: server.name ?? "",
|
|
446
456
|
isTeamServer: server.isTeamServer === true,
|
|
@@ -469,7 +479,7 @@ export class CursorBackendClient {
|
|
|
469
479
|
LIST_TIMEOUT_MS
|
|
470
480
|
);
|
|
471
481
|
const parsed = checkHttpMcpStatusResponseSchema.parse(raw);
|
|
472
|
-
return (parsed.statuses ?? []).map(
|
|
482
|
+
return (parsed.statuses ?? []).map(status => ({
|
|
473
483
|
id: status.id ?? 0,
|
|
474
484
|
requiresAuth: status.requiresAuth === true,
|
|
475
485
|
authUrl: status.authUrl,
|
|
@@ -522,16 +532,17 @@ export class CursorBackendClient {
|
|
|
522
532
|
}
|
|
523
533
|
|
|
524
534
|
/**
|
|
525
|
-
* Resolve the proxied clone target for a
|
|
526
|
-
* (`owner/name`; GitLab `path_with_namespace`). Same
|
|
527
|
-
* provider proxy this host already calls; the
|
|
528
|
-
* the backend and takes this client's API key,
|
|
535
|
+
* Resolve the proxied clone target for a GitHub (GHES) / GitLab /
|
|
536
|
+
* Bitbucket repository (`owner/name`; GitLab `path_with_namespace`). Same
|
|
537
|
+
* authorization as the provider proxy this host already calls; the
|
|
538
|
+
* returned remote lives on the backend and takes this client's API key,
|
|
539
|
+
* never a provider token.
|
|
529
540
|
*/
|
|
530
541
|
async getScmCloneTarget(
|
|
531
542
|
provider: CursorScmCloneProvider,
|
|
532
543
|
repo: string
|
|
533
544
|
): Promise<CursorScmCloneTarget> {
|
|
534
|
-
const label = provider
|
|
545
|
+
const label = SCM_CLONE_PROVIDER_LABELS[provider];
|
|
535
546
|
let response: Response;
|
|
536
547
|
try {
|
|
537
548
|
response = await this.fetchImpl(
|
|
@@ -790,7 +801,7 @@ export async function revokeMintedUserApiKey(args: {
|
|
|
790
801
|
);
|
|
791
802
|
const masked = maskApiKey(args.apiKey);
|
|
792
803
|
const match = (listed.apiKeys ?? []).find(
|
|
793
|
-
|
|
804
|
+
key => key.name === args.keyName && key.maskedKey === masked
|
|
794
805
|
);
|
|
795
806
|
if (match === undefined) {
|
|
796
807
|
// CreateUserApiKey writes the primary while ListUserApiKeys may read a
|
|
@@ -566,7 +566,7 @@ function isAborted(signal?: AbortSignal): boolean {
|
|
|
566
566
|
}
|
|
567
567
|
|
|
568
568
|
function sleep(ms: number, signal?: AbortSignal): Promise<void> {
|
|
569
|
-
return new Promise(
|
|
569
|
+
return new Promise(resolve => {
|
|
570
570
|
if (signal?.aborted === true) {
|
|
571
571
|
resolve();
|
|
572
572
|
return;
|
|
@@ -15,11 +15,24 @@ export const DEFAULT_AGENT_SERVE_STORE_SOURCE_ID_FILE =
|
|
|
15
15
|
export const DEFAULT_AGENT_SERVE_FRAMEWORK_STORE_SOURCE_ID_FILE =
|
|
16
16
|
"/run/cursor/secrets/AGENT_SERVE_FRAMEWORK_STORE_SOURCE_ID";
|
|
17
17
|
|
|
18
|
+
export const DEFAULT_AGENT_SERVE_STORE_PROTOCOL_FILE =
|
|
19
|
+
"/run/cursor/secrets/AGENT_SERVE_STORE_PROTOCOL";
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Pin value selecting the factory store API (`/internal/agentsdk/store`)
|
|
23
|
+
* over `/v0/agent-serve-files`. Any other value — including a newer pin this
|
|
24
|
+
* runtime does not know — falls back to `/v0`, so the pin fails safe in both
|
|
25
|
+
* directions.
|
|
26
|
+
*/
|
|
27
|
+
export const AGENT_SERVE_FACTORY_FLUSH_PROTOCOL = "factory-flush-v1";
|
|
28
|
+
|
|
18
29
|
const STORE_SOURCE_ID_ENV = "AGENT_SERVE_STORE_SOURCE_ID";
|
|
19
30
|
const FRAMEWORK_STORE_SOURCE_ID_ENV = "AGENT_SERVE_FRAMEWORK_STORE_SOURCE_ID";
|
|
20
31
|
const STORE_SOURCE_ID_FILE_ENV = "AGENT_SERVE_STORE_SOURCE_ID_FILE";
|
|
21
32
|
const FRAMEWORK_STORE_SOURCE_ID_FILE_ENV =
|
|
22
33
|
"AGENT_SERVE_FRAMEWORK_STORE_SOURCE_ID_FILE";
|
|
34
|
+
const STORE_PROTOCOL_ENV = "AGENT_SERVE_STORE_PROTOCOL";
|
|
35
|
+
const STORE_PROTOCOL_FILE_ENV = "AGENT_SERVE_STORE_PROTOCOL_FILE";
|
|
23
36
|
|
|
24
37
|
function readTrimmedFile(path: string): string | undefined {
|
|
25
38
|
try {
|
|
@@ -71,6 +84,27 @@ export function resolveFrameworkStoreSourceIdSync(
|
|
|
71
84
|
);
|
|
72
85
|
}
|
|
73
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Store protocol pin: env, then task-bind file. The control plane binds
|
|
89
|
+
* `factory-flush-v1` on every hosted v2 pod. Absence or an unknown value
|
|
90
|
+
* still means `/v0/agent-serve-files`. Resolved lazily per operation like
|
|
91
|
+
* the store ids, so a pod bound after serve start takes effect without a
|
|
92
|
+
* restart.
|
|
93
|
+
*/
|
|
94
|
+
export function resolveStoreProtocolSync(
|
|
95
|
+
env: NodeJS.ProcessEnv = process.env
|
|
96
|
+
): string | undefined {
|
|
97
|
+
const fromEnv = env[STORE_PROTOCOL_ENV]?.trim();
|
|
98
|
+
if (fromEnv !== undefined && fromEnv !== "") {
|
|
99
|
+
return fromEnv;
|
|
100
|
+
}
|
|
101
|
+
return readBoundSecretFile(
|
|
102
|
+
STORE_PROTOCOL_FILE_ENV,
|
|
103
|
+
DEFAULT_AGENT_SERVE_STORE_PROTOCOL_FILE,
|
|
104
|
+
env
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
74
108
|
export type CursorManagedV2StoreIds = {
|
|
75
109
|
deploymentStoreSourceId: string;
|
|
76
110
|
frameworkStoreSourceId: string;
|