@generacy-ai/orchestrator 0.7.0 → 0.9.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.
Files changed (145) hide show
  1. package/dist/config/loader.d.ts.map +1 -1
  2. package/dist/config/loader.js +47 -1
  3. package/dist/config/loader.js.map +1 -1
  4. package/dist/config/schema.d.ts +459 -0
  5. package/dist/config/schema.d.ts.map +1 -1
  6. package/dist/config/schema.js +13 -1
  7. package/dist/config/schema.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +3 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/launcher/agent-launcher.d.ts +15 -16
  13. package/dist/launcher/agent-launcher.d.ts.map +1 -1
  14. package/dist/launcher/agent-launcher.js +54 -23
  15. package/dist/launcher/agent-launcher.js.map +1 -1
  16. package/dist/launcher/constants.d.ts +5 -0
  17. package/dist/launcher/constants.d.ts.map +1 -0
  18. package/dist/launcher/constants.js +5 -0
  19. package/dist/launcher/constants.js.map +1 -0
  20. package/dist/launcher/errors.d.ts +15 -0
  21. package/dist/launcher/errors.d.ts.map +1 -0
  22. package/dist/launcher/errors.js +25 -0
  23. package/dist/launcher/errors.js.map +1 -0
  24. package/dist/launcher/generic-subprocess-plugin.d.ts +1 -0
  25. package/dist/launcher/generic-subprocess-plugin.d.ts.map +1 -1
  26. package/dist/launcher/generic-subprocess-plugin.js +2 -0
  27. package/dist/launcher/generic-subprocess-plugin.js.map +1 -1
  28. package/dist/launcher/index.d.ts +2 -1
  29. package/dist/launcher/index.d.ts.map +1 -1
  30. package/dist/launcher/index.js +1 -0
  31. package/dist/launcher/index.js.map +1 -1
  32. package/dist/launcher/types.d.ts +81 -4
  33. package/dist/launcher/types.d.ts.map +1 -1
  34. package/dist/routes/health.d.ts +7 -0
  35. package/dist/routes/health.d.ts.map +1 -1
  36. package/dist/routes/health.js +5 -0
  37. package/dist/routes/health.js.map +1 -1
  38. package/dist/routes/internal-relay-events.d.ts +2 -2
  39. package/dist/routes/internal-relay-events.d.ts.map +1 -1
  40. package/dist/routes/internal-relay-events.js +12 -0
  41. package/dist/routes/internal-relay-events.js.map +1 -1
  42. package/dist/routes/retained-tunnel-event.d.ts +20 -0
  43. package/dist/routes/retained-tunnel-event.d.ts.map +1 -0
  44. package/dist/routes/retained-tunnel-event.js +67 -0
  45. package/dist/routes/retained-tunnel-event.js.map +1 -0
  46. package/dist/server.d.ts.map +1 -1
  47. package/dist/server.js +168 -27
  48. package/dist/server.js.map +1 -1
  49. package/dist/services/adaptive-poll-controller.d.ts +75 -0
  50. package/dist/services/adaptive-poll-controller.d.ts.map +1 -0
  51. package/dist/services/adaptive-poll-controller.js +96 -0
  52. package/dist/services/adaptive-poll-controller.js.map +1 -0
  53. package/dist/services/clarification-answer-monitor-service.d.ts +71 -0
  54. package/dist/services/clarification-answer-monitor-service.d.ts.map +1 -0
  55. package/dist/services/clarification-answer-monitor-service.js +366 -0
  56. package/dist/services/clarification-answer-monitor-service.js.map +1 -0
  57. package/dist/services/failure-fingerprint-tracker.d.ts +28 -0
  58. package/dist/services/failure-fingerprint-tracker.d.ts.map +1 -0
  59. package/dist/services/failure-fingerprint-tracker.js +38 -0
  60. package/dist/services/failure-fingerprint-tracker.js.map +1 -0
  61. package/dist/services/index.d.ts +1 -0
  62. package/dist/services/index.d.ts.map +1 -1
  63. package/dist/services/index.js +3 -0
  64. package/dist/services/index.js.map +1 -1
  65. package/dist/services/label-monitor-service.d.ts +2 -2
  66. package/dist/services/label-monitor-service.d.ts.map +1 -1
  67. package/dist/services/label-monitor-service.js +33 -16
  68. package/dist/services/label-monitor-service.js.map +1 -1
  69. package/dist/services/merge-conflict-monitor-service.d.ts +1 -1
  70. package/dist/services/merge-conflict-monitor-service.d.ts.map +1 -1
  71. package/dist/services/merge-conflict-monitor-service.js +33 -13
  72. package/dist/services/merge-conflict-monitor-service.js.map +1 -1
  73. package/dist/services/post-activation-retry.d.ts +3 -0
  74. package/dist/services/post-activation-retry.d.ts.map +1 -1
  75. package/dist/services/post-activation-retry.js +34 -2
  76. package/dist/services/post-activation-retry.js.map +1 -1
  77. package/dist/services/pr-feedback-monitor-service.d.ts +1 -1
  78. package/dist/services/pr-feedback-monitor-service.d.ts.map +1 -1
  79. package/dist/services/pr-feedback-monitor-service.js +33 -16
  80. package/dist/services/pr-feedback-monitor-service.js.map +1 -1
  81. package/dist/services/relay-bridge.d.ts +1 -0
  82. package/dist/services/relay-bridge.d.ts.map +1 -1
  83. package/dist/services/relay-bridge.js +21 -0
  84. package/dist/services/relay-bridge.js.map +1 -1
  85. package/dist/services/smee-channel-resolver.d.ts +60 -0
  86. package/dist/services/smee-channel-resolver.d.ts.map +1 -0
  87. package/dist/services/smee-channel-resolver.js +177 -0
  88. package/dist/services/smee-channel-resolver.js.map +1 -0
  89. package/dist/services/webhook-setup-service.d.ts +115 -111
  90. package/dist/services/webhook-setup-service.d.ts.map +1 -1
  91. package/dist/services/webhook-setup-service.js +377 -209
  92. package/dist/services/webhook-setup-service.js.map +1 -1
  93. package/dist/types/api.d.ts +3 -0
  94. package/dist/types/api.d.ts.map +1 -1
  95. package/dist/types/api.js +1 -0
  96. package/dist/types/api.js.map +1 -1
  97. package/dist/types/monitor.d.ts +15 -2
  98. package/dist/types/monitor.d.ts.map +1 -1
  99. package/dist/worker/clarification-markers.d.ts +62 -0
  100. package/dist/worker/clarification-markers.d.ts.map +1 -1
  101. package/dist/worker/clarification-markers.js +101 -0
  102. package/dist/worker/clarification-markers.js.map +1 -1
  103. package/dist/worker/clarification-poster.d.ts +102 -6
  104. package/dist/worker/clarification-poster.d.ts.map +1 -1
  105. package/dist/worker/clarification-poster.js +299 -89
  106. package/dist/worker/clarification-poster.js.map +1 -1
  107. package/dist/worker/claude-cli-worker.d.ts +7 -0
  108. package/dist/worker/claude-cli-worker.d.ts.map +1 -1
  109. package/dist/worker/claude-cli-worker.js +7 -3
  110. package/dist/worker/claude-cli-worker.js.map +1 -1
  111. package/dist/worker/cli-spawner.d.ts.map +1 -1
  112. package/dist/worker/cli-spawner.js +2 -0
  113. package/dist/worker/cli-spawner.js.map +1 -1
  114. package/dist/worker/config.d.ts +396 -0
  115. package/dist/worker/config.d.ts.map +1 -1
  116. package/dist/worker/config.js +142 -0
  117. package/dist/worker/config.js.map +1 -1
  118. package/dist/worker/failure-fingerprint.d.ts +41 -0
  119. package/dist/worker/failure-fingerprint.d.ts.map +1 -0
  120. package/dist/worker/failure-fingerprint.js +75 -0
  121. package/dist/worker/failure-fingerprint.js.map +1 -0
  122. package/dist/worker/label-manager.d.ts +42 -0
  123. package/dist/worker/label-manager.d.ts.map +1 -1
  124. package/dist/worker/label-manager.js +108 -4
  125. package/dist/worker/label-manager.js.map +1 -1
  126. package/dist/worker/phase-loop.d.ts +30 -0
  127. package/dist/worker/phase-loop.d.ts.map +1 -1
  128. package/dist/worker/phase-loop.js +158 -27
  129. package/dist/worker/phase-loop.js.map +1 -1
  130. package/dist/worker/pr-feedback-handler.d.ts +13 -0
  131. package/dist/worker/pr-feedback-handler.d.ts.map +1 -1
  132. package/dist/worker/pr-feedback-handler.js +58 -3
  133. package/dist/worker/pr-feedback-handler.js.map +1 -1
  134. package/dist/worker/stage-comment-manager.d.ts +5 -0
  135. package/dist/worker/stage-comment-manager.d.ts.map +1 -1
  136. package/dist/worker/stage-comment-manager.js +8 -1
  137. package/dist/worker/stage-comment-manager.js.map +1 -1
  138. package/dist/worker/terminal-label-op-error.d.ts +1 -1
  139. package/dist/worker/terminal-label-op-error.d.ts.map +1 -1
  140. package/dist/worker/terminal-label-op-error.js.map +1 -1
  141. package/dist/worker/types.d.ts +51 -0
  142. package/dist/worker/types.d.ts.map +1 -1
  143. package/dist/worker/types.js +11 -0
  144. package/dist/worker/types.js.map +1 -1
  145. package/package.json +11 -7
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { isRetentionEligible, setRetainedTunnelEvent, } from './retained-tunnel-event.js';
2
3
  const ALLOWED_CHANNELS = [
3
4
  'cluster.vscode-tunnel',
4
5
  'cluster.audit',
@@ -33,6 +34,17 @@ export function setupInternalRelayEventsRoute(server, getRelayClient) {
33
34
  timestamp,
34
35
  });
35
36
  }
37
+ else if (event === 'cluster.vscode-tunnel') {
38
+ const eligibility = isRetentionEligible(data);
39
+ if (eligibility.eligible) {
40
+ setRetainedTunnelEvent({
41
+ event,
42
+ data,
43
+ timestamp,
44
+ status: eligibility.status,
45
+ });
46
+ }
47
+ }
36
48
  return reply.status(204).send();
37
49
  });
38
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"internal-relay-events.js","sourceRoot":"","sources":["../../src/routes/internal-relay-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,gBAAgB,GAAG;IACvB,uBAAuB;IACvB,eAAe;IACf,qBAAqB;IACrB,mBAAmB;IACnB,wBAAwB;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAIH,MAAM,UAAU,6BAA6B,CAC3C,MAAuB,EACvB,cAA+C;IAE/C,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,KAAK,EAAE,OAAuB,EAAE,KAAmB,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,sBAAsB;gBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAE/C,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK;gBACL,IAAI;gBACJ,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"internal-relay-events.js","sourceRoot":"","sources":["../../src/routes/internal-relay-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,gBAAgB,GAAG;IACvB,uBAAuB;IACvB,eAAe;IACf,qBAAqB;IACrB,mBAAmB;IACnB,wBAAwB;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAIH,MAAM,UAAU,6BAA6B,CAC3C,MAAuB,EACvB,cAA+C;IAE/C,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,KAAK,EAAE,OAAuB,EAAE,KAAmB,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,sBAAsB;gBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAE/C,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK;gBACL,IAAI;gBACJ,SAAS;aACV,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,KAAK,uBAAuB,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,sBAAsB,CAAC;oBACrB,KAAK;oBACL,IAAI;oBACJ,SAAS;oBACT,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ export type RetainedStatus = 'authorization_pending' | 'connected' | 'disconnected' | 'error';
2
+ export interface RetainedTunnelEvent {
3
+ event: 'cluster.vscode-tunnel';
4
+ data: unknown;
5
+ timestamp: string;
6
+ status: RetainedStatus;
7
+ }
8
+ declare const TERMINAL_STATUSES: ReadonlySet<RetainedStatus>;
9
+ declare const NON_LIFECYCLE_ERROR_MARKERS: readonly ["tunnel unregister timed out", "tunnel unregister exited with code", "tunnel unregister failed", "tunnel name collision"];
10
+ export declare function getRetainedTunnelEvent(): RetainedTunnelEvent | null;
11
+ export declare function setRetainedTunnelEvent(event: RetainedTunnelEvent): void;
12
+ export declare function clearRetainedTunnelEvent(): void;
13
+ export declare function isRetentionEligible(payload: unknown): {
14
+ eligible: true;
15
+ status: RetainedStatus;
16
+ } | {
17
+ eligible: false;
18
+ };
19
+ export { TERMINAL_STATUSES, NON_LIFECYCLE_ERROR_MARKERS };
20
+ //# sourceMappingURL=retained-tunnel-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retained-tunnel-event.d.ts","sourceRoot":"","sources":["../../src/routes/retained-tunnel-event.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GACtB,uBAAuB,GACvB,WAAW,GACX,cAAc,GACd,OAAO,CAAC;AAEZ,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;CACxB;AASD,QAAA,MAAM,iBAAiB,EAAE,WAAW,CAAC,cAAc,CAIjD,CAAC;AAKH,QAAA,MAAM,2BAA2B,qIAKvB,CAAC;AAWX,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,CAEnE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAevE;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,GAEd;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAC1C;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,CActB;AAED,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { z } from 'zod';
2
+ const RETAINED_STATUSES = [
3
+ 'authorization_pending',
4
+ 'connected',
5
+ 'disconnected',
6
+ 'error',
7
+ ];
8
+ const TERMINAL_STATUSES = new Set([
9
+ 'connected',
10
+ 'disconnected',
11
+ 'error',
12
+ ]);
13
+ // Emitted at exactly four call sites in
14
+ // packages/control-plane/src/services/vscode-tunnel-manager.ts. Matched with
15
+ // startsWith because two of them append variable text (exit code, err.message).
16
+ const NON_LIFECYCLE_ERROR_MARKERS = [
17
+ 'tunnel unregister timed out',
18
+ 'tunnel unregister exited with code',
19
+ 'tunnel unregister failed',
20
+ 'tunnel name collision',
21
+ ];
22
+ const RetainedTunnelEventDataSchema = z
23
+ .object({
24
+ status: z.enum(RETAINED_STATUSES),
25
+ error: z.string().optional(),
26
+ })
27
+ .passthrough();
28
+ let retained = null;
29
+ export function getRetainedTunnelEvent() {
30
+ return retained;
31
+ }
32
+ export function setRetainedTunnelEvent(event) {
33
+ const existing = retained;
34
+ if (existing === null) {
35
+ retained = event;
36
+ return;
37
+ }
38
+ if (existing.status === 'authorization_pending') {
39
+ retained = event;
40
+ return;
41
+ }
42
+ // Existing is terminal.
43
+ if (event.status === 'authorization_pending') {
44
+ return;
45
+ }
46
+ retained = event;
47
+ }
48
+ export function clearRetainedTunnelEvent() {
49
+ retained = null;
50
+ }
51
+ export function isRetentionEligible(payload) {
52
+ const parsed = RetainedTunnelEventDataSchema.safeParse(payload);
53
+ if (!parsed.success) {
54
+ return { eligible: false };
55
+ }
56
+ const { status, error } = parsed.data;
57
+ if (status === 'error' && typeof error === 'string') {
58
+ for (const marker of NON_LIFECYCLE_ERROR_MARKERS) {
59
+ if (error.startsWith(marker)) {
60
+ return { eligible: false };
61
+ }
62
+ }
63
+ }
64
+ return { eligible: true, status };
65
+ }
66
+ export { TERMINAL_STATUSES, NON_LIFECYCLE_ERROR_MARKERS };
67
+ //# sourceMappingURL=retained-tunnel-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retained-tunnel-event.js","sourceRoot":"","sources":["../../src/routes/retained-tunnel-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,MAAM,iBAAiB,GAAG;IACxB,uBAAuB;IACvB,WAAW;IACX,cAAc;IACd,OAAO;CACC,CAAC;AAEX,MAAM,iBAAiB,GAAgC,IAAI,GAAG,CAAC;IAC7D,WAAW;IACX,cAAc;IACd,OAAO;CACR,CAAC,CAAC;AAEH,wCAAwC;AACxC,6EAA6E;AAC7E,gFAAgF;AAChF,MAAM,2BAA2B,GAAG;IAClC,6BAA6B;IAC7B,oCAAoC;IACpC,0BAA0B;IAC1B,uBAAuB;CACf,CAAC;AAEX,MAAM,6BAA6B,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,IAAI,QAAQ,GAA+B,IAAI,CAAC;AAEhD,MAAM,UAAU,sBAAsB;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA0B;IAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC1B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;QAChD,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO;IACT,CAAC;IACD,wBAAwB;IACxB,IAAI,KAAK,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;QAC7C,OAAO;IACT,CAAC;IACD,QAAQ,GAAG,KAAK,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAgB;IAIhB,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACtC,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,2BAA2B,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAKnF,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,mBAAmB,CAAC;AAM1F,OAAO,EAAwB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AA4D5E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,iCAAiC;IACjC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmwB9F;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C1E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,eAAe,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAChD,OAAO,CAAC,eAAe,CAAC,CAG1B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,eAAe,CAAC,CAGvE;AA8PD,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,eAAe;QACvB,MAAM,EAAE,kBAAkB,CAAC;KAC5B;CACF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAKnF,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,mBAAmB,CAAC;AAM1F,OAAO,EAAwB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AA8D5E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,iCAAiC;IACjC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CAy6B9F;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C1E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,eAAe,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAChD,OAAO,CAAC,eAAe,CAAC,CAG1B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,eAAe,CAAC,CAGvE;AAgQD,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,eAAe;QACvB,MAAM,EAAE,kBAAkB,CAAC;KAC5B;CACF"}
package/dist/server.js CHANGED
@@ -18,12 +18,14 @@ import { LabelSyncService } from './services/label-sync-service.js';
18
18
  import { LabelMonitorService } from './services/label-monitor-service.js';
19
19
  import { PrFeedbackMonitorService } from './services/pr-feedback-monitor-service.js';
20
20
  import { MergeConflictMonitorService } from './services/merge-conflict-monitor-service.js';
21
+ import { ClarificationAnswerMonitorService } from './services/clarification-answer-monitor-service.js';
21
22
  import { BaseAdvanceMonitorService } from './services/base-advance-monitor-service.js';
22
23
  import { PhaseTrackerService } from './services/phase-tracker-service.js';
23
24
  import { RedisQueueAdapter } from './services/redis-queue-adapter.js';
24
25
  import { InMemoryQueueAdapter } from './services/in-memory-queue-adapter.js';
25
26
  import { WorkerDispatcher } from './services/worker-dispatcher.js';
26
27
  import { SmeeWebhookReceiver } from './services/smee-receiver.js';
28
+ import { SmeeChannelResolver } from './services/smee-channel-resolver.js';
27
29
  import { RelayBridge } from './services/relay-bridge.js';
28
30
  import { LeaseManager } from './services/lease-manager.js';
29
31
  import { WebhookSetupService } from './services/webhook-setup-service.js';
@@ -130,6 +132,12 @@ export async function createServer(options = {}) {
130
132
  // service does not emit until monitors call recordResult/maybeRequestRefresh,
131
133
  // which happens after server.listen() and (in wizard mode) after activation.
132
134
  let relayClientRef = null;
135
+ // #972: StatusReporter ref populated by `initializeRelayBridge()` on both
136
+ // wizard and existing-key paths. Read through by the WebhookSetupService
137
+ // fail-loud triple's `pushStatus('degraded', ...)` call; safe because the
138
+ // 403 fires from a network round-trip, so the ref is populated by the time
139
+ // it dereferences.
140
+ let statusReporterRef = null;
133
141
  const githubAuthHealth = !isWorkerMode
134
142
  ? new GitHubAuthHealthService({
135
143
  emitEvent: (payload) => {
@@ -268,10 +276,26 @@ export async function createServer(options = {}) {
268
276
  // (dedupe on validate-fix:<evidenceHash>). Redis is optional; when
269
277
  // absent the worker degrades gracefully to no fix cycle.
270
278
  const workerPhaseTracker = new PhaseTrackerService(server.log, redisClient);
279
+ // #942: FailureFingerprintTracker — scans issue failure-alert comments to
280
+ // count prior same-fingerprint failures. Construction is best-effort:
281
+ // if it throws (should never happen for the GitHub-scan impl since it's a
282
+ // pure ctor), we log and pass undefined so escalation degrades to a no-op.
283
+ let workerFailureFingerprintTracker;
284
+ try {
285
+ const { GitHubCommentFailureFingerprintTracker } = await import('./services/failure-fingerprint-tracker.js');
286
+ const trackerGithub = createGitHubClient();
287
+ workerFailureFingerprintTracker = new GitHubCommentFailureFingerprintTracker(trackerGithub, server.log);
288
+ }
289
+ catch (err) {
290
+ server.log.warn({ err: err instanceof Error ? err.message : String(err) }, 'Failed to construct FailureFingerprintTracker — repeat-failure escalation disabled');
291
+ }
271
292
  const cliWorker = new ClaudeCliWorker(config.worker, server.log, {
272
293
  jobEventEmitter,
273
294
  tokenProvider: githubTokenProvider,
274
295
  phaseTracker: workerPhaseTracker,
296
+ ...(workerFailureFingerprintTracker
297
+ ? { failureFingerprintTracker: workerFailureFingerprintTracker }
298
+ : {}),
275
299
  });
276
300
  // #889: terminal-failure recovery handler. On WorkerResult.failed-terminal:
277
301
  // (a) best-effort agent:error label add via a fresh LabelManager;
@@ -293,18 +317,26 @@ export async function createServer(options = {}) {
293
317
  }
294
318
  try {
295
319
  const stageCommentManager = new StageCommentManager(github, item.owner, item.repo, item.issueNumber, server.log);
320
+ const { computeFailureFingerprint } = await import('./worker/failure-fingerprint.js');
296
321
  const runId = crypto.randomUUID();
322
+ const evidence = {
323
+ command: `gh (${failureMetadata.labelOp})`,
324
+ exitDescriptor: 'exited 1',
325
+ // #890 renamed CommandExitEvidence.stderrTail → outputTail.
326
+ outputTail: failureMetadata.ghStderr,
327
+ };
328
+ // #942: label-op alerts still get a fingerprint marker so the comment
329
+ // renders consistently. No history lookup — we're outside the phase
330
+ // loop, occurrence is always 1.
331
+ const fingerprint = computeFailureFingerprint({ phase: failureMetadata.site, evidence });
297
332
  await stageCommentManager.postFailureAlert({
298
333
  stage: 'label-op',
299
334
  runId,
300
335
  phase: failureMetadata.site,
301
336
  labelOp: failureMetadata.labelOp,
302
- evidence: {
303
- command: `gh (${failureMetadata.labelOp})`,
304
- exitDescriptor: 'exited 1',
305
- // #890 renamed CommandExitEvidence.stderrTail → outputTail.
306
- outputTail: failureMetadata.ghStderr,
307
- },
337
+ evidence,
338
+ fingerprint,
339
+ occurrence: 1,
308
340
  });
309
341
  }
310
342
  catch (err) {
@@ -330,6 +362,7 @@ export async function createServer(options = {}) {
330
362
  let labelMonitorService = null;
331
363
  let prFeedbackMonitorService = null;
332
364
  let mergeConflictMonitorService = null;
365
+ let clarificationAnswerMonitorService = null;
333
366
  let baseAdvanceMonitorService = null;
334
367
  let smeeReceiver = null;
335
368
  if (!isWorkerMode && config.labelMonitor && config.repositories.length > 0) {
@@ -339,22 +372,126 @@ export async function createServer(options = {}) {
339
372
  const monitorConfig = config.smee.channelUrl
340
373
  ? { ...config.monitor, pollIntervalMs: config.smee.fallbackPollIntervalMs, adaptivePolling: false }
341
374
  : config.monitor;
342
- labelMonitorService = new LabelMonitorService(server.log, createGitHubClient, phaseTracker, queueAdapter, monitorConfig, config.repositories, clusterGithubUsername, githubTokenProvider, githubAuthHealth ?? undefined, githubAppCredentialId);
343
- // Create SmeeWebhookReceiver if Smee channel URL is configured
344
- if (config.smee.channelUrl) {
375
+ labelMonitorService = new LabelMonitorService(server.log, createGitHubClient, phaseTracker, queueAdapter, monitorConfig, config.repositories, clusterGithubUsername, githubTokenProvider, githubAuthHealth ?? undefined, githubAppCredentialId, config.smee.channelUrl != null);
376
+ // Wire the smee pipeline (receiver + optional webhook setup) for a resolved URL.
377
+ // Captures labelMonitorService, config, githubTokenProvider, clusterGithubUsername
378
+ // from the enclosing scope. See specs/952-summary-no-automated-cluster/contracts/server-pipeline.md.
379
+ const startSmeePipeline = (channelUrl) => {
345
380
  const watchedRepos = new Set(config.repositories.map(r => `${r.owner}/${r.repo}`));
346
- smeeReceiver = new SmeeWebhookReceiver(server.log, labelMonitorService, { channelUrl: config.smee.channelUrl, watchedRepos, clusterGithubUsername });
347
- server.log.info({ channelUrl: config.smee.channelUrl }, 'Smee webhook receiver configured');
381
+ const receiver = new SmeeWebhookReceiver(server.log, labelMonitorService, { channelUrl, watchedRepos, clusterGithubUsername });
382
+ smeeReceiver = receiver;
383
+ server.log.info({ channelUrl }, 'Smee webhook receiver configured');
384
+ receiver.start().catch((error) => {
385
+ server.log.error({ err: error }, 'Smee webhook receiver failed');
386
+ });
387
+ if (config.webhookSetup.enabled) {
388
+ // #972: DI hooks for fail-loud triple on webhook-registration 403.
389
+ // - sendRelayEvent: mirrors the closure used by PostActivationRetryService
390
+ // / BootResumeService at the initializeRelayBridge sites; dereferences
391
+ // relayClientRef at emit time so late relay-client init is tolerated.
392
+ // - statusReporter: exposes the same StatusReporter instance the relay
393
+ // bridge init returns; wrapped as a thin object so the ref is read
394
+ // at pushStatus() call time (the 403 fires from a network round-trip,
395
+ // so the ref is populated by then even on the wizard-mode path).
396
+ // - channelFilePath: same path SmeeChannelResolver writes to.
397
+ // - installationIdProvider: null in v1 — installation id is not stored
398
+ // in .agency/credentials.yaml (it lives inside the sealed credential
399
+ // value in credentials.dat). Diagnostic-only per spec, so falling
400
+ // back to null is safe (data-model.md §"WebhookRegistrationForbiddenEvent").
401
+ const webhookSetupService = new WebhookSetupService(server.log, githubTokenProvider, {
402
+ sendRelayEvent: (channel, payload) => {
403
+ const client = relayClientRef;
404
+ if (!client || !client.isConnected)
405
+ return;
406
+ client.send({
407
+ type: 'event',
408
+ event: channel,
409
+ data: payload,
410
+ timestamp: new Date().toISOString(),
411
+ });
412
+ },
413
+ statusReporter: {
414
+ pushStatus: async (status, reason) => {
415
+ const reporter = statusReporterRef;
416
+ if (!reporter)
417
+ return;
418
+ await reporter.pushStatus(status, reason);
419
+ },
420
+ },
421
+ channelFilePath: config.smee.channelFilePath,
422
+ installationIdProvider: async () => null,
423
+ });
424
+ webhookSetupService.ensureWebhooks(channelUrl, config.repositories).catch((error) => {
425
+ server.log.error({ err: error }, 'Webhook setup failed');
426
+ });
427
+ }
428
+ else {
429
+ // #954: surface the deliberate webhook-setup opt-out rather than
430
+ // staying silent. Fires whenever a smee pipeline starts (static,
431
+ // persisted, or provisioned channel) while auto-setup is disabled —
432
+ // no GitHub webhooks will be created for the monitored repos.
433
+ server.log.info({ remediation: ['GENERACY_WEBHOOK_SETUP_ENABLED', 'orchestrator.webhookSetup.enabled'] }, 'Webhook auto-setup disabled; no GitHub webhooks will be created for monitored repos');
434
+ }
435
+ };
436
+ if (config.smee.channelUrl) {
437
+ // Env/yaml URL path: preserve today's synchronous ordering so `smeeReceiver`
438
+ // is non-null before onReady runs (existing tests rely on this).
439
+ startSmeePipeline(config.smee.channelUrl);
440
+ }
441
+ else {
442
+ // No URL configured: kick off async resolver after server.listen() via onReady.
443
+ // Fire-and-forget; never blocks listen. Belt-and-braces predicate matches the
444
+ // outer gate so future refactors can't accidentally invoke on worker-mode boot.
445
+ server.addHook('onReady', async () => {
446
+ if (isWorkerMode || !config.labelMonitor || config.repositories.length === 0)
447
+ return;
448
+ const resolver = new SmeeChannelResolver(server.log, {
449
+ channelFilePath: config.smee.channelFilePath,
450
+ workspaceMirrorPath: config.smee.workspaceMirrorPath === ''
451
+ ? undefined
452
+ : config.smee.workspaceMirrorPath,
453
+ });
454
+ resolver.resolve()
455
+ .then((result) => {
456
+ if (result) {
457
+ server.log.info({ channelUrl: result.channelUrl, source: result.source }, 'Resolved smee channel URL — starting pipeline');
458
+ startSmeePipeline(result.channelUrl);
459
+ }
460
+ else {
461
+ // #954: the cluster is genuinely webhook-less — no static URL,
462
+ // no persisted channel, and provisioning failed — so polling is
463
+ // the only feeder. Emit the polling-fallback summary with the
464
+ // resulting latency characteristics + remediation pointers. This
465
+ // is the true "no smee" moment under the #952 resolver model
466
+ // (not construction time, where a channel may still be resolved).
467
+ server.log.warn({
468
+ pollIntervalMs: monitorConfig.pollIntervalMs,
469
+ completedCheckInterval: LabelMonitorService.COMPLETED_CHECK_INTERVAL,
470
+ processLatencyMs: monitorConfig.pollIntervalMs,
471
+ completedLatencyMs: monitorConfig.pollIntervalMs * LabelMonitorService.COMPLETED_CHECK_INTERVAL,
472
+ remediation: ['SMEE_CHANNEL_URL', 'orchestrator.smeeChannelUrl'],
473
+ }, 'No smee channel configured; polling fallback active');
474
+ }
475
+ })
476
+ .catch((error) => {
477
+ server.log.error({ err: error }, 'Unexpected error resolving smee channel URL');
478
+ });
479
+ });
348
480
  }
349
481
  // Initialize PR feedback monitor service (if enabled). #879: in-flight
350
482
  // dedupe via QueueManager.enqueueIfAbsent; no PhaseTracker dependency.
351
483
  if (config.prMonitor.enabled) {
352
- prFeedbackMonitorService = new PrFeedbackMonitorService(server.log, createGitHubClient, queueAdapter, config.prMonitor, config.repositories, clusterGithubUsername, githubTokenProvider, githubAuthHealth ?? undefined, githubAppCredentialId);
484
+ prFeedbackMonitorService = new PrFeedbackMonitorService(server.log, createGitHubClient, queueAdapter, config.prMonitor, config.repositories, clusterGithubUsername, githubTokenProvider, githubAuthHealth ?? undefined, githubAppCredentialId, false);
353
485
  // #898: Merge-conflict monitor reuses the PR-monitor config for poll
354
486
  // cadence (same order of magnitude). Enqueues `resolve-merge-conflicts`
355
487
  // items when the pause label pair (`waiting-for:merge-conflicts` +
356
488
  // `agent:paused`) is detected on an assigned open issue.
357
- mergeConflictMonitorService = new MergeConflictMonitorService(server.log, createGitHubClient, queueAdapter, config.prMonitor, config.repositories, clusterGithubUsername, githubTokenProvider, githubAuthHealth ?? undefined, githubAppCredentialId);
489
+ mergeConflictMonitorService = new MergeConflictMonitorService(server.log, createGitHubClient, queueAdapter, config.prMonitor, config.repositories, clusterGithubUsername, githubTokenProvider, githubAuthHealth ?? undefined, githubAppCredentialId, false);
490
+ // #958 T015: Clarification-answer monitor — sibling of merge-conflict
491
+ // monitor. Enqueues `continue` resumes when a plain human comment
492
+ // arrives on a `waiting-for:clarification` + `agent:paused` issue.
493
+ // Never applies `completed:clarification` (FR-011).
494
+ clarificationAnswerMonitorService = new ClarificationAnswerMonitorService(server.log, createGitHubClient, queueAdapter, config.prMonitor, config.repositories, clusterGithubUsername, githubTokenProvider, githubAuthHealth ?? undefined, githubAppCredentialId);
358
495
  }
359
496
  // #892: Initialize base-advance monitor. Enqueues a resume for any open PR
360
497
  // sitting at `failed:validate` whose base branch head SHA has advanced.
@@ -429,7 +566,7 @@ export async function createServer(options = {}) {
429
566
  relayBridgeRef = bridge;
430
567
  conversationManager = convMgr;
431
568
  activationPending = false;
432
- }, (client) => { relayClientRef = client; }).catch((error) => {
569
+ }, (client) => { relayClientRef = client; }, (reporter) => { statusReporterRef = reporter; }).catch((error) => {
433
570
  activationPending = false;
434
571
  server.log.warn(`Cluster activation skipped: ${error instanceof Error ? error.message : String(error)}`);
435
572
  });
@@ -439,6 +576,7 @@ export async function createServer(options = {}) {
439
576
  const result = await initializeRelayBridge(config, server, apiKeyStore, (client) => { relayClientRef = client; });
440
577
  relayBridge = result.relayBridge;
441
578
  relayBridgeRef = result.relayBridge;
579
+ statusReporterRef = result.statusReporter;
442
580
  // Detect identity split (env GENERACY_CLUSTER_ID vs persisted cluster.json.cluster_id).
443
581
  // Best-effort: drops event if relay client unavailable. Once per process lifetime (#750).
444
582
  detectIdentitySplit({
@@ -487,6 +625,7 @@ export async function createServer(options = {}) {
487
625
  displayName: config.cluster?.displayName,
488
626
  },
489
627
  githubAuth: () => githubAuthHealth?.snapshot(),
628
+ smeeConfigured: !!config.smee.channelUrl,
490
629
  });
491
630
  await setupDispatchRoutes(server, queueAdapter);
492
631
  }
@@ -513,6 +652,7 @@ export async function createServer(options = {}) {
513
652
  displayName: config.cluster?.displayName,
514
653
  },
515
654
  githubAuth: () => githubAuthHealth?.snapshot(),
655
+ smeeConfigured: !!config.smee.channelUrl,
516
656
  },
517
657
  });
518
658
  // Register webhook routes inside an encapsulated plugin so the custom
@@ -596,25 +736,22 @@ export async function createServer(options = {}) {
596
736
  server.log.error({ err: error }, 'Merge-conflict monitor polling failed');
597
737
  });
598
738
  }
739
+ if (clarificationAnswerMonitorService) {
740
+ clarificationAnswerMonitorService.startPolling().catch((error) => {
741
+ server.log.error({ err: error }, 'Clarification-answer monitor polling failed');
742
+ });
743
+ }
599
744
  if (baseAdvanceMonitorService) {
600
745
  baseAdvanceMonitorService.startPolling().catch((error) => {
601
746
  server.log.error({ err: error }, 'Base-advance monitor polling failed');
602
747
  });
603
748
  }
604
- if (smeeReceiver) {
605
- smeeReceiver.start().catch((error) => {
606
- server.log.error({ err: error }, 'Smee webhook receiver failed');
607
- });
608
- }
749
+ // smeeReceiver.start() and WebhookSetupService.ensureWebhooks() are invoked
750
+ // from startSmeePipeline() at construction time (sync path) or from the
751
+ // resolver's .then() callback (async path); no separate onReady wiring needed.
609
752
  if (credentialExpiryWatcher) {
610
753
  credentialExpiryWatcher.start();
611
754
  }
612
- if (config.webhookSetup.enabled && config.smee.channelUrl) {
613
- const webhookSetupService = new WebhookSetupService(server.log, githubTokenProvider);
614
- webhookSetupService.ensureWebhooks(config.smee.channelUrl, config.repositories).catch((error) => {
615
- server.log.error({ err: error }, 'Webhook setup failed');
616
- });
617
- }
618
755
  // Only start relay bridge here if it was initialized synchronously.
619
756
  // The background activation path calls relayBridge.start() itself.
620
757
  if (relayBridge && !activationPending) {
@@ -662,6 +799,9 @@ export async function createServer(options = {}) {
662
799
  if (mergeConflictMonitorService) {
663
800
  mergeConflictMonitorService.stopPolling();
664
801
  }
802
+ if (clarificationAnswerMonitorService) {
803
+ clarificationAnswerMonitorService.stopPolling();
804
+ }
665
805
  if (baseAdvanceMonitorService) {
666
806
  await baseAdvanceMonitorService.stopPolling();
667
807
  }
@@ -742,7 +882,7 @@ export async function createProductionServer() {
742
882
  * Run cluster activation in the background so server.listen() is not blocked.
743
883
  * On success, initializes relay bridge, conversation manager, and starts the relay.
744
884
  */
745
- async function activateInBackground(config, server, apiKeyStore, onInitialized, setRelayClient) {
885
+ async function activateInBackground(config, server, apiKeyStore, onInitialized, setRelayClient, setStatusReporter) {
746
886
  const initialWorkersRaw = process.env['GENERACY_INITIAL_WORKERS'];
747
887
  let initialWorkers;
748
888
  if (initialWorkersRaw != null && initialWorkersRaw !== '') {
@@ -780,10 +920,11 @@ async function activateInBackground(config, server, apiKeyStore, onInitialized,
780
920
  }
781
921
  server.log.info('Cluster activation complete');
782
922
  let localRelayClient = null;
783
- const { relayBridge } = await initializeRelayBridge(config, server, apiKeyStore, (client) => {
923
+ const { relayBridge, statusReporter } = await initializeRelayBridge(config, server, apiKeyStore, (client) => {
784
924
  localRelayClient = client;
785
925
  setRelayClient?.(client);
786
926
  });
927
+ setStatusReporter?.(statusReporter);
787
928
  const conversationManager = await initializeConversationManager(config, server, relayBridge);
788
929
  onInitialized(relayBridge, conversationManager);
789
930
  // Server is already listening — start relay bridge directly.
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}