@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.
- package/AGENTS.md +290 -0
- package/LICENSE.md +3 -0
- package/README.md +1233 -0
- package/dist/ab.d.ts +290 -0
- package/dist/ab.d.ts.map +1 -0
- package/dist/ab.js +386 -0
- package/dist/bin/agent-serve.d.ts +15 -0
- package/dist/bin/agent-serve.d.ts.map +1 -0
- package/dist/bin/agent-serve.js +754 -0
- package/dist/channels/github/api.d.ts +101 -0
- package/dist/channels/github/api.d.ts.map +1 -0
- package/dist/channels/github/api.js +229 -0
- package/dist/channels/github/auth.d.ts +67 -0
- package/dist/channels/github/auth.d.ts.map +1 -0
- package/dist/channels/github/auth.js +239 -0
- package/dist/channels/github/binding.d.ts +73 -0
- package/dist/channels/github/binding.d.ts.map +1 -0
- package/dist/channels/github/binding.js +114 -0
- package/dist/channels/github/defaults.d.ts +24 -0
- package/dist/channels/github/defaults.d.ts.map +1 -0
- package/dist/channels/github/defaults.js +100 -0
- package/dist/channels/github/events.d.ts +18 -0
- package/dist/channels/github/events.d.ts.map +1 -0
- package/dist/channels/github/events.js +59 -0
- package/dist/channels/github/forward.d.ts +137 -0
- package/dist/channels/github/forward.d.ts.map +1 -0
- package/dist/channels/github/forward.js +271 -0
- package/dist/channels/github/github-channel.d.ts +127 -0
- package/dist/channels/github/github-channel.d.ts.map +1 -0
- package/dist/channels/github/github-channel.js +1688 -0
- package/dist/channels/github/index.d.ts +52 -0
- package/dist/channels/github/index.d.ts.map +1 -0
- package/dist/channels/github/index.js +51 -0
- package/dist/channels/github/replay.d.ts +115 -0
- package/dist/channels/github/replay.d.ts.map +1 -0
- package/dist/channels/github/replay.js +282 -0
- package/dist/channels/github/state.d.ts +26 -0
- package/dist/channels/github/state.d.ts.map +1 -0
- package/dist/channels/github/state.js +50 -0
- package/dist/channels/github/types.d.ts +385 -0
- package/dist/channels/github/types.d.ts.map +1 -0
- package/dist/channels/github/types.js +1 -0
- package/dist/channels/slack/api.d.ts +117 -0
- package/dist/channels/slack/api.d.ts.map +1 -0
- package/dist/channels/slack/api.js +437 -0
- package/dist/channels/slack/approvals.d.ts +32 -0
- package/dist/channels/slack/approvals.d.ts.map +1 -0
- package/dist/channels/slack/approvals.js +157 -0
- package/dist/channels/slack/assistant.d.ts +23 -0
- package/dist/channels/slack/assistant.d.ts.map +1 -0
- package/dist/channels/slack/assistant.js +67 -0
- package/dist/channels/slack/auth.d.ts +40 -0
- package/dist/channels/slack/auth.d.ts.map +1 -0
- package/dist/channels/slack/auth.js +71 -0
- package/dist/channels/slack/channel-watch.d.ts +46 -0
- package/dist/channels/slack/channel-watch.d.ts.map +1 -0
- package/dist/channels/slack/channel-watch.js +180 -0
- package/dist/channels/slack/constants.d.ts +17 -0
- package/dist/channels/slack/constants.d.ts.map +1 -0
- package/dist/channels/slack/constants.js +27 -0
- package/dist/channels/slack/credentials.d.ts +35 -0
- package/dist/channels/slack/credentials.d.ts.map +1 -0
- package/dist/channels/slack/credentials.js +88 -0
- package/dist/channels/slack/cursor-account.d.ts +76 -0
- package/dist/channels/slack/cursor-account.d.ts.map +1 -0
- package/dist/channels/slack/cursor-account.js +88 -0
- package/dist/channels/slack/defaults.d.ts +32 -0
- package/dist/channels/slack/defaults.d.ts.map +1 -0
- package/dist/channels/slack/defaults.js +380 -0
- package/dist/channels/slack/dispatch.d.ts +43 -0
- package/dist/channels/slack/dispatch.d.ts.map +1 -0
- package/dist/channels/slack/dispatch.js +185 -0
- package/dist/channels/slack/doctor.d.ts +24 -0
- package/dist/channels/slack/doctor.d.ts.map +1 -0
- package/dist/channels/slack/doctor.js +115 -0
- package/dist/channels/slack/event-id-dedupe.d.ts +10 -0
- package/dist/channels/slack/event-id-dedupe.d.ts.map +1 -0
- package/dist/channels/slack/event-id-dedupe.js +23 -0
- package/dist/channels/slack/inbound.d.ts +41 -0
- package/dist/channels/slack/inbound.d.ts.map +1 -0
- package/dist/channels/slack/inbound.js +166 -0
- package/dist/channels/slack/index.d.ts +45 -0
- package/dist/channels/slack/index.d.ts.map +1 -0
- package/dist/channels/slack/index.js +44 -0
- package/dist/channels/slack/init.d.ts +32 -0
- package/dist/channels/slack/init.d.ts.map +1 -0
- package/dist/channels/slack/init.js +82 -0
- package/dist/channels/slack/interactive.d.ts +19 -0
- package/dist/channels/slack/interactive.d.ts.map +1 -0
- package/dist/channels/slack/interactive.js +142 -0
- package/dist/channels/slack/links.d.ts +10 -0
- package/dist/channels/slack/links.d.ts.map +1 -0
- package/dist/channels/slack/links.js +19 -0
- package/dist/channels/slack/live-delivery.d.ts +75 -0
- package/dist/channels/slack/live-delivery.d.ts.map +1 -0
- package/dist/channels/slack/live-delivery.js +143 -0
- package/dist/channels/slack/log.d.ts +25 -0
- package/dist/channels/slack/log.d.ts.map +1 -0
- package/dist/channels/slack/log.js +47 -0
- package/dist/channels/slack/manifest.d.ts +57 -0
- package/dist/channels/slack/manifest.d.ts.map +1 -0
- package/dist/channels/slack/manifest.js +110 -0
- package/dist/channels/slack/pr-ref.d.ts +18 -0
- package/dist/channels/slack/pr-ref.d.ts.map +1 -0
- package/dist/channels/slack/pr-ref.js +36 -0
- package/dist/channels/slack/setup.d.ts +14 -0
- package/dist/channels/slack/setup.d.ts.map +1 -0
- package/dist/channels/slack/setup.js +86 -0
- package/dist/channels/slack/slack-channel.d.ts +15 -0
- package/dist/channels/slack/slack-channel.d.ts.map +1 -0
- package/dist/channels/slack/slack-channel.js +281 -0
- package/dist/channels/slack/socket-mode.d.ts +26 -0
- package/dist/channels/slack/socket-mode.d.ts.map +1 -0
- package/dist/channels/slack/socket-mode.js +116 -0
- package/dist/channels/slack/stream.d.ts +26 -0
- package/dist/channels/slack/stream.d.ts.map +1 -0
- package/dist/channels/slack/stream.js +39 -0
- package/dist/channels/slack/tool-approval-events.d.ts +33 -0
- package/dist/channels/slack/tool-approval-events.d.ts.map +1 -0
- package/dist/channels/slack/tool-approval-events.js +129 -0
- package/dist/channels/slack/types.d.ts +326 -0
- package/dist/channels/slack/types.d.ts.map +1 -0
- package/dist/channels/slack/types.js +4 -0
- package/dist/channels.d.ts +116 -0
- package/dist/channels.d.ts.map +1 -0
- package/dist/channels.js +294 -0
- package/dist/connections.d.ts +75 -0
- package/dist/connections.d.ts.map +1 -0
- package/dist/connections.js +75 -0
- package/dist/docs/404.html +22 -0
- package/dist/docs/ab.html +87 -0
- package/dist/docs/assets/ab.md.COdXkces.js +63 -0
- package/dist/docs/assets/ab.md.COdXkces.lean.js +1 -0
- package/dist/docs/assets/app.DqfFEmJd.js +1 -0
- package/dist/docs/assets/building-with-agents.md.CJCtZCyi.js +13 -0
- package/dist/docs/assets/building-with-agents.md.CJCtZCyi.lean.js +1 -0
- package/dist/docs/assets/chunks/@localSearchIndexroot.CcVk1uKq.js +1 -0
- package/dist/docs/assets/chunks/VPLocalSearchBox.BaLEdS15.js +9 -0
- package/dist/docs/assets/chunks/framework.CAZyNGu9.js +19 -0
- package/dist/docs/assets/chunks/theme.CZRvu_0q.js +2 -0
- package/dist/docs/assets/concepts.md.Cfb9b-k1.js +4 -0
- package/dist/docs/assets/concepts.md.Cfb9b-k1.lean.js +1 -0
- package/dist/docs/assets/deployment.md.Dx1TYNk5.js +14 -0
- package/dist/docs/assets/deployment.md.Dx1TYNk5.lean.js +1 -0
- package/dist/docs/assets/evals.md.DPZ_MAnI.js +85 -0
- package/dist/docs/assets/evals.md.DPZ_MAnI.lean.js +1 -0
- package/dist/docs/assets/guides_agent-to-agent.md.CrtrsySy.js +10 -0
- package/dist/docs/assets/guides_agent-to-agent.md.CrtrsySy.lean.js +1 -0
- package/dist/docs/assets/guides_cloud-runtime.md.CYlNMTNp.js +9 -0
- package/dist/docs/assets/guides_cloud-runtime.md.CYlNMTNp.lean.js +1 -0
- package/dist/docs/assets/guides_github.md.DwbKhCeS.js +20 -0
- package/dist/docs/assets/guides_github.md.DwbKhCeS.lean.js +1 -0
- package/dist/docs/assets/guides_human-in-the-loop.md.Dvuctx7s.js +28 -0
- package/dist/docs/assets/guides_human-in-the-loop.md.Dvuctx7s.lean.js +1 -0
- package/dist/docs/assets/guides_slack.md.bv41fHfW.js +37 -0
- package/dist/docs/assets/guides_slack.md.bv41fHfW.lean.js +1 -0
- package/dist/docs/assets/guides_webhooks.md.hFTik3lf.js +50 -0
- package/dist/docs/assets/guides_webhooks.md.hFTik3lf.lean.js +1 -0
- package/dist/docs/assets/hillclimbing.md.DHNast08.js +4 -0
- package/dist/docs/assets/hillclimbing.md.DHNast08.lean.js +1 -0
- package/dist/docs/assets/index.md.BPKcj5AI.js +20 -0
- package/dist/docs/assets/index.md.BPKcj5AI.lean.js +1 -0
- package/dist/docs/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
- package/dist/docs/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
- package/dist/docs/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
- package/dist/docs/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
- package/dist/docs/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
- package/dist/docs/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
- package/dist/docs/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
- package/dist/docs/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
- package/dist/docs/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
- package/dist/docs/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
- package/dist/docs/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
- package/dist/docs/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
- package/dist/docs/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
- package/dist/docs/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
- package/dist/docs/assets/quickstart.md.tVPiGK_L.js +35 -0
- package/dist/docs/assets/quickstart.md.tVPiGK_L.lean.js +1 -0
- package/dist/docs/assets/reference_agent-config.md.Bpd7HQwf.js +34 -0
- package/dist/docs/assets/reference_agent-config.md.Bpd7HQwf.lean.js +1 -0
- package/dist/docs/assets/reference_channels.md.D7JTR03W.js +53 -0
- package/dist/docs/assets/reference_channels.md.D7JTR03W.lean.js +1 -0
- package/dist/docs/assets/reference_cli.md.DA730zCu.js +33 -0
- package/dist/docs/assets/reference_cli.md.DA730zCu.lean.js +1 -0
- package/dist/docs/assets/reference_connections.md.C3vNH_DE.js +26 -0
- package/dist/docs/assets/reference_connections.md.C3vNH_DE.lean.js +1 -0
- package/dist/docs/assets/reference_hooks.md.BCEc3MyM.js +12 -0
- package/dist/docs/assets/reference_hooks.md.BCEc3MyM.lean.js +1 -0
- package/dist/docs/assets/reference_http-api.md.DBAahtdz.js +11 -0
- package/dist/docs/assets/reference_http-api.md.DBAahtdz.lean.js +1 -0
- package/dist/docs/assets/reference_instructions.md.BC05LEQ8.js +12 -0
- package/dist/docs/assets/reference_instructions.md.BC05LEQ8.lean.js +1 -0
- package/dist/docs/assets/reference_playground.md.CPZhfYaO.js +1 -0
- package/dist/docs/assets/reference_playground.md.CPZhfYaO.lean.js +1 -0
- package/dist/docs/assets/reference_project-layout.md.Bd_CKtNS.js +31 -0
- package/dist/docs/assets/reference_project-layout.md.Bd_CKtNS.lean.js +1 -0
- package/dist/docs/assets/reference_schedules.md.D7qijxLk.js +82 -0
- package/dist/docs/assets/reference_schedules.md.D7qijxLk.lean.js +1 -0
- package/dist/docs/assets/reference_sessions.md.DdjWabnN.js +8 -0
- package/dist/docs/assets/reference_sessions.md.DdjWabnN.lean.js +1 -0
- package/dist/docs/assets/reference_skills.md.VQnlBT3Q.js +15 -0
- package/dist/docs/assets/reference_skills.md.VQnlBT3Q.lean.js +1 -0
- package/dist/docs/assets/reference_subagents.md.CIRAVcPK.js +10 -0
- package/dist/docs/assets/reference_subagents.md.CIRAVcPK.lean.js +1 -0
- package/dist/docs/assets/reference_tools.md.DF5kwlt0.js +46 -0
- package/dist/docs/assets/reference_tools.md.DF5kwlt0.lean.js +1 -0
- package/dist/docs/assets/scaffolding-agents.md.CyYfWGdc.js +1 -0
- package/dist/docs/assets/scaffolding-agents.md.CyYfWGdc.lean.js +1 -0
- package/dist/docs/assets/style.Bj-IXa5W.css +1 -0
- package/dist/docs/assets/troubleshooting.md.DkovjS7h.js +1 -0
- package/dist/docs/assets/troubleshooting.md.DkovjS7h.lean.js +1 -0
- package/dist/docs/building-with-agents.html +37 -0
- package/dist/docs/concepts.html +28 -0
- package/dist/docs/deployment.html +38 -0
- package/dist/docs/evals.html +109 -0
- package/dist/docs/guides/agent-to-agent.html +34 -0
- package/dist/docs/guides/cloud-runtime.html +33 -0
- package/dist/docs/guides/github.html +44 -0
- package/dist/docs/guides/human-in-the-loop.html +52 -0
- package/dist/docs/guides/slack.html +61 -0
- package/dist/docs/guides/webhooks.html +74 -0
- package/dist/docs/hashmap.json +1 -0
- package/dist/docs/hillclimbing.html +28 -0
- package/dist/docs/index.html +44 -0
- package/dist/docs/quickstart.html +59 -0
- package/dist/docs/reference/agent-config.html +58 -0
- package/dist/docs/reference/channels.html +77 -0
- package/dist/docs/reference/cli.html +57 -0
- package/dist/docs/reference/connections.html +50 -0
- package/dist/docs/reference/hooks.html +36 -0
- package/dist/docs/reference/http-api.html +35 -0
- package/dist/docs/reference/instructions.html +36 -0
- package/dist/docs/reference/playground.html +25 -0
- package/dist/docs/reference/project-layout.html +55 -0
- package/dist/docs/reference/schedules.html +106 -0
- package/dist/docs/reference/sessions.html +32 -0
- package/dist/docs/reference/skills.html +39 -0
- package/dist/docs/reference/subagents.html +34 -0
- package/dist/docs/reference/tools.html +70 -0
- package/dist/docs/scaffolding-agents.html +25 -0
- package/dist/docs/troubleshooting.html +25 -0
- package/dist/docs/vp-icons.css +0 -0
- package/dist/evals.d.ts +312 -0
- package/dist/evals.d.ts.map +1 -0
- package/dist/evals.js +254 -0
- package/dist/hooks.d.ts +23 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +23 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +101 -0
- package/dist/internal/ab-collector.d.ts +42 -0
- package/dist/internal/ab-collector.d.ts.map +1 -0
- package/dist/internal/ab-collector.js +153 -0
- package/dist/internal/ab-fold.d.ts +36 -0
- package/dist/internal/ab-fold.d.ts.map +1 -0
- package/dist/internal/ab-fold.js +171 -0
- package/dist/internal/ab-snapshot.d.ts +70 -0
- package/dist/internal/ab-snapshot.d.ts.map +1 -0
- package/dist/internal/ab-snapshot.js +208 -0
- package/dist/internal/approval-gate.d.ts +34 -0
- package/dist/internal/approval-gate.d.ts.map +1 -0
- package/dist/internal/approval-gate.js +85 -0
- package/dist/internal/auth.d.ts +8 -0
- package/dist/internal/auth.d.ts.map +1 -0
- package/dist/internal/auth.js +27 -0
- package/dist/internal/authored-alias-hooks.d.ts +31 -0
- package/dist/internal/authored-alias-hooks.d.ts.map +1 -0
- package/dist/internal/authored-alias-hooks.js +43 -0
- package/dist/internal/authored-loaders.d.ts +25 -0
- package/dist/internal/authored-loaders.d.ts.map +1 -0
- package/dist/internal/authored-loaders.js +129 -0
- package/dist/internal/bounded-int.d.ts +11 -0
- package/dist/internal/bounded-int.d.ts.map +1 -0
- package/dist/internal/bounded-int.js +13 -0
- package/dist/internal/brand.d.ts +6 -0
- package/dist/internal/brand.d.ts.map +1 -0
- package/dist/internal/brand.js +17 -0
- package/dist/internal/chat-client.d.ts +19 -0
- package/dist/internal/chat-client.d.ts.map +1 -0
- package/dist/internal/chat-client.js +327 -0
- package/dist/internal/cli-ax.d.ts +58 -0
- package/dist/internal/cli-ax.d.ts.map +1 -0
- package/dist/internal/cli-ax.js +345 -0
- package/dist/internal/cli-cursor.d.ts +20 -0
- package/dist/internal/cli-cursor.d.ts.map +1 -0
- package/dist/internal/cli-cursor.js +227 -0
- package/dist/internal/cli-github.d.ts +47 -0
- package/dist/internal/cli-github.d.ts.map +1 -0
- package/dist/internal/cli-github.js +644 -0
- package/dist/internal/cli-slack.d.ts +18 -0
- package/dist/internal/cli-slack.d.ts.map +1 -0
- package/dist/internal/cli-slack.js +144 -0
- package/dist/internal/cloud-merge.d.ts +23 -0
- package/dist/internal/cloud-merge.d.ts.map +1 -0
- package/dist/internal/cloud-merge.js +28 -0
- package/dist/internal/cron.d.ts +17 -0
- package/dist/internal/cron.d.ts.map +1 -0
- package/dist/internal/cron.js +60 -0
- package/dist/internal/cursor/account-mcp.d.ts +95 -0
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -0
- package/dist/internal/cursor/account-mcp.js +342 -0
- package/dist/internal/cursor/backend-client.d.ts +118 -0
- package/dist/internal/cursor/backend-client.d.ts.map +1 -0
- package/dist/internal/cursor/backend-client.js +477 -0
- package/dist/internal/cursor/credentials.d.ts +112 -0
- package/dist/internal/cursor/credentials.d.ts.map +1 -0
- package/dist/internal/cursor/credentials.js +329 -0
- package/dist/internal/cursor-event-relay.d.ts +111 -0
- package/dist/internal/cursor-event-relay.d.ts.map +1 -0
- package/dist/internal/cursor-event-relay.js +181 -0
- package/dist/internal/cursor-relay-core.d.ts +113 -0
- package/dist/internal/cursor-relay-core.d.ts.map +1 -0
- package/dist/internal/cursor-relay-core.js +364 -0
- package/dist/internal/cursor-slack-relay.d.ts +94 -0
- package/dist/internal/cursor-slack-relay.d.ts.map +1 -0
- package/dist/internal/cursor-slack-relay.js +171 -0
- package/dist/internal/describe-error.d.ts +3 -0
- package/dist/internal/describe-error.d.ts.map +1 -0
- package/dist/internal/describe-error.js +4 -0
- package/dist/internal/dev-mode.d.ts +13 -0
- package/dist/internal/dev-mode.d.ts.map +1 -0
- package/dist/internal/dev-mode.js +17 -0
- package/dist/internal/discovery.d.ts +55 -0
- package/dist/internal/discovery.d.ts.map +1 -0
- package/dist/internal/discovery.js +1427 -0
- package/dist/internal/distribution.d.ts +47 -0
- package/dist/internal/distribution.d.ts.map +1 -0
- package/dist/internal/distribution.js +82 -0
- package/dist/internal/docs-site.d.ts +28 -0
- package/dist/internal/docs-site.d.ts.map +1 -0
- package/dist/internal/docs-site.js +169 -0
- package/dist/internal/duration.d.ts +8 -0
- package/dist/internal/duration.d.ts.map +1 -0
- package/dist/internal/duration.js +35 -0
- package/dist/internal/eval-run-store.d.ts +81 -0
- package/dist/internal/eval-run-store.d.ts.map +1 -0
- package/dist/internal/eval-run-store.js +396 -0
- package/dist/internal/eval-runner.d.ts +76 -0
- package/dist/internal/eval-runner.d.ts.map +1 -0
- package/dist/internal/eval-runner.js +336 -0
- package/dist/internal/event-log.d.ts +51 -0
- package/dist/internal/event-log.d.ts.map +1 -0
- package/dist/internal/event-log.js +167 -0
- package/dist/internal/event-mapper.d.ts +46 -0
- package/dist/internal/event-mapper.d.ts.map +1 -0
- package/dist/internal/event-mapper.js +226 -0
- package/dist/internal/frontmatter.d.ts +12 -0
- package/dist/internal/frontmatter.d.ts.map +1 -0
- package/dist/internal/frontmatter.js +61 -0
- package/dist/internal/github-fanout.d.ts +32 -0
- package/dist/internal/github-fanout.d.ts.map +1 -0
- package/dist/internal/github-fanout.js +122 -0
- package/dist/internal/handleAgentServeTrigger.d.ts +59 -0
- package/dist/internal/handleAgentServeTrigger.d.ts.map +1 -0
- package/dist/internal/handleAgentServeTrigger.js +115 -0
- package/dist/internal/host-platforms.d.ts +40 -0
- package/dist/internal/host-platforms.d.ts.map +1 -0
- package/dist/internal/host-platforms.js +113 -0
- package/dist/internal/http-channel.d.ts +54 -0
- package/dist/internal/http-channel.d.ts.map +1 -0
- package/dist/internal/http-channel.js +382 -0
- package/dist/internal/ids.d.ts +19 -0
- package/dist/internal/ids.d.ts.map +1 -0
- package/dist/internal/ids.js +34 -0
- package/dist/internal/init-project.d.ts +22 -0
- package/dist/internal/init-project.d.ts.map +1 -0
- package/dist/internal/init-project.js +125 -0
- package/dist/internal/json-dir-store.d.ts +32 -0
- package/dist/internal/json-dir-store.d.ts.map +1 -0
- package/dist/internal/json-dir-store.js +100 -0
- package/dist/internal/json-schema.d.ts +18 -0
- package/dist/internal/json-schema.d.ts.map +1 -0
- package/dist/internal/json-schema.js +53 -0
- package/dist/internal/log-ring.d.ts +23 -0
- package/dist/internal/log-ring.d.ts.map +1 -0
- package/dist/internal/log-ring.js +42 -0
- package/dist/internal/map-pool.d.ts +6 -0
- package/dist/internal/map-pool.d.ts.map +1 -0
- package/dist/internal/map-pool.js +41 -0
- package/dist/internal/mcp-endpoint.d.ts +59 -0
- package/dist/internal/mcp-endpoint.d.ts.map +1 -0
- package/dist/internal/mcp-endpoint.js +355 -0
- package/dist/internal/mcp-host.d.ts +28 -0
- package/dist/internal/mcp-host.d.ts.map +1 -0
- package/dist/internal/mcp-host.js +162 -0
- package/dist/internal/net.d.ts +5 -0
- package/dist/internal/net.d.ts.map +1 -0
- package/dist/internal/net.js +30 -0
- package/dist/internal/peer-connections.d.ts +44 -0
- package/dist/internal/peer-connections.d.ts.map +1 -0
- package/dist/internal/peer-connections.js +67 -0
- package/dist/internal/playground/static.d.ts +35 -0
- package/dist/internal/playground/static.d.ts.map +1 -0
- package/dist/internal/playground/static.js +162 -0
- package/dist/internal/playground/toolchain.d.ts +57 -0
- package/dist/internal/playground/toolchain.d.ts.map +1 -0
- package/dist/internal/playground/toolchain.js +226 -0
- package/dist/internal/reminder-runner.d.ts +62 -0
- package/dist/internal/reminder-runner.d.ts.map +1 -0
- package/dist/internal/reminder-runner.js +582 -0
- package/dist/internal/reminder-schedule.d.ts +22 -0
- package/dist/internal/reminder-schedule.d.ts.map +1 -0
- package/dist/internal/reminder-schedule.js +82 -0
- package/dist/internal/reminder-store.d.ts +58 -0
- package/dist/internal/reminder-store.d.ts.map +1 -0
- package/dist/internal/reminder-store.js +106 -0
- package/dist/internal/resolved-connections.d.ts +41 -0
- package/dist/internal/resolved-connections.d.ts.map +1 -0
- package/dist/internal/resolved-connections.js +73 -0
- package/dist/internal/review-comments.d.ts +50 -0
- package/dist/internal/review-comments.d.ts.map +1 -0
- package/dist/internal/review-comments.js +194 -0
- package/dist/internal/router.d.ts +33 -0
- package/dist/internal/router.d.ts.map +1 -0
- package/dist/internal/router.js +93 -0
- package/dist/internal/run-client.d.ts +49 -0
- package/dist/internal/run-client.d.ts.map +1 -0
- package/dist/internal/run-client.js +208 -0
- package/dist/internal/schedule-runner.d.ts +31 -0
- package/dist/internal/schedule-runner.d.ts.map +1 -0
- package/dist/internal/schedule-runner.js +126 -0
- package/dist/internal/sdk-runner.d.ts +41 -0
- package/dist/internal/sdk-runner.d.ts.map +1 -0
- package/dist/internal/sdk-runner.js +221 -0
- package/dist/internal/server.d.ts +25 -0
- package/dist/internal/server.d.ts.map +1 -0
- package/dist/internal/server.js +1374 -0
- package/dist/internal/session-engine.d.ts +287 -0
- package/dist/internal/session-engine.d.ts.map +1 -0
- package/dist/internal/session-engine.js +1377 -0
- package/dist/internal/session-store.d.ts +29 -0
- package/dist/internal/session-store.d.ts.map +1 -0
- package/dist/internal/session-store.js +140 -0
- package/dist/internal/session-urls.d.ts +10 -0
- package/dist/internal/session-urls.d.ts.map +1 -0
- package/dist/internal/session-urls.js +25 -0
- package/dist/internal/stream-progress.d.ts +14 -0
- package/dist/internal/stream-progress.d.ts.map +1 -0
- package/dist/internal/stream-progress.js +195 -0
- package/dist/internal/tool-result.d.ts +20 -0
- package/dist/internal/tool-result.d.ts.map +1 -0
- package/dist/internal/tool-result.js +45 -0
- package/dist/internal/trajectory.d.ts +56 -0
- package/dist/internal/trajectory.d.ts.map +1 -0
- package/dist/internal/trajectory.js +248 -0
- package/dist/internal/workspace.d.ts +42 -0
- package/dist/internal/workspace.d.ts.map +1 -0
- package/dist/internal/workspace.js +199 -0
- package/dist/playground/assets/cursor-icons-outline-oY2V_mvK.woff2 +0 -0
- package/dist/playground/assets/index-1K-hG-7p.css +1 -0
- package/dist/playground/assets/index-FlWjhg3x.js +79 -0
- package/dist/playground/index.html +17 -0
- package/dist/reminders.d.ts +23 -0
- package/dist/reminders.d.ts.map +1 -0
- package/dist/reminders.js +22 -0
- package/dist/schedules.d.ts +23 -0
- package/dist/schedules.d.ts.map +1 -0
- package/dist/schedules.js +26 -0
- package/dist/skills.d.ts +22 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +22 -0
- package/dist/tools.d.ts +92 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +68 -0
- package/dist/types.d.ts +1609 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +80 -0
- package/docs/README.md +174 -0
- package/docs/ab.md +355 -0
- package/docs/building-with-agents.md +129 -0
- package/docs/concepts.md +177 -0
- package/docs/deployment.md +218 -0
- package/docs/evals.md +383 -0
- package/docs/guides/agent-to-agent.md +118 -0
- package/docs/guides/cloud-runtime.md +122 -0
- package/docs/guides/github.md +172 -0
- package/docs/guides/human-in-the-loop.md +131 -0
- package/docs/guides/slack.md +245 -0
- package/docs/guides/webhooks.md +201 -0
- package/docs/hillclimbing.md +93 -0
- package/docs/quickstart.md +183 -0
- package/docs/reference/agent-config.md +154 -0
- package/docs/reference/channels.md +206 -0
- package/docs/reference/cli.md +257 -0
- package/docs/reference/connections.md +137 -0
- package/docs/reference/hooks.md +74 -0
- package/docs/reference/http-api.md +219 -0
- package/docs/reference/instructions.md +77 -0
- package/docs/reference/playground.md +67 -0
- package/docs/reference/project-layout.md +119 -0
- package/docs/reference/schedules.md +220 -0
- package/docs/reference/sessions.md +165 -0
- package/docs/reference/skills.md +79 -0
- package/docs/reference/subagents.md +74 -0
- package/docs/reference/tools.md +203 -0
- package/docs/scaffolding-agents.md +113 -0
- package/docs/troubleshooting.md +95 -0
- package/package.json +185 -0
- package/skills/ab/SKILL.md +139 -0
- package/skills/create-agent/SKILL.md +219 -0
- package/skills/debug/SKILL.md +71 -0
- package/skills/evals/SKILL.md +217 -0
- package/skills/framework-map/SKILL.md +142 -0
- package/skills/github/SKILL.md +144 -0
- package/skills/hillclimb/SKILL.md +162 -0
- package/skills/setup-slack/SKILL.md +180 -0
- package/src/ab.ts +675 -0
- package/src/bin/agent-serve.ts +949 -0
- package/src/channels/github/api.ts +374 -0
- package/src/channels/github/auth.ts +275 -0
- package/src/channels/github/binding.ts +223 -0
- package/src/channels/github/defaults.ts +111 -0
- package/src/channels/github/events.ts +72 -0
- package/src/channels/github/forward.ts +381 -0
- package/src/channels/github/github-channel.ts +2270 -0
- package/src/channels/github/index.ts +52 -0
- package/src/channels/github/replay.ts +387 -0
- package/src/channels/github/state.ts +95 -0
- package/src/channels/github/types.ts +490 -0
- package/src/channels/slack/api.ts +580 -0
- package/src/channels/slack/approvals.ts +198 -0
- package/src/channels/slack/assistant.ts +76 -0
- package/src/channels/slack/auth.ts +112 -0
- package/src/channels/slack/channel-watch.ts +219 -0
- package/src/channels/slack/constants.ts +30 -0
- package/src/channels/slack/credentials.ts +90 -0
- package/src/channels/slack/cursor-account.ts +166 -0
- package/src/channels/slack/defaults.ts +450 -0
- package/src/channels/slack/dispatch.ts +293 -0
- package/src/channels/slack/doctor.ts +135 -0
- package/src/channels/slack/event-id-dedupe.ts +30 -0
- package/src/channels/slack/inbound.ts +219 -0
- package/src/channels/slack/index.ts +45 -0
- package/src/channels/slack/init.ts +133 -0
- package/src/channels/slack/interactive.ts +194 -0
- package/src/channels/slack/links.ts +23 -0
- package/src/channels/slack/live-delivery.ts +201 -0
- package/src/channels/slack/log.ts +83 -0
- package/src/channels/slack/manifest.ts +179 -0
- package/src/channels/slack/pr-ref.ts +50 -0
- package/src/channels/slack/setup.ts +97 -0
- package/src/channels/slack/slack-channel.ts +374 -0
- package/src/channels/slack/socket-mode.ts +154 -0
- package/src/channels/slack/stream.ts +63 -0
- package/src/channels/slack/tool-approval-events.ts +136 -0
- package/src/channels/slack/types.ts +349 -0
- package/src/channels.ts +385 -0
- package/src/connections.ts +89 -0
- package/src/evals.ts +501 -0
- package/src/hooks.ts +33 -0
- package/src/index.ts +184 -0
- package/src/internal/ab-collector.ts +210 -0
- package/src/internal/ab-fold.ts +228 -0
- package/src/internal/ab-snapshot.ts +335 -0
- package/src/internal/approval-gate.ts +115 -0
- package/src/internal/auth.ts +39 -0
- package/src/internal/authored-alias-hooks.ts +69 -0
- package/src/internal/authored-loaders.ts +138 -0
- package/src/internal/bounded-int.ts +27 -0
- package/src/internal/brand.ts +29 -0
- package/src/internal/chat-client.ts +407 -0
- package/src/internal/cli-ax.ts +474 -0
- package/src/internal/cli-cursor.ts +275 -0
- package/src/internal/cli-github.ts +849 -0
- package/src/internal/cli-slack.ts +175 -0
- package/src/internal/cloud-merge.ts +41 -0
- package/src/internal/cron.ts +78 -0
- package/src/internal/cursor/account-mcp.ts +472 -0
- package/src/internal/cursor/backend-client.ts +614 -0
- package/src/internal/cursor/credentials.ts +401 -0
- package/src/internal/cursor-event-relay.ts +281 -0
- package/src/internal/cursor-relay-core.ts +444 -0
- package/src/internal/cursor-slack-relay.ts +242 -0
- package/src/internal/describe-error.ts +4 -0
- package/src/internal/dev-mode.ts +20 -0
- package/src/internal/discovery.ts +1709 -0
- package/src/internal/distribution.ts +97 -0
- package/src/internal/docs-site.ts +191 -0
- package/src/internal/duration.ts +39 -0
- package/src/internal/eval-run-store.ts +519 -0
- package/src/internal/eval-runner.ts +522 -0
- package/src/internal/event-log.ts +175 -0
- package/src/internal/event-mapper.ts +272 -0
- package/src/internal/frontmatter.ts +77 -0
- package/src/internal/github-fanout.ts +159 -0
- package/src/internal/handleAgentServeTrigger.ts +156 -0
- package/src/internal/host-platforms.ts +144 -0
- package/src/internal/http-channel.ts +546 -0
- package/src/internal/ids.ts +44 -0
- package/src/internal/init-project.ts +165 -0
- package/src/internal/json-dir-store.ts +109 -0
- package/src/internal/json-schema.ts +69 -0
- package/src/internal/log-ring.ts +59 -0
- package/src/internal/map-pool.ts +32 -0
- package/src/internal/mcp-endpoint.ts +518 -0
- package/src/internal/mcp-host.ts +211 -0
- package/src/internal/net.ts +31 -0
- package/src/internal/peer-connections.ts +100 -0
- package/src/internal/playground/static.ts +189 -0
- package/src/internal/playground/toolchain.ts +277 -0
- package/src/internal/reminder-runner.ts +756 -0
- package/src/internal/reminder-schedule.ts +106 -0
- package/src/internal/reminder-store.ts +145 -0
- package/src/internal/resolved-connections.ts +145 -0
- package/src/internal/review-comments.ts +268 -0
- package/src/internal/router.ts +145 -0
- package/src/internal/run-client.ts +320 -0
- package/src/internal/schedule-runner.ts +161 -0
- package/src/internal/sdk-runner.ts +315 -0
- package/src/internal/server.ts +1737 -0
- package/src/internal/session-engine.ts +1810 -0
- package/src/internal/session-store.ts +147 -0
- package/src/internal/session-urls.ts +40 -0
- package/src/internal/stream-progress.ts +254 -0
- package/src/internal/tool-result.ts +54 -0
- package/src/internal/trajectory.ts +306 -0
- package/src/internal/workspace.ts +223 -0
- package/src/reminders.ts +35 -0
- package/src/schedules.ts +37 -0
- package/src/skills.ts +27 -0
- package/src/tools.ts +127 -0
- package/src/types.ts +1848 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rebuild GitHub API + thread handles for inbound hooks and stream events.
|
|
3
|
+
*/
|
|
4
|
+
import type { Octokit } from "@octokit/rest";
|
|
5
|
+
import { type GitHubApiMethod, type GitHubApiOptions, type GitHubApiResponse, type GitHubJsonObject, type GitHubPostedComment, type GitHubReactionContent } from "./api.js";
|
|
6
|
+
import type { GitHubChannelCredentials, GitHubConversationKind, GitHubRepositoryRef } from "./types.js";
|
|
7
|
+
/** Hidden marker on outbound GitHub comments so inbound dispatch ignores them. */
|
|
8
|
+
export declare const GITHUB_OUTBOUND_MARKER = "<!-- agent-serve-github -->";
|
|
9
|
+
export declare function formatGitHubOutboundComment(body: string): string;
|
|
10
|
+
export interface GitHubBindingConfig {
|
|
11
|
+
api?: GitHubApiOptions;
|
|
12
|
+
credentials?: GitHubChannelCredentials;
|
|
13
|
+
}
|
|
14
|
+
/** Serializable fields needed to rebuild handles. */
|
|
15
|
+
export interface GitHubBindingState {
|
|
16
|
+
conversationKind: GitHubConversationKind;
|
|
17
|
+
installationId: number | null;
|
|
18
|
+
issueNumber: number | null;
|
|
19
|
+
owner: string;
|
|
20
|
+
pullRequestNumber: number | null;
|
|
21
|
+
repo: string;
|
|
22
|
+
repositoryId: number | null;
|
|
23
|
+
reviewCommentId: number | null;
|
|
24
|
+
reviewThreadRootCommentId: number | null;
|
|
25
|
+
triggeringCommentId: number | null;
|
|
26
|
+
}
|
|
27
|
+
/** GitHub operations exposed to hooks (`ctx.github`). */
|
|
28
|
+
export interface GitHubHandle {
|
|
29
|
+
installationId: number | undefined;
|
|
30
|
+
repository: GitHubRepositoryRef;
|
|
31
|
+
/**
|
|
32
|
+
* Authenticated `@octokit/rest` client. Prefer typed `octokit.rest.*`
|
|
33
|
+
* methods for new code; keep {@link request} / {@link createStatus} for
|
|
34
|
+
* thin wrappers and host-side tasks.
|
|
35
|
+
*/
|
|
36
|
+
getOctokit(): Promise<Octokit>;
|
|
37
|
+
/**
|
|
38
|
+
* Call an arbitrary GitHub REST path with channel auth (PAT / App /
|
|
39
|
+
* `gh auth token`). Prefer {@link getOctokit} for typed calls.
|
|
40
|
+
*/
|
|
41
|
+
request<T = unknown>(input: {
|
|
42
|
+
body?: GitHubJsonObject;
|
|
43
|
+
method: GitHubApiMethod;
|
|
44
|
+
path: string;
|
|
45
|
+
}): Promise<GitHubApiResponse<T>>;
|
|
46
|
+
/** Create a commit status on `sha`. */
|
|
47
|
+
createStatus(input: {
|
|
48
|
+
sha: string;
|
|
49
|
+
state: "error" | "failure" | "pending" | "success";
|
|
50
|
+
context?: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
targetUrl?: string;
|
|
53
|
+
}): Promise<GitHubApiResponse>;
|
|
54
|
+
}
|
|
55
|
+
/** Thread-scoped operations for the current conversation (`ctx.thread`). */
|
|
56
|
+
export interface GitHubThread {
|
|
57
|
+
kind: GitHubConversationKind;
|
|
58
|
+
/** Post a reply on the issue/PR timeline or review thread. */
|
|
59
|
+
post(message: string): Promise<GitHubPostedComment>;
|
|
60
|
+
/**
|
|
61
|
+
* React to the triggering comment. No-ops when there is no comment to
|
|
62
|
+
* react to (e.g. a PR-opened delivery).
|
|
63
|
+
*/
|
|
64
|
+
react(content: GitHubReactionContent): Promise<void>;
|
|
65
|
+
}
|
|
66
|
+
export declare function buildGitHubBinding(input: {
|
|
67
|
+
config: GitHubBindingConfig;
|
|
68
|
+
state: GitHubBindingState;
|
|
69
|
+
}): {
|
|
70
|
+
github: GitHubHandle;
|
|
71
|
+
thread: GitHubThread;
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../../src/channels/github/binding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAOL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AAEpE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,EAAE,mBAAmB,CAAC;IAChC;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE;QAC1B,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACxB,MAAM,EAAE,eAAe,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,uCAAuC;IACvC,YAAY,CAAC,KAAK,EAAE;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;QACnD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAChC;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,8DAA8D;IAC9D,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpD;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,kBAAkB,CAAC;CAC3B,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAkHjD"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rebuild GitHub API + thread handles for inbound hooks and stream events.
|
|
3
|
+
*/
|
|
4
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
import { callGitHubApi, createGitHubCommitStatus, createGitHubIssueComment, createGitHubOctokit, createGitHubReaction, createGitHubReviewCommentReply, } from "./api.js";
|
|
14
|
+
/** Hidden marker on outbound GitHub comments so inbound dispatch ignores them. */
|
|
15
|
+
export const GITHUB_OUTBOUND_MARKER = "<!-- agent-serve-github -->";
|
|
16
|
+
export function formatGitHubOutboundComment(body) {
|
|
17
|
+
if (body.includes(GITHUB_OUTBOUND_MARKER)) {
|
|
18
|
+
return body;
|
|
19
|
+
}
|
|
20
|
+
return `${body.trimEnd()}\n\n${GITHUB_OUTBOUND_MARKER}`;
|
|
21
|
+
}
|
|
22
|
+
export function buildGitHubBinding(input) {
|
|
23
|
+
var _a;
|
|
24
|
+
const { config, state } = input;
|
|
25
|
+
const repository = Object.assign({ fullName: `${state.owner}/${state.repo}`, url: `https://github.com/${state.owner}/${state.repo}`, owner: state.owner, name: state.repo }, (state.repositoryId === null ? {} : { id: state.repositoryId }));
|
|
26
|
+
const installationId = (_a = state.installationId) !== null && _a !== void 0 ? _a : undefined;
|
|
27
|
+
let octokitPromise;
|
|
28
|
+
const getOctokit = () => {
|
|
29
|
+
octokitPromise !== null && octokitPromise !== void 0 ? octokitPromise : (octokitPromise = createGitHubOctokit({
|
|
30
|
+
api: config.api,
|
|
31
|
+
credentials: config.credentials,
|
|
32
|
+
installationId,
|
|
33
|
+
}));
|
|
34
|
+
return octokitPromise;
|
|
35
|
+
};
|
|
36
|
+
const github = {
|
|
37
|
+
installationId,
|
|
38
|
+
repository,
|
|
39
|
+
getOctokit,
|
|
40
|
+
request(req) {
|
|
41
|
+
return callGitHubApi({
|
|
42
|
+
api: config.api,
|
|
43
|
+
body: req.body,
|
|
44
|
+
credentials: config.credentials,
|
|
45
|
+
installationId,
|
|
46
|
+
method: req.method,
|
|
47
|
+
path: req.path,
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
createStatus(status) {
|
|
51
|
+
return createGitHubCommitStatus(Object.assign(Object.assign(Object.assign({ api: config.api, credentials: config.credentials, installationId, owner: state.owner, repo: state.repo, sha: status.sha, state: status.state }, (status.context === undefined ? {} : { context: status.context })), (status.description === undefined
|
|
52
|
+
? {}
|
|
53
|
+
: { description: status.description })), (status.targetUrl === undefined
|
|
54
|
+
? {}
|
|
55
|
+
: { targetUrl: status.targetUrl })));
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
const thread = {
|
|
59
|
+
kind: state.conversationKind,
|
|
60
|
+
post(message) {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
if (state.conversationKind === "review_thread") {
|
|
63
|
+
return createGitHubReviewCommentReply({
|
|
64
|
+
api: config.api,
|
|
65
|
+
body: message,
|
|
66
|
+
commentId: requiredNumber((_a = state.reviewThreadRootCommentId) !== null && _a !== void 0 ? _a : state.reviewCommentId, "reviewThreadRootCommentId"),
|
|
67
|
+
credentials: config.credentials,
|
|
68
|
+
installationId,
|
|
69
|
+
owner: state.owner,
|
|
70
|
+
pullRequestNumber: requiredNumber(state.pullRequestNumber, "pullRequestNumber"),
|
|
71
|
+
repo: state.repo,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return createGitHubIssueComment({
|
|
75
|
+
api: config.api,
|
|
76
|
+
body: message,
|
|
77
|
+
credentials: config.credentials,
|
|
78
|
+
installationId,
|
|
79
|
+
issueNumber: requiredNumber((_b = state.issueNumber) !== null && _b !== void 0 ? _b : state.pullRequestNumber, "issueNumber"),
|
|
80
|
+
owner: state.owner,
|
|
81
|
+
repo: state.repo,
|
|
82
|
+
});
|
|
83
|
+
},
|
|
84
|
+
react(content) {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
const commentId = state.conversationKind === "review_thread"
|
|
87
|
+
? state.reviewCommentId
|
|
88
|
+
: state.triggeringCommentId;
|
|
89
|
+
if (commentId === null) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
yield createGitHubReaction({
|
|
93
|
+
api: config.api,
|
|
94
|
+
commentId,
|
|
95
|
+
content,
|
|
96
|
+
credentials: config.credentials,
|
|
97
|
+
installationId,
|
|
98
|
+
owner: state.owner,
|
|
99
|
+
repo: state.repo,
|
|
100
|
+
subject: state.conversationKind === "review_thread"
|
|
101
|
+
? "pull_request_review_comment"
|
|
102
|
+
: "issue_comment",
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
return { github, thread };
|
|
108
|
+
}
|
|
109
|
+
function requiredNumber(value, name) {
|
|
110
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
111
|
+
return value;
|
|
112
|
+
}
|
|
113
|
+
throw new Error(`githubChannel: missing ${name}.`);
|
|
114
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default stream-event handlers for the GitHub channel.
|
|
3
|
+
*/
|
|
4
|
+
import type { ChannelEventHandlers } from "../../types.js";
|
|
5
|
+
import type { GitHubBindingConfig } from "./binding.js";
|
|
6
|
+
import type { GitHubChannelState } from "./state.js";
|
|
7
|
+
export interface GitHubProgressConfig {
|
|
8
|
+
/** When false, skip the eyes reaction on turn.started. Defaults to true. */
|
|
9
|
+
reactions?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface BuildDefaultGitHubEventsOptions extends GitHubBindingConfig {
|
|
12
|
+
progress?: GitHubProgressConfig;
|
|
13
|
+
/**
|
|
14
|
+
* When false, skip posting completed assistant messages back to GitHub.
|
|
15
|
+
* Defaults to true.
|
|
16
|
+
*/
|
|
17
|
+
deliverReplies?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Built-in delivery: eyes reaction on turn start, post assistant text on
|
|
21
|
+
* `message.completed`, and a short error comment on turn/session failure.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildDefaultGitHubEvents(options?: BuildDefaultGitHubEventsOptions): ChannelEventHandlers<GitHubChannelState>;
|
|
24
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/channels/github/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,+BAAgC,SAAQ,mBAAmB;IAC1E,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,oBAAoB,CAAC,kBAAkB,CAAC,CAmD1C"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default stream-event handlers for the GitHub channel.
|
|
3
|
+
*/
|
|
4
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
import { buildGitHubBinding, formatGitHubOutboundComment } from "./binding.js";
|
|
14
|
+
/**
|
|
15
|
+
* Built-in delivery: eyes reaction on turn start, post assistant text on
|
|
16
|
+
* `message.completed`, and a short error comment on turn/session failure.
|
|
17
|
+
*/
|
|
18
|
+
export function buildDefaultGitHubEvents(options = {}) {
|
|
19
|
+
const deliverReplies = options.deliverReplies !== false;
|
|
20
|
+
return {
|
|
21
|
+
"turn.started"(_event, channel) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
var _a;
|
|
24
|
+
if (((_a = options.progress) === null || _a === void 0 ? void 0 : _a.reactions) === false) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (channel.state.owner === "" || channel.state.repo === "") {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const { thread } = buildGitHubBinding({
|
|
32
|
+
config: options,
|
|
33
|
+
state: channel.state,
|
|
34
|
+
});
|
|
35
|
+
yield thread.react("eyes");
|
|
36
|
+
}
|
|
37
|
+
catch (_b) {
|
|
38
|
+
// Soft-fail: missing token / no triggering comment is fine.
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
"message.completed"(event, channel) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
if (!deliverReplies) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (event.data.finishReason === "tool_call" || event.data.text === "") {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (channel.state.owner === "" || channel.state.repo === "") {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
const { thread } = buildGitHubBinding({
|
|
55
|
+
config: options,
|
|
56
|
+
state: channel.state,
|
|
57
|
+
});
|
|
58
|
+
yield thread.post(formatGitHubOutboundComment(event.data.text));
|
|
59
|
+
}
|
|
60
|
+
catch (_a) {
|
|
61
|
+
// Soft-fail delivery so a missing token does not crash the session.
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
"turn.failed"(event, channel) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
yield postFailure(channel, options, event.data.message);
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
"session.failed"(event, channel) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
yield postFailure(channel, options, event.data.message);
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function postFailure(channel, options, _error) {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
if (options.deliverReplies === false) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (channel.state.owner === "" || channel.state.repo === "") {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
const { thread } = buildGitHubBinding({
|
|
87
|
+
config: options,
|
|
88
|
+
state: channel.state,
|
|
89
|
+
});
|
|
90
|
+
yield thread.post(formatGitHubOutboundComment([
|
|
91
|
+
"I hit an error while handling your request.",
|
|
92
|
+
"",
|
|
93
|
+
"Please try again, or reach out if it keeps failing.",
|
|
94
|
+
].join("\n")));
|
|
95
|
+
}
|
|
96
|
+
catch (_a) {
|
|
97
|
+
// Soft-fail.
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook event derivation for the GitHub channel.
|
|
3
|
+
*
|
|
4
|
+
* `agent-serve github forward` reads the set of webhook events a channel is
|
|
5
|
+
* wired to dispatch (published as `meta.githubWebhookEvents`) so it can build
|
|
6
|
+
* `gh webhook forward --events=…` without the operator hand-listing them.
|
|
7
|
+
*/
|
|
8
|
+
import type { GitHubChannelOptions } from "./types.js";
|
|
9
|
+
/** {@link ChannelMeta.kind} value used by {@link githubChannel}. */
|
|
10
|
+
export declare const GITHUB_CHANNEL_KIND = "github";
|
|
11
|
+
/**
|
|
12
|
+
* Derive the webhook events a {@link githubChannel} dispatches on from its
|
|
13
|
+
* declared hooks. When {@link GitHubChannelOptions.webhookEvents} is set it is
|
|
14
|
+
* authoritative and returned verbatim (deduped, order preserved) — use it to
|
|
15
|
+
* pin an exact list (e.g. to add events only handled via `onEvent`).
|
|
16
|
+
*/
|
|
17
|
+
export declare function deriveGitHubWebhookEvents(options: GitHubChannelOptions): string[];
|
|
18
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/channels/github/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAkC5C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,oBAAoB,GAC5B,MAAM,EAAE,CAcV"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook event derivation for the GitHub channel.
|
|
3
|
+
*
|
|
4
|
+
* `agent-serve github forward` reads the set of webhook events a channel is
|
|
5
|
+
* wired to dispatch (published as `meta.githubWebhookEvents`) so it can build
|
|
6
|
+
* `gh webhook forward --events=…` without the operator hand-listing them.
|
|
7
|
+
*/
|
|
8
|
+
/** {@link ChannelMeta.kind} value used by {@link githubChannel}. */
|
|
9
|
+
export const GITHUB_CHANNEL_KIND = "github";
|
|
10
|
+
/**
|
|
11
|
+
* Events the channel always parses through its built-in defaults: the
|
|
12
|
+
* `pull_request` gate and the `@mention` comment gates exist even when no
|
|
13
|
+
* hook is declared.
|
|
14
|
+
*/
|
|
15
|
+
const BASE_WEBHOOK_EVENTS = [
|
|
16
|
+
"pull_request",
|
|
17
|
+
"issue_comment",
|
|
18
|
+
"pull_request_review_comment",
|
|
19
|
+
];
|
|
20
|
+
/** Typed opt-in hooks and the webhook event each subscribes to. */
|
|
21
|
+
const OPT_IN_HOOK_EVENTS = [
|
|
22
|
+
{ option: "onIssue", event: "issues" },
|
|
23
|
+
{ option: "onCheckSuite", event: "check_suite" },
|
|
24
|
+
{ option: "onCheckRun", event: "check_run" },
|
|
25
|
+
{ option: "onWorkflowRun", event: "workflow_run" },
|
|
26
|
+
{ option: "onStatus", event: "status" },
|
|
27
|
+
];
|
|
28
|
+
/**
|
|
29
|
+
* Common events that only reach the `onEvent` catch-all (no typed hook). When
|
|
30
|
+
* `onEvent` is declared we forward these too so review activity is delivered.
|
|
31
|
+
*/
|
|
32
|
+
const CATCH_ALL_EVENTS = [
|
|
33
|
+
"pull_request_review",
|
|
34
|
+
"pull_request_review_thread",
|
|
35
|
+
];
|
|
36
|
+
/**
|
|
37
|
+
* Derive the webhook events a {@link githubChannel} dispatches on from its
|
|
38
|
+
* declared hooks. When {@link GitHubChannelOptions.webhookEvents} is set it is
|
|
39
|
+
* authoritative and returned verbatim (deduped, order preserved) — use it to
|
|
40
|
+
* pin an exact list (e.g. to add events only handled via `onEvent`).
|
|
41
|
+
*/
|
|
42
|
+
export function deriveGitHubWebhookEvents(options) {
|
|
43
|
+
if (options.webhookEvents !== undefined) {
|
|
44
|
+
return dedupe(options.webhookEvents);
|
|
45
|
+
}
|
|
46
|
+
const events = [...BASE_WEBHOOK_EVENTS];
|
|
47
|
+
for (const { option, event } of OPT_IN_HOOK_EVENTS) {
|
|
48
|
+
if (options[option] !== undefined) {
|
|
49
|
+
events.push(event);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (options.onEvent !== undefined) {
|
|
53
|
+
events.push(...CATCH_ALL_EVENTS);
|
|
54
|
+
}
|
|
55
|
+
return dedupe(events);
|
|
56
|
+
}
|
|
57
|
+
function dedupe(events) {
|
|
58
|
+
return [...new Set(events.map((event) => event.trim()).filter(Boolean))];
|
|
59
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Planning helpers for `agent-serve github forward` — turning discovered
|
|
3
|
+
* GitHub channels into a `gh webhook forward` invocation.
|
|
4
|
+
*
|
|
5
|
+
* These are pure functions (no process spawning) so they are unit-testable;
|
|
6
|
+
* the CLI in `internal/cli-github.ts` runs `gh` around them.
|
|
7
|
+
*
|
|
8
|
+
* @see https://docs.github.com/en/webhooks/testing-and-troubleshooting-webhooks/using-the-github-cli-to-forward-webhooks-for-testing
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentProject } from "../../types.js";
|
|
11
|
+
/** GitHub CLI extension that provides `gh webhook forward`. */
|
|
12
|
+
export declare const GITHUB_WEBHOOK_EXTENSION = "cli/gh-webhook";
|
|
13
|
+
/**
|
|
14
|
+
* Pinned release for {@link GITHUB_WEBHOOK_EXTENSION}. Passed to
|
|
15
|
+
* `gh extension install --pin` so auto-install does not float to arbitrary tags.
|
|
16
|
+
*
|
|
17
|
+
* @see https://github.com/cli/gh-webhook/releases
|
|
18
|
+
*/
|
|
19
|
+
export declare const GITHUB_WEBHOOK_EXTENSION_PIN = "v0.2.0";
|
|
20
|
+
/** `gh` argv to install the webhook extension at the pinned release. */
|
|
21
|
+
export declare function ghWebhookExtensionInstallArgs(options?: {
|
|
22
|
+
force?: boolean;
|
|
23
|
+
}): string[];
|
|
24
|
+
/** One discovered GitHub webhook channel on a served agent. */
|
|
25
|
+
export interface GitHubChannelTarget {
|
|
26
|
+
/** Agent mount slug (`""` for a single-agent server). */
|
|
27
|
+
slug: string;
|
|
28
|
+
/** Channel id (filename under `agent/channels/`). */
|
|
29
|
+
channelId: string;
|
|
30
|
+
/** Route path under the channel (default `/`). */
|
|
31
|
+
routePath: string;
|
|
32
|
+
/** Webhook events this channel is wired to dispatch on. */
|
|
33
|
+
events: string[];
|
|
34
|
+
}
|
|
35
|
+
/** Minimal mount shape shared by `serve` / `resolveAgentMounts`. */
|
|
36
|
+
export interface AgentMountLike {
|
|
37
|
+
slug: string;
|
|
38
|
+
project: AgentProject;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Collect the GitHub webhook channels across every mounted agent, reading the
|
|
42
|
+
* `meta` a {@link githubChannel} publishes.
|
|
43
|
+
*/
|
|
44
|
+
export declare function findGitHubChannelTargets(mounts: ReadonlyArray<AgentMountLike>): GitHubChannelTarget[];
|
|
45
|
+
/** Absolute forward URL for a channel target on a local server. */
|
|
46
|
+
export declare function channelForwardUrl(input: {
|
|
47
|
+
host: string;
|
|
48
|
+
port: number;
|
|
49
|
+
slug: string;
|
|
50
|
+
channelId: string;
|
|
51
|
+
routePath: string;
|
|
52
|
+
}): string;
|
|
53
|
+
/** A resolved channel to forward deliveries to. */
|
|
54
|
+
export interface GitHubForwardTarget {
|
|
55
|
+
slug: string;
|
|
56
|
+
channelId: string;
|
|
57
|
+
url: string;
|
|
58
|
+
events: string[];
|
|
59
|
+
}
|
|
60
|
+
export interface ResolveGitHubForwardTargetsInput {
|
|
61
|
+
targets: ReadonlyArray<GitHubChannelTarget>;
|
|
62
|
+
/** Restrict to one agent mount. */
|
|
63
|
+
slug?: string;
|
|
64
|
+
/** Restrict to one channel id. */
|
|
65
|
+
channel?: string;
|
|
66
|
+
host: string;
|
|
67
|
+
port: number;
|
|
68
|
+
/**
|
|
69
|
+
* Explicit forward URL. Only valid when the selection resolves to a single
|
|
70
|
+
* channel; skips URL derivation.
|
|
71
|
+
*/
|
|
72
|
+
url?: string;
|
|
73
|
+
/** Explicit event list; overrides every selected channel's declared events. */
|
|
74
|
+
events?: readonly string[];
|
|
75
|
+
}
|
|
76
|
+
export type ResolveGitHubForwardTargetsResult = {
|
|
77
|
+
ok: true;
|
|
78
|
+
targets: GitHubForwardTarget[];
|
|
79
|
+
} | {
|
|
80
|
+
ok: false;
|
|
81
|
+
error: string;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Resolve every channel a forward should feed, honoring `--slug` / `--channel`
|
|
85
|
+
* selection and `--url` / `--events` overrides. Returns one target for a single
|
|
86
|
+
* match (or an explicit `--url`) and many when several channels match — the CLI
|
|
87
|
+
* fans a single `gh webhook forward` out to all of them.
|
|
88
|
+
*/
|
|
89
|
+
export declare function resolveGitHubForwardTargets(input: ResolveGitHubForwardTargetsInput): ResolveGitHubForwardTargetsResult;
|
|
90
|
+
/** Union of the webhook events across every forward target (deduped). */
|
|
91
|
+
export declare function unionForwardEvents(targets: ReadonlyArray<GitHubForwardTarget>): string[];
|
|
92
|
+
export interface GitHubForwardArgsInput {
|
|
93
|
+
url: string;
|
|
94
|
+
events: readonly string[];
|
|
95
|
+
/** `owner/repo`; mutually exclusive with {@link org}. */
|
|
96
|
+
repo?: string;
|
|
97
|
+
/** Organization login for org-level hooks. */
|
|
98
|
+
org?: string;
|
|
99
|
+
/** Webhook signing secret so `X-Hub-Signature-256` verifies. */
|
|
100
|
+
secret?: string;
|
|
101
|
+
/** Extra args appended verbatim (advanced passthrough). */
|
|
102
|
+
extraArgs?: readonly string[];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Build the argv for `gh <argv>` that runs `gh webhook forward` with the
|
|
106
|
+
* planned URL, events, repo/org, and (optional) signing secret.
|
|
107
|
+
*/
|
|
108
|
+
export declare function buildGitHubForwardArgs(input: GitHubForwardArgsInput): string[];
|
|
109
|
+
/** True when `gh extension list` output includes the webhook extension. */
|
|
110
|
+
export declare function parseGhWebhookExtensionInstalled(listOutput: string): boolean;
|
|
111
|
+
/** Version column from `gh extension list` for the webhook extension, if present. */
|
|
112
|
+
export declare function parseGhWebhookExtensionVersion(listOutput: string): string | undefined;
|
|
113
|
+
/** Whether the installed webhook extension matches {@link GITHUB_WEBHOOK_EXTENSION_PIN}. */
|
|
114
|
+
export declare function ghWebhookExtensionPinSatisfied(listOutput: string): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* `gh webhook forward` authenticates its relay session
|
|
117
|
+
* (`webhook-forwarder.github.com`) with the GitHub CLI's *own* OAuth login. A
|
|
118
|
+
* `GITHUB_TOKEN` / `GH_TOKEN` env override is used for REST calls (so hook
|
|
119
|
+
* creation succeeds) but is rejected by the relay — every delivery then fails
|
|
120
|
+
* with HTTP 401. Detect such an override so the CLI can warn.
|
|
121
|
+
*
|
|
122
|
+
* Returns the offending env var name, or undefined when none is set.
|
|
123
|
+
*/
|
|
124
|
+
export declare function detectGitHubEnvTokenOverride(env?: Record<string, string | undefined>): string | undefined;
|
|
125
|
+
/** Guidance shown when {@link detectGitHubEnvTokenOverride} finds an override. */
|
|
126
|
+
export declare function githubEnvTokenHint(varName: string): string;
|
|
127
|
+
/**
|
|
128
|
+
* Extract `owner/repo` from a git remote URL (https, `git@`, or `ssh://`).
|
|
129
|
+
* Returns undefined for unrecognized shapes.
|
|
130
|
+
*/
|
|
131
|
+
export declare function parseRepoFromRemoteUrl(remote: string): string | undefined;
|
|
132
|
+
/** `slug/channelId`, or just `channelId` for a single-agent (unslugged) mount. */
|
|
133
|
+
export declare function targetLabel(target: {
|
|
134
|
+
slug: string;
|
|
135
|
+
channelId: string;
|
|
136
|
+
}): string;
|
|
137
|
+
//# sourceMappingURL=forward.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forward.d.ts","sourceRoot":"","sources":["../../../src/channels/github/forward.ts"],"names":[],"mappings":"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"}
|