@cursor/july 0.1.1

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 (623) hide show
  1. package/AGENTS.md +290 -0
  2. package/LICENSE.md +3 -0
  3. package/README.md +1233 -0
  4. package/dist/ab.d.ts +290 -0
  5. package/dist/ab.d.ts.map +1 -0
  6. package/dist/ab.js +386 -0
  7. package/dist/bin/agent-serve.d.ts +15 -0
  8. package/dist/bin/agent-serve.d.ts.map +1 -0
  9. package/dist/bin/agent-serve.js +754 -0
  10. package/dist/channels/github/api.d.ts +101 -0
  11. package/dist/channels/github/api.d.ts.map +1 -0
  12. package/dist/channels/github/api.js +229 -0
  13. package/dist/channels/github/auth.d.ts +67 -0
  14. package/dist/channels/github/auth.d.ts.map +1 -0
  15. package/dist/channels/github/auth.js +239 -0
  16. package/dist/channels/github/binding.d.ts +73 -0
  17. package/dist/channels/github/binding.d.ts.map +1 -0
  18. package/dist/channels/github/binding.js +114 -0
  19. package/dist/channels/github/defaults.d.ts +24 -0
  20. package/dist/channels/github/defaults.d.ts.map +1 -0
  21. package/dist/channels/github/defaults.js +100 -0
  22. package/dist/channels/github/events.d.ts +18 -0
  23. package/dist/channels/github/events.d.ts.map +1 -0
  24. package/dist/channels/github/events.js +59 -0
  25. package/dist/channels/github/forward.d.ts +137 -0
  26. package/dist/channels/github/forward.d.ts.map +1 -0
  27. package/dist/channels/github/forward.js +271 -0
  28. package/dist/channels/github/github-channel.d.ts +127 -0
  29. package/dist/channels/github/github-channel.d.ts.map +1 -0
  30. package/dist/channels/github/github-channel.js +1688 -0
  31. package/dist/channels/github/index.d.ts +52 -0
  32. package/dist/channels/github/index.d.ts.map +1 -0
  33. package/dist/channels/github/index.js +51 -0
  34. package/dist/channels/github/replay.d.ts +115 -0
  35. package/dist/channels/github/replay.d.ts.map +1 -0
  36. package/dist/channels/github/replay.js +282 -0
  37. package/dist/channels/github/state.d.ts +26 -0
  38. package/dist/channels/github/state.d.ts.map +1 -0
  39. package/dist/channels/github/state.js +50 -0
  40. package/dist/channels/github/types.d.ts +385 -0
  41. package/dist/channels/github/types.d.ts.map +1 -0
  42. package/dist/channels/github/types.js +1 -0
  43. package/dist/channels/slack/api.d.ts +117 -0
  44. package/dist/channels/slack/api.d.ts.map +1 -0
  45. package/dist/channels/slack/api.js +437 -0
  46. package/dist/channels/slack/approvals.d.ts +32 -0
  47. package/dist/channels/slack/approvals.d.ts.map +1 -0
  48. package/dist/channels/slack/approvals.js +157 -0
  49. package/dist/channels/slack/assistant.d.ts +23 -0
  50. package/dist/channels/slack/assistant.d.ts.map +1 -0
  51. package/dist/channels/slack/assistant.js +67 -0
  52. package/dist/channels/slack/auth.d.ts +40 -0
  53. package/dist/channels/slack/auth.d.ts.map +1 -0
  54. package/dist/channels/slack/auth.js +71 -0
  55. package/dist/channels/slack/channel-watch.d.ts +46 -0
  56. package/dist/channels/slack/channel-watch.d.ts.map +1 -0
  57. package/dist/channels/slack/channel-watch.js +180 -0
  58. package/dist/channels/slack/constants.d.ts +17 -0
  59. package/dist/channels/slack/constants.d.ts.map +1 -0
  60. package/dist/channels/slack/constants.js +27 -0
  61. package/dist/channels/slack/credentials.d.ts +35 -0
  62. package/dist/channels/slack/credentials.d.ts.map +1 -0
  63. package/dist/channels/slack/credentials.js +88 -0
  64. package/dist/channels/slack/cursor-account.d.ts +76 -0
  65. package/dist/channels/slack/cursor-account.d.ts.map +1 -0
  66. package/dist/channels/slack/cursor-account.js +88 -0
  67. package/dist/channels/slack/defaults.d.ts +32 -0
  68. package/dist/channels/slack/defaults.d.ts.map +1 -0
  69. package/dist/channels/slack/defaults.js +380 -0
  70. package/dist/channels/slack/dispatch.d.ts +43 -0
  71. package/dist/channels/slack/dispatch.d.ts.map +1 -0
  72. package/dist/channels/slack/dispatch.js +185 -0
  73. package/dist/channels/slack/doctor.d.ts +24 -0
  74. package/dist/channels/slack/doctor.d.ts.map +1 -0
  75. package/dist/channels/slack/doctor.js +115 -0
  76. package/dist/channels/slack/event-id-dedupe.d.ts +10 -0
  77. package/dist/channels/slack/event-id-dedupe.d.ts.map +1 -0
  78. package/dist/channels/slack/event-id-dedupe.js +23 -0
  79. package/dist/channels/slack/inbound.d.ts +41 -0
  80. package/dist/channels/slack/inbound.d.ts.map +1 -0
  81. package/dist/channels/slack/inbound.js +166 -0
  82. package/dist/channels/slack/index.d.ts +45 -0
  83. package/dist/channels/slack/index.d.ts.map +1 -0
  84. package/dist/channels/slack/index.js +44 -0
  85. package/dist/channels/slack/init.d.ts +32 -0
  86. package/dist/channels/slack/init.d.ts.map +1 -0
  87. package/dist/channels/slack/init.js +82 -0
  88. package/dist/channels/slack/interactive.d.ts +19 -0
  89. package/dist/channels/slack/interactive.d.ts.map +1 -0
  90. package/dist/channels/slack/interactive.js +142 -0
  91. package/dist/channels/slack/links.d.ts +10 -0
  92. package/dist/channels/slack/links.d.ts.map +1 -0
  93. package/dist/channels/slack/links.js +19 -0
  94. package/dist/channels/slack/live-delivery.d.ts +75 -0
  95. package/dist/channels/slack/live-delivery.d.ts.map +1 -0
  96. package/dist/channels/slack/live-delivery.js +143 -0
  97. package/dist/channels/slack/log.d.ts +25 -0
  98. package/dist/channels/slack/log.d.ts.map +1 -0
  99. package/dist/channels/slack/log.js +47 -0
  100. package/dist/channels/slack/manifest.d.ts +57 -0
  101. package/dist/channels/slack/manifest.d.ts.map +1 -0
  102. package/dist/channels/slack/manifest.js +110 -0
  103. package/dist/channels/slack/pr-ref.d.ts +18 -0
  104. package/dist/channels/slack/pr-ref.d.ts.map +1 -0
  105. package/dist/channels/slack/pr-ref.js +36 -0
  106. package/dist/channels/slack/setup.d.ts +14 -0
  107. package/dist/channels/slack/setup.d.ts.map +1 -0
  108. package/dist/channels/slack/setup.js +86 -0
  109. package/dist/channels/slack/slack-channel.d.ts +15 -0
  110. package/dist/channels/slack/slack-channel.d.ts.map +1 -0
  111. package/dist/channels/slack/slack-channel.js +281 -0
  112. package/dist/channels/slack/socket-mode.d.ts +26 -0
  113. package/dist/channels/slack/socket-mode.d.ts.map +1 -0
  114. package/dist/channels/slack/socket-mode.js +116 -0
  115. package/dist/channels/slack/stream.d.ts +26 -0
  116. package/dist/channels/slack/stream.d.ts.map +1 -0
  117. package/dist/channels/slack/stream.js +39 -0
  118. package/dist/channels/slack/tool-approval-events.d.ts +33 -0
  119. package/dist/channels/slack/tool-approval-events.d.ts.map +1 -0
  120. package/dist/channels/slack/tool-approval-events.js +129 -0
  121. package/dist/channels/slack/types.d.ts +326 -0
  122. package/dist/channels/slack/types.d.ts.map +1 -0
  123. package/dist/channels/slack/types.js +4 -0
  124. package/dist/channels.d.ts +116 -0
  125. package/dist/channels.d.ts.map +1 -0
  126. package/dist/channels.js +294 -0
  127. package/dist/connections.d.ts +75 -0
  128. package/dist/connections.d.ts.map +1 -0
  129. package/dist/connections.js +75 -0
  130. package/dist/docs/404.html +22 -0
  131. package/dist/docs/ab.html +87 -0
  132. package/dist/docs/assets/ab.md.COdXkces.js +63 -0
  133. package/dist/docs/assets/ab.md.COdXkces.lean.js +1 -0
  134. package/dist/docs/assets/app.DqfFEmJd.js +1 -0
  135. package/dist/docs/assets/building-with-agents.md.CJCtZCyi.js +13 -0
  136. package/dist/docs/assets/building-with-agents.md.CJCtZCyi.lean.js +1 -0
  137. package/dist/docs/assets/chunks/@localSearchIndexroot.CcVk1uKq.js +1 -0
  138. package/dist/docs/assets/chunks/VPLocalSearchBox.BaLEdS15.js +9 -0
  139. package/dist/docs/assets/chunks/framework.CAZyNGu9.js +19 -0
  140. package/dist/docs/assets/chunks/theme.CZRvu_0q.js +2 -0
  141. package/dist/docs/assets/concepts.md.Cfb9b-k1.js +4 -0
  142. package/dist/docs/assets/concepts.md.Cfb9b-k1.lean.js +1 -0
  143. package/dist/docs/assets/deployment.md.Dx1TYNk5.js +14 -0
  144. package/dist/docs/assets/deployment.md.Dx1TYNk5.lean.js +1 -0
  145. package/dist/docs/assets/evals.md.DPZ_MAnI.js +85 -0
  146. package/dist/docs/assets/evals.md.DPZ_MAnI.lean.js +1 -0
  147. package/dist/docs/assets/guides_agent-to-agent.md.CrtrsySy.js +10 -0
  148. package/dist/docs/assets/guides_agent-to-agent.md.CrtrsySy.lean.js +1 -0
  149. package/dist/docs/assets/guides_cloud-runtime.md.CYlNMTNp.js +9 -0
  150. package/dist/docs/assets/guides_cloud-runtime.md.CYlNMTNp.lean.js +1 -0
  151. package/dist/docs/assets/guides_github.md.DwbKhCeS.js +20 -0
  152. package/dist/docs/assets/guides_github.md.DwbKhCeS.lean.js +1 -0
  153. package/dist/docs/assets/guides_human-in-the-loop.md.Dvuctx7s.js +28 -0
  154. package/dist/docs/assets/guides_human-in-the-loop.md.Dvuctx7s.lean.js +1 -0
  155. package/dist/docs/assets/guides_slack.md.bv41fHfW.js +37 -0
  156. package/dist/docs/assets/guides_slack.md.bv41fHfW.lean.js +1 -0
  157. package/dist/docs/assets/guides_webhooks.md.hFTik3lf.js +50 -0
  158. package/dist/docs/assets/guides_webhooks.md.hFTik3lf.lean.js +1 -0
  159. package/dist/docs/assets/hillclimbing.md.DHNast08.js +4 -0
  160. package/dist/docs/assets/hillclimbing.md.DHNast08.lean.js +1 -0
  161. package/dist/docs/assets/index.md.BPKcj5AI.js +20 -0
  162. package/dist/docs/assets/index.md.BPKcj5AI.lean.js +1 -0
  163. package/dist/docs/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  164. package/dist/docs/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  165. package/dist/docs/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  166. package/dist/docs/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  167. package/dist/docs/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  168. package/dist/docs/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  169. package/dist/docs/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  170. package/dist/docs/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  171. package/dist/docs/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  172. package/dist/docs/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  173. package/dist/docs/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  174. package/dist/docs/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  175. package/dist/docs/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  176. package/dist/docs/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  177. package/dist/docs/assets/quickstart.md.tVPiGK_L.js +35 -0
  178. package/dist/docs/assets/quickstart.md.tVPiGK_L.lean.js +1 -0
  179. package/dist/docs/assets/reference_agent-config.md.Bpd7HQwf.js +34 -0
  180. package/dist/docs/assets/reference_agent-config.md.Bpd7HQwf.lean.js +1 -0
  181. package/dist/docs/assets/reference_channels.md.D7JTR03W.js +53 -0
  182. package/dist/docs/assets/reference_channels.md.D7JTR03W.lean.js +1 -0
  183. package/dist/docs/assets/reference_cli.md.DA730zCu.js +33 -0
  184. package/dist/docs/assets/reference_cli.md.DA730zCu.lean.js +1 -0
  185. package/dist/docs/assets/reference_connections.md.C3vNH_DE.js +26 -0
  186. package/dist/docs/assets/reference_connections.md.C3vNH_DE.lean.js +1 -0
  187. package/dist/docs/assets/reference_hooks.md.BCEc3MyM.js +12 -0
  188. package/dist/docs/assets/reference_hooks.md.BCEc3MyM.lean.js +1 -0
  189. package/dist/docs/assets/reference_http-api.md.DBAahtdz.js +11 -0
  190. package/dist/docs/assets/reference_http-api.md.DBAahtdz.lean.js +1 -0
  191. package/dist/docs/assets/reference_instructions.md.BC05LEQ8.js +12 -0
  192. package/dist/docs/assets/reference_instructions.md.BC05LEQ8.lean.js +1 -0
  193. package/dist/docs/assets/reference_playground.md.CPZhfYaO.js +1 -0
  194. package/dist/docs/assets/reference_playground.md.CPZhfYaO.lean.js +1 -0
  195. package/dist/docs/assets/reference_project-layout.md.Bd_CKtNS.js +31 -0
  196. package/dist/docs/assets/reference_project-layout.md.Bd_CKtNS.lean.js +1 -0
  197. package/dist/docs/assets/reference_schedules.md.D7qijxLk.js +82 -0
  198. package/dist/docs/assets/reference_schedules.md.D7qijxLk.lean.js +1 -0
  199. package/dist/docs/assets/reference_sessions.md.DdjWabnN.js +8 -0
  200. package/dist/docs/assets/reference_sessions.md.DdjWabnN.lean.js +1 -0
  201. package/dist/docs/assets/reference_skills.md.VQnlBT3Q.js +15 -0
  202. package/dist/docs/assets/reference_skills.md.VQnlBT3Q.lean.js +1 -0
  203. package/dist/docs/assets/reference_subagents.md.CIRAVcPK.js +10 -0
  204. package/dist/docs/assets/reference_subagents.md.CIRAVcPK.lean.js +1 -0
  205. package/dist/docs/assets/reference_tools.md.DF5kwlt0.js +46 -0
  206. package/dist/docs/assets/reference_tools.md.DF5kwlt0.lean.js +1 -0
  207. package/dist/docs/assets/scaffolding-agents.md.CyYfWGdc.js +1 -0
  208. package/dist/docs/assets/scaffolding-agents.md.CyYfWGdc.lean.js +1 -0
  209. package/dist/docs/assets/style.Bj-IXa5W.css +1 -0
  210. package/dist/docs/assets/troubleshooting.md.DkovjS7h.js +1 -0
  211. package/dist/docs/assets/troubleshooting.md.DkovjS7h.lean.js +1 -0
  212. package/dist/docs/building-with-agents.html +37 -0
  213. package/dist/docs/concepts.html +28 -0
  214. package/dist/docs/deployment.html +38 -0
  215. package/dist/docs/evals.html +109 -0
  216. package/dist/docs/guides/agent-to-agent.html +34 -0
  217. package/dist/docs/guides/cloud-runtime.html +33 -0
  218. package/dist/docs/guides/github.html +44 -0
  219. package/dist/docs/guides/human-in-the-loop.html +52 -0
  220. package/dist/docs/guides/slack.html +61 -0
  221. package/dist/docs/guides/webhooks.html +74 -0
  222. package/dist/docs/hashmap.json +1 -0
  223. package/dist/docs/hillclimbing.html +28 -0
  224. package/dist/docs/index.html +44 -0
  225. package/dist/docs/quickstart.html +59 -0
  226. package/dist/docs/reference/agent-config.html +58 -0
  227. package/dist/docs/reference/channels.html +77 -0
  228. package/dist/docs/reference/cli.html +57 -0
  229. package/dist/docs/reference/connections.html +50 -0
  230. package/dist/docs/reference/hooks.html +36 -0
  231. package/dist/docs/reference/http-api.html +35 -0
  232. package/dist/docs/reference/instructions.html +36 -0
  233. package/dist/docs/reference/playground.html +25 -0
  234. package/dist/docs/reference/project-layout.html +55 -0
  235. package/dist/docs/reference/schedules.html +106 -0
  236. package/dist/docs/reference/sessions.html +32 -0
  237. package/dist/docs/reference/skills.html +39 -0
  238. package/dist/docs/reference/subagents.html +34 -0
  239. package/dist/docs/reference/tools.html +70 -0
  240. package/dist/docs/scaffolding-agents.html +25 -0
  241. package/dist/docs/troubleshooting.html +25 -0
  242. package/dist/docs/vp-icons.css +0 -0
  243. package/dist/evals.d.ts +312 -0
  244. package/dist/evals.d.ts.map +1 -0
  245. package/dist/evals.js +254 -0
  246. package/dist/hooks.d.ts +23 -0
  247. package/dist/hooks.d.ts.map +1 -0
  248. package/dist/hooks.js +23 -0
  249. package/dist/index.d.ts +71 -0
  250. package/dist/index.d.ts.map +1 -0
  251. package/dist/index.js +101 -0
  252. package/dist/internal/ab-collector.d.ts +42 -0
  253. package/dist/internal/ab-collector.d.ts.map +1 -0
  254. package/dist/internal/ab-collector.js +153 -0
  255. package/dist/internal/ab-fold.d.ts +36 -0
  256. package/dist/internal/ab-fold.d.ts.map +1 -0
  257. package/dist/internal/ab-fold.js +171 -0
  258. package/dist/internal/ab-snapshot.d.ts +70 -0
  259. package/dist/internal/ab-snapshot.d.ts.map +1 -0
  260. package/dist/internal/ab-snapshot.js +208 -0
  261. package/dist/internal/approval-gate.d.ts +34 -0
  262. package/dist/internal/approval-gate.d.ts.map +1 -0
  263. package/dist/internal/approval-gate.js +85 -0
  264. package/dist/internal/auth.d.ts +8 -0
  265. package/dist/internal/auth.d.ts.map +1 -0
  266. package/dist/internal/auth.js +27 -0
  267. package/dist/internal/authored-alias-hooks.d.ts +31 -0
  268. package/dist/internal/authored-alias-hooks.d.ts.map +1 -0
  269. package/dist/internal/authored-alias-hooks.js +43 -0
  270. package/dist/internal/authored-loaders.d.ts +25 -0
  271. package/dist/internal/authored-loaders.d.ts.map +1 -0
  272. package/dist/internal/authored-loaders.js +129 -0
  273. package/dist/internal/bounded-int.d.ts +11 -0
  274. package/dist/internal/bounded-int.d.ts.map +1 -0
  275. package/dist/internal/bounded-int.js +13 -0
  276. package/dist/internal/brand.d.ts +6 -0
  277. package/dist/internal/brand.d.ts.map +1 -0
  278. package/dist/internal/brand.js +17 -0
  279. package/dist/internal/chat-client.d.ts +19 -0
  280. package/dist/internal/chat-client.d.ts.map +1 -0
  281. package/dist/internal/chat-client.js +327 -0
  282. package/dist/internal/cli-ax.d.ts +58 -0
  283. package/dist/internal/cli-ax.d.ts.map +1 -0
  284. package/dist/internal/cli-ax.js +345 -0
  285. package/dist/internal/cli-cursor.d.ts +20 -0
  286. package/dist/internal/cli-cursor.d.ts.map +1 -0
  287. package/dist/internal/cli-cursor.js +227 -0
  288. package/dist/internal/cli-github.d.ts +47 -0
  289. package/dist/internal/cli-github.d.ts.map +1 -0
  290. package/dist/internal/cli-github.js +644 -0
  291. package/dist/internal/cli-slack.d.ts +18 -0
  292. package/dist/internal/cli-slack.d.ts.map +1 -0
  293. package/dist/internal/cli-slack.js +144 -0
  294. package/dist/internal/cloud-merge.d.ts +23 -0
  295. package/dist/internal/cloud-merge.d.ts.map +1 -0
  296. package/dist/internal/cloud-merge.js +28 -0
  297. package/dist/internal/cron.d.ts +17 -0
  298. package/dist/internal/cron.d.ts.map +1 -0
  299. package/dist/internal/cron.js +60 -0
  300. package/dist/internal/cursor/account-mcp.d.ts +95 -0
  301. package/dist/internal/cursor/account-mcp.d.ts.map +1 -0
  302. package/dist/internal/cursor/account-mcp.js +342 -0
  303. package/dist/internal/cursor/backend-client.d.ts +118 -0
  304. package/dist/internal/cursor/backend-client.d.ts.map +1 -0
  305. package/dist/internal/cursor/backend-client.js +477 -0
  306. package/dist/internal/cursor/credentials.d.ts +112 -0
  307. package/dist/internal/cursor/credentials.d.ts.map +1 -0
  308. package/dist/internal/cursor/credentials.js +329 -0
  309. package/dist/internal/cursor-event-relay.d.ts +111 -0
  310. package/dist/internal/cursor-event-relay.d.ts.map +1 -0
  311. package/dist/internal/cursor-event-relay.js +181 -0
  312. package/dist/internal/cursor-relay-core.d.ts +113 -0
  313. package/dist/internal/cursor-relay-core.d.ts.map +1 -0
  314. package/dist/internal/cursor-relay-core.js +364 -0
  315. package/dist/internal/cursor-slack-relay.d.ts +94 -0
  316. package/dist/internal/cursor-slack-relay.d.ts.map +1 -0
  317. package/dist/internal/cursor-slack-relay.js +171 -0
  318. package/dist/internal/describe-error.d.ts +3 -0
  319. package/dist/internal/describe-error.d.ts.map +1 -0
  320. package/dist/internal/describe-error.js +4 -0
  321. package/dist/internal/dev-mode.d.ts +13 -0
  322. package/dist/internal/dev-mode.d.ts.map +1 -0
  323. package/dist/internal/dev-mode.js +17 -0
  324. package/dist/internal/discovery.d.ts +55 -0
  325. package/dist/internal/discovery.d.ts.map +1 -0
  326. package/dist/internal/discovery.js +1427 -0
  327. package/dist/internal/distribution.d.ts +47 -0
  328. package/dist/internal/distribution.d.ts.map +1 -0
  329. package/dist/internal/distribution.js +82 -0
  330. package/dist/internal/docs-site.d.ts +28 -0
  331. package/dist/internal/docs-site.d.ts.map +1 -0
  332. package/dist/internal/docs-site.js +169 -0
  333. package/dist/internal/duration.d.ts +8 -0
  334. package/dist/internal/duration.d.ts.map +1 -0
  335. package/dist/internal/duration.js +35 -0
  336. package/dist/internal/eval-run-store.d.ts +81 -0
  337. package/dist/internal/eval-run-store.d.ts.map +1 -0
  338. package/dist/internal/eval-run-store.js +396 -0
  339. package/dist/internal/eval-runner.d.ts +76 -0
  340. package/dist/internal/eval-runner.d.ts.map +1 -0
  341. package/dist/internal/eval-runner.js +336 -0
  342. package/dist/internal/event-log.d.ts +51 -0
  343. package/dist/internal/event-log.d.ts.map +1 -0
  344. package/dist/internal/event-log.js +167 -0
  345. package/dist/internal/event-mapper.d.ts +46 -0
  346. package/dist/internal/event-mapper.d.ts.map +1 -0
  347. package/dist/internal/event-mapper.js +226 -0
  348. package/dist/internal/frontmatter.d.ts +12 -0
  349. package/dist/internal/frontmatter.d.ts.map +1 -0
  350. package/dist/internal/frontmatter.js +61 -0
  351. package/dist/internal/github-fanout.d.ts +32 -0
  352. package/dist/internal/github-fanout.d.ts.map +1 -0
  353. package/dist/internal/github-fanout.js +122 -0
  354. package/dist/internal/handleAgentServeTrigger.d.ts +59 -0
  355. package/dist/internal/handleAgentServeTrigger.d.ts.map +1 -0
  356. package/dist/internal/handleAgentServeTrigger.js +115 -0
  357. package/dist/internal/host-platforms.d.ts +40 -0
  358. package/dist/internal/host-platforms.d.ts.map +1 -0
  359. package/dist/internal/host-platforms.js +113 -0
  360. package/dist/internal/http-channel.d.ts +54 -0
  361. package/dist/internal/http-channel.d.ts.map +1 -0
  362. package/dist/internal/http-channel.js +382 -0
  363. package/dist/internal/ids.d.ts +19 -0
  364. package/dist/internal/ids.d.ts.map +1 -0
  365. package/dist/internal/ids.js +34 -0
  366. package/dist/internal/init-project.d.ts +22 -0
  367. package/dist/internal/init-project.d.ts.map +1 -0
  368. package/dist/internal/init-project.js +125 -0
  369. package/dist/internal/json-dir-store.d.ts +32 -0
  370. package/dist/internal/json-dir-store.d.ts.map +1 -0
  371. package/dist/internal/json-dir-store.js +100 -0
  372. package/dist/internal/json-schema.d.ts +18 -0
  373. package/dist/internal/json-schema.d.ts.map +1 -0
  374. package/dist/internal/json-schema.js +53 -0
  375. package/dist/internal/log-ring.d.ts +23 -0
  376. package/dist/internal/log-ring.d.ts.map +1 -0
  377. package/dist/internal/log-ring.js +42 -0
  378. package/dist/internal/map-pool.d.ts +6 -0
  379. package/dist/internal/map-pool.d.ts.map +1 -0
  380. package/dist/internal/map-pool.js +41 -0
  381. package/dist/internal/mcp-endpoint.d.ts +59 -0
  382. package/dist/internal/mcp-endpoint.d.ts.map +1 -0
  383. package/dist/internal/mcp-endpoint.js +355 -0
  384. package/dist/internal/mcp-host.d.ts +28 -0
  385. package/dist/internal/mcp-host.d.ts.map +1 -0
  386. package/dist/internal/mcp-host.js +162 -0
  387. package/dist/internal/net.d.ts +5 -0
  388. package/dist/internal/net.d.ts.map +1 -0
  389. package/dist/internal/net.js +30 -0
  390. package/dist/internal/peer-connections.d.ts +44 -0
  391. package/dist/internal/peer-connections.d.ts.map +1 -0
  392. package/dist/internal/peer-connections.js +67 -0
  393. package/dist/internal/playground/static.d.ts +35 -0
  394. package/dist/internal/playground/static.d.ts.map +1 -0
  395. package/dist/internal/playground/static.js +162 -0
  396. package/dist/internal/playground/toolchain.d.ts +57 -0
  397. package/dist/internal/playground/toolchain.d.ts.map +1 -0
  398. package/dist/internal/playground/toolchain.js +226 -0
  399. package/dist/internal/reminder-runner.d.ts +62 -0
  400. package/dist/internal/reminder-runner.d.ts.map +1 -0
  401. package/dist/internal/reminder-runner.js +582 -0
  402. package/dist/internal/reminder-schedule.d.ts +22 -0
  403. package/dist/internal/reminder-schedule.d.ts.map +1 -0
  404. package/dist/internal/reminder-schedule.js +82 -0
  405. package/dist/internal/reminder-store.d.ts +58 -0
  406. package/dist/internal/reminder-store.d.ts.map +1 -0
  407. package/dist/internal/reminder-store.js +106 -0
  408. package/dist/internal/resolved-connections.d.ts +41 -0
  409. package/dist/internal/resolved-connections.d.ts.map +1 -0
  410. package/dist/internal/resolved-connections.js +73 -0
  411. package/dist/internal/review-comments.d.ts +50 -0
  412. package/dist/internal/review-comments.d.ts.map +1 -0
  413. package/dist/internal/review-comments.js +194 -0
  414. package/dist/internal/router.d.ts +33 -0
  415. package/dist/internal/router.d.ts.map +1 -0
  416. package/dist/internal/router.js +93 -0
  417. package/dist/internal/run-client.d.ts +49 -0
  418. package/dist/internal/run-client.d.ts.map +1 -0
  419. package/dist/internal/run-client.js +208 -0
  420. package/dist/internal/schedule-runner.d.ts +31 -0
  421. package/dist/internal/schedule-runner.d.ts.map +1 -0
  422. package/dist/internal/schedule-runner.js +126 -0
  423. package/dist/internal/sdk-runner.d.ts +41 -0
  424. package/dist/internal/sdk-runner.d.ts.map +1 -0
  425. package/dist/internal/sdk-runner.js +221 -0
  426. package/dist/internal/server.d.ts +25 -0
  427. package/dist/internal/server.d.ts.map +1 -0
  428. package/dist/internal/server.js +1374 -0
  429. package/dist/internal/session-engine.d.ts +287 -0
  430. package/dist/internal/session-engine.d.ts.map +1 -0
  431. package/dist/internal/session-engine.js +1377 -0
  432. package/dist/internal/session-store.d.ts +29 -0
  433. package/dist/internal/session-store.d.ts.map +1 -0
  434. package/dist/internal/session-store.js +140 -0
  435. package/dist/internal/session-urls.d.ts +10 -0
  436. package/dist/internal/session-urls.d.ts.map +1 -0
  437. package/dist/internal/session-urls.js +25 -0
  438. package/dist/internal/stream-progress.d.ts +14 -0
  439. package/dist/internal/stream-progress.d.ts.map +1 -0
  440. package/dist/internal/stream-progress.js +195 -0
  441. package/dist/internal/tool-result.d.ts +20 -0
  442. package/dist/internal/tool-result.d.ts.map +1 -0
  443. package/dist/internal/tool-result.js +45 -0
  444. package/dist/internal/trajectory.d.ts +56 -0
  445. package/dist/internal/trajectory.d.ts.map +1 -0
  446. package/dist/internal/trajectory.js +248 -0
  447. package/dist/internal/workspace.d.ts +42 -0
  448. package/dist/internal/workspace.d.ts.map +1 -0
  449. package/dist/internal/workspace.js +199 -0
  450. package/dist/playground/assets/cursor-icons-outline-oY2V_mvK.woff2 +0 -0
  451. package/dist/playground/assets/index-1K-hG-7p.css +1 -0
  452. package/dist/playground/assets/index-FlWjhg3x.js +79 -0
  453. package/dist/playground/index.html +17 -0
  454. package/dist/reminders.d.ts +23 -0
  455. package/dist/reminders.d.ts.map +1 -0
  456. package/dist/reminders.js +22 -0
  457. package/dist/schedules.d.ts +23 -0
  458. package/dist/schedules.d.ts.map +1 -0
  459. package/dist/schedules.js +26 -0
  460. package/dist/skills.d.ts +22 -0
  461. package/dist/skills.d.ts.map +1 -0
  462. package/dist/skills.js +22 -0
  463. package/dist/tools.d.ts +92 -0
  464. package/dist/tools.d.ts.map +1 -0
  465. package/dist/tools.js +68 -0
  466. package/dist/types.d.ts +1609 -0
  467. package/dist/types.d.ts.map +1 -0
  468. package/dist/types.js +80 -0
  469. package/docs/README.md +174 -0
  470. package/docs/ab.md +355 -0
  471. package/docs/building-with-agents.md +129 -0
  472. package/docs/concepts.md +177 -0
  473. package/docs/deployment.md +218 -0
  474. package/docs/evals.md +383 -0
  475. package/docs/guides/agent-to-agent.md +118 -0
  476. package/docs/guides/cloud-runtime.md +122 -0
  477. package/docs/guides/github.md +172 -0
  478. package/docs/guides/human-in-the-loop.md +131 -0
  479. package/docs/guides/slack.md +245 -0
  480. package/docs/guides/webhooks.md +201 -0
  481. package/docs/hillclimbing.md +93 -0
  482. package/docs/quickstart.md +183 -0
  483. package/docs/reference/agent-config.md +154 -0
  484. package/docs/reference/channels.md +206 -0
  485. package/docs/reference/cli.md +257 -0
  486. package/docs/reference/connections.md +137 -0
  487. package/docs/reference/hooks.md +74 -0
  488. package/docs/reference/http-api.md +219 -0
  489. package/docs/reference/instructions.md +77 -0
  490. package/docs/reference/playground.md +67 -0
  491. package/docs/reference/project-layout.md +119 -0
  492. package/docs/reference/schedules.md +220 -0
  493. package/docs/reference/sessions.md +165 -0
  494. package/docs/reference/skills.md +79 -0
  495. package/docs/reference/subagents.md +74 -0
  496. package/docs/reference/tools.md +203 -0
  497. package/docs/scaffolding-agents.md +113 -0
  498. package/docs/troubleshooting.md +95 -0
  499. package/package.json +185 -0
  500. package/skills/ab/SKILL.md +139 -0
  501. package/skills/create-agent/SKILL.md +219 -0
  502. package/skills/debug/SKILL.md +71 -0
  503. package/skills/evals/SKILL.md +217 -0
  504. package/skills/framework-map/SKILL.md +142 -0
  505. package/skills/github/SKILL.md +144 -0
  506. package/skills/hillclimb/SKILL.md +162 -0
  507. package/skills/setup-slack/SKILL.md +180 -0
  508. package/src/ab.ts +675 -0
  509. package/src/bin/agent-serve.ts +949 -0
  510. package/src/channels/github/api.ts +374 -0
  511. package/src/channels/github/auth.ts +275 -0
  512. package/src/channels/github/binding.ts +223 -0
  513. package/src/channels/github/defaults.ts +111 -0
  514. package/src/channels/github/events.ts +72 -0
  515. package/src/channels/github/forward.ts +381 -0
  516. package/src/channels/github/github-channel.ts +2270 -0
  517. package/src/channels/github/index.ts +52 -0
  518. package/src/channels/github/replay.ts +387 -0
  519. package/src/channels/github/state.ts +95 -0
  520. package/src/channels/github/types.ts +490 -0
  521. package/src/channels/slack/api.ts +580 -0
  522. package/src/channels/slack/approvals.ts +198 -0
  523. package/src/channels/slack/assistant.ts +76 -0
  524. package/src/channels/slack/auth.ts +112 -0
  525. package/src/channels/slack/channel-watch.ts +219 -0
  526. package/src/channels/slack/constants.ts +30 -0
  527. package/src/channels/slack/credentials.ts +90 -0
  528. package/src/channels/slack/cursor-account.ts +166 -0
  529. package/src/channels/slack/defaults.ts +450 -0
  530. package/src/channels/slack/dispatch.ts +293 -0
  531. package/src/channels/slack/doctor.ts +135 -0
  532. package/src/channels/slack/event-id-dedupe.ts +30 -0
  533. package/src/channels/slack/inbound.ts +219 -0
  534. package/src/channels/slack/index.ts +45 -0
  535. package/src/channels/slack/init.ts +133 -0
  536. package/src/channels/slack/interactive.ts +194 -0
  537. package/src/channels/slack/links.ts +23 -0
  538. package/src/channels/slack/live-delivery.ts +201 -0
  539. package/src/channels/slack/log.ts +83 -0
  540. package/src/channels/slack/manifest.ts +179 -0
  541. package/src/channels/slack/pr-ref.ts +50 -0
  542. package/src/channels/slack/setup.ts +97 -0
  543. package/src/channels/slack/slack-channel.ts +374 -0
  544. package/src/channels/slack/socket-mode.ts +154 -0
  545. package/src/channels/slack/stream.ts +63 -0
  546. package/src/channels/slack/tool-approval-events.ts +136 -0
  547. package/src/channels/slack/types.ts +349 -0
  548. package/src/channels.ts +385 -0
  549. package/src/connections.ts +89 -0
  550. package/src/evals.ts +501 -0
  551. package/src/hooks.ts +33 -0
  552. package/src/index.ts +184 -0
  553. package/src/internal/ab-collector.ts +210 -0
  554. package/src/internal/ab-fold.ts +228 -0
  555. package/src/internal/ab-snapshot.ts +335 -0
  556. package/src/internal/approval-gate.ts +115 -0
  557. package/src/internal/auth.ts +39 -0
  558. package/src/internal/authored-alias-hooks.ts +69 -0
  559. package/src/internal/authored-loaders.ts +138 -0
  560. package/src/internal/bounded-int.ts +27 -0
  561. package/src/internal/brand.ts +29 -0
  562. package/src/internal/chat-client.ts +407 -0
  563. package/src/internal/cli-ax.ts +474 -0
  564. package/src/internal/cli-cursor.ts +275 -0
  565. package/src/internal/cli-github.ts +849 -0
  566. package/src/internal/cli-slack.ts +175 -0
  567. package/src/internal/cloud-merge.ts +41 -0
  568. package/src/internal/cron.ts +78 -0
  569. package/src/internal/cursor/account-mcp.ts +472 -0
  570. package/src/internal/cursor/backend-client.ts +614 -0
  571. package/src/internal/cursor/credentials.ts +401 -0
  572. package/src/internal/cursor-event-relay.ts +281 -0
  573. package/src/internal/cursor-relay-core.ts +444 -0
  574. package/src/internal/cursor-slack-relay.ts +242 -0
  575. package/src/internal/describe-error.ts +4 -0
  576. package/src/internal/dev-mode.ts +20 -0
  577. package/src/internal/discovery.ts +1709 -0
  578. package/src/internal/distribution.ts +97 -0
  579. package/src/internal/docs-site.ts +191 -0
  580. package/src/internal/duration.ts +39 -0
  581. package/src/internal/eval-run-store.ts +519 -0
  582. package/src/internal/eval-runner.ts +522 -0
  583. package/src/internal/event-log.ts +175 -0
  584. package/src/internal/event-mapper.ts +272 -0
  585. package/src/internal/frontmatter.ts +77 -0
  586. package/src/internal/github-fanout.ts +159 -0
  587. package/src/internal/handleAgentServeTrigger.ts +156 -0
  588. package/src/internal/host-platforms.ts +144 -0
  589. package/src/internal/http-channel.ts +546 -0
  590. package/src/internal/ids.ts +44 -0
  591. package/src/internal/init-project.ts +165 -0
  592. package/src/internal/json-dir-store.ts +109 -0
  593. package/src/internal/json-schema.ts +69 -0
  594. package/src/internal/log-ring.ts +59 -0
  595. package/src/internal/map-pool.ts +32 -0
  596. package/src/internal/mcp-endpoint.ts +518 -0
  597. package/src/internal/mcp-host.ts +211 -0
  598. package/src/internal/net.ts +31 -0
  599. package/src/internal/peer-connections.ts +100 -0
  600. package/src/internal/playground/static.ts +189 -0
  601. package/src/internal/playground/toolchain.ts +277 -0
  602. package/src/internal/reminder-runner.ts +756 -0
  603. package/src/internal/reminder-schedule.ts +106 -0
  604. package/src/internal/reminder-store.ts +145 -0
  605. package/src/internal/resolved-connections.ts +145 -0
  606. package/src/internal/review-comments.ts +268 -0
  607. package/src/internal/router.ts +145 -0
  608. package/src/internal/run-client.ts +320 -0
  609. package/src/internal/schedule-runner.ts +161 -0
  610. package/src/internal/sdk-runner.ts +315 -0
  611. package/src/internal/server.ts +1737 -0
  612. package/src/internal/session-engine.ts +1810 -0
  613. package/src/internal/session-store.ts +147 -0
  614. package/src/internal/session-urls.ts +40 -0
  615. package/src/internal/stream-progress.ts +254 -0
  616. package/src/internal/tool-result.ts +54 -0
  617. package/src/internal/trajectory.ts +306 -0
  618. package/src/internal/workspace.ts +223 -0
  619. package/src/reminders.ts +35 -0
  620. package/src/schedules.ts +37 -0
  621. package/src/skills.ts +27 -0
  622. package/src/tools.ts +127 -0
  623. package/src/types.ts +1848 -0
@@ -0,0 +1,490 @@
1
+ import type {
2
+ AgentCloudOptions,
3
+ AuthContext,
4
+ AuthPolicy,
5
+ ChannelEventHandlers,
6
+ ChannelStartArgs,
7
+ HostContext,
8
+ } from "../../types.js";
9
+ import type { GitHubApiOptions } from "./api.js";
10
+ import type { GitHubHandle, GitHubThread } from "./binding.js";
11
+ import type { GitHubProgressConfig } from "./defaults.js";
12
+ import type { GitHubChannelState } from "./state.js";
13
+
14
+ /** A credential value: a literal or a lazy resolver fetched on demand. */
15
+ export type GitHubCredentialValue =
16
+ | string
17
+ | (() => string | undefined | Promise<string | undefined>);
18
+
19
+ /**
20
+ * GitHub webhook + API credentials. Every field falls back to an env var
21
+ * (or `gh auth token` for API calls), so you can drop the `credentials`
22
+ * block entirely once these are set:
23
+ *
24
+ * ```bash
25
+ * GITHUB_WEBHOOK_SECRET=... # verifies the webhook signature
26
+ * GITHUB_APP_ID=... # App JWT path (preferred in production)
27
+ * GITHUB_APP_PRIVATE_KEY=...
28
+ * GITHUB_APP_INSTALLATION_ID=... # host / non-webhook App auth
29
+ * GITHUB_APP_SLUG=... # supplies botName when it is not set in config
30
+ * GITHUB_TOKEN=... # local PAT fallback (or GH_TOKEN / `gh auth`)
31
+ * ```
32
+ *
33
+ * API auth prefers App installation tokens when App credentials are set,
34
+ * then falls back to `GITHUB_TOKEN` / `GH_TOKEN` / `gh auth token` for local
35
+ * testing.
36
+ */
37
+ export interface GitHubChannelCredentials {
38
+ /**
39
+ * Webhook secret used to verify `X-Hub-Signature-256` before parsing the
40
+ * payload. Falls back to `GITHUB_WEBHOOK_SECRET`.
41
+ */
42
+ webhookSecret?: GitHubCredentialValue;
43
+ /**
44
+ * Explicit bearer token for GitHub REST calls. Prefer this only when you
45
+ * intentionally override ambient auth (e.g. tests). Falls back to App
46
+ * installation tokens, then `GITHUB_TOKEN` / `GH_TOKEN` / `gh auth token`.
47
+ */
48
+ token?: GitHubCredentialValue;
49
+ /**
50
+ * Pre-resolved installation access token (Connect-style). Same effect as
51
+ * {@link token} for API calls; skips App JWT exchange.
52
+ */
53
+ installationToken?: GitHubCredentialValue;
54
+ /** GitHub App id for installation-token minting. Falls back to `GITHUB_APP_ID`. */
55
+ appId?: GitHubCredentialValue | number;
56
+ /** GitHub App private key (PEM). Falls back to `GITHUB_APP_PRIVATE_KEY`. */
57
+ privateKey?: GitHubCredentialValue;
58
+ }
59
+
60
+ /** @deprecated Prefer {@link GitHubChannelCredentials}. */
61
+ export type GitHubCredentials = GitHubChannelCredentials;
62
+
63
+ export type GitHubPullRequestAction =
64
+ | "opened"
65
+ | "reopened"
66
+ | "synchronize"
67
+ | "ready_for_review"
68
+ | "edited"
69
+ | "closed"
70
+ | "labeled"
71
+ | "unlabeled"
72
+ | "assigned"
73
+ | "unassigned"
74
+ | "review_requested"
75
+ | "review_request_removed"
76
+ | "converted_to_draft";
77
+
78
+ export type GitHubIssueAction =
79
+ | "opened"
80
+ | "edited"
81
+ | "closed"
82
+ | "reopened"
83
+ | "labeled"
84
+ | "unlabeled"
85
+ | "assigned"
86
+ | "unassigned";
87
+
88
+ export type GitHubConversationKind = "issue" | "pull_request" | "review_thread";
89
+
90
+ export type GitHubCiAction =
91
+ | "created"
92
+ | "completed"
93
+ | "rerequested"
94
+ | "requested_action";
95
+
96
+ export type GitHubCiConclusion =
97
+ | "success"
98
+ | "failure"
99
+ | "neutral"
100
+ | "cancelled"
101
+ | "timed_out"
102
+ | "action_required"
103
+ | "stale"
104
+ | "skipped"
105
+ | null;
106
+
107
+ export type GitHubCiStatus =
108
+ | "queued"
109
+ | "in_progress"
110
+ | "completed"
111
+ | "waiting"
112
+ | "requested"
113
+ | "pending"
114
+ | string;
115
+
116
+ /** Normalized actor on a delivery. */
117
+ export interface GitHubUser {
118
+ login: string;
119
+ id?: number;
120
+ type?: "User" | "Bot" | "Organization" | string;
121
+ }
122
+
123
+ /** Normalized repository on a delivery. */
124
+ export interface GitHubRepositoryRef {
125
+ fullName: string;
126
+ url: string;
127
+ owner: string;
128
+ name: string;
129
+ id?: number;
130
+ }
131
+
132
+ /**
133
+ * Wire shape of the `pull_request` webhook payload, narrowed to the fields
134
+ * the channel consumes.
135
+ */
136
+ export type GitHubPullRequestPayload = {
137
+ action: string;
138
+ repository: {
139
+ id?: number;
140
+ full_name: string;
141
+ html_url: string;
142
+ name?: string;
143
+ owner?: { login?: string };
144
+ };
145
+ pull_request: {
146
+ number: number;
147
+ html_url: string;
148
+ title: string;
149
+ body?: string | null;
150
+ draft?: boolean;
151
+ user?: {
152
+ login?: string;
153
+ id?: number;
154
+ type?: string;
155
+ } | null;
156
+ head: {
157
+ ref: string;
158
+ sha: string;
159
+ };
160
+ base: {
161
+ ref: string;
162
+ sha?: string;
163
+ };
164
+ };
165
+ sender?: {
166
+ login?: string;
167
+ id?: number;
168
+ type?: string;
169
+ } | null;
170
+ installation?: { id?: number } | null;
171
+ };
172
+
173
+ /** Normalized `pull_request` event handed to {@link GitHubPullRequestHook}. */
174
+ export interface GitHubPullRequestEvent {
175
+ action: GitHubPullRequestAction | string;
176
+ number: number;
177
+ url: string;
178
+ title: string;
179
+ body?: string;
180
+ headRef: string;
181
+ headSha: string;
182
+ baseRef: string;
183
+ baseSha?: string;
184
+ draft: boolean;
185
+ authorLogin?: string;
186
+ }
187
+
188
+ /** Normalized `issues` event. */
189
+ export interface GitHubIssueEvent {
190
+ action: GitHubIssueAction | string;
191
+ number: number;
192
+ url: string;
193
+ title: string;
194
+ body?: string;
195
+ authorLogin?: string;
196
+ }
197
+
198
+ /** Normalized comment on an issue, PR timeline, or review thread. */
199
+ export interface GitHubComment {
200
+ id: number;
201
+ body: string;
202
+ url: string;
203
+ htmlUrl: string;
204
+ author?: GitHubUser;
205
+ /** Present for inline review comments. */
206
+ path?: string;
207
+ line?: number | null;
208
+ pullRequestReviewId?: number | null;
209
+ /** Root or parent review comment when this comment is a thread reply. */
210
+ inReplyToId?: number;
211
+ }
212
+
213
+ /** Shared CI fields across check_suite / check_run / workflow_run. */
214
+ export interface GitHubCiPullRequestRef {
215
+ number: number;
216
+ url?: string;
217
+ }
218
+
219
+ export interface GitHubCiAppRef {
220
+ slug?: string;
221
+ name?: string;
222
+ }
223
+
224
+ export interface GitHubCiBase {
225
+ action: GitHubCiAction | string;
226
+ status?: GitHubCiStatus;
227
+ conclusion?: GitHubCiConclusion;
228
+ headSha: string;
229
+ app: GitHubCiAppRef;
230
+ pullRequests: GitHubCiPullRequestRef[];
231
+ }
232
+
233
+ export interface GitHubCheckSuiteEvent extends GitHubCiBase {
234
+ checkSuiteId: number;
235
+ }
236
+
237
+ export interface GitHubCheckRunEvent extends GitHubCiBase {
238
+ checkRunId: number;
239
+ name?: string;
240
+ checkSuiteId?: number;
241
+ }
242
+
243
+ export interface GitHubWorkflowRunEvent extends GitHubCiBase {
244
+ workflowRunId: number;
245
+ name?: string;
246
+ workflowId?: number;
247
+ htmlUrl?: string;
248
+ }
249
+
250
+ /**
251
+ * Legacy commit `status` webhook (Statuses API). Distinct from Checks /
252
+ * Actions events — use {@link GitHubChannelOptions.onStatus}.
253
+ */
254
+ export interface GitHubStatusEvent {
255
+ state: "pending" | "success" | "failure" | "error" | string;
256
+ context: string;
257
+ description?: string | null;
258
+ targetUrl?: string | null;
259
+ sha: string;
260
+ name?: string;
261
+ branches: Array<{ name: string; commit?: { sha?: string } }>;
262
+ commit?: { sha?: string; htmlUrl?: string };
263
+ raw: unknown;
264
+ }
265
+
266
+ /**
267
+ * Raw webhook envelope for {@link GitHubChannelOptions.onEvent}. Prefer
268
+ * typed hooks (`onComment`, `onPullRequest`, …) when possible.
269
+ */
270
+ export interface GitHubRawEvent {
271
+ eventName: string;
272
+ deliveryId?: string;
273
+ action?: string;
274
+ payload: unknown;
275
+ }
276
+
277
+ /**
278
+ * Per-delivery context shared by every inbound hook: where the event landed,
279
+ * who triggered it, delivery-scoped GitHub helpers (`github` / `thread`), and
280
+ * shared host services (`host`) for MCP / host GitHub / Slack.
281
+ */
282
+ export interface GitHubEventContext {
283
+ /** `X-GitHub-Delivery` header, when present. */
284
+ deliveryId?: string;
285
+ /** `X-GitHub-Event` header. */
286
+ eventName: string;
287
+ repository: GitHubRepositoryRef;
288
+ /** The thread the session is anchored to. */
289
+ conversation: {
290
+ kind: GitHubConversationKind;
291
+ number: number;
292
+ url: string;
293
+ };
294
+ /** Login of the actor that triggered the delivery. */
295
+ senderLogin?: string;
296
+ sender?: GitHubUser;
297
+ /** Installation id from the webhook payload, when present. */
298
+ installationId?: number;
299
+ /** Authenticated GitHub helpers (`getOctokit`, `request`, `createStatus`). */
300
+ github: GitHubHandle;
301
+ /** Post / react on the conversation thread. */
302
+ thread: GitHubThread;
303
+ /** Shared host services (MCP / host GitHub / Slack). Same as tool `ctx.host`. */
304
+ host: HostContext;
305
+ }
306
+
307
+ /**
308
+ * A hook's decision to handle an inbound event. Return `null` from the hook
309
+ * to ignore the delivery instead.
310
+ */
311
+ export type GitHubDispatch = GitHubTurnDispatch | GitHubTaskDispatch;
312
+
313
+ /** Start (or resume) a model turn for the event. */
314
+ export interface GitHubTurnDispatch {
315
+ /** Who the turn runs as. Use `defaultGitHubAuth(ctx)` to derive it from the actor. */
316
+ auth: AuthContext | null;
317
+ /** Extra prompt lines appended to the default event message. */
318
+ context?: readonly string[];
319
+ /** Optional message override (comment hooks use the comment body by default). */
320
+ message?: string;
321
+ /** Optional session title override. */
322
+ title?: string;
323
+ }
324
+
325
+ /**
326
+ * Run a host-side handler for the event instead of a model turn. The task
327
+ * runs in the background (`waitUntil`) after the webhook is acknowledged
328
+ * with a 202, so it can outlive GitHub's ~10s delivery timeout.
329
+ */
330
+ export interface GitHubTaskDispatch {
331
+ task: () => void | Promise<void>;
332
+ }
333
+
334
+ export type GitHubDispatchResult =
335
+ | GitHubDispatch
336
+ | null
337
+ | Promise<GitHubDispatch | null>;
338
+
339
+ /**
340
+ * Inbound `pull_request` hook. Return `{ auth }` to dispatch a turn,
341
+ * `{ task }` to run a host-side handler, or `null` to ignore the delivery.
342
+ * Without this hook the channel keeps the agent-serve default action gate
343
+ * (opened / reopened / synchronize / ready_for_review). Eve has no default —
344
+ * declare the hook for Eve-style opt-in dispatch.
345
+ */
346
+ export type GitHubPullRequestHook = (
347
+ ctx: GitHubEventContext,
348
+ pullRequest: GitHubPullRequestEvent
349
+ ) => GitHubDispatchResult;
350
+
351
+ /**
352
+ * Invoked for every `@mention` of the bot in an issue/PR timeline comment or
353
+ * an inline review comment; `ctx.conversation.kind` distinguishes the surface.
354
+ * Return `{ auth }` to dispatch or `null` to ignore. Replaces the default
355
+ * mention gate when declared.
356
+ */
357
+ export type GitHubCommentHook = (
358
+ ctx: GitHubEventContext,
359
+ comment: GitHubComment
360
+ ) => GitHubDispatchResult;
361
+
362
+ /** Opt-in `issues` webhook hook. No default dispatch. */
363
+ export type GitHubIssueHook = (
364
+ ctx: GitHubEventContext,
365
+ issue: GitHubIssueEvent
366
+ ) => GitHubDispatchResult;
367
+
368
+ /** Opt-in `check_suite` webhook hook. No default dispatch. */
369
+ export type GitHubCheckSuiteHook = (
370
+ ctx: GitHubEventContext,
371
+ checkSuite: GitHubCheckSuiteEvent
372
+ ) => GitHubDispatchResult;
373
+
374
+ /** Opt-in `check_run` webhook hook. No default dispatch. */
375
+ export type GitHubCheckRunHook = (
376
+ ctx: GitHubEventContext,
377
+ checkRun: GitHubCheckRunEvent
378
+ ) => GitHubDispatchResult;
379
+
380
+ /** Opt-in `workflow_run` webhook hook. No default dispatch. */
381
+ export type GitHubWorkflowRunHook = (
382
+ ctx: GitHubEventContext,
383
+ workflowRun: GitHubWorkflowRunEvent
384
+ ) => GitHubDispatchResult;
385
+
386
+ /**
387
+ * Opt-in legacy commit `status` webhook hook. No default dispatch. Turns are
388
+ * only started when the hook returns a dispatch *and* a PR can be resolved
389
+ * from the payload (otherwise use `{ task }` for host-side work).
390
+ */
391
+ export type GitHubStatusHook = (
392
+ ctx: GitHubEventContext,
393
+ status: GitHubStatusEvent
394
+ ) => GitHubDispatchResult;
395
+
396
+ /**
397
+ * Catch-all for any webhook event (including ones with typed hooks). Runs
398
+ * after the typed handler path when the typed hook is absent or returns
399
+ * undefined-as-no-handler; for events with no typed hook, this is the only
400
+ * dispatch path. Return `null` to ignore.
401
+ */
402
+ export type GitHubEventHook = (
403
+ ctx: GitHubEventContext,
404
+ event: GitHubRawEvent
405
+ ) => GitHubDispatchResult;
406
+
407
+ export type GitHubCloudOptionsResolver = (
408
+ ctx: GitHubEventContext,
409
+ pullRequest: GitHubPullRequestEvent
410
+ ) => AgentCloudOptions | undefined | Promise<AgentCloudOptions | undefined>;
411
+
412
+ export interface GitHubChannelOptions {
413
+ /**
414
+ * Bot / App slug used by the default `@mention` gate on comments.
415
+ * Falls back to `GITHUB_APP_SLUG`.
416
+ */
417
+ botName?: string;
418
+ /**
419
+ * Webhook + API credentials. When the resolved webhook secret is set, the
420
+ * channel verifies `X-Hub-Signature-256` before parsing the payload.
421
+ * API calls prefer App installation tokens, then local PAT / `gh auth`.
422
+ */
423
+ credentials?: GitHubChannelCredentials;
424
+ /** Optional GitHub API transport overrides (`apiBaseUrl`, `fetch`). */
425
+ api?: GitHubApiOptions;
426
+ /**
427
+ * Route auth chain. Defaults to strict loopback auth without a webhook
428
+ * secret, and allow-all with one because the GitHub HMAC is the request
429
+ * auth.
430
+ */
431
+ auth?: AuthPolicy[];
432
+ /** Route path under `/v1/channels/<name>`. Defaults to `/`. */
433
+ path?: string;
434
+ /**
435
+ * Webhook events advertised to `agent-serve github forward` (published as
436
+ * `meta.githubWebhookEvents`). Defaults to the set derived from the declared
437
+ * hooks. Set this to pin an exact list — e.g. to include events only handled
438
+ * through {@link onEvent} such as `pull_request_review`.
439
+ */
440
+ webhookEvents?: readonly string[];
441
+ /**
442
+ * Decide whether an inbound `pull_request` event starts a turn. Return
443
+ * `{ auth: defaultGitHubAuth(ctx) }` to dispatch, `null` to ignore.
444
+ * Without this hook the channel dispatches on opened, reopened,
445
+ * synchronize, and ready_for_review (agent-serve default; Eve is opt-in).
446
+ */
447
+ onPullRequest?: GitHubPullRequestHook;
448
+ /**
449
+ * `@mention` gate for `issue_comment` and `pull_request_review_comment`.
450
+ * Without this hook, comments that `@mention` {@link botName} dispatch.
451
+ */
452
+ onComment?: GitHubCommentHook;
453
+ /** Opt-in `issues` webhook handler. No default dispatch. */
454
+ onIssue?: GitHubIssueHook;
455
+ /** Opt-in `check_suite` webhook handler. No default dispatch. */
456
+ onCheckSuite?: GitHubCheckSuiteHook;
457
+ /** Opt-in `check_run` webhook handler. No default dispatch. */
458
+ onCheckRun?: GitHubCheckRunHook;
459
+ /** Opt-in `workflow_run` webhook handler. No default dispatch. */
460
+ onWorkflowRun?: GitHubWorkflowRunHook;
461
+ /** Opt-in legacy commit `status` webhook handler. No default dispatch. */
462
+ onStatus?: GitHubStatusHook;
463
+ /**
464
+ * Catch-all webhook handler. Invoked for events without a typed hook, and
465
+ * as a fallback when a typed hook is not declared. Prefer typed hooks when
466
+ * the event is known.
467
+ */
468
+ onEvent?: GitHubEventHook;
469
+ /**
470
+ * Override / extend default stream-event handlers (eyes reaction, reply
471
+ * posting). Handlers you provide replace the matching defaults.
472
+ */
473
+ events?: ChannelEventHandlers<GitHubChannelState>;
474
+ /** Acknowledgement progress surfaces (reactions). */
475
+ progress?: GitHubProgressConfig;
476
+ /**
477
+ * When false, skip posting assistant / error comments back to GitHub.
478
+ * Defaults to true.
479
+ */
480
+ deliverReplies?: boolean;
481
+ /**
482
+ * Per-session cloud options. Pass `true` to attach the PR repo using the
483
+ * pull request URL, or a resolver for custom cloud options.
484
+ */
485
+ cloud?: boolean | AgentCloudOptions | GitHubCloudOptionsResolver;
486
+ /** Called once when the server mounts this channel. */
487
+ onStart?: (args: ChannelStartArgs) => void | Promise<void>;
488
+ /** Called when the server shuts down. */
489
+ onStop?: () => void | Promise<void>;
490
+ }