@mastra/github-signals 0.2.3 → 0.2.5-alpha.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/CHANGELOG.md +18 -0
- package/dist/index.cjs +73 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +73 -24
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,9 @@ export type GithubPRSubscription = {
|
|
|
28
28
|
lastObservedMergeableState?: string;
|
|
29
29
|
lastObservedCiState?: string;
|
|
30
30
|
lastObservedReviewStateHash?: string;
|
|
31
|
+
lastObservedCommentUrl?: string;
|
|
32
|
+
lastObservedCommentAuthor?: string;
|
|
33
|
+
lastObservedCommentIsBot?: boolean;
|
|
31
34
|
lastNotificationAt?: string;
|
|
32
35
|
lastNotificationKind?: string;
|
|
33
36
|
lastNotificationPriority?: 'medium' | 'high';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -111,6 +111,9 @@ function getGithubMetadata(threadMetadata) {
|
|
|
111
111
|
...readString(rawSubscription.lastObservedMergeableState) ? { lastObservedMergeableState: readString(rawSubscription.lastObservedMergeableState) } : {},
|
|
112
112
|
...readString(rawSubscription.lastObservedCiState) ? { lastObservedCiState: readString(rawSubscription.lastObservedCiState) } : {},
|
|
113
113
|
...readString(rawSubscription.lastObservedReviewStateHash) ? { lastObservedReviewStateHash: readString(rawSubscription.lastObservedReviewStateHash) } : {},
|
|
114
|
+
...readString(rawSubscription.lastObservedCommentUrl) ? { lastObservedCommentUrl: readString(rawSubscription.lastObservedCommentUrl) } : {},
|
|
115
|
+
...readString(rawSubscription.lastObservedCommentAuthor) ? { lastObservedCommentAuthor: readString(rawSubscription.lastObservedCommentAuthor) } : {},
|
|
116
|
+
...typeof rawSubscription.lastObservedCommentIsBot === "boolean" ? { lastObservedCommentIsBot: rawSubscription.lastObservedCommentIsBot } : {},
|
|
114
117
|
...readString(rawSubscription.lastNotificationAt) ? { lastNotificationAt: readString(rawSubscription.lastNotificationAt) } : {},
|
|
115
118
|
...readString(rawSubscription.lastNotificationKind) ? { lastNotificationKind: readString(rawSubscription.lastNotificationKind) } : {},
|
|
116
119
|
...rawSubscription.lastNotificationPriority === "medium" || rawSubscription.lastNotificationPriority === "high" ? { lastNotificationPriority: rawSubscription.lastNotificationPriority } : {},
|
|
@@ -293,6 +296,16 @@ function normalizeGithubChecksForSnapshot(input) {
|
|
|
293
296
|
function isBotOnlyActivity(snapshot) {
|
|
294
297
|
return snapshot.latestCommentIsBot === true && (!snapshot.ciState || snapshot.ciState === "unknown");
|
|
295
298
|
}
|
|
299
|
+
function isKnownMergeableState(state) {
|
|
300
|
+
return !!state && state.toLowerCase() !== "unknown";
|
|
301
|
+
}
|
|
302
|
+
function hasMeaningfulMergeableStateChange(previous, current) {
|
|
303
|
+
if (!isKnownMergeableState(current) || current === previous) return false;
|
|
304
|
+
return current === "dirty" || previous === "dirty" || isKnownMergeableState(previous);
|
|
305
|
+
}
|
|
306
|
+
function isExistingBotCommentEdit(subscription, snapshot) {
|
|
307
|
+
return snapshot.latestCommentIsBot === true && subscription.lastObservedCommentIsBot === true && !!snapshot.latestCommentUrl && snapshot.latestCommentUrl === subscription.lastObservedCommentUrl && !!snapshot.latestCommentAuthor && snapshot.latestCommentAuthor === subscription.lastObservedCommentAuthor;
|
|
308
|
+
}
|
|
296
309
|
function stringifyEvidence(value) {
|
|
297
310
|
if (typeof value === "string") return value;
|
|
298
311
|
try {
|
|
@@ -354,7 +367,7 @@ function classifyGithubActivityNotification(input) {
|
|
|
354
367
|
priority: "high",
|
|
355
368
|
summary: `${pr} has merge conflicts${input.snapshot.title ? `: ${input.snapshot.title}` : ""}`
|
|
356
369
|
};
|
|
357
|
-
if (input.snapshot.mergeableState && input.subscription.lastObservedMergeableState === "dirty" && input.snapshot.mergeableState !== "dirty") return {
|
|
370
|
+
if (isKnownMergeableState(input.snapshot.mergeableState) && input.subscription.lastObservedMergeableState === "dirty" && input.snapshot.mergeableState !== "dirty") return {
|
|
358
371
|
kind: "pull-request-conflict-resolved",
|
|
359
372
|
priority: "medium",
|
|
360
373
|
summary: `${pr} merge conflicts were resolved`
|
|
@@ -412,9 +425,12 @@ function applySnapshotCursor(subscription, snapshot) {
|
|
|
412
425
|
if (snapshot.threadContentHash) subscription.lastObservedThreadContentHash = snapshot.threadContentHash;
|
|
413
426
|
if (snapshot.headSha) subscription.lastObservedHeadSha = snapshot.headSha;
|
|
414
427
|
if (snapshot.state) subscription.lastObservedState = snapshot.state;
|
|
415
|
-
if (snapshot.mergeableState) subscription.lastObservedMergeableState = snapshot.mergeableState;
|
|
428
|
+
if (isKnownMergeableState(snapshot.mergeableState)) subscription.lastObservedMergeableState = snapshot.mergeableState;
|
|
416
429
|
if (snapshot.ciState) subscription.lastObservedCiState = snapshot.ciState;
|
|
417
430
|
if (snapshot.reviewStateHash) subscription.lastObservedReviewStateHash = snapshot.reviewStateHash;
|
|
431
|
+
if (snapshot.latestCommentUrl) subscription.lastObservedCommentUrl = snapshot.latestCommentUrl;
|
|
432
|
+
if (snapshot.latestCommentAuthor) subscription.lastObservedCommentAuthor = snapshot.latestCommentAuthor;
|
|
433
|
+
if (snapshot.latestCommentIsBot !== void 0) subscription.lastObservedCommentIsBot = snapshot.latestCommentIsBot;
|
|
418
434
|
}
|
|
419
435
|
function parseGitHubRemoteUrl(remoteUrl) {
|
|
420
436
|
const trimmed = remoteUrl.trim().replace(/\.git$/, "");
|
|
@@ -700,6 +716,8 @@ var GithubSignals = class extends SignalProvider {
|
|
|
700
716
|
#syncClient;
|
|
701
717
|
#repositoryResolver;
|
|
702
718
|
#polling = /* @__PURE__ */ new Map();
|
|
719
|
+
#pollingThreadGenerations = /* @__PURE__ */ new Map();
|
|
720
|
+
#pollingGeneration = 0;
|
|
703
721
|
#permissionCache = /* @__PURE__ */ new Map();
|
|
704
722
|
#agent;
|
|
705
723
|
#agentOptions = {};
|
|
@@ -773,6 +791,7 @@ var GithubSignals = class extends SignalProvider {
|
|
|
773
791
|
const key = this.#pollingKey(input);
|
|
774
792
|
for (const [pollingKey, state] of this.#polling.entries()) {
|
|
775
793
|
if (pollingKey === key) continue;
|
|
794
|
+
this.#invalidatePollingThread(pollingKey);
|
|
776
795
|
clearInterval(state.timer);
|
|
777
796
|
this.#polling.delete(pollingKey);
|
|
778
797
|
}
|
|
@@ -796,6 +815,7 @@ var GithubSignals = class extends SignalProvider {
|
|
|
796
815
|
}
|
|
797
816
|
stopPollingForThread(input) {
|
|
798
817
|
const key = this.#pollingKey(input);
|
|
818
|
+
this.#invalidatePollingThread(key);
|
|
799
819
|
const state = this.#polling.get(key);
|
|
800
820
|
if (!state) return;
|
|
801
821
|
clearInterval(state.timer);
|
|
@@ -811,6 +831,8 @@ var GithubSignals = class extends SignalProvider {
|
|
|
811
831
|
return this.#options.pollIntervalMs ?? 3e5;
|
|
812
832
|
}
|
|
813
833
|
stopAllPolling() {
|
|
834
|
+
this.#pollingGeneration++;
|
|
835
|
+
this.#pollingThreadGenerations.clear();
|
|
814
836
|
for (const state of this.#polling.values()) clearInterval(state.timer);
|
|
815
837
|
this.#polling.clear();
|
|
816
838
|
}
|
|
@@ -1004,6 +1026,9 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1004
1026
|
#pollingKey(input) {
|
|
1005
1027
|
return `${input.resourceId}:${input.threadId}`;
|
|
1006
1028
|
}
|
|
1029
|
+
#invalidatePollingThread(key) {
|
|
1030
|
+
this.#pollingThreadGenerations.set(key, (this.#pollingThreadGenerations.get(key) ?? 0) + 1);
|
|
1031
|
+
}
|
|
1007
1032
|
#getNotificationAgent(_input) {
|
|
1008
1033
|
if (this.#agent) return this.#agent;
|
|
1009
1034
|
const agentId = _input?.agentId ?? this.#options.agentId;
|
|
@@ -1023,6 +1048,9 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1023
1048
|
const key = this.#pollingKey(input);
|
|
1024
1049
|
const state = this.#polling.get(key);
|
|
1025
1050
|
if (state?.running) return 0;
|
|
1051
|
+
const generation = this.#pollingGeneration;
|
|
1052
|
+
const threadGeneration = this.#pollingThreadGenerations.get(key) ?? 0;
|
|
1053
|
+
const isCurrentGeneration = () => this.#pollingGeneration === generation && (this.#pollingThreadGenerations.get(key) ?? 0) === threadGeneration;
|
|
1026
1054
|
if (state) state.running = true;
|
|
1027
1055
|
this.#notifyPollingChanged({
|
|
1028
1056
|
threadId: input.threadId,
|
|
@@ -1031,6 +1059,7 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1031
1059
|
});
|
|
1032
1060
|
try {
|
|
1033
1061
|
const { threadStore, loadedThread } = await this.#loadThread(input);
|
|
1062
|
+
if (!isCurrentGeneration()) return 0;
|
|
1034
1063
|
const githubMetadata = getGithubMetadata(loadedThread.metadata);
|
|
1035
1064
|
if (githubMetadata.subscriptions.length === 0) {
|
|
1036
1065
|
this.stopPollingForThread(input);
|
|
@@ -1047,6 +1076,7 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1047
1076
|
includeComments: options.includeComments
|
|
1048
1077
|
};
|
|
1049
1078
|
const syncResult = await this.#syncClient.syncPullRequest(syncInput);
|
|
1079
|
+
if (!isCurrentGeneration()) return 0;
|
|
1050
1080
|
let snapshot;
|
|
1051
1081
|
let snapshotError;
|
|
1052
1082
|
if (syncResult.ok) try {
|
|
@@ -1054,7 +1084,9 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1054
1084
|
} catch (error) {
|
|
1055
1085
|
snapshotError = error instanceof Error ? error.message : String(error);
|
|
1056
1086
|
}
|
|
1057
|
-
if (
|
|
1087
|
+
if (!isCurrentGeneration()) return 0;
|
|
1088
|
+
if (snapshot) snapshot = await this.#filterUnauthorizedLatestComment(subscription.owner, subscription.repo, snapshot, isCurrentGeneration);
|
|
1089
|
+
if (!isCurrentGeneration()) return 0;
|
|
1058
1090
|
const nextSubscription = {
|
|
1059
1091
|
...subscription,
|
|
1060
1092
|
updatedAt: now,
|
|
@@ -1069,21 +1101,25 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1069
1101
|
const previousContentHash = subscription.lastObservedContentHash;
|
|
1070
1102
|
const previousThreadContentHash = subscription.lastObservedThreadContentHash;
|
|
1071
1103
|
const previousHeadSha = subscription.lastObservedHeadSha;
|
|
1072
|
-
const
|
|
1104
|
+
const latestCommentTimestampChanged = !!previousGithubUpdatedAt && !!snapshot?.latestCommentUpdatedAt && Date.parse(snapshot.latestCommentUpdatedAt) > Date.parse(previousGithubUpdatedAt);
|
|
1105
|
+
const existingBotCommentEdited = latestCommentTimestampChanged && !!snapshot && isExistingBotCommentEdit(subscription, snapshot);
|
|
1106
|
+
const latestCommentChanged = latestCommentTimestampChanged && !existingBotCommentEdited;
|
|
1073
1107
|
if (snapshot) applySnapshotCursor(nextSubscription, snapshot);
|
|
1074
1108
|
const isFirstObservation = syncResult.ok && snapshot && !previousGithubUpdatedAt && !previousContentHash;
|
|
1075
1109
|
const legacyAggregateChanged = previousContentHash && snapshot?.contentHash && previousContentHash !== snapshot.contentHash && !previousThreadContentHash && !previousHeadSha;
|
|
1076
|
-
const changed = isFirstObservation || syncResult.ok && snapshot && (legacyAggregateChanged || latestCommentChanged || previousThreadContentHash && snapshot.threadContentHash && previousThreadContentHash !== snapshot.threadContentHash || previousHeadSha && snapshot.headSha && previousHeadSha !== snapshot.headSha || subscription.lastObservedState && snapshot.state && subscription.lastObservedState !== snapshot.state || subscription.lastObservedMergeableState
|
|
1110
|
+
const changed = isFirstObservation || syncResult.ok && snapshot && (legacyAggregateChanged || latestCommentChanged || previousThreadContentHash && snapshot.threadContentHash && previousThreadContentHash !== snapshot.threadContentHash && !existingBotCommentEdited || previousHeadSha && snapshot.headSha && previousHeadSha !== snapshot.headSha || subscription.lastObservedState && snapshot.state && subscription.lastObservedState !== snapshot.state || hasMeaningfulMergeableStateChange(subscription.lastObservedMergeableState, snapshot.mergeableState) || subscription.lastObservedCiState && snapshot.ciState && subscription.lastObservedCiState !== snapshot.ciState || subscription.lastObservedReviewStateHash && snapshot.reviewStateHash && subscription.lastObservedReviewStateHash !== snapshot.reviewStateHash);
|
|
1077
1111
|
let shouldKeepSubscription = true;
|
|
1078
|
-
if (changed && snapshot) {
|
|
1112
|
+
if (changed && snapshot && isCurrentGeneration()) {
|
|
1079
1113
|
const notifications = await this.#sendActivityNotifications({
|
|
1080
1114
|
polling: input,
|
|
1081
1115
|
subscription,
|
|
1082
1116
|
snapshot,
|
|
1083
1117
|
previousGithubUpdatedAt,
|
|
1084
1118
|
previousContentHash,
|
|
1085
|
-
latestCommentChanged
|
|
1119
|
+
latestCommentChanged,
|
|
1120
|
+
isCurrentGeneration
|
|
1086
1121
|
});
|
|
1122
|
+
if (!isCurrentGeneration()) return 0;
|
|
1087
1123
|
const primaryNotification = notifications[0];
|
|
1088
1124
|
if (primaryNotification) {
|
|
1089
1125
|
nextSubscription.lastNotificationAt = now;
|
|
@@ -1095,6 +1131,7 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1095
1131
|
}
|
|
1096
1132
|
if (shouldKeepSubscription) subscriptions.push(nextSubscription);
|
|
1097
1133
|
}
|
|
1134
|
+
if (!isCurrentGeneration()) return 0;
|
|
1098
1135
|
await threadStore.saveThread({ thread: {
|
|
1099
1136
|
...loadedThread,
|
|
1100
1137
|
id: input.threadId,
|
|
@@ -1103,6 +1140,7 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1103
1140
|
updatedAt: /* @__PURE__ */ new Date(),
|
|
1104
1141
|
metadata: setGithubMetadata(loadedThread.metadata, { subscriptions })
|
|
1105
1142
|
} });
|
|
1143
|
+
if (!isCurrentGeneration()) return 0;
|
|
1106
1144
|
this.#notifySubscriptionsChanged({
|
|
1107
1145
|
threadId: input.threadId,
|
|
1108
1146
|
resourceId: input.resourceId,
|
|
@@ -1110,16 +1148,16 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1110
1148
|
});
|
|
1111
1149
|
if (subscriptions.length === 0) this.stopPollingForThread(input);
|
|
1112
1150
|
return subscriptions.length;
|
|
1113
|
-
} catch (error) {
|
|
1114
|
-
throw error;
|
|
1115
1151
|
} finally {
|
|
1116
1152
|
const latestState = this.#polling.get(key);
|
|
1117
|
-
if (
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1153
|
+
if (isCurrentGeneration()) {
|
|
1154
|
+
if (latestState) latestState.running = false;
|
|
1155
|
+
this.#notifyPollingChanged({
|
|
1156
|
+
threadId: input.threadId,
|
|
1157
|
+
resourceId: input.resourceId,
|
|
1158
|
+
running: false
|
|
1159
|
+
});
|
|
1160
|
+
}
|
|
1123
1161
|
}
|
|
1124
1162
|
}
|
|
1125
1163
|
#createGithubNotificationInput(input) {
|
|
@@ -1211,18 +1249,19 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1211
1249
|
dedupeSuffix: `baseline:${input.subscription.lastSubscribeSignalId}`
|
|
1212
1250
|
});
|
|
1213
1251
|
}
|
|
1214
|
-
async #isAuthorizedAuthor(owner, repo, user, metadata = {}) {
|
|
1252
|
+
async #isAuthorizedAuthor(owner, repo, user, metadata = {}, isCurrentGeneration) {
|
|
1215
1253
|
if (!user) return false;
|
|
1216
1254
|
const normalizedUser = user.toLowerCase();
|
|
1217
1255
|
if (metadata.isBot === true || metadata.authorType?.toLowerCase() === "bot" || normalizedUser.endsWith("[bot]")) {
|
|
1218
1256
|
if ((this.#options.ignoredBots ?? []).some((bot) => bot.toLowerCase() === normalizedUser)) return false;
|
|
1219
1257
|
return (this.#options.authorizedBots ?? DEFAULT_AUTHORIZED_BOTS).some((bot) => bot.toLowerCase() === normalizedUser);
|
|
1220
1258
|
}
|
|
1221
|
-
const permission = await this.#loadAuthorPermission(owner, repo, user);
|
|
1259
|
+
const permission = await this.#loadAuthorPermission(owner, repo, user, isCurrentGeneration);
|
|
1260
|
+
if (isCurrentGeneration && !isCurrentGeneration()) return false;
|
|
1222
1261
|
const authorizedPermissions = this.#options.authorizedPermissions ?? DEFAULT_AUTHORIZED_PERMISSIONS;
|
|
1223
1262
|
return !!permission && authorizedPermissions.includes(permission);
|
|
1224
1263
|
}
|
|
1225
|
-
async #filterUnauthorizedLatestComment(owner, repo, snapshot) {
|
|
1264
|
+
async #filterUnauthorizedLatestComment(owner, repo, snapshot, isCurrentGeneration) {
|
|
1226
1265
|
const comments = snapshot.latestComments?.length ? snapshot.latestComments : [{
|
|
1227
1266
|
author: snapshot.latestCommentAuthor,
|
|
1228
1267
|
authorType: snapshot.latestCommentAuthorType,
|
|
@@ -1234,10 +1273,11 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1234
1273
|
if (!comments.some((comment) => comment.author)) return snapshot;
|
|
1235
1274
|
if (!comments.some((comment) => comment.body || comment.url || comment.updatedAt)) return snapshot;
|
|
1236
1275
|
for (const comment of comments) {
|
|
1276
|
+
if (isCurrentGeneration && !isCurrentGeneration()) return snapshot;
|
|
1237
1277
|
if (!await this.#isAuthorizedAuthor(owner, repo, comment.author, {
|
|
1238
1278
|
authorType: comment.authorType,
|
|
1239
1279
|
isBot: comment.isBot
|
|
1240
|
-
})) continue;
|
|
1280
|
+
}, isCurrentGeneration)) continue;
|
|
1241
1281
|
return {
|
|
1242
1282
|
...snapshot,
|
|
1243
1283
|
latestCommentAuthor: comment.author,
|
|
@@ -1258,7 +1298,7 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1258
1298
|
latestCommentUpdatedAt: void 0
|
|
1259
1299
|
};
|
|
1260
1300
|
}
|
|
1261
|
-
async #loadAuthorPermission(owner, repo, user) {
|
|
1301
|
+
async #loadAuthorPermission(owner, repo, user, isCurrentGeneration) {
|
|
1262
1302
|
const cacheKey = `${owner}/${repo}:${user.toLowerCase()}`;
|
|
1263
1303
|
const cached = this.#permissionCache.get(cacheKey);
|
|
1264
1304
|
if (cached && cached.expiresAt > Date.now()) return cached.permission;
|
|
@@ -1283,10 +1323,11 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1283
1323
|
"none"
|
|
1284
1324
|
].includes(raw) ? raw : void 0;
|
|
1285
1325
|
}
|
|
1286
|
-
if (permission) this.#permissionCache.set(cacheKey, {
|
|
1326
|
+
if (permission && (!isCurrentGeneration || isCurrentGeneration())) this.#permissionCache.set(cacheKey, {
|
|
1287
1327
|
permission,
|
|
1288
1328
|
expiresAt: Date.now() + PERMISSION_CACHE_TTL_MS
|
|
1289
1329
|
});
|
|
1330
|
+
if (isCurrentGeneration && !isCurrentGeneration()) return void 0;
|
|
1290
1331
|
return permission;
|
|
1291
1332
|
} catch {
|
|
1292
1333
|
this.#permissionCache.delete(cacheKey);
|
|
@@ -1309,10 +1350,12 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1309
1350
|
for (const notification of notifications.sort(compareGithubActivityNotifications)) {
|
|
1310
1351
|
if (!notification) continue;
|
|
1311
1352
|
if (AUTHOR_GATED_NOTIFICATION_KINDS.has(notification.kind)) {
|
|
1312
|
-
|
|
1353
|
+
const authorized = await this.#isAuthorizedAuthor(input.subscription.owner, input.subscription.repo, input.snapshot.latestCommentAuthor, {
|
|
1313
1354
|
authorType: input.snapshot.latestCommentAuthorType,
|
|
1314
1355
|
isBot: input.snapshot.latestCommentIsBot
|
|
1315
|
-
})
|
|
1356
|
+
}, input.isCurrentGeneration);
|
|
1357
|
+
if (!input.isCurrentGeneration()) return [];
|
|
1358
|
+
if (!authorized) continue;
|
|
1316
1359
|
}
|
|
1317
1360
|
notificationInputs.push(this.#createGithubNotificationInput({
|
|
1318
1361
|
subscription: input.subscription,
|
|
@@ -1329,11 +1372,14 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1329
1372
|
resourceId: input.polling.resourceId,
|
|
1330
1373
|
threadId: input.polling.threadId
|
|
1331
1374
|
};
|
|
1375
|
+
if (!input.isCurrentGeneration()) return [];
|
|
1332
1376
|
const streamOptions = await this.#agentOptions.getNotificationStreamOptions?.(target);
|
|
1377
|
+
if (!input.isCurrentGeneration()) return [];
|
|
1333
1378
|
await agent.sendNotificationSignal(notificationInputs, streamOptions ? {
|
|
1334
1379
|
...target,
|
|
1335
1380
|
ifIdle: { streamOptions }
|
|
1336
1381
|
} : target);
|
|
1382
|
+
if (!input.isCurrentGeneration()) return [];
|
|
1337
1383
|
}
|
|
1338
1384
|
return sent;
|
|
1339
1385
|
}
|
|
@@ -1368,7 +1414,10 @@ var GithubSignals = class extends SignalProvider {
|
|
|
1368
1414
|
...existing?.lastObservedState ? { lastObservedState: existing.lastObservedState } : {},
|
|
1369
1415
|
...existing?.lastObservedMergeableState ? { lastObservedMergeableState: existing.lastObservedMergeableState } : {},
|
|
1370
1416
|
...existing?.lastObservedCiState ? { lastObservedCiState: existing.lastObservedCiState } : {},
|
|
1371
|
-
...existing?.lastObservedReviewStateHash ? { lastObservedReviewStateHash: existing.lastObservedReviewStateHash } : {}
|
|
1417
|
+
...existing?.lastObservedReviewStateHash ? { lastObservedReviewStateHash: existing.lastObservedReviewStateHash } : {},
|
|
1418
|
+
...existing?.lastObservedCommentUrl ? { lastObservedCommentUrl: existing.lastObservedCommentUrl } : {},
|
|
1419
|
+
...existing?.lastObservedCommentAuthor ? { lastObservedCommentAuthor: existing.lastObservedCommentAuthor } : {},
|
|
1420
|
+
...typeof existing?.lastObservedCommentIsBot === "boolean" ? { lastObservedCommentIsBot: existing.lastObservedCommentIsBot } : {}
|
|
1372
1421
|
};
|
|
1373
1422
|
let syncResult;
|
|
1374
1423
|
let baselineSnapshot;
|