@cursor/july 0.1.109 → 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 +1 -1
- package/README.md +0 -15
- package/dist/bin/agent-serve.js +81 -66
- package/dist/channels/bitbucket/api.js +8 -8
- package/dist/channels/bitbucket/binding.js +4 -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/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/binding.js +4 -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/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 +34 -1
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +219 -106
- 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 +2 -2
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +55 -20
- 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.D0KbSkJn.js → building-with-agents.md.CEGVXkmO.js} +2 -2
- package/dist/docs/assets/{building-with-agents.md.D0KbSkJn.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.CVQERt56.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.Dnsd3XOn.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.C7JLjoEP.js → evals.md.BLDRt5LH.js} +4 -4
- package/dist/docs/assets/{evals.md.C7JLjoEP.lean.js → evals.md.BLDRt5LH.lean.js} +1 -1
- 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.DZPzmUjU.js → guides_bitbucket.md.CTpCl__f.js} +1 -1
- package/dist/docs/assets/{guides_bitbucket.md.DZPzmUjU.lean.js → guides_bitbucket.md.CTpCl__f.lean.js} +1 -1
- 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.TZaTZlfz.js → guides_github.md.D6ER29dG.js} +1 -1
- package/dist/docs/assets/{guides_github.md.TZaTZlfz.lean.js → guides_github.md.D6ER29dG.lean.js} +1 -1
- package/dist/docs/assets/{guides_gitlab.md.BmqwQfdG.js → guides_gitlab.md.P-TjBnS5.js} +1 -1
- package/dist/docs/assets/{guides_gitlab.md.BmqwQfdG.lean.js → guides_gitlab.md.P-TjBnS5.lean.js} +1 -1
- 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.CJK484ex.js → guides_webhooks.md.aQW10HRe.js} +2 -2
- package/dist/docs/assets/{guides_webhooks.md.CJK484ex.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.CAo-iK4j.js → reference_channels.md.icqLKcTc.js} +2 -12
- package/dist/docs/assets/{reference_channels.md.CAo-iK4j.lean.js → reference_channels.md.icqLKcTc.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.Deg7849l.js → reference_cli.md.B2dBL6L8.js} +3 -3
- package/dist/docs/assets/{reference_cli.md.Deg7849l.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.ZAVUyuEX.js → reference_extensions.md.wlFD3cUR.js} +2 -2
- package/dist/docs/assets/{reference_extensions.md.ZAVUyuEX.lean.js → reference_extensions.md.wlFD3cUR.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.BlM_bOg6.js → reference_hooks.md.CZuynAxj.js} +3 -3
- package/dist/docs/assets/{reference_hooks.md.BlM_bOg6.lean.js → reference_hooks.md.CZuynAxj.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.BwaCo-VO.js → reference_http-api.md.DTKcYE6L.js} +3 -3
- package/dist/docs/assets/{reference_http-api.md.BwaCo-VO.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.DLnoaczX.js → reference_playground.md.D2YExv5K.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.DLnoaczX.lean.js → reference_playground.md.D2YExv5K.lean.js} +1 -1
- package/dist/docs/assets/{reference_project-layout.md.BEU8MtQV.js → reference_project-layout.md.DPxbUJyt.js} +3 -3
- package/dist/docs/assets/{reference_project-layout.md.BEU8MtQV.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.CyXV1MUw.js → reference_sessions.md.YKvIsWAx.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.CyXV1MUw.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 +13 -15
- package/dist/docs/deployment.html +44 -11
- package/dist/docs/deployment.md +6 -7
- package/dist/docs/evals.html +44 -11
- package/dist/docs/evals.md +5 -5
- 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 +41 -8
- 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 +41 -8
- package/dist/docs/guides/github.md +1 -1
- package/dist/docs/guides/gitlab.html +41 -8
- 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 +3 -4
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +40 -10
- package/dist/docs/hillclimbing.md +5 -5
- package/dist/docs/index.html +57 -12
- package/dist/docs/index.md +81 -150
- package/dist/docs/llms-full.txt +5779 -10297
- package/dist/docs/llms.txt +3 -29
- 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 +0 -16
- package/dist/docs/reference/cli.html +42 -9
- package/dist/docs/reference/cli.md +0 -16
- package/dist/docs/reference/connections.html +43 -10
- package/dist/docs/reference/connections.md +3 -5
- package/dist/docs/reference/extensions.html +42 -9
- package/dist/docs/reference/extensions.md +2 -2
- package/dist/docs/reference/hooks.html +42 -9
- package/dist/docs/reference/hooks.md +2 -4
- package/dist/docs/reference/http-api.html +42 -9
- package/dist/docs/reference/http-api.md +5 -5
- package/dist/docs/reference/instructions.html +41 -8
- package/dist/docs/reference/playground.html +40 -7
- package/dist/docs/reference/playground.md +2 -2
- package/dist/docs/reference/project-layout.html +42 -9
- package/dist/docs/reference/project-layout.md +3 -4
- 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 +5 -4
- 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/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 +5 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -6
- 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.js +1 -1
- package/dist/internal/builtin-tools/reminders.js +2 -2
- package/dist/internal/chat-client.js +5 -5
- package/dist/internal/cli-ax.d.ts +1 -0
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +68 -13
- 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-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +14 -9
- 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.map +1 -1
- package/dist/internal/discovery/agent.js +10 -8
- 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.js +3 -3
- package/dist/internal/discovery/extensions.js +6 -6
- package/dist/internal/discovery/info.js +9 -9
- package/dist/internal/discovery/instructions.js +1 -1
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +4 -4
- 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 -14
- 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 +6 -2
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +91 -2
- package/dist/internal/framework-storage-selection.d.ts +0 -6
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +2 -11
- 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.js +1 -1
- package/dist/internal/inline-stdio-mcp.js +2 -2
- package/dist/internal/install-cursor-skills.js +10 -10
- 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.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 +14 -15
- package/dist/internal/serve-restart.js +1 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +81 -87
- package/dist/internal/session-cost.js +3 -3
- package/dist/internal/session-engine.d.ts +34 -0
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +380 -184
- 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 +17 -0
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +111 -11
- 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.js +2 -2
- package/dist/storage-backends/cursor-hosted.d.ts +5 -17
- package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted.js +6 -20
- package/dist/storage-backends/file-kv.js +7 -7
- package/dist/storage.d.ts +20 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +7 -6
- package/dist/types.d.ts +67 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -4
- package/docs/README.md +83 -152
- package/docs/building-with-agents.md +13 -15
- package/docs/deployment.md +6 -7
- package/docs/evals.md +5 -5
- package/docs/guides/agent-to-agent.md +41 -84
- package/docs/guides/cloud-agents.md +25 -20
- package/docs/guides/github.md +1 -1
- 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 +3 -4
- package/docs/hillclimbing.md +5 -5
- package/docs/quickstart.md +45 -106
- package/docs/reference/channels.md +0 -16
- package/docs/reference/cli.md +0 -16
- package/docs/reference/connections.md +3 -5
- package/docs/reference/extensions.md +2 -2
- package/docs/reference/hooks.md +2 -4
- package/docs/reference/http-api.md +5 -5
- package/docs/reference/playground.md +2 -2
- package/docs/reference/project-layout.md +3 -4
- package/docs/reference/sessions.md +5 -4
- package/docs/reference/subagents.md +2 -4
- package/docs/reference/tools.md +2 -5
- package/docs/troubleshooting.md +1 -2
- package/package.json +55 -37
- package/skills/framework-map/SKILL.md +2 -2
- package/skills/otel/SKILL.md +8 -18
- package/src/bin/agent-serve.ts +93 -72
- package/src/channels/bitbucket/api.ts +8 -8
- package/src/channels/bitbucket/binding.ts +4 -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/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/binding.ts +4 -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/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 +299 -170
- 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 +73 -13
- 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/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 -36
- 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 +1 -1
- package/src/internal/authored-loaders.ts +2 -3
- package/src/internal/builtin-tools/reminders.ts +2 -2
- package/src/internal/chat-client.ts +5 -5
- package/src/internal/cli-ax.ts +84 -14
- 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-identity.ts +13 -9
- 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 +14 -6
- 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 -3
- package/src/internal/discovery/extensions.ts +6 -6
- package/src/internal/discovery/info.ts +9 -9
- package/src/internal/discovery/instructions.ts +1 -1
- package/src/internal/discovery/project.ts +4 -4
- 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 -20
- 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 +104 -4
- package/src/internal/framework-storage-selection.ts +2 -12
- 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 +1 -1
- package/src/internal/inline-stdio-mcp.ts +2 -2
- package/src/internal/install-cursor-skills.ts +11 -11
- 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 +2 -2
- package/src/internal/schedule-runner.ts +6 -6
- package/src/internal/scm/pr-url.ts +11 -2
- package/src/internal/sdk-runner.ts +14 -28
- package/src/internal/serve-restart.ts +1 -1
- package/src/internal/server.ts +97 -99
- package/src/internal/session-cost.ts +3 -3
- package/src/internal/session-engine.ts +504 -244
- 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 +118 -21
- 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 +2 -2
- package/src/storage-backends/cursor-hosted.ts +6 -23
- package/src/storage-backends/file-kv.ts +7 -7
- package/src/storage.ts +22 -7
- package/src/types.ts +82 -17
- 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/agent/lib/collect.ts +6 -2
- package/templates/demo/agent/lib/repos.ts +1 -1
- package/templates/demo/agent/tools/record_demo.ts +1 -1
- package/templates/demo/evals/demo.eval.ts +1 -5
- 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/client.d.ts +0 -14
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -12
- package/dist/docs/assets/app.Cr-wVbnB.js +0 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.CFVQ4S17.js +0 -1
- package/dist/docs/assets/chunks/framework.BCISBCiQ.js +0 -19
- package/dist/docs/assets/concepts.md.B4o63Gul.js +0 -1
- package/dist/docs/assets/concepts.md.B4o63Gul.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.BOiVo1tf.js +0 -4
- package/dist/docs/assets/hillclimbing.md.BOiVo1tf.lean.js +0 -1
- package/dist/docs/assets/index.md.DD9Q2XuJ.js +0 -5
- package/dist/docs/assets/index.md.DD9Q2XuJ.lean.js +0 -1
- package/dist/docs/assets/quickstart.md.DdQOF7Y8.lean.js +0 -1
- 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/scaffolding-agents.md.Kctn3OVb.js +0 -1
- package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.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_deploy.md.CWqi_ZxW.js +0 -35
- package/dist/docs/assets/skills_deploy.md.CWqi_ZxW.lean.js +0 -1
- package/dist/docs/assets/skills_evals.md.DFxYPErF.js +0 -25
- package/dist/docs/assets/skills_evals.md.DFxYPErF.lean.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.BxLSOhSY.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.BxLSOhSY.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.DL7EHaQ-.js +0 -1
- package/dist/docs/assets/skills_index.md.DL7EHaQ-.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.BUrhJ-Zz.js +0 -30
- package/dist/docs/assets/storage.md.BUrhJ-Zz.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 -166
- 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/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/deploy.html +0 -61
- package/dist/docs/skills/deploy.md +0 -161
- package/dist/docs/skills/evals.html +0 -51
- package/dist/docs/skills/evals.md +0 -137
- package/dist/docs/skills/framework-map.html +0 -27
- package/dist/docs/skills/framework-map.md +0 -99
- 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 -167
- 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/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-Bhxzrcf6.css +0 -1
- package/dist/playground/assets/index-CqLX5uF3.js +0 -67
- package/docs/concepts.md +0 -171
- 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 -172
- 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/src/client.ts +0 -23
- package/src/internal/tenant-slack/relay.ts +0 -203
- package/templates/pr-autofixer/agent/storage.ts +0 -7
package/src/internal/server.ts
CHANGED
|
@@ -54,6 +54,7 @@ import {
|
|
|
54
54
|
parseCursorOriginRepoScope,
|
|
55
55
|
} from "../channels/origin/cursor-account.js";
|
|
56
56
|
import { findOriginChannelTargets } from "../channels/origin/origin-channel.js";
|
|
57
|
+
import { appendSlackQuietHint } from "../channels/slack/agentic-posted.js";
|
|
57
58
|
import { allowAll, bearerAuth, localDevStrict } from "../channels.js";
|
|
58
59
|
import type {
|
|
59
60
|
AgentProject,
|
|
@@ -145,6 +146,10 @@ import {
|
|
|
145
146
|
readJsonObject,
|
|
146
147
|
requireSessionOwner,
|
|
147
148
|
} from "./http-channel.js";
|
|
149
|
+
import {
|
|
150
|
+
incomingHeadersToFetch,
|
|
151
|
+
incomingRequestHost,
|
|
152
|
+
} from "./incoming-headers-to-fetch.js";
|
|
148
153
|
import { DEFAULT_SERVE_PORT, listenHttpServer } from "./listen-port.js";
|
|
149
154
|
import {
|
|
150
155
|
createLocalControlPlane,
|
|
@@ -239,7 +244,7 @@ import { catalogDetailEntry, catalogListEntry } from "./tool-catalog.js";
|
|
|
239
244
|
function memoryHealthFields(engines: readonly SessionEngine[]) {
|
|
240
245
|
return collectMemoryHealthFields({
|
|
241
246
|
eventLog: () =>
|
|
242
|
-
sumEventLogStats(engines.map(
|
|
247
|
+
sumEventLogStats(engines.map(engine => engine.eventLogMemoryStats())),
|
|
243
248
|
});
|
|
244
249
|
}
|
|
245
250
|
|
|
@@ -276,7 +281,7 @@ function localControlPlaneRoute(
|
|
|
276
281
|
): RouteLocalIngressContinuation | undefined {
|
|
277
282
|
for (const runtime of runtimes) {
|
|
278
283
|
if (runtime.controlPlane !== undefined) {
|
|
279
|
-
return
|
|
284
|
+
return input => runtime.controlPlane!.routeContinuation(input);
|
|
280
285
|
}
|
|
281
286
|
}
|
|
282
287
|
return undefined;
|
|
@@ -285,7 +290,7 @@ function localControlPlaneRoute(
|
|
|
285
290
|
function firstLocalControlPlane(
|
|
286
291
|
runtimes: readonly MountedRuntime[]
|
|
287
292
|
): LocalControlPlane | undefined {
|
|
288
|
-
return runtimes.find(
|
|
293
|
+
return runtimes.find(runtime => runtime.controlPlane !== undefined)
|
|
289
294
|
?.controlPlane;
|
|
290
295
|
}
|
|
291
296
|
|
|
@@ -324,7 +329,7 @@ export async function startServer(
|
|
|
324
329
|
const label = slug === "" ? project.name : `${slug} (${project.name})`;
|
|
325
330
|
throw new Error(
|
|
326
331
|
`Refusing to serve agent ${label} — it has errors:\n${formatDiagnostics(
|
|
327
|
-
project.diagnostics.filter(
|
|
332
|
+
project.diagnostics.filter(d => d.severity === "error")
|
|
328
333
|
)}`
|
|
329
334
|
);
|
|
330
335
|
}
|
|
@@ -340,12 +345,9 @@ export async function startServer(
|
|
|
340
345
|
noControlPlane?: boolean;
|
|
341
346
|
/** `--cursor-scm-proxy`: every cursorAccount SCM pack routes via the backend forwarder. */
|
|
342
347
|
cursorScmProxy?: boolean;
|
|
343
|
-
/** Deprecated alias (`--cursor-github-proxy`); same effect as cursorScmProxy. */
|
|
344
|
-
cursorGithubProxy?: boolean;
|
|
345
348
|
};
|
|
346
349
|
const noControlPlane = hosted.noControlPlane === true;
|
|
347
|
-
const scmProxyRequested =
|
|
348
|
-
hosted.cursorScmProxy === true || hosted.cursorGithubProxy === true;
|
|
350
|
+
const scmProxyRequested = hosted.cursorScmProxy === true;
|
|
349
351
|
const runSchedules = options.schedules ?? !dev;
|
|
350
352
|
const runReminders = options.reminders ?? !dev;
|
|
351
353
|
|
|
@@ -355,7 +357,7 @@ export async function startServer(
|
|
|
355
357
|
process.env.CURSOR_AGENTKIT_VERSION ??= packageVersion();
|
|
356
358
|
|
|
357
359
|
const authoredOtel = pickAuthoredOtel(
|
|
358
|
-
mounts.map(
|
|
360
|
+
mounts.map(m => ({
|
|
359
361
|
slug: m.slug,
|
|
360
362
|
name: m.project.name,
|
|
361
363
|
otel: m.project.otel,
|
|
@@ -419,8 +421,8 @@ export async function startServer(
|
|
|
419
421
|
noControlPlane,
|
|
420
422
|
config: effectiveCursorEvents,
|
|
421
423
|
auth: cursorEventsAuth,
|
|
422
|
-
v1Mounts: mounts.filter(
|
|
423
|
-
v2Mounts: mounts.filter(
|
|
424
|
+
v1Mounts: mounts.filter(mount => !isV2Project(mount.project)),
|
|
425
|
+
v2Mounts: mounts.filter(mount => isV2Project(mount.project)),
|
|
424
426
|
githubRepos: cursorGithubConfig.cursorEvents?.repos ?? [],
|
|
425
427
|
originRepos: cursorOriginScope?.repos ?? [],
|
|
426
428
|
});
|
|
@@ -700,7 +702,7 @@ export async function startServer(
|
|
|
700
702
|
await flushLocalStartLog({ store: startLogStore, startLogId });
|
|
701
703
|
};
|
|
702
704
|
if (sessionRunLog !== undefined) {
|
|
703
|
-
registerSessionRunFatalFlush(async
|
|
705
|
+
registerSessionRunFatalFlush(async error => {
|
|
704
706
|
await flushHostedExecutionProcessDeath({
|
|
705
707
|
flushProcessDeath: (reason, flushError) =>
|
|
706
708
|
sessionRunLog.flushProcessDeath(reason, flushError),
|
|
@@ -725,7 +727,7 @@ export async function startServer(
|
|
|
725
727
|
// dispatching runner is only interposed when a mount needs it. An
|
|
726
728
|
// injected test runner receives every turn, grokbot included.
|
|
727
729
|
const hasGrokBotMounts = mounts.some(
|
|
728
|
-
|
|
730
|
+
mount => mount.project.agent.runtime === "grokbot"
|
|
729
731
|
);
|
|
730
732
|
// Fail closed like cursor-account GitHub/MCP: grokbot turns execute on the
|
|
731
733
|
// signed-in account's hosted computer, so anonymous admission needs its
|
|
@@ -874,10 +876,10 @@ export async function startServer(
|
|
|
874
876
|
const localControlPlane = noControlPlane
|
|
875
877
|
? undefined
|
|
876
878
|
: await createLocalControlPlane({
|
|
877
|
-
fireSchedule:
|
|
879
|
+
fireSchedule: name => scheduleRunner.dispatch(name),
|
|
878
880
|
...(useReminderCpProtocol
|
|
879
881
|
? {
|
|
880
|
-
executeReminder:
|
|
882
|
+
executeReminder: descriptor =>
|
|
881
883
|
reminderRunner.executeFire(descriptor),
|
|
882
884
|
}
|
|
883
885
|
: {
|
|
@@ -921,21 +923,21 @@ export async function startServer(
|
|
|
921
923
|
// boot and makes /v1/dev/evals complete from the first request).
|
|
922
924
|
await evalRuns.hydrate();
|
|
923
925
|
engine.setReminders({
|
|
924
|
-
create:
|
|
925
|
-
list:
|
|
926
|
+
create: input => reminderRunner.create(input),
|
|
927
|
+
list: filter => reminderRunner.list(filter),
|
|
926
928
|
cancel: (id, reason) => reminderRunner.cancel(id, reason),
|
|
927
929
|
cancelForContinuation: (token, reason) =>
|
|
928
930
|
reminderRunner.cancelForContinuation(token, reason),
|
|
929
931
|
rekeyContinuation: (channelId, oldToken, newToken) =>
|
|
930
932
|
reminderRunner.rekeyContinuation(channelId, oldToken, newToken),
|
|
931
|
-
dispatch:
|
|
933
|
+
dispatch: id => reminderRunner.dispatch(id),
|
|
932
934
|
});
|
|
933
935
|
engine.setEvals({
|
|
934
936
|
list: () => evalRuns.list(),
|
|
935
|
-
get:
|
|
937
|
+
get: runId => evalRuns.get(runId),
|
|
936
938
|
listRunsWithActive: () => evalRuns.listRunsWithActive(),
|
|
937
|
-
start:
|
|
938
|
-
cancel:
|
|
939
|
+
start: input => evalRuns.start(input),
|
|
940
|
+
cancel: runId => evalRuns.cancel(runId),
|
|
939
941
|
});
|
|
940
942
|
const runtime: MountedRuntime = {
|
|
941
943
|
slug,
|
|
@@ -987,7 +989,7 @@ export async function startServer(
|
|
|
987
989
|
send: (message, sendOptions) =>
|
|
988
990
|
engine.send(channel.id, message, sendOptions),
|
|
989
991
|
architecture: project.agent.architecture,
|
|
990
|
-
getSession:
|
|
992
|
+
getSession: sessionId =>
|
|
991
993
|
engine.getChannelSession(channel.id, sessionId),
|
|
992
994
|
receive: (target, input) => engine.receive(target, input),
|
|
993
995
|
callTool: (toolName, input, callOptions) =>
|
|
@@ -995,23 +997,23 @@ export async function startServer(
|
|
|
995
997
|
emitAssistantMessage: (sessionId, text) =>
|
|
996
998
|
engine.emitAssistantMessage(sessionId, text),
|
|
997
999
|
host: engine.host,
|
|
998
|
-
waitUntil:
|
|
1000
|
+
waitUntil: promise => {
|
|
999
1001
|
engine.trackBackground(promise);
|
|
1000
1002
|
},
|
|
1001
1003
|
resolveApproval: (sessionId, callId, decision, auth) =>
|
|
1002
1004
|
engine.resolveApproval(sessionId, callId, decision, auth),
|
|
1003
1005
|
resolveAuth: (sessionId, callId, decision, auth) =>
|
|
1004
1006
|
engine.resolveAuth(sessionId, callId, decision, auth),
|
|
1005
|
-
hasContinuationSession:
|
|
1007
|
+
hasContinuationSession: continuationToken =>
|
|
1006
1008
|
engine.hasContinuationSession(channel.id, continuationToken),
|
|
1007
|
-
isContinuationBusy:
|
|
1009
|
+
isContinuationBusy: continuationToken =>
|
|
1008
1010
|
engine.isContinuationBusy(channel.id, continuationToken),
|
|
1009
|
-
getContinuationLastBotMessageTs:
|
|
1011
|
+
getContinuationLastBotMessageTs: continuationToken =>
|
|
1010
1012
|
engine.getContinuationLastBotMessageTs(
|
|
1011
1013
|
channel.id,
|
|
1012
1014
|
continuationToken
|
|
1013
1015
|
),
|
|
1014
|
-
interruptContinuation:
|
|
1016
|
+
interruptContinuation: continuationToken =>
|
|
1015
1017
|
engine.interruptContinuation(channel.id, continuationToken),
|
|
1016
1018
|
logger,
|
|
1017
1019
|
artifacts: engine.artifacts,
|
|
@@ -1075,7 +1077,7 @@ export async function startServer(
|
|
|
1075
1077
|
slug,
|
|
1076
1078
|
name: project.name,
|
|
1077
1079
|
})),
|
|
1078
|
-
...memoryHealthFields(runtimes.map(
|
|
1080
|
+
...memoryHealthFields(runtimes.map(runtime => runtime.engine)),
|
|
1079
1081
|
}),
|
|
1080
1082
|
});
|
|
1081
1083
|
}
|
|
@@ -1114,34 +1116,32 @@ export async function startServer(
|
|
|
1114
1116
|
// to run via their onPullRequest / onComment / … hooks.
|
|
1115
1117
|
const collectGitHubTargetsFrom = (selected: readonly MountedRuntime[]) =>
|
|
1116
1118
|
collectGitHubTriggerTargets({
|
|
1117
|
-
mounts: selected.map(
|
|
1119
|
+
mounts: selected.map(runtime => ({
|
|
1118
1120
|
slug: runtime.slug,
|
|
1119
1121
|
channels: runtime.project.channels,
|
|
1120
|
-
buildHandlerArgs:
|
|
1122
|
+
buildHandlerArgs: channelId =>
|
|
1121
1123
|
buildChannelHandlerArgs({ runtime, channelId }),
|
|
1122
1124
|
})),
|
|
1123
1125
|
});
|
|
1124
1126
|
const collectOriginTargetsFrom = (selected: readonly MountedRuntime[]) =>
|
|
1125
1127
|
collectOriginTriggerTargets({
|
|
1126
|
-
mounts: selected.map(
|
|
1128
|
+
mounts: selected.map(runtime => ({
|
|
1127
1129
|
slug: runtime.slug,
|
|
1128
1130
|
channels: runtime.project.channels,
|
|
1129
|
-
buildHandlerArgs:
|
|
1131
|
+
buildHandlerArgs: channelId =>
|
|
1130
1132
|
buildChannelHandlerArgs({ runtime, channelId }),
|
|
1131
1133
|
})),
|
|
1132
1134
|
});
|
|
1133
1135
|
const collectGitHubTargets = () => collectGitHubTargetsFrom(runtimes);
|
|
1134
|
-
const v1Runtimes = runtimes.filter(
|
|
1135
|
-
|
|
1136
|
-
);
|
|
1137
|
-
const
|
|
1138
|
-
const v1Mounts = mounts.filter((mount) => !isV2Project(mount.project));
|
|
1139
|
-
const v2Mounts = mounts.filter((mount) => isV2Project(mount.project));
|
|
1136
|
+
const v1Runtimes = runtimes.filter(runtime => !isV2Project(runtime.project));
|
|
1137
|
+
const v2Runtimes = runtimes.filter(runtime => isV2Project(runtime.project));
|
|
1138
|
+
const v1Mounts = mounts.filter(mount => !isV2Project(mount.project));
|
|
1139
|
+
const v2Mounts = mounts.filter(mount => isV2Project(mount.project));
|
|
1140
1140
|
router.add({
|
|
1141
1141
|
method: "POST",
|
|
1142
1142
|
pattern: "/v1/webhooks/github",
|
|
1143
1143
|
auth: [localDevStrict()],
|
|
1144
|
-
handler: async
|
|
1144
|
+
handler: async request => {
|
|
1145
1145
|
const bodyText = await request.text();
|
|
1146
1146
|
const routeContinuation = localControlPlaneRoute(runtimes);
|
|
1147
1147
|
const result = await handleAgentServeTrigger({
|
|
@@ -1285,8 +1285,8 @@ export async function startServer(
|
|
|
1285
1285
|
);
|
|
1286
1286
|
if (accountBridge !== undefined && accountRefs !== undefined) {
|
|
1287
1287
|
const bridge = accountBridge;
|
|
1288
|
-
runtime.engine.setCursorAccountAuthProbe(async
|
|
1289
|
-
const ref = accountRefs.find(
|
|
1288
|
+
runtime.engine.setCursorAccountAuthProbe(async connection => {
|
|
1289
|
+
const ref = accountRefs.find(entry => entry.name === connection);
|
|
1290
1290
|
if (ref === undefined) {
|
|
1291
1291
|
return undefined;
|
|
1292
1292
|
}
|
|
@@ -1294,7 +1294,7 @@ export async function startServer(
|
|
|
1294
1294
|
});
|
|
1295
1295
|
}
|
|
1296
1296
|
const hasServerTools = runtime.project.agent.tools.some(
|
|
1297
|
-
|
|
1297
|
+
tool => tool.execution === "server"
|
|
1298
1298
|
);
|
|
1299
1299
|
// Host-bridged connections ride the same endpoint as server tools, so
|
|
1300
1300
|
// the cloud tools connection is set whenever either needs it.
|
|
@@ -1352,7 +1352,7 @@ export async function startServer(
|
|
|
1352
1352
|
runtime.evalRuns.loopbackUrl =
|
|
1353
1353
|
runtime.slug === "" ? url : `${url}/${runtime.slug}`;
|
|
1354
1354
|
}
|
|
1355
|
-
const runtimeBySlug = new Map(runtimes.map(
|
|
1355
|
+
const runtimeBySlug = new Map(runtimes.map(r => [r.slug, r]));
|
|
1356
1356
|
|
|
1357
1357
|
// --dev: spawn Vite HMR. Single-agent infers the slug base; multi-agent
|
|
1358
1358
|
// serves `/<slug>/playground` on the HMR origin (optional AGENT_SERVE_BASE
|
|
@@ -1424,8 +1424,7 @@ export async function startServer(
|
|
|
1424
1424
|
close: async () => {
|
|
1425
1425
|
if (sessionRunLog !== undefined) {
|
|
1426
1426
|
await flushHostedExecutionProcessDeath({
|
|
1427
|
-
flushProcessDeath: (reason)
|
|
1428
|
-
sessionRunLog.flushProcessDeath(reason),
|
|
1427
|
+
flushProcessDeath: reason => sessionRunLog.flushProcessDeath(reason),
|
|
1429
1428
|
flushStartLog,
|
|
1430
1429
|
startLogId: lastStartLogId,
|
|
1431
1430
|
reason: "process_exit",
|
|
@@ -1460,7 +1459,7 @@ export async function startServer(
|
|
|
1460
1459
|
server.close();
|
|
1461
1460
|
server.closeAllConnections();
|
|
1462
1461
|
try {
|
|
1463
|
-
await Promise.all(runtimes.map(
|
|
1462
|
+
await Promise.all(runtimes.map(runtime => runtime.engine.close()));
|
|
1464
1463
|
} finally {
|
|
1465
1464
|
cursorGithubCredentials?.stop();
|
|
1466
1465
|
await shutdownOtelRuntime(otelRuntime);
|
|
@@ -1532,7 +1531,7 @@ function mountAgentRoutes(
|
|
|
1532
1531
|
// loopback-only + per-boot bearer secret, never on the public auth chain.
|
|
1533
1532
|
if (args.accountBridge !== undefined && args.accountRefs !== undefined) {
|
|
1534
1533
|
const bridge = args.accountBridge;
|
|
1535
|
-
const refByName = new Map(args.accountRefs.map(
|
|
1534
|
+
const refByName = new Map(args.accountRefs.map(ref => [ref.name, ref]));
|
|
1536
1535
|
router.add({
|
|
1537
1536
|
method: "POST",
|
|
1538
1537
|
pattern: `${base}${cursorAccountMcpPath(":connection")}`,
|
|
@@ -1546,7 +1545,7 @@ function mountAgentRoutes(
|
|
|
1546
1545
|
`No Cursor account MCP connection named "${ctx.params.connection ?? ""}" on this agent.`
|
|
1547
1546
|
);
|
|
1548
1547
|
}
|
|
1549
|
-
return bridge.handle(request, ref);
|
|
1548
|
+
return bridge.handle(request, ref, appendSlackQuietHint);
|
|
1550
1549
|
},
|
|
1551
1550
|
});
|
|
1552
1551
|
}
|
|
@@ -1559,7 +1558,7 @@ function mountAgentRoutes(
|
|
|
1559
1558
|
const httpAuth = project.httpChannel.auth ?? defaultAuth;
|
|
1560
1559
|
// Temporal posts this marker on a direct pod port-token fetch. The alias
|
|
1561
1560
|
// proxy strips it, so webhook/playground tokens cannot present it.
|
|
1562
|
-
const platformTimerFireAuth: AuthPolicy =
|
|
1561
|
+
const platformTimerFireAuth: AuthPolicy = request => {
|
|
1563
1562
|
if (request.headers.get("x-agent-serve-timed-work") === "1") {
|
|
1564
1563
|
return {
|
|
1565
1564
|
authenticator: "app",
|
|
@@ -1587,7 +1586,7 @@ function mountAgentRoutes(
|
|
|
1587
1586
|
}),
|
|
1588
1587
|
fireReminder: (reminderId, fireCount) =>
|
|
1589
1588
|
reminderRunner.dispatch(reminderId, { expectedFireCount: fireCount }),
|
|
1590
|
-
executeReminderDescriptor: async
|
|
1589
|
+
executeReminderDescriptor: async descriptor => {
|
|
1591
1590
|
if (reminderControlPlane === undefined) {
|
|
1592
1591
|
throw new Error("hosted reminder CP client is not configured");
|
|
1593
1592
|
}
|
|
@@ -1614,7 +1613,7 @@ function mountAgentRoutes(
|
|
|
1614
1613
|
outcome: "fired" as const,
|
|
1615
1614
|
};
|
|
1616
1615
|
},
|
|
1617
|
-
drainSessionDurability:
|
|
1616
|
+
drainSessionDurability: sessionId =>
|
|
1618
1617
|
engine.drainSessionDurability(sessionId),
|
|
1619
1618
|
flushOtel: args.flushOtel,
|
|
1620
1619
|
...(args.diagStateRoot === undefined
|
|
@@ -1623,7 +1622,7 @@ function mountAgentRoutes(
|
|
|
1623
1622
|
...(sessionRunLog === undefined
|
|
1624
1623
|
? {}
|
|
1625
1624
|
: {
|
|
1626
|
-
persistSessionRun: async
|
|
1625
|
+
persistSessionRun: async document => {
|
|
1627
1626
|
await sessionRunLog.persist(document);
|
|
1628
1627
|
},
|
|
1629
1628
|
flushStartLog,
|
|
@@ -1651,7 +1650,7 @@ function mountAgentRoutes(
|
|
|
1651
1650
|
method: "GET",
|
|
1652
1651
|
pattern: `${base}${mcpOauthServeCallbackPath()}`,
|
|
1653
1652
|
auth: "none",
|
|
1654
|
-
handler:
|
|
1653
|
+
handler: request => engine.oauthCallbackHub.handleCallback(request),
|
|
1655
1654
|
});
|
|
1656
1655
|
|
|
1657
1656
|
router.add({
|
|
@@ -1729,7 +1728,7 @@ function mountAgentRoutes(
|
|
|
1729
1728
|
method: "GET",
|
|
1730
1729
|
pattern: `${base}/v1/logs`,
|
|
1731
1730
|
auth: httpAuth,
|
|
1732
|
-
handler:
|
|
1731
|
+
handler: request => {
|
|
1733
1732
|
const url = new URL(request.url);
|
|
1734
1733
|
const afterRaw = url.searchParams.get("after");
|
|
1735
1734
|
const after =
|
|
@@ -2142,7 +2141,7 @@ function mountAgentRoutes(
|
|
|
2142
2141
|
method: "POST",
|
|
2143
2142
|
pattern: `${base}/v1/dev/evals/runs`,
|
|
2144
2143
|
auth: httpAuth,
|
|
2145
|
-
handler: async
|
|
2144
|
+
handler: async request => {
|
|
2146
2145
|
const body = await readJsonObject(request);
|
|
2147
2146
|
const filterIds = asStringArray(body?.filterIds);
|
|
2148
2147
|
const tags = asStringArray(body?.tags);
|
|
@@ -2340,9 +2339,9 @@ function mountAgentRoutes(
|
|
|
2340
2339
|
const reminderId = ctx.params.reminderId ?? "";
|
|
2341
2340
|
try {
|
|
2342
2341
|
const listed = await reminderRunner.list();
|
|
2343
|
-
const reminder = listed.find(
|
|
2342
|
+
const reminder = listed.find(r => r.id === reminderId);
|
|
2344
2343
|
if (reminder === undefined) {
|
|
2345
|
-
const ids = listed.map(
|
|
2344
|
+
const ids = listed.map(r => r.id);
|
|
2346
2345
|
throw new UnknownReminderError(reminderId, ids);
|
|
2347
2346
|
}
|
|
2348
2347
|
const ownership = await assertReminderReadable({
|
|
@@ -2476,17 +2475,17 @@ function collectCursorEventSubscriptions(input: {
|
|
|
2476
2475
|
const githubTargets = findGitHubChannelTargets(input.mounts);
|
|
2477
2476
|
const originTargets = findOriginChannelTargets(input.mounts);
|
|
2478
2477
|
const githubEvents = [
|
|
2479
|
-
...new Set(githubTargets.flatMap(
|
|
2478
|
+
...new Set(githubTargets.flatMap(target => target.events)),
|
|
2480
2479
|
];
|
|
2481
2480
|
const originEvents = [
|
|
2482
|
-
...new Set(originTargets.flatMap(
|
|
2481
|
+
...new Set(originTargets.flatMap(target => target.events)),
|
|
2483
2482
|
];
|
|
2484
2483
|
const githubRepos = [
|
|
2485
|
-
...new Set(input.githubRepos.map(
|
|
2486
|
-
].filter(
|
|
2484
|
+
...new Set(input.githubRepos.map(repo => repo.trim().toLowerCase())),
|
|
2485
|
+
].filter(repo => repo.length > 0);
|
|
2487
2486
|
const originRepos = [
|
|
2488
|
-
...new Set(input.originRepos.map(
|
|
2489
|
-
].filter(
|
|
2487
|
+
...new Set(input.originRepos.map(repo => repo.trim().toLowerCase())),
|
|
2488
|
+
].filter(repo => repo.length > 0);
|
|
2490
2489
|
|
|
2491
2490
|
const subscriptions: CursorScmSubscription[] = [];
|
|
2492
2491
|
if (githubEvents.length > 0 && githubRepos.length > 0) {
|
|
@@ -2586,8 +2585,8 @@ function startCursorEventRelay(input: {
|
|
|
2586
2585
|
} else if (input.lane === "control-plane") {
|
|
2587
2586
|
return undefined;
|
|
2588
2587
|
} else if (
|
|
2589
|
-
input.githubRepos.every(
|
|
2590
|
-
input.originRepos.every(
|
|
2588
|
+
input.githubRepos.every(repo => repo.trim() === "") &&
|
|
2589
|
+
input.originRepos.every(repo => repo.trim() === "")
|
|
2591
2590
|
) {
|
|
2592
2591
|
logger(
|
|
2593
2592
|
"[agent-sdk] cursor-events: no repos configured (pass --repo owner/name); relay disabled"
|
|
@@ -2608,9 +2607,9 @@ function startCursorEventRelay(input: {
|
|
|
2608
2607
|
subscriptions,
|
|
2609
2608
|
stateDir: join(baseStateRoot, input.stateDirName ?? "cursor-events"),
|
|
2610
2609
|
logger,
|
|
2611
|
-
dispatch: async
|
|
2610
|
+
dispatch: async event => {
|
|
2612
2611
|
if (event.provider === "origin") {
|
|
2613
|
-
const targets = input.collectOriginTargets().filter(
|
|
2612
|
+
const targets = input.collectOriginTargets().filter(target => {
|
|
2614
2613
|
const cursorAccount = target.options.cursorAccount;
|
|
2615
2614
|
if (
|
|
2616
2615
|
input.cursorAccountOnly &&
|
|
@@ -2622,7 +2621,7 @@ function startCursorEventRelay(input: {
|
|
|
2622
2621
|
return typeof cursorAccount !== "object"
|
|
2623
2622
|
? true
|
|
2624
2623
|
: cursorAccount.repos.some(
|
|
2625
|
-
|
|
2624
|
+
repo => repo.toLowerCase() === event.repo.toLowerCase()
|
|
2626
2625
|
);
|
|
2627
2626
|
});
|
|
2628
2627
|
const result = await handleAgentServeTrigger({
|
|
@@ -2637,7 +2636,7 @@ function startCursorEventRelay(input: {
|
|
|
2637
2636
|
return;
|
|
2638
2637
|
}
|
|
2639
2638
|
if (event.provider !== "github") return;
|
|
2640
|
-
const targets = input.collectGitHubTargets().filter(
|
|
2639
|
+
const targets = input.collectGitHubTargets().filter(target => {
|
|
2641
2640
|
const cursorAccount = target.options.cursorAccount;
|
|
2642
2641
|
if (
|
|
2643
2642
|
input.cursorAccountOnly &&
|
|
@@ -2649,7 +2648,7 @@ function startCursorEventRelay(input: {
|
|
|
2649
2648
|
return typeof cursorAccount !== "object"
|
|
2650
2649
|
? true
|
|
2651
2650
|
: cursorAccount.repos.some(
|
|
2652
|
-
|
|
2651
|
+
repo => repo.toLowerCase() === event.repo.toLowerCase()
|
|
2653
2652
|
);
|
|
2654
2653
|
});
|
|
2655
2654
|
const result = await handleAgentServeTrigger({
|
|
@@ -2681,9 +2680,9 @@ function logCursorScmDispatch(
|
|
|
2681
2680
|
result: Awaited<ReturnType<typeof handleAgentServeTrigger>>
|
|
2682
2681
|
): void {
|
|
2683
2682
|
const outcomes = result.targets
|
|
2684
|
-
.map(
|
|
2683
|
+
.map(target => formatCursorScmDispatchOutcome(target))
|
|
2685
2684
|
.join(", ");
|
|
2686
|
-
const rejected = result.targets.filter(
|
|
2685
|
+
const rejected = result.targets.filter(target => target.status >= 400);
|
|
2687
2686
|
if (rejected.length > 0) {
|
|
2688
2687
|
logger(
|
|
2689
2688
|
`[agent-sdk] cursor-events: dropped ${formatCursorScmEventLog(event)} before hook: ${rejected.map(formatCursorScmDispatchOutcome).join(", ")}`
|
|
@@ -2751,7 +2750,7 @@ function resolveCursorGithubEventConfig(input: {
|
|
|
2751
2750
|
}
|
|
2752
2751
|
const repos = [
|
|
2753
2752
|
...(input.configured?.repos ?? []),
|
|
2754
|
-
...input.targets.flatMap(
|
|
2753
|
+
...input.targets.flatMap(target => [
|
|
2755
2754
|
...(target.accountRuntime.scope?.repos ?? []),
|
|
2756
2755
|
]),
|
|
2757
2756
|
];
|
|
@@ -2813,12 +2812,12 @@ function resolveCursorOriginRepoScope(input: {
|
|
|
2813
2812
|
return undefined;
|
|
2814
2813
|
}
|
|
2815
2814
|
const wantsHostRepos = input.targets.some(
|
|
2816
|
-
|
|
2815
|
+
target => target.accountRuntime.options.cursorAccount === true
|
|
2817
2816
|
);
|
|
2818
2817
|
const repos = [
|
|
2819
2818
|
...(wantsHostRepos ? input.explicitRepos : []),
|
|
2820
2819
|
...input.targets.flatMap(
|
|
2821
|
-
|
|
2820
|
+
target => target.accountRuntime.scope?.repos ?? []
|
|
2822
2821
|
),
|
|
2823
2822
|
];
|
|
2824
2823
|
if (repos.length === 0) {
|
|
@@ -2830,7 +2829,7 @@ function resolveCursorOriginRepoScope(input: {
|
|
|
2830
2829
|
function buildAgentIndexEntries(runtimes: MountedRuntime[]): AgentIndexEntry[] {
|
|
2831
2830
|
return runtimes.map(({ slug, project }) => {
|
|
2832
2831
|
const hasSlack = project.channels.some(
|
|
2833
|
-
|
|
2832
|
+
channel => channel.definition.meta?.kind === "slack"
|
|
2834
2833
|
);
|
|
2835
2834
|
return {
|
|
2836
2835
|
slug,
|
|
@@ -2877,7 +2876,7 @@ function liveDeploymentSubscriptionUnion(
|
|
|
2877
2876
|
targets: readonly CursorDeploymentTarget[]
|
|
2878
2877
|
): ResolvedSubscription[] {
|
|
2879
2878
|
return mergeResolvedSubscriptions(
|
|
2880
|
-
targets.map(
|
|
2879
|
+
targets.map(target => resolveDeploymentSubscriptions(target.options))
|
|
2881
2880
|
);
|
|
2882
2881
|
}
|
|
2883
2882
|
|
|
@@ -2918,7 +2917,7 @@ function startCursorDeploymentRelay(input: {
|
|
|
2918
2917
|
logger(
|
|
2919
2918
|
`[agent-sdk] deployment-events: no deploy sources yet on ${targets
|
|
2920
2919
|
.map(
|
|
2921
|
-
|
|
2920
|
+
target =>
|
|
2922
2921
|
`${target.runtime.slug || target.runtime.project.name}/${target.channelId}`
|
|
2923
2922
|
)
|
|
2924
2923
|
.join(", ")}; the relay will register when a channel lists some`
|
|
@@ -2935,14 +2934,14 @@ function startCursorDeploymentRelay(input: {
|
|
|
2935
2934
|
stateDir: join(baseStateRoot, "deployment-events"),
|
|
2936
2935
|
subscriptions: () => liveDeploymentSubscriptionUnion(targets),
|
|
2937
2936
|
logger,
|
|
2938
|
-
dispatch: async
|
|
2937
|
+
dispatch: async event =>
|
|
2939
2938
|
fanOutDeploymentEvent({
|
|
2940
2939
|
event,
|
|
2941
2940
|
logger,
|
|
2942
|
-
targets: targets.map(
|
|
2941
|
+
targets: targets.map(target => ({
|
|
2943
2942
|
name: `${target.runtime.slug || target.runtime.project.name}/${target.channelId}`,
|
|
2944
2943
|
subscriptions: resolveDeploymentSubscriptions(target.options),
|
|
2945
|
-
deliver:
|
|
2944
|
+
deliver: delivered =>
|
|
2946
2945
|
dispatchDeploymentEvent({
|
|
2947
2946
|
options: target.options,
|
|
2948
2947
|
event: delivered,
|
|
@@ -2984,17 +2983,28 @@ function buildChannelHandlerArgs(input: {
|
|
|
2984
2983
|
auth: sendOptions.auth !== undefined ? sendOptions.auth : auth,
|
|
2985
2984
|
hostedSessionId: input.hostedSessionId,
|
|
2986
2985
|
}),
|
|
2987
|
-
getSession:
|
|
2986
|
+
getSession: sessionId =>
|
|
2988
2987
|
runtime.engine.getChannelSession(channelId, sessionId),
|
|
2989
2988
|
receive: (target, inputReceive) =>
|
|
2990
2989
|
runtime.engine.receive(target, inputReceive),
|
|
2991
2990
|
callTool: (toolName, toolInput, callOptions) =>
|
|
2992
2991
|
runtime.engine.callTool(toolName, toolInput, callOptions),
|
|
2993
|
-
waitUntil:
|
|
2992
|
+
waitUntil: promise => {
|
|
2994
2993
|
runtime.engine.trackBackground(promise);
|
|
2995
2994
|
},
|
|
2996
2995
|
sessionUrls: (req, sessionId) =>
|
|
2997
2996
|
sessionUrlsForRequest(req, base, sessionId),
|
|
2997
|
+
hasContinuationSession: continuationToken =>
|
|
2998
|
+
runtime.engine.hasContinuationSession(channelId, continuationToken),
|
|
2999
|
+
isContinuationBusy: continuationToken =>
|
|
3000
|
+
runtime.engine.isContinuationBusy(channelId, continuationToken),
|
|
3001
|
+
getContinuationLastBotMessageTs: continuationToken =>
|
|
3002
|
+
runtime.engine.getContinuationLastBotMessageTs(
|
|
3003
|
+
channelId,
|
|
3004
|
+
continuationToken
|
|
3005
|
+
),
|
|
3006
|
+
interruptContinuation: continuationToken =>
|
|
3007
|
+
runtime.engine.interruptContinuation(channelId, continuationToken),
|
|
2998
3008
|
};
|
|
2999
3009
|
}
|
|
3000
3010
|
|
|
@@ -3120,22 +3130,10 @@ async function resolveAuth(
|
|
|
3120
3130
|
|
|
3121
3131
|
async function toFetchRequest(req: IncomingMessage): Promise<Request> {
|
|
3122
3132
|
const method = req.method ?? "GET";
|
|
3123
|
-
const hostHeader = req.headers
|
|
3133
|
+
const hostHeader = incomingRequestHost(req.headers);
|
|
3124
3134
|
const url = new URL(req.url ?? "/", `http://${hostHeader}`);
|
|
3125
|
-
|
|
3126
|
-
const headers =
|
|
3127
|
-
for (const [key, value] of Object.entries(req.headers)) {
|
|
3128
|
-
if (value === undefined) {
|
|
3129
|
-
continue;
|
|
3130
|
-
}
|
|
3131
|
-
if (Array.isArray(value)) {
|
|
3132
|
-
for (const item of value) {
|
|
3133
|
-
headers.append(key, item);
|
|
3134
|
-
}
|
|
3135
|
-
} else {
|
|
3136
|
-
headers.set(key, value);
|
|
3137
|
-
}
|
|
3138
|
-
}
|
|
3135
|
+
// Drop HTTP/2 pseudo-headers (`:method`, …) — Fetch `Headers` rejects them.
|
|
3136
|
+
const headers = incomingHeadersToFetch(req.headers);
|
|
3139
3137
|
|
|
3140
3138
|
if (method === "GET" || method === "HEAD") {
|
|
3141
3139
|
return new Request(url, { method, headers });
|
|
@@ -3192,7 +3190,7 @@ async function writeFetchResponse(
|
|
|
3192
3190
|
|
|
3193
3191
|
const reader = response.body.getReader();
|
|
3194
3192
|
let clientGone = false;
|
|
3195
|
-
const closed = new Promise<void>(
|
|
3193
|
+
const closed = new Promise<void>(resolve => {
|
|
3196
3194
|
res.once("close", () => {
|
|
3197
3195
|
if (!res.writableFinished) {
|
|
3198
3196
|
clientGone = true;
|
|
@@ -135,7 +135,7 @@ export function formatSessionCostText(report: SessionCostReport): string {
|
|
|
135
135
|
"MODEL",
|
|
136
136
|
"STATUS",
|
|
137
137
|
];
|
|
138
|
-
const rows = report.turns.map(
|
|
138
|
+
const rows = report.turns.map(turn => [
|
|
139
139
|
turn.turnId,
|
|
140
140
|
turn.usage === undefined ? "—" : formatCount(turn.usage.inputTokens),
|
|
141
141
|
turn.usage === undefined ? "—" : formatCount(turn.usage.outputTokens),
|
|
@@ -185,7 +185,7 @@ export function formatSessionsCostText(rows: SessionCostRow[]): string {
|
|
|
185
185
|
"UPDATED",
|
|
186
186
|
];
|
|
187
187
|
const totals = emptySessionCostTotals();
|
|
188
|
-
const body = rows.map(
|
|
188
|
+
const body = rows.map(row => {
|
|
189
189
|
addSessionCostTotals(totals, row.totals);
|
|
190
190
|
return [
|
|
191
191
|
row.sessionId,
|
|
@@ -221,7 +221,7 @@ function appendUnpricedNote(lines: string[], unpricedTurns: number): void {
|
|
|
221
221
|
|
|
222
222
|
function renderTable(header: string[], rows: string[][]): string {
|
|
223
223
|
const widths = header.map((h, i) =>
|
|
224
|
-
Math.max(h.length, ...rows.map(
|
|
224
|
+
Math.max(h.length, ...rows.map(row => (row[i] ?? "").length))
|
|
225
225
|
);
|
|
226
226
|
const renderRow = (row: string[]): string =>
|
|
227
227
|
row
|