@cursor/bdk 0.2.24 → 0.2.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +4 -18
- package/CHANGELOG.md +3 -0
- package/dist/artifacts.d.ts +1 -1
- package/dist/artifacts.js +1 -1
- package/dist/bin/agent-serve.d.ts +1 -1
- package/dist/bin/agent-serve.js +71 -31
- package/dist/channels/bitbucket/api.d.ts +2 -2
- package/dist/channels/bitbucket/api.d.ts.map +1 -1
- package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
- package/dist/channels/bitbucket/bitbucket-webhook.d.ts +5 -4
- package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
- package/dist/channels/bitbucket/bitbucket-webhook.js +14 -9
- package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
- package/dist/channels/deployments/deployments-channel.js +1 -1
- package/dist/channels/github/cursor-account.d.ts +7 -0
- package/dist/channels/github/cursor-account.d.ts.map +1 -1
- package/dist/channels/github/cursor-account.js +22 -5
- package/dist/channels/github/github-channel.d.ts.map +1 -1
- package/dist/channels/github/github-channel.js +10 -19
- package/dist/channels/github/replay.d.ts +1 -1
- package/dist/channels/github/replay.d.ts.map +1 -1
- package/dist/channels/gitlab/api.d.ts +2 -2
- package/dist/channels/gitlab/api.d.ts.map +1 -1
- package/dist/channels/gitlab/gitlab-channel.js +1 -1
- package/dist/channels/issues/issues-channel.js +1 -1
- package/dist/channels/origin/api.d.ts +4 -4
- package/dist/channels/origin/api.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.js +1 -1
- package/dist/channels/origin/origin-webhook.d.ts +3 -3
- package/dist/channels/origin/origin-webhook.d.ts.map +1 -1
- package/dist/channels/pagerduty/api.d.ts +74 -0
- package/dist/channels/pagerduty/api.d.ts.map +1 -0
- package/dist/channels/pagerduty/api.js +101 -0
- package/dist/channels/pagerduty/defaults.d.ts +42 -0
- package/dist/channels/pagerduty/defaults.d.ts.map +1 -0
- package/dist/channels/pagerduty/defaults.js +132 -0
- package/dist/channels/pagerduty/events.d.ts +24 -0
- package/dist/channels/pagerduty/events.d.ts.map +1 -0
- package/dist/channels/pagerduty/events.js +38 -0
- package/dist/channels/pagerduty/index.d.ts +31 -0
- package/dist/channels/pagerduty/index.d.ts.map +1 -0
- package/dist/channels/pagerduty/index.js +30 -0
- package/dist/channels/pagerduty/pagerduty-channel.d.ts +64 -0
- package/dist/channels/pagerduty/pagerduty-channel.d.ts.map +1 -0
- package/dist/channels/pagerduty/pagerduty-channel.js +195 -0
- package/dist/channels/pagerduty/pagerduty-webhook.d.ts +70 -0
- package/dist/channels/pagerduty/pagerduty-webhook.d.ts.map +1 -0
- package/dist/channels/pagerduty/pagerduty-webhook.js +280 -0
- package/dist/channels/pagerduty/payload.d.ts +33 -0
- package/dist/channels/pagerduty/payload.d.ts.map +1 -0
- package/dist/channels/pagerduty/payload.js +150 -0
- package/dist/channels/pagerduty/replay.d.ts +35 -0
- package/dist/channels/pagerduty/replay.d.ts.map +1 -0
- package/dist/channels/pagerduty/replay.js +115 -0
- package/dist/channels/pagerduty/secrets.d.ts +16 -0
- package/dist/channels/pagerduty/secrets.d.ts.map +1 -0
- package/dist/channels/pagerduty/secrets.js +23 -0
- package/dist/channels/pagerduty/self-user.d.ts +51 -0
- package/dist/channels/pagerduty/self-user.d.ts.map +1 -0
- package/dist/channels/pagerduty/self-user.js +157 -0
- package/dist/channels/pagerduty/state.d.ts +31 -0
- package/dist/channels/pagerduty/state.d.ts.map +1 -0
- package/dist/channels/pagerduty/state.js +30 -0
- package/dist/channels/pagerduty/types.d.ts +217 -0
- package/dist/channels/pagerduty/types.d.ts.map +1 -0
- package/dist/channels/pagerduty/types.js +1 -0
- package/dist/channels/runs/runs-channel.js +1 -1
- package/dist/channels/slack/agentic-delivery.d.ts +2 -1
- package/dist/channels/slack/agentic-delivery.d.ts.map +1 -1
- package/dist/channels/slack/agentic-delivery.js +6 -10
- package/dist/channels/slack/agentic-signals.d.ts +2 -7
- package/dist/channels/slack/agentic-signals.d.ts.map +1 -1
- package/dist/channels/slack/agentic-signals.js +4 -3
- package/dist/channels/slack/api.d.ts +1 -0
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +3 -0
- package/dist/channels/slack/constants.d.ts +2 -0
- package/dist/channels/slack/constants.d.ts.map +1 -1
- package/dist/channels/slack/constants.js +2 -0
- package/dist/channels/slack/defaults.d.ts.map +1 -1
- package/dist/channels/slack/defaults.js +3 -2
- package/dist/channels/slack/dispatch.d.ts +9 -0
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +3 -0
- package/dist/channels/slack/inbound.d.ts.map +1 -1
- package/dist/channels/slack/inbound.js +24 -20
- package/dist/channels/slack/interactive.d.ts +2 -0
- package/dist/channels/slack/interactive.d.ts.map +1 -1
- package/dist/channels/slack/interactive.js +1 -0
- package/dist/channels/slack/live-delivery.d.ts +3 -0
- package/dist/channels/slack/live-delivery.d.ts.map +1 -1
- package/dist/channels/slack/live-delivery.js +5 -0
- package/dist/channels/slack/reply-options.d.ts +9 -0
- package/dist/channels/slack/reply-options.d.ts.map +1 -1
- package/dist/channels/slack/reply-options.js +31 -1
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +7 -0
- package/dist/channels/slack/stream.d.ts +5 -1
- package/dist/channels/slack/stream.d.ts.map +1 -1
- package/dist/channels/slack/types.d.ts +29 -0
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/channels.d.ts +7 -1
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +12 -24
- package/dist/docs/404.html +3 -3
- package/dist/docs/assets/{app.DTIg0uKK.js → app.BITbgXMP.js} +4 -4
- package/dist/docs/assets/changelog.md.sdD6ctqK.js +1 -0
- package/dist/docs/assets/changelog.md.sdD6ctqK.lean.js +1 -0
- package/dist/docs/assets/chunks/@localSearchIndexroot.B45uCZp9.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.BpJoSaxi.js → VPLocalSearchBox.3qo4-bX9.js} +2 -2
- package/dist/docs/assets/chunks/{arc.ylgNvRNq.js → arc.CTrZocKU.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.BMrNJqYk.js → architectureDiagram-Q4EWVU46.BkgIqxrv.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.BBWUEqf9.js → baseUniq.5w0JfVgo.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.DFMu-Vza.js → blockDiagram-DXYQGD6D.BVLtPjQc.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.8nkAAxWv.js → c4Diagram-AHTNJAMY.CQ7neZTW.js} +1 -1
- package/dist/docs/assets/chunks/channel.Cv2w64wj.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.sO-z2Bag.js → chunk-4BX2VUAB.D-hJ7uKM.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.BMROzTMq.js → chunk-4TB4RGXK.RBYX5ywX.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.X81urwg7.js → chunk-55IACEB6.Br05HoEb.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.eaZVFLZM.js → chunk-EDXVE4YY.BD_7QS60.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.CmZhzstR.js → chunk-FMBD7UC4.BOPnMabX.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CTezt9Lc.js → chunk-OYMX7WX6.DmGIdP8i.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.s-T8zukB.js → chunk-QZHKN3VN.CGHmolCB.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DN4Nhy-D.js → chunk-YZCP3GAM.C_Uhs25v.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CtO2atCr.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CtO2atCr.js +1 -0
- package/dist/docs/assets/chunks/clone.hfsCtgP4.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Cqyp4BUH.js → cose-bilkent-S5V4N54A.DsU6xpcZ.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.BIECOiqR.js → dagre-KV5264BT.BqQLDcoU.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.1tLyWoTg.js → diagram-5BDNPKRD.Cgv8uUNF.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.BVY_6VMO.js → diagram-G4DWMVQ6.BXHPSXh_.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BSZ7xiBB.js → diagram-MMDJMWI5.CgJzo8f_.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.Bho6GmLh.js → diagram-TYMM5635.CfiN6lgT.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.A0yVIANn.js → erDiagram-SMLLAGMA.8n_hHzAd.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.ZMgbllH6.js → flowDiagram-DWJPFMVM.B2pb1Dv_.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.BCCPBhXo.js → ganttDiagram-T4ZO3ILL.BFih4ucI.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.BOkL0BbA.js → gitGraphDiagram-UUTBAWPF.CqZ8PTl8.js} +1 -1
- package/dist/docs/assets/chunks/{graph.DMyZPu86.js → graph.0ufsI9gu.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.CjG1IiEw.js → infoDiagram-42DDH7IO.BkPRFww4.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.UCe-kq9g.js → ishikawaDiagram-UXIWVN3A.DCRK-cVX.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.3WyOK_eY.js → journeyDiagram-VCZTEJTY.BFyAJo33.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.WoRG2qY1.js → kanban-definition-6JOO6SKY.CmA2SoGc.js} +1 -1
- package/dist/docs/assets/chunks/{layout.DV07xDd5.js → layout.CYY-CbMr.js} +1 -1
- package/dist/docs/assets/chunks/{linear.CTO8mN6o.js → linear.DeeDV4Oq.js} +1 -1
- package/dist/docs/assets/chunks/{min.SvTtcKuZ.js → min.BL3XTBN2.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.DMGgQ-HB.js → mindmap-definition-QFDTVHPH.BcbY-G6H.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.B7851apI.js → pieDiagram-DEJITSTG.dzDcQnPE.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CEqyypIX.js → quadrantDiagram-34T5L4WZ.RxR0m5iK.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.C3Mwsw-H.js → requirementDiagram-MS252O5E.DflaXb6Q.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DyYK0XxY.js → sankeyDiagram-XADWPNL6.BteLKQAe.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.SiQPH-XM.js → sequenceDiagram-FGHM5R23.BD8jM8oz.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.CTJMsP4p.js → stateDiagram-FHFEXIEX.C8SBkbPH.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BLz7Qyo3.js +1 -0
- package/dist/docs/assets/chunks/{theme.DJo4my9R.js → theme.DiViIOLe.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.CxSNRlQ6.js → timeline-definition-GMOUNBTQ.D64XF5dV.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BdoJskyD.js → vennDiagram-DHZGUBPP.CwmeYan-.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.DmAlXlpu.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.IjIbFn_F.js → wardleyDiagram-NUSXRM2D.5VJ2-5K0.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CPUxDZLH.js → xychartDiagram-5P7HB3ND.Cl6_fZVC.js} +1 -1
- package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.js → guides_hooks.md.B2XfGX50.js} +7 -3
- package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.js → guides_mcp-oauth.md.Cxq2TxBB.js} +3 -3
- package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.lean.js → guides_mcp-oauth.md.Cxq2TxBB.lean.js} +1 -1
- package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.js +37 -0
- package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.lean.js +1 -0
- package/dist/docs/assets/guides_pagerduty.md.BHXMcMtx.js +60 -0
- package/dist/docs/assets/guides_pagerduty.md.BHXMcMtx.lean.js +1 -0
- package/dist/docs/assets/{guides_slack.md.Bn-WupSE.js → guides_slack.md.ClIyi7FI.js} +8 -3
- package/dist/docs/assets/{guides_slack.md.Bn-WupSE.lean.js → guides_slack.md.ClIyi7FI.lean.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.IplwL25I.js → reference_agent-config.md.CGSx8COP.js} +6 -2
- package/dist/docs/assets/{reference_agent-config.md.IplwL25I.lean.js → reference_agent-config.md.CGSx8COP.lean.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.DYg0CLud.js → reference_channels.md.CNNIS6K7.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.DB7Llw3T.js → reference_cli.md.1o_TqKdt.js} +7 -2
- package/dist/docs/assets/{reference_cli.md.DB7Llw3T.lean.js → reference_cli.md.1o_TqKdt.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.js → reference_hooks.md.CROr0QgC.js} +13 -7
- package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.lean.js → reference_hooks.md.CROr0QgC.lean.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.js → reference_schedules.md.BqWnJES4.js} +3 -3
- package/dist/docs/assets/reference_sessions.md.Bi6lHttM.js +22 -0
- package/dist/docs/assets/reference_sessions.md.Bi6lHttM.lean.js +1 -0
- package/dist/docs/assets/{reference_skills.md.C2GWh7g8.js → reference_skills.md.Ckddg6KX.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.08XR7lIl.js → reference_tools.md.Bo0UfT0a.js} +1 -1
- package/dist/docs/assets/{style.nMsabY-V.css → style.B9o0luvp.css} +1 -1
- package/dist/docs/building-with-agents.html +37 -37
- package/dist/docs/changelog.html +60 -0
- package/dist/docs/changelog.md +86 -0
- package/dist/docs/deployment.html +37 -37
- package/dist/docs/evals.html +37 -37
- package/dist/docs/guides/agent-to-agent.html +37 -37
- package/dist/docs/guides/bitbucket.html +37 -37
- package/dist/docs/guides/cloud-agents.html +37 -37
- package/dist/docs/guides/convert-automation.html +37 -37
- package/dist/docs/guides/export-grokbot.html +37 -37
- package/dist/docs/guides/github.html +37 -37
- package/dist/docs/guides/gitlab.html +37 -37
- package/dist/docs/guides/grokbot-agents.html +37 -37
- package/dist/docs/guides/hooks.html +45 -41
- package/dist/docs/guides/hooks.md +7 -3
- package/dist/docs/guides/improve.html +37 -37
- package/dist/docs/guides/jev.html +37 -37
- package/dist/docs/guides/mcp-oauth.html +39 -39
- package/dist/docs/guides/mcp-oauth.md +12 -0
- package/dist/docs/guides/migrate.html +37 -37
- package/dist/docs/guides/opentelemetry.html +62 -70
- package/dist/docs/guides/opentelemetry.md +150 -175
- package/dist/docs/guides/pagerduty.html +119 -0
- package/dist/docs/guides/pagerduty.md +336 -0
- package/dist/docs/guides/slack.html +44 -39
- package/dist/docs/guides/slack.md +41 -0
- package/dist/docs/guides/webhooks.html +37 -37
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +37 -37
- package/dist/docs/index.html +37 -37
- package/dist/docs/llms-full.txt +730 -163
- package/dist/docs/llms.txt +3 -1
- package/dist/docs/quickstart.html +37 -37
- package/dist/docs/reference/agent-config.html +42 -38
- package/dist/docs/reference/agent-config.md +21 -1
- package/dist/docs/reference/artifacts.html +37 -37
- package/dist/docs/reference/channels.html +38 -38
- package/dist/docs/reference/channels.md +7 -2
- package/dist/docs/reference/cli.html +43 -38
- package/dist/docs/reference/cli.md +27 -0
- package/dist/docs/reference/connections.html +37 -37
- package/dist/docs/reference/evals.html +37 -37
- package/dist/docs/reference/extensions.html +37 -37
- package/dist/docs/reference/hooks.html +49 -43
- package/dist/docs/reference/hooks.md +10 -5
- package/dist/docs/reference/http-api.html +37 -37
- package/dist/docs/reference/instructions.html +37 -37
- package/dist/docs/reference/memory.html +37 -37
- package/dist/docs/reference/playground.html +36 -36
- package/dist/docs/reference/project-layout.html +37 -37
- package/dist/docs/reference/prompt.html +37 -37
- package/dist/docs/reference/schedules.html +40 -40
- package/dist/docs/reference/sessions.html +58 -37
- package/dist/docs/reference/sessions.md +46 -1
- package/dist/docs/reference/skills.html +40 -40
- package/dist/docs/reference/subagents.html +37 -37
- package/dist/docs/reference/tools.html +39 -39
- package/dist/docs/reference/tools.md +4 -3
- package/dist/docs/templates/agentic-owners.html +37 -37
- package/dist/docs/templates/grokbot-agents.html +37 -37
- package/dist/docs/templates/security-reviewer.html +37 -37
- package/dist/docs/templates/thermo-quality-review.html +37 -37
- package/dist/docs/templates/thermo-review.html +37 -37
- package/dist/docs/templates/triage.html +37 -37
- package/dist/docs/troubleshooting.html +36 -36
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +15 -15
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
- package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-grokbot-agents/extension.js +7 -3
- package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
- package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
- package/dist/extensions/improve/extension.js +1 -1
- package/dist/extensions/jev/extension.js +2 -2
- package/dist/extensions/jev/tools/evaluate.js +3 -3
- package/dist/extensions/slack-communication/extension.js +1 -1
- package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
- package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -1
- package/dist/extensions/slack-communication/tools/edit-message.js +3 -6
- package/dist/extensions/slack-communication/tools/post-card.js +1 -1
- package/dist/extensions/slack-communication/tools/post-file.js +1 -1
- package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -1
- package/dist/extensions/slack-communication/tools/post-update.js +3 -6
- package/dist/extensions/slack-communication/tools/react.js +1 -1
- package/dist/extensions/slack-communication/tools/set-status.js +1 -1
- package/dist/extensions.d.ts +1 -1
- package/dist/extensions.js +1 -1
- package/dist/index.d.ts +14 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/internal/approval-gate.d.ts +4 -2
- package/dist/internal/approval-gate.d.ts.map +1 -1
- package/dist/internal/approval-gate.js +2 -1
- package/dist/internal/as-of.d.ts +2 -0
- package/dist/internal/as-of.d.ts.map +1 -1
- package/dist/internal/as-of.js +2 -0
- package/dist/internal/builtin-tools/artifacts.d.ts.map +1 -1
- package/dist/internal/builtin-tools/artifacts.js +45 -12
- package/dist/internal/builtin-tools/reminders.js +1 -1
- package/dist/internal/channel-architecture.d.ts +1 -1
- package/dist/internal/channel-architecture.d.ts.map +1 -1
- package/dist/internal/channel-architecture.js +4 -2
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +39 -22
- package/dist/internal/cli-pagerduty.d.ts +32 -0
- package/dist/internal/cli-pagerduty.d.ts.map +1 -0
- package/dist/internal/cli-pagerduty.js +242 -0
- package/dist/internal/continuation-channel.d.ts.map +1 -1
- package/dist/internal/continuation-channel.js +7 -0
- package/dist/internal/continuation-identity.d.ts +11 -3
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +83 -0
- package/dist/internal/continuation.d.ts +3 -0
- package/dist/internal/continuation.d.ts.map +1 -0
- package/dist/internal/continuation.js +1 -0
- package/dist/internal/conversation-mirror.d.ts +5 -0
- package/dist/internal/conversation-mirror.d.ts.map +1 -1
- package/dist/internal/conversation-mirror.js +12 -1
- package/dist/internal/convert-automation/convert-workflow.js +1 -1
- package/dist/internal/convert-grokbot/answers.d.ts.map +1 -1
- package/dist/internal/convert-grokbot/answers.js +10 -8
- package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
- package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
- package/dist/internal/convert-grokbot/recipe.js +1 -1
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +2 -0
- package/dist/internal/cursor/backend-client.d.ts +8 -3
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +8 -3
- package/dist/internal/cursor/credentials.d.ts +2 -2
- package/dist/internal/cursor/credentials.d.ts.map +1 -1
- package/dist/internal/cursor/credentials.js +1 -1
- package/dist/internal/cursor-account-mcp-auth.d.ts +6 -2
- package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -1
- package/dist/internal/cursor-account-mcp-auth.js +15 -6
- package/dist/internal/deferred-channel-session.d.ts +5 -4
- package/dist/internal/deferred-channel-session.d.ts.map +1 -1
- package/dist/internal/deferred-channel-session.js +6 -4
- package/dist/internal/deploy-client.d.ts +5 -0
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +3 -3
- package/dist/internal/deploy-manifest.d.ts +11 -4
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +19 -7
- package/dist/internal/describe-error.d.ts +2 -0
- package/dist/internal/describe-error.d.ts.map +1 -1
- package/dist/internal/describe-error.js +2 -0
- package/dist/internal/discovery/agent-config.d.ts.map +1 -1
- package/dist/internal/discovery/agent-config.js +10 -10
- package/dist/internal/discovery/agent.d.ts.map +1 -1
- package/dist/internal/discovery/agent.js +10 -10
- package/dist/internal/discovery/channels.d.ts.map +1 -1
- package/dist/internal/discovery/channels.js +20 -16
- package/dist/internal/discovery/context.d.ts +16 -0
- package/dist/internal/discovery/context.d.ts.map +1 -1
- package/dist/internal/discovery/context.js +67 -2
- package/dist/internal/discovery/cursor-plugin.js +8 -8
- package/dist/internal/discovery/extension-overlay.d.ts.map +1 -1
- package/dist/internal/discovery/extension-overlay.js +2 -6
- package/dist/internal/discovery/extensions.js +15 -8
- package/dist/internal/discovery/info.d.ts +2 -2
- package/dist/internal/discovery/info.d.ts.map +1 -1
- package/dist/internal/discovery/info.js +9 -9
- package/dist/internal/discovery/instructions.d.ts.map +1 -1
- package/dist/internal/discovery/instructions.js +3 -6
- package/dist/internal/discovery/instrumentation.d.ts +10 -0
- package/dist/internal/discovery/instrumentation.d.ts.map +1 -0
- package/dist/internal/discovery/instrumentation.js +29 -0
- package/dist/internal/discovery/modules.d.ts.map +1 -1
- package/dist/internal/discovery/modules.js +7 -10
- package/dist/internal/discovery/project-public.d.ts +16 -0
- package/dist/internal/discovery/project-public.d.ts.map +1 -0
- package/dist/internal/discovery/project-public.js +54 -0
- package/dist/internal/discovery/project.d.ts +6 -0
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +40 -8
- package/dist/internal/discovery/runtime.d.ts.map +1 -1
- package/dist/internal/discovery/runtime.js +8 -8
- package/dist/internal/discovery/services.d.ts +5 -4
- package/dist/internal/discovery/services.d.ts.map +1 -1
- package/dist/internal/discovery/services.js +12 -6
- package/dist/internal/discovery.d.ts +1 -1
- package/dist/internal/discovery.d.ts.map +1 -1
- package/dist/internal/discovery.js +1 -1
- package/dist/internal/event-mapper.d.ts.map +1 -1
- package/dist/internal/event-mapper.js +1 -0
- package/dist/internal/expected-delivery-failure.d.ts.map +1 -1
- package/dist/internal/expected-delivery-failure.js +6 -0
- package/dist/internal/factory-resource-channel.d.ts +1 -1
- package/dist/internal/factory-resource-channel.d.ts.map +1 -1
- package/dist/internal/filesystem/nearest.d.ts +1 -0
- package/dist/internal/filesystem/nearest.d.ts.map +1 -1
- package/dist/internal/filesystem/nearest.js +1 -0
- package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -1
- package/dist/internal/filesystem/sdk-schemas.js +4 -3
- package/dist/internal/filesystem/tools.d.ts.map +1 -1
- package/dist/internal/filesystem/tools.js +1 -1
- package/dist/internal/handleAgentServeTrigger.d.ts +10 -0
- package/dist/internal/handleAgentServeTrigger.d.ts.map +1 -1
- package/dist/internal/handleAgentServeTrigger.js +3 -0
- package/dist/internal/hmac-secret-values.d.ts +48 -0
- package/dist/internal/hmac-secret-values.d.ts.map +1 -0
- package/dist/internal/hmac-secret-values.js +68 -0
- package/dist/internal/host-otel.d.ts +1 -1
- package/dist/internal/host-otel.d.ts.map +1 -1
- package/dist/internal/host-otel.js +5 -0
- package/dist/internal/host-platforms.d.ts.map +1 -1
- package/dist/internal/host-platforms.js +8 -2
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +6 -2
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +1 -0
- package/dist/internal/ids.d.ts +8 -0
- package/dist/internal/ids.d.ts.map +1 -1
- package/dist/internal/ids.js +20 -0
- package/dist/internal/init-scaffold.js +1 -1
- package/dist/internal/interview/agent-questions.d.ts +1 -1
- package/dist/internal/interview/agent-questions.d.ts.map +1 -1
- package/dist/internal/interview/agent-questions.js +1 -1
- package/dist/internal/interview/question.d.ts +2 -2
- package/dist/internal/interview/question.d.ts.map +1 -1
- package/dist/internal/interview/question.js +2 -2
- package/dist/internal/json-schema.d.ts +7 -7
- package/dist/internal/json-schema.d.ts.map +1 -1
- package/dist/internal/json-schema.js +16 -23
- package/dist/internal/mcp-endpoint.d.ts +16 -4
- package/dist/internal/mcp-endpoint.d.ts.map +1 -1
- package/dist/internal/mcp-endpoint.js +18 -6
- package/dist/internal/mcp-host.d.ts +9 -0
- package/dist/internal/mcp-host.d.ts.map +1 -1
- package/dist/internal/mcp-host.js +15 -0
- package/dist/internal/otel/collector.d.ts +5 -0
- package/dist/internal/otel/collector.d.ts.map +1 -1
- package/dist/internal/otel/collector.js +27 -6
- package/dist/internal/otel/config.d.ts +37 -22
- package/dist/internal/otel/config.d.ts.map +1 -1
- package/dist/internal/otel/config.js +132 -125
- package/dist/internal/otel/conversation-span-processor.d.ts +9 -0
- package/dist/internal/otel/conversation-span-processor.d.ts.map +1 -0
- package/dist/internal/otel/conversation-span-processor.js +34 -0
- package/dist/internal/otel/customer.d.ts +52 -0
- package/dist/internal/otel/customer.d.ts.map +1 -0
- package/dist/internal/otel/customer.js +727 -0
- package/dist/internal/otel/runtime.d.ts +12 -16
- package/dist/internal/otel/runtime.d.ts.map +1 -1
- package/dist/internal/otel/runtime.js +37 -218
- package/dist/internal/otel-env.d.ts +6 -0
- package/dist/internal/otel-env.d.ts.map +1 -0
- package/dist/internal/otel-env.js +5 -0
- package/dist/internal/package-inline-stdio.d.ts.map +1 -1
- package/dist/internal/package-inline-stdio.js +21 -6
- package/dist/internal/reminder-runner.d.ts +9 -4
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +12 -10
- package/dist/internal/reminder-schedule.d.ts +1 -0
- package/dist/internal/reminder-schedule.d.ts.map +1 -1
- package/dist/internal/reminder-schedule.js +1 -0
- package/dist/internal/sdk-runner.d.ts +4 -3
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +157 -17
- package/dist/internal/secret-alternatives.d.ts +11 -0
- package/dist/internal/secret-alternatives.d.ts.map +1 -0
- package/dist/internal/secret-alternatives.js +13 -0
- package/dist/internal/server.d.ts +4 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +27 -26
- package/dist/internal/session-engine.d.ts +27 -0
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +154 -25
- package/dist/internal/slack-provision-client.js +1 -1
- package/dist/internal/sqlite-experimental-warning.d.ts +2 -0
- package/dist/internal/sqlite-experimental-warning.d.ts.map +1 -0
- package/dist/internal/sqlite-experimental-warning.js +22 -0
- package/dist/internal/store-api-protocol.d.ts +1 -1
- package/dist/internal/store-api-protocol.d.ts.map +1 -1
- package/dist/internal/store-api-protocol.js +1 -1
- package/dist/internal/testing/conversation-identity-vectors.d.ts +6 -1
- package/dist/internal/testing/conversation-identity-vectors.d.ts.map +1 -1
- package/dist/internal/testing/conversation-identity-vectors.js +34 -0
- package/dist/internal/testing/hmac-secret-vectors.d.ts +38 -0
- package/dist/internal/testing/hmac-secret-vectors.d.ts.map +1 -0
- package/dist/internal/testing/hmac-secret-vectors.js +89 -0
- package/dist/internal/testing/pagerduty-continuation-fixtures.d.ts +42 -0
- package/dist/internal/testing/pagerduty-continuation-fixtures.d.ts.map +1 -0
- package/dist/internal/testing/pagerduty-continuation-fixtures.js +175 -0
- package/dist/internal/update-check.d.ts +2 -2
- package/dist/internal/update-check.d.ts.map +1 -1
- package/dist/internal/update-check.js +3 -3
- package/dist/internal/zod-schema.d.ts +14 -0
- package/dist/internal/zod-schema.d.ts.map +1 -0
- package/dist/internal/zod-schema.js +22 -0
- package/dist/internal/zod3-datetime.d.ts +12 -0
- package/dist/internal/zod3-datetime.d.ts.map +1 -0
- package/dist/internal/zod3-datetime.js +17 -0
- package/dist/otel-public.d.ts +2 -3
- package/dist/otel-public.d.ts.map +1 -1
- package/dist/otel-public.js +2 -2
- package/dist/otel.d.ts +3 -102
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +61 -97
- package/dist/playground/assets/cursor-icons-16-DmHBTm1-.woff2 +0 -0
- package/dist/playground/assets/index-CyPkf2y7.css +1 -0
- package/dist/playground/assets/index-DpbzbqFY.js +62 -0
- package/dist/playground/index.html +2 -2
- package/dist/public-deprecated.d.ts +36 -0
- package/dist/public-deprecated.d.ts.map +1 -0
- package/dist/public-deprecated.js +39 -0
- package/dist/tools.d.ts +16 -13
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +4 -3
- package/dist/types.d.ts +286 -104
- package/dist/types.d.ts.map +1 -1
- package/docs/changelog.md +91 -0
- package/docs/guides/hooks.md +7 -3
- package/docs/guides/mcp-oauth.md +12 -0
- package/docs/guides/opentelemetry.md +150 -180
- package/docs/guides/pagerduty.md +341 -0
- package/docs/guides/slack.md +41 -0
- package/docs/reference/agent-config.md +21 -1
- package/docs/reference/channels.md +7 -2
- package/docs/reference/cli.md +27 -0
- package/docs/reference/hooks.md +10 -5
- package/docs/reference/sessions.md +46 -1
- package/docs/reference/tools.md +4 -3
- package/package.json +39 -8
- package/schemas/grokbot-answers.schema.json +11 -0
- package/skills/framework-map/SKILL.md +2 -1
- package/skills/migrate-v2/SKILL.md +1 -1
- package/skills/otel/SKILL.md +30 -46
- package/templates/agentic-owners/README.md +6 -1
- package/templates/agentic-owners/bot/lib/owners/decision.ts +31 -5
- package/templates/agentic-owners/bot/lib/owners/globalOverride.ts +60 -0
- package/templates/agentic-owners/bot/lib/owners/match.ts +85 -19
- package/templates/agentic-owners/bot/lib/owners/parse.ts +133 -2
- package/templates/agentic-owners/bot/lib/owners/types.ts +23 -0
- package/templates/code-wiki/evals/wiki.eval.ts +2 -2
- package/dist/docs/assets/chunks/@localSearchIndexroot.3ebvCWKy.js +0 -1
- package/dist/docs/assets/chunks/channel.BOebySCN.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C55IaN-T.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C55IaN-T.js +0 -1
- package/dist/docs/assets/chunks/clone.D06pA7ML.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DddRVjeq.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.CVCRSuQK.js +0 -162
- package/dist/docs/assets/guides_opentelemetry.md.Ck1o2frw.js +0 -45
- package/dist/docs/assets/guides_opentelemetry.md.Ck1o2frw.lean.js +0 -1
- package/dist/docs/assets/reference_sessions.md.C8FXuGwk.js +0 -1
- package/dist/docs/assets/reference_sessions.md.C8FXuGwk.lean.js +0 -1
- package/dist/playground/assets/cursor-icons-16-gwXtdAvu.woff2 +0 -0
- package/dist/playground/assets/index-DKKdkF29.js +0 -62
- package/dist/playground/assets/index-DpKinTMs.css +0 -1
- package/templates/grokbot-agents/.gitignore +0 -4
- package/templates/security-help/.gitignore +0 -4
- /package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.lean.js → guides_hooks.md.B2XfGX50.lean.js} +0 -0
- /package/dist/docs/assets/{reference_channels.md.DYg0CLud.lean.js → reference_channels.md.CNNIS6K7.lean.js} +0 -0
- /package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.lean.js → reference_schedules.md.BqWnJES4.lean.js} +0 -0
- /package/dist/docs/assets/{reference_skills.md.C2GWh7g8.lean.js → reference_skills.md.Ckddg6KX.lean.js} +0 -0
- /package/dist/docs/assets/{reference_tools.md.08XR7lIl.lean.js → reference_tools.md.Bo0UfT0a.lean.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cursor/bdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.26",
|
|
4
4
|
"description": "Build, test, and deploy BDK bots and agents as code on Cursor's agent harness.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"repository": {
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"package.json",
|
|
42
42
|
"LICENSE.md",
|
|
43
43
|
"README.md",
|
|
44
|
+
"CHANGELOG.md",
|
|
44
45
|
"AGENTS.md"
|
|
45
46
|
],
|
|
46
47
|
"exports": {
|
|
@@ -57,6 +58,20 @@
|
|
|
57
58
|
"import": "./dist/executors.js",
|
|
58
59
|
"default": "./dist/executors.js"
|
|
59
60
|
},
|
|
61
|
+
"./internal/continuation": {
|
|
62
|
+
"anysphere-source": "./src/internal/continuation.ts",
|
|
63
|
+
"bun": "./dist/internal/continuation.js",
|
|
64
|
+
"types": "./dist/internal/continuation.d.ts",
|
|
65
|
+
"import": "./dist/internal/continuation.js",
|
|
66
|
+
"default": "./dist/internal/continuation.js"
|
|
67
|
+
},
|
|
68
|
+
"./internal/discovery": {
|
|
69
|
+
"anysphere-source": "./src/internal/discovery.ts",
|
|
70
|
+
"bun": "./dist/internal/discovery.js",
|
|
71
|
+
"types": "./dist/internal/discovery.d.ts",
|
|
72
|
+
"import": "./dist/internal/discovery.js",
|
|
73
|
+
"default": "./dist/internal/discovery.js"
|
|
74
|
+
},
|
|
60
75
|
"./internal/cursor-hosted": {
|
|
61
76
|
"anysphere-source": "./src/storage-backends/cursor-hosted.ts",
|
|
62
77
|
"bun": "./dist/storage-backends/cursor-hosted.js",
|
|
@@ -92,6 +107,13 @@
|
|
|
92
107
|
"import": "./dist/otel.js",
|
|
93
108
|
"default": "./dist/otel.js"
|
|
94
109
|
},
|
|
110
|
+
"./internal/otel-env": {
|
|
111
|
+
"anysphere-source": "./src/internal/otel-env.ts",
|
|
112
|
+
"bun": "./dist/internal/otel-env.js",
|
|
113
|
+
"types": "./dist/internal/otel-env.d.ts",
|
|
114
|
+
"import": "./dist/internal/otel-env.js",
|
|
115
|
+
"default": "./dist/internal/otel-env.js"
|
|
116
|
+
},
|
|
95
117
|
"./internal/storage": {
|
|
96
118
|
"anysphere-source": "./src/internal/storage.ts",
|
|
97
119
|
"bun": "./dist/internal/storage.js",
|
|
@@ -141,6 +163,13 @@
|
|
|
141
163
|
"import": "./dist/channels/bitbucket/index.js",
|
|
142
164
|
"default": "./dist/channels/bitbucket/index.js"
|
|
143
165
|
},
|
|
166
|
+
"./channels/pagerduty": {
|
|
167
|
+
"anysphere-source": "./src/channels/pagerduty/index.ts",
|
|
168
|
+
"bun": "./dist/channels/pagerduty/index.js",
|
|
169
|
+
"types": "./dist/channels/pagerduty/index.d.ts",
|
|
170
|
+
"import": "./dist/channels/pagerduty/index.js",
|
|
171
|
+
"default": "./dist/channels/pagerduty/index.js"
|
|
172
|
+
},
|
|
144
173
|
"./channels/deployments": {
|
|
145
174
|
"anysphere-source": "./src/channels/deployments/index.ts",
|
|
146
175
|
"types": "./dist/channels/deployments/index.d.ts",
|
|
@@ -336,7 +365,13 @@
|
|
|
336
365
|
"zod": "^3.25.0 || ^4.0.0"
|
|
337
366
|
},
|
|
338
367
|
"devDependencies": {
|
|
368
|
+
"@anysphere/agent-exec": "1.0.0",
|
|
369
|
+
"@anysphere/agent-store-sync": "1.0.0",
|
|
370
|
+
"@anysphere/context": "1.0.0",
|
|
371
|
+
"@anysphere/proto": "1.0.0",
|
|
372
|
+
"@anysphere/ui": "1.0.0",
|
|
339
373
|
"@braintree/sanitize-url": "7.1.2",
|
|
374
|
+
"@microsoft/api-extractor": "7.59.4",
|
|
340
375
|
"@stylexswc/rs-compiler": "^0.18.0",
|
|
341
376
|
"@tanstack/react-virtual": "3.13.23",
|
|
342
377
|
"@types/js-yaml": "4.0.9",
|
|
@@ -365,13 +400,8 @@
|
|
|
365
400
|
"vitepress-plugin-mermaid": "^2.0.17",
|
|
366
401
|
"vitest": "5.0.3",
|
|
367
402
|
"yaml": "^2.4.2",
|
|
368
|
-
"zod": "
|
|
369
|
-
"zustand": "^5.0.9"
|
|
370
|
-
"@anysphere/agent-exec": "1.0.0",
|
|
371
|
-
"@anysphere/context": "1.0.0",
|
|
372
|
-
"@anysphere/agent-store-sync": "1.0.0",
|
|
373
|
-
"@anysphere/proto": "1.0.0",
|
|
374
|
-
"@anysphere/ui": "1.0.0"
|
|
403
|
+
"zod": "4.6.5",
|
|
404
|
+
"zustand": "^5.0.9"
|
|
375
405
|
},
|
|
376
406
|
"scripts": {
|
|
377
407
|
"build": "tsc -p tsconfig.build.json && node scripts/bundle-publish-shims.mjs && node scripts/copy-extension-assets.mjs && pnpm run build:playground && pnpm run docs:build",
|
|
@@ -380,6 +410,7 @@
|
|
|
380
410
|
"build:playground": "vite build --config playground/vite.config.ts",
|
|
381
411
|
"build:playground:central": "vite build --mode central --config playground/vite.config.ts",
|
|
382
412
|
"dev:playground": "vite --config playground/vite.config.ts",
|
|
413
|
+
"api:report": "node scripts/api-report.mjs",
|
|
383
414
|
"check": "oxlint src && tsc --noEmit && tsc --noEmit -p playground/tsconfig.json",
|
|
384
415
|
"docs:dev": "vitepress dev docs",
|
|
385
416
|
"docs:build": "vitepress build docs",
|
|
@@ -159,6 +159,9 @@
|
|
|
159
159
|
},
|
|
160
160
|
"connectors": {
|
|
161
161
|
"type": "object",
|
|
162
|
+
"propertyNames": {
|
|
163
|
+
"type": "string"
|
|
164
|
+
},
|
|
162
165
|
"additionalProperties": {
|
|
163
166
|
"type": "object",
|
|
164
167
|
"properties": {
|
|
@@ -200,8 +203,14 @@
|
|
|
200
203
|
},
|
|
201
204
|
"fillIns": {
|
|
202
205
|
"type": "object",
|
|
206
|
+
"propertyNames": {
|
|
207
|
+
"type": "string"
|
|
208
|
+
},
|
|
203
209
|
"additionalProperties": {
|
|
204
210
|
"type": "object",
|
|
211
|
+
"propertyNames": {
|
|
212
|
+
"type": "string"
|
|
213
|
+
},
|
|
205
214
|
"additionalProperties": {
|
|
206
215
|
"type": "string",
|
|
207
216
|
"minLength": 1,
|
|
@@ -273,6 +282,7 @@
|
|
|
273
282
|
},
|
|
274
283
|
"at": {
|
|
275
284
|
"type": "string",
|
|
285
|
+
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|[+-]\\d{2}:?\\d{2})$",
|
|
276
286
|
"format": "date-time",
|
|
277
287
|
"title": "Deploy at",
|
|
278
288
|
"description": "Deploy at (ISO 8601 with a timezone)?",
|
|
@@ -309,6 +319,7 @@
|
|
|
309
319
|
},
|
|
310
320
|
"cutoverAt": {
|
|
311
321
|
"type": "string",
|
|
322
|
+
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|[+-]\\d{2}:?\\d{2})$",
|
|
312
323
|
"format": "date-time",
|
|
313
324
|
"title": "Slack cutover at",
|
|
314
325
|
"description": "Switch Slack traffic at (ISO 8601 with a timezone)?",
|
|
@@ -54,12 +54,13 @@ Path is identity. Full list: README "Folder structure".
|
|
|
54
54
|
| `bot/channels/*.ts` | Slack / GitHub / custom HTTP |
|
|
55
55
|
| `bot/hooks/*.ts` | Observe-only |
|
|
56
56
|
| `bot/artifacts.ts` | Durable tagged outputs (`defineArtifacts`) |
|
|
57
|
-
| `bot/otel.ts` | Factory-only OpenTelemetry (`defineOtel`) |
|
|
58
57
|
| `bot/schedules/*` | Cron. Never auto-fire under `--dev` |
|
|
59
58
|
| `bot/sandbox/workspace/` | Session seed files (local only) |
|
|
60
59
|
| `bot/lib/` | Import-only. Never discovered |
|
|
61
60
|
| `evals/**/*.eval.ts` | Case id is the path under `evals/` |
|
|
62
61
|
|
|
62
|
+
OpenTelemetry export uses `OTEL_*` environment variables. See the guide section "Migrating from serve({ otel })".
|
|
63
|
+
|
|
63
64
|
Discovery rejects `bot/result.ts`. To act on a turn's decision, record it with
|
|
64
65
|
an authored tool and act on it from a `turn.completed` hook.
|
|
65
66
|
|
|
@@ -393,5 +393,5 @@ After the deploy is running:
|
|
|
393
393
|
`bdk session <ses_...> --prod --slug <slug>` until the latest run
|
|
394
394
|
finishes.
|
|
395
395
|
|
|
396
|
-
The
|
|
396
|
+
The deploy skill (`skills/deploy/SKILL.md`) covers deploys with an attached
|
|
397
397
|
service account.
|
package/skills/otel/SKILL.md
CHANGED
|
@@ -1,64 +1,48 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bdk-otel
|
|
3
3
|
description: >-
|
|
4
|
-
Wire OpenTelemetry export
|
|
5
|
-
|
|
4
|
+
Wire OpenTelemetry export with OTEL_* environment variables.
|
|
5
|
+
Use when adding a collector, headers, or metrics temporality.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# BDK OpenTelemetry
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
Customers configure export with standard `OTEL_*` environment variables
|
|
11
|
+
and secrets. There is no instrumentation file and no `defineOtel`.
|
|
12
|
+
`ctx.host.otel` is deprecated. Use `metrics.getMeter` and
|
|
13
|
+
`trace.getTracer`. A span during a turn gets `cursor.conversation.id`
|
|
14
|
+
from the active context. A metric does not. Call
|
|
15
|
+
`currentConversationId` from `@cursor/bdk/otel` and set it yourself.
|
|
12
16
|
|
|
13
17
|
Guide: `docs/guides/opentelemetry.md`.
|
|
14
18
|
|
|
15
|
-
|
|
19
|
+
```bash
|
|
20
|
+
export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.example.com
|
|
21
|
+
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer $OTEL_TOKEN"
|
|
22
|
+
export OTEL_SERVICE_NAME=incident-agent
|
|
23
|
+
```
|
|
16
24
|
|
|
17
|
-
|
|
25
|
+
BDK installs trace, metric, and log providers before `bot/agent.ts`.
|
|
26
|
+
A module-scope `trace.getTracer()`, `metrics.getMeter()`, or
|
|
27
|
+
`logs.getLogger()` binds to those providers. Exporters attach when
|
|
28
|
+
secrets load. With no `OTEL_EXPORTER_OTLP_*` endpoint, export stays
|
|
29
|
+
off. Outbound fetch does not gain a `traceparent` header, and the
|
|
30
|
+
session collector stays disabled.
|
|
18
31
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
`OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf|http/json`)
|
|
22
|
-
2. `serve(dir, { otel: { … } })`. `otel: false` disables env and
|
|
23
|
-
authored config.
|
|
32
|
+
Metrics use delta temporality by default. For Grafana Cloud, set
|
|
33
|
+
`OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulative`.
|
|
24
34
|
|
|
25
|
-
`
|
|
26
|
-
|
|
27
|
-
A customer agent uses the environment variables above.
|
|
35
|
+
Do not pass `otel` to `serve`. Do not add `bot/otel.ts`.
|
|
36
|
+
Read the guide section "Migrating from serve({ otel })".
|
|
28
37
|
|
|
29
38
|
Hosted agents:
|
|
30
39
|
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
collector host to `hosting.egressDomains`.
|
|
40
|
+
- Put the same variables in `bdk secrets set`, and add the collector
|
|
41
|
+
host to `hosting.egressDomains`.
|
|
34
42
|
- Header values are URL-encoded (`Authorization=Basic%20...`).
|
|
35
|
-
- A new header from `bdk secrets set` applies on the next export.
|
|
36
|
-
You do not redeploy for a token change.
|
|
37
|
-
- BDK logs an error when an exporter host is not in
|
|
38
|
-
`hosting.egressDomains`.
|
|
39
|
-
- Spans and metrics from before the first request are not exported.
|
|
40
|
-
- If the OpenTelemetry config fails, BDK logs the error and the
|
|
41
|
-
request still completes.
|
|
42
|
-
|
|
43
|
-
| Signal | Default |
|
|
44
|
-
| --- | --- |
|
|
45
|
-
| Traces | on (`agent_sdk.http`; `agent_sdk.turn` → tool / subagent) |
|
|
46
|
-
| Metrics | on (`cursor.token.usage`, `cursor.tool.calls`, `cursor.cost.usage`) |
|
|
47
|
-
| Logs | off (`logs: true` or `OTEL_LOGS_EXPORTER=otlp`) |
|
|
48
|
-
|
|
49
|
-
Prompt text and tool payloads stay off the wire unless you set
|
|
50
|
-
`OTEL_LOG_USER_PROMPTS` / `OTEL_LOG_TOOL_CONTENT`. A failed tool
|
|
51
|
-
span status includes a short failure reason. BDK keeps its own
|
|
52
|
-
exporters when the process already has a provider.
|
|
53
|
-
|
|
54
|
-
## Custom metrics
|
|
55
|
-
|
|
56
|
-
```ts
|
|
57
|
-
ctx.host.otel.setAttributes({ "abc.ticket_id": "INC-123" });
|
|
58
|
-
ctx.host.otel.increment("abc.ticket.resolved");
|
|
59
|
-
ctx.host.otel.record("abc.approval.duration_ms", 1420);
|
|
60
|
-
```
|
|
43
|
+
- A new header or URL from `bdk secrets set` applies on the next export.
|
|
61
44
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
`
|
|
45
|
+
Not supported yet: custom span processors, samplers, views, your own
|
|
46
|
+
SDK, and library auto-instrumentation. A span that ends before the
|
|
47
|
+
exporters attach is still exported. `OTEL_TRACES_SAMPLER` and
|
|
48
|
+
`OTEL_METRIC_EXPORT_INTERVAL` are read when the provider is built.
|
|
@@ -51,7 +51,12 @@ policies:
|
|
|
51
51
|
`self_review: true` lets a listed `user:` owner's own PRs auto-approve
|
|
52
52
|
(team membership is not resolved with repo-scoped credentials, so team
|
|
53
53
|
ownership stays fail-closed for authors). `global_exclusions` (root
|
|
54
|
-
policy only) opts paths out entirely.
|
|
54
|
+
policy only) opts paths out entirely. `global_overrides` (root policy
|
|
55
|
+
only, `self_review: true` required) let their owners self-review a file
|
|
56
|
+
whose advisory winner they do not own. They add no owners and leave a file
|
|
57
|
+
with no owner unowned. They leave exclusions, always-approve, hard, and
|
|
58
|
+
notify winners unchanged, and they skip a `skip_teams` team or a
|
|
59
|
+
`skip_paths` path.
|
|
55
60
|
|
|
56
61
|
## What the agent does
|
|
57
62
|
|
|
@@ -140,16 +140,42 @@ export function authorOwnsRule(
|
|
|
140
140
|
return rule.users.some((user) => normalizeHandle(user) === handle);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
/**
|
|
144
|
+
* Whether the author may clear `rule` by self-review. A merged override
|
|
145
|
+
* records who may self-review in `selfReviewTeams` / `selfReviewUsers`:
|
|
146
|
+
* the winner's owners when that rule sets `self_review`, and the override's
|
|
147
|
+
* owners when the override sets it.
|
|
148
|
+
*/
|
|
149
|
+
export function authorMaySelfReview(
|
|
150
|
+
rule: AgenticOwnersPathRule,
|
|
151
|
+
author: ApprovalAuthor | undefined,
|
|
152
|
+
): boolean {
|
|
153
|
+
if (!rule.selfReview) {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
if (rule.selfReviewTeams === undefined && rule.selfReviewUsers === undefined) {
|
|
157
|
+
return authorOwnsRule(rule, author);
|
|
158
|
+
}
|
|
159
|
+
return authorOwnsRule(
|
|
160
|
+
{
|
|
161
|
+
...rule,
|
|
162
|
+
teams: rule.selfReviewTeams ?? [],
|
|
163
|
+
users: rule.selfReviewUsers ?? [],
|
|
164
|
+
},
|
|
165
|
+
author,
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
|
|
143
169
|
/**
|
|
144
170
|
* The first matched rule (closest-match order is preserved) for which the author
|
|
145
|
-
*
|
|
146
|
-
*
|
|
171
|
+
* may self-review — the rule that authorizes the author to approve their own
|
|
172
|
+
* change. Undefined when none applies.
|
|
147
173
|
*/
|
|
148
174
|
function selfReviewRuleForAuthor(
|
|
149
175
|
matchedRules: readonly AgenticOwnersPathRule[],
|
|
150
176
|
author: ApprovalAuthor | undefined,
|
|
151
177
|
): AgenticOwnersPathRule | undefined {
|
|
152
|
-
return matchedRules.find((rule) =>
|
|
178
|
+
return matchedRules.find((rule) => authorMaySelfReview(rule, author));
|
|
153
179
|
}
|
|
154
180
|
|
|
155
181
|
/**
|
|
@@ -180,7 +206,7 @@ export function authorSelfReviewCoversMatchedRules(
|
|
|
180
206
|
);
|
|
181
207
|
return (
|
|
182
208
|
reviewCapableRules.length > 0 &&
|
|
183
|
-
reviewCapableRules.every((rule) =>
|
|
209
|
+
reviewCapableRules.every((rule) => authorMaySelfReview(rule, author))
|
|
184
210
|
);
|
|
185
211
|
}
|
|
186
212
|
|
|
@@ -384,7 +410,7 @@ function baseApprovalVerdict(input: {
|
|
|
384
410
|
// owner self_review on that same rule. Low-risk auto-approve never clears a
|
|
385
411
|
// hard gate without self_review.
|
|
386
412
|
const blockingHardGate = reviewRequiredRules.find(
|
|
387
|
-
(rule) => ruleIsHardGate(rule) && !(rule
|
|
413
|
+
(rule) => ruleIsHardGate(rule) && !authorMaySelfReview(rule, author),
|
|
388
414
|
);
|
|
389
415
|
if (blockingHardGate !== undefined) {
|
|
390
416
|
return requestVerdict("a matched policy requires human review");
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// Vendored from the Agentic Owners policy core; see README.md in this
|
|
2
|
+
// directory. Precedence must stay identical to the source's.
|
|
3
|
+
|
|
4
|
+
import type { AgenticOwnersPathRule } from "./types.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Winners a root `global_overrides` entry must not change: owner-clearing
|
|
8
|
+
* carve-outs, hard gates, and notify rules.
|
|
9
|
+
*/
|
|
10
|
+
export function blocksGlobalOverride(rule: AgenticOwnersPathRule): boolean {
|
|
11
|
+
return (
|
|
12
|
+
rule.globalExclusion === true ||
|
|
13
|
+
rule.alwaysApprove ||
|
|
14
|
+
rule.mode === "hard" ||
|
|
15
|
+
rule.humanReviewRequired ||
|
|
16
|
+
rule.mode === "notify"
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function unionOwners(lists: readonly (readonly string[])[]): string[] {
|
|
21
|
+
return [...new Set(lists.flat())];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function selfReviewOwners(rule: AgenticOwnersPathRule): {
|
|
25
|
+
readonly selfReviewTeams: readonly string[];
|
|
26
|
+
readonly selfReviewUsers: readonly string[];
|
|
27
|
+
} {
|
|
28
|
+
return {
|
|
29
|
+
selfReviewTeams: rule.selfReviewTeams ?? rule.teams,
|
|
30
|
+
selfReviewUsers: rule.selfReviewUsers ?? rule.users,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Let override owners clear a file the winner owns by self-review. The
|
|
36
|
+
* winner's owners, reviewers, and lane are unchanged, so an author outside the
|
|
37
|
+
* override needs exactly the review they would without it. The winner's
|
|
38
|
+
* owners self-review only when the winner sets `self_review`. An override
|
|
39
|
+
* whose `self_review` a policy edit withheld grants nothing.
|
|
40
|
+
*/
|
|
41
|
+
export function mergeGlobalOverride(
|
|
42
|
+
winner: AgenticOwnersPathRule,
|
|
43
|
+
overrides: readonly AgenticOwnersPathRule[],
|
|
44
|
+
): AgenticOwnersPathRule {
|
|
45
|
+
const granting = overrides.filter((rule) => rule.selfReview);
|
|
46
|
+
if (granting.length === 0) {
|
|
47
|
+
return winner;
|
|
48
|
+
}
|
|
49
|
+
const selfReviewers = winner.selfReview ? [winner, ...granting] : granting;
|
|
50
|
+
return {
|
|
51
|
+
...winner,
|
|
52
|
+
selfReview: true,
|
|
53
|
+
selfReviewTeams: unionOwners(
|
|
54
|
+
selfReviewers.map((rule) => selfReviewOwners(rule).selfReviewTeams),
|
|
55
|
+
),
|
|
56
|
+
selfReviewUsers: unionOwners(
|
|
57
|
+
selfReviewers.map((rule) => selfReviewOwners(rule).selfReviewUsers),
|
|
58
|
+
),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { posix } from "node:path";
|
|
5
5
|
import { AGENTIC_OWNERS_DIR } from "./constants.js";
|
|
6
|
+
import { blocksGlobalOverride, mergeGlobalOverride } from "./globalOverride.js";
|
|
6
7
|
import { patternMatchesFile, patternSpecificity } from "./matching.js";
|
|
7
8
|
import type {
|
|
8
9
|
AgenticOwnersMatchedConfig,
|
|
@@ -16,6 +17,11 @@ type PathScopedRule = {
|
|
|
16
17
|
readonly paths: readonly string[];
|
|
17
18
|
/** Root-only repository-wide exemption, produced from `global_exclusions`. */
|
|
18
19
|
readonly globalExclusion?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Root `global_overrides` entry. Applied after precedence, not as a
|
|
22
|
+
* candidate for it.
|
|
23
|
+
*/
|
|
24
|
+
readonly globalOverride?: boolean;
|
|
19
25
|
};
|
|
20
26
|
|
|
21
27
|
/**
|
|
@@ -116,23 +122,84 @@ function compareRulePrecedence(
|
|
|
116
122
|
return left.sourcePath.localeCompare(right.sourcePath);
|
|
117
123
|
}
|
|
118
124
|
|
|
119
|
-
function
|
|
120
|
-
filepath,
|
|
121
|
-
rules,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
let winner:
|
|
127
|
-
|
|
125
|
+
function selectRuleForFile(
|
|
126
|
+
filepath: string,
|
|
127
|
+
rules: readonly AgenticOwnersPathRule[],
|
|
128
|
+
): {
|
|
129
|
+
readonly winner: { readonly rule: AgenticOwnersPathRule; readonly order: number } | undefined;
|
|
130
|
+
readonly overrides: readonly { readonly rule: AgenticOwnersPathRule; readonly order: number }[];
|
|
131
|
+
} {
|
|
132
|
+
let winner: { readonly rule: AgenticOwnersPathRule; readonly order: number } | undefined;
|
|
133
|
+
const overrides: { readonly rule: AgenticOwnersPathRule; readonly order: number }[] = [];
|
|
134
|
+
for (const [order, rule] of rules.entries()) {
|
|
128
135
|
if (!ruleMatchesFile({ rule, filepath })) {
|
|
129
136
|
continue;
|
|
130
137
|
}
|
|
131
|
-
if (
|
|
132
|
-
|
|
138
|
+
if (rule.globalOverride === true) {
|
|
139
|
+
overrides.push({ rule, order });
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
if (winner === undefined || compareRulePrecedence(rule, winner.rule, filepath) > 0) {
|
|
143
|
+
winner = { rule, order };
|
|
133
144
|
}
|
|
134
145
|
}
|
|
135
|
-
return winner;
|
|
146
|
+
return { winner, overrides };
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function teamsSkippedByOverride(
|
|
150
|
+
winner: AgenticOwnersPathRule,
|
|
151
|
+
override: AgenticOwnersPathRule,
|
|
152
|
+
): boolean {
|
|
153
|
+
const skipped = override.skipTeams;
|
|
154
|
+
if (skipped === undefined || skipped.length === 0) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
const names = new Set(skipped.map((team) => team.trim().toLowerCase()));
|
|
158
|
+
return winner.teams.some((team) => names.has(team.trim().toLowerCase()));
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
function overrideAppliesToFile(
|
|
162
|
+
override: AgenticOwnersPathRule,
|
|
163
|
+
winner: AgenticOwnersPathRule,
|
|
164
|
+
filepath: string,
|
|
165
|
+
): boolean {
|
|
166
|
+
if (teamsSkippedByOverride(winner, override)) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
const skipPaths = override.skipPaths;
|
|
170
|
+
if (skipPaths === undefined || skipPaths.length === 0) {
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
return !ruleMatchesFile({ rule: { ...override, paths: skipPaths }, filepath });
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function effectiveRuleSelector(
|
|
177
|
+
rules: readonly AgenticOwnersPathRule[],
|
|
178
|
+
): (filepath: string) => AgenticOwnersPathRule | undefined {
|
|
179
|
+
const cache = new Map<string, AgenticOwnersPathRule>();
|
|
180
|
+
return (filepath) => {
|
|
181
|
+
const { winner, overrides } = selectRuleForFile(filepath, rules);
|
|
182
|
+
if (winner === undefined || blocksGlobalOverride(winner.rule)) {
|
|
183
|
+
return winner?.rule;
|
|
184
|
+
}
|
|
185
|
+
const applicable = overrides.filter((entry) =>
|
|
186
|
+
overrideAppliesToFile(entry.rule, winner.rule, filepath),
|
|
187
|
+
);
|
|
188
|
+
if (applicable.length === 0) {
|
|
189
|
+
return winner.rule;
|
|
190
|
+
}
|
|
191
|
+
const key = `${winner.order}:${applicable.map((entry) => entry.order).join(",")}`;
|
|
192
|
+
const cached = cache.get(key);
|
|
193
|
+
if (cached !== undefined) {
|
|
194
|
+
return cached;
|
|
195
|
+
}
|
|
196
|
+
const effective = mergeGlobalOverride(
|
|
197
|
+
winner.rule,
|
|
198
|
+
applicable.map((entry) => entry.rule),
|
|
199
|
+
);
|
|
200
|
+
cache.set(key, effective);
|
|
201
|
+
return effective;
|
|
202
|
+
};
|
|
136
203
|
}
|
|
137
204
|
|
|
138
205
|
export function matchRepoConfigForChangedFiles({
|
|
@@ -147,8 +214,9 @@ export function matchRepoConfigForChangedFiles({
|
|
|
147
214
|
// file path would silently drop one (e.g. a hard-gate rule lost behind an
|
|
148
215
|
// advisory rule from the same policy).
|
|
149
216
|
const winners = new Set<AgenticOwnersPathRule>();
|
|
217
|
+
const ruleForFile = effectiveRuleSelector(config.rules);
|
|
150
218
|
for (const filepath of changedFiles) {
|
|
151
|
-
const winner =
|
|
219
|
+
const winner = ruleForFile(filepath);
|
|
152
220
|
if (winner !== undefined) {
|
|
153
221
|
winners.add(winner);
|
|
154
222
|
}
|
|
@@ -175,9 +243,8 @@ export function changedFilesWithoutWinningRule({
|
|
|
175
243
|
changedFiles: readonly string[];
|
|
176
244
|
rules: readonly AgenticOwnersPathRule[];
|
|
177
245
|
}): string[] {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
);
|
|
246
|
+
const ruleForFile = effectiveRuleSelector(rules);
|
|
247
|
+
return changedFiles.filter((filepath) => ruleForFile(filepath) === undefined);
|
|
181
248
|
}
|
|
182
249
|
|
|
183
250
|
/**
|
|
@@ -198,9 +265,8 @@ export function everyChangedFileGloballyExcluded({
|
|
|
198
265
|
if (changedFiles.length === 0) {
|
|
199
266
|
return false;
|
|
200
267
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
);
|
|
268
|
+
const ruleForFile = effectiveRuleSelector(rules);
|
|
269
|
+
return changedFiles.every((filepath) => ruleForFile(filepath)?.globalExclusion === true);
|
|
204
270
|
}
|
|
205
271
|
|
|
206
272
|
function hasOwners(rule: AgenticOwnersPathRule): boolean {
|