@cursor/july 0.1.108 → 0.1.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +3 -7
- package/README.md +3 -21
- package/dist/bin/agent-serve.js +81 -66
- package/dist/channels/bitbucket/api.d.ts +41 -0
- package/dist/channels/bitbucket/api.d.ts.map +1 -1
- package/dist/channels/bitbucket/api.js +266 -6
- package/dist/channels/bitbucket/binding.d.ts +4 -0
- package/dist/channels/bitbucket/binding.d.ts.map +1 -1
- package/dist/channels/bitbucket/binding.js +20 -4
- package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
- package/dist/channels/bitbucket/bitbucket-webhook.js +1 -1
- package/dist/channels/bitbucket/checks.d.ts.map +1 -1
- package/dist/channels/bitbucket/checks.js +1 -1
- package/dist/channels/bitbucket/cursor-account.js +1 -1
- package/dist/channels/bitbucket/events.js +1 -1
- package/dist/channels/bitbucket/index.d.ts +1 -1
- package/dist/channels/bitbucket/index.d.ts.map +1 -1
- package/dist/channels/bitbucket/index.js +1 -1
- package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
- package/dist/channels/checks.d.ts.map +1 -1
- package/dist/channels/checks.js +2 -2
- package/dist/channels/deployments/deployments-channel.js +1 -1
- package/dist/channels/github/cursor-account.js +3 -3
- package/dist/channels/github/defaults.d.ts.map +1 -1
- package/dist/channels/github/defaults.js +5 -3
- package/dist/channels/github/events.js +1 -1
- package/dist/channels/github/forward.js +8 -8
- package/dist/channels/github/github-channel.d.ts.map +1 -1
- package/dist/channels/github/github-channel.js +17 -13
- package/dist/channels/github/progress.d.ts.map +1 -1
- package/dist/channels/github/progress.js +7 -2
- package/dist/channels/github/state.d.ts +6 -0
- package/dist/channels/github/state.d.ts.map +1 -1
- package/dist/channels/github/types.d.ts +6 -0
- package/dist/channels/github/types.d.ts.map +1 -1
- package/dist/channels/gitlab/api.d.ts +27 -0
- package/dist/channels/gitlab/api.d.ts.map +1 -1
- package/dist/channels/gitlab/api.js +88 -0
- package/dist/channels/gitlab/binding.d.ts +5 -0
- package/dist/channels/gitlab/binding.d.ts.map +1 -1
- package/dist/channels/gitlab/binding.js +14 -4
- package/dist/channels/gitlab/checks.d.ts.map +1 -1
- package/dist/channels/gitlab/checks.js +1 -1
- package/dist/channels/gitlab/cursor-account.js +1 -1
- package/dist/channels/gitlab/events.js +1 -1
- package/dist/channels/gitlab/gitlab-channel.js +1 -1
- package/dist/channels/gitlab/gitlab-webhook.js +1 -1
- package/dist/channels/gitlab/index.d.ts +1 -1
- package/dist/channels/gitlab/index.d.ts.map +1 -1
- package/dist/channels/gitlab/index.js +1 -1
- package/dist/channels/gitlab/replay.js +2 -2
- package/dist/channels/origin/binding.d.ts +2 -0
- package/dist/channels/origin/binding.d.ts.map +1 -1
- package/dist/channels/origin/binding.js +3 -3
- package/dist/channels/origin/checks.d.ts +19 -7
- package/dist/channels/origin/checks.d.ts.map +1 -1
- package/dist/channels/origin/checks.js +13 -9
- package/dist/channels/origin/cursor-account.js +1 -1
- package/dist/channels/origin/defaults.d.ts.map +1 -1
- package/dist/channels/origin/defaults.js +3 -1
- package/dist/channels/origin/events.js +1 -1
- package/dist/channels/origin/origin-channel.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.js +2 -1
- package/dist/channels/origin/origin-webhook.js +2 -2
- package/dist/channels/slack/agentic-delivery.d.ts +23 -0
- package/dist/channels/slack/agentic-delivery.d.ts.map +1 -0
- package/dist/channels/slack/agentic-delivery.js +558 -0
- package/dist/channels/slack/agentic-posted.d.ts +30 -0
- package/dist/channels/slack/agentic-posted.d.ts.map +1 -0
- package/dist/channels/slack/agentic-posted.js +102 -0
- package/dist/channels/slack/agentic-signals.d.ts +48 -0
- package/dist/channels/slack/agentic-signals.d.ts.map +1 -0
- package/dist/channels/slack/agentic-signals.js +204 -0
- package/dist/channels/slack/api.d.ts +20 -1
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +43 -11
- package/dist/channels/slack/approvals.js +1 -1
- package/dist/channels/slack/auth.d.ts.map +1 -1
- package/dist/channels/slack/auth.js +3 -1
- package/dist/channels/slack/blocks.js +3 -3
- package/dist/channels/slack/bot-mentions.d.ts.map +1 -1
- package/dist/channels/slack/bot-mentions.js +5 -5
- package/dist/channels/slack/channel-watch.js +1 -1
- package/dist/channels/slack/cli-project.js +3 -3
- package/dist/channels/slack/defaults.d.ts +3 -0
- package/dist/channels/slack/defaults.d.ts.map +1 -1
- package/dist/channels/slack/defaults.js +90 -29
- package/dist/channels/slack/dispatch.d.ts +44 -1
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +233 -103
- package/dist/channels/slack/doctor.js +1 -1
- package/dist/channels/slack/eval-directive.js +1 -1
- package/dist/channels/slack/external-policy.d.ts +2 -1
- package/dist/channels/slack/external-policy.d.ts.map +1 -1
- package/dist/channels/slack/external-policy.js +13 -2
- package/dist/channels/slack/footer.d.ts +30 -0
- package/dist/channels/slack/footer.d.ts.map +1 -0
- package/dist/channels/slack/footer.js +88 -0
- package/dist/channels/slack/index.d.ts +2 -0
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +2 -0
- package/dist/channels/slack/interactive.d.ts.map +1 -1
- package/dist/channels/slack/interactive.js +5 -3
- package/dist/channels/slack/live-delivery.d.ts +1 -1
- package/dist/channels/slack/live-delivery.d.ts.map +1 -1
- package/dist/channels/slack/live-delivery.js +20 -6
- package/dist/channels/slack/log.d.ts.map +1 -1
- package/dist/channels/slack/log.js +1 -1
- package/dist/channels/slack/manifest.js +1 -1
- package/dist/channels/slack/nudge-carrier.js +1 -1
- package/dist/channels/slack/nudge-store.js +2 -2
- package/dist/channels/slack/paint-start.d.ts +22 -0
- package/dist/channels/slack/paint-start.d.ts.map +1 -0
- package/dist/channels/slack/paint-start.js +91 -0
- package/dist/channels/slack/placeholder.d.ts +36 -0
- package/dist/channels/slack/placeholder.d.ts.map +1 -0
- package/dist/channels/slack/placeholder.js +240 -0
- package/dist/channels/slack/progress-delivery.d.ts.map +1 -1
- package/dist/channels/slack/progress-delivery.js +13 -4
- package/dist/channels/slack/reasoning-chip.d.ts +8 -0
- package/dist/channels/slack/reasoning-chip.d.ts.map +1 -0
- package/dist/channels/slack/reasoning-chip.js +30 -0
- package/dist/channels/slack/recording-sink.d.ts +29 -0
- package/dist/channels/slack/recording-sink.d.ts.map +1 -0
- package/dist/channels/slack/recording-sink.js +142 -0
- package/dist/channels/slack/reply-options.d.ts +8 -1
- package/dist/channels/slack/reply-options.d.ts.map +1 -1
- package/dist/channels/slack/reply-options.js +59 -14
- package/dist/channels/slack/setup.js +1 -1
- package/dist/channels/slack/slack-channel.d.ts +12 -5
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +110 -24
- package/dist/channels/slack/socket-mode.js +2 -2
- package/dist/channels/slack/thread-context.js +5 -5
- package/dist/channels/slack/tool-approval-events.d.ts +5 -0
- package/dist/channels/slack/tool-approval-events.d.ts.map +1 -1
- package/dist/channels/slack/tool-approval-events.js +50 -38
- package/dist/channels/slack/tool-cards.js +1 -1
- package/dist/channels/slack/tool-chip.d.ts +9 -0
- package/dist/channels/slack/tool-chip.d.ts.map +1 -0
- package/dist/channels/slack/tool-chip.js +25 -0
- package/dist/channels/slack/types.d.ts +49 -7
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/channels/slack/upload.d.ts +13 -0
- package/dist/channels/slack/upload.d.ts.map +1 -0
- package/dist/channels/slack/upload.js +135 -0
- package/dist/channels.d.ts +10 -14
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +9 -21
- package/dist/dashboard-session-url.d.ts +15 -0
- package/dist/dashboard-session-url.d.ts.map +1 -0
- package/dist/dashboard-session-url.js +25 -0
- package/dist/docs/404.html +3 -3
- package/dist/docs/architecture.svg +59 -0
- package/dist/docs/assets/app.Drol6mi6.js +309 -0
- package/dist/docs/assets/{building-with-agents.md.CUSWxlP_.js → building-with-agents.md.CEGVXkmO.js} +2 -2
- package/dist/docs/assets/{building-with-agents.md.CUSWxlP_.lean.js → building-with-agents.md.CEGVXkmO.lean.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.DtXk1hy-.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.BOKxlYGP.js → VPLocalSearchBox.CdqoBZJX.js} +2 -2
- package/dist/docs/assets/chunks/arc.BVX3ycTn.js +1 -0
- package/dist/docs/assets/chunks/architectureDiagram-Q4EWVU46.CcChnMxX.js +36 -0
- package/dist/docs/assets/chunks/baseUniq.xwtXO-yt.js +1 -0
- package/dist/docs/assets/chunks/blockDiagram-DXYQGD6D.CijZ_taK.js +132 -0
- package/dist/docs/assets/chunks/c4Diagram-AHTNJAMY.0FBvwBvK.js +10 -0
- package/dist/docs/assets/chunks/channel.Bkv1N-gK.js +1 -0
- package/dist/docs/assets/chunks/chunk-4BX2VUAB.CELMmMDA.js +1 -0
- package/dist/docs/assets/chunks/chunk-4TB4RGXK.C4bhFtSm.js +206 -0
- package/dist/docs/assets/chunks/chunk-55IACEB6.ZnQ9gRRQ.js +1 -0
- package/dist/docs/assets/chunks/chunk-EDXVE4YY.DPlmglG-.js +1 -0
- package/dist/docs/assets/chunks/chunk-FMBD7UC4.BrUk8pff.js +15 -0
- package/dist/docs/assets/chunks/chunk-OYMX7WX6.CcmWIncu.js +231 -0
- package/dist/docs/assets/chunks/chunk-QZHKN3VN.D65-cs8I.js +1 -0
- package/dist/docs/assets/chunks/chunk-YZCP3GAM.qoXZpG9F.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CZDco1o8.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CZDco1o8.js +1 -0
- package/dist/docs/assets/chunks/clone.YSt_40_s.js +1 -0
- package/dist/docs/assets/chunks/cose-bilkent-S5V4N54A.8rYtqudO.js +1 -0
- package/dist/docs/assets/chunks/cytoscape.esm.BQk4lpUV.js +331 -0
- package/dist/docs/assets/chunks/dagre-KV5264BT.DrRP1fOh.js +4 -0
- package/dist/docs/assets/chunks/defaultLocale.C4B-KCzX.js +1 -0
- package/dist/docs/assets/chunks/diagram-5BDNPKRD.DHj_xA2_.js +10 -0
- package/dist/docs/assets/chunks/diagram-G4DWMVQ6.Bz_6nAKj.js +24 -0
- package/dist/docs/assets/chunks/diagram-MMDJMWI5.BWA0xSW9.js +43 -0
- package/dist/docs/assets/chunks/diagram-TYMM5635.CpTJLNJI.js +24 -0
- package/dist/docs/assets/chunks/erDiagram-SMLLAGMA.-7AWWSrP.js +85 -0
- package/dist/docs/assets/chunks/flowDiagram-DWJPFMVM.BTnQ742_.js +162 -0
- package/dist/docs/assets/chunks/framework.dypDpWZ3.js +19 -0
- package/dist/docs/assets/chunks/ganttDiagram-T4ZO3ILL.B5_HiiQ5.js +292 -0
- package/dist/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.CZcNTFZd.js +106 -0
- package/dist/docs/assets/chunks/graph.V2GLaab4.js +1 -0
- package/dist/docs/assets/chunks/infoDiagram-42DDH7IO.7pZOkCCU.js +2 -0
- package/dist/docs/assets/chunks/init.Gi6I4Gst.js +1 -0
- package/dist/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.DSMo3Qa3.js +70 -0
- package/dist/docs/assets/chunks/journeyDiagram-VCZTEJTY.BNEgWN1S.js +139 -0
- package/dist/docs/assets/chunks/kanban-definition-6JOO6SKY.B-4d4tC7.js +89 -0
- package/dist/docs/assets/chunks/katex.DkKDou_j.js +257 -0
- package/dist/docs/assets/chunks/layout.Dvbn9nSb.js +1 -0
- package/dist/docs/assets/chunks/linear.D2GM4p4b.js +1 -0
- package/dist/docs/assets/chunks/min.DVBtLK-B.js +1 -0
- package/dist/docs/assets/chunks/mindmap-definition-QFDTVHPH.CnJRI55x.js +96 -0
- package/dist/docs/assets/chunks/ordinal.DBvzRdQf.js +1 -0
- package/dist/docs/assets/chunks/pieDiagram-DEJITSTG.CtoaTFlA.js +30 -0
- package/dist/docs/assets/chunks/quadrantDiagram-34T5L4WZ.DtT24_vN.js +7 -0
- package/dist/docs/assets/chunks/requirementDiagram-MS252O5E.CjSO4o8f.js +84 -0
- package/dist/docs/assets/chunks/sankeyDiagram-XADWPNL6.-wWiIVWa.js +10 -0
- package/dist/docs/assets/chunks/sequenceDiagram-FGHM5R23.DSk8s4gX.js +157 -0
- package/dist/docs/assets/chunks/stateDiagram-FHFEXIEX.BFKAsdkN.js +1 -0
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C4CLm481.js +1 -0
- package/dist/docs/assets/chunks/{theme.DbDZW-zb.js → theme.C0MctGaz.js} +2 -2
- package/dist/docs/assets/chunks/timeline-definition-GMOUNBTQ.TUNJbAFe.js +120 -0
- package/dist/docs/assets/chunks/vennDiagram-DHZGUBPP.C-RGNnk4.js +34 -0
- package/dist/docs/assets/chunks/virtual_mermaid-config.DDnGl6nM.js +1 -0
- package/dist/docs/assets/chunks/wardley-RL74JXVD.g5efOWmT.js +162 -0
- package/dist/docs/assets/chunks/wardleyDiagram-NUSXRM2D.DH4zt73Y.js +20 -0
- package/dist/docs/assets/chunks/xychartDiagram-5P7HB3ND.B-3k6bF6.js +7 -0
- package/dist/docs/assets/{deployment.md.JenwuCCB.js → deployment.md.Dm4Qo3hp.js} +5 -5
- package/dist/docs/assets/{deployment.md.JenwuCCB.lean.js → deployment.md.Dm4Qo3hp.lean.js} +1 -1
- package/dist/docs/assets/evals.md.BLDRt5LH.js +211 -0
- package/dist/docs/assets/evals.md.BLDRt5LH.lean.js +1 -0
- package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.js +14 -0
- package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.lean.js +1 -0
- package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.js +10 -0
- package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.lean.js +1 -0
- package/dist/docs/assets/{guides_cloud-agents.md.BsloyHdY.js → guides_cloud-agents.md.lSE_l7lH.js} +2 -2
- package/dist/docs/assets/{guides_cloud-agents.md.BsloyHdY.lean.js → guides_cloud-agents.md.lSE_l7lH.lean.js} +1 -1
- package/dist/docs/assets/{guides_convert-automation.md.B4sjlodG.js → guides_convert-automation.md.Ck6Cr68A.js} +1 -1
- package/dist/docs/assets/{guides_convert-automation.md.B4sjlodG.lean.js → guides_convert-automation.md.Ck6Cr68A.lean.js} +1 -1
- package/dist/docs/assets/{guides_github.md.BH33UEBJ.js → guides_github.md.D6ER29dG.js} +13 -3
- package/dist/docs/assets/{guides_github.md.BH33UEBJ.lean.js → guides_github.md.D6ER29dG.lean.js} +1 -1
- package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.js +14 -0
- package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.lean.js +1 -0
- package/dist/docs/assets/guides_grokbot-agents.md.WBZIOvkz.js +9 -0
- package/dist/docs/assets/{guides_grokbot-agents.md.DyV-WArv.lean.js → guides_grokbot-agents.md.WBZIOvkz.lean.js} +1 -1
- package/dist/docs/assets/{guides_improve.md.BGVk32bK.js → guides_improve.md.BKaDuKKK.js} +1 -1
- package/dist/docs/assets/{guides_improve.md.BGVk32bK.lean.js → guides_improve.md.BKaDuKKK.lean.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.Dp6cDP7f.js → guides_mcp-oauth.md.DMNMpXtO.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.Dp6cDP7f.lean.js → guides_mcp-oauth.md.DMNMpXtO.lean.js} +1 -1
- package/dist/docs/assets/{guides_opentelemetry.md.SCRMskno.js → guides_opentelemetry.md._CRfDyzH.js} +14 -14
- package/dist/docs/assets/{guides_opentelemetry.md.SCRMskno.lean.js → guides_opentelemetry.md._CRfDyzH.lean.js} +1 -1
- package/dist/docs/assets/{guides_slack.md.D4RVMM4G.js → guides_slack.md.DdT8rmsj.js} +12 -4
- package/dist/docs/assets/{guides_slack.md.D4RVMM4G.lean.js → guides_slack.md.DdT8rmsj.lean.js} +1 -1
- package/dist/docs/assets/{guides_webhooks.md.DKdA43Qm.js → guides_webhooks.md.aQW10HRe.js} +3 -3
- package/dist/docs/assets/{guides_webhooks.md.DKdA43Qm.lean.js → guides_webhooks.md.aQW10HRe.lean.js} +1 -1
- package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.js +1 -0
- package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.lean.js +1 -0
- package/dist/docs/assets/index.md.BFVyY2KT.js +17 -0
- package/dist/docs/assets/index.md.BFVyY2KT.lean.js +1 -0
- package/dist/docs/assets/{quickstart.md.DdQOF7Y8.js → quickstart.md.D3MjSZN-.js} +30 -38
- package/dist/docs/assets/quickstart.md.D3MjSZN-.lean.js +1 -0
- package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.js → reference_agent-config.md.CfVA-LZJ.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.lean.js → reference_agent-config.md.CfVA-LZJ.lean.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.js → reference_artifacts.md.Vf7qyIZ-.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.lean.js → reference_artifacts.md.Vf7qyIZ-.lean.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.D-qTqwcq.js → reference_channels.md.icqLKcTc.js} +2 -12
- package/dist/docs/assets/{reference_channels.md.D-qTqwcq.lean.js → reference_channels.md.icqLKcTc.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.Ca26u0Es.js → reference_cli.md.B2dBL6L8.js} +4 -4
- package/dist/docs/assets/{reference_cli.md.Ca26u0Es.lean.js → reference_cli.md.B2dBL6L8.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.BojkC6c5.js → reference_connections.md.Cb3U_c8n.js} +4 -4
- package/dist/docs/assets/{reference_connections.md.BojkC6c5.lean.js → reference_connections.md.Cb3U_c8n.lean.js} +1 -1
- package/dist/docs/assets/{reference_extensions.md.CPWt00ds.js → reference_extensions.md.wlFD3cUR.js} +3 -3
- package/dist/docs/assets/{reference_extensions.md.CPWt00ds.lean.js → reference_extensions.md.wlFD3cUR.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.Ddt5DdgJ.js → reference_hooks.md.CZuynAxj.js} +3 -3
- package/dist/docs/assets/{reference_hooks.md.Ddt5DdgJ.lean.js → reference_hooks.md.CZuynAxj.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.oySXBO8o.js → reference_http-api.md.DTKcYE6L.js} +3 -3
- package/dist/docs/assets/{reference_http-api.md.oySXBO8o.lean.js → reference_http-api.md.DTKcYE6L.lean.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.js → reference_instructions.md.D7gkckK-.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.lean.js → reference_instructions.md.D7gkckK-.lean.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.4myJPxrf.js → reference_playground.md.D2YExv5K.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.4myJPxrf.lean.js → reference_playground.md.D2YExv5K.lean.js} +1 -1
- package/dist/docs/assets/reference_project-layout.md.DPxbUJyt.js +19 -0
- package/dist/docs/assets/{reference_project-layout.md.DuBu9a96.lean.js → reference_project-layout.md.DPxbUJyt.lean.js} +1 -1
- package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.js → reference_prompt.md.BQ5uAv1F.js} +1 -1
- package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.lean.js → reference_prompt.md.BQ5uAv1F.lean.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.js → reference_schedules.md.BasfZWO-.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.lean.js → reference_schedules.md.BasfZWO-.lean.js} +1 -1
- package/dist/docs/assets/reference_sessions.md.YKvIsWAx.js +1 -0
- package/dist/docs/assets/{reference_sessions.md.CueyOHSL.lean.js → reference_sessions.md.YKvIsWAx.lean.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.l2ezAcaN.js → reference_skills.md.rNgpsGd0.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.l2ezAcaN.lean.js → reference_skills.md.rNgpsGd0.lean.js} +1 -1
- package/dist/docs/assets/{reference_subagents.md.CfsIloPm.js → reference_subagents.md.e5qitjJt.js} +2 -2
- package/dist/docs/assets/{reference_subagents.md.CfsIloPm.lean.js → reference_subagents.md.e5qitjJt.lean.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.aGrn99hP.js → reference_tools.md.BdCO2aHZ.js} +4 -4
- package/dist/docs/assets/{reference_tools.md.aGrn99hP.lean.js → reference_tools.md.BdCO2aHZ.lean.js} +1 -1
- package/dist/docs/assets/{style.DCD_zyg3.css → style.Cfo2vbik.css} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.js → templates_agentic-owners.md.Da_AGDlH.js} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.lean.js → templates_agentic-owners.md.Da_AGDlH.lean.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.js → templates_pr-autofixer.md.DqxocIGh.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.lean.js → templates_pr-autofixer.md.DqxocIGh.lean.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.js → templates_security-reviewer.md.Bhnvd8VE.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.lean.js → templates_security-reviewer.md.Bhnvd8VE.lean.js} +1 -1
- package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.js → templates_triage.md.BdBWO9Ic.js} +1 -1
- package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.lean.js → templates_triage.md.BdBWO9Ic.lean.js} +1 -1
- package/dist/docs/assets/{troubleshooting.md.CYEAO9bM.js → troubleshooting.md.BcgNoYtJ.js} +1 -1
- package/dist/docs/assets/{troubleshooting.md.CYEAO9bM.lean.js → troubleshooting.md.BcgNoYtJ.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +41 -8
- package/dist/docs/building-with-agents.md +15 -16
- package/dist/docs/deployment.html +44 -11
- package/dist/docs/deployment.md +6 -7
- package/dist/docs/evals.html +196 -37
- package/dist/docs/evals.md +612 -297
- package/dist/docs/guides/agent-to-agent.html +48 -11
- package/dist/docs/guides/agent-to-agent.md +40 -83
- package/dist/docs/guides/bitbucket.html +69 -0
- package/dist/docs/guides/bitbucket.md +84 -0
- package/dist/docs/guides/cloud-agents.html +41 -8
- package/dist/docs/guides/cloud-agents.md +24 -20
- package/dist/docs/guides/convert-automation.html +41 -8
- package/dist/docs/guides/github.html +52 -9
- package/dist/docs/guides/github.md +32 -1
- package/dist/docs/guides/gitlab.html +73 -0
- package/dist/docs/guides/gitlab.md +92 -0
- package/dist/docs/guides/grokbot-agents.html +41 -8
- package/dist/docs/guides/grokbot-agents.md +26 -19
- package/dist/docs/guides/improve.html +41 -8
- package/dist/docs/guides/mcp-oauth.html +41 -8
- package/dist/docs/guides/mcp-oauth.md +1 -1
- package/dist/docs/guides/opentelemetry.html +53 -20
- package/dist/docs/guides/opentelemetry.md +28 -41
- package/dist/docs/guides/slack.html +51 -10
- package/dist/docs/guides/slack.md +53 -4
- package/dist/docs/guides/webhooks.html +42 -9
- package/dist/docs/guides/webhooks.md +7 -6
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +40 -10
- package/dist/docs/hillclimbing.md +7 -7
- package/dist/docs/index.html +57 -12
- package/dist/docs/index.md +81 -146
- package/dist/docs/llms-full.txt +1368 -5551
- package/dist/docs/llms.txt +6 -31
- package/dist/docs/quickstart.html +70 -45
- package/dist/docs/quickstart.md +44 -105
- package/dist/docs/reference/agent-config.html +41 -8
- package/dist/docs/reference/artifacts.html +41 -8
- package/dist/docs/reference/channels.html +41 -18
- package/dist/docs/reference/channels.md +16 -19
- package/dist/docs/reference/cli.html +43 -10
- package/dist/docs/reference/cli.md +6 -20
- package/dist/docs/reference/connections.html +43 -10
- package/dist/docs/reference/connections.md +3 -5
- package/dist/docs/reference/extensions.html +43 -10
- package/dist/docs/reference/extensions.md +2 -5
- package/dist/docs/reference/hooks.html +42 -9
- package/dist/docs/reference/hooks.md +11 -16
- package/dist/docs/reference/http-api.html +42 -9
- package/dist/docs/reference/http-api.md +6 -7
- package/dist/docs/reference/instructions.html +41 -8
- package/dist/docs/reference/playground.html +40 -7
- package/dist/docs/reference/playground.md +2 -6
- package/dist/docs/reference/project-layout.html +42 -9
- package/dist/docs/reference/project-layout.md +4 -12
- package/dist/docs/reference/prompt.html +41 -8
- package/dist/docs/reference/schedules.html +41 -8
- package/dist/docs/reference/sessions.html +40 -7
- package/dist/docs/reference/sessions.md +6 -6
- package/dist/docs/reference/skills.html +41 -8
- package/dist/docs/reference/subagents.html +41 -8
- package/dist/docs/reference/subagents.md +2 -4
- package/dist/docs/reference/tools.html +43 -10
- package/dist/docs/reference/tools.md +2 -5
- package/dist/docs/templates/agentic-owners.html +41 -8
- package/dist/docs/templates/pr-autofixer.html +41 -8
- package/dist/docs/templates/security-reviewer.html +41 -8
- package/dist/docs/templates/triage.html +41 -8
- package/dist/docs/troubleshooting.html +40 -7
- package/dist/docs/troubleshooting.md +1 -2
- package/dist/evals/assertions.js +19 -19
- package/dist/evals/expect.js +1 -1
- package/dist/evals/judge.js +1 -1
- package/dist/evals/reporters.d.ts.map +1 -1
- package/dist/evals/reporters.js +8 -8
- package/dist/evals/run-facts.js +2 -2
- package/dist/evals.d.ts +1 -1
- package/dist/evals.d.ts.map +1 -1
- package/dist/evals.js +7 -7
- package/dist/extensions/cursor-cloud-agents/extension.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +3 -3
- package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/repos.js +6 -6
- package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -2
- package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
- package/dist/extensions/improve/skills/yourself.js +1 -1
- package/dist/extensions/slack-communication/extension.d.ts +28 -0
- package/dist/extensions/slack-communication/extension.d.ts.map +1 -0
- package/dist/extensions/slack-communication/extension.js +32 -0
- package/dist/extensions/slack-communication/skills/slack-voice.d.ts +5 -0
- package/dist/extensions/slack-communication/skills/slack-voice.d.ts.map +1 -0
- package/dist/extensions/slack-communication/skills/slack-voice.js +54 -0
- package/dist/extensions/slack-communication/tools/delete-message.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/delete-message.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/delete-message.js +29 -0
- package/dist/extensions/slack-communication/tools/edit-message.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/edit-message.js +37 -0
- package/dist/extensions/slack-communication/tools/post-card.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-card.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-card.js +25 -0
- package/dist/extensions/slack-communication/tools/post-file.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-file.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-file.js +76 -0
- package/dist/extensions/slack-communication/tools/post-update.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-update.js +36 -0
- package/dist/extensions/slack-communication/tools/react.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/react.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/react.js +27 -0
- package/dist/extensions/slack-communication/tools/set-status.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/set-status.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/set-status.js +18 -0
- package/dist/extensions.d.ts +2 -3
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +2 -5
- package/dist/files-backends/cursor-hosted.d.ts +18 -6
- package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/files-backends/cursor-hosted.js +357 -74
- package/dist/files-backends/local-fs.js +1 -1
- package/dist/files.d.ts +15 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +15 -15
- package/dist/index.d.ts +6 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -8
- package/dist/internal/advertise-tools.js +6 -6
- package/dist/internal/approval-gate.js +1 -1
- package/dist/internal/artifacts-store.js +3 -3
- package/dist/internal/as-of.js +2 -2
- package/dist/internal/authored-alias-hooks.d.ts +5 -0
- package/dist/internal/authored-alias-hooks.d.ts.map +1 -1
- package/dist/internal/authored-alias-hooks.js +17 -0
- package/dist/internal/authored-loaders.d.ts +4 -0
- package/dist/internal/authored-loaders.d.ts.map +1 -1
- package/dist/internal/authored-loaders.js +21 -2
- package/dist/internal/builtin-tools/reminders.js +2 -2
- package/dist/internal/chat-client.js +5 -5
- package/dist/internal/cli-ax.d.ts +2 -2
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +69 -15
- package/dist/internal/cli-bitbucket.js +10 -10
- package/dist/internal/cli-convert-automation.js +2 -2
- package/dist/internal/cli-cursor.d.ts +3 -11
- package/dist/internal/cli-cursor.d.ts.map +1 -1
- package/dist/internal/cli-cursor.js +5 -10
- package/dist/internal/cli-deploy.d.ts +12 -2
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +328 -96
- package/dist/internal/cli-docs.js +5 -5
- package/dist/internal/cli-github.js +15 -16
- package/dist/internal/cli-gitlab.js +10 -10
- package/dist/internal/cli-manifest.js +1 -1
- package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
- package/dist/internal/cli-mcp-oauth.js +5 -5
- package/dist/internal/cli-mcp.js +3 -3
- package/dist/internal/cli-skills.js +2 -2
- package/dist/internal/cli-slack.js +5 -5
- package/dist/internal/cloud-turn-cost.js +1 -1
- package/dist/internal/continuation-channel.d.ts.map +1 -1
- package/dist/internal/continuation-channel.js +2 -2
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +22 -12
- package/dist/internal/conversation-mirror.d.ts.map +1 -1
- package/dist/internal/conversation-mirror.js +33 -2
- package/dist/internal/convert-automation/convert-workflow.js +25 -24
- package/dist/internal/convert-automation/types.d.ts +8 -0
- package/dist/internal/convert-automation/types.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.d.ts +2 -2
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +32 -27
- package/dist/internal/cursor/backend-client.d.ts +15 -10
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +17 -11
- package/dist/internal/cursor/credentials.js +1 -1
- package/dist/internal/cursor/hosted-store-secrets.d.ts +16 -0
- package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
- package/dist/internal/cursor/hosted-store-secrets.js +25 -0
- package/dist/internal/cursor-account-mcp-auth.js +9 -9
- package/dist/internal/cursor-deployment-relay.js +9 -9
- package/dist/internal/cursor-event-relay.js +10 -10
- package/dist/internal/cursor-relay-core.js +2 -2
- package/dist/internal/deploy-client.d.ts +106 -9
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +171 -23
- package/dist/internal/deploy-manifest.d.ts +13 -0
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +32 -16
- package/dist/internal/discovery/agent-config.d.ts +5 -0
- package/dist/internal/discovery/agent-config.d.ts.map +1 -1
- package/dist/internal/discovery/agent-config.js +27 -0
- package/dist/internal/discovery/agent.d.ts +1 -1
- package/dist/internal/discovery/agent.d.ts.map +1 -1
- package/dist/internal/discovery/agent.js +10 -13
- package/dist/internal/discovery/channels.js +4 -4
- package/dist/internal/discovery/connections.js +4 -4
- package/dist/internal/discovery/cursor-plugin.js +12 -12
- package/dist/internal/discovery/extension-overlay.d.ts +1 -2
- package/dist/internal/discovery/extension-overlay.d.ts.map +1 -1
- package/dist/internal/discovery/extension-overlay.js +3 -17
- package/dist/internal/discovery/extensions.d.ts +1 -2
- package/dist/internal/discovery/extensions.d.ts.map +1 -1
- package/dist/internal/discovery/extensions.js +10 -28
- package/dist/internal/discovery/info.d.ts.map +1 -1
- package/dist/internal/discovery/info.js +44 -26
- package/dist/internal/discovery/instructions.js +1 -1
- package/dist/internal/discovery/modules.js +0 -1
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +4 -20
- package/dist/internal/discovery/services.js +1 -1
- package/dist/internal/discovery/tools.js +1 -1
- package/dist/internal/docs-site.js +2 -2
- package/dist/internal/env-file.js +1 -1
- package/dist/internal/eval-run-store.d.ts.map +1 -1
- package/dist/internal/eval-run-store.js +7 -7
- package/dist/internal/eval-runner.js +14 -15
- package/dist/internal/evals-client.js +4 -4
- package/dist/internal/event-log.js +8 -8
- package/dist/internal/event-mapper.d.ts +18 -0
- package/dist/internal/event-mapper.d.ts.map +1 -1
- package/dist/internal/event-mapper.js +34 -2
- package/dist/internal/filesystem/format.d.ts.map +1 -1
- package/dist/internal/filesystem/format.js +6 -3
- package/dist/internal/filesystem/scratch.js +3 -3
- package/dist/internal/filesystem/tools.d.ts.map +1 -1
- package/dist/internal/filesystem/tools.js +6 -6
- package/dist/internal/filesystem/walk.js +1 -1
- package/dist/internal/framework-file-storage.d.ts +10 -7
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +95 -7
- package/dist/internal/framework-storage-selection.d.ts +2 -8
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +4 -13
- package/dist/internal/github-fanout.js +3 -3
- package/dist/internal/guest-network.js +4 -4
- package/dist/internal/host-files.js +1 -1
- package/dist/internal/host-kv.js +2 -2
- package/dist/internal/hosted-admission-adapter.d.ts +2 -0
- package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
- package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-catch-protocol.js +2 -4
- package/dist/internal/hosted-catch.js +1 -1
- package/dist/internal/hosted-delivery-protocol.d.ts +29 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.js +76 -8
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +201 -64
- package/dist/internal/hosted-execution-diag.js +3 -3
- package/dist/internal/hosted-execution-latency.d.ts +80 -0
- package/dist/internal/hosted-execution-latency.d.ts.map +1 -0
- package/dist/internal/hosted-execution-latency.js +220 -0
- package/dist/internal/hosting.d.ts +5 -5
- package/dist/internal/hosting.d.ts.map +1 -1
- package/dist/internal/hosting.js +5 -6
- package/dist/internal/http-channel-define.d.ts +11 -0
- package/dist/internal/http-channel-define.d.ts.map +1 -0
- package/dist/internal/http-channel-define.js +18 -0
- package/dist/internal/http-channel.d.ts +2 -3
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +3 -4
- package/dist/internal/http-control-plane-session.d.ts +7 -3
- package/dist/internal/http-control-plane-session.d.ts.map +1 -1
- package/dist/internal/http-control-plane-session.js +22 -10
- package/dist/internal/incoming-headers-to-fetch.d.ts +10 -0
- package/dist/internal/incoming-headers-to-fetch.d.ts.map +1 -0
- package/dist/internal/incoming-headers-to-fetch.js +41 -0
- package/dist/internal/init-interview.js +7 -7
- package/dist/internal/init-project.d.ts.map +1 -1
- package/dist/internal/init-project.js +14 -14
- package/dist/internal/init-scaffold.d.ts.map +1 -1
- package/dist/internal/init-scaffold.js +2 -3
- package/dist/internal/inline-stdio-mcp.js +2 -2
- package/dist/internal/install-cursor-skills.d.ts +5 -2
- package/dist/internal/install-cursor-skills.d.ts.map +1 -1
- package/dist/internal/install-cursor-skills.js +35 -15
- package/dist/internal/json-schema.js +1 -1
- package/dist/internal/local-control-plane.d.ts.map +1 -1
- package/dist/internal/local-control-plane.js +3 -3
- package/dist/internal/local-env.js +3 -3
- package/dist/internal/log-ring.js +1 -1
- package/dist/internal/logs-client.js +1 -1
- package/dist/internal/mcp-endpoint.js +8 -8
- package/dist/internal/mcp-host.js +4 -4
- package/dist/internal/mcp-oauth-on-demand.js +3 -3
- package/dist/internal/mcp-oauth.js +5 -5
- package/dist/internal/net.js +2 -2
- package/dist/internal/otel/config.js +3 -3
- package/dist/internal/otel/runtime.js +13 -13
- package/dist/internal/peer-connections.js +2 -2
- package/dist/internal/platform-schedule-sync.js +1 -1
- package/dist/internal/platform-timers.js +1 -1
- package/dist/internal/playground/static.js +2 -2
- package/dist/internal/playground/toolchain.js +2 -2
- package/dist/internal/playground-proxy.js +3 -3
- package/dist/internal/process-memory-telemetry.js +1 -1
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +7 -7
- package/dist/internal/reminder-store.js +1 -1
- package/dist/internal/request-error-status.d.ts.map +1 -1
- package/dist/internal/request-error-status.js +9 -0
- package/dist/internal/resolved-connections.js +8 -8
- package/dist/internal/result-output.d.ts +14 -2
- package/dist/internal/result-output.d.ts.map +1 -1
- package/dist/internal/result-output.js +45 -2
- package/dist/internal/router.js +4 -4
- package/dist/internal/run-client.d.ts +1 -1
- package/dist/internal/run-client.js +2 -2
- package/dist/internal/schedule-runner.js +6 -6
- package/dist/internal/scm/pr-url.d.ts +3 -1
- package/dist/internal/scm/pr-url.d.ts.map +1 -1
- package/dist/internal/scm/pr-url.js +10 -2
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +15 -16
- package/dist/internal/serve-restart.js +1 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +81 -101
- package/dist/internal/session-cost.js +3 -3
- package/dist/internal/session-engine.d.ts +39 -35
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +394 -343
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +4 -4
- package/dist/internal/session-store.d.ts +47 -3
- package/dist/internal/session-store.d.ts.map +1 -1
- package/dist/internal/session-store.js +198 -33
- package/dist/internal/sessions-client.js +3 -3
- package/dist/internal/slack-thread-key.d.ts +7 -0
- package/dist/internal/slack-thread-key.d.ts.map +1 -0
- package/dist/internal/slack-thread-key.js +10 -0
- package/dist/internal/sleep.js +1 -1
- package/dist/internal/storage-coordinator.d.ts +22 -19
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +114 -73
- package/dist/internal/storage-roles.d.ts +4 -9
- package/dist/internal/storage-roles.d.ts.map +1 -1
- package/dist/internal/storage-roles.js +2 -2
- package/dist/internal/storage.d.ts +2 -0
- package/dist/internal/storage.d.ts.map +1 -0
- package/dist/internal/storage.js +1 -0
- package/dist/internal/store-mirror.js +4 -4
- package/dist/internal/terminal-style.js +2 -2
- package/dist/internal/tool-result.js +3 -3
- package/dist/internal/trajectory.js +7 -7
- package/dist/internal/turn-governor.js +2 -2
- package/dist/internal/turn-outbox.js +1 -1
- package/dist/internal/update-check.js +2 -2
- package/dist/internal/v2-hosting.d.ts +9 -0
- package/dist/internal/v2-hosting.d.ts.map +1 -1
- package/dist/internal/v2-hosting.js +10 -0
- package/dist/internal/workspace.d.ts +13 -10
- package/dist/internal/workspace.d.ts.map +1 -1
- package/dist/internal/workspace.js +17 -16
- package/dist/kv/memory-kv.d.ts +6 -4
- package/dist/kv/memory-kv.d.ts.map +1 -1
- package/dist/kv/memory-kv.js +9 -7
- package/dist/kv.d.ts +4 -7
- package/dist/kv.d.ts.map +1 -1
- package/dist/kv.js +4 -7
- package/dist/otel-public.d.ts +7 -0
- package/dist/otel-public.d.ts.map +1 -0
- package/dist/otel-public.js +5 -0
- package/dist/otel.d.ts +7 -2
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +7 -2
- package/dist/playground/assets/index-BLlKgZtI.css +1 -0
- package/dist/playground/assets/index-CDS5p9sR.js +67 -0
- package/dist/playground/index.html +2 -2
- package/dist/prompt.js +1 -1
- package/dist/result.d.ts +10 -4
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +9 -3
- package/dist/storage-backends/cursor-hosted-v2.d.ts +4 -5
- package/dist/storage-backends/cursor-hosted-v2.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted-v2.js +6 -7
- package/dist/storage-backends/cursor-hosted.d.ts +6 -19
- package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted.js +6 -50
- package/dist/storage-backends/file-kv.d.ts +9 -12
- package/dist/storage-backends/file-kv.d.ts.map +1 -1
- package/dist/storage-backends/file-kv.js +18 -54
- package/dist/storage-protocol.d.ts +3 -11
- package/dist/storage-protocol.d.ts.map +1 -1
- package/dist/storage-protocol.js +3 -11
- package/dist/storage.d.ts +28 -38
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +15 -50
- package/dist/types.d.ts +87 -68
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -4
- package/docs/README.md +83 -148
- package/docs/building-with-agents.md +15 -16
- package/docs/deployment.md +6 -7
- package/docs/evals.md +613 -298
- package/docs/guides/agent-to-agent.md +41 -84
- package/docs/guides/bitbucket.md +89 -0
- package/docs/guides/cloud-agents.md +25 -20
- package/docs/guides/github.md +32 -1
- package/docs/guides/gitlab.md +97 -0
- package/docs/guides/grokbot-agents.md +27 -19
- package/docs/guides/mcp-oauth.md +1 -1
- package/docs/guides/opentelemetry.md +28 -41
- package/docs/guides/slack.md +53 -4
- package/docs/guides/webhooks.md +7 -6
- package/docs/hillclimbing.md +7 -7
- package/docs/quickstart.md +45 -106
- package/docs/reference/channels.md +16 -19
- package/docs/reference/cli.md +6 -20
- package/docs/reference/connections.md +3 -5
- package/docs/reference/extensions.md +2 -5
- package/docs/reference/hooks.md +11 -16
- package/docs/reference/http-api.md +6 -7
- package/docs/reference/playground.md +2 -6
- package/docs/reference/project-layout.md +4 -12
- package/docs/reference/sessions.md +6 -6
- package/docs/reference/subagents.md +2 -4
- package/docs/reference/tools.md +2 -5
- package/docs/troubleshooting.md +1 -2
- package/package.json +55 -43
- package/skills/deploy/SKILL.md +169 -0
- package/skills/evals/SKILL.md +45 -8
- package/skills/framework-map/SKILL.md +3 -4
- package/skills/otel/SKILL.md +8 -18
- package/src/bin/agent-serve.ts +93 -72
- package/src/channels/bitbucket/api.ts +347 -6
- package/src/channels/bitbucket/binding.ts +29 -4
- package/src/channels/bitbucket/bitbucket-channel.ts +1 -1
- package/src/channels/bitbucket/bitbucket-webhook.ts +1 -1
- package/src/channels/bitbucket/checks.ts +3 -4
- package/src/channels/bitbucket/cursor-account.ts +1 -1
- package/src/channels/bitbucket/events.ts +1 -1
- package/src/channels/bitbucket/index.ts +2 -0
- package/src/channels/change-monitors/change-monitors-channel.ts +2 -2
- package/src/channels/checks.ts +5 -4
- package/src/channels/deployments/deployments-channel.ts +1 -1
- package/src/channels/github/api.ts +1 -1
- package/src/channels/github/checks.ts +1 -1
- package/src/channels/github/cursor-account.ts +3 -3
- package/src/channels/github/defaults.ts +8 -4
- package/src/channels/github/events.ts +1 -1
- package/src/channels/github/forward.ts +8 -8
- package/src/channels/github/github-channel.ts +19 -2
- package/src/channels/github/progress.ts +7 -2
- package/src/channels/github/state.ts +6 -0
- package/src/channels/github/types.ts +6 -0
- package/src/channels/gitlab/api.ts +123 -0
- package/src/channels/gitlab/binding.ts +16 -4
- package/src/channels/gitlab/checks.ts +3 -4
- package/src/channels/gitlab/cursor-account.ts +1 -1
- package/src/channels/gitlab/events.ts +1 -1
- package/src/channels/gitlab/gitlab-channel.ts +1 -1
- package/src/channels/gitlab/gitlab-webhook.ts +1 -1
- package/src/channels/gitlab/index.ts +1 -0
- package/src/channels/gitlab/replay.ts +2 -2
- package/src/channels/origin/binding.ts +6 -3
- package/src/channels/origin/checks.ts +27 -17
- package/src/channels/origin/cursor-account.ts +1 -1
- package/src/channels/origin/defaults.ts +5 -1
- package/src/channels/origin/events.ts +1 -1
- package/src/channels/origin/origin-channel.ts +2 -1
- package/src/channels/origin/origin-webhook.ts +2 -2
- package/src/channels/slack/agentic-delivery.ts +659 -0
- package/src/channels/slack/agentic-posted.ts +148 -0
- package/src/channels/slack/agentic-signals.ts +248 -0
- package/src/channels/slack/api.ts +51 -11
- package/src/channels/slack/approvals.ts +1 -1
- package/src/channels/slack/attachments.ts +1 -1
- package/src/channels/slack/auth.ts +3 -1
- package/src/channels/slack/blocks.ts +3 -3
- package/src/channels/slack/bot-mentions.ts +5 -7
- package/src/channels/slack/channel-watch.ts +1 -1
- package/src/channels/slack/cli-project.ts +3 -3
- package/src/channels/slack/defaults.ts +109 -37
- package/src/channels/slack/dispatch.ts +323 -164
- package/src/channels/slack/doctor.ts +1 -1
- package/src/channels/slack/eval-directive.ts +1 -1
- package/src/channels/slack/external-policy.ts +15 -2
- package/src/channels/slack/footer.ts +108 -0
- package/src/channels/slack/index.ts +2 -0
- package/src/channels/slack/interactive.ts +4 -2
- package/src/channels/slack/live-delivery.ts +23 -7
- package/src/channels/slack/log.ts +1 -1
- package/src/channels/slack/manifest.ts +1 -1
- package/src/channels/slack/nudge-carrier.ts +1 -1
- package/src/channels/slack/nudge-store.ts +2 -2
- package/src/channels/slack/paint-start.ts +93 -0
- package/src/channels/slack/placeholder.ts +315 -0
- package/src/channels/slack/progress-delivery.ts +14 -1
- package/src/channels/slack/reasoning-chip.ts +48 -0
- package/src/channels/slack/recording-sink.ts +176 -0
- package/src/channels/slack/reply-options.ts +71 -15
- package/src/channels/slack/setup.ts +1 -1
- package/src/channels/slack/slack-channel.ts +140 -18
- package/src/channels/slack/socket-mode.ts +2 -2
- package/src/channels/slack/thread-context.ts +5 -5
- package/src/channels/slack/tool-approval-events.ts +54 -38
- package/src/channels/slack/tool-cards.ts +1 -1
- package/src/channels/slack/tool-chip.ts +36 -0
- package/src/channels/slack/types.ts +47 -7
- package/src/channels/slack/upload.ts +142 -0
- package/src/channels.ts +12 -30
- package/src/dashboard-session-url.ts +32 -0
- package/src/evals/assertions.ts +19 -19
- package/src/evals/expect.ts +1 -1
- package/src/evals/judge.ts +1 -1
- package/src/evals/reporters.ts +8 -9
- package/src/evals/run-facts.ts +2 -2
- package/src/evals.ts +7 -10
- package/src/extensions/cursor-cloud-agents/extension.ts +1 -1
- package/src/extensions/cursor-cloud-agents/lib/backend.ts +3 -3
- package/src/extensions/cursor-cloud-agents/lib/fleet.ts +1 -1
- package/src/extensions/cursor-cloud-agents/lib/repos.ts +3 -3
- package/src/extensions/cursor-cloud-agents/lib/transcript.ts +3 -4
- package/src/extensions/cursor-cloud-agents/tools/list.ts +1 -1
- package/src/extensions/improve/skills/yourself.ts +1 -1
- package/src/extensions/slack-communication/evals/harness.ts +728 -0
- package/src/extensions/slack-communication/evals/slack-communication.eval.ts +953 -0
- package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +194 -0
- package/src/extensions/slack-communication/extension.ts +45 -0
- package/src/extensions/slack-communication/skills/slack-voice.ts +59 -0
- package/src/extensions/slack-communication/tools/delete-message.ts +34 -0
- package/src/extensions/slack-communication/tools/edit-message.ts +42 -0
- package/src/extensions/slack-communication/tools/post-card.ts +28 -0
- package/src/extensions/slack-communication/tools/post-file.ts +85 -0
- package/src/extensions/slack-communication/tools/post-update.ts +41 -0
- package/src/extensions/slack-communication/tools/react.ts +33 -0
- package/src/extensions/slack-communication/tools/set-status.ts +21 -0
- package/src/extensions.ts +2 -6
- package/src/files-backends/cursor-hosted.ts +502 -98
- package/src/files-backends/local-fs.ts +1 -1
- package/src/files.ts +15 -0
- package/src/filesystem.ts +16 -18
- package/src/index.ts +4 -39
- package/src/internal/advertise-tools.ts +6 -6
- package/src/internal/approval-gate.ts +1 -1
- package/src/internal/artifacts-store.ts +3 -3
- package/src/internal/as-of.ts +2 -2
- package/src/internal/authored-alias-hooks.ts +32 -0
- package/src/internal/authored-loaders.ts +25 -2
- package/src/internal/builtin-tools/reminders.ts +2 -2
- package/src/internal/chat-client.ts +5 -5
- package/src/internal/cli-ax.ts +85 -16
- package/src/internal/cli-bitbucket.ts +11 -11
- package/src/internal/cli-convert-automation.ts +2 -2
- package/src/internal/cli-cursor.ts +5 -16
- package/src/internal/cli-deploy.ts +389 -104
- package/src/internal/cli-docs.ts +5 -5
- package/src/internal/cli-github.ts +16 -19
- package/src/internal/cli-gitlab.ts +11 -11
- package/src/internal/cli-manifest.ts +1 -1
- package/src/internal/cli-mcp-oauth.ts +5 -7
- package/src/internal/cli-mcp.ts +3 -3
- package/src/internal/cli-skills.ts +2 -2
- package/src/internal/cli-slack.ts +5 -5
- package/src/internal/cloud-turn-cost.ts +1 -1
- package/src/internal/continuation-channel.ts +2 -1
- package/src/internal/continuation-identity.ts +23 -11
- package/src/internal/conversation-mirror.ts +36 -3
- package/src/internal/convert-automation/convert-workflow.ts +27 -27
- package/src/internal/convert-automation/types.ts +9 -0
- package/src/internal/cursor/account-mcp.ts +48 -31
- package/src/internal/cursor/backend-client.ts +28 -17
- package/src/internal/cursor/credentials.ts +1 -1
- package/src/internal/cursor/hosted-store-secrets.ts +34 -0
- package/src/internal/cursor-account-mcp-auth.ts +9 -9
- package/src/internal/cursor-deployment-relay.ts +10 -10
- package/src/internal/cursor-event-relay.ts +10 -10
- package/src/internal/cursor-relay-core.ts +2 -2
- package/src/internal/deploy-client.ts +266 -24
- package/src/internal/deploy-manifest.ts +46 -8
- package/src/internal/discovery/agent-config.ts +34 -0
- package/src/internal/discovery/agent.ts +15 -13
- package/src/internal/discovery/channels.ts +4 -4
- package/src/internal/discovery/connections.ts +4 -4
- package/src/internal/discovery/cursor-plugin.ts +12 -12
- package/src/internal/discovery/extension-overlay.ts +3 -21
- package/src/internal/discovery/extensions.ts +8 -32
- package/src/internal/discovery/info.ts +12 -22
- package/src/internal/discovery/instructions.ts +1 -1
- package/src/internal/discovery/modules.ts +0 -1
- package/src/internal/discovery/project.ts +4 -20
- package/src/internal/discovery/services.ts +1 -1
- package/src/internal/discovery/tools.ts +1 -1
- package/src/internal/docs-site.ts +2 -2
- package/src/internal/env-file.ts +2 -2
- package/src/internal/eval-run-store.ts +7 -9
- package/src/internal/eval-runner.ts +20 -21
- package/src/internal/evals-client.ts +6 -6
- package/src/internal/event-log.ts +10 -10
- package/src/internal/event-mapper.ts +37 -2
- package/src/internal/filesystem/format.ts +11 -12
- package/src/internal/filesystem/scratch.ts +3 -3
- package/src/internal/filesystem/tools.ts +6 -8
- package/src/internal/filesystem/walk.ts +1 -1
- package/src/internal/framework-file-storage.ts +108 -9
- package/src/internal/framework-storage-selection.ts +4 -14
- package/src/internal/github-fanout.ts +4 -4
- package/src/internal/guest-network.ts +4 -4
- package/src/internal/host-files.ts +1 -1
- package/src/internal/host-kv.ts +2 -2
- package/src/internal/hosted-admission-adapter.ts +2 -0
- package/src/internal/hosted-catch-protocol.ts +3 -5
- package/src/internal/hosted-catch.ts +1 -1
- package/src/internal/hosted-delivery-protocol.ts +111 -13
- package/src/internal/hosted-delivery.ts +286 -81
- package/src/internal/hosted-execution-diag.ts +3 -3
- package/src/internal/hosted-execution-latency.ts +334 -0
- package/src/internal/hosting.ts +5 -6
- package/src/internal/http-channel-define.ts +27 -0
- package/src/internal/http-channel.ts +3 -4
- package/src/internal/http-control-plane-session.ts +24 -11
- package/src/internal/incoming-headers-to-fetch.ts +54 -0
- package/src/internal/init-interview.ts +7 -7
- package/src/internal/init-project.ts +14 -16
- package/src/internal/init-scaffold.ts +2 -3
- package/src/internal/inline-stdio-mcp.ts +2 -2
- package/src/internal/install-cursor-skills.ts +49 -16
- package/src/internal/json-schema.ts +1 -1
- package/src/internal/local-control-plane.ts +4 -5
- package/src/internal/local-env.ts +3 -3
- package/src/internal/log-ring.ts +1 -1
- package/src/internal/logs-client.ts +1 -1
- package/src/internal/mcp-endpoint.ts +10 -10
- package/src/internal/mcp-host.ts +9 -9
- package/src/internal/mcp-oauth-on-demand.ts +3 -3
- package/src/internal/mcp-oauth.ts +5 -5
- package/src/internal/net.ts +2 -2
- package/src/internal/otel/config.ts +3 -3
- package/src/internal/otel/runtime.ts +14 -14
- package/src/internal/peer-connections.ts +2 -2
- package/src/internal/platform-schedule-sync.ts +1 -1
- package/src/internal/platform-timers.ts +1 -1
- package/src/internal/playground/static.ts +2 -2
- package/src/internal/playground/toolchain.ts +2 -2
- package/src/internal/playground-proxy.ts +3 -3
- package/src/internal/process-memory-telemetry.ts +1 -1
- package/src/internal/reminder-runner.ts +8 -10
- package/src/internal/reminder-store.ts +1 -1
- package/src/internal/request-error-status.ts +9 -0
- package/src/internal/resolved-connections.ts +8 -8
- package/src/internal/result-output.ts +62 -5
- package/src/internal/router.ts +4 -4
- package/src/internal/run-client.ts +3 -3
- package/src/internal/schedule-runner.ts +6 -6
- package/src/internal/scm/pr-url.ts +11 -2
- package/src/internal/sdk-runner.ts +15 -29
- package/src/internal/serve-restart.ts +1 -1
- package/src/internal/server.ts +97 -115
- package/src/internal/session-cost.ts +3 -3
- package/src/internal/session-engine.ts +517 -445
- package/src/internal/session-run-log.ts +4 -6
- package/src/internal/session-store.ts +213 -39
- package/src/internal/sessions-client.ts +3 -3
- package/src/internal/slack-thread-key.ts +11 -0
- package/src/internal/sleep.ts +1 -1
- package/src/internal/storage-coordinator.ts +122 -96
- package/src/internal/storage-roles.ts +4 -9
- package/src/internal/storage.ts +1 -0
- package/src/internal/store-mirror.ts +4 -4
- package/src/internal/terminal-style.ts +2 -2
- package/src/internal/tool-result.ts +3 -3
- package/src/internal/trajectory.ts +7 -7
- package/src/internal/turn-governor.ts +2 -2
- package/src/internal/turn-outbox.ts +1 -1
- package/src/internal/update-check.ts +2 -2
- package/src/internal/v2-hosting.ts +14 -0
- package/src/internal/workspace.ts +17 -17
- package/src/kv/memory-kv.ts +9 -7
- package/src/kv.ts +4 -7
- package/src/otel-public.ts +24 -0
- package/src/otel.ts +7 -2
- package/src/prompt.ts +1 -1
- package/src/result.ts +10 -8
- package/src/storage-backends/cursor-hosted-v2.ts +6 -9
- package/src/storage-backends/cursor-hosted.ts +6 -60
- package/src/storage-backends/file-kv.ts +17 -58
- package/src/storage-protocol.ts +3 -17
- package/src/storage.ts +32 -108
- package/src/types.ts +101 -73
- package/templates/agentic-owners/agent/channels/github.ts +3 -6
- package/templates/agentic-owners/agent/lib/github.ts +5 -5
- package/templates/agentic-owners/agent/lib/owners/decision.ts +13 -10
- package/templates/agentic-owners/agent/lib/owners/handles.ts +2 -2
- package/templates/agentic-owners/agent/lib/owners/match.ts +3 -3
- package/templates/agentic-owners/agent/lib/owners/matching.ts +1 -1
- package/templates/agentic-owners/agent/lib/owners/parse.ts +4 -9
- package/templates/agentic-owners/agent/lib/owners/prompt.ts +1 -1
- package/templates/agentic-owners/agent/lib/review.ts +37 -30
- package/templates/agentic-owners/evals/owners.eval.ts +2 -2
- package/templates/agentic-owners/package.json +1 -1
- package/templates/agents-md/agent/lib/collect.ts +16 -10
- package/templates/agents-md/agent/lib/config.ts +1 -1
- package/templates/agents-md/agent/tools/apply_agents.ts +10 -8
- package/templates/agents-md/package.json +1 -1
- package/templates/code-wiki/agent/channels/github.ts +4 -7
- package/templates/code-wiki/agent/lib/repos.ts +1 -1
- package/templates/code-wiki/agent/tools/apply_wiki.ts +3 -4
- package/templates/code-wiki/package.json +1 -1
- package/templates/demo/README.md +10 -6
- package/templates/demo/agent/channels/github.ts +2 -0
- package/templates/demo/agent/channels/queue.ts +6 -2
- package/templates/demo/agent/lib/collect.ts +6 -2
- package/templates/demo/agent/lib/repos.ts +5 -0
- package/templates/demo/agent/tools/record_demo.ts +1 -1
- package/templates/demo/evals/demo.eval.ts +1 -5
- package/templates/demo/init.json +25 -0
- package/templates/demo/package.json +1 -1
- package/templates/grokbot-agents/package.json +1 -1
- package/templates/pr-autofixer/agent/channels/github.ts +16 -13
- package/templates/pr-autofixer/agent/lib/merge-watch.ts +2 -4
- package/templates/pr-autofixer/agent/lib/repos.ts +2 -2
- package/templates/pr-autofixer/agent/lib/webhook-routing.ts +1 -1
- package/templates/pr-autofixer/package.json +1 -1
- package/templates/security-help/agent/lib/repos.ts +1 -1
- package/templates/security-help/package.json +1 -1
- package/templates/security-reviewer/agent/lib/repos.ts +1 -1
- package/templates/security-reviewer/agent/tools/post_findings.ts +1 -3
- package/templates/security-reviewer/package.json +1 -1
- package/templates/triage/agent/lib/actuate.ts +26 -41
- package/templates/triage/agent/lib/parse-queue-event.ts +2 -1
- package/templates/triage/agent/lib/verify-webhook.ts +10 -5
- package/templates/triage/agent/tools/record_triage.ts +1 -4
- package/templates/triage/package.json +1 -1
- package/dist/ab.d.ts +0 -209
- package/dist/ab.d.ts.map +0 -1
- package/dist/ab.js +0 -246
- package/dist/client.d.ts +0 -14
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -12
- package/dist/docs/ab.html +0 -80
- package/dist/docs/ab.md +0 -332
- package/dist/docs/assets/ab.md.mlVgqvSk.js +0 -54
- package/dist/docs/assets/ab.md.mlVgqvSk.lean.js +0 -1
- package/dist/docs/assets/app.BASKM3M4.js +0 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.BHZYsNVi.js +0 -1
- package/dist/docs/assets/chunks/framework.BCISBCiQ.js +0 -19
- package/dist/docs/assets/concepts.md.DgEcZOfT.js +0 -1
- package/dist/docs/assets/concepts.md.DgEcZOfT.lean.js +0 -1
- package/dist/docs/assets/evals.md.C1ekS3k2.js +0 -85
- package/dist/docs/assets/evals.md.C1ekS3k2.lean.js +0 -1
- package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.js +0 -10
- package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.lean.js +0 -1
- package/dist/docs/assets/guides_grokbot-agents.md.DyV-WArv.js +0 -9
- package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.js +0 -28
- package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.lean.js +0 -1
- package/dist/docs/assets/hillclimbing.md.CpTGTCle.js +0 -4
- package/dist/docs/assets/hillclimbing.md.CpTGTCle.lean.js +0 -1
- package/dist/docs/assets/index.md.BjH1w2ZW.js +0 -5
- package/dist/docs/assets/index.md.BjH1w2ZW.lean.js +0 -1
- package/dist/docs/assets/quickstart.md.DdQOF7Y8.lean.js +0 -1
- package/dist/docs/assets/reference_project-layout.md.DuBu9a96.js +0 -19
- package/dist/docs/assets/reference_result.md.BK5SxDrf.js +0 -19
- package/dist/docs/assets/reference_result.md.BK5SxDrf.lean.js +0 -1
- package/dist/docs/assets/reference_sessions.md.CueyOHSL.js +0 -1
- package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.js +0 -1
- package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.lean.js +0 -1
- package/dist/docs/assets/skills_ab.md.CsFNatVx.js +0 -26
- package/dist/docs/assets/skills_ab.md.CsFNatVx.lean.js +0 -1
- package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.js +0 -8
- package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.lean.js +0 -1
- package/dist/docs/assets/skills_debug.md.CVjCXMFF.js +0 -1
- package/dist/docs/assets/skills_debug.md.CVjCXMFF.lean.js +0 -1
- package/dist/docs/assets/skills_evals.md.BhovOvrl.js +0 -25
- package/dist/docs/assets/skills_evals.md.BhovOvrl.lean.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.lean.js +0 -1
- package/dist/docs/assets/skills_github.md.hgFX_oKY.js +0 -16
- package/dist/docs/assets/skills_github.md.hgFX_oKY.lean.js +0 -1
- package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.js +0 -7
- package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.lean.js +0 -1
- package/dist/docs/assets/skills_index.md.DKwIxzGg.js +0 -1
- package/dist/docs/assets/skills_index.md.DKwIxzGg.lean.js +0 -1
- package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.js +0 -18
- package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.lean.js +0 -1
- package/dist/docs/assets/skills_otel.md.B5Ddv1xH.js +0 -8
- package/dist/docs/assets/skills_otel.md.B5Ddv1xH.lean.js +0 -1
- package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.js +0 -20
- package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.lean.js +0 -1
- package/dist/docs/assets/storage.md.BOHeqk2M.js +0 -30
- package/dist/docs/assets/storage.md.BOHeqk2M.lean.js +0 -1
- package/dist/docs/assets/templates_agents-md.md.CXSMZljE.js +0 -2
- package/dist/docs/assets/templates_agents-md.md.CXSMZljE.lean.js +0 -1
- package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.js +0 -2
- package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.lean.js +0 -1
- package/dist/docs/assets/templates_demo.md.BeQX9V3H.js +0 -4
- package/dist/docs/assets/templates_demo.md.BeQX9V3H.lean.js +0 -1
- package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.js +0 -3
- package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.lean.js +0 -1
- package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.js +0 -4
- package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.lean.js +0 -1
- package/dist/docs/concepts.html +0 -27
- package/dist/docs/concepts.md +0 -168
- package/dist/docs/design/filesystem.md +0 -376
- package/dist/docs/design/runtime-abstraction.md +0 -1756
- package/dist/docs/guides/human-in-the-loop.html +0 -54
- package/dist/docs/guides/human-in-the-loop.md +0 -126
- package/dist/docs/reference/result.html +0 -45
- package/dist/docs/reference/result.md +0 -89
- package/dist/docs/scaffolding-agents.html +0 -27
- package/dist/docs/scaffolding-agents.md +0 -130
- package/dist/docs/skills/ab.html +0 -52
- package/dist/docs/skills/ab.md +0 -50
- package/dist/docs/skills/create-agent.html +0 -34
- package/dist/docs/skills/create-agent.md +0 -160
- package/dist/docs/skills/debug.html +0 -27
- package/dist/docs/skills/debug.md +0 -36
- package/dist/docs/skills/evals.html +0 -51
- package/dist/docs/skills/evals.md +0 -99
- package/dist/docs/skills/framework-map.html +0 -27
- package/dist/docs/skills/framework-map.md +0 -100
- package/dist/docs/skills/github.html +0 -42
- package/dist/docs/skills/github.md +0 -93
- package/dist/docs/skills/hillclimb.html +0 -33
- package/dist/docs/skills/hillclimb.md +0 -55
- package/dist/docs/skills/index.html +0 -27
- package/dist/docs/skills/index.md +0 -21
- package/dist/docs/skills/mcp-auth.html +0 -44
- package/dist/docs/skills/mcp-auth.md +0 -76
- package/dist/docs/skills/otel.html +0 -34
- package/dist/docs/skills/otel.md +0 -53
- package/dist/docs/skills/setup-slack.html +0 -46
- package/dist/docs/skills/setup-slack.md +0 -141
- package/dist/docs/storage.html +0 -56
- package/dist/docs/storage.md +0 -176
- package/dist/docs/templates/agents-md.html +0 -28
- package/dist/docs/templates/agents-md.md +0 -105
- package/dist/docs/templates/code-wiki.html +0 -28
- package/dist/docs/templates/code-wiki.md +0 -91
- package/dist/docs/templates/demo.html +0 -30
- package/dist/docs/templates/demo.md +0 -80
- package/dist/docs/templates/grokbot-agents.html +0 -29
- package/dist/docs/templates/grokbot-agents.md +0 -48
- package/dist/docs/templates/security-help.html +0 -30
- package/dist/docs/templates/security-help.md +0 -65
- package/dist/internal/ab-collector.d.ts +0 -44
- package/dist/internal/ab-collector.d.ts.map +0 -1
- package/dist/internal/ab-collector.js +0 -142
- package/dist/internal/ab-fold.d.ts +0 -36
- package/dist/internal/ab-fold.d.ts.map +0 -1
- package/dist/internal/ab-fold.js +0 -175
- package/dist/internal/ab-snapshot.d.ts +0 -68
- package/dist/internal/ab-snapshot.d.ts.map +0 -1
- package/dist/internal/ab-snapshot.js +0 -208
- package/dist/internal/discovery/ab.d.ts +0 -9
- package/dist/internal/discovery/ab.d.ts.map +0 -1
- package/dist/internal/discovery/ab.js +0 -113
- package/dist/internal/tenant-slack/relay.d.ts +0 -75
- package/dist/internal/tenant-slack/relay.d.ts.map +0 -1
- package/dist/internal/tenant-slack/relay.js +0 -148
- package/dist/playground/assets/index-BMDqAeXu.js +0 -67
- package/dist/playground/assets/index-LUgJoWdL.css +0 -1
- package/docs/ab.md +0 -337
- package/docs/concepts.md +0 -173
- package/docs/design/filesystem.md +0 -376
- package/docs/design/runtime-abstraction.md +0 -1756
- package/docs/guides/human-in-the-loop.md +0 -131
- package/docs/reference/result.md +0 -94
- package/docs/scaffolding-agents.md +0 -135
- package/docs/skills/index.md +0 -26
- package/docs/storage.md +0 -181
- package/docs/templates/agents-md.md +0 -110
- package/docs/templates/code-wiki.md +0 -96
- package/docs/templates/demo.md +0 -85
- package/docs/templates/grokbot-agents.md +0 -53
- package/docs/templates/security-help.md +0 -70
- package/skills/ab/SKILL.md +0 -58
- package/src/ab.ts +0 -430
- package/src/client.ts +0 -23
- package/src/internal/ab-collector.ts +0 -200
- package/src/internal/ab-fold.ts +0 -232
- package/src/internal/ab-snapshot.ts +0 -331
- package/src/internal/discovery/ab.ts +0 -131
- package/src/internal/tenant-slack/relay.ts +0 -203
- package/templates/pr-autofixer/agent/storage.ts +0 -7
package/src/storage.ts
CHANGED
|
@@ -4,19 +4,18 @@
|
|
|
4
4
|
* Author `agent/storage.ts` with {@link defineStorage} to mirror the
|
|
5
5
|
* framework's durable state into storage you own (a database, S3, a data
|
|
6
6
|
* pipeline, …). Without it, state lives under `--state-root` on local disk
|
|
7
|
-
* only, and eval
|
|
7
|
+
* only, and eval history stays in process memory.
|
|
8
8
|
*
|
|
9
9
|
* The sink is a plain key-value store — put/get/delete/list, no schema —
|
|
10
10
|
* plus a conditional-write group ({@link StorageConfig.cas}; optional).
|
|
11
11
|
* Implementing that small KV core is enough for
|
|
12
|
-
* FULL functionality: eval-run
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* not as required-or-lose-history hooks:
|
|
12
|
+
* FULL functionality: eval-run history is derived over the core when the
|
|
13
|
+
* optional dedicated table ({@link StorageConfig.evals}) is not authored —
|
|
14
|
+
* that group exists as a backend-native optimization (a real table, an
|
|
15
|
+
* analytics pipeline), not as a required-or-lose-history hook:
|
|
17
16
|
*
|
|
18
17
|
* ```ts
|
|
19
|
-
* import { defineStorage } from "@cursor/july/storage";
|
|
18
|
+
* import { defineStorage } from "@cursor/july/internal/storage";
|
|
20
19
|
*
|
|
21
20
|
* export default defineStorage({
|
|
22
21
|
* put: (key, value) => db.upsert(key, value),
|
|
@@ -25,7 +24,6 @@
|
|
|
25
24
|
* list: (prefix) => db.listByPrefix(prefix), // [{ key, value }] in key order
|
|
26
25
|
* cas: { getWithVersion: ..., putIfAbsent: ..., putIfVersion: ..., listKeys: ... },
|
|
27
26
|
* evals: { put: ..., delete: ..., list: ... }, // eval-runs table
|
|
28
|
-
* abs: { putSample: ... }, // A/B table
|
|
29
27
|
* });
|
|
30
28
|
* ```
|
|
31
29
|
*
|
|
@@ -51,9 +49,7 @@
|
|
|
51
49
|
* interface is the durable mirror.
|
|
52
50
|
*/
|
|
53
51
|
|
|
54
|
-
import type { ABMetricSample } from "./ab.js";
|
|
55
52
|
import type { EvalRunSnapshot } from "./evals.js";
|
|
56
|
-
import type { ABSnapshot } from "./internal/ab-snapshot.js";
|
|
57
53
|
import { brandDefinition } from "./internal/brand.js";
|
|
58
54
|
import { storageKeys } from "./storage-protocol.js";
|
|
59
55
|
import type { JsonValue, KvCasResult, KvVersionedEntry } from "./types.js";
|
|
@@ -161,24 +157,6 @@ export interface StorageEvalsTable {
|
|
|
161
157
|
list(ctx: StorageContext): EvalRunSnapshot[] | Promise<EvalRunSnapshot[]>;
|
|
162
158
|
}
|
|
163
159
|
|
|
164
|
-
/**
|
|
165
|
-
* Dedicated table for live A/B metrics: one row per cumulative metric
|
|
166
|
-
* sample (unique per `experiment` + `sessionId` + `at` — one boundary
|
|
167
|
-
* event emits a sample per enrolled experiment), plus — optionally — the latest
|
|
168
|
-
* aggregate snapshot so a replacement host with no local sessions can
|
|
169
|
-
* still serve the A/Bs surface.
|
|
170
|
-
*/
|
|
171
|
-
export interface StorageABTable {
|
|
172
|
-
/** Append one cumulative metric sample (turn complete/fail). */
|
|
173
|
-
putSample(sample: ABMetricSample, ctx: StorageContext): void | Promise<void>;
|
|
174
|
-
/** Upsert the latest aggregate snapshot (framework-throttled). Optional. */
|
|
175
|
-
putSnapshot?(snapshot: ABSnapshot, ctx: StorageContext): void | Promise<void>;
|
|
176
|
-
/** Latest saved aggregate snapshot (replacement-host backfill). Optional. */
|
|
177
|
-
getSnapshot?(
|
|
178
|
-
ctx: StorageContext
|
|
179
|
-
): ABSnapshot | undefined | null | Promise<ABSnapshot | undefined | null>;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
160
|
/**
|
|
183
161
|
* Conditional writes (CAS) — the coordination tier of the storage backend
|
|
184
162
|
* contract. Plain storage works without it, so existing backends keep
|
|
@@ -186,9 +164,8 @@ export interface StorageABTable {
|
|
|
186
164
|
* it, so implementing this group yourself only comes up for BYO storage.
|
|
187
165
|
*
|
|
188
166
|
* Grouped under {@link StorageConfig.cas} rather than as loose methods —
|
|
189
|
-
* matching the `evals`
|
|
190
|
-
*
|
|
191
|
-
* half-implementation.
|
|
167
|
+
* matching the `evals` table group — so `defineStorage` validates the
|
|
168
|
+
* whole group at once: there is no meaningful half-implementation.
|
|
192
169
|
*
|
|
193
170
|
* Version tokens are opaque per-key strings that change on every
|
|
194
171
|
* successful write (counter, UUID, content hash — whatever is cheap for
|
|
@@ -234,14 +211,6 @@ export interface StorageConfig {
|
|
|
234
211
|
* memory (lost on restart).
|
|
235
212
|
*/
|
|
236
213
|
evals?: StorageEvalsTable;
|
|
237
|
-
/**
|
|
238
|
-
* Dedicated A/B table — a backend-native optimization, not a
|
|
239
|
-
* requirement. When omitted, `defineStorage` derives it over the KV
|
|
240
|
-
* core: `putSample` and `putSnapshot` need only core `put` (always
|
|
241
|
-
* present), `getSnapshot` additionally needs core `get`. Session event
|
|
242
|
-
* logs remain the assignment/fold source of truth either way.
|
|
243
|
-
*/
|
|
244
|
-
abs?: StorageABTable;
|
|
245
214
|
/**
|
|
246
215
|
* Conditional writes (CAS). Optional for plain storage — existing
|
|
247
216
|
* backends keep working without it. The built-in backends (`fileKv`,
|
|
@@ -256,11 +225,25 @@ export interface StorageConfig {
|
|
|
256
225
|
* growing memory; it never stalls the agent loop.
|
|
257
226
|
*/
|
|
258
227
|
put(key: string, value: JsonValue, ctx: StorageContext): void | Promise<void>;
|
|
228
|
+
/**
|
|
229
|
+
* Store several values in one call. Optional — the coordinator uses it
|
|
230
|
+
* only when present, so authored sinks keep `put`'s strict one-at-a-time
|
|
231
|
+
* ordering. Entries belong to one flush and are independent keys; the
|
|
232
|
+
* implementation may write them in a single backend round trip. Report
|
|
233
|
+
* per-entry outcomes, index-aligned with the input: one key's failure
|
|
234
|
+
* must not take down its batch siblings. A thrown rejection is treated
|
|
235
|
+
* as every entry failing (logged and dropped, at-most-once) — reserve it
|
|
236
|
+
* for faults that genuinely precede any write.
|
|
237
|
+
*/
|
|
238
|
+
putMany?(
|
|
239
|
+
entries: Array<{ key: string; value: JsonValue }>,
|
|
240
|
+
ctx: StorageContext
|
|
241
|
+
): Promise<Array<{ key: string; error?: unknown }>>;
|
|
259
242
|
/** Remove a key. Optional — without it, deletions are skipped. */
|
|
260
243
|
delete?(key: string, ctx: StorageContext): void | Promise<void>;
|
|
261
244
|
/**
|
|
262
245
|
* Point lookup. Optional — required for **lazy restore** (resolving a
|
|
263
|
-
* continuation token on a replacement host)
|
|
246
|
+
* continuation token on a replacement host).
|
|
264
247
|
* Return `undefined`/`null` only for a **definitive** miss: on the lazy
|
|
265
248
|
* restore path a throw propagates and fails the follow-up (retryable) —
|
|
266
249
|
* a store outage must not read as "unknown token", which would fork the
|
|
@@ -300,13 +283,14 @@ export type StorageDefinition = StorageConfig & {
|
|
|
300
283
|
|
|
301
284
|
/**
|
|
302
285
|
* Author the project storage sink (`agent/storage.ts`, default
|
|
303
|
-
* export).
|
|
286
|
+
* export). Import from `@cursor/july/internal/storage`, not
|
|
287
|
+
* `@cursor/july`. See the module doc for semantics and an example.
|
|
304
288
|
*/
|
|
305
289
|
export function defineStorage(config: StorageConfig): StorageDefinition {
|
|
306
290
|
if (typeof config.put !== "function") {
|
|
307
291
|
throw new Error("defineStorage: config.put must be a function");
|
|
308
292
|
}
|
|
309
|
-
for (const hook of ["get", "list", "delete"] as const) {
|
|
293
|
+
for (const hook of ["get", "list", "delete", "putMany"] as const) {
|
|
310
294
|
const value = config[hook];
|
|
311
295
|
if (value !== undefined && typeof value !== "function") {
|
|
312
296
|
throw new Error(
|
|
@@ -334,46 +318,28 @@ export function defineStorage(config: StorageConfig): StorageDefinition {
|
|
|
334
318
|
// A partial group is a bug, not a legacy config: half-implemented CAS
|
|
335
319
|
// would pass the capability probe.
|
|
336
320
|
const missingCasHooks = casHooks.filter(
|
|
337
|
-
|
|
321
|
+
hook => typeof cas[hook] !== "function"
|
|
338
322
|
);
|
|
339
323
|
if (missingCasHooks.length > 0) {
|
|
340
324
|
throw new Error(
|
|
341
325
|
`defineStorage: ${missingCasHooks
|
|
342
|
-
.map(
|
|
326
|
+
.map(hook => `cas.${hook}`)
|
|
343
327
|
.join(
|
|
344
328
|
", "
|
|
345
329
|
)} must be ${missingCasHooks.length === 1 ? "a function" : "functions"} when the cas group is set`
|
|
346
330
|
);
|
|
347
331
|
}
|
|
348
332
|
}
|
|
349
|
-
if (config.abs !== undefined) {
|
|
350
|
-
if (typeof config.abs.putSample !== "function") {
|
|
351
|
-
throw new Error(
|
|
352
|
-
"defineStorage: abs.putSample must be a function when the abs table is set"
|
|
353
|
-
);
|
|
354
|
-
}
|
|
355
|
-
for (const hook of ["putSnapshot", "getSnapshot"] as const) {
|
|
356
|
-
const value = config.abs[hook];
|
|
357
|
-
if (value !== undefined && typeof value !== "function") {
|
|
358
|
-
throw new Error(
|
|
359
|
-
`defineStorage: abs.${hook} must be a function when set`
|
|
360
|
-
);
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
333
|
// Validate eagerly so a bad policy fails at discovery, not first flush.
|
|
365
334
|
resolveStoragePolicy(config.policy);
|
|
366
335
|
// A backend that implements only the KV core gets full functionality:
|
|
367
|
-
// the dedicated
|
|
368
|
-
// the core when absent.
|
|
336
|
+
// the dedicated table is a backend-native optimization, derived over
|
|
337
|
+
// the core when absent. An authored group always wins.
|
|
369
338
|
const derivedEvals =
|
|
370
339
|
config.evals === undefined ? deriveEvalsTable(config) : undefined;
|
|
371
|
-
const derivedAbs =
|
|
372
|
-
config.abs === undefined ? deriveAbsTable(config) : undefined;
|
|
373
340
|
return brandDefinition("storage", {
|
|
374
341
|
...config,
|
|
375
342
|
...(derivedEvals === undefined ? {} : { evals: derivedEvals }),
|
|
376
|
-
...(derivedAbs === undefined ? {} : { abs: derivedAbs }),
|
|
377
343
|
});
|
|
378
344
|
}
|
|
379
345
|
|
|
@@ -399,57 +365,15 @@ function deriveEvalsTable(
|
|
|
399
365
|
),
|
|
400
366
|
delete: (runId, ctx) =>
|
|
401
367
|
config.delete?.(storageKeys.evalRun(ctx.agentName, runId), ctx),
|
|
402
|
-
list: async
|
|
368
|
+
list: async ctx => {
|
|
403
369
|
const entries =
|
|
404
370
|
(await config.list?.(storageKeys.evalRunsPrefix(ctx.agentName), ctx)) ??
|
|
405
371
|
[];
|
|
406
|
-
return entries.map(
|
|
372
|
+
return entries.map(entry => entry.value as unknown as EvalRunSnapshot);
|
|
407
373
|
},
|
|
408
374
|
};
|
|
409
375
|
}
|
|
410
376
|
|
|
411
|
-
/**
|
|
412
|
-
* A/B table over the KV core. Each sample lands as its own key (identity
|
|
413
|
-
* = experiment + sessionId + at, matching the dedicated table's row
|
|
414
|
-
* uniqueness): appending to one array value would need read-modify-write
|
|
415
|
-
* — lost updates under concurrent writers without CAS, and unbounded
|
|
416
|
-
* value growth — while a key per sample keeps `putSample` a blind put
|
|
417
|
-
* with real append-only semantics. The aggregate snapshot lives at one
|
|
418
|
-
* fixed key via plain `put` (last-write-wins is correct for "latest").
|
|
419
|
-
* Requires only core `put`; `getSnapshot` is included when core `get`
|
|
420
|
-
* exists.
|
|
421
|
-
*/
|
|
422
|
-
function deriveAbsTable(config: StorageConfig): StorageABTable {
|
|
423
|
-
const get = config.get;
|
|
424
|
-
return {
|
|
425
|
-
putSample: (sample, ctx) =>
|
|
426
|
-
config.put(
|
|
427
|
-
storageKeys.abSample(
|
|
428
|
-
ctx.agentName,
|
|
429
|
-
sample.experiment,
|
|
430
|
-
sample.sessionId,
|
|
431
|
-
sample.at
|
|
432
|
-
),
|
|
433
|
-
sample as unknown as JsonValue,
|
|
434
|
-
ctx
|
|
435
|
-
),
|
|
436
|
-
putSnapshot: (snapshot, ctx) =>
|
|
437
|
-
config.put(
|
|
438
|
-
storageKeys.abSnapshot(ctx.agentName),
|
|
439
|
-
snapshot as unknown as JsonValue,
|
|
440
|
-
ctx
|
|
441
|
-
),
|
|
442
|
-
...(get === undefined
|
|
443
|
-
? {}
|
|
444
|
-
: {
|
|
445
|
-
getSnapshot: async (ctx: StorageContext) => {
|
|
446
|
-
const value = await get(storageKeys.abSnapshot(ctx.agentName), ctx);
|
|
447
|
-
return (value ?? undefined) as ABSnapshot | undefined;
|
|
448
|
-
},
|
|
449
|
-
}),
|
|
450
|
-
};
|
|
451
|
-
}
|
|
452
|
-
|
|
453
377
|
// ============================================================================
|
|
454
378
|
// Policy resolution
|
|
455
379
|
// ============================================================================
|
package/src/types.ts
CHANGED
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
|
|
11
11
|
import type { InteractionUpdate, SDKCustomTool, ToolName } from "@cursor/sdk";
|
|
12
12
|
import type { z } from "zod";
|
|
13
|
-
import type { ABConfigFile } from "./ab.js";
|
|
14
13
|
import type { FileSystem } from "./filesystem.js";
|
|
15
14
|
import type {
|
|
16
15
|
ContinuationClaim,
|
|
@@ -55,7 +54,6 @@ export type DefinitionKind =
|
|
|
55
54
|
| "reminder"
|
|
56
55
|
| "hook"
|
|
57
56
|
| "eval"
|
|
58
|
-
| "ab"
|
|
59
57
|
| "storage"
|
|
60
58
|
| "artifacts"
|
|
61
59
|
| "otel"
|
|
@@ -157,7 +155,7 @@ export function toPublicCloudInfo(
|
|
|
157
155
|
...rest,
|
|
158
156
|
...(repos !== undefined
|
|
159
157
|
? {
|
|
160
|
-
repos: repos.map(
|
|
158
|
+
repos: repos.map(repo => ({
|
|
161
159
|
...repo,
|
|
162
160
|
url: redactHttpUrlCredentials(repo.url),
|
|
163
161
|
...(repo.prUrl !== undefined
|
|
@@ -285,6 +283,19 @@ export interface AgentConfig {
|
|
|
285
283
|
* you to select a specific architecture.
|
|
286
284
|
*/
|
|
287
285
|
architecture?: AgentArchitecture;
|
|
286
|
+
/**
|
|
287
|
+
* Persistent hosting for `architecture: "v2"`.
|
|
288
|
+
*
|
|
289
|
+
* Default (`false`): each session boots a pod from the release snapshot;
|
|
290
|
+
* framework and author state are mirrored to Cursor stores because pod
|
|
291
|
+
* disks are disposable.
|
|
292
|
+
*
|
|
293
|
+
* `true`: one long-lived pod per deployment runs each deployed version as
|
|
294
|
+
* a container over one state directory on the pod's disk. Nothing is
|
|
295
|
+
* mirrored: that directory is the durable copy. A redeploy starts the new
|
|
296
|
+
* version beside the old one on the same state, then drains the old one.
|
|
297
|
+
*/
|
|
298
|
+
persistent?: boolean;
|
|
288
299
|
}
|
|
289
300
|
|
|
290
301
|
/** Hosted architecture on {@link AgentConfig.architecture}. */
|
|
@@ -1143,8 +1154,10 @@ export interface ExtensionOptions<TConfig, TInput = TConfig> {
|
|
|
1143
1154
|
* `agent/extensions/<ns>.ts` to mount the extension with a configuration;
|
|
1144
1155
|
* the extension's own modules import it to read that configuration.
|
|
1145
1156
|
*/
|
|
1146
|
-
export interface Extension<
|
|
1147
|
-
|
|
1157
|
+
export interface Extension<
|
|
1158
|
+
TConfig = undefined,
|
|
1159
|
+
TInput = TConfig,
|
|
1160
|
+
> extends ExtensionDeclaration {
|
|
1148
1161
|
(
|
|
1149
1162
|
...args: undefined extends TInput ? [config?: TInput] : [config: TInput]
|
|
1150
1163
|
): ExtensionMount;
|
|
@@ -1202,8 +1215,8 @@ export type DisabledConnectionDefinition =
|
|
|
1202
1215
|
/**
|
|
1203
1216
|
* `export default disable()` / `disableSkill()` / `disableHook()` /
|
|
1204
1217
|
* `disableChannel()` / `disableSchedule()` / `disableSubagent()` /
|
|
1205
|
-
* `disableInstructions()` / `
|
|
1206
|
-
*
|
|
1218
|
+
* `disableInstructions()` / `disableArtifacts()` in a directory mount
|
|
1219
|
+
* removes that contribution from the matching overlay slot.
|
|
1207
1220
|
*/
|
|
1208
1221
|
export type DisabledDefinition = BrandedDefinition<"disabled">;
|
|
1209
1222
|
|
|
@@ -1232,8 +1245,6 @@ export interface DiscoveredExtension {
|
|
|
1232
1245
|
instructions: boolean;
|
|
1233
1246
|
/** Workspace seed paths the mount contributed. */
|
|
1234
1247
|
seedFiles: string[];
|
|
1235
|
-
/** Composed A/B experiment names (`<ns>__<name>`). */
|
|
1236
|
-
abs: string[];
|
|
1237
1248
|
/** Composed artifact kind names (`<ns>__<kind>`). */
|
|
1238
1249
|
artifactKinds: string[];
|
|
1239
1250
|
}
|
|
@@ -1313,7 +1324,7 @@ export function normalizeCursorAccountServers(
|
|
|
1313
1324
|
if (servers === undefined || servers === "*") {
|
|
1314
1325
|
return undefined;
|
|
1315
1326
|
}
|
|
1316
|
-
const trimmed = servers.map(
|
|
1327
|
+
const trimmed = servers.map(server => server.trim());
|
|
1317
1328
|
if (trimmed.length === 1 && trimmed[0] === "*") {
|
|
1318
1329
|
return undefined;
|
|
1319
1330
|
}
|
|
@@ -1327,8 +1338,8 @@ export function cursorAccountServersHasMixedWildcard(
|
|
|
1327
1338
|
if (servers === undefined || servers === "*") {
|
|
1328
1339
|
return false;
|
|
1329
1340
|
}
|
|
1330
|
-
const trimmed = servers.map(
|
|
1331
|
-
return trimmed.includes("*") && trimmed.some(
|
|
1341
|
+
const trimmed = servers.map(server => server.trim());
|
|
1342
|
+
return trimmed.includes("*") && trimmed.some(server => server !== "*");
|
|
1332
1343
|
}
|
|
1333
1344
|
|
|
1334
1345
|
/**
|
|
@@ -1615,15 +1626,6 @@ export interface PendingAuth {
|
|
|
1615
1626
|
|
|
1616
1627
|
export type SessionEventPayload =
|
|
1617
1628
|
| { type: "session.started"; data: { channelId: string; dryRun?: boolean } }
|
|
1618
|
-
| {
|
|
1619
|
-
/**
|
|
1620
|
-
* Sticky A/B enrollment for one experiment (`defineAB` under `agent/ab`).
|
|
1621
|
-
* Appended at session creation (before the first turn). `variant` is a
|
|
1622
|
-
* key of the experiment's `variants`, or `null` for sticky skip.
|
|
1623
|
-
*/
|
|
1624
|
-
type: "ab.assigned";
|
|
1625
|
-
data: { experiment: string; variant: string | null };
|
|
1626
|
-
}
|
|
1627
1629
|
| {
|
|
1628
1630
|
/** Cursor SDK agent id is known (cloud: `bc-…`; local: session id). */
|
|
1629
1631
|
type: "agent.bound";
|
|
@@ -1813,8 +1815,8 @@ export interface TurnUsage {
|
|
|
1813
1815
|
|
|
1814
1816
|
/**
|
|
1815
1817
|
* Dollar cost of one turn's token usage (one agent loop pass).
|
|
1816
|
-
* Recorded on `turn.completed` events so traces, the playground,
|
|
1817
|
-
*
|
|
1818
|
+
* Recorded on `turn.completed` events so traces, the playground, and the
|
|
1819
|
+
* CLI can aggregate spend. Computed by
|
|
1818
1820
|
* `POST /v1/models/estimate-cost` — billed usage events when available
|
|
1819
1821
|
* (credits, discounts, CTF), otherwise live catalog pricing.
|
|
1820
1822
|
*/
|
|
@@ -1841,8 +1843,7 @@ export type SessionMode = "chat" | "task";
|
|
|
1841
1843
|
|
|
1842
1844
|
/**
|
|
1843
1845
|
* Why the session exists. `"eval"` is regression traffic (`defineEval` /
|
|
1844
|
-
* `agent-sdk eval` / playground Evals)
|
|
1845
|
-
* enrollment. Default `"live"`.
|
|
1846
|
+
* `agent-sdk eval` / playground Evals). Default `"live"`.
|
|
1846
1847
|
*/
|
|
1847
1848
|
export type SessionPurpose = "live" | "eval";
|
|
1848
1849
|
|
|
@@ -1859,12 +1860,6 @@ export interface SessionInfo {
|
|
|
1859
1860
|
asOf?: string;
|
|
1860
1861
|
auth: AuthContext | null;
|
|
1861
1862
|
title?: string;
|
|
1862
|
-
/**
|
|
1863
|
-
* Sticky A/B arms for this session (`defineAB`): experiment name → variant
|
|
1864
|
-
* key, or `null` for sticky skip. Present after enrollment at session
|
|
1865
|
-
* create (live traffic only). Tools/hooks/harness overlays read this.
|
|
1866
|
-
*/
|
|
1867
|
-
abs?: Readonly<Record<string, string | null>>;
|
|
1868
1863
|
/**
|
|
1869
1864
|
* Channel-local continuation key when the session is addressable for
|
|
1870
1865
|
* follow-ups / reminders. Null when the session is not re-keyable.
|
|
@@ -1885,20 +1880,14 @@ export interface SessionRecord {
|
|
|
1885
1880
|
channelId: string;
|
|
1886
1881
|
mode: SessionMode;
|
|
1887
1882
|
/**
|
|
1888
|
-
* `"eval"` for harness sessions
|
|
1889
|
-
*
|
|
1883
|
+
* `"eval"` for harness sessions. Older records omit this (treated as
|
|
1884
|
+
* `"live"`).
|
|
1890
1885
|
*/
|
|
1891
1886
|
purpose?: SessionPurpose;
|
|
1892
1887
|
/** Frozen at create from {@link SendMessageOptions.dryRun}. */
|
|
1893
1888
|
dryRun?: boolean;
|
|
1894
1889
|
/** Frozen at create from {@link SendMessageOptions.asOf}. */
|
|
1895
1890
|
asOf?: string;
|
|
1896
|
-
/**
|
|
1897
|
-
* Denormalized sticky A/B arms (mirrors durable `ab.assigned` events) so
|
|
1898
|
-
* the agent loop / tools can read arms without re-folding the log. Source
|
|
1899
|
-
* of truth for stickiness remains the event stream.
|
|
1900
|
-
*/
|
|
1901
|
-
abs?: Record<string, string | null>;
|
|
1902
1891
|
/** Channel-local continuation key; null when the session is not addressable. */
|
|
1903
1892
|
continuationKey: string | null;
|
|
1904
1893
|
/**
|
|
@@ -2083,8 +2072,8 @@ export interface SendMessageOptions {
|
|
|
2083
2072
|
/** Session display title (applied when creating a new session). */
|
|
2084
2073
|
title?: string;
|
|
2085
2074
|
/**
|
|
2086
|
-
* Session purpose at create time. `"eval"`
|
|
2087
|
-
*
|
|
2075
|
+
* Session purpose at create time. `"eval"` marks regression traffic so
|
|
2076
|
+
* hooks, `defineResult`, and telemetry can tell it from live sessions.
|
|
2088
2077
|
*/
|
|
2089
2078
|
purpose?: SessionPurpose;
|
|
2090
2079
|
/**
|
|
@@ -2304,6 +2293,13 @@ export interface ChannelHandlerArgs {
|
|
|
2304
2293
|
* pass `sessionId` in `tag` input to attribute one).
|
|
2305
2294
|
*/
|
|
2306
2295
|
artifacts: ArtifactsApi;
|
|
2296
|
+
/** Hosted Slack admission uses this to paint a warm follow-up. */
|
|
2297
|
+
hasContinuationSession?(continuationToken: string): Promise<boolean>;
|
|
2298
|
+
isContinuationBusy?(continuationToken: string): Promise<boolean>;
|
|
2299
|
+
getContinuationLastBotMessageTs?(
|
|
2300
|
+
continuationToken: string
|
|
2301
|
+
): Promise<string | undefined>;
|
|
2302
|
+
interruptContinuation?(continuationToken: string): Promise<boolean>;
|
|
2307
2303
|
}
|
|
2308
2304
|
|
|
2309
2305
|
export type ChannelRouteHandler = (
|
|
@@ -2535,9 +2531,9 @@ export interface ChannelStartArgs {
|
|
|
2535
2531
|
}
|
|
2536
2532
|
|
|
2537
2533
|
/**
|
|
2538
|
-
*
|
|
2539
|
-
*
|
|
2540
|
-
*
|
|
2534
|
+
* Metadata a channel pack attaches for discovery, `projectInfo`, and CLI
|
|
2535
|
+
* helpers (e.g. `agent-sdk github forward`). Most fields are descriptive;
|
|
2536
|
+
* explicitly documented protocol fields may also be consumed by the host.
|
|
2541
2537
|
*/
|
|
2542
2538
|
export interface ChannelMeta {
|
|
2543
2539
|
/** Well-known pack kind, e.g. `"github"` or `"slack"`. */
|
|
@@ -2574,6 +2570,24 @@ export interface ChannelMeta {
|
|
|
2574
2570
|
* `deploymentEventTypes`.
|
|
2575
2571
|
*/
|
|
2576
2572
|
factoryEventTypes?: readonly string[];
|
|
2573
|
+
/**
|
|
2574
|
+
* For Slack packs: the Events API event types this channel dispatches on
|
|
2575
|
+
* (`app_mention`, `message`), derived from `engagement`. Extracted into
|
|
2576
|
+
* the deploy manifest as `eventTypes` so hosted v2 fanout subscribes to
|
|
2577
|
+
* exactly these. Local Socket Mode ignores it (the socket delivers
|
|
2578
|
+
* whatever the app manifest subscribed to).
|
|
2579
|
+
*/
|
|
2580
|
+
slackEventTypes?: readonly string[];
|
|
2581
|
+
/**
|
|
2582
|
+
* Static agentic-reply protocol for hosted Slack ingress. Only literals
|
|
2583
|
+
* belong here: the control plane persists this declaration at deploy time
|
|
2584
|
+
* and may act before author code starts.
|
|
2585
|
+
*/
|
|
2586
|
+
slackReply?: {
|
|
2587
|
+
mode: "agentic";
|
|
2588
|
+
ack: string;
|
|
2589
|
+
placeholder?: string;
|
|
2590
|
+
};
|
|
2577
2591
|
/**
|
|
2578
2592
|
* For Slack packs with the opt-in channel watch: the allowlisted channels
|
|
2579
2593
|
* (ids or `#names`) this channel dispatches on without a mention. Surfaced
|
|
@@ -2640,10 +2654,33 @@ export interface HttpChannelConfig {
|
|
|
2640
2654
|
message: string,
|
|
2641
2655
|
info: { auth: AuthContext | null }
|
|
2642
2656
|
) => string | Promise<string>;
|
|
2657
|
+
/**
|
|
2658
|
+
* Bind host state after the control plane names this session's mailbox
|
|
2659
|
+
* key and before `send()`.
|
|
2660
|
+
*/
|
|
2661
|
+
onAdmit?: (info: HttpSessionAdmitInfo) => void | Promise<void>;
|
|
2643
2662
|
/** Stream-event handlers for sessions created over HTTP. */
|
|
2644
2663
|
events?: ChannelEventHandlers;
|
|
2645
2664
|
}
|
|
2646
2665
|
|
|
2666
|
+
/** Subject of a hosted HTTP startSession, seen by {@link HttpChannelConfig.onAdmit}. */
|
|
2667
|
+
export type HttpSessionAdmitInfo = {
|
|
2668
|
+
message: string;
|
|
2669
|
+
sessionKey: string;
|
|
2670
|
+
dryRun?: boolean;
|
|
2671
|
+
asOf?: string;
|
|
2672
|
+
host: HostContext;
|
|
2673
|
+
};
|
|
2674
|
+
|
|
2675
|
+
/** Reject a hosted startSession subject from {@link HttpChannelConfig.onAdmit}. */
|
|
2676
|
+
export class HttpSessionAdmitError extends Error {
|
|
2677
|
+
readonly status = 400 as const;
|
|
2678
|
+
constructor(message: string) {
|
|
2679
|
+
super(message);
|
|
2680
|
+
this.name = "HttpSessionAdmitError";
|
|
2681
|
+
}
|
|
2682
|
+
}
|
|
2683
|
+
|
|
2647
2684
|
export type HttpChannelDefinition = HttpChannelConfig &
|
|
2648
2685
|
BrandedDefinition<"http-channel">;
|
|
2649
2686
|
|
|
@@ -2745,16 +2782,24 @@ export interface ResultContext {
|
|
|
2745
2782
|
workspaceDir: string;
|
|
2746
2783
|
/** Full assistant text for the turn. */
|
|
2747
2784
|
text: string;
|
|
2785
|
+
/**
|
|
2786
|
+
* The commit did not apply; re-run this turn with `message` so the
|
|
2787
|
+
* model can revise. After two repairs the turn fails like a throw.
|
|
2788
|
+
*/
|
|
2789
|
+
reject(message: string): never;
|
|
2748
2790
|
}
|
|
2749
2791
|
|
|
2750
2792
|
/**
|
|
2751
2793
|
* Input to `defineResult` (authored at `agent/result.ts`).
|
|
2752
|
-
* Parse `ctx.text` in `commit`. Throw to fail the turn.
|
|
2794
|
+
* Parse `ctx.text` in `commit`. Throw to fail the turn. Call
|
|
2795
|
+
* {@link ResultContext.reject} for a model-correctable miss so the
|
|
2796
|
+
* same turn can revise before `turn.completed`.
|
|
2753
2797
|
*/
|
|
2754
2798
|
export interface ResultConfig {
|
|
2755
2799
|
/**
|
|
2756
2800
|
* Host actuation after the model finishes, before `turn.completed`.
|
|
2757
|
-
* Throw to fail the turn.
|
|
2801
|
+
* Throw to fail the turn. `ctx.reject(message)` re-prompts the model
|
|
2802
|
+
* in this turn (two repairs). A dry-run session skips this callback.
|
|
2758
2803
|
*/
|
|
2759
2804
|
commit: (ctx: ResultContext) => void | Promise<void>;
|
|
2760
2805
|
}
|
|
@@ -3226,15 +3271,6 @@ export interface DiscoveredHook {
|
|
|
3226
3271
|
definition: HookDefinition;
|
|
3227
3272
|
}
|
|
3228
3273
|
|
|
3229
|
-
/** Live A/B metrics experiment (`agent/ab.ts` or `agent/ab/<name>.ts`). */
|
|
3230
|
-
export interface DiscoveredAB {
|
|
3231
|
-
name: string;
|
|
3232
|
-
/** File stem the experiment was loaded from (`ab` or a path under `ab/`). */
|
|
3233
|
-
source?: string;
|
|
3234
|
-
/** Branded `defineAB({ ... })` config (see `@cursor/july/ab`). */
|
|
3235
|
-
definition: BrandedDefinition<"ab">;
|
|
3236
|
-
}
|
|
3237
|
-
|
|
3238
3274
|
export interface SeedFile {
|
|
3239
3275
|
/** Path inside the session workspace. */
|
|
3240
3276
|
relativePath: string;
|
|
@@ -3283,6 +3319,7 @@ export interface ResolvedAgent {
|
|
|
3283
3319
|
* continuation defaults onto channels that omitted a selector.
|
|
3284
3320
|
*/
|
|
3285
3321
|
architecture?: AgentArchitecture;
|
|
3322
|
+
persistent?: boolean;
|
|
3286
3323
|
tools: DiscoveredTool[];
|
|
3287
3324
|
skills: DiscoveredSkill[];
|
|
3288
3325
|
/**
|
|
@@ -3308,17 +3345,13 @@ export interface AgentProject {
|
|
|
3308
3345
|
agentDir: string;
|
|
3309
3346
|
name: string;
|
|
3310
3347
|
agent: ResolvedAgent;
|
|
3311
|
-
/** Built-in HTTP channel
|
|
3348
|
+
/** Built-in HTTP session channel. */
|
|
3312
3349
|
httpChannel: HttpChannelDefinition;
|
|
3313
3350
|
channels: DiscoveredChannel[];
|
|
3314
3351
|
schedules: DiscoveredSchedule[];
|
|
3315
3352
|
/** Named reminder handlers from `agent/reminders/*` (optional / additive). */
|
|
3316
3353
|
reminders?: DiscoveredReminder[];
|
|
3317
3354
|
hooks: DiscoveredHook[];
|
|
3318
|
-
/** Live A/B metric experiments (`defineAB`). */
|
|
3319
|
-
abs: DiscoveredAB[];
|
|
3320
|
-
/** Optional `agent/ab.config.ts` (`defineABConfig`). */
|
|
3321
|
-
abConfig?: ABConfigFile;
|
|
3322
3355
|
/** Optional `agent/storage.ts` (`defineStorage`). */
|
|
3323
3356
|
storage?: StorageDefinition;
|
|
3324
3357
|
/** Optional `agent/artifacts.ts` (`defineArtifacts`). */
|
|
@@ -3415,6 +3448,8 @@ export interface AgentProjectInfo {
|
|
|
3415
3448
|
deploymentEventTypes?: readonly string[];
|
|
3416
3449
|
/** Change Monitor checkpoint or Factory issue event types the channel dispatches on, when declared. */
|
|
3417
3450
|
factoryEventTypes?: readonly string[];
|
|
3451
|
+
/** Slack Events API event types the channel dispatches on, when declared. */
|
|
3452
|
+
slackEventTypes?: readonly string[];
|
|
3418
3453
|
/** Slack channels watched for posts (opt-in channel watch), when declared. */
|
|
3419
3454
|
slackChannelPosts?: readonly string[];
|
|
3420
3455
|
}>;
|
|
@@ -3422,14 +3457,6 @@ export interface AgentProjectInfo {
|
|
|
3422
3457
|
/** Named reminder handlers (`agent/reminders/<name>.ts`) when present. */
|
|
3423
3458
|
reminders?: Array<{ name: string }>;
|
|
3424
3459
|
hooks: string[];
|
|
3425
|
-
/** Live A/B experiment names (`defineAB` under `agent/ab`). */
|
|
3426
|
-
abs: string[];
|
|
3427
|
-
/** Playground fold / durable-sink meta from `agent/ab.config.ts`. */
|
|
3428
|
-
abConfig?: {
|
|
3429
|
-
maxPlaygroundSessions?: number;
|
|
3430
|
-
durableSamples: boolean;
|
|
3431
|
-
durableSnapshots: boolean;
|
|
3432
|
-
};
|
|
3433
3460
|
/** Project storage sink from `agent/storage.ts`, when authored. */
|
|
3434
3461
|
storage?: { name?: string };
|
|
3435
3462
|
otel?: { serviceName?: string; enabled: true };
|
|
@@ -3498,11 +3525,12 @@ export interface RunnerTurnRequest {
|
|
|
3498
3525
|
/** Cloud options when {@link runtime} is `"cloud"`. */
|
|
3499
3526
|
cloud?: AgentCloudOptions;
|
|
3500
3527
|
/**
|
|
3501
|
-
* Composed instructions ({@link ResolvedAgent.instructions}
|
|
3502
|
-
*
|
|
3503
|
-
*
|
|
3504
|
-
* prompt
|
|
3505
|
-
* this unset
|
|
3528
|
+
* Composed instructions ({@link ResolvedAgent.instructions} plus identity
|
|
3529
|
+
* and tool catalog) delivered as the harness system prompt. Local turns
|
|
3530
|
+
* pass them to the Cursor SDK as `systemPrompt`, replacing Cursor's
|
|
3531
|
+
* built-in prompt; grokbot turns carry them into the hosted session so
|
|
3532
|
+
* they reach the Sand system prompt. Cloud turns leave this unset and
|
|
3533
|
+
* inline the same text into the first prompt instead.
|
|
3506
3534
|
*/
|
|
3507
3535
|
instructions?: string;
|
|
3508
3536
|
/**
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
defaultGitHubAuth,
|
|
3
|
-
githubChannel,
|
|
4
|
-
} from "@cursor/july/channels/github";
|
|
1
|
+
import { defaultGitHubAuth, githubChannel } from "@cursor/july/channels/github";
|
|
5
2
|
import config from "../lib/config.js";
|
|
6
3
|
import { githubOwnersForge } from "../lib/github.js";
|
|
7
4
|
import { AgenticOwnersConfigValidationError } from "../lib/owners/parse.js";
|
|
@@ -27,8 +24,8 @@ export default githubChannel({
|
|
|
27
24
|
cursorAccount: config.repos.length > 0 ? { repos: config.repos } : undefined,
|
|
28
25
|
// The model never writes to GitHub; record_review actuates host-side.
|
|
29
26
|
deliverReplies: false,
|
|
30
|
-
onStart:
|
|
31
|
-
log =
|
|
27
|
+
onStart: args => {
|
|
28
|
+
log = line => args.logger(`[agentic-owners] ${line}`);
|
|
32
29
|
},
|
|
33
30
|
onPullRequest: async (ctx, pr) => {
|
|
34
31
|
// A base retarget re-resolves policy against the new base. The fresh
|
|
@@ -90,10 +90,10 @@ export function githubOwnersForge(
|
|
|
90
90
|
pull_number: ref.number,
|
|
91
91
|
});
|
|
92
92
|
const requestedUsers = (data.requested_reviewers ?? []).flatMap(
|
|
93
|
-
|
|
93
|
+
reviewer => ("login" in reviewer ? [reviewer.login] : [])
|
|
94
94
|
);
|
|
95
95
|
const requestedTeams = (data.requested_teams ?? []).map(
|
|
96
|
-
|
|
96
|
+
team => `${ref.owner}/${team.slug}`
|
|
97
97
|
);
|
|
98
98
|
return {
|
|
99
99
|
number: data.number,
|
|
@@ -114,7 +114,7 @@ export function githubOwnersForge(
|
|
|
114
114
|
pull_number: ref.number,
|
|
115
115
|
per_page: 100,
|
|
116
116
|
});
|
|
117
|
-
return files.map(
|
|
117
|
+
return files.map(file => ({
|
|
118
118
|
filename: file.filename,
|
|
119
119
|
status: file.status,
|
|
120
120
|
previousFilename: file.previous_filename,
|
|
@@ -201,7 +201,7 @@ export function githubOwnersForge(
|
|
|
201
201
|
pull_number: ref.number,
|
|
202
202
|
per_page: 100,
|
|
203
203
|
});
|
|
204
|
-
return reviews.map(
|
|
204
|
+
return reviews.map(review => ({
|
|
205
205
|
id: review.id,
|
|
206
206
|
state: review.state,
|
|
207
207
|
body: review.body ?? "",
|
|
@@ -214,7 +214,7 @@ export function githubOwnersForge(
|
|
|
214
214
|
octokit.rest.issues.listComments,
|
|
215
215
|
{ ...repo, issue_number: ref.number, per_page: 100 }
|
|
216
216
|
);
|
|
217
|
-
return comments.map(
|
|
217
|
+
return comments.map(comment => ({
|
|
218
218
|
id: comment.id,
|
|
219
219
|
body: comment.body ?? "",
|
|
220
220
|
}));
|