pipeline-worker 0.1.21 → 0.1.22

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 (57) hide show
  1. package/dist/agent/claude.js +87 -65
  2. package/dist/agent/claude.js.map +1 -1
  3. package/dist/agent/copilot.js +19 -14
  4. package/dist/agent/copilot.js.map +1 -1
  5. package/dist/cli.js +45 -39
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config/detectChecks.js +30 -15
  8. package/dist/config/detectChecks.js.map +1 -1
  9. package/dist/config/loader.js +30 -15
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/forge/github.d.ts +0 -7
  12. package/dist/forge/github.js +13 -19
  13. package/dist/forge/github.js.map +1 -1
  14. package/dist/forge/gitlab.d.ts +0 -6
  15. package/dist/forge/gitlab.js +8 -17
  16. package/dist/forge/gitlab.js.map +1 -1
  17. package/dist/forge/shared.d.ts +9 -0
  18. package/dist/forge/shared.js +27 -0
  19. package/dist/forge/shared.js.map +1 -0
  20. package/dist/git/commit.d.ts +0 -1
  21. package/dist/git/commit.js +0 -4
  22. package/dist/git/commit.js.map +1 -1
  23. package/dist/git/resolveProjectPath.d.ts +0 -6
  24. package/dist/git/resolveProjectPath.js +1 -1
  25. package/dist/git/resolveProjectPath.js.map +1 -1
  26. package/dist/git/worktree.d.ts +0 -7
  27. package/dist/git/worktree.js +42 -25
  28. package/dist/git/worktree.js.map +1 -1
  29. package/dist/mcp/server.js +8 -6
  30. package/dist/mcp/server.js.map +1 -1
  31. package/dist/process/signalCleanup.d.ts +15 -0
  32. package/dist/process/signalCleanup.js +19 -0
  33. package/dist/process/signalCleanup.js.map +1 -0
  34. package/dist/state/lock.d.ts +0 -6
  35. package/dist/state/lock.js +36 -21
  36. package/dist/state/lock.js.map +1 -1
  37. package/dist/state/runState.js +1 -0
  38. package/dist/state/runState.js.map +1 -1
  39. package/dist/toon/envelope.js +30 -17
  40. package/dist/toon/envelope.js.map +1 -1
  41. package/dist/ui/sessions.js +26 -8
  42. package/dist/ui/sessions.js.map +1 -1
  43. package/dist/ui/steps.d.ts +2 -13
  44. package/dist/ui/steps.js +7 -1
  45. package/dist/ui/steps.js.map +1 -1
  46. package/dist/version/autoUpdate.js +23 -15
  47. package/dist/version/autoUpdate.js.map +1 -1
  48. package/dist/workflow/orchestrate.js +130 -96
  49. package/dist/workflow/orchestrate.js.map +1 -1
  50. package/dist/workflow/runChecks.js +2 -0
  51. package/dist/workflow/runChecks.js.map +1 -1
  52. package/dist/workflow/updateChangelog.js +43 -28
  53. package/dist/workflow/updateChangelog.js.map +1 -1
  54. package/dist/workflow/watchPipeline.d.ts +0 -19
  55. package/dist/workflow/watchPipeline.js +115 -87
  56. package/dist/workflow/watchPipeline.js.map +1 -1
  57. package/package.json +1 -1
@@ -30,7 +30,7 @@ import { tmpdir } from 'node:os';
30
30
  import { promisify } from 'node:util';
31
31
  import { stageAll, commit, push, hasChanges, listConflictedFiles, findUnresolvedConflictMarkers } from '../git/commit.js';
32
32
  import { recordEvent } from '../state/runState.js';
33
- import { step, runStep, note, noteSession } from '../ui/steps.js';
33
+ import { step, runStep, note, reportAgentInvocation } from '../ui/steps.js';
34
34
  const execFileAsync = promisify(execFile);
35
35
  const MAX_POLL_WINDOW_MS = 2 * 60 * 60 * 1000; // per pipeline attempt, as a safety net
36
36
  // How long to tolerate zero pipelines before concluding the repo has no CI
@@ -82,28 +82,36 @@ export function hasCiConfig(worktreePath, forge) {
82
82
  * config file must never be declared "no CI" just because its pipeline is
83
83
  * slow to register — it should keep polling the full window instead.
84
84
  */
85
+ /**
86
+ * Undefined previousPipelineId means no pipeline has been confirmed yet for
87
+ * this MR/PR; give the forge a short grace window to register one before
88
+ * concluding there's no CI to watch. Only armed when ciConfigured is false —
89
+ * a repo with a real CI config file can never reach this conclusion, no
90
+ * matter how many polls come back empty.
91
+ */
92
+ function computeInitialGracePolls(ciConfigured, previousPipelineId, noPipelineGraceMs, intervalMs) {
93
+ return !ciConfigured && previousPipelineId === undefined ? Math.max(1, Math.ceil(noPipelineGraceMs / intervalMs)) : undefined;
94
+ }
95
+ /** The latest pipeline, if it's both new (not previousPipelineId) and terminal — the condition pollForNextAction is waiting on. */
96
+ function checkTerminalPipeline(pipelines, previousPipelineId) {
97
+ const latest = pipelines[0];
98
+ return latest && latest.id !== previousPipelineId && TERMINAL_STATUSES.includes(latest.status) ? latest : undefined;
99
+ }
100
+ // fallow-ignore-next-line complexity
85
101
  export async function pollForNextAction(forge, mrIid, intervalMs, previousPipelineId, noPipelineGraceMs = NO_PIPELINE_GRACE_MS, ciConfigured = false) {
86
102
  const maxPolls = Math.max(1, Math.ceil(MAX_POLL_WINDOW_MS / intervalMs));
87
- // Undefined previousPipelineId means no pipeline has been confirmed yet
88
- // for this MR/PR; give the forge a short grace window to register one
89
- // before concluding there's no CI to watch. Only armed when ciConfigured
90
- // is false — a repo with a real CI config file can never reach this
91
- // conclusion, no matter how many polls come back empty. Also disarmed for
92
- // good the moment any pipeline is observed (even non-terminal) — that
93
- // alone proves CI is configured, so a later transient empty response must
94
- // never be counted.
95
- let noPipelineGracePolls = !ciConfigured && previousPipelineId === undefined ? Math.max(1, Math.ceil(noPipelineGraceMs / intervalMs)) : undefined;
103
+ let noPipelineGracePolls = computeInitialGracePolls(ciConfigured, previousPipelineId, noPipelineGraceMs, intervalMs);
96
104
  let emptyPolls = 0;
97
105
  for (let i = 0; i < maxPolls; i++) {
98
106
  if (await forge.hasMergeConflicts(mrIid)) {
99
107
  return { kind: 'conflict' };
100
108
  }
101
109
  const pipelines = await forge.getMrPipelines(mrIid);
102
- const latest = pipelines[0];
103
- if (latest && latest.id !== previousPipelineId && TERMINAL_STATUSES.includes(latest.status)) {
104
- return { kind: 'pipeline', pipeline: latest };
110
+ const terminal = checkTerminalPipeline(pipelines, previousPipelineId);
111
+ if (terminal) {
112
+ return { kind: 'pipeline', pipeline: terminal };
105
113
  }
106
- if (latest) {
114
+ if (pipelines[0]) {
107
115
  noPipelineGracePolls = undefined; // CI is confirmed to exist; never re-arm the no-pipeline check
108
116
  }
109
117
  else if (noPipelineGracePolls !== undefined) {
@@ -156,6 +164,37 @@ async function escalate(forge, mrIid, message, state, repoRoot) {
156
164
  state.phase = 'escalated';
157
165
  recordEvent(repoRoot, state, detail, 'error');
158
166
  }
167
+ /** Attempts `git merge origin/targetBranch`; true means it succeeded and auto-committed, false means conflicts are left in the working tree. */
168
+ async function attemptCleanMerge(worktreePath, targetBranch) {
169
+ return runStep('12.2', '🔀', 'Merging target branch', `git merge origin/${targetBranch} --no-edit`, async () => {
170
+ await execFileAsync('git', ['fetch', 'origin', targetBranch], { cwd: worktreePath });
171
+ try {
172
+ await execFileAsync('git', ['merge', `origin/${targetBranch}`, '--no-edit'], { cwd: worktreePath });
173
+ return true; // merge succeeded and auto-committed; nothing left to resolve
174
+ }
175
+ catch {
176
+ return false; // conflicts left in the working tree, merge in progress
177
+ }
178
+ });
179
+ }
180
+ /** Asks the agent to resolve the given conflicted files, returning whichever still have unresolved markers afterward. */
181
+ async function resolveConflictsWithAgent(agent, worktreePath, conflictedFiles) {
182
+ note(conflictedFiles.join(', '));
183
+ const mcpConfigPath = writeAgentMcpConfig();
184
+ let agentResult;
185
+ try {
186
+ agentResult = await runStep('12.3', '🔧', 'Resolving conflicts', `asking the agent to resolve ${conflictedFiles.length} conflicted file(s)`, () => agent.invoke({ prompt: buildConflictPrompt(conflictedFiles), cwd: worktreePath, mcpConfigPath, permissionMode: 'acceptEdits' }));
187
+ }
188
+ finally {
189
+ unlinkSync(mcpConfigPath);
190
+ }
191
+ reportAgentInvocation(agentResult, worktreePath);
192
+ return findUnresolvedConflictMarkers(worktreePath, conflictedFiles);
193
+ }
194
+ async function finalizeMergeResolution(worktreePath, targetBranch) {
195
+ await execFileAsync('git', ['add', '-A'], { cwd: worktreePath });
196
+ await commit(worktreePath, `merge: resolve conflicts with origin/${targetBranch}`);
197
+ }
159
198
  /**
160
199
  * Merges origin/targetBranch into the worktree's branch to clear a confirmed
161
200
  * merge conflict, asking the agent to resolve any real conflict markers.
@@ -164,6 +203,7 @@ async function escalate(forge, mrIid, message, state, repoRoot) {
164
203
  * human" from the same budget. Returns false when it escalated instead of
165
204
  * resolving (caller should stop the run in that case).
166
205
  */
206
+ // fallow-ignore-next-line complexity
167
207
  async function tryResolveConflicts(forge, agent, config, worktreePath, branch, targetBranch, mrIid, state, repoRoot) {
168
208
  state.attempt += 1;
169
209
  recordEvent(repoRoot, state, `Merge conflicts detected; attempt ${state.attempt}/${config.maxFixAttempts} — merging origin/${targetBranch} into ${branch}`);
@@ -172,44 +212,76 @@ async function tryResolveConflicts(forge, agent, config, worktreePath, branch, t
172
212
  await escalate(forge, mrIid, formatEscalationNote(`Automated fix attempts exhausted (${state.attempt - 1} attempt(s))`, [`❌ Merge conflicts with \`origin/${targetBranch}\` could not be resolved automatically`], 'This MR/PR needs a human to resolve them.'), state, repoRoot);
173
213
  return false;
174
214
  }
175
- const cleanMerge = await runStep('12.2', '🔀', 'Merging target branch', `git merge origin/${targetBranch} --no-edit`, async () => {
176
- await execFileAsync('git', ['fetch', 'origin', targetBranch], { cwd: worktreePath });
177
- try {
178
- await execFileAsync('git', ['merge', `origin/${targetBranch}`, '--no-edit'], { cwd: worktreePath });
179
- return true; // merge succeeded and auto-committed; nothing left to resolve
180
- }
181
- catch {
182
- return false; // conflicts left in the working tree, merge in progress
183
- }
184
- });
215
+ const cleanMerge = await attemptCleanMerge(worktreePath, targetBranch);
185
216
  if (!cleanMerge) {
186
217
  const conflictedFiles = await listConflictedFiles(worktreePath);
187
218
  if (conflictedFiles.length === 0) {
188
219
  throw new Error(`git merge origin/${targetBranch} failed for a reason other than conflicts — check the worktree for details`);
189
220
  }
190
- note(conflictedFiles.join(', '));
191
- const mcpConfigPath = writeAgentMcpConfig();
192
- let agentResult;
193
- try {
194
- agentResult = await runStep('12.3', '🔧', 'Resolving conflicts', `asking the agent to resolve ${conflictedFiles.length} conflicted file(s)`, () => agent.invoke({ prompt: buildConflictPrompt(conflictedFiles), cwd: worktreePath, mcpConfigPath, permissionMode: 'acceptEdits' }));
195
- }
196
- finally {
197
- unlinkSync(mcpConfigPath);
198
- }
199
- const agentResponse = agentResult.text;
200
- note(`agent: ${agentResponse.slice(0, 300).trim()}${agentResponse.length > 300 ? '…' : ''}`);
201
- noteSession(agentResult, worktreePath);
202
- const stillConflicted = findUnresolvedConflictMarkers(worktreePath, conflictedFiles);
221
+ const stillConflicted = await resolveConflictsWithAgent(agent, worktreePath, conflictedFiles);
203
222
  if (stillConflicted.length > 0) {
204
223
  await escalate(forge, mrIid, formatEscalationNote('Merge conflict resolution failed', [`❌ Agent left ${stillConflicted.length} file(s) still conflicted: ${stillConflicted.join(', ')}`], 'Escalating to a human.'), state, repoRoot);
205
224
  return false;
206
225
  }
207
- await execFileAsync('git', ['add', '-A'], { cwd: worktreePath });
208
- await commit(worktreePath, `merge: resolve conflicts with origin/${targetBranch}`);
226
+ await finalizeMergeResolution(worktreePath, targetBranch);
209
227
  }
210
228
  await runStep('12.4', '⬆', 'Pushing the merge', `push ${branch} to origin`, () => push(worktreePath, 'origin', branch));
211
229
  return true;
212
230
  }
231
+ /** No CI ran at all (repo has no workflow configured for this MR/PR) — there's nothing to poll for, so stop instead of spinning until the 2-hour safety window would otherwise time out. */
232
+ async function handleNoPipelineOutcome(state, repoRoot) {
233
+ step('ℹ️', 'No CI pipeline found', `no pipeline was detected for the MR/PR within ${NO_PIPELINE_GRACE_MS / 1000}s — nothing to watch`);
234
+ state.phase = 'done';
235
+ recordEvent(repoRoot, state, 'No CI pipeline found for this MR/PR — nothing to watch');
236
+ }
237
+ /** Attempts one CI fix: diagnose/fix via the agent, then commit and push. Shares state.attempt/config.maxFixAttempts with the conflict-resolution loop. */
238
+ async function runCiFixAttempt(forge, config, agent, worktreePath, branch, mrIid, pipeline, state, repoRoot) {
239
+ state.attempt += 1;
240
+ recordEvent(repoRoot, state, `Pipeline failed; attempt ${state.attempt}/${config.maxFixAttempts} — ${pipeline.webUrl}`);
241
+ step('💥', 'Pipeline failed', `attempt ${state.attempt}/${config.maxFixAttempts} — ${pipeline.webUrl}`);
242
+ if (state.attempt > config.maxFixAttempts) {
243
+ await escalate(forge, mrIid, formatEscalationNote(`Automated fix attempts exhausted (${state.attempt - 1} attempt(s))`, [`❌ CI pipeline: still failing — ${pipeline.webUrl}`], 'Needs a human to take over.'), state, repoRoot);
244
+ return { action: 'stop' };
245
+ }
246
+ const mcpConfigPath = writeAgentMcpConfig();
247
+ let agentResult;
248
+ try {
249
+ agentResult = await runStep('12.5', '🔧', 'Fixing CI failure', `asking the agent to diagnose and fix ${pipeline.webUrl} via whatever ${forgeLabel(config.forge)} MCP tooling is available`, () => agent.invoke({ prompt: buildFixPrompt(pipeline, config.forge), cwd: worktreePath, mcpConfigPath, permissionMode: 'acceptEdits' }));
250
+ }
251
+ finally {
252
+ unlinkSync(mcpConfigPath);
253
+ }
254
+ reportAgentInvocation(agentResult, worktreePath);
255
+ if (!(await hasChanges(worktreePath))) {
256
+ // Re-pushing an identical tree would never produce a new pipeline; stop here.
257
+ await escalate(forge, mrIid, formatEscalationNote('Fix attempt produced no changes', [`❌ CI pipeline: still failing — ${pipeline.webUrl}`, `⚠️ Agent fix attempt ${state.attempt} made no changes to push`], 'Escalating to a human.'), state, repoRoot);
258
+ return { action: 'stop' };
259
+ }
260
+ await runStep('12.6', '⬆', 'Pushing the fix', `commit and push attempt ${state.attempt} to ${branch}`, async () => {
261
+ await stageAll(worktreePath);
262
+ await commit(worktreePath, `fix: address CI failure (attempt ${state.attempt})`);
263
+ await push(worktreePath, 'origin', branch);
264
+ });
265
+ return { action: 'continue', previousPipelineId: pipeline.id };
266
+ }
267
+ /** Dispatches on a terminal pipeline's status: done (success), escalate (canceled/skipped), or attempt a CI fix (failed). */
268
+ async function handlePipelineTerminal(forge, config, agent, worktreePath, branch, mrIid, pipeline, state, repoRoot) {
269
+ note(`pipeline ${pipeline.id}: ${pipeline.status} — ${pipeline.webUrl}`);
270
+ state.pipelineId = pipeline.id;
271
+ recordEvent(repoRoot, state, `Pipeline ${pipeline.id}: ${pipeline.status} — ${pipeline.webUrl}`);
272
+ if (pipeline.status === 'success') {
273
+ state.phase = 'done';
274
+ recordEvent(repoRoot, state, 'Pipeline succeeded');
275
+ return { action: 'stop' };
276
+ }
277
+ if (pipeline.status !== 'failed') {
278
+ // canceled/skipped: there are no failing jobs to fix — don't spend agent tokens.
279
+ await escalate(forge, mrIid, formatEscalationNote('Pipeline ended without a clear pass/fail', [`⚠️ CI pipeline: \`${pipeline.status}\` — ${pipeline.webUrl}`], 'Nothing to auto-fix — needs a human decision.'), state, repoRoot);
280
+ return { action: 'stop' };
281
+ }
282
+ return runCiFixAttempt(forge, config, agent, worktreePath, branch, mrIid, pipeline, state, repoRoot);
283
+ }
284
+ // fallow-ignore-next-line complexity
213
285
  export async function watchPipeline(forge, config, agent, worktreePath, branch, targetBranch, mrIid, state, repoRoot) {
214
286
  const intervalMs = config.pollIntervalSeconds * 1000;
215
287
  const ciConfigured = hasCiConfig(worktreePath, config.forge);
@@ -225,57 +297,13 @@ export async function watchPipeline(forge, config, agent, worktreePath, branch,
225
297
  continue;
226
298
  }
227
299
  if (outcome.kind === 'no-pipeline') {
228
- // No CI ran at all (repo has no workflow configured for this MR/PR)
229
- // there's nothing to poll for, so stop instead of spinning until the
230
- // 2-hour safety window would otherwise time out.
231
- step('ℹ️', 'No CI pipeline found', `no pipeline was detected for the MR/PR within ${NO_PIPELINE_GRACE_MS / 1000}s — nothing to watch`);
232
- state.phase = 'done';
233
- recordEvent(repoRoot, state, 'No CI pipeline found for this MR/PR — nothing to watch');
234
- return;
235
- }
236
- const pipeline = outcome.pipeline;
237
- note(`pipeline ${pipeline.id}: ${pipeline.status} — ${pipeline.webUrl}`);
238
- state.pipelineId = pipeline.id;
239
- recordEvent(repoRoot, state, `Pipeline ${pipeline.id}: ${pipeline.status} — ${pipeline.webUrl}`);
240
- if (pipeline.status === 'success') {
241
- state.phase = 'done';
242
- recordEvent(repoRoot, state, 'Pipeline succeeded');
243
- return;
244
- }
245
- if (pipeline.status !== 'failed') {
246
- // canceled/skipped: there are no failing jobs to fix — don't spend agent tokens.
247
- await escalate(forge, mrIid, formatEscalationNote('Pipeline ended without a clear pass/fail', [`⚠️ CI pipeline: \`${pipeline.status}\` — ${pipeline.webUrl}`], 'Nothing to auto-fix — needs a human decision.'), state, repoRoot);
300
+ await handleNoPipelineOutcome(state, repoRoot);
248
301
  return;
249
302
  }
250
- state.attempt += 1;
251
- recordEvent(repoRoot, state, `Pipeline failed; attempt ${state.attempt}/${config.maxFixAttempts} ${pipeline.webUrl}`);
252
- step('💥', 'Pipeline failed', `attempt ${state.attempt}/${config.maxFixAttempts} — ${pipeline.webUrl}`);
253
- if (state.attempt > config.maxFixAttempts) {
254
- await escalate(forge, mrIid, formatEscalationNote(`Automated fix attempts exhausted (${state.attempt - 1} attempt(s))`, [`❌ CI pipeline: still failing — ${pipeline.webUrl}`], 'Needs a human to take over.'), state, repoRoot);
303
+ const result = await handlePipelineTerminal(forge, config, agent, worktreePath, branch, mrIid, outcome.pipeline, state, repoRoot);
304
+ if (result.action === 'stop')
255
305
  return;
256
- }
257
- const mcpConfigPath = writeAgentMcpConfig();
258
- let agentResult;
259
- try {
260
- agentResult = await runStep('12.5', '🔧', 'Fixing CI failure', `asking the agent to diagnose and fix ${pipeline.webUrl} via whatever ${forgeLabel(config.forge)} MCP tooling is available`, () => agent.invoke({ prompt: buildFixPrompt(pipeline, config.forge), cwd: worktreePath, mcpConfigPath, permissionMode: 'acceptEdits' }));
261
- }
262
- finally {
263
- unlinkSync(mcpConfigPath);
264
- }
265
- const agentResponse = agentResult.text;
266
- note(`agent: ${agentResponse.slice(0, 300).trim()}${agentResponse.length > 300 ? '…' : ''}`);
267
- noteSession(agentResult, worktreePath);
268
- if (!(await hasChanges(worktreePath))) {
269
- // Re-pushing an identical tree would never produce a new pipeline; stop here.
270
- await escalate(forge, mrIid, formatEscalationNote('Fix attempt produced no changes', [`❌ CI pipeline: still failing — ${pipeline.webUrl}`, `⚠️ Agent fix attempt ${state.attempt} made no changes to push`], 'Escalating to a human.'), state, repoRoot);
271
- return;
272
- }
273
- await runStep('12.6', '⬆', 'Pushing the fix', `commit and push attempt ${state.attempt} to ${branch}`, async () => {
274
- await stageAll(worktreePath);
275
- await commit(worktreePath, `fix: address CI failure (attempt ${state.attempt})`);
276
- await push(worktreePath, 'origin', branch);
277
- });
278
- previousPipelineId = pipeline.id;
306
+ previousPipelineId = result.previousPipelineId;
279
307
  }
280
308
  }
281
309
  //# sourceMappingURL=watchPipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchPipeline.js","sourceRoot":"","sources":["../../src/workflow/watchPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchPipeline.js","sourceRoot":"","sources":["../../src/workflow/watchPipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAE1H,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG5E,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,wCAAwC;AACvF,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,4EAA4E;AAC5E,sEAAsE;AACtE,6BAA6B;AAC7B,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,MAAM,iBAAiB,GAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAE7F,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,YAAoB,EAAE,KAAgB;IAChE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAChE,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACtH,CAAC;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;;GAMG;AACH,SAAS,wBAAwB,CAC/B,YAAqB,EACrB,kBAAsC,EACtC,iBAAyB,EACzB,UAAkB;IAElB,OAAO,CAAC,YAAY,IAAI,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChI,CAAC;AAED,mIAAmI;AACnI,SAAS,qBAAqB,CAAC,SAAqB,EAAE,kBAAsC;IAC1F,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,kBAAkB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtH,CAAC;AAED,qCAAqC;AACrC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAkB,EAClB,KAAa,EACb,UAAkB,EAClB,kBAA2B,EAC3B,oBAA4B,oBAAoB,EAChD,eAAwB,KAAK;IAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC;IACzE,IAAI,oBAAoB,GAAG,wBAAwB,CAAC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACrH,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACtE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,oBAAoB,GAAG,SAAS,CAAC,CAAC,+DAA+D;QACnG,CAAC;aAAM,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC9C,UAAU,IAAI,CAAC,CAAC;YAChB,IAAI,UAAU,IAAI,oBAAoB,EAAE,CAAC;gBACvC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,6FAA6F,CAAC,CAAC;AAC5H,CAAC;AAED,SAAS,mBAAmB,CAAC,eAAyB;IACpD,OAAO,CACL,oFAAoF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAClH,iHAAiH;QACjH,8GAA8G;QAC9G,2CAA2C,CAC5C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,UAAU,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3I,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,SAAoB;IACtC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,QAAkB,EAAE,SAAoB;IAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,CACL,mBAAmB,QAAQ,CAAC,MAAM,QAAQ,QAAQ,CAAC,EAAE,2BAA2B,KAAK,yBAAyB;QAC9G,yFAAyF,KAAK,iBAAiB;QAC/G,6GAA6G;QAC7G,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,QAAgB,EAAE,OAAiB,EAAE,MAAc;IAC/E,OAAO,QAAQ,QAAQ,SAAS,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAkB,EAAE,KAAa,EAAE,OAAe,EAAE,KAAe,EAAE,QAAgB;IAC3G,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACvG,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;IAC1B,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,gJAAgJ;AAChJ,KAAK,UAAU,iBAAiB,CAAC,YAAoB,EAAE,YAAoB;IACzE,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,oBAAoB,YAAY,YAAY,EAAE,KAAK,IAAI,EAAE;QAC7G,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,YAAY,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;YACpG,OAAO,IAAI,CAAC,CAAC,8DAA8D;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,CAAC,wDAAwD;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yHAAyH;AACzH,KAAK,UAAU,yBAAyB,CAAC,KAAmB,EAAE,YAAoB,EAAE,eAAyB;IAC3G,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAC5C,IAAI,WAA8B,CAAC;IACnC,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,OAAO,CACzB,MAAM,EACN,IAAI,EACJ,qBAAqB,EACrB,+BAA+B,eAAe,CAAC,MAAM,qBAAqB,EAC1E,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CACtI,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IACD,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEjD,OAAO,6BAA6B,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,YAAoB,EAAE,YAAoB;IAC/E,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,CAAC,YAAY,EAAE,wCAAwC,YAAY,EAAE,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;GAOG;AACH,qCAAqC;AACrC,KAAK,UAAU,mBAAmB,CAChC,KAAkB,EAClB,KAAmB,EACnB,MAA4B,EAC5B,YAAoB,EACpB,MAAc,EACd,YAAoB,EACpB,KAAa,EACb,KAAe,EACf,QAAgB;IAEhB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACnB,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,qCAAqC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,cAAc,qBAAqB,YAAY,SAAS,MAAM,EAAE,CAAC,CAAC;IAE5J,IAAI,CAAC,IAAI,EAAE,0BAA0B,EAAE,WAAW,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,cAAc,qBAAqB,YAAY,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5I,IAAI,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,QAAQ,CACZ,KAAK,EACL,KAAK,EACL,oBAAoB,CAClB,qCAAqC,KAAK,CAAC,OAAO,GAAG,CAAC,cAAc,EACpE,CAAC,mCAAmC,YAAY,wCAAwC,CAAC,EACzF,2CAA2C,CAC5C,EACD,KAAK,EACL,QAAQ,CACT,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEvE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oBAAoB,YAAY,4EAA4E,CAAC,CAAC;QAChI,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QAC9F,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,CACZ,KAAK,EACL,KAAK,EACL,oBAAoB,CAClB,kCAAkC,EAClC,CAAC,gBAAgB,eAAe,CAAC,MAAM,8BAA8B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAClG,wBAAwB,CACzB,EACD,KAAK,EACL,QAAQ,CACT,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,uBAAuB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACxH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4LAA4L;AAC5L,KAAK,UAAU,uBAAuB,CAAC,KAAe,EAAE,QAAgB;IACtE,IAAI,CAAC,IAAI,EAAE,sBAAsB,EAAE,iDAAiD,oBAAoB,GAAG,IAAI,sBAAsB,CAAC,CAAC;IACvI,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACrB,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,wDAAwD,CAAC,CAAC;AACzF,CAAC;AAKD,2JAA2J;AAC3J,KAAK,UAAU,eAAe,CAC5B,KAAkB,EAClB,MAA4B,EAC5B,KAAmB,EACnB,YAAoB,EACpB,MAAc,EACd,KAAa,EACb,QAAkB,EAClB,KAAe,EACf,QAAgB;IAEhB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACnB,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,4BAA4B,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,cAAc,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAExH,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,cAAc,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxG,IAAI,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,QAAQ,CACZ,KAAK,EACL,KAAK,EACL,oBAAoB,CAClB,qCAAqC,KAAK,CAAC,OAAO,GAAG,CAAC,cAAc,EACpE,CAAC,kCAAkC,QAAQ,CAAC,MAAM,EAAE,CAAC,EACrD,6BAA6B,CAC9B,EACD,KAAK,EACL,QAAQ,CACT,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAC5C,IAAI,WAA8B,CAAC;IACnC,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,OAAO,CACzB,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,wCAAwC,QAAQ,CAAC,MAAM,iBAAiB,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAC3H,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CACxI,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IACD,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEjD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACtC,8EAA8E;QAC9E,MAAM,QAAQ,CACZ,KAAK,EACL,KAAK,EACL,oBAAoB,CAClB,iCAAiC,EACjC,CAAC,kCAAkC,QAAQ,CAAC,MAAM,EAAE,EAAE,wBAAwB,KAAK,CAAC,OAAO,0BAA0B,CAAC,EACtH,wBAAwB,CACzB,EACD,KAAK,EACL,QAAQ,CACT,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,2BAA2B,KAAK,CAAC,OAAO,OAAO,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE;QAChH,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7B,MAAM,MAAM,CAAC,YAAY,EAAE,oCAAoC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;AACjE,CAAC;AAED,6HAA6H;AAC7H,KAAK,UAAU,sBAAsB,CACnC,KAAkB,EAClB,MAA4B,EAC5B,KAAmB,EACnB,YAAoB,EACpB,MAAc,EACd,KAAa,EACb,QAAkB,EAClB,KAAe,EACf,QAAgB;IAEhB,IAAI,CAAC,YAAY,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC/B,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjG,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACrB,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;QACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,iFAAiF;QACjF,MAAM,QAAQ,CACZ,KAAK,EACL,KAAK,EACL,oBAAoB,CAClB,0CAA0C,EAC1C,CAAC,qBAAqB,QAAQ,CAAC,MAAM,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,EAC/D,+CAA+C,CAChD,EACD,KAAK,EACL,QAAQ,CACT,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvG,CAAC;AAED,qCAAqC;AACrC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAkB,EAClB,MAA4B,EAC5B,KAAmB,EACnB,YAAoB,EACpB,MAAc,EACd,YAAoB,EACpB,KAAa,EACb,KAAe,EACf,QAAgB;IAEhB,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACrD,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;IACtB,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,2BAA2B,CAAC,CAAC;IAE1D,IAAI,kBAAsC,CAAC;IAC3C,SAAS,CAAC;QACR,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,iBAAiB,MAAM,CAAC,mBAAmB,qBAAqB,EAChE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAC1G,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7H,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,+CAA+C;YACtE,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnC,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClI,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QACrC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACjD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pipeline-worker",
3
- "version": "0.1.21",
3
+ "version": "0.1.22",
4
4
  "description": "Automated git-worktree workflow: captures intent from a diff via Claude Code or GitHub Copilot CLI, runs build/lint/test, opens a GitLab MR or GitHub PR, and auto-fixes failing pipelines — with a companion forge MCP server (TOON-encoded responses).",
5
5
  "license": "MIT",
6
6
  "author": "Mohan TN <mohan.tn100@gmail.com>",