@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.
Files changed (553) hide show
  1. package/AGENTS.md +4 -18
  2. package/CHANGELOG.md +3 -0
  3. package/dist/artifacts.d.ts +1 -1
  4. package/dist/artifacts.js +1 -1
  5. package/dist/bin/agent-serve.d.ts +1 -1
  6. package/dist/bin/agent-serve.js +71 -31
  7. package/dist/channels/bitbucket/api.d.ts +2 -2
  8. package/dist/channels/bitbucket/api.d.ts.map +1 -1
  9. package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
  10. package/dist/channels/bitbucket/bitbucket-webhook.d.ts +5 -4
  11. package/dist/channels/bitbucket/bitbucket-webhook.d.ts.map +1 -1
  12. package/dist/channels/bitbucket/bitbucket-webhook.js +14 -9
  13. package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
  14. package/dist/channels/deployments/deployments-channel.js +1 -1
  15. package/dist/channels/github/cursor-account.d.ts +7 -0
  16. package/dist/channels/github/cursor-account.d.ts.map +1 -1
  17. package/dist/channels/github/cursor-account.js +22 -5
  18. package/dist/channels/github/github-channel.d.ts.map +1 -1
  19. package/dist/channels/github/github-channel.js +10 -19
  20. package/dist/channels/github/replay.d.ts +1 -1
  21. package/dist/channels/github/replay.d.ts.map +1 -1
  22. package/dist/channels/gitlab/api.d.ts +2 -2
  23. package/dist/channels/gitlab/api.d.ts.map +1 -1
  24. package/dist/channels/gitlab/gitlab-channel.js +1 -1
  25. package/dist/channels/issues/issues-channel.js +1 -1
  26. package/dist/channels/origin/api.d.ts +4 -4
  27. package/dist/channels/origin/api.d.ts.map +1 -1
  28. package/dist/channels/origin/origin-channel.js +1 -1
  29. package/dist/channels/origin/origin-webhook.d.ts +3 -3
  30. package/dist/channels/origin/origin-webhook.d.ts.map +1 -1
  31. package/dist/channels/pagerduty/api.d.ts +74 -0
  32. package/dist/channels/pagerduty/api.d.ts.map +1 -0
  33. package/dist/channels/pagerduty/api.js +101 -0
  34. package/dist/channels/pagerduty/defaults.d.ts +42 -0
  35. package/dist/channels/pagerduty/defaults.d.ts.map +1 -0
  36. package/dist/channels/pagerduty/defaults.js +132 -0
  37. package/dist/channels/pagerduty/events.d.ts +24 -0
  38. package/dist/channels/pagerduty/events.d.ts.map +1 -0
  39. package/dist/channels/pagerduty/events.js +38 -0
  40. package/dist/channels/pagerduty/index.d.ts +31 -0
  41. package/dist/channels/pagerduty/index.d.ts.map +1 -0
  42. package/dist/channels/pagerduty/index.js +30 -0
  43. package/dist/channels/pagerduty/pagerduty-channel.d.ts +64 -0
  44. package/dist/channels/pagerduty/pagerduty-channel.d.ts.map +1 -0
  45. package/dist/channels/pagerduty/pagerduty-channel.js +195 -0
  46. package/dist/channels/pagerduty/pagerduty-webhook.d.ts +70 -0
  47. package/dist/channels/pagerduty/pagerduty-webhook.d.ts.map +1 -0
  48. package/dist/channels/pagerduty/pagerduty-webhook.js +280 -0
  49. package/dist/channels/pagerduty/payload.d.ts +33 -0
  50. package/dist/channels/pagerduty/payload.d.ts.map +1 -0
  51. package/dist/channels/pagerduty/payload.js +150 -0
  52. package/dist/channels/pagerduty/replay.d.ts +35 -0
  53. package/dist/channels/pagerduty/replay.d.ts.map +1 -0
  54. package/dist/channels/pagerduty/replay.js +115 -0
  55. package/dist/channels/pagerduty/secrets.d.ts +16 -0
  56. package/dist/channels/pagerduty/secrets.d.ts.map +1 -0
  57. package/dist/channels/pagerduty/secrets.js +23 -0
  58. package/dist/channels/pagerduty/self-user.d.ts +51 -0
  59. package/dist/channels/pagerduty/self-user.d.ts.map +1 -0
  60. package/dist/channels/pagerduty/self-user.js +157 -0
  61. package/dist/channels/pagerduty/state.d.ts +31 -0
  62. package/dist/channels/pagerduty/state.d.ts.map +1 -0
  63. package/dist/channels/pagerduty/state.js +30 -0
  64. package/dist/channels/pagerduty/types.d.ts +217 -0
  65. package/dist/channels/pagerduty/types.d.ts.map +1 -0
  66. package/dist/channels/pagerduty/types.js +1 -0
  67. package/dist/channels/runs/runs-channel.js +1 -1
  68. package/dist/channels/slack/agentic-delivery.d.ts +2 -1
  69. package/dist/channels/slack/agentic-delivery.d.ts.map +1 -1
  70. package/dist/channels/slack/agentic-delivery.js +6 -10
  71. package/dist/channels/slack/agentic-signals.d.ts +2 -7
  72. package/dist/channels/slack/agentic-signals.d.ts.map +1 -1
  73. package/dist/channels/slack/agentic-signals.js +4 -3
  74. package/dist/channels/slack/api.d.ts +1 -0
  75. package/dist/channels/slack/api.d.ts.map +1 -1
  76. package/dist/channels/slack/api.js +3 -0
  77. package/dist/channels/slack/constants.d.ts +2 -0
  78. package/dist/channels/slack/constants.d.ts.map +1 -1
  79. package/dist/channels/slack/constants.js +2 -0
  80. package/dist/channels/slack/defaults.d.ts.map +1 -1
  81. package/dist/channels/slack/defaults.js +3 -2
  82. package/dist/channels/slack/dispatch.d.ts +9 -0
  83. package/dist/channels/slack/dispatch.d.ts.map +1 -1
  84. package/dist/channels/slack/dispatch.js +3 -0
  85. package/dist/channels/slack/inbound.d.ts.map +1 -1
  86. package/dist/channels/slack/inbound.js +24 -20
  87. package/dist/channels/slack/interactive.d.ts +2 -0
  88. package/dist/channels/slack/interactive.d.ts.map +1 -1
  89. package/dist/channels/slack/interactive.js +1 -0
  90. package/dist/channels/slack/live-delivery.d.ts +3 -0
  91. package/dist/channels/slack/live-delivery.d.ts.map +1 -1
  92. package/dist/channels/slack/live-delivery.js +5 -0
  93. package/dist/channels/slack/reply-options.d.ts +9 -0
  94. package/dist/channels/slack/reply-options.d.ts.map +1 -1
  95. package/dist/channels/slack/reply-options.js +31 -1
  96. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  97. package/dist/channels/slack/slack-channel.js +7 -0
  98. package/dist/channels/slack/stream.d.ts +5 -1
  99. package/dist/channels/slack/stream.d.ts.map +1 -1
  100. package/dist/channels/slack/types.d.ts +29 -0
  101. package/dist/channels/slack/types.d.ts.map +1 -1
  102. package/dist/channels.d.ts +7 -1
  103. package/dist/channels.d.ts.map +1 -1
  104. package/dist/channels.js +12 -24
  105. package/dist/docs/404.html +3 -3
  106. package/dist/docs/assets/{app.DTIg0uKK.js → app.BITbgXMP.js} +4 -4
  107. package/dist/docs/assets/changelog.md.sdD6ctqK.js +1 -0
  108. package/dist/docs/assets/changelog.md.sdD6ctqK.lean.js +1 -0
  109. package/dist/docs/assets/chunks/@localSearchIndexroot.B45uCZp9.js +1 -0
  110. package/dist/docs/assets/chunks/{VPLocalSearchBox.BpJoSaxi.js → VPLocalSearchBox.3qo4-bX9.js} +2 -2
  111. package/dist/docs/assets/chunks/{arc.ylgNvRNq.js → arc.CTrZocKU.js} +1 -1
  112. package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.BMrNJqYk.js → architectureDiagram-Q4EWVU46.BkgIqxrv.js} +1 -1
  113. package/dist/docs/assets/chunks/{baseUniq.BBWUEqf9.js → baseUniq.5w0JfVgo.js} +1 -1
  114. package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.DFMu-Vza.js → blockDiagram-DXYQGD6D.BVLtPjQc.js} +1 -1
  115. package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.8nkAAxWv.js → c4Diagram-AHTNJAMY.CQ7neZTW.js} +1 -1
  116. package/dist/docs/assets/chunks/channel.Cv2w64wj.js +1 -0
  117. package/dist/docs/assets/chunks/{chunk-4BX2VUAB.sO-z2Bag.js → chunk-4BX2VUAB.D-hJ7uKM.js} +1 -1
  118. package/dist/docs/assets/chunks/{chunk-4TB4RGXK.BMROzTMq.js → chunk-4TB4RGXK.RBYX5ywX.js} +1 -1
  119. package/dist/docs/assets/chunks/{chunk-55IACEB6.X81urwg7.js → chunk-55IACEB6.Br05HoEb.js} +1 -1
  120. package/dist/docs/assets/chunks/{chunk-EDXVE4YY.eaZVFLZM.js → chunk-EDXVE4YY.BD_7QS60.js} +1 -1
  121. package/dist/docs/assets/chunks/{chunk-FMBD7UC4.CmZhzstR.js → chunk-FMBD7UC4.BOPnMabX.js} +1 -1
  122. package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CTezt9Lc.js → chunk-OYMX7WX6.DmGIdP8i.js} +1 -1
  123. package/dist/docs/assets/chunks/{chunk-QZHKN3VN.s-T8zukB.js → chunk-QZHKN3VN.CGHmolCB.js} +1 -1
  124. package/dist/docs/assets/chunks/{chunk-YZCP3GAM.DN4Nhy-D.js → chunk-YZCP3GAM.C_Uhs25v.js} +1 -1
  125. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CtO2atCr.js +1 -0
  126. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CtO2atCr.js +1 -0
  127. package/dist/docs/assets/chunks/clone.hfsCtgP4.js +1 -0
  128. package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.Cqyp4BUH.js → cose-bilkent-S5V4N54A.DsU6xpcZ.js} +1 -1
  129. package/dist/docs/assets/chunks/{dagre-KV5264BT.BIECOiqR.js → dagre-KV5264BT.BqQLDcoU.js} +1 -1
  130. package/dist/docs/assets/chunks/{diagram-5BDNPKRD.1tLyWoTg.js → diagram-5BDNPKRD.Cgv8uUNF.js} +1 -1
  131. package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.BVY_6VMO.js → diagram-G4DWMVQ6.BXHPSXh_.js} +1 -1
  132. package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BSZ7xiBB.js → diagram-MMDJMWI5.CgJzo8f_.js} +1 -1
  133. package/dist/docs/assets/chunks/{diagram-TYMM5635.Bho6GmLh.js → diagram-TYMM5635.CfiN6lgT.js} +1 -1
  134. package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.A0yVIANn.js → erDiagram-SMLLAGMA.8n_hHzAd.js} +1 -1
  135. package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.ZMgbllH6.js → flowDiagram-DWJPFMVM.B2pb1Dv_.js} +1 -1
  136. package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.BCCPBhXo.js → ganttDiagram-T4ZO3ILL.BFih4ucI.js} +1 -1
  137. package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.BOkL0BbA.js → gitGraphDiagram-UUTBAWPF.CqZ8PTl8.js} +1 -1
  138. package/dist/docs/assets/chunks/{graph.DMyZPu86.js → graph.0ufsI9gu.js} +1 -1
  139. package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.CjG1IiEw.js → infoDiagram-42DDH7IO.BkPRFww4.js} +1 -1
  140. package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.UCe-kq9g.js → ishikawaDiagram-UXIWVN3A.DCRK-cVX.js} +1 -1
  141. package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.3WyOK_eY.js → journeyDiagram-VCZTEJTY.BFyAJo33.js} +1 -1
  142. package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.WoRG2qY1.js → kanban-definition-6JOO6SKY.CmA2SoGc.js} +1 -1
  143. package/dist/docs/assets/chunks/{layout.DV07xDd5.js → layout.CYY-CbMr.js} +1 -1
  144. package/dist/docs/assets/chunks/{linear.CTO8mN6o.js → linear.DeeDV4Oq.js} +1 -1
  145. package/dist/docs/assets/chunks/{min.SvTtcKuZ.js → min.BL3XTBN2.js} +1 -1
  146. package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.DMGgQ-HB.js → mindmap-definition-QFDTVHPH.BcbY-G6H.js} +1 -1
  147. package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.B7851apI.js → pieDiagram-DEJITSTG.dzDcQnPE.js} +1 -1
  148. package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.CEqyypIX.js → quadrantDiagram-34T5L4WZ.RxR0m5iK.js} +1 -1
  149. package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.C3Mwsw-H.js → requirementDiagram-MS252O5E.DflaXb6Q.js} +1 -1
  150. package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DyYK0XxY.js → sankeyDiagram-XADWPNL6.BteLKQAe.js} +1 -1
  151. package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.SiQPH-XM.js → sequenceDiagram-FGHM5R23.BD8jM8oz.js} +1 -1
  152. package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.CTJMsP4p.js → stateDiagram-FHFEXIEX.C8SBkbPH.js} +1 -1
  153. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BLz7Qyo3.js +1 -0
  154. package/dist/docs/assets/chunks/{theme.DJo4my9R.js → theme.DiViIOLe.js} +2 -2
  155. package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.CxSNRlQ6.js → timeline-definition-GMOUNBTQ.D64XF5dV.js} +1 -1
  156. package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.BdoJskyD.js → vennDiagram-DHZGUBPP.CwmeYan-.js} +1 -1
  157. package/dist/docs/assets/chunks/wardley-RL74JXVD.DmAlXlpu.js +162 -0
  158. package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.IjIbFn_F.js → wardleyDiagram-NUSXRM2D.5VJ2-5K0.js} +1 -1
  159. package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CPUxDZLH.js → xychartDiagram-5P7HB3ND.Cl6_fZVC.js} +1 -1
  160. package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.js → guides_hooks.md.B2XfGX50.js} +7 -3
  161. package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.js → guides_mcp-oauth.md.Cxq2TxBB.js} +3 -3
  162. package/dist/docs/assets/{guides_mcp-oauth.md.BM_eFC0L.lean.js → guides_mcp-oauth.md.Cxq2TxBB.lean.js} +1 -1
  163. package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.js +37 -0
  164. package/dist/docs/assets/guides_opentelemetry.md.D4wO7_8v.lean.js +1 -0
  165. package/dist/docs/assets/guides_pagerduty.md.BHXMcMtx.js +60 -0
  166. package/dist/docs/assets/guides_pagerduty.md.BHXMcMtx.lean.js +1 -0
  167. package/dist/docs/assets/{guides_slack.md.Bn-WupSE.js → guides_slack.md.ClIyi7FI.js} +8 -3
  168. package/dist/docs/assets/{guides_slack.md.Bn-WupSE.lean.js → guides_slack.md.ClIyi7FI.lean.js} +1 -1
  169. package/dist/docs/assets/{reference_agent-config.md.IplwL25I.js → reference_agent-config.md.CGSx8COP.js} +6 -2
  170. package/dist/docs/assets/{reference_agent-config.md.IplwL25I.lean.js → reference_agent-config.md.CGSx8COP.lean.js} +1 -1
  171. package/dist/docs/assets/{reference_channels.md.DYg0CLud.js → reference_channels.md.CNNIS6K7.js} +1 -1
  172. package/dist/docs/assets/{reference_cli.md.DB7Llw3T.js → reference_cli.md.1o_TqKdt.js} +7 -2
  173. package/dist/docs/assets/{reference_cli.md.DB7Llw3T.lean.js → reference_cli.md.1o_TqKdt.lean.js} +1 -1
  174. package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.js → reference_hooks.md.CROr0QgC.js} +13 -7
  175. package/dist/docs/assets/{reference_hooks.md.B1jq3oGl.lean.js → reference_hooks.md.CROr0QgC.lean.js} +1 -1
  176. package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.js → reference_schedules.md.BqWnJES4.js} +3 -3
  177. package/dist/docs/assets/reference_sessions.md.Bi6lHttM.js +22 -0
  178. package/dist/docs/assets/reference_sessions.md.Bi6lHttM.lean.js +1 -0
  179. package/dist/docs/assets/{reference_skills.md.C2GWh7g8.js → reference_skills.md.Ckddg6KX.js} +3 -3
  180. package/dist/docs/assets/{reference_tools.md.08XR7lIl.js → reference_tools.md.Bo0UfT0a.js} +1 -1
  181. package/dist/docs/assets/{style.nMsabY-V.css → style.B9o0luvp.css} +1 -1
  182. package/dist/docs/building-with-agents.html +37 -37
  183. package/dist/docs/changelog.html +60 -0
  184. package/dist/docs/changelog.md +86 -0
  185. package/dist/docs/deployment.html +37 -37
  186. package/dist/docs/evals.html +37 -37
  187. package/dist/docs/guides/agent-to-agent.html +37 -37
  188. package/dist/docs/guides/bitbucket.html +37 -37
  189. package/dist/docs/guides/cloud-agents.html +37 -37
  190. package/dist/docs/guides/convert-automation.html +37 -37
  191. package/dist/docs/guides/export-grokbot.html +37 -37
  192. package/dist/docs/guides/github.html +37 -37
  193. package/dist/docs/guides/gitlab.html +37 -37
  194. package/dist/docs/guides/grokbot-agents.html +37 -37
  195. package/dist/docs/guides/hooks.html +45 -41
  196. package/dist/docs/guides/hooks.md +7 -3
  197. package/dist/docs/guides/improve.html +37 -37
  198. package/dist/docs/guides/jev.html +37 -37
  199. package/dist/docs/guides/mcp-oauth.html +39 -39
  200. package/dist/docs/guides/mcp-oauth.md +12 -0
  201. package/dist/docs/guides/migrate.html +37 -37
  202. package/dist/docs/guides/opentelemetry.html +62 -70
  203. package/dist/docs/guides/opentelemetry.md +150 -175
  204. package/dist/docs/guides/pagerduty.html +119 -0
  205. package/dist/docs/guides/pagerduty.md +336 -0
  206. package/dist/docs/guides/slack.html +44 -39
  207. package/dist/docs/guides/slack.md +41 -0
  208. package/dist/docs/guides/webhooks.html +37 -37
  209. package/dist/docs/hashmap.json +1 -1
  210. package/dist/docs/hillclimbing.html +37 -37
  211. package/dist/docs/index.html +37 -37
  212. package/dist/docs/llms-full.txt +730 -163
  213. package/dist/docs/llms.txt +3 -1
  214. package/dist/docs/quickstart.html +37 -37
  215. package/dist/docs/reference/agent-config.html +42 -38
  216. package/dist/docs/reference/agent-config.md +21 -1
  217. package/dist/docs/reference/artifacts.html +37 -37
  218. package/dist/docs/reference/channels.html +38 -38
  219. package/dist/docs/reference/channels.md +7 -2
  220. package/dist/docs/reference/cli.html +43 -38
  221. package/dist/docs/reference/cli.md +27 -0
  222. package/dist/docs/reference/connections.html +37 -37
  223. package/dist/docs/reference/evals.html +37 -37
  224. package/dist/docs/reference/extensions.html +37 -37
  225. package/dist/docs/reference/hooks.html +49 -43
  226. package/dist/docs/reference/hooks.md +10 -5
  227. package/dist/docs/reference/http-api.html +37 -37
  228. package/dist/docs/reference/instructions.html +37 -37
  229. package/dist/docs/reference/memory.html +37 -37
  230. package/dist/docs/reference/playground.html +36 -36
  231. package/dist/docs/reference/project-layout.html +37 -37
  232. package/dist/docs/reference/prompt.html +37 -37
  233. package/dist/docs/reference/schedules.html +40 -40
  234. package/dist/docs/reference/sessions.html +58 -37
  235. package/dist/docs/reference/sessions.md +46 -1
  236. package/dist/docs/reference/skills.html +40 -40
  237. package/dist/docs/reference/subagents.html +37 -37
  238. package/dist/docs/reference/tools.html +39 -39
  239. package/dist/docs/reference/tools.md +4 -3
  240. package/dist/docs/templates/agentic-owners.html +37 -37
  241. package/dist/docs/templates/grokbot-agents.html +37 -37
  242. package/dist/docs/templates/security-reviewer.html +37 -37
  243. package/dist/docs/templates/thermo-quality-review.html +37 -37
  244. package/dist/docs/templates/thermo-review.html +37 -37
  245. package/dist/docs/templates/triage.html +37 -37
  246. package/dist/docs/troubleshooting.html +36 -36
  247. package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
  248. package/dist/extensions/cursor-cloud-agents/extension.js +15 -15
  249. package/dist/extensions/cursor-cloud-agents/lib/backend.js +1 -1
  250. package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
  251. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts +1 -1
  252. package/dist/extensions/cursor-cloud-agents/lib/inputs.d.ts.map +1 -1
  253. package/dist/extensions/cursor-cloud-agents/lib/inputs.js +1 -1
  254. package/dist/extensions/cursor-cloud-agents/reminders/cloud-agent-stop-watch.js +1 -1
  255. package/dist/extensions/cursor-cloud-agents/tools/launch.js +1 -1
  256. package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
  257. package/dist/extensions/cursor-cloud-agents/tools/reply.js +1 -1
  258. package/dist/extensions/cursor-grokbot-agents/extension.d.ts.map +1 -1
  259. package/dist/extensions/cursor-grokbot-agents/extension.js +7 -3
  260. package/dist/extensions/cursor-grokbot-agents/lib/backend.js +1 -1
  261. package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +1 -1
  262. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts +1 -1
  263. package/dist/extensions/cursor-grokbot-agents/lib/inputs.d.ts.map +1 -1
  264. package/dist/extensions/cursor-grokbot-agents/lib/inputs.js +1 -1
  265. package/dist/extensions/cursor-grokbot-agents/tools/ask.js +1 -1
  266. package/dist/extensions/cursor-grokbot-agents/tools/check.js +1 -1
  267. package/dist/extensions/cursor-grokbot-agents/tools/interrupt.js +1 -1
  268. package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
  269. package/dist/extensions/improve/extension.js +1 -1
  270. package/dist/extensions/jev/extension.js +2 -2
  271. package/dist/extensions/jev/tools/evaluate.js +3 -3
  272. package/dist/extensions/slack-communication/extension.js +1 -1
  273. package/dist/extensions/slack-communication/tools/delete-message.js +1 -1
  274. package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -1
  275. package/dist/extensions/slack-communication/tools/edit-message.js +3 -6
  276. package/dist/extensions/slack-communication/tools/post-card.js +1 -1
  277. package/dist/extensions/slack-communication/tools/post-file.js +1 -1
  278. package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -1
  279. package/dist/extensions/slack-communication/tools/post-update.js +3 -6
  280. package/dist/extensions/slack-communication/tools/react.js +1 -1
  281. package/dist/extensions/slack-communication/tools/set-status.js +1 -1
  282. package/dist/extensions.d.ts +1 -1
  283. package/dist/extensions.js +1 -1
  284. package/dist/index.d.ts +14 -11
  285. package/dist/index.d.ts.map +1 -1
  286. package/dist/index.js +8 -4
  287. package/dist/internal/approval-gate.d.ts +4 -2
  288. package/dist/internal/approval-gate.d.ts.map +1 -1
  289. package/dist/internal/approval-gate.js +2 -1
  290. package/dist/internal/as-of.d.ts +2 -0
  291. package/dist/internal/as-of.d.ts.map +1 -1
  292. package/dist/internal/as-of.js +2 -0
  293. package/dist/internal/builtin-tools/artifacts.d.ts.map +1 -1
  294. package/dist/internal/builtin-tools/artifacts.js +45 -12
  295. package/dist/internal/builtin-tools/reminders.js +1 -1
  296. package/dist/internal/channel-architecture.d.ts +1 -1
  297. package/dist/internal/channel-architecture.d.ts.map +1 -1
  298. package/dist/internal/channel-architecture.js +4 -2
  299. package/dist/internal/cli-deploy.d.ts.map +1 -1
  300. package/dist/internal/cli-deploy.js +39 -22
  301. package/dist/internal/cli-pagerduty.d.ts +32 -0
  302. package/dist/internal/cli-pagerduty.d.ts.map +1 -0
  303. package/dist/internal/cli-pagerduty.js +242 -0
  304. package/dist/internal/continuation-channel.d.ts.map +1 -1
  305. package/dist/internal/continuation-channel.js +7 -0
  306. package/dist/internal/continuation-identity.d.ts +11 -3
  307. package/dist/internal/continuation-identity.d.ts.map +1 -1
  308. package/dist/internal/continuation-identity.js +83 -0
  309. package/dist/internal/continuation.d.ts +3 -0
  310. package/dist/internal/continuation.d.ts.map +1 -0
  311. package/dist/internal/continuation.js +1 -0
  312. package/dist/internal/conversation-mirror.d.ts +5 -0
  313. package/dist/internal/conversation-mirror.d.ts.map +1 -1
  314. package/dist/internal/conversation-mirror.js +12 -1
  315. package/dist/internal/convert-automation/convert-workflow.js +1 -1
  316. package/dist/internal/convert-grokbot/answers.d.ts.map +1 -1
  317. package/dist/internal/convert-grokbot/answers.js +10 -8
  318. package/dist/internal/convert-grokbot/recipe.d.ts +1 -1
  319. package/dist/internal/convert-grokbot/recipe.d.ts.map +1 -1
  320. package/dist/internal/convert-grokbot/recipe.js +1 -1
  321. package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
  322. package/dist/internal/cursor/account-mcp.js +2 -0
  323. package/dist/internal/cursor/backend-client.d.ts +8 -3
  324. package/dist/internal/cursor/backend-client.d.ts.map +1 -1
  325. package/dist/internal/cursor/backend-client.js +8 -3
  326. package/dist/internal/cursor/credentials.d.ts +2 -2
  327. package/dist/internal/cursor/credentials.d.ts.map +1 -1
  328. package/dist/internal/cursor/credentials.js +1 -1
  329. package/dist/internal/cursor-account-mcp-auth.d.ts +6 -2
  330. package/dist/internal/cursor-account-mcp-auth.d.ts.map +1 -1
  331. package/dist/internal/cursor-account-mcp-auth.js +15 -6
  332. package/dist/internal/deferred-channel-session.d.ts +5 -4
  333. package/dist/internal/deferred-channel-session.d.ts.map +1 -1
  334. package/dist/internal/deferred-channel-session.js +6 -4
  335. package/dist/internal/deploy-client.d.ts +5 -0
  336. package/dist/internal/deploy-client.d.ts.map +1 -1
  337. package/dist/internal/deploy-client.js +3 -3
  338. package/dist/internal/deploy-manifest.d.ts +11 -4
  339. package/dist/internal/deploy-manifest.d.ts.map +1 -1
  340. package/dist/internal/deploy-manifest.js +19 -7
  341. package/dist/internal/describe-error.d.ts +2 -0
  342. package/dist/internal/describe-error.d.ts.map +1 -1
  343. package/dist/internal/describe-error.js +2 -0
  344. package/dist/internal/discovery/agent-config.d.ts.map +1 -1
  345. package/dist/internal/discovery/agent-config.js +10 -10
  346. package/dist/internal/discovery/agent.d.ts.map +1 -1
  347. package/dist/internal/discovery/agent.js +10 -10
  348. package/dist/internal/discovery/channels.d.ts.map +1 -1
  349. package/dist/internal/discovery/channels.js +20 -16
  350. package/dist/internal/discovery/context.d.ts +16 -0
  351. package/dist/internal/discovery/context.d.ts.map +1 -1
  352. package/dist/internal/discovery/context.js +67 -2
  353. package/dist/internal/discovery/cursor-plugin.js +8 -8
  354. package/dist/internal/discovery/extension-overlay.d.ts.map +1 -1
  355. package/dist/internal/discovery/extension-overlay.js +2 -6
  356. package/dist/internal/discovery/extensions.js +15 -8
  357. package/dist/internal/discovery/info.d.ts +2 -2
  358. package/dist/internal/discovery/info.d.ts.map +1 -1
  359. package/dist/internal/discovery/info.js +9 -9
  360. package/dist/internal/discovery/instructions.d.ts.map +1 -1
  361. package/dist/internal/discovery/instructions.js +3 -6
  362. package/dist/internal/discovery/instrumentation.d.ts +10 -0
  363. package/dist/internal/discovery/instrumentation.d.ts.map +1 -0
  364. package/dist/internal/discovery/instrumentation.js +29 -0
  365. package/dist/internal/discovery/modules.d.ts.map +1 -1
  366. package/dist/internal/discovery/modules.js +7 -10
  367. package/dist/internal/discovery/project-public.d.ts +16 -0
  368. package/dist/internal/discovery/project-public.d.ts.map +1 -0
  369. package/dist/internal/discovery/project-public.js +54 -0
  370. package/dist/internal/discovery/project.d.ts +6 -0
  371. package/dist/internal/discovery/project.d.ts.map +1 -1
  372. package/dist/internal/discovery/project.js +40 -8
  373. package/dist/internal/discovery/runtime.d.ts.map +1 -1
  374. package/dist/internal/discovery/runtime.js +8 -8
  375. package/dist/internal/discovery/services.d.ts +5 -4
  376. package/dist/internal/discovery/services.d.ts.map +1 -1
  377. package/dist/internal/discovery/services.js +12 -6
  378. package/dist/internal/discovery.d.ts +1 -1
  379. package/dist/internal/discovery.d.ts.map +1 -1
  380. package/dist/internal/discovery.js +1 -1
  381. package/dist/internal/event-mapper.d.ts.map +1 -1
  382. package/dist/internal/event-mapper.js +1 -0
  383. package/dist/internal/expected-delivery-failure.d.ts.map +1 -1
  384. package/dist/internal/expected-delivery-failure.js +6 -0
  385. package/dist/internal/factory-resource-channel.d.ts +1 -1
  386. package/dist/internal/factory-resource-channel.d.ts.map +1 -1
  387. package/dist/internal/filesystem/nearest.d.ts +1 -0
  388. package/dist/internal/filesystem/nearest.d.ts.map +1 -1
  389. package/dist/internal/filesystem/nearest.js +1 -0
  390. package/dist/internal/filesystem/sdk-schemas.d.ts.map +1 -1
  391. package/dist/internal/filesystem/sdk-schemas.js +4 -3
  392. package/dist/internal/filesystem/tools.d.ts.map +1 -1
  393. package/dist/internal/filesystem/tools.js +1 -1
  394. package/dist/internal/handleAgentServeTrigger.d.ts +10 -0
  395. package/dist/internal/handleAgentServeTrigger.d.ts.map +1 -1
  396. package/dist/internal/handleAgentServeTrigger.js +3 -0
  397. package/dist/internal/hmac-secret-values.d.ts +48 -0
  398. package/dist/internal/hmac-secret-values.d.ts.map +1 -0
  399. package/dist/internal/hmac-secret-values.js +68 -0
  400. package/dist/internal/host-otel.d.ts +1 -1
  401. package/dist/internal/host-otel.d.ts.map +1 -1
  402. package/dist/internal/host-otel.js +5 -0
  403. package/dist/internal/host-platforms.d.ts.map +1 -1
  404. package/dist/internal/host-platforms.js +8 -2
  405. package/dist/internal/hosted-delivery.d.ts.map +1 -1
  406. package/dist/internal/hosted-delivery.js +6 -2
  407. package/dist/internal/http-channel.d.ts.map +1 -1
  408. package/dist/internal/http-channel.js +1 -0
  409. package/dist/internal/ids.d.ts +8 -0
  410. package/dist/internal/ids.d.ts.map +1 -1
  411. package/dist/internal/ids.js +20 -0
  412. package/dist/internal/init-scaffold.js +1 -1
  413. package/dist/internal/interview/agent-questions.d.ts +1 -1
  414. package/dist/internal/interview/agent-questions.d.ts.map +1 -1
  415. package/dist/internal/interview/agent-questions.js +1 -1
  416. package/dist/internal/interview/question.d.ts +2 -2
  417. package/dist/internal/interview/question.d.ts.map +1 -1
  418. package/dist/internal/interview/question.js +2 -2
  419. package/dist/internal/json-schema.d.ts +7 -7
  420. package/dist/internal/json-schema.d.ts.map +1 -1
  421. package/dist/internal/json-schema.js +16 -23
  422. package/dist/internal/mcp-endpoint.d.ts +16 -4
  423. package/dist/internal/mcp-endpoint.d.ts.map +1 -1
  424. package/dist/internal/mcp-endpoint.js +18 -6
  425. package/dist/internal/mcp-host.d.ts +9 -0
  426. package/dist/internal/mcp-host.d.ts.map +1 -1
  427. package/dist/internal/mcp-host.js +15 -0
  428. package/dist/internal/otel/collector.d.ts +5 -0
  429. package/dist/internal/otel/collector.d.ts.map +1 -1
  430. package/dist/internal/otel/collector.js +27 -6
  431. package/dist/internal/otel/config.d.ts +37 -22
  432. package/dist/internal/otel/config.d.ts.map +1 -1
  433. package/dist/internal/otel/config.js +132 -125
  434. package/dist/internal/otel/conversation-span-processor.d.ts +9 -0
  435. package/dist/internal/otel/conversation-span-processor.d.ts.map +1 -0
  436. package/dist/internal/otel/conversation-span-processor.js +34 -0
  437. package/dist/internal/otel/customer.d.ts +52 -0
  438. package/dist/internal/otel/customer.d.ts.map +1 -0
  439. package/dist/internal/otel/customer.js +727 -0
  440. package/dist/internal/otel/runtime.d.ts +12 -16
  441. package/dist/internal/otel/runtime.d.ts.map +1 -1
  442. package/dist/internal/otel/runtime.js +37 -218
  443. package/dist/internal/otel-env.d.ts +6 -0
  444. package/dist/internal/otel-env.d.ts.map +1 -0
  445. package/dist/internal/otel-env.js +5 -0
  446. package/dist/internal/package-inline-stdio.d.ts.map +1 -1
  447. package/dist/internal/package-inline-stdio.js +21 -6
  448. package/dist/internal/reminder-runner.d.ts +9 -4
  449. package/dist/internal/reminder-runner.d.ts.map +1 -1
  450. package/dist/internal/reminder-runner.js +12 -10
  451. package/dist/internal/reminder-schedule.d.ts +1 -0
  452. package/dist/internal/reminder-schedule.d.ts.map +1 -1
  453. package/dist/internal/reminder-schedule.js +1 -0
  454. package/dist/internal/sdk-runner.d.ts +4 -3
  455. package/dist/internal/sdk-runner.d.ts.map +1 -1
  456. package/dist/internal/sdk-runner.js +157 -17
  457. package/dist/internal/secret-alternatives.d.ts +11 -0
  458. package/dist/internal/secret-alternatives.d.ts.map +1 -0
  459. package/dist/internal/secret-alternatives.js +13 -0
  460. package/dist/internal/server.d.ts +4 -1
  461. package/dist/internal/server.d.ts.map +1 -1
  462. package/dist/internal/server.js +27 -26
  463. package/dist/internal/session-engine.d.ts +27 -0
  464. package/dist/internal/session-engine.d.ts.map +1 -1
  465. package/dist/internal/session-engine.js +154 -25
  466. package/dist/internal/slack-provision-client.js +1 -1
  467. package/dist/internal/sqlite-experimental-warning.d.ts +2 -0
  468. package/dist/internal/sqlite-experimental-warning.d.ts.map +1 -0
  469. package/dist/internal/sqlite-experimental-warning.js +22 -0
  470. package/dist/internal/store-api-protocol.d.ts +1 -1
  471. package/dist/internal/store-api-protocol.d.ts.map +1 -1
  472. package/dist/internal/store-api-protocol.js +1 -1
  473. package/dist/internal/testing/conversation-identity-vectors.d.ts +6 -1
  474. package/dist/internal/testing/conversation-identity-vectors.d.ts.map +1 -1
  475. package/dist/internal/testing/conversation-identity-vectors.js +34 -0
  476. package/dist/internal/testing/hmac-secret-vectors.d.ts +38 -0
  477. package/dist/internal/testing/hmac-secret-vectors.d.ts.map +1 -0
  478. package/dist/internal/testing/hmac-secret-vectors.js +89 -0
  479. package/dist/internal/testing/pagerduty-continuation-fixtures.d.ts +42 -0
  480. package/dist/internal/testing/pagerduty-continuation-fixtures.d.ts.map +1 -0
  481. package/dist/internal/testing/pagerduty-continuation-fixtures.js +175 -0
  482. package/dist/internal/update-check.d.ts +2 -2
  483. package/dist/internal/update-check.d.ts.map +1 -1
  484. package/dist/internal/update-check.js +3 -3
  485. package/dist/internal/zod-schema.d.ts +14 -0
  486. package/dist/internal/zod-schema.d.ts.map +1 -0
  487. package/dist/internal/zod-schema.js +22 -0
  488. package/dist/internal/zod3-datetime.d.ts +12 -0
  489. package/dist/internal/zod3-datetime.d.ts.map +1 -0
  490. package/dist/internal/zod3-datetime.js +17 -0
  491. package/dist/otel-public.d.ts +2 -3
  492. package/dist/otel-public.d.ts.map +1 -1
  493. package/dist/otel-public.js +2 -2
  494. package/dist/otel.d.ts +3 -102
  495. package/dist/otel.d.ts.map +1 -1
  496. package/dist/otel.js +61 -97
  497. package/dist/playground/assets/cursor-icons-16-DmHBTm1-.woff2 +0 -0
  498. package/dist/playground/assets/index-CyPkf2y7.css +1 -0
  499. package/dist/playground/assets/index-DpbzbqFY.js +62 -0
  500. package/dist/playground/index.html +2 -2
  501. package/dist/public-deprecated.d.ts +36 -0
  502. package/dist/public-deprecated.d.ts.map +1 -0
  503. package/dist/public-deprecated.js +39 -0
  504. package/dist/tools.d.ts +16 -13
  505. package/dist/tools.d.ts.map +1 -1
  506. package/dist/tools.js +4 -3
  507. package/dist/types.d.ts +286 -104
  508. package/dist/types.d.ts.map +1 -1
  509. package/docs/changelog.md +91 -0
  510. package/docs/guides/hooks.md +7 -3
  511. package/docs/guides/mcp-oauth.md +12 -0
  512. package/docs/guides/opentelemetry.md +150 -180
  513. package/docs/guides/pagerduty.md +341 -0
  514. package/docs/guides/slack.md +41 -0
  515. package/docs/reference/agent-config.md +21 -1
  516. package/docs/reference/channels.md +7 -2
  517. package/docs/reference/cli.md +27 -0
  518. package/docs/reference/hooks.md +10 -5
  519. package/docs/reference/sessions.md +46 -1
  520. package/docs/reference/tools.md +4 -3
  521. package/package.json +39 -8
  522. package/schemas/grokbot-answers.schema.json +11 -0
  523. package/skills/framework-map/SKILL.md +2 -1
  524. package/skills/migrate-v2/SKILL.md +1 -1
  525. package/skills/otel/SKILL.md +30 -46
  526. package/templates/agentic-owners/README.md +6 -1
  527. package/templates/agentic-owners/bot/lib/owners/decision.ts +31 -5
  528. package/templates/agentic-owners/bot/lib/owners/globalOverride.ts +60 -0
  529. package/templates/agentic-owners/bot/lib/owners/match.ts +85 -19
  530. package/templates/agentic-owners/bot/lib/owners/parse.ts +133 -2
  531. package/templates/agentic-owners/bot/lib/owners/types.ts +23 -0
  532. package/templates/code-wiki/evals/wiki.eval.ts +2 -2
  533. package/dist/docs/assets/chunks/@localSearchIndexroot.3ebvCWKy.js +0 -1
  534. package/dist/docs/assets/chunks/channel.BOebySCN.js +0 -1
  535. package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.C55IaN-T.js +0 -1
  536. package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.C55IaN-T.js +0 -1
  537. package/dist/docs/assets/chunks/clone.D06pA7ML.js +0 -1
  538. package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.DddRVjeq.js +0 -1
  539. package/dist/docs/assets/chunks/wardley-RL74JXVD.CVCRSuQK.js +0 -162
  540. package/dist/docs/assets/guides_opentelemetry.md.Ck1o2frw.js +0 -45
  541. package/dist/docs/assets/guides_opentelemetry.md.Ck1o2frw.lean.js +0 -1
  542. package/dist/docs/assets/reference_sessions.md.C8FXuGwk.js +0 -1
  543. package/dist/docs/assets/reference_sessions.md.C8FXuGwk.lean.js +0 -1
  544. package/dist/playground/assets/cursor-icons-16-gwXtdAvu.woff2 +0 -0
  545. package/dist/playground/assets/index-DKKdkF29.js +0 -62
  546. package/dist/playground/assets/index-DpKinTMs.css +0 -1
  547. package/templates/grokbot-agents/.gitignore +0 -4
  548. package/templates/security-help/.gitignore +0 -4
  549. /package/dist/docs/assets/{guides_hooks.md.Bfj0pK91.lean.js → guides_hooks.md.B2XfGX50.lean.js} +0 -0
  550. /package/dist/docs/assets/{reference_channels.md.DYg0CLud.lean.js → reference_channels.md.CNNIS6K7.lean.js} +0 -0
  551. /package/dist/docs/assets/{reference_schedules.md.03Ryy9ca.lean.js → reference_schedules.md.BqWnJES4.lean.js} +0 -0
  552. /package/dist/docs/assets/{reference_skills.md.C2GWh7g8.lean.js → reference_skills.md.Ckddg6KX.lean.js} +0 -0
  553. /package/dist/docs/assets/{reference_tools.md.08XR7lIl.lean.js → reference_tools.md.Bo0UfT0a.lean.js} +0 -0
@@ -99,14 +99,14 @@ export interface GitLabApi {
99
99
  listMergeRequestDiffs(iid: number): Promise<GitLabApiMergeRequestDiff[]>;
100
100
  }
101
101
  /** `GITLAB_TOKEN` when set. */
102
- export declare function envGitLabToken(env?: NodeJS.ProcessEnv): string | undefined;
102
+ export declare function envGitLabToken(env?: Record<string, string | undefined>): string | undefined;
103
103
  /**
104
104
  * REST base for direct calls: `GITLAB_API_BASE_URL`, else `/api/v4` on the
105
105
  * given project web URL's origin (self-managed hosts), else gitlab.com.
106
106
  */
107
107
  export declare function gitlabApiBaseUrl(input?: {
108
108
  projectWebUrl?: string;
109
- env?: NodeJS.ProcessEnv;
109
+ env?: Record<string, string | undefined>;
110
110
  }): string;
111
111
  /**
112
112
  * GitLab's `:id` path segment accepts a numeric id or a URL-encoded
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/channels/gitlab/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/channels/gitlab/api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod/v3";
1
+ import * as z from "zod/v4";
2
2
  import { allowAll, defineChannel, localDevStrict, loopbackOnly, POST, sharedSecretAuth, } from "../../channels.js";
3
3
  import { withPropagatingBackgroundErrors } from "../../internal/channel-dispatch.js";
4
4
  import { normalizeIdentity } from "../../internal/continuation-identity.js";
@@ -1,4 +1,4 @@
1
- import { z } from "zod/v3";
1
+ import * as z from "zod/v4";
2
2
  import { createFactoryResourceChannel } from "../../internal/factory-resource-channel.js";
3
3
  import { ISSUE_CREATED_EVENT_TYPE, } from "./types.js";
4
4
  const issueResourceSchema = z
@@ -62,17 +62,17 @@ export interface OriginAppCredentials {
62
62
  privateKey: string;
63
63
  }
64
64
  /** Each Origin app credential field found in the environment, when set. */
65
- export declare function resolveOriginAppCredentialParts(env?: NodeJS.ProcessEnv): Partial<OriginAppCredentials>;
65
+ export declare function resolveOriginAppCredentialParts(env?: Record<string, string | undefined>): Partial<OriginAppCredentials>;
66
66
  /**
67
67
  * Read Origin app credentials from the environment. Returns `undefined` when
68
68
  * incomplete so callers can fail with a clear message at use time instead of
69
69
  * at startup.
70
70
  */
71
- export declare function resolveOriginAppCredentials(env?: NodeJS.ProcessEnv): OriginAppCredentials | undefined;
71
+ export declare function resolveOriginAppCredentials(env?: Record<string, string | undefined>): OriginAppCredentials | undefined;
72
72
  /** Public Origin REST base. Trailing slashes are stripped for path joins. */
73
- export declare function originPublicApiBaseUrl(env?: NodeJS.ProcessEnv): string;
73
+ export declare function originPublicApiBaseUrl(env?: Record<string, string | undefined>): string;
74
74
  /** Origin ConnectRPC base. Trailing slashes are stripped for path joins. */
75
- export declare function originRpcBaseUrl(env?: NodeJS.ProcessEnv): string;
75
+ export declare function originRpcBaseUrl(env?: Record<string, string | undefined>): string;
76
76
  /**
77
77
  * Exchange endpoint for Cursor-account session tokens. Override with
78
78
  * `AGENT_SERVE_CURSOR_SESSION_EXCHANGE_URL`; defaults to the Cursor backend.
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/channels/origin/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAWH;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,2BAA2B,CAAC;AAE3E;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,kCAAkC,CAAC;AAS3E,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1E,sEAAsE;AACtE,qBAAa,cAAe,SAAQ,KAAK;IACvC,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;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;CACpB;AAaD,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAM/B;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,oBAAoB,GAAG,SAAS,CAMlC;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGnF;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAG7E;AAyDD;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,CAMxD;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,GAAG;IAC7D,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AA2BF,gEAAgE;AAChE,wBAAgB,uCAAuC,IAAI,IAAI,CAG9D;AAED,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,EAAE;IACjD,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACrC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,0BAA0B,CAwE7B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,WAAW,EAAE,oBAAoB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,mBAAmB,CAmBtB;AAED,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACrC;;;;OAIG;IACH,WAAW,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;IAC3C,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;;;;;OAKG;IACH,qBAAqB,CAAC,EAClB,OAAO,GACP;QACE,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;QACrC,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACP;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE;QAC1B,MAAM,EAAE,eAAe,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAmGlF"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/channels/origin/api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod/v3";
1
+ import * as z from "zod/v4";
2
2
  import { allowAll, defineChannel, localDevStrict, loopbackOnly, POST } from "../../channels.js";
3
3
  import { acknowledgeTask, isTaskDispatch, skipped, turnStarted, withPropagatingBackgroundErrors, } from "../../internal/channel-dispatch.js";
4
4
  import { continuationSource, normalizeIdentity } from "../../internal/continuation-identity.js";
@@ -9,7 +9,7 @@ export type OriginWebhookHeaders = {
9
9
  export declare function buildV1edSignedContentDigest(args: {
10
10
  webhookId: string;
11
11
  timestampSeconds: number;
12
- body: string | Buffer;
12
+ body: string | Uint8Array;
13
13
  }): string;
14
14
  /**
15
15
  * Verify a delivery's Standard Webhooks headers against the Origin signing
@@ -18,7 +18,7 @@ export declare function buildV1edSignedContentDigest(args: {
18
18
  */
19
19
  export declare function verifyV1edWebhookPayload(args: {
20
20
  publicJwks: readonly OriginJwk[];
21
- body: string | Buffer;
21
+ body: string | Uint8Array;
22
22
  headers: OriginWebhookHeaders;
23
23
  nowMs?: number;
24
24
  }): boolean;
@@ -63,7 +63,7 @@ export declare class OriginJwksUnavailableError extends Error {
63
63
  * {@link OriginJwksUnavailableError} when the keys cannot be fetched, and a
64
64
  * plain error when the signature does not verify against them.
65
65
  */
66
- export declare function verifyOriginWebhook(body: string | Buffer, headers: OriginWebhookHeaders, options?: VerifyOriginWebhookOptions): Promise<void>;
66
+ export declare function verifyOriginWebhook(body: string | Uint8Array, headers: OriginWebhookHeaders, options?: VerifyOriginWebhookOptions): Promise<void>;
67
67
  /** Test helper: drop the in-process JWKS cache. */
68
68
  export declare function resetOriginWebhookKeysCache(): void;
69
69
  //# sourceMappingURL=origin-webhook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"origin-webhook.d.ts","sourceRoot":"","sources":["../../../src/channels/origin/origin-webhook.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AAWvE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,GAAG,MAAM,CAMT;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAuDV;AAgBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEhG;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,MAAM,GAAG,SAAS,CAEpB;AAWD,MAAM,MAAM,sBAAsB,GAAG;IACnC,oFAAoF;IACpF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,OAAO,KAAa,EAC/B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CA6C/B;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAgBxD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,mDAAmD;AACnD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
1
+ {"version":3,"file":"origin-webhook.d.ts","sourceRoot":"","sources":["../../../src/channels/origin/origin-webhook.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AAWvE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B,GAAG,MAAM,CAMT;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAuDV;AAgBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEhG;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,MAAM,GAAG,SAAS,CAEpB;AAWD,MAAM,MAAM,sBAAsB,GAAG;IACnC,oFAAoF;IACpF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,OAAO,KAAa,EAC/B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CA6C/B;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAgBxD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,mDAAmD;AACnD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * A minimal PagerDuty REST client for write-backs (notes, incident updates).
3
+ * Every credential defaults to a well-known env var / deployment secret and
4
+ * is read per call, so a hosted deployment, which receives its secrets per
5
+ * request, sees them.
6
+ */
7
+ import type { WebhookSecretValue } from "../../internal/named-webhook-secret.js";
8
+ import type { PagerDutyChannelOptions } from "./types.js";
9
+ /**
10
+ * API token: a REST API key (user or account level), or an OAuth access
11
+ * token written as `Bearer <token>`.
12
+ */
13
+ export declare const PAGERDUTY_TOKEN_ENV = "PAGERDUTY_TOKEN";
14
+ /** REST base override, e.g. `https://api.eu.pagerduty.com` for the EU service region. */
15
+ export declare const PAGERDUTY_API_BASE_URL_ENV = "PAGERDUTY_API_BASE_URL";
16
+ /** `From` email for write calls made with an account-level REST API key. */
17
+ export declare const PAGERDUTY_FROM_EMAIL_ENV = "PAGERDUTY_FROM_EMAIL";
18
+ export declare const PAGERDUTY_DEFAULT_API_BASE_URL = "https://api.pagerduty.com";
19
+ /**
20
+ * The REST base for a call: the authored `apiBaseUrl`, else
21
+ * `PAGERDUTY_API_BASE_URL`, else `https://api.pagerduty.com`.
22
+ */
23
+ export declare function pagerDutyApiBaseUrl(apiBaseUrl?: string): string;
24
+ /**
25
+ * `Authorization` for a token: a value already written as `Bearer <token>`
26
+ * (an OAuth access token) is sent as-is; anything else is a REST API key.
27
+ */
28
+ export declare function pagerDutyAuthorizationHeader(token: string): string;
29
+ export interface PagerDutyClientOptions {
30
+ /** Falls back to `PAGERDUTY_TOKEN`. */
31
+ token?: WebhookSecretValue;
32
+ /** Falls back to `PAGERDUTY_API_BASE_URL`, else `https://api.pagerduty.com`. */
33
+ apiBaseUrl?: string;
34
+ /**
35
+ * Email of a PagerDuty user, sent as `From` on every call. PagerDuty
36
+ * requires it for writes made with an account-level API key; a user token
37
+ * acts as its own user. Falls back to `PAGERDUTY_FROM_EMAIL`.
38
+ */
39
+ from?: WebhookSecretValue;
40
+ /** Fetch implementation; defaults to the global `fetch`. */
41
+ fetch?: typeof fetch;
42
+ }
43
+ export declare class PagerDutyApiError extends Error {
44
+ readonly status: number;
45
+ readonly body: string;
46
+ constructor(input: {
47
+ method: string;
48
+ path: string;
49
+ status: number;
50
+ body: string;
51
+ });
52
+ }
53
+ export interface PagerDutyClient {
54
+ /** One REST call; `path` is relative to the API base, e.g. `/incidents/PINC001`. */
55
+ request<T = unknown>(input: {
56
+ method: string;
57
+ path: string;
58
+ body?: unknown;
59
+ }): Promise<T>;
60
+ /** `POST /incidents/{id}/notes`. Returns the created note. */
61
+ addNote(input: {
62
+ incidentId: string;
63
+ content: string;
64
+ }): Promise<{
65
+ id: string;
66
+ content: string;
67
+ }>;
68
+ /** `GET /incidents/{id}`, the incident's current state. */
69
+ getIncident(incidentId: string): Promise<Record<string, unknown>>;
70
+ }
71
+ export declare function createPagerDutyClient(options?: PagerDutyClientOptions): PagerDutyClient;
72
+ /** The REST client for a channel's credentials, each falling back to its well-known secret. */
73
+ export declare function pagerDutyChannelClient(options: Pick<PagerDutyChannelOptions, "token" | "from" | "apiBaseUrl">): PagerDutyClient;
74
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/channels/pagerduty/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,yFAAyF;AACzF,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AACnE,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAC/D,eAAO,MAAM,8BAA8B,8BAA8B,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAKhF;CACF;AAED,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1F,8DAA8D;IAC9D,OAAO,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClG,2DAA2D;IAC3D,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,eAAe,CAyD3F;AAED,+FAA+F;AAC/F,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC,GACtE,eAAe,CAMjB"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * A minimal PagerDuty REST client for write-backs (notes, incident updates).
3
+ * Every credential defaults to a well-known env var / deployment secret and
4
+ * is read per call, so a hosted deployment, which receives its secrets per
5
+ * request, sees them.
6
+ */
7
+ import { pagerDutySecretName, resolvePagerDutySecret } from "./secrets.js";
8
+ /**
9
+ * API token: a REST API key (user or account level), or an OAuth access
10
+ * token written as `Bearer <token>`.
11
+ */
12
+ export const PAGERDUTY_TOKEN_ENV = "PAGERDUTY_TOKEN";
13
+ /** REST base override, e.g. `https://api.eu.pagerduty.com` for the EU service region. */
14
+ export const PAGERDUTY_API_BASE_URL_ENV = "PAGERDUTY_API_BASE_URL";
15
+ /** `From` email for write calls made with an account-level REST API key. */
16
+ export const PAGERDUTY_FROM_EMAIL_ENV = "PAGERDUTY_FROM_EMAIL";
17
+ export const PAGERDUTY_DEFAULT_API_BASE_URL = "https://api.pagerduty.com";
18
+ /**
19
+ * The REST base for a call: the authored `apiBaseUrl`, else
20
+ * `PAGERDUTY_API_BASE_URL`, else `https://api.pagerduty.com`.
21
+ */
22
+ export function pagerDutyApiBaseUrl(apiBaseUrl) {
23
+ return (apiBaseUrl ??
24
+ resolvePagerDutySecret(undefined, PAGERDUTY_API_BASE_URL_ENV) ??
25
+ PAGERDUTY_DEFAULT_API_BASE_URL).replace(/\/+$/, "");
26
+ }
27
+ /**
28
+ * `Authorization` for a token: a value already written as `Bearer <token>`
29
+ * (an OAuth access token) is sent as-is; anything else is a REST API key.
30
+ */
31
+ export function pagerDutyAuthorizationHeader(token) {
32
+ return /^bearer\s/i.test(token) ? token : `Token token=${token}`;
33
+ }
34
+ export class PagerDutyApiError extends Error {
35
+ constructor(input) {
36
+ super(`PagerDuty ${input.method} ${input.path} failed with ${input.status}`);
37
+ this.name = "PagerDutyApiError";
38
+ this.status = input.status;
39
+ this.body = input.body;
40
+ }
41
+ }
42
+ export function createPagerDutyClient(options = {}) {
43
+ const request = async (input) => {
44
+ const token = resolvePagerDutySecret(options.token, PAGERDUTY_TOKEN_ENV);
45
+ if (token === undefined) {
46
+ const name = pagerDutySecretName(options.token, PAGERDUTY_TOKEN_ENV) ?? PAGERDUTY_TOKEN_ENV;
47
+ throw new Error(`PagerDuty API token is not set: set ${name} (\`bdk secrets set <slug> ${name}\`) or pass \`token\`.`);
48
+ }
49
+ const from = resolvePagerDutySecret(options.from, PAGERDUTY_FROM_EMAIL_ENV);
50
+ const base = pagerDutyApiBaseUrl(options.apiBaseUrl);
51
+ const headers = {
52
+ Accept: "application/vnd.pagerduty+json;version=2",
53
+ Authorization: pagerDutyAuthorizationHeader(token),
54
+ "Content-Type": "application/json",
55
+ };
56
+ if (from !== undefined) {
57
+ headers.From = from;
58
+ }
59
+ const response = await (options.fetch ?? fetch)(`${base}${input.path}`, {
60
+ method: input.method,
61
+ headers,
62
+ body: input.body === undefined ? undefined : JSON.stringify(input.body),
63
+ });
64
+ const text = await response.text();
65
+ if (!response.ok) {
66
+ throw new PagerDutyApiError({
67
+ method: input.method,
68
+ path: input.path,
69
+ status: response.status,
70
+ body: text,
71
+ });
72
+ }
73
+ return (text === "" ? undefined : JSON.parse(text));
74
+ };
75
+ return {
76
+ request,
77
+ addNote: async ({ incidentId, content }) => {
78
+ const created = await request({
79
+ method: "POST",
80
+ path: `/incidents/${encodeURIComponent(incidentId)}/notes`,
81
+ body: { note: { content } },
82
+ });
83
+ return created.note;
84
+ },
85
+ getIncident: async (incidentId) => {
86
+ const found = await request({
87
+ method: "GET",
88
+ path: `/incidents/${encodeURIComponent(incidentId)}`,
89
+ });
90
+ return found.incident;
91
+ },
92
+ };
93
+ }
94
+ /** The REST client for a channel's credentials, each falling back to its well-known secret. */
95
+ export function pagerDutyChannelClient(options) {
96
+ return createPagerDutyClient({
97
+ token: options.token,
98
+ from: options.from,
99
+ apiBaseUrl: options.apiBaseUrl,
100
+ });
101
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Default dispatch decisions for the PagerDuty channel: turn auth derived
3
+ * from the event's agent, the title and message a turn starts with, which
4
+ * lifecycle events dispatch when no `onIncident` hook exists, and the
5
+ * stream handlers that post replies back to the incident.
6
+ */
7
+ import type { AuthContext, ChannelEventHandlers } from "../../types.js";
8
+ import type { PagerDutyChannelState } from "./state.js";
9
+ import type { PagerDutyChannelOptions, PagerDutyEventContext, PagerDutyIncidentEvent, PagerDutyTurnDispatch } from "./types.js";
10
+ type DispatchContext = Omit<PagerDutyEventContext, "host" | "artifacts" | "send" | "pagerduty">;
11
+ /**
12
+ * Derive the turn's auth from who made the change: a PagerDuty user, a
13
+ * service integration, or PagerDuty itself. The webhook subscriber is not
14
+ * the turn principal (same pattern as `defaultGitHubAuth`).
15
+ */
16
+ export declare function defaultPagerDutyAuth(ctx: DispatchContext): AuthContext;
17
+ export declare function defaultPagerDutyTitle(ctx: Pick<PagerDutyEventContext, "eventType" | "incidentId">, incident?: {
18
+ number?: number;
19
+ title?: string;
20
+ }): string;
21
+ /** The facts of a lifecycle event, one per line, for the turn's first message. */
22
+ export declare function defaultPagerDutyIncidentMessage(ctx: DispatchContext, event: PagerDutyIncidentEvent): string;
23
+ /**
24
+ * Default gate when no `onIncident` hook is declared: a new or reopened
25
+ * incident starts a turn as the event's agent. Acknowledgements,
26
+ * escalations, and resolves are acknowledged without one.
27
+ */
28
+ export declare function defaultPagerDutyIncidentDispatch(ctx: DispatchContext, event: PagerDutyIncidentEvent): PagerDutyTurnDispatch | null;
29
+ /**
30
+ * Opt-in delivery (`deliverReplies: true`): post each completed assistant
31
+ * reply as a note on the session's incident, and a short note when a turn
32
+ * or session fails. Skipped when the session names no incident or is an
33
+ * eval run, or when the channel has no token (a read-only agent).
34
+ *
35
+ * A posted note comes back as an `incident.annotated` event, which only the
36
+ * echo skip keeps from starting another turn. So nothing is posted until the
37
+ * agent's own PagerDuty user resolves (see `selfUserIds`); until then each
38
+ * skipped note logs a warning.
39
+ */
40
+ export declare function buildDefaultPagerDutyEvents(options: Pick<PagerDutyChannelOptions, "deliverReplies" | "selfUserIds" | "token" | "from" | "apiBaseUrl">): ChannelEventHandlers<PagerDutyChannelState>;
41
+ export {};
42
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/channels/pagerduty/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAIxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,KAAK,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC;AAEhG;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,WAAW,CA2BtE;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,GAAG,YAAY,CAAC,EAC5D,QAAQ,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,MAAM,CAOR;AAED,kFAAkF;AAClF,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,sBAAsB,GAC5B,MAAM,CAeR;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,sBAAsB,GAC5B,qBAAqB,GAAG,IAAI,CAK9B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,IAAI,CACX,uBAAuB,EACvB,gBAAgB,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,CACnE,GACA,oBAAoB,CAAC,qBAAqB,CAAC,CAgD7C"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Default dispatch decisions for the PagerDuty channel: turn auth derived
3
+ * from the event's agent, the title and message a turn starts with, which
4
+ * lifecycle events dispatch when no `onIncident` hook exists, and the
5
+ * stream handlers that post replies back to the incident.
6
+ */
7
+ import { PAGERDUTY_TOKEN_ENV, pagerDutyChannelClient } from "./api.js";
8
+ import { resolvePagerDutySecret } from "./secrets.js";
9
+ import { PAGERDUTY_USER_ID_ENV, resolvePagerDutySelfUserIds } from "./self-user.js";
10
+ /**
11
+ * Derive the turn's auth from who made the change: a PagerDuty user, a
12
+ * service integration, or PagerDuty itself. The webhook subscriber is not
13
+ * the turn principal (same pattern as `defaultGitHubAuth`).
14
+ */
15
+ export function defaultPagerDutyAuth(ctx) {
16
+ const agent = ctx.agent;
17
+ const isUser = agent?.type === "user_reference" || agent?.type === "user";
18
+ const attributes = {
19
+ conversation_kind: "incident",
20
+ event_type: ctx.eventType,
21
+ event_id: ctx.eventId,
22
+ issuer: ctx.accountSubdomain === undefined ? "pagerduty" : `pagerduty:${ctx.accountSubdomain}`,
23
+ };
24
+ if (ctx.incidentId !== undefined) {
25
+ attributes.incident_id = ctx.incidentId;
26
+ }
27
+ if (ctx.incidentKey !== undefined) {
28
+ attributes.incident_key = ctx.incidentKey;
29
+ }
30
+ if (ctx.deliveryId !== undefined) {
31
+ attributes.delivery_id = ctx.deliveryId;
32
+ }
33
+ if (agent !== undefined) {
34
+ attributes.subject = agent.id;
35
+ }
36
+ return {
37
+ authenticator: "pagerduty-webhook",
38
+ principalId: agent === undefined ? "pagerduty" : `pagerduty:${agent.id}`,
39
+ principalType: isUser ? "user" : "service",
40
+ attributes,
41
+ };
42
+ }
43
+ export function defaultPagerDutyTitle(ctx, incident) {
44
+ if (incident?.number !== undefined && incident.title !== undefined) {
45
+ return `PagerDuty #${incident.number}: ${incident.title}`;
46
+ }
47
+ return ctx.incidentId === undefined
48
+ ? `PagerDuty ${ctx.eventType}`
49
+ : `PagerDuty incident ${ctx.incidentId}`;
50
+ }
51
+ /** The facts of a lifecycle event, one per line, for the turn's first message. */
52
+ export function defaultPagerDutyIncidentMessage(ctx, event) {
53
+ const incident = event.incident;
54
+ return [
55
+ `PagerDuty ${ctx.eventType}: ${incident.number === undefined ? incident.id : `#${incident.number}`}`,
56
+ ...(incident.title === undefined ? [] : [`Title: ${incident.title}`]),
57
+ ...(incident.status === undefined ? [] : [`Status: ${incident.status}`]),
58
+ ...(incident.urgency === undefined ? [] : [`Urgency: ${incident.urgency}`]),
59
+ ...(incident.service?.summary === undefined ? [] : [`Service: ${incident.service.summary}`]),
60
+ ...(incident.priority?.summary === undefined ? [] : [`Priority: ${incident.priority.summary}`]),
61
+ ...(incident.incidentKey === undefined ? [] : [`Incident key: ${incident.incidentKey}`]),
62
+ ...(incident.htmlUrl === undefined ? [] : [`URL: ${incident.htmlUrl}`]),
63
+ ...(ctx.agent?.summary === undefined ? [] : [`By: ${ctx.agent.summary}`]),
64
+ ...(ctx.occurredAt === undefined ? [] : [`Occurred at: ${ctx.occurredAt}`]),
65
+ "Handle this PagerDuty incident event.",
66
+ ].join("\n");
67
+ }
68
+ /**
69
+ * Default gate when no `onIncident` hook is declared: a new or reopened
70
+ * incident starts a turn as the event's agent. Acknowledgements,
71
+ * escalations, and resolves are acknowledged without one.
72
+ */
73
+ export function defaultPagerDutyIncidentDispatch(ctx, event) {
74
+ if (event.eventType !== "incident.triggered" && event.eventType !== "incident.reopened") {
75
+ return null;
76
+ }
77
+ return { auth: defaultPagerDutyAuth(ctx) };
78
+ }
79
+ const PAGERDUTY_FAILURE_NOTE = "The agent hit an error while handling this incident. Check the agent's session for details.";
80
+ /**
81
+ * Opt-in delivery (`deliverReplies: true`): post each completed assistant
82
+ * reply as a note on the session's incident, and a short note when a turn
83
+ * or session fails. Skipped when the session names no incident or is an
84
+ * eval run, or when the channel has no token (a read-only agent).
85
+ *
86
+ * A posted note comes back as an `incident.annotated` event, which only the
87
+ * echo skip keeps from starting another turn. So nothing is posted until the
88
+ * agent's own PagerDuty user resolves (see `selfUserIds`); until then each
89
+ * skipped note logs a warning.
90
+ */
91
+ export function buildDefaultPagerDutyEvents(options) {
92
+ if (options.deliverReplies !== true) {
93
+ return {};
94
+ }
95
+ const postNote = async (state, content) => {
96
+ if (state.incidentId === null ||
97
+ resolvePagerDutySecret(options.token, PAGERDUTY_TOKEN_ENV) === undefined) {
98
+ return;
99
+ }
100
+ if ((await resolvePagerDutySelfUserIds({ options })).size === 0) {
101
+ console.warn(`[bdk/pagerduty] warn not posting a reply note to incident ${state.incidentId}: the agent's own PagerDuty user is unknown, so the note would come back as a new event. Set ${PAGERDUTY_USER_ID_ENV} or selfUserIds, or use a token that names one user.`);
102
+ return;
103
+ }
104
+ try {
105
+ await pagerDutyChannelClient(options).addNote({ incidentId: state.incidentId, content });
106
+ }
107
+ catch (error) {
108
+ console.warn(`[bdk/pagerduty] warn could not post a note to incident ${state.incidentId}: ${error instanceof Error ? error.message : String(error)}`);
109
+ }
110
+ };
111
+ return {
112
+ async "message.completed"(event, channel, ctx) {
113
+ if (ctx.session.purpose === "eval" ||
114
+ event.data.parentCallId !== undefined ||
115
+ event.data.finishReason === "tool_call" ||
116
+ event.data.text === "") {
117
+ return;
118
+ }
119
+ await postNote(channel.state, event.data.text);
120
+ },
121
+ async "turn.failed"(_event, channel, ctx) {
122
+ if (ctx.session.purpose !== "eval") {
123
+ await postNote(channel.state, PAGERDUTY_FAILURE_NOTE);
124
+ }
125
+ },
126
+ async "session.failed"(_event, channel, ctx) {
127
+ if (ctx.session.purpose !== "eval") {
128
+ await postNote(channel.state, PAGERDUTY_FAILURE_NOTE);
129
+ }
130
+ },
131
+ };
132
+ }
@@ -0,0 +1,24 @@
1
+ import { PAGERDUTY_INCIDENT_EVENT_TYPES } from "../../internal/continuation-identity.js";
2
+ /** {@link ChannelMeta.kind} value used by {@link pagerdutyChannel}. */
3
+ export declare const PAGERDUTY_CHANNEL_KIND = "pagerduty";
4
+ /** Every v3 `event_type` that names one incident; the selector's membership. */
5
+ export { PAGERDUTY_INCIDENT_EVENT_TYPES };
6
+ /** Lifecycle events whose `data` is the full incident; `onIncident` receives them. */
7
+ export declare const PAGERDUTY_INCIDENT_LIFECYCLE_EVENTS: readonly ["incident.triggered", "incident.acknowledged", "incident.unacknowledged", "incident.escalated", "incident.reassigned", "incident.delegated", "incident.resolved", "incident.reopened", "incident.priority_updated", "incident.incident_type.changed"];
8
+ export type PagerDutyIncidentLifecycleEvent = (typeof PAGERDUTY_INCIDENT_LIFECYCLE_EVENTS)[number];
9
+ /** `incident.annotated`: a note on the incident; `onNote` receives it. */
10
+ export declare const PAGERDUTY_NOTE_EVENTS: readonly ["incident.annotated"];
11
+ /** Responder requests and replies; `onResponder` receives them. */
12
+ export declare const PAGERDUTY_RESPONDER_EVENTS: readonly ["incident.responder.added", "incident.responder.replied"];
13
+ export interface PagerDutyWebhookEventOptions {
14
+ webhookEvents?: readonly string[];
15
+ }
16
+ /**
17
+ * The event types the channel publishes as `meta.pagerdutyWebhookEvents`
18
+ * and the deploy manifest's `eventTypes`: a pinned list, or every incident
19
+ * event. Every typed hook and the default dispatch fall inside that set, so
20
+ * an omitted selector defaults to `pagerduty.incident/v2`.
21
+ */
22
+ export declare function derivePagerDutyWebhookEvents(options: PagerDutyWebhookEventOptions): string[];
23
+ export declare function isPagerDutyIncidentLifecycleEvent(eventType: string): eventType is PagerDutyIncidentLifecycleEvent;
24
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/channels/pagerduty/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD,gFAAgF;AAChF,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C,sFAAsF;AACtF,eAAO,MAAM,mCAAmC,YAC9C,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,gCAAgC,CACxB,CAAC;AAEX,MAAM,MAAM,+BAA+B,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnG,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,YAAI,oBAAoB,CAAU,CAAC;AAErE,mEAAmE;AACnE,eAAO,MAAM,0BAA0B,YACrC,0BAA0B,EAC1B,4BAA4B,CACpB,CAAC;AAEX,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,EAAE,CAG5F;AAED,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,GAChB,SAAS,IAAI,+BAA+B,CAE9C"}
@@ -0,0 +1,38 @@
1
+ import { PAGERDUTY_INCIDENT_EVENT_TYPES } from "../../internal/continuation-identity.js";
2
+ /** {@link ChannelMeta.kind} value used by {@link pagerdutyChannel}. */
3
+ export const PAGERDUTY_CHANNEL_KIND = "pagerduty";
4
+ /** Every v3 `event_type` that names one incident; the selector's membership. */
5
+ export { PAGERDUTY_INCIDENT_EVENT_TYPES };
6
+ /** Lifecycle events whose `data` is the full incident; `onIncident` receives them. */
7
+ export const PAGERDUTY_INCIDENT_LIFECYCLE_EVENTS = [
8
+ "incident.triggered",
9
+ "incident.acknowledged",
10
+ "incident.unacknowledged",
11
+ "incident.escalated",
12
+ "incident.reassigned",
13
+ "incident.delegated",
14
+ "incident.resolved",
15
+ "incident.reopened",
16
+ "incident.priority_updated",
17
+ "incident.incident_type.changed",
18
+ ];
19
+ /** `incident.annotated`: a note on the incident; `onNote` receives it. */
20
+ export const PAGERDUTY_NOTE_EVENTS = ["incident.annotated"];
21
+ /** Responder requests and replies; `onResponder` receives them. */
22
+ export const PAGERDUTY_RESPONDER_EVENTS = [
23
+ "incident.responder.added",
24
+ "incident.responder.replied",
25
+ ];
26
+ /**
27
+ * The event types the channel publishes as `meta.pagerdutyWebhookEvents`
28
+ * and the deploy manifest's `eventTypes`: a pinned list, or every incident
29
+ * event. Every typed hook and the default dispatch fall inside that set, so
30
+ * an omitted selector defaults to `pagerduty.incident/v2`.
31
+ */
32
+ export function derivePagerDutyWebhookEvents(options) {
33
+ const events = options.webhookEvents ?? PAGERDUTY_INCIDENT_EVENT_TYPES;
34
+ return [...new Set(events.map((event) => event.trim()).filter(Boolean))];
35
+ }
36
+ export function isPagerDutyIncidentLifecycleEvent(eventType) {
37
+ return PAGERDUTY_INCIDENT_LIFECYCLE_EVENTS.includes(eventType);
38
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * PagerDuty v3 webhook channel pack.
3
+ *
4
+ * ```ts
5
+ * import { defaultPagerDutyAuth, pagerdutyChannel } from "@cursor/bdk/channels/pagerduty";
6
+ *
7
+ * // Verifies against the PAGERDUTY_WEBHOOK_SECRET deployment secret and skips
8
+ * // the agent's own actions: PAGERDUTY_USER_ID, else the user PAGERDUTY_TOKEN
9
+ * // acts as.
10
+ * export default pagerdutyChannel({
11
+ * onIncident: (ctx) => ({ auth: defaultPagerDutyAuth(ctx) }),
12
+ * });
13
+ * ```
14
+ *
15
+ * The route verifies `X-PagerDuty-Signature` (one `v1=` HMAC-SHA256 entry
16
+ * per active subscription secret; any match admits). Every event for one
17
+ * incident key, the dedup key of the alert that opened the incident, joins
18
+ * one session; an incident without a key joins on its id. The agent's own
19
+ * actions, echoed back with its PagerDuty user as `agent`, are acknowledged
20
+ * without a turn.
21
+ */
22
+ export * from "./api.js";
23
+ export * from "./defaults.js";
24
+ export * from "./events.js";
25
+ export { pagerDutyAccountSubdomain, pagerDutyEventIncident, pagerDutyIncidentFromData, pagerDutyNoteFromData, pagerDutyResponderFromData, } from "./payload.js";
26
+ export * from "./pagerduty-channel.js";
27
+ export * from "./pagerduty-webhook.js";
28
+ export { inferPagerDutySelfUserId, PAGERDUTY_USER_ID_ENV, type PagerDutySelfUserDeps, pagerDutySelfUserIdSecretName, resolvePagerDutySelfUserIds, } from "./self-user.js";
29
+ export * from "./state.js";
30
+ export * from "./types.js";
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/pagerduty/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * PagerDuty v3 webhook channel pack.
3
+ *
4
+ * ```ts
5
+ * import { defaultPagerDutyAuth, pagerdutyChannel } from "@cursor/bdk/channels/pagerduty";
6
+ *
7
+ * // Verifies against the PAGERDUTY_WEBHOOK_SECRET deployment secret and skips
8
+ * // the agent's own actions: PAGERDUTY_USER_ID, else the user PAGERDUTY_TOKEN
9
+ * // acts as.
10
+ * export default pagerdutyChannel({
11
+ * onIncident: (ctx) => ({ auth: defaultPagerDutyAuth(ctx) }),
12
+ * });
13
+ * ```
14
+ *
15
+ * The route verifies `X-PagerDuty-Signature` (one `v1=` HMAC-SHA256 entry
16
+ * per active subscription secret; any match admits). Every event for one
17
+ * incident key, the dedup key of the alert that opened the incident, joins
18
+ * one session; an incident without a key joins on its id. The agent's own
19
+ * actions, echoed back with its PagerDuty user as `agent`, are acknowledged
20
+ * without a turn.
21
+ */
22
+ export * from "./api.js";
23
+ export * from "./defaults.js";
24
+ export * from "./events.js";
25
+ export { pagerDutyAccountSubdomain, pagerDutyEventIncident, pagerDutyIncidentFromData, pagerDutyNoteFromData, pagerDutyResponderFromData, } from "./payload.js";
26
+ export * from "./pagerduty-channel.js";
27
+ export * from "./pagerduty-webhook.js";
28
+ export { inferPagerDutySelfUserId, PAGERDUTY_USER_ID_ENV, pagerDutySelfUserIdSecretName, resolvePagerDutySelfUserIds, } from "./self-user.js";
29
+ export * from "./state.js";
30
+ export * from "./types.js";