cyrus-edge-worker 0.2.62 → 0.2.64-test.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/ChatSessionHandler.d.ts +23 -4
- package/dist/ChatSessionHandler.d.ts.map +1 -1
- package/dist/ChatSessionHandler.js +49 -17
- package/dist/ChatSessionHandler.js.map +1 -1
- package/dist/ConfigManager.d.ts.map +1 -1
- package/dist/ConfigManager.js +4 -0
- package/dist/ConfigManager.js.map +1 -1
- package/dist/EdgeWorker.d.ts +15 -3
- package/dist/EdgeWorker.d.ts.map +1 -1
- package/dist/EdgeWorker.js +75 -17
- package/dist/EdgeWorker.js.map +1 -1
- package/dist/GitService.d.ts +14 -0
- package/dist/GitService.d.ts.map +1 -1
- package/dist/GitService.js +26 -0
- package/dist/GitService.js.map +1 -1
- package/dist/RunnerConfigBuilder.d.ts +7 -0
- package/dist/RunnerConfigBuilder.d.ts.map +1 -1
- package/dist/RunnerConfigBuilder.js +11 -0
- package/dist/RunnerConfigBuilder.js.map +1 -1
- package/dist/RunnerSelectionService.d.ts.map +1 -1
- package/dist/RunnerSelectionService.js +13 -8
- package/dist/RunnerSelectionService.js.map +1 -1
- package/dist/SlackChatAdapter.d.ts +50 -0
- package/dist/SlackChatAdapter.d.ts.map +1 -1
- package/dist/SlackChatAdapter.js +97 -2
- package/dist/SlackChatAdapter.js.map +1 -1
- package/package.json +17 -17
|
@@ -13,6 +13,16 @@ export interface ChatPlatformAdapter<TEvent> {
|
|
|
13
13
|
readonly platformName: ChatPlatformName;
|
|
14
14
|
/** Extract the user's task text from the raw event */
|
|
15
15
|
extractTaskInstructions(event: TEvent): string;
|
|
16
|
+
/**
|
|
17
|
+
* Whether this event is allowed to *start* a brand-new session for its
|
|
18
|
+
* thread. Events that may only continue an already-bound thread (e.g. a
|
|
19
|
+
* plain Slack message that isn't an @mention) return false, so the handler
|
|
20
|
+
* ignores them when no session exists yet.
|
|
21
|
+
*
|
|
22
|
+
* Optional — when omitted, every event is treated as session-initiating
|
|
23
|
+
* (the behaviour for platforms where every event is an explicit invocation).
|
|
24
|
+
*/
|
|
25
|
+
isSessionInitiatingEvent?(event: TEvent): boolean;
|
|
16
26
|
/** Derive a unique thread key for session tracking (e.g., "C123:1704110400.000100") */
|
|
17
27
|
getThreadKey(event: TEvent): string;
|
|
18
28
|
/** Get the unique event ID */
|
|
@@ -25,6 +35,15 @@ export interface ChatPlatformAdapter<TEvent> {
|
|
|
25
35
|
postReply(event: TEvent, runner: IAgentRunner): Promise<void>;
|
|
26
36
|
/** Acknowledge receipt of the event (e.g., emoji reaction). Fire-and-forget */
|
|
27
37
|
acknowledgeReceipt(event: TEvent): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Acknowledge that the agent finished processing the event (e.g., swap the
|
|
40
|
+
* receipt reaction for a "done" one). Called after the turn completes,
|
|
41
|
+
* whether or not a reply was actually posted — this is what tells users a
|
|
42
|
+
* message was seen even when the agent chose to stay silent.
|
|
43
|
+
*
|
|
44
|
+
* Optional — platforms without a processed indicator omit it. Fire-and-forget.
|
|
45
|
+
*/
|
|
46
|
+
acknowledgeProcessed?(event: TEvent): Promise<void>;
|
|
28
47
|
/** Notify the user that a previous request is still processing */
|
|
29
48
|
notifyBusy(event: TEvent, threadKey: string): Promise<void>;
|
|
30
49
|
}
|
|
@@ -67,6 +86,7 @@ export declare class ChatSessionHandler<TEvent> {
|
|
|
67
86
|
private deps;
|
|
68
87
|
private logger;
|
|
69
88
|
private pendingReplyEvents;
|
|
89
|
+
private lastReplyEvent;
|
|
70
90
|
constructor(adapter: ChatPlatformAdapter<TEvent>, deps: ChatSessionHandlerDeps, logger?: ILogger);
|
|
71
91
|
/**
|
|
72
92
|
* Main entry point — handles a single chat platform event.
|
|
@@ -111,13 +131,12 @@ export declare class ChatSessionHandler<TEvent> {
|
|
|
111
131
|
*/
|
|
112
132
|
private handleAgentMessage;
|
|
113
133
|
private enqueueReply;
|
|
114
|
-
private
|
|
134
|
+
private drainReplies;
|
|
115
135
|
/**
|
|
116
136
|
* Discard all queued reply events for a session. Called when the runner
|
|
117
137
|
* rejects before emitting a final `result` — without this, a later
|
|
118
|
-
* resumeSession() on the same sessionId would pair the stale
|
|
119
|
-
* the first `result` of the new runner
|
|
120
|
-
* by one turn.
|
|
138
|
+
* resumeSession() on the same sessionId would pair the stale events with
|
|
139
|
+
* the first `result` of the new runner.
|
|
121
140
|
*/
|
|
122
141
|
private clearPendingReplies;
|
|
123
142
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatSessionHandler.d.ts","sourceRoot":"","sources":["../src/ChatSessionHandler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,iBAAiB,EAEjB,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;;;GAKG;AACH,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,mBAAmB,CAAC,MAAM;IAC1C,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAExC,sDAAsD;IACtD,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/C,uFAAuF;IACvF,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEpC,8BAA8B;IAC9B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAElC,8CAA8C;IAC9C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzC,6EAA6E;IAC7E,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnD,2DAA2D;IAC3D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,+EAA+E;IAC/E,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD,kEAAkE;IAClE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,iEAAiE;IACjE,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,yFAAyF;IACzF,YAAY,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,YAAY,CAAC;IAC1D;;;;;;;OAOG;IACH,6BAA6B,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACpE,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB,CAAC,MAAM;IACrC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,MAAM,CAAU;
|
|
1
|
+
{"version":3,"file":"ChatSessionHandler.d.ts","sourceRoot":"","sources":["../src/ChatSessionHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,24 @@ export class ChatSessionHandler {
|
|
|
15
15
|
threadSessions = new Map();
|
|
16
16
|
deps;
|
|
17
17
|
logger;
|
|
18
|
-
//
|
|
18
|
+
// Queue of events awaiting a reply, keyed by sessionId. Each entry is
|
|
19
19
|
// enqueued when a new prompt (initial/resume/follow-up-inject) is sent to
|
|
20
|
-
// the runner, and
|
|
21
|
-
//
|
|
20
|
+
// the runner, and the queue is drained when a `result` message arrives on
|
|
21
|
+
// the runner's message stream. This decouples reply posting from
|
|
22
22
|
// `startStreaming()` resolution, which never resolves when warm sessions
|
|
23
23
|
// hold the streaming prompt open across turns.
|
|
24
|
+
//
|
|
25
|
+
// Drained wholesale, NOT one-per-result: messages injected in quick
|
|
26
|
+
// succession get merged by the runner into a single turn (one `result`
|
|
27
|
+
// answering several queued prompts), so a strict FIFO pairing would leave
|
|
28
|
+
// orphaned entries that never get acknowledged — and would pair them with
|
|
29
|
+
// the wrong later turns.
|
|
24
30
|
pendingReplyEvents = new Map();
|
|
31
|
+
// Last event enqueued per session. When a merged turn drained the queue
|
|
32
|
+
// ahead of schedule, a subsequent `result` finds the queue empty — this
|
|
33
|
+
// remembers where to post that turn's reply (all events in a session share
|
|
34
|
+
// one thread, so any recent event addresses it correctly).
|
|
35
|
+
lastReplyEvent = new Map();
|
|
25
36
|
constructor(adapter, deps, logger) {
|
|
26
37
|
this.adapter = adapter;
|
|
27
38
|
this.deps = deps;
|
|
@@ -82,6 +93,15 @@ export class ChatSessionHandler {
|
|
|
82
93
|
// Session exists but runner was lost — fall through to create a new session
|
|
83
94
|
this.logger.info(`Previous session ${existingSessionId} for thread ${threadKey} has no runner, creating new session`);
|
|
84
95
|
}
|
|
96
|
+
// No session exists for this thread. Only events explicitly allowed to
|
|
97
|
+
// start a session may do so — e.g. a Slack @mention. A plain follow-up
|
|
98
|
+
// message in an unbound thread must be ignored, otherwise every message
|
|
99
|
+
// in any channel Cyrus can see would spin up a session.
|
|
100
|
+
if (!existingSessionId &&
|
|
101
|
+
this.adapter.isSessionInitiatingEvent?.(event) === false) {
|
|
102
|
+
this.logger.info(`Ignoring non-initiating ${this.adapter.platformName} event for unbound thread ${threadKey}`);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
85
105
|
// Create an empty workspace directory for this thread
|
|
86
106
|
const workspace = await this.createWorkspace(threadKey);
|
|
87
107
|
if (!workspace) {
|
|
@@ -229,17 +249,31 @@ export class ChatSessionHandler {
|
|
|
229
249
|
async handleAgentMessage(sessionId, message) {
|
|
230
250
|
await this.sessionManager.handleClaudeMessage(sessionId, message);
|
|
231
251
|
if (message.type === "result") {
|
|
232
|
-
|
|
252
|
+
// A `result` ends the turn, and the turn has seen every prompt
|
|
253
|
+
// injected so far — drain the whole queue, not just one entry
|
|
254
|
+
// (quick-succession messages get merged into a single turn).
|
|
255
|
+
const events = this.drainReplies(sessionId);
|
|
233
256
|
const runner = this.sessionManager.getAgentRunner(sessionId);
|
|
234
|
-
|
|
257
|
+
// Queue already drained by an earlier merged turn? The reply still
|
|
258
|
+
// belongs to this session's thread — post it via the last event.
|
|
259
|
+
const replyEvent = events[0] ?? this.lastReplyEvent.get(sessionId);
|
|
260
|
+
if (replyEvent && runner) {
|
|
235
261
|
try {
|
|
236
|
-
await this.adapter.postReply(
|
|
262
|
+
await this.adapter.postReply(replyEvent, runner);
|
|
237
263
|
}
|
|
238
264
|
catch (error) {
|
|
239
265
|
this.logger.error(`Failed to post ${this.adapter.platformName} reply for session ${sessionId}`, error instanceof Error ? error : new Error(String(error)));
|
|
240
266
|
}
|
|
267
|
+
// Fire-and-forget processed acknowledgement for every drained
|
|
268
|
+
// event (e.g., swap the receipt reaction) — runs even when
|
|
269
|
+
// postReply stayed silent.
|
|
270
|
+
for (const event of events) {
|
|
271
|
+
this.adapter.acknowledgeProcessed?.(event).catch((err) => {
|
|
272
|
+
this.logger.warn(`Failed to acknowledge processed ${this.adapter.platformName} event: ${err instanceof Error ? err.message : err}`);
|
|
273
|
+
});
|
|
274
|
+
}
|
|
241
275
|
}
|
|
242
|
-
else if (!
|
|
276
|
+
else if (!replyEvent) {
|
|
243
277
|
this.logger.warn(`Received result for session ${sessionId} with no pending reply event — nothing to post`);
|
|
244
278
|
}
|
|
245
279
|
}
|
|
@@ -248,25 +282,23 @@ export class ChatSessionHandler {
|
|
|
248
282
|
const queue = this.pendingReplyEvents.get(sessionId) ?? [];
|
|
249
283
|
queue.push(event);
|
|
250
284
|
this.pendingReplyEvents.set(sessionId, queue);
|
|
285
|
+
this.lastReplyEvent.set(sessionId, event);
|
|
251
286
|
}
|
|
252
|
-
|
|
287
|
+
drainReplies(sessionId) {
|
|
253
288
|
const queue = this.pendingReplyEvents.get(sessionId);
|
|
254
289
|
if (!queue || queue.length === 0)
|
|
255
|
-
return
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
this.pendingReplyEvents.delete(sessionId);
|
|
259
|
-
}
|
|
260
|
-
return event;
|
|
290
|
+
return [];
|
|
291
|
+
this.pendingReplyEvents.delete(sessionId);
|
|
292
|
+
return queue;
|
|
261
293
|
}
|
|
262
294
|
/**
|
|
263
295
|
* Discard all queued reply events for a session. Called when the runner
|
|
264
296
|
* rejects before emitting a final `result` — without this, a later
|
|
265
|
-
* resumeSession() on the same sessionId would pair the stale
|
|
266
|
-
* the first `result` of the new runner
|
|
267
|
-
* by one turn.
|
|
297
|
+
* resumeSession() on the same sessionId would pair the stale events with
|
|
298
|
+
* the first `result` of the new runner.
|
|
268
299
|
*/
|
|
269
300
|
clearPendingReplies(sessionId) {
|
|
301
|
+
this.lastReplyEvent.delete(sessionId);
|
|
270
302
|
const queue = this.pendingReplyEvents.get(sessionId);
|
|
271
303
|
if (!queue || queue.length === 0)
|
|
272
304
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatSessionHandler.js","sourceRoot":"","sources":["../src/ChatSessionHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatSessionHandler.js","sourceRoot":"","sources":["../src/ChatSessionHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigManager.d.ts","sourceRoot":"","sources":["../src/ConfigManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,yEAAyE;IACzE,SAAS,EAAE,gBAAgB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,aAAa,CAAC,CAAY;gBAGjC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAa5C;;;;OAIG;IACH,kBAAkB,IAAI,IAAI;IA2B1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACH,SAAS,IAAI,gBAAgB;IAI7B;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIzC;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQvC;;OAEG;YACW,kBAAkB;IA2ChC;;;OAGG;YACW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ConfigManager.d.ts","sourceRoot":"","sources":["../src/ConfigManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,yEAAyE;IACzE,SAAS,EAAE,gBAAgB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,aAAa,CAAC,CAAY;gBAGjC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAa5C;;;;OAIG;IACH,kBAAkB,IAAI,IAAI;IA2B1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACH,SAAS,IAAI,gBAAgB;IAI7B;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIzC;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQvC;;OAEG;YACW,kBAAkB;IA2ChC;;;OAGG;YACW,gBAAgB;IAwG9B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAoC/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;OAEG;IACH,OAAO,CAAC,SAAS;CAGjB"}
|
package/dist/ConfigManager.js
CHANGED
|
@@ -182,6 +182,9 @@ export class ConfigManager extends EventEmitter {
|
|
|
182
182
|
// Issue update trigger: use parsed value if explicitly set,
|
|
183
183
|
// otherwise keep current or default to true
|
|
184
184
|
issueUpdateTrigger: parsedConfig.issueUpdateTrigger ?? this.config.issueUpdateTrigger,
|
|
185
|
+
// Slack thread following: use parsed value if explicitly set,
|
|
186
|
+
// otherwise keep current or default to true
|
|
187
|
+
slackThreadFollowing: parsedConfig.slackThreadFollowing ?? this.config.slackThreadFollowing,
|
|
185
188
|
// PR review trigger: use parsed value if explicitly set,
|
|
186
189
|
// otherwise keep current or default to true
|
|
187
190
|
prReviewTrigger: parsedConfig.prReviewTrigger ?? this.config.prReviewTrigger,
|
|
@@ -264,6 +267,7 @@ export class ConfigManager extends EventEmitter {
|
|
|
264
267
|
"defaultDisallowedTools",
|
|
265
268
|
"promptDefaults",
|
|
266
269
|
"issueUpdateTrigger",
|
|
270
|
+
"slackThreadFollowing",
|
|
267
271
|
"prReviewTrigger",
|
|
268
272
|
"linearWorkspaces",
|
|
269
273
|
"userAccessControl",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../src/ConfigManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../src/ConfigManager.ts"],"names":[],"mappings":"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"}
|
package/dist/EdgeWorker.d.ts
CHANGED
|
@@ -37,6 +37,8 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
37
37
|
private persistenceManager;
|
|
38
38
|
private sharedApplicationServer;
|
|
39
39
|
private cyrusHome;
|
|
40
|
+
/** Per-org GitHub App installation tokens pushed by cyrus-hosted (lazy file-backed reads) */
|
|
41
|
+
private githubTokenStore;
|
|
40
42
|
private globalSessionRegistry;
|
|
41
43
|
private configPath?;
|
|
42
44
|
/** @internal - Exposed for testing only */
|
|
@@ -128,6 +130,14 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
128
130
|
* This creates a /gitlab-webhook endpoint that handles note events on merge requests.
|
|
129
131
|
*/
|
|
130
132
|
private registerGitLabEventTransport;
|
|
133
|
+
/**
|
|
134
|
+
* Whether Cyrus should follow plain replies in a Slack thread it was
|
|
135
|
+
* @mentioned in. Enabled by default; controlled by the per-team
|
|
136
|
+
* `slackThreadFollowing` config toggle (Behaviours page) and force-disabled
|
|
137
|
+
* by the `CYRUS_SLACK_THREAD_FOLLOWING_DISABLED` env kill-switch, which takes
|
|
138
|
+
* precedence over the toggle. When disabled, only @mentions are processed.
|
|
139
|
+
*/
|
|
140
|
+
private isSlackThreadFollowingEnabled;
|
|
131
141
|
/**
|
|
132
142
|
* Register the Slack event transport for receiving forwarded Slack webhooks from CYHOST.
|
|
133
143
|
* This creates a /slack-webhook endpoint that handles @mention events from Slack.
|
|
@@ -141,9 +151,11 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
141
151
|
*/
|
|
142
152
|
/**
|
|
143
153
|
* Resolve a GitHub API token from (in priority order):
|
|
144
|
-
* 1.
|
|
145
|
-
*
|
|
146
|
-
*
|
|
154
|
+
* 1. Org-matched installation token from the local token store (pushed by
|
|
155
|
+
* cyrus-hosted via /api/update/github-tokens — multi-org support)
|
|
156
|
+
* 2. Forwarded installation token from CYHOST (cloud/proxy mode)
|
|
157
|
+
* 3. Self-minted installation token from GitHub App credentials (self-hosted)
|
|
158
|
+
* 4. Personal access token from GITHUB_TOKEN env var (fallback)
|
|
147
159
|
*/
|
|
148
160
|
private resolveGitHubToken;
|
|
149
161
|
private handleGitHubWebhook;
|
package/dist/EdgeWorker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeWorker.d.ts","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"EdgeWorker.d.ts","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuB3C,OAAO,KAAK,EAQX,iBAAiB,EACjB,gBAAgB,EAMhB,KAAK,EAKL,gBAAgB,EAEhB,2BAA2B,EAQ3B,MAAM,YAAY,CAAC;AAsFpB,OAAO,EAEN,KAAK,iBAAiB,EACtB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAmB/D,OAAO,EACN,gBAAgB,EAEhB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AASvE,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGrE,MAAM,CAAC,OAAO,WAAW,UAAU;IAClC,EAAE,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,gBAAgB,EACpC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACtC,OAAO,CAAC;CACX;AAMD;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,qBAAqB,CAAkC;IAC/D,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,aAAa,CAAgD;IACrE,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,sBAAsB,CAAuC;IACrE,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,kBAAkB,CACpB;IACN,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,SAAS,CAAS;IAC1B,6FAA6F;IAC7F,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,2CAA2C;IACpC,gBAAgB,EAAE,gBAAgB,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,4EAA4E;IAC5E,OAAO,CAAC,sBAAsB,CAAyB;IACvD,qEAAqE;IACrE,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;IAC5D,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,2BAA2B,CACY;IAC/C,OAAO,CAAC,qBAAqB,CAAuB;IACpD,qEAAqE;IACrE,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,8EAA8E;IAC9E,OAAO,CAAC,WAAW,CAA4B;IAC/C,yFAAyF;IACzF,OAAO,CAAC,kBAAkB,CAEX;IACf,sFAAsF;IACtF,OAAO,CAAC,gBAAgB,CAAuB;IAC/C;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA6B;IACvD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB,CAAqB;IAErD;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAYlB;IAEJ;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;gBAavB,MAAM,EAAE,gBAAgB;IA0SpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6G5B;;OAEG;YACW,oBAAoB;IAoJlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAqFpC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA+CpC;;;;;;OAMG;IACH,OAAO,CAAC,6BAA6B;IAWrC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA6GnC;;;;;OAKG;IACH;;;;;;;OAOG;YACW,kBAAkB;YAwBlB,mBAAmB;IAqXjC;;;;OAIG;YACW,uBAAuB;IAuFrC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAgBjC;;;;OAIG;YACW,iBAAiB;IAsD/B;;;OAGG;YACW,qBAAqB;IAqDnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;IACH,OAAO,CAAC,oCAAoC;IA2C5C;;OAEG;YACW,eAAe;IAiF7B;;;OAGG;YACW,mBAAmB;IAiRjC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAejC;;;OAGG;YACW,qBAAqB;IAoDnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;OAEG;IACH,OAAO,CAAC,oCAAoC;IA2C5C;;OAEG;YACW,eAAe;IAiF7B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAsBrB;;;;OAIG;IACG,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE;;;OAGG;IACH,0BAA0B,IAAI,uBAAuB;IAIrD;;OAEG;IACH,eAAe,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAKlE;;;;OAIG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;QAC1C,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI;IA6BR;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD3B;;;;;;OAMG;YACW,yBAAyB;IAwDvC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAgDhC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKvC;;;;OAIG;YACW,yBAAyB;IAgGvC;;;;;;;;OAQG;IACH,OAAO,CAAC,2BAA2B;IA4CnC;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;YACW,0BAA0B;IAsDxC;;OAEG;YACW,yBAAyB;IAiFvC;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;YACW,aAAa;IAkF3B;;;;;;OAMG;YACW,aAAa;IA8C3B;;;;;OAKG;YACW,yBAAyB;IAWvC;;;;;OAKG;YACW,uBAAuB;IAWrC;;;;;OAKG;YACW,uBAAuB;IAWrC;;;;;OAKG;YACW,0BAA0B;IAWxC;;;;;OAKG;YACW,qBAAqB;IASnC;;;OAGG;YACW,6BAA6B;IA0D3C;;OAEG;YACW,4BAA4B;IA8D1C;;;;;;;;;;;;;;;;;OAiBG;YACW,wBAAwB;IAwMtC;;;;;;OAMG;IACH;;;;OAIG;YACW,0BAA0B;IAsFxC;;;OAGG;YACW,sBAAsB;IAmGpC;;;OAGG;YACW,2BAA2B;IA2DzC,OAAO,CAAC,sBAAsB;IAoB9B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAMnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAQlC;;;;;;;;OAQG;YACW,uBAAuB;IAwKrC;;;;;OAKG;YACW,gCAAgC;IAoJ9C;;;;;;;;;;;;;OAaG;YACW,qBAAqB;IAkOnC;;;;;;;OAOG;YACW,gBAAgB;IA8E9B;;;;;;;OAOG;YACW,iCAAiC;IA2D/C;;;;;OAKG;YACW,6BAA6B;IA0C3C;;;OAGG;YACW,4BAA4B;IA6M1C;;;;;;;;OAQG;YACW,+BAA+B;IA6I7C;;;;OAIG;YACW,qBAAqB;IA8BnC;;OAEG;YACW,mBAAmB;IAQjC;;;OAGG;YACW,iBAAiB;IAiB/B;;OAEG;YACW,gBAAgB;IAI9B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAMxC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;YACW,+BAA+B;IAqB7C;;;;;;;;OAQG;YACW,kBAAkB;IAchC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;OAEG;IACH,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAY3C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAKtC;;OAEG;IACG,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAKF;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;;;OAIG;YAEW,uBAAuB;IA+ErC;;OAEG;IAeH;;OAEG;YACW,WAAW;IAczB;;OAEG;IASH;;;;;OAKG;YACW,wBAAwB;IActC;;;;;;OAMG;YACW,0BAA0B;IAmBxC;;OAEG;IACH,OAAO,CAAC,6BAA6B;YASvB,6BAA6B;IA0G3C,OAAO,CAAC,kBAAkB,CAAuC;IAEjE;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;OAKG;IACH;;;;;;;;;;;OAWG;IACH;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,qBAAqB;IAuE7B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,yBAAyB;YAgBnB,oCAAoC;IA2HlD,OAAO,CAAC,mBAAmB;IAW3B;;;;;;;;;;OAUG;YACW,kBAAkB;IAuChC;;;OAGG;YACW,cAAc;IAiB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;YACW,qBAAqB;IAkHnC;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAoB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;YACW,sBAAsB;IAIpC;;OAEG;YACW,kCAAkC;IAgDhD;;;;OAIG;IACH;;;;OAIG;YACW,sBAAsB;IAuGpC;;;;;;;OAOG;IACH,OAAO,CAAC,6BAA6B;IAgBrC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACI,wBAAwB,CAC9B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACnB,GAAG,EAAE;IAQR;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;;;;OAMG;YACW,iBAAiB;IA0C/B;;OAEG;YACW,kBAAkB;IAchC;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;;;;OAQG;IACH,OAAO,CAAC,4BAA4B;IAOpC;;;;;;;;;;OAUG;YACW,oBAAoB;IAwHlC;;OAEG;YACW,kBAAkB;IAYhC;;OAEG;IACI,iBAAiB,IAAI,2BAA2B;IAqBvD;;OAEG;IACI,eAAe,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI;IAmEhE;;;;;;OAMG;YACW,kBAAkB;IAQhC;;OAEG;YACW,yBAAyB;IAUvC;;OAEG;YACW,8BAA8B;IAU5C;;OAEG;YACW,mBAAmB;IAcjC;;;;;;;;;;;;;;;;;OAiBG;YACW,8BAA8B;IA0D5C;;OAEG;YACW,gCAAgC;IAc9C;;;;;;;;;;OAUG;IACG,kBAAkB,CACvB,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,gBAAgB,EAC5B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,MAAM,EAClB,kBAAkB,GAAE,MAAW,EAC/B,YAAY,GAAE,OAAe,EAC7B,4BAA4B,GAAE,MAAM,EAAO,EAC3C,iBAAiB,CAAC,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,gBAAgB,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAiKhB;;OAEG;YACW,iCAAiC;IAY/C;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACU,qBAAqB,CACjC,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GACvB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAqCxB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;OAEG;YACW,eAAe;CAqD7B"}
|
package/dist/EdgeWorker.js
CHANGED
|
@@ -8,8 +8,8 @@ import { LinearClient } from "@linear/sdk";
|
|
|
8
8
|
import { buildBaseSessionEnv, ClaudeRunner, HttpSessionStore, normalizeMcpHttpTransport, } from "cyrus-claude-runner";
|
|
9
9
|
import { getCyrusAppUrl } from "cyrus-cloudflare-tunnel-client";
|
|
10
10
|
import { CodexRunner } from "cyrus-codex-runner";
|
|
11
|
-
import { ConfigUpdater } from "cyrus-config-updater";
|
|
12
|
-
import { CLIIssueTrackerService, CLIRPCServer, createLogger, DEFAULT_PROXY_URL, isAgentSessionCreatedWebhook, isAgentSessionPromptedWebhook, isContentUpdateMessage, isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueDeletedWebhook, isIssueNewCommentWebhook, isIssueStateChangeMessage, isIssueStateChangeWebhook, isIssueStateIdUpdateWebhook, isIssueTitleOrDescriptionUpdateWebhook, isIssueUnassignedWebhook, isSessionStartMessage, isStopSignalMessage, isUnassignMessage, isUserPromptMessage, PersistenceManager, requireLinearWorkspaceId, resolvePath, WebhookIpValidator, } from "cyrus-core";
|
|
11
|
+
import { ConfigUpdater, ensureGitHubCredentialHelper, } from "cyrus-config-updater";
|
|
12
|
+
import { CLIIssueTrackerService, CLIRPCServer, createLogger, DEFAULT_PROXY_URL, GitHubTokenStore, isAgentSessionCreatedWebhook, isAgentSessionPromptedWebhook, isContentUpdateMessage, isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueDeletedWebhook, isIssueNewCommentWebhook, isIssueStateChangeMessage, isIssueStateChangeWebhook, isIssueStateIdUpdateWebhook, isIssueTitleOrDescriptionUpdateWebhook, isIssueUnassignedWebhook, isSessionStartMessage, isStopSignalMessage, isUnassignMessage, isUserPromptMessage, PersistenceManager, requireLinearWorkspaceId, resolvePath, WebhookIpValidator, } from "cyrus-core";
|
|
13
13
|
import { CursorRunner } from "cyrus-cursor-runner";
|
|
14
14
|
import { GeminiRunner } from "cyrus-gemini-runner";
|
|
15
15
|
import { extractCommentAuthor, extractCommentBody, extractCommentId, extractCommentUrl, extractPRBaseBranchRef, extractPRBranchRef, extractPRNumber, extractPRTitle, extractRepoFullName, extractRepoName, extractRepoOwner, extractSessionKey, GitHubAppTokenProvider, GitHubCommentService, GitHubEventTransport, isCommentOnPullRequest, isIssueCommentPayload, isPullRequestReviewCommentPayload, isPullRequestReviewPayload, stripMention, } from "cyrus-github-event-transport";
|
|
@@ -68,6 +68,8 @@ export class EdgeWorker extends EventEmitter {
|
|
|
68
68
|
persistenceManager;
|
|
69
69
|
sharedApplicationServer;
|
|
70
70
|
cyrusHome;
|
|
71
|
+
/** Per-org GitHub App installation tokens pushed by cyrus-hosted (lazy file-backed reads) */
|
|
72
|
+
githubTokenStore;
|
|
71
73
|
globalSessionRegistry; // Centralized session storage across all repositories
|
|
72
74
|
configPath; // Path to config.json file
|
|
73
75
|
/** @internal - Exposed for testing only */
|
|
@@ -143,6 +145,7 @@ export class EdgeWorker extends EventEmitter {
|
|
|
143
145
|
super();
|
|
144
146
|
this.config = EdgeWorker.normalizeConfigPaths(config);
|
|
145
147
|
this.cyrusHome = config.cyrusHome;
|
|
148
|
+
this.githubTokenStore = new GitHubTokenStore(this.cyrusHome);
|
|
146
149
|
this.logger = createLogger({ component: "EdgeWorker" });
|
|
147
150
|
this.persistenceManager = new PersistenceManager(join(this.cyrusHome, "state"));
|
|
148
151
|
// Mirror Claude SDK session transcripts to the hosted control plane
|
|
@@ -340,6 +343,18 @@ export class EdgeWorker extends EventEmitter {
|
|
|
340
343
|
* Start the edge worker
|
|
341
344
|
*/
|
|
342
345
|
async start() {
|
|
346
|
+
// If cyrus-hosted has pushed per-org GitHub App tokens previously, make
|
|
347
|
+
// sure the git credential helper is wired up (idempotent). Covers the
|
|
348
|
+
// case where the process restarted after the helper config was wiped.
|
|
349
|
+
if (existsSync(this.githubTokenStore.filePath)) {
|
|
350
|
+
try {
|
|
351
|
+
ensureGitHubCredentialHelper(this.cyrusHome);
|
|
352
|
+
this.logger.info("✅ GitHub credential helper configured from existing token store");
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
this.logger.warn("Failed to configure GitHub credential helper on startup (non-fatal):", error instanceof Error ? error : new Error(String(error)));
|
|
356
|
+
}
|
|
357
|
+
}
|
|
343
358
|
// Deploy default skills to cyrusHome if not already present (one-time setup)
|
|
344
359
|
await this.defaultSkillsDeployer.ensureDeployed();
|
|
345
360
|
// Scaffold user skills plugin manifest if needed (one-time setup)
|
|
@@ -642,6 +657,23 @@ export class EdgeWorker extends EventEmitter {
|
|
|
642
657
|
this.logger.info(`GitLab event transport registered (${verificationMode} mode)`);
|
|
643
658
|
this.logger.info("Webhook endpoint: POST /gitlab-webhook");
|
|
644
659
|
}
|
|
660
|
+
/**
|
|
661
|
+
* Whether Cyrus should follow plain replies in a Slack thread it was
|
|
662
|
+
* @mentioned in. Enabled by default; controlled by the per-team
|
|
663
|
+
* `slackThreadFollowing` config toggle (Behaviours page) and force-disabled
|
|
664
|
+
* by the `CYRUS_SLACK_THREAD_FOLLOWING_DISABLED` env kill-switch, which takes
|
|
665
|
+
* precedence over the toggle. When disabled, only @mentions are processed.
|
|
666
|
+
*/
|
|
667
|
+
isSlackThreadFollowingEnabled() {
|
|
668
|
+
const envValue = (process.env.CYRUS_SLACK_THREAD_FOLLOWING_DISABLED ?? "")
|
|
669
|
+
.toLowerCase()
|
|
670
|
+
.trim();
|
|
671
|
+
if (envValue === "true" || envValue === "1" || envValue === "yes") {
|
|
672
|
+
return false;
|
|
673
|
+
}
|
|
674
|
+
// Config toggle defaults to enabled when unset.
|
|
675
|
+
return this.config.slackThreadFollowing !== false;
|
|
676
|
+
}
|
|
645
677
|
/**
|
|
646
678
|
* Register the Slack event transport for receiving forwarded Slack webhooks from CYHOST.
|
|
647
679
|
* This creates a /slack-webhook endpoint that handles @mention events from Slack.
|
|
@@ -650,7 +682,15 @@ export class EdgeWorker extends EventEmitter {
|
|
|
650
682
|
// Live provider reads from the repository map on demand — no snapshot needed
|
|
651
683
|
const chatRepositoryProvider = new LiveChatRepositoryProvider(this.repositories, () => this.config.linearWorkspaces || {});
|
|
652
684
|
const routingContext = this.promptBuilder.generateRoutingContextForAllWorkspaces();
|
|
653
|
-
|
|
685
|
+
// Only managed teams (cloud or self-hosted, paired with cyrus-hosted)
|
|
686
|
+
// have a Behaviours page where automatic Slack thread listening can be
|
|
687
|
+
// turned off — CYRUS_API_KEY is proof of that pairing, so the
|
|
688
|
+
// stop-listening prompt guidance is gated on it. Community members
|
|
689
|
+
// don't have the key (or the page).
|
|
690
|
+
const cyrusAppBaseUrl = process.env.CYRUS_API_KEY
|
|
691
|
+
? getCyrusAppUrl()
|
|
692
|
+
: undefined;
|
|
693
|
+
const slackAdapter = new SlackChatAdapter(chatRepositoryProvider, this.logger, { repositoryRoutingContext: routingContext, cyrusAppBaseUrl });
|
|
654
694
|
if (!chatRepositoryProvider.getDefaultLinearWorkspaceId() ||
|
|
655
695
|
!chatRepositoryProvider.getDefaultRepository()) {
|
|
656
696
|
this.logger.warn("No repositories or workspaces configured — Slack sessions will not have access to MCP tools");
|
|
@@ -696,6 +736,9 @@ export class EdgeWorker extends EventEmitter {
|
|
|
696
736
|
fastifyServer: this.sharedApplicationServer.getFastifyInstance(),
|
|
697
737
|
verificationMode: slackVerificationMode,
|
|
698
738
|
secret: slackSecret,
|
|
739
|
+
// Live read so the per-team toggle (hot-reloaded via config) and the
|
|
740
|
+
// env kill-switch both take effect without rebuilding the transport.
|
|
741
|
+
isThreadFollowingEnabled: () => this.isSlackThreadFollowingEnabled(),
|
|
699
742
|
});
|
|
700
743
|
this.slackEventTransport.on("event", (event) => {
|
|
701
744
|
this.chatSessionHandler.handleEvent(event).catch((error) => {
|
|
@@ -719,11 +762,18 @@ export class EdgeWorker extends EventEmitter {
|
|
|
719
762
|
*/
|
|
720
763
|
/**
|
|
721
764
|
* Resolve a GitHub API token from (in priority order):
|
|
722
|
-
* 1.
|
|
723
|
-
*
|
|
724
|
-
*
|
|
725
|
-
|
|
726
|
-
|
|
765
|
+
* 1. Org-matched installation token from the local token store (pushed by
|
|
766
|
+
* cyrus-hosted via /api/update/github-tokens — multi-org support)
|
|
767
|
+
* 2. Forwarded installation token from CYHOST (cloud/proxy mode)
|
|
768
|
+
* 3. Self-minted installation token from GitHub App credentials (self-hosted)
|
|
769
|
+
* 4. Personal access token from GITHUB_TOKEN env var (fallback)
|
|
770
|
+
*/
|
|
771
|
+
async resolveGitHubToken(event, repository) {
|
|
772
|
+
if (repository?.githubUrl) {
|
|
773
|
+
const storedToken = this.githubTokenStore.getTokenForRepoUrl(repository.githubUrl);
|
|
774
|
+
if (storedToken)
|
|
775
|
+
return storedToken;
|
|
776
|
+
}
|
|
727
777
|
if (event.installationToken)
|
|
728
778
|
return event.installationToken;
|
|
729
779
|
if (this.gitHubAppTokenProvider) {
|
|
@@ -782,7 +832,7 @@ export class EdgeWorker extends EventEmitter {
|
|
|
782
832
|
}
|
|
783
833
|
this.logger.info(`Processing GitHub webhook: ${repoFullName}#${prNumber} by @${commentAuthor}${isPullRequestReview ? " (pull_request_review)" : ""}`);
|
|
784
834
|
// Add "eyes" reaction to acknowledge receipt (not for pull_request_review — we post a comment instead)
|
|
785
|
-
const reactionToken = await this.resolveGitHubToken(event);
|
|
835
|
+
const reactionToken = await this.resolveGitHubToken(event, this.findRepositoryByGitHubUrl(repoFullName) ?? undefined);
|
|
786
836
|
if (reactionToken && !isPullRequestReview) {
|
|
787
837
|
const commentId = extractCommentId(event);
|
|
788
838
|
if (commentId) {
|
|
@@ -1071,7 +1121,7 @@ Your base branch \`${branchName}\` has received ${commitCount} new commit(s). Co
|
|
|
1071
1121
|
* For issue_comment events, the branch refs are not in the payload
|
|
1072
1122
|
* and must be fetched from the GitHub API.
|
|
1073
1123
|
*/
|
|
1074
|
-
async fetchPRBranchRefs(event,
|
|
1124
|
+
async fetchPRBranchRefs(event, repository) {
|
|
1075
1125
|
if (!isIssueCommentPayload(event.payload))
|
|
1076
1126
|
return null;
|
|
1077
1127
|
const prUrl = event.payload.issue.pull_request?.url;
|
|
@@ -1085,8 +1135,8 @@ Your base branch \`${branchName}\` has received ${commitCount} new commit(s). Co
|
|
|
1085
1135
|
Accept: "application/vnd.github+json",
|
|
1086
1136
|
"X-GitHub-Api-Version": "2022-11-28",
|
|
1087
1137
|
};
|
|
1088
|
-
// Resolve GitHub token (installation token > App token > PAT)
|
|
1089
|
-
const token = await this.resolveGitHubToken(event);
|
|
1138
|
+
// Resolve GitHub token (org-matched store token > installation token > App token > PAT)
|
|
1139
|
+
const token = await this.resolveGitHubToken(event, repository);
|
|
1090
1140
|
if (token) {
|
|
1091
1141
|
headers.Authorization = `Bearer ${token}`;
|
|
1092
1142
|
}
|
|
@@ -1223,7 +1273,7 @@ ${taskSection}`;
|
|
|
1223
1273
|
/**
|
|
1224
1274
|
* Post a reply back to the GitHub PR comment after the session completes.
|
|
1225
1275
|
*/
|
|
1226
|
-
async postGitHubReply(event, runner,
|
|
1276
|
+
async postGitHubReply(event, runner, repository) {
|
|
1227
1277
|
try {
|
|
1228
1278
|
// Get the last assistant message from the runner as the summary
|
|
1229
1279
|
const messages = runner.getMessages();
|
|
@@ -1248,8 +1298,8 @@ ${taskSection}`;
|
|
|
1248
1298
|
this.logger.warn("Cannot post GitHub reply: no PR number");
|
|
1249
1299
|
return;
|
|
1250
1300
|
}
|
|
1251
|
-
// Resolve GitHub token (installation token > App token > PAT)
|
|
1252
|
-
const token = await this.resolveGitHubToken(event);
|
|
1301
|
+
// Resolve GitHub token (org-matched store token > installation token > App token > PAT)
|
|
1302
|
+
const token = await this.resolveGitHubToken(event, repository);
|
|
1253
1303
|
if (!token) {
|
|
1254
1304
|
this.logger.warn("Cannot post GitHub reply: no installation token or GITHUB_TOKEN configured");
|
|
1255
1305
|
this.logger.debug(`Would have posted reply to ${owner}/${repo}#${prNumber} (comment ${commentId}): ${summary}`);
|
|
@@ -2861,7 +2911,7 @@ ${taskSection}`;
|
|
|
2861
2911
|
...new Set([
|
|
2862
2912
|
attachmentsDir,
|
|
2863
2913
|
...allRepoPaths,
|
|
2864
|
-
...this.gitService.
|
|
2914
|
+
...this.gitService.getGitMetadataDirectoriesForWorkspace(workspace),
|
|
2865
2915
|
]),
|
|
2866
2916
|
];
|
|
2867
2917
|
this.logger.debug(`Configured allowed directories for ${fullIssue.identifier}:`, allowedDirectories);
|
|
@@ -4384,6 +4434,14 @@ ${input.userComment}
|
|
|
4384
4434
|
: this.config.githubMcpConfigs,
|
|
4385
4435
|
linearWorkspaceId,
|
|
4386
4436
|
cyrusHome: this.cyrusHome,
|
|
4437
|
+
// Org-matched GitHub App installation token (pushed by cyrus-hosted):
|
|
4438
|
+
// exposed to the session as GH_TOKEN / CYRUS_GH_TOKEN so `gh` and
|
|
4439
|
+
// other tools authenticate against this repo's org. Undefined when
|
|
4440
|
+
// no token store entry matches — zero behavior change for self-host
|
|
4441
|
+
// users without the token file.
|
|
4442
|
+
githubToken: repository.githubUrl
|
|
4443
|
+
? this.githubTokenStore.getTokenForRepoUrl(repository.githubUrl)
|
|
4444
|
+
: undefined,
|
|
4387
4445
|
logger: log,
|
|
4388
4446
|
plugins,
|
|
4389
4447
|
skills: allowedSkillNames,
|
|
@@ -4868,7 +4926,7 @@ ${input.userComment}
|
|
|
4868
4926
|
attachmentsDir,
|
|
4869
4927
|
repository.repositoryPath,
|
|
4870
4928
|
...additionalAllowedDirectories,
|
|
4871
|
-
...this.gitService.
|
|
4929
|
+
...this.gitService.getGitMetadataDirectoriesForWorkspace(session.workspace),
|
|
4872
4930
|
]),
|
|
4873
4931
|
];
|
|
4874
4932
|
const resumeSessionId = needsNewSession
|