@generacy-ai/orchestrator 0.8.0 → 0.10.0
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/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +15 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +30 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +13 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/routes/health.d.ts +7 -0
- package/dist/routes/health.d.ts.map +1 -1
- package/dist/routes/health.js +5 -0
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/internal-relay-events.d.ts +2 -2
- package/dist/routes/internal-relay-events.d.ts.map +1 -1
- package/dist/routes/internal-relay-events.js +12 -0
- package/dist/routes/internal-relay-events.js.map +1 -1
- package/dist/routes/retained-tunnel-event.d.ts +20 -0
- package/dist/routes/retained-tunnel-event.d.ts.map +1 -0
- package/dist/routes/retained-tunnel-event.js +67 -0
- package/dist/routes/retained-tunnel-event.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +197 -34
- package/dist/server.js.map +1 -1
- package/dist/services/adaptive-poll-controller.d.ts +75 -0
- package/dist/services/adaptive-poll-controller.d.ts.map +1 -0
- package/dist/services/adaptive-poll-controller.js +96 -0
- package/dist/services/adaptive-poll-controller.js.map +1 -0
- package/dist/services/clarification-answer-monitor-service.d.ts +93 -0
- package/dist/services/clarification-answer-monitor-service.d.ts.map +1 -0
- package/dist/services/clarification-answer-monitor-service.js +452 -0
- package/dist/services/clarification-answer-monitor-service.js.map +1 -0
- package/dist/services/failure-fingerprint-tracker.d.ts +28 -0
- package/dist/services/failure-fingerprint-tracker.d.ts.map +1 -0
- package/dist/services/failure-fingerprint-tracker.js +38 -0
- package/dist/services/failure-fingerprint-tracker.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/label-monitor-service.d.ts +21 -2
- package/dist/services/label-monitor-service.d.ts.map +1 -1
- package/dist/services/label-monitor-service.js +47 -16
- package/dist/services/label-monitor-service.js.map +1 -1
- package/dist/services/merge-conflict-monitor-service.d.ts +14 -1
- package/dist/services/merge-conflict-monitor-service.d.ts.map +1 -1
- package/dist/services/merge-conflict-monitor-service.js +46 -13
- package/dist/services/merge-conflict-monitor-service.js.map +1 -1
- package/dist/services/pr-feedback-monitor-service.d.ts +14 -1
- package/dist/services/pr-feedback-monitor-service.d.ts.map +1 -1
- package/dist/services/pr-feedback-monitor-service.js +46 -16
- package/dist/services/pr-feedback-monitor-service.js.map +1 -1
- package/dist/services/relay-bridge.d.ts +1 -0
- package/dist/services/relay-bridge.d.ts.map +1 -1
- package/dist/services/relay-bridge.js +21 -0
- package/dist/services/relay-bridge.js.map +1 -1
- package/dist/services/smee-channel-resolver.d.ts +60 -0
- package/dist/services/smee-channel-resolver.d.ts.map +1 -0
- package/dist/services/smee-channel-resolver.js +177 -0
- package/dist/services/smee-channel-resolver.js.map +1 -0
- package/dist/services/smee-receiver.d.ts +39 -21
- package/dist/services/smee-receiver.d.ts.map +1 -1
- package/dist/services/smee-receiver.js +134 -28
- package/dist/services/smee-receiver.js.map +1 -1
- package/dist/services/webhook-setup-service.d.ts +115 -111
- package/dist/services/webhook-setup-service.d.ts.map +1 -1
- package/dist/services/webhook-setup-service.js +377 -209
- package/dist/services/webhook-setup-service.js.map +1 -1
- package/dist/types/api.d.ts +3 -0
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/api.js +1 -0
- package/dist/types/api.js.map +1 -1
- package/dist/types/monitor.d.ts +18 -2
- package/dist/types/monitor.d.ts.map +1 -1
- package/dist/worker/clarification-markers.d.ts +72 -0
- package/dist/worker/clarification-markers.d.ts.map +1 -1
- package/dist/worker/clarification-markers.js +111 -0
- package/dist/worker/clarification-markers.js.map +1 -1
- package/dist/worker/clarification-poster.d.ts +102 -6
- package/dist/worker/clarification-poster.d.ts.map +1 -1
- package/dist/worker/clarification-poster.js +299 -89
- package/dist/worker/clarification-poster.js.map +1 -1
- package/dist/worker/claude-cli-worker.d.ts +7 -0
- package/dist/worker/claude-cli-worker.d.ts.map +1 -1
- package/dist/worker/claude-cli-worker.js +3 -0
- package/dist/worker/claude-cli-worker.js.map +1 -1
- package/dist/worker/failure-fingerprint.d.ts +41 -0
- package/dist/worker/failure-fingerprint.d.ts.map +1 -0
- package/dist/worker/failure-fingerprint.js +75 -0
- package/dist/worker/failure-fingerprint.js.map +1 -0
- package/dist/worker/label-manager.d.ts +42 -0
- package/dist/worker/label-manager.d.ts.map +1 -1
- package/dist/worker/label-manager.js +108 -4
- package/dist/worker/label-manager.js.map +1 -1
- package/dist/worker/phase-loop.d.ts +30 -0
- package/dist/worker/phase-loop.d.ts.map +1 -1
- package/dist/worker/phase-loop.js +124 -26
- package/dist/worker/phase-loop.js.map +1 -1
- package/dist/worker/pr-feedback-handler.d.ts +13 -0
- package/dist/worker/pr-feedback-handler.d.ts.map +1 -1
- package/dist/worker/pr-feedback-handler.js +48 -0
- package/dist/worker/pr-feedback-handler.js.map +1 -1
- package/dist/worker/stage-comment-manager.d.ts +5 -0
- package/dist/worker/stage-comment-manager.d.ts.map +1 -1
- package/dist/worker/stage-comment-manager.js +8 -1
- package/dist/worker/stage-comment-manager.js.map +1 -1
- package/dist/worker/terminal-label-op-error.d.ts +1 -1
- package/dist/worker/terminal-label-op-error.d.ts.map +1 -1
- package/dist/worker/terminal-label-op-error.js.map +1 -1
- package/dist/worker/types.d.ts +31 -0
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/types.js +11 -0
- package/dist/worker/types.js.map +1 -1
- package/package.json +7 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smee-channel-resolver.js","sourceRoot":"","sources":["../../src/services/smee-channel-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Smee.io webhook receiver for GitHub events.
|
|
3
|
-
*
|
|
4
|
-
* Connects to a smee.io channel URL via Server-Sent Events (SSE) using
|
|
5
|
-
* the native fetch API. Receives GitHub webhook payloads forwarded by
|
|
6
|
-
* smee.io and feeds them into the LabelMonitorService for processing.
|
|
7
|
-
*
|
|
8
|
-
* This eliminates the need for polling when a smee channel is configured,
|
|
9
|
-
* providing near-instant label event detection with zero GitHub API calls.
|
|
10
|
-
*/
|
|
11
1
|
import type { LabelMonitorService } from './label-monitor-service.js';
|
|
2
|
+
import type { PrFeedbackMonitorService } from './pr-feedback-monitor-service.js';
|
|
3
|
+
import type { MergeConflictMonitorService } from './merge-conflict-monitor-service.js';
|
|
4
|
+
import type { ClarificationAnswerMonitorService } from './clarification-answer-monitor-service.js';
|
|
12
5
|
interface Logger {
|
|
13
6
|
info(msg: string): void;
|
|
14
7
|
info(obj: Record<string, unknown>, msg: string): void;
|
|
@@ -31,6 +24,23 @@ export interface SmeeReceiverOptions {
|
|
|
31
24
|
* @default 5000
|
|
32
25
|
*/
|
|
33
26
|
baseReconnectDelayMs?: number;
|
|
27
|
+
/**
|
|
28
|
+
* #987: called exactly once, after the first successful SSE connect
|
|
29
|
+
* (immediately after the `Connected to smee.io channel` log line).
|
|
30
|
+
* Subsequent reconnects do NOT re-invoke. Callers use this to flip
|
|
31
|
+
* `webhooksConfigured=true` on the constructed monitors.
|
|
32
|
+
*/
|
|
33
|
+
onConnected?: () => void;
|
|
34
|
+
/**
|
|
35
|
+
* #987 FR-004: sibling monitor refs for broad `recordWebhookEvent()`
|
|
36
|
+
* fan-out. On every inbound event whose repo matches `watchedRepos`,
|
|
37
|
+
* the receiver calls `recordWebhookEvent()` on each provided monitor.
|
|
38
|
+
* Per-event processing dispatch fires only where the receiver has a
|
|
39
|
+
* natural entry point (see contracts/smee-receiver-contract.md).
|
|
40
|
+
*/
|
|
41
|
+
prFeedbackMonitor?: PrFeedbackMonitorService;
|
|
42
|
+
mergeConflictMonitor?: MergeConflictMonitorService;
|
|
43
|
+
clarificationAnswerMonitor?: ClarificationAnswerMonitorService;
|
|
34
44
|
}
|
|
35
45
|
/**
|
|
36
46
|
* Receives GitHub webhook events from a smee.io channel via SSE.
|
|
@@ -40,14 +50,18 @@ export declare class SmeeWebhookReceiver {
|
|
|
40
50
|
private readonly logger;
|
|
41
51
|
private readonly monitorService;
|
|
42
52
|
private static readonly BASE_RECONNECT_DELAY_MS;
|
|
43
|
-
private static readonly MAX_BACKOFF_MS;
|
|
44
53
|
private readonly channelUrl;
|
|
45
54
|
private readonly watchedRepos;
|
|
46
55
|
private readonly clusterGithubUsername;
|
|
47
56
|
private readonly baseReconnectDelayMs;
|
|
57
|
+
private readonly onConnected;
|
|
58
|
+
private readonly prFeedbackMonitor;
|
|
59
|
+
private readonly mergeConflictMonitor;
|
|
60
|
+
private readonly clarificationAnswerMonitor;
|
|
48
61
|
private abortController;
|
|
49
62
|
private running;
|
|
50
63
|
private reconnectAttempt;
|
|
64
|
+
private connectedOnceFired;
|
|
51
65
|
constructor(logger: Logger, monitorService: LabelMonitorService, options: SmeeReceiverOptions);
|
|
52
66
|
/**
|
|
53
67
|
* Start listening to the smee.io channel.
|
|
@@ -71,19 +85,23 @@ export declare class SmeeWebhookReceiver {
|
|
|
71
85
|
*/
|
|
72
86
|
private processSSEEvent;
|
|
73
87
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
88
|
+
* Handle `issues.labeled` — existing label-monitor path. `recordWebhookEvent`
|
|
89
|
+
* has already been fired by the caller's fan-out.
|
|
76
90
|
*/
|
|
77
|
-
private
|
|
91
|
+
private dispatchIssueLabeled;
|
|
78
92
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* @param attempt - The current reconnection attempt number (0-indexed)
|
|
84
|
-
* @returns Delay in milliseconds before next reconnection attempt
|
|
93
|
+
* Handle `pull_request_review.submitted` / `pull_request_review_comment.created`
|
|
94
|
+
* — dispatch to the PR-feedback monitor. Assignee filter is NOT applied here;
|
|
95
|
+
* `PrFeedbackMonitorService.processPrReviewEvent` performs its own PR-link +
|
|
96
|
+
* assignee resolution.
|
|
85
97
|
*/
|
|
86
|
-
private
|
|
98
|
+
private dispatchPrReviewLike;
|
|
99
|
+
/**
|
|
100
|
+
* Handle `issue_comment.created` — dispatch to the clarification-answer
|
|
101
|
+
* monitor after the assignee filter (mirrors the label-event pattern).
|
|
102
|
+
*/
|
|
103
|
+
private dispatchIssueCommentCreated;
|
|
104
|
+
private get reconnectDelayMs();
|
|
87
105
|
private sleep;
|
|
88
106
|
}
|
|
89
107
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smee-receiver.d.ts","sourceRoot":"","sources":["../../src/services/smee-receiver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"smee-receiver.d.ts","sourceRoot":"","sources":["../../src/services/smee-receiver.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,KAAK,EAEV,iCAAiC,EAClC,MAAM,2CAA2C,CAAC;AAInD,UAAU,MAAM;IACd,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;IACnD,0BAA0B,CAAC,EAAE,iCAAiC,CAAC;CAChE;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAiB5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAjBjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAEvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqB;IAC3D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0C;IAC/E,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAgD;IAC3F,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,kBAAkB,CAAS;gBAGhB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,mBAAmB,EACpD,OAAO,EAAE,mBAAmB;IAY9B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4C5B;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;YACW,OAAO;IA2DrB;;;;;;OAMG;YACW,eAAe;IA0E7B;;;OAGG;YACW,oBAAoB;IA8ElC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAmC5B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAkDnC,OAAO,KAAK,gBAAgB,GAK3B;IAED,OAAO,CAAC,KAAK;CAcd"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smee.io webhook receiver for GitHub events.
|
|
3
|
+
*
|
|
4
|
+
* Connects to a smee.io channel URL via Server-Sent Events (SSE) using
|
|
5
|
+
* the native fetch API. Receives GitHub webhook payloads forwarded by
|
|
6
|
+
* smee.io and feeds them into the LabelMonitorService for processing.
|
|
7
|
+
*
|
|
8
|
+
* This eliminates the need for polling when a smee channel is configured,
|
|
9
|
+
* providing near-instant label event detection with zero GitHub API calls.
|
|
10
|
+
*/
|
|
11
|
+
import { calculateBackoffDelay } from '@generacy-ai/smee-backoff';
|
|
1
12
|
/**
|
|
2
13
|
* Receives GitHub webhook events from a smee.io channel via SSE.
|
|
3
14
|
* Feeds label events directly into the LabelMonitorService.
|
|
@@ -6,14 +17,18 @@ export class SmeeWebhookReceiver {
|
|
|
6
17
|
logger;
|
|
7
18
|
monitorService;
|
|
8
19
|
static BASE_RECONNECT_DELAY_MS = 5000;
|
|
9
|
-
static MAX_BACKOFF_MS = 300000; // 5 minutes
|
|
10
20
|
channelUrl;
|
|
11
21
|
watchedRepos;
|
|
12
22
|
clusterGithubUsername;
|
|
13
23
|
baseReconnectDelayMs;
|
|
24
|
+
onConnected;
|
|
25
|
+
prFeedbackMonitor;
|
|
26
|
+
mergeConflictMonitor;
|
|
27
|
+
clarificationAnswerMonitor;
|
|
14
28
|
abortController = null;
|
|
15
29
|
running = false;
|
|
16
30
|
reconnectAttempt = 0;
|
|
31
|
+
connectedOnceFired = false;
|
|
17
32
|
constructor(logger, monitorService, options) {
|
|
18
33
|
this.logger = logger;
|
|
19
34
|
this.monitorService = monitorService;
|
|
@@ -21,6 +36,10 @@ export class SmeeWebhookReceiver {
|
|
|
21
36
|
this.watchedRepos = options.watchedRepos;
|
|
22
37
|
this.clusterGithubUsername = options.clusterGithubUsername;
|
|
23
38
|
this.baseReconnectDelayMs = options.baseReconnectDelayMs ?? SmeeWebhookReceiver.BASE_RECONNECT_DELAY_MS;
|
|
39
|
+
this.onConnected = options.onConnected;
|
|
40
|
+
this.prFeedbackMonitor = options.prFeedbackMonitor;
|
|
41
|
+
this.mergeConflictMonitor = options.mergeConflictMonitor;
|
|
42
|
+
this.clarificationAnswerMonitor = options.clarificationAnswerMonitor;
|
|
24
43
|
}
|
|
25
44
|
/**
|
|
26
45
|
* Start listening to the smee.io channel.
|
|
@@ -85,6 +104,20 @@ export class SmeeWebhookReceiver {
|
|
|
85
104
|
throw new Error('Smee response has no body');
|
|
86
105
|
}
|
|
87
106
|
this.logger.info('Connected to smee.io channel');
|
|
107
|
+
// #987: fire the `onConnected` callback exactly once per receiver instance.
|
|
108
|
+
// Subsequent reconnects do NOT re-invoke — the setter is idempotent, but
|
|
109
|
+
// firing once is semantically clearer.
|
|
110
|
+
if (!this.connectedOnceFired) {
|
|
111
|
+
this.connectedOnceFired = true;
|
|
112
|
+
if (this.onConnected) {
|
|
113
|
+
try {
|
|
114
|
+
this.onConnected();
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
this.logger.warn({ err: String(error) }, 'onConnected callback threw; continuing');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
88
121
|
const reader = response.body.getReader();
|
|
89
122
|
const decoder = new TextDecoder();
|
|
90
123
|
let buffer = '';
|
|
@@ -145,19 +178,48 @@ export class SmeeWebhookReceiver {
|
|
|
145
178
|
// Smee wraps the webhook payload in a 'body' field
|
|
146
179
|
const githubEvent = data['x-github-event'];
|
|
147
180
|
const body = data['body'];
|
|
148
|
-
if (!body
|
|
149
|
-
return; // Only interested in issue events
|
|
150
|
-
}
|
|
151
|
-
const payload = body;
|
|
152
|
-
// Only handle "labeled" action
|
|
153
|
-
if (payload.action !== 'labeled')
|
|
181
|
+
if (!body)
|
|
154
182
|
return;
|
|
155
|
-
//
|
|
156
|
-
|
|
183
|
+
// Extract repository once — every supported webhook family carries this
|
|
184
|
+
// block. Missing/malformed → drop before any monitor call.
|
|
185
|
+
const repository = body['repository'];
|
|
186
|
+
if (!repository?.owner?.login || !repository.name)
|
|
157
187
|
return;
|
|
158
|
-
const
|
|
188
|
+
const owner = repository.owner.login;
|
|
189
|
+
const repo = repository.name;
|
|
190
|
+
const repoKey = `${owner}/${repo}`;
|
|
159
191
|
if (!this.watchedRepos.has(repoKey))
|
|
160
192
|
return;
|
|
193
|
+
// #987 FR-004: broad `recordWebhookEvent()` fan-out. Fires before any
|
|
194
|
+
// per-event processing dispatch so a processing error doesn't disable
|
|
195
|
+
// adaptive-poll health tracking. Unconditional on `x-github-event` type —
|
|
196
|
+
// the staleness safety net only needs `lastWebhookEvent` to be non-null.
|
|
197
|
+
this.monitorService.recordWebhookEvent();
|
|
198
|
+
this.prFeedbackMonitor?.recordWebhookEvent();
|
|
199
|
+
this.mergeConflictMonitor?.recordWebhookEvent();
|
|
200
|
+
this.clarificationAnswerMonitor?.recordWebhookEvent();
|
|
201
|
+
const action = body['action'];
|
|
202
|
+
// Per-event processing dispatch.
|
|
203
|
+
if (githubEvent === 'issues' && action === 'labeled') {
|
|
204
|
+
await this.dispatchIssueLabeled(body, repoKey);
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
if ((githubEvent === 'pull_request_review' && action === 'submitted')
|
|
208
|
+
|| (githubEvent === 'pull_request_review_comment' && action === 'created')) {
|
|
209
|
+
this.dispatchPrReviewLike(body, owner, repo, repoKey, githubEvent);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
if (githubEvent === 'issue_comment' && action === 'created') {
|
|
213
|
+
this.dispatchIssueCommentCreated(body, owner, repo, repoKey);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
// Any other event type: fan-out already fired above, no per-event dispatch.
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Handle `issues.labeled` — existing label-monitor path. `recordWebhookEvent`
|
|
220
|
+
* has already been fired by the caller's fan-out.
|
|
221
|
+
*/
|
|
222
|
+
async dispatchIssueLabeled(payload, repoKey) {
|
|
161
223
|
// Assignee filtering: only process issues assigned to this cluster
|
|
162
224
|
if (this.clusterGithubUsername) {
|
|
163
225
|
const assigneeLogins = (payload.issue?.assignees ?? []).map(a => a.login);
|
|
@@ -170,7 +232,6 @@ export class SmeeWebhookReceiver {
|
|
|
170
232
|
return;
|
|
171
233
|
}
|
|
172
234
|
}
|
|
173
|
-
// Parse and process the label event
|
|
174
235
|
const issueLabels = payload.issue?.labels?.map(l => l.name) ?? [];
|
|
175
236
|
const event = this.monitorService.parseLabelEvent(payload.label.name, payload.repository.owner.login, payload.repository.name, payload.issue.number, issueLabels, 'webhook');
|
|
176
237
|
if (!event) {
|
|
@@ -178,7 +239,6 @@ export class SmeeWebhookReceiver {
|
|
|
178
239
|
// in the webhook payload, re-fetch from GitHub to handle stale payloads.
|
|
179
240
|
if (payload.label.name.startsWith('completed:')) {
|
|
180
241
|
this.logger.info({ label: payload.label.name, repo: repoKey, issue: payload.issue.number }, 'Webhook completed:* label has no matching waiting-for:* in payload, attempting re-fetch');
|
|
181
|
-
this.monitorService.recordWebhookEvent();
|
|
182
242
|
try {
|
|
183
243
|
await this.monitorService.verifyAndProcessCompletedLabel(payload.repository.owner.login, payload.repository.name, payload.issue.number, payload.label.name);
|
|
184
244
|
}
|
|
@@ -194,9 +254,6 @@ export class SmeeWebhookReceiver {
|
|
|
194
254
|
issue: event.issueNumber,
|
|
195
255
|
label: event.labelName,
|
|
196
256
|
}, 'Smee webhook received label event');
|
|
197
|
-
// Record webhook event for adaptive polling health tracking
|
|
198
|
-
this.monitorService.recordWebhookEvent();
|
|
199
|
-
// Process the event
|
|
200
257
|
try {
|
|
201
258
|
await this.monitorService.processLabelEvent(event);
|
|
202
259
|
}
|
|
@@ -205,23 +262,72 @@ export class SmeeWebhookReceiver {
|
|
|
205
262
|
}
|
|
206
263
|
}
|
|
207
264
|
/**
|
|
208
|
-
*
|
|
209
|
-
*
|
|
265
|
+
* Handle `pull_request_review.submitted` / `pull_request_review_comment.created`
|
|
266
|
+
* — dispatch to the PR-feedback monitor. Assignee filter is NOT applied here;
|
|
267
|
+
* `PrFeedbackMonitorService.processPrReviewEvent` performs its own PR-link +
|
|
268
|
+
* assignee resolution.
|
|
210
269
|
*/
|
|
211
|
-
|
|
212
|
-
|
|
270
|
+
dispatchPrReviewLike(body, owner, repo, repoKey, githubEvent) {
|
|
271
|
+
const monitor = this.prFeedbackMonitor;
|
|
272
|
+
if (!monitor)
|
|
273
|
+
return;
|
|
274
|
+
const pr = body['pull_request'];
|
|
275
|
+
if (!pr?.number || !pr.head?.ref) {
|
|
276
|
+
this.logger.warn({ repo: repoKey, githubEvent }, 'Smee: skipping PR-review event without pull_request.number / head.ref');
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
const event = {
|
|
280
|
+
owner,
|
|
281
|
+
repo,
|
|
282
|
+
prNumber: pr.number,
|
|
283
|
+
prBody: pr.body ?? '',
|
|
284
|
+
branchName: pr.head.ref,
|
|
285
|
+
source: 'webhook',
|
|
286
|
+
};
|
|
287
|
+
monitor.processPrReviewEvent(event).catch((error) => {
|
|
288
|
+
this.logger.error({ err: String(error), repo: repoKey, pr: pr.number, githubEvent }, 'Error processing smee PR-review event');
|
|
289
|
+
});
|
|
213
290
|
}
|
|
214
291
|
/**
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
* Progression: 5s → 10s → 20s → 40s → 80s → 160s → 300s (capped).
|
|
218
|
-
*
|
|
219
|
-
* @param attempt - The current reconnection attempt number (0-indexed)
|
|
220
|
-
* @returns Delay in milliseconds before next reconnection attempt
|
|
292
|
+
* Handle `issue_comment.created` — dispatch to the clarification-answer
|
|
293
|
+
* monitor after the assignee filter (mirrors the label-event pattern).
|
|
221
294
|
*/
|
|
222
|
-
|
|
223
|
-
const
|
|
224
|
-
|
|
295
|
+
dispatchIssueCommentCreated(body, owner, repo, repoKey) {
|
|
296
|
+
const monitor = this.clarificationAnswerMonitor;
|
|
297
|
+
if (!monitor)
|
|
298
|
+
return;
|
|
299
|
+
const issue = body['issue'];
|
|
300
|
+
if (!issue?.number)
|
|
301
|
+
return;
|
|
302
|
+
const assignees = issue.assignees ?? [];
|
|
303
|
+
if (this.clusterGithubUsername) {
|
|
304
|
+
const assigneeLogins = assignees.map(a => a.login);
|
|
305
|
+
if (assigneeLogins.length === 0) {
|
|
306
|
+
this.logger.warn({ issue: issue.number, repo: repoKey }, 'Smee: skipping issue_comment event on issue with no assignees');
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
if (!assigneeLogins.includes(this.clusterGithubUsername)) {
|
|
310
|
+
this.logger.info({ issue: issue.number, repo: repoKey, assignees: assigneeLogins }, 'Smee: skipping issue_comment event on issue not assigned to this cluster');
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
const issueLabels = (issue.labels ?? []).map(l => l.name);
|
|
315
|
+
const event = {
|
|
316
|
+
owner,
|
|
317
|
+
repo,
|
|
318
|
+
issueNumber: issue.number,
|
|
319
|
+
issueLabels,
|
|
320
|
+
source: 'poll',
|
|
321
|
+
};
|
|
322
|
+
monitor.processClarificationAnswerEvent(event).catch((error) => {
|
|
323
|
+
this.logger.error({ err: String(error), repo: repoKey, issue: issue.number }, 'Error processing smee issue_comment event');
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
get reconnectDelayMs() {
|
|
327
|
+
return calculateBackoffDelay(this.reconnectAttempt, {
|
|
328
|
+
base: this.baseReconnectDelayMs,
|
|
329
|
+
cap: 30_000,
|
|
330
|
+
});
|
|
225
331
|
}
|
|
226
332
|
sleep(ms, signal) {
|
|
227
333
|
return new Promise((resolve) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smee-receiver.js","sourceRoot":"","sources":["../../src/services/smee-receiver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smee-receiver.js","sourceRoot":"","sources":["../../src/services/smee-receiver.ts"],"names":[],"mappings":"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"}
|