@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/AGENTS.md
CHANGED
|
@@ -13,16 +13,6 @@ Start machine-readable docs at `dist/docs/llms.txt` when it exists, or at
|
|
|
13
13
|
`/docs/llms.txt` on a running host. Use `llms-full.txt` only when the whole
|
|
14
14
|
documentation set is needed.
|
|
15
15
|
|
|
16
|
-
Before committing or reviewing any BDK documentation change, read the
|
|
17
|
-
repo-wide writing skill at `.cursor/skills/docs/writing/SKILL.md` (repo root)
|
|
18
|
-
and run `/docs-lint` on every change. The BDK naming, skill-link, and
|
|
19
|
-
verify rules live in `.cursor/rules/packages/agent-sdk-docs-style.mdc` and
|
|
20
|
-
attach automatically when a published docs file is in context.
|
|
21
|
-
|
|
22
|
-
Before writing or editing a template, read
|
|
23
|
-
[`docs/.cursor/skills/template-lint/SKILL.md`](./docs/.cursor/skills/template-lint/SKILL.md).
|
|
24
|
-
Run `/template-lint` before every commit or review that changes `templates/`.
|
|
25
|
-
|
|
26
16
|
Run the CLI under **Node, never Bun** — use the installed `bdk`
|
|
27
17
|
bin; from a source checkout of this package,
|
|
28
18
|
`pnpm exec tsx src/bin/agent-serve.ts <command> …` is equivalent. Bun's
|
|
@@ -36,15 +26,15 @@ Before scaffolding, wiring channels, writing evals, or deploying, **read the
|
|
|
36
26
|
matching skill under `skills/<task>/SKILL.md`** (paths
|
|
37
27
|
below are relative to this package). Those files ship with `@cursor/bdk`.
|
|
38
28
|
Cloud agents get the same published skills via `GetManagedSkills`,
|
|
39
|
-
which reads these files. Open them directly.
|
|
40
|
-
|
|
29
|
+
which reads these files. Open them directly. Authoring notes live in
|
|
30
|
+
`skills/`, not in a second stub copy.
|
|
41
31
|
|
|
42
32
|
| Skill | Read it when |
|
|
43
33
|
| --- | --- |
|
|
44
34
|
| `skills/framework-map/SKILL.md` | First contact: folder structure, runtime, sessions, state, invariants |
|
|
45
35
|
| `skills/create-agent/SKILL.md` | Scaffolding a new agent (interview → scaffold → verify) |
|
|
46
36
|
| `skills/evals/SKILL.md` | Writing evals; fixture strategy; the regression ratchet |
|
|
47
|
-
| `skills/otel/SKILL.md` | OpenTelemetry export (
|
|
37
|
+
| `skills/otel/SKILL.md` | OpenTelemetry export (`OTEL_*` variables and `@opentelemetry/api`) |
|
|
48
38
|
| `skills/hillclimb/SKILL.md` | Improving an existing agent measurably |
|
|
49
39
|
| `skills/github/SKILL.md` | GitHub webhook agents; replay / forward / fixtures / cursor-events |
|
|
50
40
|
| `skills/setup-slack/SKILL.md` | Slack wiring and channel watching |
|
|
@@ -52,11 +42,6 @@ which reads these files. Open them directly. There are no
|
|
|
52
42
|
| `skills/deploy/SKILL.md` | Deploy or redeploy from a pushed Git ref with an attached service account |
|
|
53
43
|
| `skills/debug/SKILL.md` | Something misbehaving locally (symptom → cause) |
|
|
54
44
|
|
|
55
|
-
Hosted-platform debug (stopped / slow start / health-fail, Datadog
|
|
56
|
-
`cursor.agent_serve.*`) is the monorepo skill
|
|
57
|
-
`.cursor/skills/debugging/debug-agentsdk-deployment/SKILL.md` — it does
|
|
58
|
-
not ship with `@cursor/bdk`.
|
|
59
|
-
|
|
60
45
|
## Recommended loop
|
|
61
46
|
|
|
62
47
|
```bash
|
|
@@ -336,6 +321,7 @@ Fixtures still work for offline replay: `POST` a saved payload with an
|
|
|
336
321
|
- Expect `bot/evals/` to be loaded — evals live at the **project root** `evals/`.
|
|
337
322
|
- Build optional object fields with a conditional empty-object spread.
|
|
338
323
|
Assign the property directly; `undefined` is fine on optional keys.
|
|
324
|
+
`bdk/no-conditional-empty-spread` enforces this.
|
|
339
325
|
|
|
340
326
|
```ts
|
|
341
327
|
// ❌ BAD
|
package/CHANGELOG.md
ADDED
package/dist/artifacts.d.ts
CHANGED
package/dist/artifacts.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* agent-sdk convert-automation <url> [--dir <path>] [--json]
|
|
14
14
|
* agent-sdk migrate [--dir .] [--no-wait] [--json]
|
|
15
15
|
* agent-sdk eval [--dir .] [evalId...]
|
|
16
|
-
* agent-sdk validate [--dir .]
|
|
16
|
+
* agent-sdk validate [--dir .] [--json]
|
|
17
17
|
* agent-sdk slack <subcommand>
|
|
18
18
|
*/
|
|
19
19
|
export {};
|
package/dist/bin/agent-serve.js
CHANGED
|
@@ -13,15 +13,16 @@
|
|
|
13
13
|
* agent-sdk convert-automation <url> [--dir <path>] [--json]
|
|
14
14
|
* agent-sdk migrate [--dir .] [--no-wait] [--json]
|
|
15
15
|
* agent-sdk eval [--dir .] [evalId...]
|
|
16
|
-
* agent-sdk validate [--dir .]
|
|
16
|
+
* agent-sdk validate [--dir .] [--json]
|
|
17
17
|
* agent-sdk slack <subcommand>
|
|
18
18
|
*/
|
|
19
19
|
import { spawn } from "node:child_process";
|
|
20
20
|
import { readFile } from "node:fs/promises";
|
|
21
21
|
import { resolve } from "node:path";
|
|
22
22
|
import { parseArgs } from "node:util";
|
|
23
|
-
import {
|
|
23
|
+
import { serve } from "../index.js";
|
|
24
24
|
import { registerAuthoredModuleLoaders } from "../internal/authored-loaders.js";
|
|
25
|
+
import { formatDiagnostics, formatValidateJson, projectInfo, resolveAgentMounts, } from "../internal/discovery.js";
|
|
25
26
|
import { cmdCall, cmdChat, cmdCost, cmdEval, cmdEvalCancel, cmdEvalStatus, cmdInit, cmdLogs, cmdPlayground, cmdResume, cmdRun, cmdSession, cmdSessions, cmdSkill, cmdTrajectory, } from "../internal/cli-ax.js";
|
|
26
27
|
import { cmdCancelRuns, cmdDelete, cmdDeploy, cmdDeploymentStatus, cmdDeployments, cmdEventRepos, cmdKill, cmdRollback, cmdRotateToken, cmdSecretsList, cmdSecretsSet, cmdSecretsUnset, cmdStart, cmdStop, cmdUnlockDeploys, cmdUpgrade, } from "../internal/cli-deploy.js";
|
|
27
28
|
import { cmdImagesList, cmdImagesPush, cmdImagesRm } from "../internal/cli-images.js";
|
|
@@ -99,7 +100,7 @@ Usage:
|
|
|
99
100
|
[--out <file.json>]
|
|
100
101
|
${CLI} eval cancel <runId> --url <baseUrl> [--dir <path>] [--json]
|
|
101
102
|
${CLI} info [--dir <path>] [--json]
|
|
102
|
-
${CLI} validate [--dir <path>]
|
|
103
|
+
${CLI} validate [--dir <path>] [--json]
|
|
103
104
|
${CLI} login [--api-key <key>] [--key-name <name>]
|
|
104
105
|
${CLI} logout
|
|
105
106
|
${CLI} whoami [--json]
|
|
@@ -308,6 +309,8 @@ Commands:
|
|
|
308
309
|
recipe (see gitlab help).
|
|
309
310
|
bitbucket Bitbucket webhook pack (Cloud + Data Center): replay a pull
|
|
310
311
|
request, events, forward recipe (see bitbucket help).
|
|
312
|
+
pagerduty PagerDuty webhook pack: replay synthesized incident events,
|
|
313
|
+
events (see pagerduty help).
|
|
311
314
|
|
|
312
315
|
Agent loop:
|
|
313
316
|
${CLI} validate --dir .
|
|
@@ -442,7 +445,7 @@ Options:
|
|
|
442
445
|
--skip-report eval: ignore reporters from evals.config.ts / eval files.
|
|
443
446
|
--no-stream run/eval: silence live progress on stderr (JSON still prints).
|
|
444
447
|
--json JSON output (init/convert-automation/install-skills/
|
|
445
|
-
info/chat/eval/logs/version/
|
|
448
|
+
info/validate/chat/eval/logs/version/
|
|
446
449
|
sessions/session/github; run defaults to JSON). logs:
|
|
447
450
|
NDJSON progress/log events (v2: {sessionId, line}).
|
|
448
451
|
session: trajectory JSON
|
|
@@ -487,7 +490,7 @@ Options:
|
|
|
487
490
|
--action github/gitlab replay: event action (e.g. opened, open).
|
|
488
491
|
--conclusion github replay: CI conclusion (check_run/suite/status).
|
|
489
492
|
gitlab replay: pipeline status (success, failed, …).
|
|
490
|
-
--comment github/gitlab/bitbucket replay: comment / note body.
|
|
493
|
+
--comment github/gitlab/bitbucket/pagerduty replay: comment / note body.
|
|
491
494
|
--context github replay: commit-status context.
|
|
492
495
|
--dry-run github replay: print synthesized payloads, don't POST.
|
|
493
496
|
--out eval / eval status <runId>: also write the full results
|
|
@@ -726,6 +729,29 @@ async function main(argv) {
|
|
|
726
729
|
out: values.out,
|
|
727
730
|
});
|
|
728
731
|
}
|
|
732
|
+
case "pagerduty": {
|
|
733
|
+
const port = values.port === undefined ? undefined : Number.parseInt(values.port, 10);
|
|
734
|
+
if (port !== undefined && (Number.isNaN(port) || port < 0 || port > 65535)) {
|
|
735
|
+
process.stderr.write(`invalid --port: ${values.port}\n`);
|
|
736
|
+
return 1;
|
|
737
|
+
}
|
|
738
|
+
const { cmdPagerDuty } = await import("../internal/cli-pagerduty.js");
|
|
739
|
+
return cmdPagerDuty(positionals[0], {
|
|
740
|
+
dir,
|
|
741
|
+
slug: values.slug,
|
|
742
|
+
channel: values.channel?.at(-1),
|
|
743
|
+
host: values.host,
|
|
744
|
+
port,
|
|
745
|
+
url: values.url,
|
|
746
|
+
events: values.events,
|
|
747
|
+
secret: values.secret,
|
|
748
|
+
json: values.json,
|
|
749
|
+
incidentId: positionals[1],
|
|
750
|
+
comment: values.comment,
|
|
751
|
+
dryRun: values["dry-run"],
|
|
752
|
+
out: values.out,
|
|
753
|
+
});
|
|
754
|
+
}
|
|
729
755
|
case "bitbucket": {
|
|
730
756
|
const port = values.port === undefined ? undefined : Number.parseInt(values.port, 10);
|
|
731
757
|
if (port !== undefined && (Number.isNaN(port) || port < 0 || port > 65535)) {
|
|
@@ -1172,16 +1198,20 @@ async function main(argv) {
|
|
|
1172
1198
|
}
|
|
1173
1199
|
case "validate": {
|
|
1174
1200
|
const mounts = await loadMounts(dir);
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1201
|
+
if (values.json === true) {
|
|
1202
|
+
process.stdout.write(formatValidateJson(mounts));
|
|
1203
|
+
}
|
|
1204
|
+
else {
|
|
1205
|
+
for (const { slug, project } of mounts) {
|
|
1206
|
+
const label = slug === "" ? project.name : `${slug} (${project.name})`;
|
|
1207
|
+
if (project.diagnostics.length === 0) {
|
|
1208
|
+
process.stdout.write(`ok: ${label} has no diagnostics\n`);
|
|
1209
|
+
continue;
|
|
1210
|
+
}
|
|
1211
|
+
process.stdout.write(`${label}:\n${formatDiagnostics(project.diagnostics)}\n`);
|
|
1181
1212
|
}
|
|
1182
|
-
process.stdout.write(`${label}:\n${formatDiagnostics(project.diagnostics)}\n`);
|
|
1183
|
-
hasError ||= project.diagnostics.some((d) => d.severity === "error");
|
|
1184
1213
|
}
|
|
1214
|
+
const hasError = mounts.some((mount) => mount.project.diagnostics.some((diagnostic) => diagnostic.severity === "error"));
|
|
1185
1215
|
return hasError ? 1 : 0;
|
|
1186
1216
|
}
|
|
1187
1217
|
case "info": {
|
|
@@ -1509,8 +1539,10 @@ function printServeBanner(handle, opts) {
|
|
|
1509
1539
|
process.stdout.write(`${agents.length} agents listening ${versionTag}\n`);
|
|
1510
1540
|
}
|
|
1511
1541
|
else {
|
|
1512
|
-
const info =
|
|
1513
|
-
|
|
1542
|
+
const info = agents[0]?.info;
|
|
1543
|
+
if (info !== undefined) {
|
|
1544
|
+
process.stdout.write(`${info.name} listening ${versionTag}\n`);
|
|
1545
|
+
}
|
|
1514
1546
|
}
|
|
1515
1547
|
const playgroundUrl = resolvePlaygroundBannerUrl(handle, opts.noPlayground);
|
|
1516
1548
|
if (playgroundUrl !== undefined) {
|
|
@@ -1526,26 +1558,28 @@ function printServeBanner(handle, opts) {
|
|
|
1526
1558
|
process.stdout.write(c.dim(` api ${handle.url}\n`));
|
|
1527
1559
|
if (agents.length > 1 || agents[0]?.slug !== "") {
|
|
1528
1560
|
for (const agent of agents) {
|
|
1529
|
-
const info =
|
|
1561
|
+
const info = agent.info;
|
|
1530
1562
|
process.stdout.write(c.dim(` /${agent.slug} ${info.name}\n`));
|
|
1531
1563
|
}
|
|
1532
1564
|
}
|
|
1533
1565
|
else {
|
|
1534
|
-
const info =
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1566
|
+
const info = agents[0]?.info;
|
|
1567
|
+
if (info !== undefined) {
|
|
1568
|
+
process.stdout.write(c.dim(` POST ${handle.url}/v1/session\n`));
|
|
1569
|
+
process.stdout.write(c.dim(` GET ${handle.url}/v1/session/:sessionId/stream\n`));
|
|
1570
|
+
for (const channel of info.channels) {
|
|
1571
|
+
if (channel.id === "http") {
|
|
1572
|
+
continue;
|
|
1573
|
+
}
|
|
1574
|
+
for (const route of channel.routes) {
|
|
1575
|
+
process.stdout.write(c.dim(` ${route.method} ${handle.url}${route.url}\n`));
|
|
1576
|
+
}
|
|
1540
1577
|
}
|
|
1541
|
-
|
|
1542
|
-
|
|
1578
|
+
if (info.schedules.length > 0) {
|
|
1579
|
+
const scheduleMode = opts.noSchedules ? "disabled" : "running on cron cadence (UTC)";
|
|
1580
|
+
process.stdout.write(c.dim(` schedules: ${info.schedules.map((s) => s.name).join(", ")} — ${scheduleMode}\n`));
|
|
1543
1581
|
}
|
|
1544
1582
|
}
|
|
1545
|
-
if (info.schedules.length > 0) {
|
|
1546
|
-
const scheduleMode = opts.noSchedules ? "disabled" : "running on cron cadence (UTC)";
|
|
1547
|
-
process.stdout.write(c.dim(` schedules: ${info.schedules.map((s) => s.name).join(", ")} — ${scheduleMode}\n`));
|
|
1548
|
-
}
|
|
1549
1583
|
}
|
|
1550
1584
|
if (handle.docsUrl !== undefined) {
|
|
1551
1585
|
process.stdout.write(c.dim(` docs ${handle.docsUrl}\n`));
|
|
@@ -1556,20 +1590,26 @@ function printServeBanner(handle, opts) {
|
|
|
1556
1590
|
}
|
|
1557
1591
|
if (opts.dev &&
|
|
1558
1592
|
(process.env.GITHUB_WEBHOOK_SECRET === undefined || process.env.GITHUB_WEBHOOK_SECRET === "") &&
|
|
1559
|
-
handle.agents.some((agent) =>
|
|
1593
|
+
handle.agents.some((agent) => agent.info.channels.some((c) => c.kind === "github"))) {
|
|
1560
1594
|
process.stdout.write(c.dim(` github: dev accepts unsigned loopback deliveries (${CLI} github forward works without a secret; set GITHUB_WEBHOOK_SECRET to verify signatures)\n`));
|
|
1561
1595
|
}
|
|
1562
1596
|
if (opts.dev &&
|
|
1563
1597
|
(process.env.GITLAB_WEBHOOK_SECRET === undefined || process.env.GITLAB_WEBHOOK_SECRET === "") &&
|
|
1564
|
-
handle.agents.some((agent) =>
|
|
1598
|
+
handle.agents.some((agent) => agent.info.channels.some((c) => c.kind === "gitlab"))) {
|
|
1565
1599
|
process.stdout.write(c.dim(` gitlab: dev accepts unsigned loopback deliveries (${CLI} gitlab replay works without a secret; set GITLAB_WEBHOOK_SECRET to verify X-Gitlab-Token)\n`));
|
|
1566
1600
|
}
|
|
1567
1601
|
if (opts.dev &&
|
|
1568
1602
|
(process.env.BITBUCKET_WEBHOOK_SECRET === undefined ||
|
|
1569
1603
|
process.env.BITBUCKET_WEBHOOK_SECRET === "") &&
|
|
1570
|
-
handle.agents.some((agent) =>
|
|
1604
|
+
handle.agents.some((agent) => agent.info.channels.some((c) => c.kind === "bitbucket"))) {
|
|
1571
1605
|
process.stdout.write(c.dim(` bitbucket: dev accepts unsigned loopback deliveries (${CLI} bitbucket replay works without a secret; set BITBUCKET_WEBHOOK_SECRET to verify X-Hub-Signature)\n`));
|
|
1572
1606
|
}
|
|
1607
|
+
if (opts.dev &&
|
|
1608
|
+
(process.env.PAGERDUTY_WEBHOOK_SECRET === undefined ||
|
|
1609
|
+
process.env.PAGERDUTY_WEBHOOK_SECRET === "") &&
|
|
1610
|
+
handle.agents.some((agent) => agent.info.channels.some((c) => c.kind === "pagerduty"))) {
|
|
1611
|
+
process.stdout.write(c.dim(` pagerduty: dev accepts unsigned loopback deliveries (${CLI} pagerduty replay works without a secret; set PAGERDUTY_WEBHOOK_SECRET to verify X-PagerDuty-Signature)\n`));
|
|
1612
|
+
}
|
|
1573
1613
|
}
|
|
1574
1614
|
/** Prefer the Vite playground URL in --dev; otherwise the static SPA path. */
|
|
1575
1615
|
function resolvePlaygroundBannerUrl(handle, noPlayground) {
|
|
@@ -84,7 +84,7 @@ export interface BitbucketClient {
|
|
|
84
84
|
request<T = unknown>(input: BitbucketRequestInput): Promise<T>;
|
|
85
85
|
}
|
|
86
86
|
/** `BITBUCKET_TOKEN` when set. */
|
|
87
|
-
export declare function envBitbucketToken(env?:
|
|
87
|
+
export declare function envBitbucketToken(env?: Record<string, string | undefined>): string | undefined;
|
|
88
88
|
/**
|
|
89
89
|
* REST base for direct calls: `BITBUCKET_API_BASE_URL`, else api.bitbucket.org
|
|
90
90
|
* 2.0 for Cloud, else `/rest/api/1.0` on `repoHtmlUrl`'s origin. Callers must
|
|
@@ -94,7 +94,7 @@ export declare function envBitbucketToken(env?: NodeJS.ProcessEnv): string | und
|
|
|
94
94
|
export declare function bitbucketApiBaseUrl(input: {
|
|
95
95
|
dialect: BitbucketDialect;
|
|
96
96
|
repoHtmlUrl?: string;
|
|
97
|
-
env?:
|
|
97
|
+
env?: Record<string, string | undefined>;
|
|
98
98
|
}): string | undefined;
|
|
99
99
|
export declare function createBitbucketClient(options?: BitbucketClientOptions): BitbucketClient;
|
|
100
100
|
/** Build-status states shared by both dialects (DC `STOPPED` → `CANCELLED`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/channels/bitbucket/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE3E,eAAO,MAAM,oCAAoC,kCAAkC,CAAC;AAEpF,wEAAwE;AACxE,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7E,yEAAyE;AACzE,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAOjF;CACF;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAEpE,yEAAyE;AACzE,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,qEAAqE;IACrE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACxC,gFAAgF;IAChF,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAChE;AAOD,kCAAkC;AAClC,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/channels/bitbucket/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
2
|
import { allowAll, defineChannel, hmacSignatureAuth, localDevStrict, loopbackOnly, POST, } from "../../channels.js";
|
|
3
3
|
import { withPropagatingBackgroundErrors } from "../../internal/channel-dispatch.js";
|
|
4
4
|
import { normalizeIdentity } from "../../internal/continuation-identity.js";
|
|
@@ -16,13 +16,14 @@ export declare function envBitbucketWebhookSecret(): string | undefined;
|
|
|
16
16
|
*/
|
|
17
17
|
export declare function resolveBitbucketWebhookSecret(options: Pick<BitbucketChannelOptions, "webhookSecret">): string | undefined;
|
|
18
18
|
/** The `X-Hub-Signature` value Bitbucket sends for a raw body. */
|
|
19
|
-
export declare function signBitbucketWebhookBody(rawBody: string |
|
|
19
|
+
export declare function signBitbucketWebhookBody(rawBody: string | Uint8Array, secret: string): string;
|
|
20
20
|
/**
|
|
21
21
|
* Both dialects sign the raw body with HMAC-SHA256 in `X-Hub-Signature`
|
|
22
|
-
* (`sha256=<hex>`, GitHub-shaped).
|
|
23
|
-
*
|
|
22
|
+
* (`sha256=<hex>`, GitHub-shaped). `secret` is the named secret's value,
|
|
23
|
+
* which may hold several signing secrets one per line; any verifies.
|
|
24
|
+
* Constant-time compare; a missing or malformed header is a plain `false`.
|
|
24
25
|
*/
|
|
25
|
-
export declare function verifyBitbucketWebhookSignature(rawBody: string |
|
|
26
|
+
export declare function verifyBitbucketWebhookSignature(rawBody: string | Uint8Array, signatureHeader: string | null | undefined, secret: string): boolean;
|
|
26
27
|
/**
|
|
27
28
|
* Accept a raw Bitbucket payload plus the event key. The key comes from
|
|
28
29
|
* `X-Event-Key` (HTTP) or the hosted envelope; Data Center bodies also carry
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitbucket-webhook.d.ts","sourceRoot":"","sources":["../../../src/channels/bitbucket/bitbucket-webhook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bitbucket-webhook.d.ts","sourceRoot":"","sources":["../../../src/channels/bitbucket/bitbucket-webhook.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAqB,kBAAkB,EAAa,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAyBxD,OAAO,KAAK,EACV,uBAAuB,EAEvB,qBAAqB,EAGrB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,4EAA4E;AAC5E,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AACvE,sFAAsF;AACtF,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAC5D,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAEpD,6FAA6F;AAC7F,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,SAAS,CAG9D;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,eAAe,CAAC,GACtD,MAAM,GAAG,SAAS,CAEpB;AAID,kEAAkE;AAClE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC1C,MAAM,EAAE,MAAM,GACb,OAAO,CAYT;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,wBAAwB,GAAG,IAAI,CA2BjC;AAyED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,wBAAwB,GACjC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC,GAAG,IAAI,CAyBjF;AAwGD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,OAAO,EAAE,uBAAuB,CAAC;IACjC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,IAAI,EAAE,kBAAkB,CAAC;IACzB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,uBAAuB,GAAG,SAAS,CAAC;CACnD,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgHpB;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,OAAO,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,qEAAqE;IACrE,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,uBAAuB,GAAG,SAAS,CAAC;CACnD,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwCpB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { createHmac
|
|
1
|
+
import { createHmac } from "node:crypto";
|
|
2
2
|
import { acknowledgeTask, isTaskDispatch, skipped, turnStarted, } from "../../internal/channel-dispatch.js";
|
|
3
3
|
import { continuationSource } from "../../internal/continuation-identity.js";
|
|
4
|
+
import { hmacSignatureMatchesAny, parseHmacSecrets } from "../../internal/hmac-secret-values.js";
|
|
4
5
|
import { bindLocalIngressSend } from "../../internal/local-ingress.js";
|
|
5
6
|
import { resolveWebhookSecretValue } from "../../internal/named-webhook-secret.js";
|
|
6
7
|
import { asNonEmptyString, asPositiveInt, asRecord, bitbucketCommentFromPayload, bitbucketPullRequestFromPayload, bitbucketPullRequestRecord, bitbucketPullRequestUrl, bitbucketPushFromPayload, bitbucketRepositoryFromPayload, bitbucketUser, buildBitbucketBinding, } from "./binding.js";
|
|
@@ -33,18 +34,22 @@ export function signBitbucketWebhookBody(rawBody, secret) {
|
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
35
36
|
* Both dialects sign the raw body with HMAC-SHA256 in `X-Hub-Signature`
|
|
36
|
-
* (`sha256=<hex>`, GitHub-shaped).
|
|
37
|
-
*
|
|
37
|
+
* (`sha256=<hex>`, GitHub-shaped). `secret` is the named secret's value,
|
|
38
|
+
* which may hold several signing secrets one per line; any verifies.
|
|
39
|
+
* Constant-time compare; a missing or malformed header is a plain `false`.
|
|
38
40
|
*/
|
|
39
41
|
export function verifyBitbucketWebhookSignature(rawBody, signatureHeader, secret) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
!signatureHeader.startsWith(SIGNATURE_PREFIX)) {
|
|
42
|
+
const parsed = parseHmacSecrets(secret);
|
|
43
|
+
if (signatureHeader === null || signatureHeader === undefined || !parsed.ok) {
|
|
43
44
|
return false;
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
return hmacSignatureMatchesAny({
|
|
47
|
+
body: rawBody,
|
|
48
|
+
presented: signatureHeader,
|
|
49
|
+
secrets: parsed.secrets,
|
|
50
|
+
prefix: SIGNATURE_PREFIX,
|
|
51
|
+
separator: undefined,
|
|
52
|
+
});
|
|
48
53
|
}
|
|
49
54
|
/**
|
|
50
55
|
* Accept a raw Bitbucket payload plus the event key. The key comes from
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
2
|
import { defineChannel, localDevStrict, POST } from "../../channels.js";
|
|
3
3
|
import { skipped, tagOutcome } from "../../internal/channel-dispatch.js";
|
|
4
4
|
import { deploymentEventMatches, resolveDeploymentSubscriptions, } from "../../internal/cursor-deployment-relay.js";
|
|
@@ -48,11 +48,18 @@ export declare function parseCursorGithubPermissions(value: unknown, fallback?:
|
|
|
48
48
|
* `owner/repo` from an Octokit request, for github-proxy calls that have no
|
|
49
49
|
* static `x-cursor-github-repos` header (`cursorAccount: true` with no
|
|
50
50
|
* `--repo` / channel `{ repos }`).
|
|
51
|
+
*
|
|
52
|
+
* REST calls name the repo in their route params or `/repos/` path. GraphQL
|
|
53
|
+
* posts to `/graphql`, so the repo comes from the query variables instead:
|
|
54
|
+
* `owner` plus `repo` or `name` (the `repository(owner:, name:)` field's
|
|
55
|
+
* arguments). A query whose variables use other names still needs an
|
|
56
|
+
* explicit header; the proxy then rejects it with `invalid_scope_headers`.
|
|
51
57
|
*/
|
|
52
58
|
export declare function githubRepoFromOctokitRequest(request: {
|
|
53
59
|
owner?: unknown;
|
|
54
60
|
repo?: unknown;
|
|
55
61
|
url?: unknown;
|
|
62
|
+
variables?: unknown;
|
|
56
63
|
}): string | undefined;
|
|
57
64
|
/**
|
|
58
65
|
* Merge `--repo` / channel-declared repos into a lease scope. Empty is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-account.d.ts","sourceRoot":"","sources":["../../../src/channels/github/cursor-account.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAI1C,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,YAAI,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAU,CAAC;AAEzF,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,MAAM,gCAAgC,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC5C,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,kBAAkB,CAAC,SAAS,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAChE,iBAAiB,IAAI,0BAA0B,GAAG,SAAS,CAAC;CAC7D;AAED,MAAM,WAAW,0BAA0B;IACzC,gDAAgD;IAChD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,WAAW,EAAE,8BAA8B,CAAC;IAC5C;;;OAGG;IACH,KAAK,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC1C;AAID,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,uBAAoC,GAC7C,uBAAuB,CAUzB;AAED
|
|
1
|
+
{"version":3,"file":"cursor-account.d.ts","sourceRoot":"","sources":["../../../src/channels/github/cursor-account.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,12 +25,23 @@ export function parseCursorGithubPermissions(value, fallback = "pr-write") {
|
|
|
25
25
|
* `owner/repo` from an Octokit request, for github-proxy calls that have no
|
|
26
26
|
* static `x-cursor-github-repos` header (`cursorAccount: true` with no
|
|
27
27
|
* `--repo` / channel `{ repos }`).
|
|
28
|
+
*
|
|
29
|
+
* REST calls name the repo in their route params or `/repos/` path. GraphQL
|
|
30
|
+
* posts to `/graphql`, so the repo comes from the query variables instead:
|
|
31
|
+
* `owner` plus `repo` or `name` (the `repository(owner:, name:)` field's
|
|
32
|
+
* arguments). A query whose variables use other names still needs an
|
|
33
|
+
* explicit header; the proxy then rejects it with `invalid_scope_headers`.
|
|
28
34
|
*/
|
|
29
35
|
export function githubRepoFromOctokitRequest(request) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
const fromParams = githubRepoSlug(request.owner, request.repo);
|
|
37
|
+
if (fromParams !== undefined) {
|
|
38
|
+
return fromParams;
|
|
39
|
+
}
|
|
40
|
+
if (typeof request.variables === "object" && request.variables !== null) {
|
|
41
|
+
const variables = request.variables;
|
|
42
|
+
const fromVariables = githubRepoSlug(variables.owner, variables.repo ?? variables.name);
|
|
43
|
+
if (fromVariables !== undefined) {
|
|
44
|
+
return fromVariables;
|
|
34
45
|
}
|
|
35
46
|
}
|
|
36
47
|
if (typeof request.url !== "string") {
|
|
@@ -42,7 +53,13 @@ export function githubRepoFromOctokitRequest(request) {
|
|
|
42
53
|
if (owner === "" || repo === "" || owner.includes("{") || repo.includes("{")) {
|
|
43
54
|
return undefined;
|
|
44
55
|
}
|
|
45
|
-
|
|
56
|
+
return githubRepoSlug(owner, repo);
|
|
57
|
+
}
|
|
58
|
+
function githubRepoSlug(owner, repo) {
|
|
59
|
+
if (typeof owner !== "string" || typeof repo !== "string") {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
const slug = `${owner.trim()}/${repo.trim()}`.toLowerCase();
|
|
46
63
|
if (!CURSOR_GITHUB_REPO_PATTERN.test(slug) || slug.includes("..")) {
|
|
47
64
|
return undefined;
|
|
48
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-channel.d.ts","sourceRoot":"","sources":["../../../src/channels/github/github-channel.ts"],"names":[],"mappings":"AA6BA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,EAEtB,KAAK,kBAAkB,EAMxB,MAAM,gBAAgB,CAAC;AAkBxB,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAEV,oBAAoB,EAKpB,aAAa,EAEb,qBAAqB,EACrB,kBAAkB,EAGlB,sBAAsB,EAKtB,kBAAkB,EAClB,UAAU,EAEX,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,IAAI,CAC7B,kBAAkB,EAClB,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CACvD,CAAC;AAoFF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,WAAW,CAkBvE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAGtE;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAU1F;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAEnE;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,mBAAmB,EACxB,WAAW,EAAE,sBAAsB,GAClC,MAAM,CAaR;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,mBAAmB,EACxB,WAAW,EAAE,sBAAsB,GAClC,kBAAkB,GAAG,IAAI,CAK3B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,kBAAkB,GAAG,IAAI,CAW3B;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAUV;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAYlC;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG;IAAE,GAAG,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,sBAAsB,CAAA;CAAE,GAAG,IAAI,CA8C3E;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC3C,GAAG,OAAO,CAAC,UAAU,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"github-channel.d.ts","sourceRoot":"","sources":["../../../src/channels/github/github-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { z } from "zod/v3";
|
|
1
|
+
import * as z from "zod/v4";
|
|
3
2
|
import { allowAll, defineChannel, hmacSignatureAuth, localDevStrict, loopbackGitHubDev, POST, } from "../../channels.js";
|
|
4
3
|
import { acknowledgeTask, acknowledgeTurn, isTaskDispatch, scheduleAfterAck, skipped, turnStarted, withPropagatingBackgroundErrors, } from "../../internal/channel-dispatch.js";
|
|
5
4
|
import { continuationSource, normalizeIdentity } from "../../internal/continuation-identity.js";
|
|
6
5
|
import { isDevMode } from "../../internal/dev-mode.js";
|
|
6
|
+
import { hmacSignatureMatchesAny, parseHmacSecrets } from "../../internal/hmac-secret-values.js";
|
|
7
7
|
import { attachHostedAdmissionAdapter } from "../../internal/hosted-admission-adapter.js";
|
|
8
8
|
import { CATCH_DELIVERY_ID_HEADER, replayCatchRequest } from "../../internal/hosted-catch.js";
|
|
9
9
|
import { AGENT_SDK_CATCH_EVENT_TYPE } from "../../internal/hosted-catch-protocol.js";
|
|
@@ -253,32 +253,23 @@ export function parseGitHubPullRequestEvent(args) {
|
|
|
253
253
|
return { ctx, pullRequest };
|
|
254
254
|
}
|
|
255
255
|
export async function verifyGitHubWebhookSignature(args) {
|
|
256
|
-
|
|
257
|
-
|
|
256
|
+
// A value over the secret cap holds no usable secret, the same as unset.
|
|
257
|
+
const parsed = parseHmacSecrets(await resolveCredentialValue(args.secret));
|
|
258
|
+
if (!parsed.ok) {
|
|
258
259
|
return "missing_secret";
|
|
259
260
|
}
|
|
260
261
|
if (args.signatureHeader === null) {
|
|
261
262
|
return "missing_signature";
|
|
262
263
|
}
|
|
263
|
-
const isVerified =
|
|
264
|
-
secret,
|
|
264
|
+
const isVerified = hmacSignatureMatchesAny({
|
|
265
265
|
body: args.body,
|
|
266
|
-
|
|
266
|
+
presented: args.signatureHeader,
|
|
267
|
+
secrets: parsed.secrets,
|
|
268
|
+
prefix: GITHUB_SIGNATURE_PREFIX,
|
|
269
|
+
separator: undefined,
|
|
267
270
|
});
|
|
268
271
|
return isVerified ? "verified" : "mismatch";
|
|
269
272
|
}
|
|
270
|
-
function verifyWebhookSha256Signature(args) {
|
|
271
|
-
if (!args.signatureHeader.startsWith(GITHUB_SIGNATURE_PREFIX)) {
|
|
272
|
-
return false;
|
|
273
|
-
}
|
|
274
|
-
const receivedHex = args.signatureHeader.slice(GITHUB_SIGNATURE_PREFIX.length);
|
|
275
|
-
if (!/^[0-9a-f]+$/i.test(receivedHex) || receivedHex.length % 2 !== 0) {
|
|
276
|
-
return false;
|
|
277
|
-
}
|
|
278
|
-
const expected = createHmac("sha256", args.secret).update(args.body).digest();
|
|
279
|
-
const received = Buffer.from(receivedHex, "hex");
|
|
280
|
-
return received.length === expected.length && timingSafeEqual(received, expected);
|
|
281
|
-
}
|
|
282
273
|
/**
|
|
283
274
|
* Run the authored hooks for one GitHub delivery and `send()` the turn.
|
|
284
275
|
* Callers own delivery auth: the HTTP route verifies the HMAC; trigger
|
|
@@ -101,7 +101,7 @@ export declare function synthesizeGitHubEvent(input: SynthesizeInput): Synthesiz
|
|
|
101
101
|
/** Hex HMAC-SHA256 for the `X-Hub-Signature-256` header (`sha256=<hex>`). */
|
|
102
102
|
export declare function signGitHubWebhookBody(options: {
|
|
103
103
|
secret: string;
|
|
104
|
-
body: string |
|
|
104
|
+
body: string | Uint8Array;
|
|
105
105
|
}): string;
|
|
106
106
|
/**
|
|
107
107
|
* Resolve the events to replay: explicit list (validated), `*` → the channel's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/channels/github/replay.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/channels/github/replay.ts"],"names":[],"mappings":"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"}
|