@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/dist/internal/server.js
CHANGED
|
@@ -44,6 +44,7 @@ import { CURSOR_GITLAB_PROJECTS_HEADER, } from "../channels/gitlab/api.js";
|
|
|
44
44
|
import { getGitLabCursorAccountRuntime, resolveCursorGitLabProxyUrl, } from "../channels/gitlab/cursor-account.js";
|
|
45
45
|
import { getOriginCursorAccountRuntime, parseCursorOriginRepoScope, } from "../channels/origin/cursor-account.js";
|
|
46
46
|
import { findOriginChannelTargets } from "../channels/origin/origin-channel.js";
|
|
47
|
+
import { appendSlackQuietHint } from "../channels/slack/agentic-posted.js";
|
|
47
48
|
import { allowAll, bearerAuth, localDevStrict } from "../channels.js";
|
|
48
49
|
import { invokeChannelRoute } from "./channel-route-dispatch.js";
|
|
49
50
|
import { selectConversationMirror } from "./conversation-mirror.js";
|
|
@@ -67,6 +68,7 @@ import { HOSTED_DELIVERY_HEADER, HOSTED_GUEST_RETRY_TERMINAL, hostedGuestErrorRe
|
|
|
67
68
|
import { hostedErrorStackSnippet } from "./hosted-execution-diag.js";
|
|
68
69
|
import { flushHostedExecutionProcessDeath } from "./hosted-execution-flush.js";
|
|
69
70
|
import { buildHttpChannelRoutes, errorResponse, jsonResponse, readJsonObject, requireSessionOwner, } from "./http-channel.js";
|
|
71
|
+
import { incomingHeadersToFetch, incomingRequestHost, } from "./incoming-headers-to-fetch.js";
|
|
70
72
|
import { DEFAULT_SERVE_PORT, listenHttpServer } from "./listen-port.js";
|
|
71
73
|
import { createLocalControlPlane, } from "./local-control-plane.js";
|
|
72
74
|
import { createLogRing } from "./log-ring.js";
|
|
@@ -98,7 +100,7 @@ import { flushLocalStartLog, selectStartLogStore } from "./start-log-store.js";
|
|
|
98
100
|
import { catalogDetailEntry, catalogListEntry } from "./tool-catalog.js";
|
|
99
101
|
function memoryHealthFields(engines) {
|
|
100
102
|
return collectMemoryHealthFields({
|
|
101
|
-
eventLog: () => sumEventLogStats(engines.map(
|
|
103
|
+
eventLog: () => sumEventLogStats(engines.map(engine => engine.eventLogMemoryStats())),
|
|
102
104
|
});
|
|
103
105
|
}
|
|
104
106
|
const MAX_BODY_BYTES = 32 * 1024 * 1024;
|
|
@@ -108,14 +110,14 @@ const ARTIFACTS_LIST_MAX_LIMIT = 1000;
|
|
|
108
110
|
function localControlPlaneRoute(runtimes) {
|
|
109
111
|
for (const runtime of runtimes) {
|
|
110
112
|
if (runtime.controlPlane !== undefined) {
|
|
111
|
-
return
|
|
113
|
+
return input => runtime.controlPlane.routeContinuation(input);
|
|
112
114
|
}
|
|
113
115
|
}
|
|
114
116
|
return undefined;
|
|
115
117
|
}
|
|
116
118
|
function firstLocalControlPlane(runtimes) {
|
|
117
119
|
var _a;
|
|
118
|
-
return (_a = runtimes.find(
|
|
120
|
+
return (_a = runtimes.find(runtime => runtime.controlPlane !== undefined)) === null || _a === void 0 ? void 0 : _a.controlPlane;
|
|
119
121
|
}
|
|
120
122
|
function isV2Project(project) {
|
|
121
123
|
return project.agent.architecture === "v2";
|
|
@@ -137,7 +139,7 @@ export function startServer(mounts_1) {
|
|
|
137
139
|
for (const { slug, project } of mounts) {
|
|
138
140
|
if (hasErrorDiagnostics(project)) {
|
|
139
141
|
const label = slug === "" ? project.name : `${slug} (${project.name})`;
|
|
140
|
-
throw new Error(`Refusing to serve agent ${label} — it has errors:\n${formatDiagnostics(project.diagnostics.filter(
|
|
142
|
+
throw new Error(`Refusing to serve agent ${label} — it has errors:\n${formatDiagnostics(project.diagnostics.filter(d => d.severity === "error"))}`);
|
|
141
143
|
}
|
|
142
144
|
}
|
|
143
145
|
const logRing = createLogRing({ capacity: 2000 });
|
|
@@ -146,14 +148,14 @@ export function startServer(mounts_1) {
|
|
|
146
148
|
const playground = (_j = options.playground) !== null && _j !== void 0 ? _j : true;
|
|
147
149
|
const hosted = options;
|
|
148
150
|
const noControlPlane = hosted.noControlPlane === true;
|
|
149
|
-
const scmProxyRequested = hosted.cursorScmProxy === true
|
|
151
|
+
const scmProxyRequested = hosted.cursorScmProxy === true;
|
|
150
152
|
const runSchedules = (_k = options.schedules) !== null && _k !== void 0 ? _k : !dev;
|
|
151
153
|
const runReminders = (_l = options.reminders) !== null && _l !== void 0 ? _l : !dev;
|
|
152
154
|
// CURSOR_AGENTKIT_VERSION is still the env the SDK reads when building
|
|
153
155
|
// its client-version header (wire prefix remains `agentkit-`). Setting it
|
|
154
156
|
// here makes the internal-only agentkit_enabled gate apply to every turn.
|
|
155
157
|
(_m = (_7 = process.env).CURSOR_AGENTKIT_VERSION) !== null && _m !== void 0 ? _m : (_7.CURSOR_AGENTKIT_VERSION = packageVersion());
|
|
156
|
-
const authoredOtel = pickAuthoredOtel(mounts.map(
|
|
158
|
+
const authoredOtel = pickAuthoredOtel(mounts.map(m => ({
|
|
157
159
|
slug: m.slug,
|
|
158
160
|
name: m.project.name,
|
|
159
161
|
otel: m.project.otel,
|
|
@@ -203,8 +205,8 @@ export function startServer(mounts_1) {
|
|
|
203
205
|
noControlPlane,
|
|
204
206
|
config: effectiveCursorEvents,
|
|
205
207
|
auth: cursorEventsAuth,
|
|
206
|
-
v1Mounts: mounts.filter(
|
|
207
|
-
v2Mounts: mounts.filter(
|
|
208
|
+
v1Mounts: mounts.filter(mount => !isV2Project(mount.project)),
|
|
209
|
+
v2Mounts: mounts.filter(mount => isV2Project(mount.project)),
|
|
208
210
|
githubRepos: (_q = (_c = cursorGithubConfig.cursorEvents) === null || _c === void 0 ? void 0 : _c.repos) !== null && _q !== void 0 ? _q : [],
|
|
209
211
|
originRepos: (_r = cursorOriginScope === null || cursorOriginScope === void 0 ? void 0 : cursorOriginScope.repos) !== null && _r !== void 0 ? _r : [],
|
|
210
212
|
});
|
|
@@ -449,7 +451,7 @@ export function startServer(mounts_1) {
|
|
|
449
451
|
// the /v0/grokbot session API; the SDK side is a thin remote client. The
|
|
450
452
|
// dispatching runner is only interposed when a mount needs it. An
|
|
451
453
|
// injected test runner receives every turn, grokbot included.
|
|
452
|
-
const hasGrokBotMounts = mounts.some(
|
|
454
|
+
const hasGrokBotMounts = mounts.some(mount => mount.project.agent.runtime === "grokbot");
|
|
453
455
|
// Fail closed like cursor-account GitHub/MCP: grokbot turns execute on the
|
|
454
456
|
// signed-in account's hosted computer, so anonymous admission needs its
|
|
455
457
|
// own opt-in.
|
|
@@ -568,9 +570,9 @@ export function startServer(mounts_1) {
|
|
|
568
570
|
const useReminderCpProtocol = architecture === "v2";
|
|
569
571
|
const localControlPlane = noControlPlane
|
|
570
572
|
? undefined
|
|
571
|
-
: yield createLocalControlPlane(Object.assign(Object.assign({ fireSchedule:
|
|
573
|
+
: yield createLocalControlPlane(Object.assign(Object.assign({ fireSchedule: name => scheduleRunner.dispatch(name) }, (useReminderCpProtocol
|
|
572
574
|
? {
|
|
573
|
-
executeReminder:
|
|
575
|
+
executeReminder: descriptor => reminderRunner.executeFire(descriptor),
|
|
574
576
|
}
|
|
575
577
|
: {
|
|
576
578
|
fireReminder: (id, fireCount) => reminderRunner.dispatch(id, {
|
|
@@ -604,19 +606,19 @@ export function startServer(mounts_1) {
|
|
|
604
606
|
// boot and makes /v1/dev/evals complete from the first request).
|
|
605
607
|
yield evalRuns.hydrate();
|
|
606
608
|
engine.setReminders({
|
|
607
|
-
create:
|
|
608
|
-
list:
|
|
609
|
+
create: input => reminderRunner.create(input),
|
|
610
|
+
list: filter => reminderRunner.list(filter),
|
|
609
611
|
cancel: (id, reason) => reminderRunner.cancel(id, reason),
|
|
610
612
|
cancelForContinuation: (token, reason) => reminderRunner.cancelForContinuation(token, reason),
|
|
611
613
|
rekeyContinuation: (channelId, oldToken, newToken) => reminderRunner.rekeyContinuation(channelId, oldToken, newToken),
|
|
612
|
-
dispatch:
|
|
614
|
+
dispatch: id => reminderRunner.dispatch(id),
|
|
613
615
|
});
|
|
614
616
|
engine.setEvals({
|
|
615
617
|
list: () => evalRuns.list(),
|
|
616
|
-
get:
|
|
618
|
+
get: runId => evalRuns.get(runId),
|
|
617
619
|
listRunsWithActive: () => evalRuns.listRunsWithActive(),
|
|
618
|
-
start:
|
|
619
|
-
cancel:
|
|
620
|
+
start: input => evalRuns.start(input),
|
|
621
|
+
cancel: runId => evalRuns.cancel(runId),
|
|
620
622
|
});
|
|
621
623
|
const runtime = Object.assign(Object.assign({ slug,
|
|
622
624
|
project,
|
|
@@ -654,20 +656,20 @@ export function startServer(mounts_1) {
|
|
|
654
656
|
const startArgs = {
|
|
655
657
|
send: (message, sendOptions) => engine.send(channel.id, message, sendOptions),
|
|
656
658
|
architecture: project.agent.architecture,
|
|
657
|
-
getSession:
|
|
659
|
+
getSession: sessionId => engine.getChannelSession(channel.id, sessionId),
|
|
658
660
|
receive: (target, input) => engine.receive(target, input),
|
|
659
661
|
callTool: (toolName, input, callOptions) => engine.callTool(toolName, input, callOptions),
|
|
660
662
|
emitAssistantMessage: (sessionId, text) => engine.emitAssistantMessage(sessionId, text),
|
|
661
663
|
host: engine.host,
|
|
662
|
-
waitUntil:
|
|
664
|
+
waitUntil: promise => {
|
|
663
665
|
engine.trackBackground(promise);
|
|
664
666
|
},
|
|
665
667
|
resolveApproval: (sessionId, callId, decision, auth) => engine.resolveApproval(sessionId, callId, decision, auth),
|
|
666
668
|
resolveAuth: (sessionId, callId, decision, auth) => engine.resolveAuth(sessionId, callId, decision, auth),
|
|
667
|
-
hasContinuationSession:
|
|
668
|
-
isContinuationBusy:
|
|
669
|
-
getContinuationLastBotMessageTs:
|
|
670
|
-
interruptContinuation:
|
|
669
|
+
hasContinuationSession: continuationToken => engine.hasContinuationSession(channel.id, continuationToken),
|
|
670
|
+
isContinuationBusy: continuationToken => engine.isContinuationBusy(channel.id, continuationToken),
|
|
671
|
+
getContinuationLastBotMessageTs: continuationToken => engine.getContinuationLastBotMessageTs(channel.id, continuationToken),
|
|
672
|
+
interruptContinuation: continuationToken => engine.interruptContinuation(channel.id, continuationToken),
|
|
671
673
|
logger,
|
|
672
674
|
artifacts: engine.artifacts,
|
|
673
675
|
};
|
|
@@ -721,7 +723,7 @@ export function startServer(mounts_1) {
|
|
|
721
723
|
handler: () => jsonResponse(Object.assign({ ok: true, agents: runtimes.map(({ slug, project }) => ({
|
|
722
724
|
slug,
|
|
723
725
|
name: project.name,
|
|
724
|
-
})) }, memoryHealthFields(runtimes.map(
|
|
726
|
+
})) }, memoryHealthFields(runtimes.map(runtime => runtime.engine)))),
|
|
725
727
|
});
|
|
726
728
|
}
|
|
727
729
|
// Orienting `/` for every layout (single empty-slug and multi).
|
|
@@ -755,24 +757,24 @@ export function startServer(mounts_1) {
|
|
|
755
757
|
// so this route is not a public unsigned endpoint. Agents decide whether
|
|
756
758
|
// to run via their onPullRequest / onComment / … hooks.
|
|
757
759
|
const collectGitHubTargetsFrom = (selected) => collectGitHubTriggerTargets({
|
|
758
|
-
mounts: selected.map(
|
|
760
|
+
mounts: selected.map(runtime => ({
|
|
759
761
|
slug: runtime.slug,
|
|
760
762
|
channels: runtime.project.channels,
|
|
761
|
-
buildHandlerArgs:
|
|
763
|
+
buildHandlerArgs: channelId => buildChannelHandlerArgs({ runtime, channelId }),
|
|
762
764
|
})),
|
|
763
765
|
});
|
|
764
766
|
const collectOriginTargetsFrom = (selected) => collectOriginTriggerTargets({
|
|
765
|
-
mounts: selected.map(
|
|
767
|
+
mounts: selected.map(runtime => ({
|
|
766
768
|
slug: runtime.slug,
|
|
767
769
|
channels: runtime.project.channels,
|
|
768
|
-
buildHandlerArgs:
|
|
770
|
+
buildHandlerArgs: channelId => buildChannelHandlerArgs({ runtime, channelId }),
|
|
769
771
|
})),
|
|
770
772
|
});
|
|
771
773
|
const collectGitHubTargets = () => collectGitHubTargetsFrom(runtimes);
|
|
772
|
-
const v1Runtimes = runtimes.filter(
|
|
773
|
-
const v2Runtimes = runtimes.filter(
|
|
774
|
-
const v1Mounts = mounts.filter(
|
|
775
|
-
const v2Mounts = mounts.filter(
|
|
774
|
+
const v1Runtimes = runtimes.filter(runtime => !isV2Project(runtime.project));
|
|
775
|
+
const v2Runtimes = runtimes.filter(runtime => isV2Project(runtime.project));
|
|
776
|
+
const v1Mounts = mounts.filter(mount => !isV2Project(mount.project));
|
|
777
|
+
const v2Mounts = mounts.filter(mount => isV2Project(mount.project));
|
|
776
778
|
router.add({
|
|
777
779
|
method: "POST",
|
|
778
780
|
pattern: "/v1/webhooks/github",
|
|
@@ -874,14 +876,14 @@ export function startServer(mounts_1) {
|
|
|
874
876
|
if (accountBridge !== undefined && accountRefs !== undefined) {
|
|
875
877
|
const bridge = accountBridge;
|
|
876
878
|
runtime.engine.setCursorAccountAuthProbe((connection) => __awaiter(this, void 0, void 0, function* () {
|
|
877
|
-
const ref = accountRefs.find(
|
|
879
|
+
const ref = accountRefs.find(entry => entry.name === connection);
|
|
878
880
|
if (ref === undefined) {
|
|
879
881
|
return undefined;
|
|
880
882
|
}
|
|
881
883
|
return yield bridge.probeAuthUrl(ref);
|
|
882
884
|
}));
|
|
883
885
|
}
|
|
884
|
-
const hasServerTools = runtime.project.agent.tools.some(
|
|
886
|
+
const hasServerTools = runtime.project.agent.tools.some(tool => tool.execution === "server");
|
|
885
887
|
// Host-bridged connections ride the same endpoint as server tools, so
|
|
886
888
|
// the cloud tools connection is set whenever either needs it.
|
|
887
889
|
const bridgeableNames = runtime.engine.cloudBridgeableConnectionNames();
|
|
@@ -924,7 +926,7 @@ export function startServer(mounts_1) {
|
|
|
924
926
|
runtime.evalRuns.loopbackUrl =
|
|
925
927
|
runtime.slug === "" ? url : `${url}/${runtime.slug}`;
|
|
926
928
|
}
|
|
927
|
-
const runtimeBySlug = new Map(runtimes.map(
|
|
929
|
+
const runtimeBySlug = new Map(runtimes.map(r => [r.slug, r]));
|
|
928
930
|
// --dev: spawn Vite HMR. Single-agent infers the slug base; multi-agent
|
|
929
931
|
// serves `/<slug>/playground` on the HMR origin (optional AGENT_SERVE_BASE
|
|
930
932
|
// pins one slug at the HMR root instead).
|
|
@@ -1011,7 +1013,7 @@ export function startServer(mounts_1) {
|
|
|
1011
1013
|
var _b;
|
|
1012
1014
|
if (sessionRunLog !== undefined) {
|
|
1013
1015
|
yield flushHostedExecutionProcessDeath({
|
|
1014
|
-
flushProcessDeath:
|
|
1016
|
+
flushProcessDeath: reason => sessionRunLog.flushProcessDeath(reason),
|
|
1015
1017
|
flushStartLog,
|
|
1016
1018
|
startLogId: lastStartLogId,
|
|
1017
1019
|
reason: "process_exit",
|
|
@@ -1043,7 +1045,7 @@ export function startServer(mounts_1) {
|
|
|
1043
1045
|
server.close();
|
|
1044
1046
|
server.closeAllConnections();
|
|
1045
1047
|
try {
|
|
1046
|
-
yield Promise.all(runtimes.map(
|
|
1048
|
+
yield Promise.all(runtimes.map(runtime => runtime.engine.close()));
|
|
1047
1049
|
}
|
|
1048
1050
|
finally {
|
|
1049
1051
|
cursorGithubCredentials === null || cursorGithubCredentials === void 0 ? void 0 : cursorGithubCredentials.stop();
|
|
@@ -1070,7 +1072,7 @@ function mountAgentRoutes(router, runtime, args) {
|
|
|
1070
1072
|
// loopback-only + per-boot bearer secret, never on the public auth chain.
|
|
1071
1073
|
if (args.accountBridge !== undefined && args.accountRefs !== undefined) {
|
|
1072
1074
|
const bridge = args.accountBridge;
|
|
1073
|
-
const refByName = new Map(args.accountRefs.map(
|
|
1075
|
+
const refByName = new Map(args.accountRefs.map(ref => [ref.name, ref]));
|
|
1074
1076
|
router.add({
|
|
1075
1077
|
method: "POST",
|
|
1076
1078
|
pattern: `${base}${cursorAccountMcpPath(":connection")}`,
|
|
@@ -1081,7 +1083,7 @@ function mountAgentRoutes(router, runtime, args) {
|
|
|
1081
1083
|
if (ref === undefined) {
|
|
1082
1084
|
return errorResponse(404, "not_found", `No Cursor account MCP connection named "${(_b = ctx.params.connection) !== null && _b !== void 0 ? _b : ""}" on this agent.`);
|
|
1083
1085
|
}
|
|
1084
|
-
return bridge.handle(request, ref);
|
|
1086
|
+
return bridge.handle(request, ref, appendSlackQuietHint);
|
|
1085
1087
|
},
|
|
1086
1088
|
});
|
|
1087
1089
|
}
|
|
@@ -1093,7 +1095,7 @@ function mountAgentRoutes(router, runtime, args) {
|
|
|
1093
1095
|
const httpAuth = (_a = project.httpChannel.auth) !== null && _a !== void 0 ? _a : defaultAuth;
|
|
1094
1096
|
// Temporal posts this marker on a direct pod port-token fetch. The alias
|
|
1095
1097
|
// proxy strips it, so webhook/playground tokens cannot present it.
|
|
1096
|
-
const platformTimerFireAuth =
|
|
1098
|
+
const platformTimerFireAuth = request => {
|
|
1097
1099
|
if (request.headers.get("x-agent-serve-timed-work") === "1") {
|
|
1098
1100
|
return {
|
|
1099
1101
|
authenticator: "app",
|
|
@@ -1138,7 +1140,7 @@ function mountAgentRoutes(router, runtime, args) {
|
|
|
1138
1140
|
reminderId: descriptor.id,
|
|
1139
1141
|
outcome: "fired",
|
|
1140
1142
|
};
|
|
1141
|
-
}), drainSessionDurability:
|
|
1143
|
+
}), drainSessionDurability: sessionId => engine.drainSessionDurability(sessionId), flushOtel: args.flushOtel }, (args.diagStateRoot === undefined
|
|
1142
1144
|
? {}
|
|
1143
1145
|
: { stateRoot: args.diagStateRoot })), (sessionRunLog === undefined
|
|
1144
1146
|
? {}
|
|
@@ -1166,7 +1168,7 @@ function mountAgentRoutes(router, runtime, args) {
|
|
|
1166
1168
|
method: "GET",
|
|
1167
1169
|
pattern: `${base}${mcpOauthServeCallbackPath()}`,
|
|
1168
1170
|
auth: "none",
|
|
1169
|
-
handler:
|
|
1171
|
+
handler: request => engine.oauthCallbackHub.handleCallback(request),
|
|
1170
1172
|
});
|
|
1171
1173
|
router.add({
|
|
1172
1174
|
method: "GET",
|
|
@@ -1226,7 +1228,7 @@ function mountAgentRoutes(router, runtime, args) {
|
|
|
1226
1228
|
method: "GET",
|
|
1227
1229
|
pattern: `${base}/v1/logs`,
|
|
1228
1230
|
auth: httpAuth,
|
|
1229
|
-
handler:
|
|
1231
|
+
handler: request => {
|
|
1230
1232
|
var _a;
|
|
1231
1233
|
var _b;
|
|
1232
1234
|
const url = new URL(request.url);
|
|
@@ -1728,9 +1730,9 @@ function mountAgentRoutes(router, runtime, args) {
|
|
|
1728
1730
|
const reminderId = (_a = ctx.params.reminderId) !== null && _a !== void 0 ? _a : "";
|
|
1729
1731
|
try {
|
|
1730
1732
|
const listed = yield reminderRunner.list();
|
|
1731
|
-
const reminder = listed.find(
|
|
1733
|
+
const reminder = listed.find(r => r.id === reminderId);
|
|
1732
1734
|
if (reminder === undefined) {
|
|
1733
|
-
const ids = listed.map(
|
|
1735
|
+
const ids = listed.map(r => r.id);
|
|
1734
1736
|
throw new UnknownReminderError(reminderId, ids);
|
|
1735
1737
|
}
|
|
1736
1738
|
const ownership = yield assertReminderReadable({
|
|
@@ -1841,17 +1843,17 @@ function collectCursorEventSubscriptions(input) {
|
|
|
1841
1843
|
const githubTargets = findGitHubChannelTargets(input.mounts);
|
|
1842
1844
|
const originTargets = findOriginChannelTargets(input.mounts);
|
|
1843
1845
|
const githubEvents = [
|
|
1844
|
-
...new Set(githubTargets.flatMap(
|
|
1846
|
+
...new Set(githubTargets.flatMap(target => target.events)),
|
|
1845
1847
|
];
|
|
1846
1848
|
const originEvents = [
|
|
1847
|
-
...new Set(originTargets.flatMap(
|
|
1849
|
+
...new Set(originTargets.flatMap(target => target.events)),
|
|
1848
1850
|
];
|
|
1849
1851
|
const githubRepos = [
|
|
1850
|
-
...new Set(input.githubRepos.map(
|
|
1851
|
-
].filter(
|
|
1852
|
+
...new Set(input.githubRepos.map(repo => repo.trim().toLowerCase())),
|
|
1853
|
+
].filter(repo => repo.length > 0);
|
|
1852
1854
|
const originRepos = [
|
|
1853
|
-
...new Set(input.originRepos.map(
|
|
1854
|
-
].filter(
|
|
1855
|
+
...new Set(input.originRepos.map(repo => repo.trim().toLowerCase())),
|
|
1856
|
+
].filter(repo => repo.length > 0);
|
|
1855
1857
|
const subscriptions = [];
|
|
1856
1858
|
if (githubEvents.length > 0 && githubRepos.length > 0) {
|
|
1857
1859
|
for (const repo of githubRepos) {
|
|
@@ -1915,8 +1917,8 @@ function startCursorEventRelay(input) {
|
|
|
1915
1917
|
else if (input.lane === "control-plane") {
|
|
1916
1918
|
return undefined;
|
|
1917
1919
|
}
|
|
1918
|
-
else if (input.githubRepos.every(
|
|
1919
|
-
input.originRepos.every(
|
|
1920
|
+
else if (input.githubRepos.every(repo => repo.trim() === "") &&
|
|
1921
|
+
input.originRepos.every(repo => repo.trim() === "")) {
|
|
1920
1922
|
logger("[agent-sdk] cursor-events: no repos configured (pass --repo owner/name); relay disabled");
|
|
1921
1923
|
}
|
|
1922
1924
|
else {
|
|
@@ -1933,7 +1935,7 @@ function startCursorEventRelay(input) {
|
|
|
1933
1935
|
logger,
|
|
1934
1936
|
dispatch: (event) => __awaiter(this, void 0, void 0, function* () {
|
|
1935
1937
|
if (event.provider === "origin") {
|
|
1936
|
-
const targets = input.collectOriginTargets().filter(
|
|
1938
|
+
const targets = input.collectOriginTargets().filter(target => {
|
|
1937
1939
|
const cursorAccount = target.options.cursorAccount;
|
|
1938
1940
|
if (input.cursorAccountOnly &&
|
|
1939
1941
|
cursorAccount !== true &&
|
|
@@ -1942,7 +1944,7 @@ function startCursorEventRelay(input) {
|
|
|
1942
1944
|
}
|
|
1943
1945
|
return typeof cursorAccount !== "object"
|
|
1944
1946
|
? true
|
|
1945
|
-
: cursorAccount.repos.some(
|
|
1947
|
+
: cursorAccount.repos.some(repo => repo.toLowerCase() === event.repo.toLowerCase());
|
|
1946
1948
|
});
|
|
1947
1949
|
const result = yield handleAgentServeTrigger(Object.assign({ type: "origin", bodyText: JSON.stringify(scmMetadataToOriginPayload(event)), targets }, (input.routeContinuation === undefined
|
|
1948
1950
|
? {}
|
|
@@ -1952,7 +1954,7 @@ function startCursorEventRelay(input) {
|
|
|
1952
1954
|
}
|
|
1953
1955
|
if (event.provider !== "github")
|
|
1954
1956
|
return;
|
|
1955
|
-
const targets = input.collectGitHubTargets().filter(
|
|
1957
|
+
const targets = input.collectGitHubTargets().filter(target => {
|
|
1956
1958
|
const cursorAccount = target.options.cursorAccount;
|
|
1957
1959
|
if (input.cursorAccountOnly &&
|
|
1958
1960
|
cursorAccount !== true &&
|
|
@@ -1961,7 +1963,7 @@ function startCursorEventRelay(input) {
|
|
|
1961
1963
|
}
|
|
1962
1964
|
return typeof cursorAccount !== "object"
|
|
1963
1965
|
? true
|
|
1964
|
-
: cursorAccount.repos.some(
|
|
1966
|
+
: cursorAccount.repos.some(repo => repo.toLowerCase() === event.repo.toLowerCase());
|
|
1965
1967
|
});
|
|
1966
1968
|
const result = yield handleAgentServeTrigger(Object.assign({ type: "github", bodyText: JSON.stringify(scmEventToGitHubPayload(event)), eventName: event.eventName, deliveryId: event.deliveryId, targets }, (input.routeContinuation === undefined
|
|
1967
1969
|
? {}
|
|
@@ -1978,9 +1980,9 @@ function startCursorEventRelay(input) {
|
|
|
1978
1980
|
}
|
|
1979
1981
|
function logCursorScmDispatch(logger, event, result) {
|
|
1980
1982
|
const outcomes = result.targets
|
|
1981
|
-
.map(
|
|
1983
|
+
.map(target => formatCursorScmDispatchOutcome(target))
|
|
1982
1984
|
.join(", ");
|
|
1983
|
-
const rejected = result.targets.filter(
|
|
1985
|
+
const rejected = result.targets.filter(target => target.status >= 400);
|
|
1984
1986
|
if (rejected.length > 0) {
|
|
1985
1987
|
logger(`[agent-sdk] cursor-events: dropped ${formatCursorScmEventLog(event)} before hook: ${rejected.map(formatCursorScmDispatchOutcome).join(", ")}`);
|
|
1986
1988
|
}
|
|
@@ -2022,7 +2024,7 @@ function resolveCursorGithubEventConfig(input) {
|
|
|
2022
2024
|
}
|
|
2023
2025
|
const repos = [
|
|
2024
2026
|
...((_b = (_a = input.configured) === null || _a === void 0 ? void 0 : _a.repos) !== null && _b !== void 0 ? _b : []),
|
|
2025
|
-
...input.targets.flatMap(
|
|
2027
|
+
...input.targets.flatMap(target => { var _a; var _b; return [
|
|
2026
2028
|
...((_b = (_a = target.accountRuntime.scope) === null || _a === void 0 ? void 0 : _a.repos) !== null && _b !== void 0 ? _b : []),
|
|
2027
2029
|
]; }),
|
|
2028
2030
|
];
|
|
@@ -2065,10 +2067,10 @@ function resolveCursorOriginRepoScope(input) {
|
|
|
2065
2067
|
if (input.targets.length === 0) {
|
|
2066
2068
|
return undefined;
|
|
2067
2069
|
}
|
|
2068
|
-
const wantsHostRepos = input.targets.some(
|
|
2070
|
+
const wantsHostRepos = input.targets.some(target => target.accountRuntime.options.cursorAccount === true);
|
|
2069
2071
|
const repos = [
|
|
2070
2072
|
...(wantsHostRepos ? input.explicitRepos : []),
|
|
2071
|
-
...input.targets.flatMap(
|
|
2073
|
+
...input.targets.flatMap(target => { var _a; var _b; return (_b = (_a = target.accountRuntime.scope) === null || _a === void 0 ? void 0 : _a.repos) !== null && _b !== void 0 ? _b : []; }),
|
|
2072
2074
|
];
|
|
2073
2075
|
if (repos.length === 0) {
|
|
2074
2076
|
return undefined;
|
|
@@ -2079,7 +2081,7 @@ function buildAgentIndexEntries(runtimes) {
|
|
|
2079
2081
|
return runtimes.map(({ slug, project }) => {
|
|
2080
2082
|
var _a;
|
|
2081
2083
|
var _b;
|
|
2082
|
-
const hasSlack = project.channels.some(
|
|
2084
|
+
const hasSlack = project.channels.some(channel => { var _a; return ((_a = channel.definition.meta) === null || _a === void 0 ? void 0 : _a.kind) === "slack"; });
|
|
2083
2085
|
return {
|
|
2084
2086
|
slug,
|
|
2085
2087
|
name: project.name,
|
|
@@ -2111,7 +2113,7 @@ function collectCursorDeploymentTargets(runtimes) {
|
|
|
2111
2113
|
return targets;
|
|
2112
2114
|
}
|
|
2113
2115
|
function liveDeploymentSubscriptionUnion(targets) {
|
|
2114
|
-
return mergeResolvedSubscriptions(targets.map(
|
|
2116
|
+
return mergeResolvedSubscriptions(targets.map(target => resolveDeploymentSubscriptions(target.options)));
|
|
2115
2117
|
}
|
|
2116
2118
|
/**
|
|
2117
2119
|
* Cursor deployment-events relay: automatic when a mounted agent authored
|
|
@@ -2140,7 +2142,7 @@ function startCursorDeploymentRelay(input) {
|
|
|
2140
2142
|
const initial = liveDeploymentSubscriptionUnion(targets);
|
|
2141
2143
|
if (initial.length === 0) {
|
|
2142
2144
|
logger(`[agent-sdk] deployment-events: no deploy sources yet on ${targets
|
|
2143
|
-
.map(
|
|
2145
|
+
.map(target => `${target.runtime.slug || target.runtime.project.name}/${target.channelId}`)
|
|
2144
2146
|
.join(", ")}; the relay will register when a channel lists some`);
|
|
2145
2147
|
}
|
|
2146
2148
|
// Same host split as scm-events: `/v0/deployment-events/*` is on
|
|
@@ -2156,10 +2158,10 @@ function startCursorDeploymentRelay(input) {
|
|
|
2156
2158
|
return fanOutDeploymentEvent({
|
|
2157
2159
|
event,
|
|
2158
2160
|
logger,
|
|
2159
|
-
targets: targets.map(
|
|
2161
|
+
targets: targets.map(target => ({
|
|
2160
2162
|
name: `${target.runtime.slug || target.runtime.project.name}/${target.channelId}`,
|
|
2161
2163
|
subscriptions: resolveDeploymentSubscriptions(target.options),
|
|
2162
|
-
deliver:
|
|
2164
|
+
deliver: delivered => dispatchDeploymentEvent({
|
|
2163
2165
|
options: target.options,
|
|
2164
2166
|
event: delivered,
|
|
2165
2167
|
args: buildChannelHandlerArgs({
|
|
@@ -2187,13 +2189,17 @@ function buildChannelHandlerArgs(input) {
|
|
|
2187
2189
|
host: runtime.engine.host,
|
|
2188
2190
|
artifacts: runtime.engine.artifacts,
|
|
2189
2191
|
send: (message, sendOptions = {}) => runtime.engine.send(channelId, message, Object.assign(Object.assign({}, sendOptions), { auth: sendOptions.auth !== undefined ? sendOptions.auth : auth, hostedSessionId: input.hostedSessionId })),
|
|
2190
|
-
getSession:
|
|
2192
|
+
getSession: sessionId => runtime.engine.getChannelSession(channelId, sessionId),
|
|
2191
2193
|
receive: (target, inputReceive) => runtime.engine.receive(target, inputReceive),
|
|
2192
2194
|
callTool: (toolName, toolInput, callOptions) => runtime.engine.callTool(toolName, toolInput, callOptions),
|
|
2193
|
-
waitUntil:
|
|
2195
|
+
waitUntil: promise => {
|
|
2194
2196
|
runtime.engine.trackBackground(promise);
|
|
2195
2197
|
},
|
|
2196
2198
|
sessionUrls: (req, sessionId) => sessionUrlsForRequest(req, base, sessionId),
|
|
2199
|
+
hasContinuationSession: continuationToken => runtime.engine.hasContinuationSession(channelId, continuationToken),
|
|
2200
|
+
isContinuationBusy: continuationToken => runtime.engine.isContinuationBusy(channelId, continuationToken),
|
|
2201
|
+
getContinuationLastBotMessageTs: continuationToken => runtime.engine.getContinuationLastBotMessageTs(channelId, continuationToken),
|
|
2202
|
+
interruptContinuation: continuationToken => runtime.engine.interruptContinuation(channelId, continuationToken),
|
|
2197
2203
|
};
|
|
2198
2204
|
}
|
|
2199
2205
|
function handleRequest(router, req, res, logger) {
|
|
@@ -2289,24 +2295,12 @@ function resolveAuth(policies, request, requestIp) {
|
|
|
2289
2295
|
}
|
|
2290
2296
|
function toFetchRequest(req) {
|
|
2291
2297
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2292
|
-
var _a, _b
|
|
2298
|
+
var _a, _b;
|
|
2293
2299
|
const method = (_a = req.method) !== null && _a !== void 0 ? _a : "GET";
|
|
2294
|
-
const hostHeader = (
|
|
2295
|
-
const url = new URL((
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
if (value === undefined) {
|
|
2299
|
-
continue;
|
|
2300
|
-
}
|
|
2301
|
-
if (Array.isArray(value)) {
|
|
2302
|
-
for (const item of value) {
|
|
2303
|
-
headers.append(key, item);
|
|
2304
|
-
}
|
|
2305
|
-
}
|
|
2306
|
-
else {
|
|
2307
|
-
headers.set(key, value);
|
|
2308
|
-
}
|
|
2309
|
-
}
|
|
2300
|
+
const hostHeader = incomingRequestHost(req.headers);
|
|
2301
|
+
const url = new URL((_b = req.url) !== null && _b !== void 0 ? _b : "/", `http://${hostHeader}`);
|
|
2302
|
+
// Drop HTTP/2 pseudo-headers (`:method`, …) — Fetch `Headers` rejects them.
|
|
2303
|
+
const headers = incomingHeadersToFetch(req.headers);
|
|
2310
2304
|
if (method === "GET" || method === "HEAD") {
|
|
2311
2305
|
return new Request(url, { method, headers });
|
|
2312
2306
|
}
|
|
@@ -2368,7 +2362,7 @@ function writeFetchResponse(response_1, res_1) {
|
|
|
2368
2362
|
}
|
|
2369
2363
|
const reader = response.body.getReader();
|
|
2370
2364
|
let clientGone = false;
|
|
2371
|
-
const closed = new Promise(
|
|
2365
|
+
const closed = new Promise(resolve => {
|
|
2372
2366
|
res.once("close", () => {
|
|
2373
2367
|
if (!res.writableFinished) {
|
|
2374
2368
|
clientGone = true;
|
|
@@ -94,7 +94,7 @@ export function formatSessionCostText(report) {
|
|
|
94
94
|
"MODEL",
|
|
95
95
|
"STATUS",
|
|
96
96
|
];
|
|
97
|
-
const rows = report.turns.map(
|
|
97
|
+
const rows = report.turns.map(turn => { var _a; var _b; return [
|
|
98
98
|
turn.turnId,
|
|
99
99
|
turn.usage === undefined ? "—" : formatCount(turn.usage.inputTokens),
|
|
100
100
|
turn.usage === undefined ? "—" : formatCount(turn.usage.outputTokens),
|
|
@@ -135,7 +135,7 @@ export function formatSessionsCostText(rows) {
|
|
|
135
135
|
"UPDATED",
|
|
136
136
|
];
|
|
137
137
|
const totals = emptySessionCostTotals();
|
|
138
|
-
const body = rows.map(
|
|
138
|
+
const body = rows.map(row => {
|
|
139
139
|
var _a;
|
|
140
140
|
addSessionCostTotals(totals, row.totals);
|
|
141
141
|
return [
|
|
@@ -167,7 +167,7 @@ function appendUnpricedNote(lines, unpricedTurns) {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
function renderTable(header, rows) {
|
|
170
|
-
const widths = header.map((h, i) => Math.max(h.length, ...rows.map(
|
|
170
|
+
const widths = header.map((h, i) => Math.max(h.length, ...rows.map(row => { var _a; return ((_a = row[i]) !== null && _a !== void 0 ? _a : "").length; })));
|
|
171
171
|
const renderRow = (row) => row
|
|
172
172
|
.map((cell, i) => { var _a; return cell.padEnd((_a = widths[i]) !== null && _a !== void 0 ? _a : 0); })
|
|
173
173
|
.join(" ")
|
|
@@ -27,6 +27,13 @@ export { SCHEDULE_CHANNEL_PREFIX } from "./prompt-context.js";
|
|
|
27
27
|
export declare class SessionBusyError extends Error {
|
|
28
28
|
constructor(sessionId: string);
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Hosted enqueue-only admission could not coalesce into an active turn.
|
|
32
|
+
* Distinct from {@link SessionBusyError}: the caller asked not to start work.
|
|
33
|
+
*/
|
|
34
|
+
export declare class HostedEnqueueNotActiveError extends Error {
|
|
35
|
+
constructor(sessionId?: string);
|
|
36
|
+
}
|
|
30
37
|
export { SessionAuthError } from "./auth.js";
|
|
31
38
|
export declare class UnknownChannelError extends Error {
|
|
32
39
|
constructor(channelId: string);
|
|
@@ -124,6 +131,12 @@ export interface EngineSendOptions extends SendMessageOptions {
|
|
|
124
131
|
* authors cannot choose a session id through the public SendMessageOptions.
|
|
125
132
|
*/
|
|
126
133
|
hostedSessionId?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Hosted active-guest enqueue: admit only by coalescing into an already
|
|
136
|
+
* running turn. Never creates a session or starts a turn. Private host
|
|
137
|
+
* plumbing — not part of public SendMessageOptions.
|
|
138
|
+
*/
|
|
139
|
+
hostedEnqueueOnly?: boolean;
|
|
127
140
|
}
|
|
128
141
|
interface AdmitTurnOptions {
|
|
129
142
|
admission?: "preempt" | "coalesce";
|
|
@@ -133,6 +146,8 @@ interface AdmitTurnOptions {
|
|
|
133
146
|
* coalesce drain so asks that arrived during drain are not wiped.
|
|
134
147
|
*/
|
|
135
148
|
retainCoalesced?: boolean;
|
|
149
|
+
/** See {@link EngineSendOptions.hostedEnqueueOnly}. */
|
|
150
|
+
hostedEnqueueOnly?: boolean;
|
|
136
151
|
}
|
|
137
152
|
export declare class SessionEngine {
|
|
138
153
|
readonly project: AgentProject;
|
|
@@ -192,6 +207,8 @@ export declare class SessionEngine {
|
|
|
192
207
|
private readonly turnAborts;
|
|
193
208
|
/** Serializes turn admission per session (latest follow-up wins). */
|
|
194
209
|
private readonly admissionChains;
|
|
210
|
+
/** Live turn snapshot so a coalesced Slack wake can repaint on this process. */
|
|
211
|
+
private readonly liveTurns;
|
|
195
212
|
/** FIFO turn slots under `concurrency.maxRunningTurns` (unlimited when unset). */
|
|
196
213
|
private readonly turnGovernor;
|
|
197
214
|
/**
|
|
@@ -239,6 +256,8 @@ export declare class SessionEngine {
|
|
|
239
256
|
private readonly sessionRootInflight;
|
|
240
257
|
/** Per-turn `unionFs({ "/": authored, "/tmp": tempFs() })`. Dropped at end of turn. */
|
|
241
258
|
private readonly turnRoots;
|
|
259
|
+
/** In-flight `prewarmSharedWorkspace`; first turn waits so it lands hot. */
|
|
260
|
+
private sharedWarm;
|
|
242
261
|
constructor(options: SessionEngineOptions);
|
|
243
262
|
/**
|
|
244
263
|
* Attach serve-time resolved connections (peers, Cursor account bridge).
|
|
@@ -353,6 +372,11 @@ export declare class SessionEngine {
|
|
|
353
372
|
sessionId: string;
|
|
354
373
|
done: Promise<TurnOutcome>;
|
|
355
374
|
}>;
|
|
375
|
+
/**
|
|
376
|
+
* Repaint on the follow-up wake without retargeting the live turn.
|
|
377
|
+
* Persist already took the refresh; in-flight writes stay on the carrier ts.
|
|
378
|
+
*/
|
|
379
|
+
private repaintOnCoalescedRefresh;
|
|
356
380
|
/**
|
|
357
381
|
* Admit a turn for `sessionId`.
|
|
358
382
|
*
|
|
@@ -440,9 +464,16 @@ export declare class SessionEngine {
|
|
|
440
464
|
* Best effort — warming is an optimization, and a turn rebuilds on its own.
|
|
441
465
|
*/
|
|
442
466
|
prewarmSharedWorkspace(): Promise<void>;
|
|
467
|
+
private warmSharedWorkspace;
|
|
443
468
|
/** Directory that receives AGENTS.md / skills / agent tools. */
|
|
444
469
|
private scaffoldDir;
|
|
445
470
|
private executeTurn;
|
|
471
|
+
/**
|
|
472
|
+
* Run `defineResult` while the turn FS and tools are still up.
|
|
473
|
+
* `ctx.reject` re-invokes `runTurn` on this turnId until commit
|
|
474
|
+
* succeeds, throws, or the repair budget is gone.
|
|
475
|
+
*/
|
|
476
|
+
private settleAuthoredResult;
|
|
446
477
|
/**
|
|
447
478
|
* Sync authored skills onto the Agent Store at `skills/<name>/…` (hosted)
|
|
448
479
|
* or `agent-serve/<agent>/skills/<name>/…` (personal-key local+cloud)
|
|
@@ -483,6 +514,9 @@ export declare class SessionEngine {
|
|
|
483
514
|
/**
|
|
484
515
|
* Hosted deployments own the deployment store. Local `serve`/`run` with
|
|
485
516
|
* a personal API key writes into the USER store under `agent-serve/`.
|
|
517
|
+
* A persistent deployment's version container has no cloud store at all:
|
|
518
|
+
* its state directory is the durable copy, and its service-account key
|
|
519
|
+
* must not be mistaken for a personal one.
|
|
486
520
|
*/
|
|
487
521
|
private cloudStore;
|
|
488
522
|
private buildTurnRequest;
|