@generacy-ai/generacy 0.4.0 → 0.6.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 (137) hide show
  1. package/dist/cli/commands/cockpit/clarification-answer-marker.d.ts +8 -0
  2. package/dist/cli/commands/cockpit/clarification-answer-marker.d.ts.map +1 -0
  3. package/dist/cli/commands/cockpit/clarification-answer-marker.js +76 -0
  4. package/dist/cli/commands/cockpit/clarification-answer-marker.js.map +1 -0
  5. package/dist/cli/commands/cockpit/clarification-comment-finder.d.ts.map +1 -1
  6. package/dist/cli/commands/cockpit/clarification-comment-finder.js +33 -3
  7. package/dist/cli/commands/cockpit/clarification-comment-finder.js.map +1 -1
  8. package/dist/cli/commands/cockpit/clarify-relay.d.ts +38 -0
  9. package/dist/cli/commands/cockpit/clarify-relay.d.ts.map +1 -0
  10. package/dist/cli/commands/cockpit/clarify-relay.js +120 -0
  11. package/dist/cli/commands/cockpit/clarify-relay.js.map +1 -0
  12. package/dist/cli/commands/cockpit/doorbell/aggregate-on-demand.d.ts +43 -0
  13. package/dist/cli/commands/cockpit/doorbell/aggregate-on-demand.d.ts.map +1 -0
  14. package/dist/cli/commands/cockpit/doorbell/aggregate-on-demand.js +72 -0
  15. package/dist/cli/commands/cockpit/doorbell/aggregate-on-demand.js.map +1 -0
  16. package/dist/cli/commands/cockpit/doorbell/channel-discovery.d.ts +37 -0
  17. package/dist/cli/commands/cockpit/doorbell/channel-discovery.d.ts.map +1 -0
  18. package/dist/cli/commands/cockpit/doorbell/channel-discovery.js +92 -0
  19. package/dist/cli/commands/cockpit/doorbell/channel-discovery.js.map +1 -0
  20. package/dist/cli/commands/cockpit/doorbell/smee-source.d.ts +73 -0
  21. package/dist/cli/commands/cockpit/doorbell/smee-source.d.ts.map +1 -0
  22. package/dist/cli/commands/cockpit/doorbell/smee-source.js +362 -0
  23. package/dist/cli/commands/cockpit/doorbell/smee-source.js.map +1 -0
  24. package/dist/cli/commands/cockpit/doorbell/source-selector.d.ts +56 -0
  25. package/dist/cli/commands/cockpit/doorbell/source-selector.d.ts.map +1 -0
  26. package/dist/cli/commands/cockpit/doorbell/source-selector.js +182 -0
  27. package/dist/cli/commands/cockpit/doorbell/source-selector.js.map +1 -0
  28. package/dist/cli/commands/cockpit/doorbell/sse-parser.d.ts +15 -0
  29. package/dist/cli/commands/cockpit/doorbell/sse-parser.d.ts.map +1 -0
  30. package/dist/cli/commands/cockpit/doorbell/sse-parser.js +43 -0
  31. package/dist/cli/commands/cockpit/doorbell/sse-parser.js.map +1 -0
  32. package/dist/cli/commands/cockpit/doorbell/startup-retry.d.ts +55 -0
  33. package/dist/cli/commands/cockpit/doorbell/startup-retry.d.ts.map +1 -0
  34. package/dist/cli/commands/cockpit/doorbell/startup-retry.js +159 -0
  35. package/dist/cli/commands/cockpit/doorbell/startup-retry.js.map +1 -0
  36. package/dist/cli/commands/cockpit/doorbell/subscribe.d.ts +19 -0
  37. package/dist/cli/commands/cockpit/doorbell/subscribe.d.ts.map +1 -0
  38. package/dist/cli/commands/cockpit/doorbell/subscribe.js +54 -0
  39. package/dist/cli/commands/cockpit/doorbell/subscribe.js.map +1 -0
  40. package/dist/cli/commands/cockpit/doorbell/webhook-to-event.d.ts +28 -0
  41. package/dist/cli/commands/cockpit/doorbell/webhook-to-event.d.ts.map +1 -0
  42. package/dist/cli/commands/cockpit/doorbell/webhook-to-event.js +159 -0
  43. package/dist/cli/commands/cockpit/doorbell/webhook-to-event.js.map +1 -0
  44. package/dist/cli/commands/cockpit/doorbell.d.ts +58 -0
  45. package/dist/cli/commands/cockpit/doorbell.d.ts.map +1 -0
  46. package/dist/cli/commands/cockpit/doorbell.js +477 -0
  47. package/dist/cli/commands/cockpit/doorbell.js.map +1 -0
  48. package/dist/cli/commands/cockpit/index.d.ts +1 -0
  49. package/dist/cli/commands/cockpit/index.d.ts.map +1 -1
  50. package/dist/cli/commands/cockpit/index.js +5 -0
  51. package/dist/cli/commands/cockpit/index.js.map +1 -1
  52. package/dist/cli/commands/cockpit/mcp/errors.d.ts +1 -1
  53. package/dist/cli/commands/cockpit/mcp/errors.d.ts.map +1 -1
  54. package/dist/cli/commands/cockpit/mcp/errors.js.map +1 -1
  55. package/dist/cli/commands/cockpit/mcp/event-bus-registry.d.ts +2 -1
  56. package/dist/cli/commands/cockpit/mcp/event-bus-registry.d.ts.map +1 -1
  57. package/dist/cli/commands/cockpit/mcp/event-bus-registry.js +38 -9
  58. package/dist/cli/commands/cockpit/mcp/event-bus-registry.js.map +1 -1
  59. package/dist/cli/commands/cockpit/mcp/schemas.d.ts +184 -1
  60. package/dist/cli/commands/cockpit/mcp/schemas.d.ts.map +1 -1
  61. package/dist/cli/commands/cockpit/mcp/schemas.js +43 -2
  62. package/dist/cli/commands/cockpit/mcp/schemas.js.map +1 -1
  63. package/dist/cli/commands/cockpit/mcp/server.d.ts.map +1 -1
  64. package/dist/cli/commands/cockpit/mcp/server.js +16 -1
  65. package/dist/cli/commands/cockpit/mcp/server.js.map +1 -1
  66. package/dist/cli/commands/cockpit/mcp/tools/cockpit_queue.d.ts +19 -3
  67. package/dist/cli/commands/cockpit/mcp/tools/cockpit_queue.d.ts.map +1 -1
  68. package/dist/cli/commands/cockpit/mcp/tools/cockpit_queue.js +40 -2
  69. package/dist/cli/commands/cockpit/mcp/tools/cockpit_queue.js.map +1 -1
  70. package/dist/cli/commands/cockpit/mcp/tools/cockpit_relay_clarify_answers.d.ts +45 -0
  71. package/dist/cli/commands/cockpit/mcp/tools/cockpit_relay_clarify_answers.d.ts.map +1 -0
  72. package/dist/cli/commands/cockpit/mcp/tools/cockpit_relay_clarify_answers.js +45 -0
  73. package/dist/cli/commands/cockpit/mcp/tools/cockpit_relay_clarify_answers.js.map +1 -0
  74. package/dist/cli/commands/cockpit/mcp/tools/cockpit_scope_add.d.ts +31 -0
  75. package/dist/cli/commands/cockpit/mcp/tools/cockpit_scope_add.d.ts.map +1 -0
  76. package/dist/cli/commands/cockpit/mcp/tools/cockpit_scope_add.js +81 -0
  77. package/dist/cli/commands/cockpit/mcp/tools/cockpit_scope_add.js.map +1 -0
  78. package/dist/cli/commands/cockpit/mcp/tools/cockpit_scope_remove.d.ts +30 -0
  79. package/dist/cli/commands/cockpit/mcp/tools/cockpit_scope_remove.d.ts.map +1 -0
  80. package/dist/cli/commands/cockpit/mcp/tools/cockpit_scope_remove.js +80 -0
  81. package/dist/cli/commands/cockpit/mcp/tools/cockpit_scope_remove.js.map +1 -0
  82. package/dist/cli/commands/cockpit/queue.d.ts +15 -0
  83. package/dist/cli/commands/cockpit/queue.d.ts.map +1 -1
  84. package/dist/cli/commands/cockpit/queue.js +142 -29
  85. package/dist/cli/commands/cockpit/queue.js.map +1 -1
  86. package/dist/cli/commands/cockpit/resume.d.ts +12 -6
  87. package/dist/cli/commands/cockpit/resume.d.ts.map +1 -1
  88. package/dist/cli/commands/cockpit/resume.js +27 -11
  89. package/dist/cli/commands/cockpit/resume.js.map +1 -1
  90. package/dist/cli/commands/cockpit/scope/errors.d.ts +21 -0
  91. package/dist/cli/commands/cockpit/scope/errors.d.ts.map +1 -0
  92. package/dist/cli/commands/cockpit/scope/errors.js +17 -0
  93. package/dist/cli/commands/cockpit/scope/errors.js.map +1 -0
  94. package/dist/cli/commands/cockpit/scope/retry.d.ts +24 -0
  95. package/dist/cli/commands/cockpit/scope/retry.d.ts.map +1 -0
  96. package/dist/cli/commands/cockpit/scope/retry.js +52 -0
  97. package/dist/cli/commands/cockpit/scope/retry.js.map +1 -0
  98. package/dist/cli/commands/cockpit/scope/writer.d.ts +21 -0
  99. package/dist/cli/commands/cockpit/scope/writer.d.ts.map +1 -0
  100. package/dist/cli/commands/cockpit/scope/writer.js +141 -0
  101. package/dist/cli/commands/cockpit/scope/writer.js.map +1 -0
  102. package/dist/cli/commands/cockpit/scope.d.ts +22 -0
  103. package/dist/cli/commands/cockpit/scope.d.ts.map +1 -0
  104. package/dist/cli/commands/cockpit/scope.js +110 -0
  105. package/dist/cli/commands/cockpit/scope.js.map +1 -0
  106. package/dist/cli/commands/cockpit/status/group.d.ts +4 -2
  107. package/dist/cli/commands/cockpit/status/group.d.ts.map +1 -1
  108. package/dist/cli/commands/cockpit/status/group.js +17 -2
  109. package/dist/cli/commands/cockpit/status/group.js.map +1 -1
  110. package/dist/cli/commands/cockpit/status.d.ts.map +1 -1
  111. package/dist/cli/commands/cockpit/status.js +17 -2
  112. package/dist/cli/commands/cockpit/status.js.map +1 -1
  113. package/dist/cli/commands/cockpit/watch/diff.d.ts +6 -2
  114. package/dist/cli/commands/cockpit/watch/diff.d.ts.map +1 -1
  115. package/dist/cli/commands/cockpit/watch/diff.js +11 -3
  116. package/dist/cli/commands/cockpit/watch/diff.js.map +1 -1
  117. package/dist/cli/commands/cockpit/watch/poll-loop.d.ts +2 -0
  118. package/dist/cli/commands/cockpit/watch/poll-loop.d.ts.map +1 -1
  119. package/dist/cli/commands/cockpit/watch/poll-loop.js +38 -6
  120. package/dist/cli/commands/cockpit/watch/poll-loop.js.map +1 -1
  121. package/dist/cli/commands/cockpit/watch/pr-state.d.ts +15 -1
  122. package/dist/cli/commands/cockpit/watch/pr-state.d.ts.map +1 -1
  123. package/dist/cli/commands/cockpit/watch/pr-state.js +38 -0
  124. package/dist/cli/commands/cockpit/watch/pr-state.js.map +1 -1
  125. package/dist/cli/commands/cockpit/watch/snapshot.d.ts +6 -1
  126. package/dist/cli/commands/cockpit/watch/snapshot.d.ts.map +1 -1
  127. package/dist/cli/commands/cockpit/watch/snapshot.js +3 -1
  128. package/dist/cli/commands/cockpit/watch/snapshot.js.map +1 -1
  129. package/dist/cli/commands/cockpit/watch.d.ts +2 -1
  130. package/dist/cli/commands/cockpit/watch.d.ts.map +1 -1
  131. package/dist/cli/commands/cockpit/watch.js +25 -13
  132. package/dist/cli/commands/cockpit/watch.js.map +1 -1
  133. package/dist/config/schema.d.ts +788 -0
  134. package/dist/config/schema.d.ts.map +1 -1
  135. package/dist/config/schema.js +12 -1
  136. package/dist/config/schema.js.map +1 -1
  137. package/package.json +6 -6
@@ -27,6 +27,7 @@ const DEFAULT_INTERVAL_MS = 30_000;
27
27
  const DEFAULT_IDLE_TTL_MS = 600_000;
28
28
  /** Env knob `COCKPIT_MCP_BUS_MAX` — soft cap on live buses. */
29
29
  const DEFAULT_MAX_BUSES = 100;
30
+ const EPIC_REFRESH_CYCLES = 10;
30
31
  function parsePositiveIntEnv(raw, fallback, name, logger) {
31
32
  if (raw == null || raw === '')
32
33
  return fallback;
@@ -60,6 +61,7 @@ export async function acquireEpicBus(options) {
60
61
  // concurrent-caller acquires (refcount was already > 0) skip it.
61
62
  if (wasPaused) {
62
63
  await existing.catchUpPoll();
64
+ existing.markSkipNextCycle();
63
65
  existing.resumePoller();
64
66
  }
65
67
  return { bus: existing.bus, release: () => releaseKey(expandedRef) };
@@ -87,6 +89,7 @@ export async function acquireEpicBus(options) {
87
89
  pausePoller: () => undefined,
88
90
  resumePoller: () => undefined,
89
91
  catchUpPoll: async () => undefined,
92
+ markSkipNextCycle: () => undefined,
90
93
  idleTimer: null,
91
94
  lastActiveAt: now(),
92
95
  idleTtlMs,
@@ -97,16 +100,20 @@ export async function acquireEpicBus(options) {
97
100
  }
98
101
  const gh = options.gh ?? new GhCliWrapper(options.runner);
99
102
  const interval = options.intervalMs ?? DEFAULT_INTERVAL_MS;
103
+ const scheduler = options.rateLimitScheduler;
104
+ scheduler?.start();
100
105
  const state = {
101
106
  prev: new Map(),
102
107
  aggState: initialAggregateState(),
103
108
  firstPoll: true,
104
109
  currentResolved: null,
110
+ cyclesSinceEpicRefresh: 0,
105
111
  };
106
112
  const controller = new AbortController();
107
113
  const pauseState = {
108
114
  paused: false,
109
115
  resumeResolver: null,
116
+ skipNextCycle: false,
110
117
  };
111
118
  const runCycle = options.runCycle
112
119
  ? () => options.runCycle(bus)
@@ -122,6 +129,7 @@ export async function acquireEpicBus(options) {
122
129
  };
123
130
  const stop = () => {
124
131
  controller.abort();
132
+ scheduler?.stop();
125
133
  // Also wake any pending resume waiter so the loop exits promptly.
126
134
  if (pauseState.resumeResolver != null) {
127
135
  const r = pauseState.resumeResolver;
@@ -142,6 +150,9 @@ export async function acquireEpicBus(options) {
142
150
  r();
143
151
  }
144
152
  };
153
+ const markSkipNextCycle = () => {
154
+ pauseState.skipNextCycle = true;
155
+ };
145
156
  const sub = {
146
157
  bus,
147
158
  refCount: 1,
@@ -149,6 +160,7 @@ export async function acquireEpicBus(options) {
149
160
  pausePoller,
150
161
  resumePoller,
151
162
  catchUpPoll,
163
+ markSkipNextCycle,
152
164
  idleTimer: null,
153
165
  lastActiveAt: now(),
154
166
  idleTtlMs,
@@ -158,7 +170,7 @@ export async function acquireEpicBus(options) {
158
170
  // Kick off the poll loop unless the caller opted out (`noPoll` with a
159
171
  // custom `runCycle` is a valid test config — the loop is still needed).
160
172
  if (options.noPoll !== true) {
161
- void runPollLoop(runCycle, interval, controller.signal, pauseState, logger);
173
+ void runPollLoop(runCycle, interval, controller.signal, pauseState, logger, scheduler);
162
174
  }
163
175
  return { bus, release: () => releaseKey(expandedRef) };
164
176
  }
@@ -222,7 +234,7 @@ function waitForResume(pauseState, signal) {
222
234
  }, { once: true });
223
235
  });
224
236
  }
225
- async function runPollLoop(runCycle, interval, signal, pauseState, logger) {
237
+ async function runPollLoop(runCycle, interval, signal, pauseState, logger, scheduler) {
226
238
  while (!signal.aborted) {
227
239
  if (pauseState.paused) {
228
240
  await waitForResume(pauseState, signal);
@@ -230,6 +242,12 @@ async function runPollLoop(runCycle, interval, signal, pauseState, logger) {
230
242
  break;
231
243
  continue;
232
244
  }
245
+ if (pauseState.skipNextCycle) {
246
+ pauseState.skipNextCycle = false;
247
+ const activeInterval = scheduler?.getCurrentIntervalMs() ?? interval;
248
+ await sleep(activeInterval, signal);
249
+ continue;
250
+ }
233
251
  try {
234
252
  await runCycle();
235
253
  }
@@ -240,13 +258,16 @@ async function runPollLoop(runCycle, interval, signal, pauseState, logger) {
240
258
  break;
241
259
  if (pauseState.paused)
242
260
  continue;
243
- await sleep(interval, signal);
261
+ const activeInterval = scheduler?.getCurrentIntervalMs() ?? interval;
262
+ await sleep(activeInterval, signal);
244
263
  }
245
264
  }
246
265
  async function runRealCycle(bus, expandedRef, gh, state, logger) {
266
+ let justFetched = false;
247
267
  if (state.currentResolved == null) {
248
268
  try {
249
269
  state.currentResolved = await resolveEpic({ epicRef: expandedRef, gh, logger });
270
+ justFetched = true;
250
271
  }
251
272
  catch (err) {
252
273
  if (err instanceof LoudResolverError) {
@@ -283,12 +304,20 @@ async function runRealCycle(bus, expandedRef, gh, state, logger) {
283
304
  state.aggState = aggregateResult.nextState;
284
305
  state.prev = result.curr;
285
306
  state.firstPoll = false;
286
- // Refresh the resolved epic for the next cycle (best effort).
287
- try {
288
- state.currentResolved = await resolveEpic({ epicRef: expandedRef, gh, logger });
289
- }
290
- catch (err) {
291
- logger.warn(`event-bus: resolveEpic refresh failed: ${err instanceof Error ? err.message : String(err)}`);
307
+ // Refresh the resolved epic only every Nth cycle (best effort). Skip the
308
+ // cycle that already fetched a fresh epic — otherwise we would refresh on
309
+ // cycles 10, 20, 30 instead of the intended 11, 21, 31 cadence.
310
+ if (!justFetched) {
311
+ state.cyclesSinceEpicRefresh += 1;
312
+ if (state.cyclesSinceEpicRefresh >= EPIC_REFRESH_CYCLES) {
313
+ state.cyclesSinceEpicRefresh = 0;
314
+ try {
315
+ state.currentResolved = await resolveEpic({ epicRef: expandedRef, gh, logger });
316
+ }
317
+ catch (err) {
318
+ logger.warn(`event-bus: resolveEpic refresh failed: ${err instanceof Error ? err.message : String(err)}`);
319
+ }
320
+ }
292
321
  }
293
322
  }
294
323
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus-registry.js","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/event-bus-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-bus-registry.js","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/event-bus-registry.ts"],"names":[],"mappings":"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"}
@@ -217,7 +217,12 @@ export declare const CockpitResumeInputSchema: z.ZodObject<{
217
217
  repo: string;
218
218
  };
219
219
  }>;
220
- export declare const CockpitQueueInputSchema: z.ZodObject<{
220
+ /**
221
+ * #935 — `cockpit_queue` accepts either the phase form (existing) or a new
222
+ * single-issue form. Discriminated union at Zod level so TypeScript consumers
223
+ * of the tool see both variants explicitly.
224
+ */
225
+ export declare const CockpitQueueInputSchema: z.ZodUnion<[z.ZodObject<{
221
226
  epic: z.ZodUnion<[z.ZodObject<{
222
227
  owner: z.ZodString;
223
228
  repo: z.ZodString;
@@ -246,7 +251,137 @@ export declare const CockpitQueueInputSchema: z.ZodObject<{
246
251
  owner: string;
247
252
  repo: string;
248
253
  };
254
+ }>, z.ZodObject<{
255
+ issue: z.ZodUnion<[z.ZodObject<{
256
+ owner: z.ZodString;
257
+ repo: z.ZodString;
258
+ number: z.ZodNumber;
259
+ }, "strict", z.ZodTypeAny, {
260
+ number: number;
261
+ owner: string;
262
+ repo: string;
263
+ }, {
264
+ number: number;
265
+ owner: string;
266
+ repo: string;
267
+ }>, z.ZodString]>;
268
+ }, "strict", z.ZodTypeAny, {
269
+ issue: string | {
270
+ number: number;
271
+ owner: string;
272
+ repo: string;
273
+ };
274
+ }, {
275
+ issue: string | {
276
+ number: number;
277
+ owner: string;
278
+ repo: string;
279
+ };
280
+ }>]>;
281
+ export type CockpitQueueInput = z.infer<typeof CockpitQueueInputSchema>;
282
+ /** #935 — scope-mutation tool schemas. */
283
+ export declare const CockpitScopeAddInputSchema: z.ZodObject<{
284
+ scope: z.ZodUnion<[z.ZodObject<{
285
+ owner: z.ZodString;
286
+ repo: z.ZodString;
287
+ number: z.ZodNumber;
288
+ }, "strict", z.ZodTypeAny, {
289
+ number: number;
290
+ owner: string;
291
+ repo: string;
292
+ }, {
293
+ number: number;
294
+ owner: string;
295
+ repo: string;
296
+ }>, z.ZodString]>;
297
+ issue: z.ZodUnion<[z.ZodObject<{
298
+ owner: z.ZodString;
299
+ repo: z.ZodString;
300
+ number: z.ZodNumber;
301
+ }, "strict", z.ZodTypeAny, {
302
+ number: number;
303
+ owner: string;
304
+ repo: string;
305
+ }, {
306
+ number: number;
307
+ owner: string;
308
+ repo: string;
309
+ }>, z.ZodString]>;
310
+ }, "strict", z.ZodTypeAny, {
311
+ issue: string | {
312
+ number: number;
313
+ owner: string;
314
+ repo: string;
315
+ };
316
+ scope: string | {
317
+ number: number;
318
+ owner: string;
319
+ repo: string;
320
+ };
321
+ }, {
322
+ issue: string | {
323
+ number: number;
324
+ owner: string;
325
+ repo: string;
326
+ };
327
+ scope: string | {
328
+ number: number;
329
+ owner: string;
330
+ repo: string;
331
+ };
332
+ }>;
333
+ export type CockpitScopeAddInput = z.infer<typeof CockpitScopeAddInputSchema>;
334
+ export declare const CockpitScopeRemoveInputSchema: z.ZodObject<{
335
+ scope: z.ZodUnion<[z.ZodObject<{
336
+ owner: z.ZodString;
337
+ repo: z.ZodString;
338
+ number: z.ZodNumber;
339
+ }, "strict", z.ZodTypeAny, {
340
+ number: number;
341
+ owner: string;
342
+ repo: string;
343
+ }, {
344
+ number: number;
345
+ owner: string;
346
+ repo: string;
347
+ }>, z.ZodString]>;
348
+ issue: z.ZodUnion<[z.ZodObject<{
349
+ owner: z.ZodString;
350
+ repo: z.ZodString;
351
+ number: z.ZodNumber;
352
+ }, "strict", z.ZodTypeAny, {
353
+ number: number;
354
+ owner: string;
355
+ repo: string;
356
+ }, {
357
+ number: number;
358
+ owner: string;
359
+ repo: string;
360
+ }>, z.ZodString]>;
361
+ }, "strict", z.ZodTypeAny, {
362
+ issue: string | {
363
+ number: number;
364
+ owner: string;
365
+ repo: string;
366
+ };
367
+ scope: string | {
368
+ number: number;
369
+ owner: string;
370
+ repo: string;
371
+ };
372
+ }, {
373
+ issue: string | {
374
+ number: number;
375
+ owner: string;
376
+ repo: string;
377
+ };
378
+ scope: string | {
379
+ number: number;
380
+ owner: string;
381
+ repo: string;
382
+ };
249
383
  }>;
384
+ export type CockpitScopeRemoveInput = z.infer<typeof CockpitScopeRemoveInputSchema>;
250
385
  /**
251
386
  * #928 — `cockpit_merge` accepts an **issue ref** (matching the CLI verb),
252
387
  * with an optional `pr: <number>` escape hatch mirroring CLI `--pr <number>`.
@@ -284,4 +419,52 @@ export declare const CockpitMergeInputSchema: z.ZodObject<{
284
419
  };
285
420
  pr?: number | undefined;
286
421
  }>;
422
+ /**
423
+ * #958 — `cockpit_relay_clarify_answers` input schema.
424
+ *
425
+ * Structured answer payload: keys are positive integers (question numbers),
426
+ * values are non-empty strings. The tool refuses to render an empty `Q<n>:`
427
+ * line; callers omit a key rather than pass an empty string.
428
+ *
429
+ * The `z.record(z.coerce.number()...)` shape accepts JSON object keys as
430
+ * strings (as they arrive over MCP) and coerces to numeric keys for the
431
+ * downstream formatter's `Record<number, string>` API.
432
+ */
433
+ export declare const CockpitRelayClarifyAnswersInputSchema: z.ZodObject<{
434
+ issue: z.ZodUnion<[z.ZodObject<{
435
+ owner: z.ZodString;
436
+ repo: z.ZodString;
437
+ number: z.ZodNumber;
438
+ }, "strict", z.ZodTypeAny, {
439
+ number: number;
440
+ owner: string;
441
+ repo: string;
442
+ }, {
443
+ number: number;
444
+ owner: string;
445
+ repo: string;
446
+ }>, z.ZodString]>;
447
+ batch: z.ZodNumber;
448
+ answers: z.ZodEffects<z.ZodRecord<z.ZodNumber, z.ZodString>, Record<number, string>, Record<number, string>>;
449
+ actor: z.ZodOptional<z.ZodString>;
450
+ }, "strict", z.ZodTypeAny, {
451
+ issue: string | {
452
+ number: number;
453
+ owner: string;
454
+ repo: string;
455
+ };
456
+ batch: number;
457
+ answers: Record<number, string>;
458
+ actor?: string | undefined;
459
+ }, {
460
+ issue: string | {
461
+ number: number;
462
+ owner: string;
463
+ repo: string;
464
+ };
465
+ batch: number;
466
+ answers: Record<number, string>;
467
+ actor?: string | undefined;
468
+ }>;
469
+ export type CockpitRelayClarifyAnswersInput = z.infer<typeof CockpitRelayClarifyAnswersInputSchema>;
287
470
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,uCAAuC;AACvC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAYtB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,aAAoB,CAAC;AAEtD,sDAAsD;AACtD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAAwD,CAAC;AACzF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,oEAAoE;AACpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAAsB,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAIzC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,kCAA6C,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,gFAAgF;AAChF,eAAO,MAAM,qBAAqB;;;;EAIhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBxB,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,oEAAoE;AACpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;EAAkD,CAAC;AACxF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoD,CAAC;AAC3F,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3B,CAAC;AACZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoD,CAAC;AAC1F,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzB,CAAC;AACZ;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKzB,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,uCAAuC;AACvC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAYtB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,aAAoB,CAAC;AAEtD,sDAAsD;AACtD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAAwD,CAAC;AACzF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,oEAAoE;AACpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAAsB,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAIzC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,kCAA6C,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,gFAAgF;AAChF,eAAO,MAAM,qBAAqB;;;;EAIhC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBxB,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,oEAAoE;AACpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;EAAkD,CAAC;AACxF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoD,CAAC;AAC3F,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3B,CAAC;AACZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoD,CAAC;AAC1F;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,0CAA0C;AAC1C,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKzB,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvC,CAAC;AACZ,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,qCAAqC,CAC7C,CAAC"}
@@ -65,8 +65,21 @@ export const CockpitAdvanceInputSchema = z
65
65
  .object({ issue: IssueRefInputSchema, gate: GateNameInputSchema })
66
66
  .strict();
67
67
  export const CockpitResumeInputSchema = z.object({ issue: IssueRefInputSchema }).strict();
68
- export const CockpitQueueInputSchema = z
69
- .object({ epic: EpicRefInputSchema, phase: z.string().min(1) })
68
+ /**
69
+ * #935 — `cockpit_queue` accepts either the phase form (existing) or a new
70
+ * single-issue form. Discriminated union at Zod level so TypeScript consumers
71
+ * of the tool see both variants explicitly.
72
+ */
73
+ export const CockpitQueueInputSchema = z.union([
74
+ z.object({ epic: EpicRefInputSchema, phase: z.string().min(1) }).strict(),
75
+ z.object({ issue: IssueRefInputSchema }).strict(),
76
+ ]);
77
+ /** #935 — scope-mutation tool schemas. */
78
+ export const CockpitScopeAddInputSchema = z
79
+ .object({ scope: EpicRefInputSchema, issue: IssueRefInputSchema })
80
+ .strict();
81
+ export const CockpitScopeRemoveInputSchema = z
82
+ .object({ scope: EpicRefInputSchema, issue: IssueRefInputSchema })
70
83
  .strict();
71
84
  /**
72
85
  * #928 — `cockpit_merge` accepts an **issue ref** (matching the CLI verb),
@@ -81,4 +94,32 @@ export const CockpitMergeInputSchema = z
81
94
  pr: z.number().int().positive().optional(),
82
95
  })
83
96
  .strict();
97
+ /**
98
+ * #958 — `cockpit_relay_clarify_answers` input schema.
99
+ *
100
+ * Structured answer payload: keys are positive integers (question numbers),
101
+ * values are non-empty strings. The tool refuses to render an empty `Q<n>:`
102
+ * line; callers omit a key rather than pass an empty string.
103
+ *
104
+ * The `z.record(z.coerce.number()...)` shape accepts JSON object keys as
105
+ * strings (as they arrive over MCP) and coerces to numeric keys for the
106
+ * downstream formatter's `Record<number, string>` API.
107
+ */
108
+ export const CockpitRelayClarifyAnswersInputSchema = z
109
+ .object({
110
+ issue: IssueRefInputSchema,
111
+ batch: z.number().int().min(0),
112
+ answers: z
113
+ .record(z.coerce.number().int().positive(), z.string().min(1))
114
+ .refine((r) => Object.keys(r).length > 0, {
115
+ message: 'answers map must contain at least one entry',
116
+ }),
117
+ actor: z
118
+ .string()
119
+ .regex(/^[A-Za-z0-9-]+$/, {
120
+ message: 'actor must match /^[A-Za-z0-9-]+$/',
121
+ })
122
+ .optional(),
123
+ })
124
+ .strict();
84
125
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,uCAAuC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,WAAW,CAAC;IACrB,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,YAAY,CAAC;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,kFAAkF;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEtD,sDAAsD;AACtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAGzF,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAGtD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAE9B;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,SAAkC,CAAC,CAAC;AAG9E,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,MAAM;IACjB,gBAAgB,EAAE,KAAK;IACvB,YAAY,EAAE,GAAG;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC;IACxF,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,MAAM,CAAC;SACX,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;IAClD,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,KAAK,CAAC;SACV,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC;CAC/C,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,oEAAoE;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACxF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;KACjE,MAAM,EAAE,CAAC;AACZ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC1F;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IACzE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;CAClD,CAAC,CAAC;AAGH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;KACjE,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;KACjE,MAAM,EAAE,CAAC;AAEZ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,KAAK,EAAE,mBAAmB;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC;KACnD,MAAM,CAAC;IACN,KAAK,EAAE,mBAAmB;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACxC,OAAO,EAAE,6CAA6C;KACvD,CAAC;IACJ,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,KAAK,CAAC,iBAAiB,EAAE;QACxB,OAAO,EAAE,oCAAoC;KAC9C,CAAC;SACD,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAoB1D,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAUD,wBAAgB,cAAc,CAAC,IAAI,GAAE,kBAAuB,GAAG,SAAS,CA4EvE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA0B1D,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAUD,wBAAgB,cAAc,CAAC,IAAI,GAAE,kBAAuB,GAAG,SAAS,CA2GvE"}
@@ -16,7 +16,10 @@ import { cockpitResume } from './tools/cockpit_resume.js';
16
16
  import { cockpitQueue } from './tools/cockpit_queue.js';
17
17
  import { cockpitMerge } from './tools/cockpit_merge.js';
18
18
  import { cockpitAwaitEvents } from './tools/cockpit_await_events.js';
19
- import { CockpitStatusInputSchema, CockpitContextInputSchema, CockpitAdvanceInputSchema, CockpitResumeInputSchema, CockpitQueueInputSchema, CockpitMergeInputSchema, AwaitEventsInputSchema, } from './schemas.js';
19
+ import { cockpitScopeAdd } from './tools/cockpit_scope_add.js';
20
+ import { cockpitScopeRemove } from './tools/cockpit_scope_remove.js';
21
+ import { cockpitRelayClarifyAnswers } from './tools/cockpit_relay_clarify_answers.js';
22
+ import { CockpitStatusInputSchema, CockpitContextInputSchema, CockpitAdvanceInputSchema, CockpitResumeInputSchema, CockpitQueueInputSchema, CockpitMergeInputSchema, CockpitScopeAddInputSchema, CockpitScopeRemoveInputSchema, CockpitRelayClarifyAnswersInputSchema, AwaitEventsInputSchema, } from './schemas.js';
20
23
  function toCallToolResult(result) {
21
24
  return {
22
25
  content: [{ type: 'text', text: JSON.stringify(result) }],
@@ -53,6 +56,18 @@ export function buildMcpServer(deps = {}) {
53
56
  description: 'Merge a PR once its required checks are green. Never merges on red.',
54
57
  inputSchema: CockpitMergeInputSchema,
55
58
  }, async (args) => toCallToolResult(await cockpitMerge(args, deps)));
59
+ server.registerTool('cockpit_scope_add', {
60
+ description: "Append a task-list ref to a scope (epic or tracking) issue's body. Concurrency-safe with bounded retry.",
61
+ inputSchema: CockpitScopeAddInputSchema,
62
+ }, async (args) => toCallToolResult(await cockpitScopeAdd(args, deps)));
63
+ server.registerTool('cockpit_scope_remove', {
64
+ description: "Remove a task-list ref line from a scope issue's body. Concurrency-safe with bounded retry.",
65
+ inputSchema: CockpitScopeRemoveInputSchema,
66
+ }, async (args) => toCallToolResult(await cockpitScopeRemove(args, deps)));
67
+ server.registerTool('cockpit_relay_clarify_answers', {
68
+ description: 'Post a deterministic marker-stamped answer comment for a clarification batch and apply completed:clarification. Idempotent per batch.',
69
+ inputSchema: CockpitRelayClarifyAnswersInputSchema,
70
+ }, async (args) => toCallToolResult(await cockpitRelayClarifyAnswers(args, deps)));
56
71
  server.registerTool('cockpit_await_events', {
57
72
  description: 'Long-poll for cockpit stream events (label changes, phase transitions, epic-complete). Returns a coalesced batch; caller re-arms with the returned cursor.',
58
73
  inputSchema: AwaitEventsInputSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAMtB,SAAS,gBAAgB,CAAI,MAAqB;IAChD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,iBAAiB,EAAE,MAA4C;QAC/D,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA2B,EAAE;IAC1D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,8EAA8E;QAChF,WAAW,EAAE,wBAAwB;KACtC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,aAAa,CAAC,IAAa,EAAE,IAAI,CAAC,CAAC,CAC3E,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE,yBAAyB;KACvC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,cAAc,CAAC,IAAa,EAAE,IAAI,CAAC,CAAC,CAC5E,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,2FAA2F;QAC7F,WAAW,EAAE,yBAAyB;KACvC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,cAAc,CAAC,IAAa,EAAE,IAAI,CAAC,CAAC,CAC5E,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,+HAA+H;QACjI,WAAW,EAAE,wBAAwB;KACtC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,aAAa,CAAC,IAAa,EAAE,IAAI,CAAC,CAAC,CAC3E,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,4GAA4G;QAC9G,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,YAAY,CAAC,IAAa,EAAE,IAAI,CAAC,CAAC,CAC1E,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,qEAAqE;QACvE,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,YAAY,CAAC,IAAa,EAAE,IAAI,CAAC,CAAC,CAC1E,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,4JAA4J;QAC9J,WAAW,EAAE,sBAAsB;KACpC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,kBAAkB,CAAC,IAAa,EAAE,IAAI,CAAC,CAAC,CAChF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../src/cli/commands/cockpit/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,15 @@
9
9
  import type { CommandRunner, GhWrapper } from '@generacy-ai/cockpit';
10
10
  import { type QueueCommandDeps } from '../../queue.js';
11
11
  import { type ToolResult } from '../errors.js';
12
- import { type EpicRefInput } from '../schemas.js';
13
- export interface CockpitQueueInput {
12
+ import { type EpicRefInput, type IssueRefInput } from '../schemas.js';
13
+ export interface CockpitQueuePhaseInput {
14
14
  epic: EpicRefInput;
15
15
  phase: string;
16
16
  }
17
+ export interface CockpitQueueIssueInputShape {
18
+ issue: IssueRefInput;
19
+ }
20
+ export type CockpitQueueInput = CockpitQueuePhaseInput | CockpitQueueIssueInputShape;
17
21
  export interface CockpitQueueData {
18
22
  epic: {
19
23
  owner: string;
@@ -32,6 +36,18 @@ export interface CockpitQueueData {
32
36
  reason: string;
33
37
  }>;
34
38
  }
39
+ export interface CockpitQueueIssueData {
40
+ issue: {
41
+ owner: string;
42
+ repo: string;
43
+ number: number;
44
+ };
45
+ outcome: 'queued' | 'skipped';
46
+ reason?: 'closed' | 'already-labeled' | 'not-found';
47
+ workflowLabel: string;
48
+ assignee: string;
49
+ url: string;
50
+ }
35
51
  export interface CockpitQueueDeps {
36
52
  runner?: CommandRunner;
37
53
  gh?: GhWrapper;
@@ -39,5 +55,5 @@ export interface CockpitQueueDeps {
39
55
  loadConfig?: QueueCommandDeps['loadConfig'];
40
56
  fetchPlan?: QueueCommandDeps['fetchPlan'];
41
57
  }
42
- export declare function cockpitQueue(input: CockpitQueueInput, deps?: CockpitQueueDeps): Promise<ToolResult<CockpitQueueData>>;
58
+ export declare function cockpitQueue(input: CockpitQueueInput, deps?: CockpitQueueDeps): Promise<ToolResult<CockpitQueueData | CockpitQueueIssueData>>;
43
59
  //# sourceMappingURL=cockpit_queue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cockpit_queue.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/cockpit/mcp/tools/cockpit_queue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAY,KAAK,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AAEnF,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CAC3C;AAkCD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,EACxB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAkDvC"}
1
+ {"version":3,"file":"cockpit_queue.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/cockpit/mcp/tools/cockpit_queue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG,2BAA2B,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,QAAQ,GAAG,iBAAiB,GAAG,WAAW,CAAC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CAC3C;AAkCD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,EACxB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,CAAC,CA2F/D"}
@@ -1,7 +1,7 @@
1
- import { runQueue } from '../../queue.js';
1
+ import { runQueue, runQueueSingleIssue, } from '../../queue.js';
2
2
  import { normalizeIssueRef } from '../ref-input.js';
3
3
  import { wrapToolBoundary } from '../errors.js';
4
- import { CockpitQueueInputSchema } from '../schemas.js';
4
+ import { CockpitQueueInputSchema, } from '../schemas.js';
5
5
  function buildQueueData(epicOwner, epicRepo, epicNumber, phase, result) {
6
6
  const queued = [];
7
7
  const skipped = [];
@@ -38,6 +38,44 @@ export function cockpitQueue(input, deps = {}) {
38
38
  detail: parsed.error.issues.map((i) => i.message).join('; '),
39
39
  };
40
40
  }
41
+ // Discriminated union: `issue` = single-issue form, `epic + phase` = phase form.
42
+ if ('issue' in parsed.data) {
43
+ const refN = await normalizeIssueRef(parsed.data.issue, {
44
+ expects: 'issue',
45
+ ...(deps.runner != null ? { runner: deps.runner } : {}),
46
+ ...(deps.gh != null ? { gh: deps.gh } : {}),
47
+ });
48
+ if (!refN.ok)
49
+ return refN.error;
50
+ const captured = [];
51
+ const stderrLines = [];
52
+ const queueDeps = {
53
+ gh: deps.gh ?? refN.value.gh,
54
+ ...(deps.cockpitGh != null ? { cockpitGh: deps.cockpitGh } : {}),
55
+ ...(deps.runner != null ? { runner: deps.runner } : {}),
56
+ ...(deps.loadConfig != null ? { loadConfig: deps.loadConfig } : {}),
57
+ stdout: (line) => captured.push(line),
58
+ stderr: (line) => stderrLines.push(line),
59
+ prompt: async () => true,
60
+ };
61
+ const issueArg = `${refN.value.ref.nwo}#${refN.value.ref.number}`;
62
+ const result = await runQueueSingleIssue(issueArg, { yes: true }, queueDeps);
63
+ const data = {
64
+ issue: {
65
+ owner: refN.value.ref.owner,
66
+ repo: refN.value.ref.repo,
67
+ number: refN.value.ref.number,
68
+ },
69
+ outcome: result.row.eligibility.kind === 'eligible' ? 'queued' : 'skipped',
70
+ workflowLabel: result.workflowLabel,
71
+ assignee: result.assignee,
72
+ url: `https://github.com/${result.ref.repo}/issues/${result.ref.number}`,
73
+ };
74
+ if (result.row.eligibility.kind === 'skip') {
75
+ data.reason = result.row.eligibility.reason;
76
+ }
77
+ return { status: 'ok', data };
78
+ }
41
79
  const normalized = await normalizeIssueRef(parsed.data.epic, {
42
80
  expects: 'issue',
43
81
  ...(deps.runner != null ? { runner: deps.runner } : {}),