@jonit-dev/night-watch-cli 1.8.7 → 1.8.8-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -1941,6 +1941,114 @@ var init_container = __esm({
1941
1941
  }
1942
1942
  });
1943
1943
 
1944
+ // ../core/dist/utils/logger.js
1945
+ import fs3 from "fs";
1946
+ import os2 from "os";
1947
+ import path3 from "path";
1948
+ function colorize(color, text) {
1949
+ return NO_COLOR ? text : `${color}${text}${ANSI.reset}`;
1950
+ }
1951
+ function stripAnsi(text) {
1952
+ return text.replace(ANSI_STRIP_RE, "");
1953
+ }
1954
+ function serializeValue(v) {
1955
+ if (v instanceof Error)
1956
+ return JSON.stringify(v.message);
1957
+ if (typeof v === "string")
1958
+ return JSON.stringify(v);
1959
+ if (v === null || v === void 0)
1960
+ return String(v);
1961
+ return JSON.stringify(v);
1962
+ }
1963
+ function formatMeta(meta) {
1964
+ const parts = Object.entries(meta).filter(([, v]) => v !== void 0 && v !== null && v !== "").map(([k, v]) => `${k}=${serializeValue(v)}`);
1965
+ return parts.length > 0 ? " " + parts.join(" ") : "";
1966
+ }
1967
+ function getLogStream() {
1968
+ if (_logStreamFailed)
1969
+ return null;
1970
+ if (_logStream)
1971
+ return _logStream;
1972
+ try {
1973
+ const logsDir = path3.join(process.env.NIGHT_WATCH_HOME ?? path3.join(os2.homedir(), GLOBAL_CONFIG_DIR), "logs");
1974
+ fs3.mkdirSync(logsDir, { recursive: true });
1975
+ const logFile = path3.join(logsDir, "night-watch.log");
1976
+ _logStream = fs3.createWriteStream(logFile, { flags: "a" });
1977
+ _logStream.on("error", () => {
1978
+ _logStreamFailed = true;
1979
+ _logStream = null;
1980
+ });
1981
+ } catch {
1982
+ _logStreamFailed = true;
1983
+ }
1984
+ return _logStream;
1985
+ }
1986
+ function createLogger(context) {
1987
+ return new Logger(context);
1988
+ }
1989
+ var ANSI, NO_COLOR, ANSI_STRIP_RE, LEVEL_STYLES, _logStream, _logStreamFailed, Logger;
1990
+ var init_logger = __esm({
1991
+ "../core/dist/utils/logger.js"() {
1992
+ "use strict";
1993
+ init_constants();
1994
+ ANSI = {
1995
+ reset: "\x1B[0m",
1996
+ dim: "\x1B[2m",
1997
+ cyan: "\x1B[36m",
1998
+ green: "\x1B[32m",
1999
+ yellow: "\x1B[33m",
2000
+ red: "\x1B[31m",
2001
+ magenta: "\x1B[35m",
2002
+ bold: "\x1B[1m"
2003
+ };
2004
+ NO_COLOR = process.env.NO_COLOR !== void 0 || process.env.TERM === "dumb";
2005
+ ANSI_STRIP_RE = /\x1b\[[0-9;]*m/g;
2006
+ LEVEL_STYLES = {
2007
+ debug: { label: "DEBUG", color: ANSI.magenta },
2008
+ info: { label: "INFO ", color: ANSI.green },
2009
+ warn: { label: "WARN ", color: ANSI.yellow },
2010
+ error: { label: "ERROR", color: ANSI.red }
2011
+ };
2012
+ _logStream = null;
2013
+ _logStreamFailed = false;
2014
+ Logger = class {
2015
+ context;
2016
+ constructor(context) {
2017
+ this.context = context;
2018
+ }
2019
+ write(level, message, meta) {
2020
+ const { label: label2, color } = LEVEL_STYLES[level];
2021
+ const ts = colorize(ANSI.dim, (/* @__PURE__ */ new Date()).toISOString());
2022
+ const lvl = colorize(`${ANSI.bold}${color}`, `[${label2}]`);
2023
+ const ctx = colorize(ANSI.cyan, `[${this.context}]`);
2024
+ const msg = level === "error" ? colorize(color, message) : message;
2025
+ const metaStr = meta ? formatMeta(meta) : "";
2026
+ const line = `${ts} ${lvl} ${ctx} ${msg}${metaStr}`;
2027
+ if (level === "error") {
2028
+ console.error(line);
2029
+ } else if (level === "warn") {
2030
+ console.warn(line);
2031
+ } else {
2032
+ console.log(line);
2033
+ }
2034
+ getLogStream()?.write(stripAnsi(line) + "\n");
2035
+ }
2036
+ debug(message, meta) {
2037
+ this.write("debug", message, meta);
2038
+ }
2039
+ info(message, meta) {
2040
+ this.write("info", message, meta);
2041
+ }
2042
+ warn(message, meta) {
2043
+ this.write("warn", message, meta);
2044
+ }
2045
+ error(message, meta) {
2046
+ this.write("error", message, meta);
2047
+ }
2048
+ };
2049
+ }
2050
+ });
2051
+
1944
2052
  // ../core/dist/board/providers/github-graphql.js
1945
2053
  import { execFile } from "child_process";
1946
2054
  import { promisify } from "util";
@@ -2309,15 +2417,55 @@ var init_github_projects_base = __esm({
2309
2417
  // ../core/dist/board/providers/github-projects.js
2310
2418
  import { execFile as execFile2 } from "child_process";
2311
2419
  import { promisify as promisify2 } from "util";
2312
- var execFileAsync2, GitHubProjectsProvider;
2420
+ function formatExecFileError(err) {
2421
+ return err instanceof Error ? err.message : String(err);
2422
+ }
2423
+ function isMissingLabelError(err) {
2424
+ const message = formatExecFileError(err);
2425
+ return /could not add label/i.test(message) || /label.*not found/i.test(message);
2426
+ }
2427
+ var execFileAsync2, logger, GitHubProjectsProvider;
2313
2428
  var init_github_projects = __esm({
2314
2429
  "../core/dist/board/providers/github-projects.js"() {
2315
2430
  "use strict";
2316
2431
  init_types2();
2432
+ init_logger();
2317
2433
  init_github_graphql();
2318
2434
  init_github_projects_base();
2319
2435
  execFileAsync2 = promisify2(execFile2);
2436
+ logger = createLogger("github-board");
2320
2437
  GitHubProjectsProvider = class extends GitHubProjectsBase {
2438
+ async createRepositoryIssue(repo, input) {
2439
+ const requestedLabels = input.labels ?? [];
2440
+ const buildIssueArgs = (labels) => {
2441
+ const args = ["issue", "create", "--title", input.title, "--body", input.body, "--repo", repo];
2442
+ if (labels.length > 0) {
2443
+ args.push("--label", labels.join(","));
2444
+ }
2445
+ return args;
2446
+ };
2447
+ try {
2448
+ const { stdout } = await execFileAsync2("gh", buildIssueArgs(requestedLabels), {
2449
+ cwd: this.cwd,
2450
+ encoding: "utf-8"
2451
+ });
2452
+ return { issueUrl: stdout.trim(), appliedLabels: requestedLabels };
2453
+ } catch (err) {
2454
+ if (requestedLabels.length > 0 && isMissingLabelError(err)) {
2455
+ logger.warn("Issue creation failed due to missing labels; retrying without labels", {
2456
+ repo,
2457
+ title: input.title,
2458
+ labels: requestedLabels
2459
+ });
2460
+ const { stdout } = await execFileAsync2("gh", buildIssueArgs([]), {
2461
+ cwd: this.cwd,
2462
+ encoding: "utf-8"
2463
+ });
2464
+ return { issueUrl: stdout.trim(), appliedLabels: [] };
2465
+ }
2466
+ throw err;
2467
+ }
2468
+ }
2321
2469
  async setupBoard(title) {
2322
2470
  const owner = await this.getRepoOwner();
2323
2471
  const existing = await this.findExistingProject(owner, title);
@@ -2408,24 +2556,7 @@ var init_github_projects = __esm({
2408
2556
  async createIssue(input) {
2409
2557
  const repo = await this.getRepo();
2410
2558
  const { projectId, fieldId, optionIds } = await this.ensureProjectCache();
2411
- const issueArgs = [
2412
- "issue",
2413
- "create",
2414
- "--title",
2415
- input.title,
2416
- "--body",
2417
- input.body,
2418
- "--repo",
2419
- repo
2420
- ];
2421
- if (input.labels && input.labels.length > 0) {
2422
- issueArgs.push("--label", input.labels.join(","));
2423
- }
2424
- const { stdout: issueUrlRaw } = await execFileAsync2("gh", issueArgs, {
2425
- cwd: this.cwd,
2426
- encoding: "utf-8"
2427
- });
2428
- const issueUrl = issueUrlRaw.trim();
2559
+ const { issueUrl, appliedLabels } = await this.createRepositoryIssue(repo, input);
2429
2560
  const issueNumber = parseInt(issueUrl.split("/").pop() ?? "", 10);
2430
2561
  if (!issueNumber)
2431
2562
  throw new Error(`Failed to parse issue number from URL: ${issueUrl}`);
@@ -2456,7 +2587,7 @@ var init_github_projects = __esm({
2456
2587
  body: input.body,
2457
2588
  url: issueJson.url,
2458
2589
  column: targetColumn,
2459
- labels: input.labels ?? [],
2590
+ labels: appliedLabels,
2460
2591
  assignees: []
2461
2592
  };
2462
2593
  }
@@ -2799,7 +2930,13 @@ var init_labels = __esm({
2799
2930
  name: HORIZON_LABEL_INFO[h].name,
2800
2931
  description: HORIZON_LABEL_INFO[h].description,
2801
2932
  color: "5319e7"
2802
- }))
2933
+ })),
2934
+ // Operational labels
2935
+ {
2936
+ name: "analytics",
2937
+ description: "Created by the analytics job for Amplitude findings",
2938
+ color: "1d76db"
2939
+ }
2803
2940
  ];
2804
2941
  }
2805
2942
  });
@@ -3003,40 +3140,40 @@ var init_repositories = __esm({
3003
3140
  });
3004
3141
 
3005
3142
  // ../core/dist/storage/json-state-migrator.js
3006
- import * as fs3 from "fs";
3007
- import * as path3 from "path";
3143
+ import * as fs4 from "fs";
3144
+ import * as path4 from "path";
3008
3145
  function tryReadJson(filePath) {
3009
- if (!fs3.existsSync(filePath)) {
3146
+ if (!fs4.existsSync(filePath)) {
3010
3147
  return null;
3011
3148
  }
3012
3149
  try {
3013
- const content = fs3.readFileSync(filePath, "utf-8");
3150
+ const content = fs4.readFileSync(filePath, "utf-8");
3014
3151
  return JSON.parse(content);
3015
3152
  } catch {
3016
3153
  return null;
3017
3154
  }
3018
3155
  }
3019
3156
  function backupFile(src, backupDir) {
3020
- if (fs3.existsSync(src)) {
3021
- fs3.copyFileSync(src, path3.join(backupDir, path3.basename(src)));
3157
+ if (fs4.existsSync(src)) {
3158
+ fs4.copyFileSync(src, path4.join(backupDir, path4.basename(src)));
3022
3159
  }
3023
3160
  }
3024
3161
  function collectPrdDirs(projectPaths) {
3025
3162
  const prdDirs = [];
3026
3163
  for (const projectPath of projectPaths) {
3027
- const configPath = path3.join(projectPath, CONFIG_FILE_NAME);
3164
+ const configPath = path4.join(projectPath, CONFIG_FILE_NAME);
3028
3165
  let prdDir = "docs/prds";
3029
- if (fs3.existsSync(configPath)) {
3166
+ if (fs4.existsSync(configPath)) {
3030
3167
  try {
3031
- const config = JSON.parse(fs3.readFileSync(configPath, "utf-8"));
3168
+ const config = JSON.parse(fs4.readFileSync(configPath, "utf-8"));
3032
3169
  if (typeof config.prdDir === "string" && config.prdDir.length > 0) {
3033
3170
  prdDir = config.prdDir;
3034
3171
  }
3035
3172
  } catch {
3036
3173
  }
3037
3174
  }
3038
- const fullPrdDir = path3.join(projectPath, prdDir);
3039
- if (fs3.existsSync(fullPrdDir)) {
3175
+ const fullPrdDir = path4.join(projectPath, prdDir);
3176
+ if (fs4.existsSync(fullPrdDir)) {
3040
3177
  prdDirs.push(fullPrdDir);
3041
3178
  }
3042
3179
  }
@@ -3056,11 +3193,11 @@ function migrateJsonToSqlite(nightWatchHome) {
3056
3193
  alreadyMigrated: true
3057
3194
  };
3058
3195
  }
3059
- const backupDir = path3.join(nightWatchHome, "backups", `json-migration-${Date.now()}`);
3060
- fs3.mkdirSync(backupDir, { recursive: true });
3061
- const projectsJsonPath = path3.join(nightWatchHome, "projects.json");
3062
- const historyJsonPath = path3.join(nightWatchHome, "history.json");
3063
- const prdStatesJsonPath = path3.join(nightWatchHome, "prd-states.json");
3196
+ const backupDir = path4.join(nightWatchHome, "backups", `json-migration-${Date.now()}`);
3197
+ fs4.mkdirSync(backupDir, { recursive: true });
3198
+ const projectsJsonPath = path4.join(nightWatchHome, "projects.json");
3199
+ const historyJsonPath = path4.join(nightWatchHome, "history.json");
3200
+ const prdStatesJsonPath = path4.join(nightWatchHome, "prd-states.json");
3064
3201
  backupFile(projectsJsonPath, backupDir);
3065
3202
  backupFile(historyJsonPath, backupDir);
3066
3203
  backupFile(prdStatesJsonPath, backupDir);
@@ -3112,7 +3249,7 @@ function migrateJsonToSqlite(nightWatchHome) {
3112
3249
  const prdDirs = collectPrdDirs(projectPaths);
3113
3250
  const migrateRoadmapStates = db.transaction(() => {
3114
3251
  for (const prdDir of prdDirs) {
3115
- const stateFilePath = path3.join(prdDir, ".roadmap-state.json");
3252
+ const stateFilePath = path4.join(prdDir, ".roadmap-state.json");
3116
3253
  const state = tryReadJson(stateFilePath);
3117
3254
  if (state === null) {
3118
3255
  continue;
@@ -3122,7 +3259,7 @@ function migrateJsonToSqlite(nightWatchHome) {
3122
3259
  }
3123
3260
  const backupName = `roadmap-state-${Buffer.from(prdDir).toString("base64url").slice(0, 32)}.json`;
3124
3261
  try {
3125
- fs3.copyFileSync(stateFilePath, path3.join(backupDir, backupName));
3262
+ fs4.copyFileSync(stateFilePath, path4.join(backupDir, backupName));
3126
3263
  } catch {
3127
3264
  }
3128
3265
  roadmapState.save(prdDir, {
@@ -3154,114 +3291,6 @@ var init_json_state_migrator = __esm({
3154
3291
  }
3155
3292
  });
3156
3293
 
3157
- // ../core/dist/utils/logger.js
3158
- import fs4 from "fs";
3159
- import os2 from "os";
3160
- import path4 from "path";
3161
- function colorize(color, text) {
3162
- return NO_COLOR ? text : `${color}${text}${ANSI.reset}`;
3163
- }
3164
- function stripAnsi(text) {
3165
- return text.replace(ANSI_STRIP_RE, "");
3166
- }
3167
- function serializeValue(v) {
3168
- if (v instanceof Error)
3169
- return JSON.stringify(v.message);
3170
- if (typeof v === "string")
3171
- return JSON.stringify(v);
3172
- if (v === null || v === void 0)
3173
- return String(v);
3174
- return JSON.stringify(v);
3175
- }
3176
- function formatMeta(meta) {
3177
- const parts = Object.entries(meta).filter(([, v]) => v !== void 0 && v !== null && v !== "").map(([k, v]) => `${k}=${serializeValue(v)}`);
3178
- return parts.length > 0 ? " " + parts.join(" ") : "";
3179
- }
3180
- function getLogStream() {
3181
- if (_logStreamFailed)
3182
- return null;
3183
- if (_logStream)
3184
- return _logStream;
3185
- try {
3186
- const logsDir = path4.join(process.env.NIGHT_WATCH_HOME ?? path4.join(os2.homedir(), GLOBAL_CONFIG_DIR), "logs");
3187
- fs4.mkdirSync(logsDir, { recursive: true });
3188
- const logFile = path4.join(logsDir, "night-watch.log");
3189
- _logStream = fs4.createWriteStream(logFile, { flags: "a" });
3190
- _logStream.on("error", () => {
3191
- _logStreamFailed = true;
3192
- _logStream = null;
3193
- });
3194
- } catch {
3195
- _logStreamFailed = true;
3196
- }
3197
- return _logStream;
3198
- }
3199
- function createLogger(context) {
3200
- return new Logger(context);
3201
- }
3202
- var ANSI, NO_COLOR, ANSI_STRIP_RE, LEVEL_STYLES, _logStream, _logStreamFailed, Logger;
3203
- var init_logger = __esm({
3204
- "../core/dist/utils/logger.js"() {
3205
- "use strict";
3206
- init_constants();
3207
- ANSI = {
3208
- reset: "\x1B[0m",
3209
- dim: "\x1B[2m",
3210
- cyan: "\x1B[36m",
3211
- green: "\x1B[32m",
3212
- yellow: "\x1B[33m",
3213
- red: "\x1B[31m",
3214
- magenta: "\x1B[35m",
3215
- bold: "\x1B[1m"
3216
- };
3217
- NO_COLOR = process.env.NO_COLOR !== void 0 || process.env.TERM === "dumb";
3218
- ANSI_STRIP_RE = /\x1b\[[0-9;]*m/g;
3219
- LEVEL_STYLES = {
3220
- debug: { label: "DEBUG", color: ANSI.magenta },
3221
- info: { label: "INFO ", color: ANSI.green },
3222
- warn: { label: "WARN ", color: ANSI.yellow },
3223
- error: { label: "ERROR", color: ANSI.red }
3224
- };
3225
- _logStream = null;
3226
- _logStreamFailed = false;
3227
- Logger = class {
3228
- context;
3229
- constructor(context) {
3230
- this.context = context;
3231
- }
3232
- write(level, message, meta) {
3233
- const { label: label2, color } = LEVEL_STYLES[level];
3234
- const ts = colorize(ANSI.dim, (/* @__PURE__ */ new Date()).toISOString());
3235
- const lvl = colorize(`${ANSI.bold}${color}`, `[${label2}]`);
3236
- const ctx = colorize(ANSI.cyan, `[${this.context}]`);
3237
- const msg = level === "error" ? colorize(color, message) : message;
3238
- const metaStr = meta ? formatMeta(meta) : "";
3239
- const line = `${ts} ${lvl} ${ctx} ${msg}${metaStr}`;
3240
- if (level === "error") {
3241
- console.error(line);
3242
- } else if (level === "warn") {
3243
- console.warn(line);
3244
- } else {
3245
- console.log(line);
3246
- }
3247
- getLogStream()?.write(stripAnsi(line) + "\n");
3248
- }
3249
- debug(message, meta) {
3250
- this.write("debug", message, meta);
3251
- }
3252
- info(message, meta) {
3253
- this.write("info", message, meta);
3254
- }
3255
- warn(message, meta) {
3256
- this.write("warn", message, meta);
3257
- }
3258
- error(message, meta) {
3259
- this.write("error", message, meta);
3260
- }
3261
- };
3262
- }
3263
- });
3264
-
3265
3294
  // ../core/dist/utils/prd-states.js
3266
3295
  function readPrdStates() {
3267
3296
  const { prdState } = getRepositories();
@@ -6517,7 +6546,7 @@ function reconcileStaleRunningJobs(db) {
6517
6546
  const lockInfo = checkLockFile(getLockPathForJob(entry.projectPath, entry.jobType));
6518
6547
  if (!lockInfo.running) {
6519
6548
  staleIds.push(entry.id);
6520
- logger.warn("Expiring stale running queue entry", {
6549
+ logger2.warn("Expiring stale running queue entry", {
6521
6550
  id: entry.id,
6522
6551
  jobType: entry.jobType,
6523
6552
  project: entry.projectName,
@@ -6600,7 +6629,7 @@ function enqueueJob(projectPath, projectName, jobType, envVars, config, provider
6600
6629
  provider_key)
6601
6630
  VALUES (?, ?, ?, ?, 'pending', ?, ?, ?)`).run(projectPath, projectName, jobType, priority, envJson, now, providerKey ?? null);
6602
6631
  const id = result.lastInsertRowid;
6603
- logger.info("Job enqueued", {
6632
+ logger2.info("Job enqueued", {
6604
6633
  id,
6605
6634
  jobType,
6606
6635
  project: projectName,
@@ -6626,7 +6655,7 @@ function markJobRunning(queueId) {
6626
6655
  const db = openDb();
6627
6656
  try {
6628
6657
  db.prepare(`UPDATE job_queue SET status = 'running' WHERE id = ?`).run(queueId);
6629
- logger.debug("Job marked running", { id: queueId });
6658
+ logger2.debug("Job marked running", { id: queueId });
6630
6659
  } finally {
6631
6660
  db.close();
6632
6661
  }
@@ -6635,7 +6664,7 @@ function removeJob(queueId) {
6635
6664
  const db = openDb();
6636
6665
  try {
6637
6666
  db.prepare(`DELETE FROM job_queue WHERE id = ?`).run(queueId);
6638
- logger.debug("Job removed from queue", { id: queueId });
6667
+ logger2.debug("Job removed from queue", { id: queueId });
6639
6668
  } finally {
6640
6669
  db.close();
6641
6670
  }
@@ -6677,12 +6706,12 @@ function getInFlightCountByBucket(db) {
6677
6706
  function fitsProviderCapacity(candidate, config, inFlightByBucket) {
6678
6707
  const bucketKey = candidate.providerKey;
6679
6708
  if (!bucketKey) {
6680
- logger.debug("Capacity check skipped: no provider bucket assigned", { id: candidate.id });
6709
+ logger2.debug("Capacity check skipped: no provider bucket assigned", { id: candidate.id });
6681
6710
  return true;
6682
6711
  }
6683
6712
  const bucketConfig = config?.providerBuckets?.[bucketKey];
6684
6713
  if (!bucketConfig) {
6685
- logger.debug("Capacity check skipped: bucket not configured", {
6714
+ logger2.debug("Capacity check skipped: bucket not configured", {
6686
6715
  id: candidate.id,
6687
6716
  bucket: bucketKey
6688
6717
  });
@@ -6690,7 +6719,7 @@ function fitsProviderCapacity(candidate, config, inFlightByBucket) {
6690
6719
  }
6691
6720
  const inFlightCount = inFlightByBucket[bucketKey] ?? 0;
6692
6721
  if (inFlightCount >= bucketConfig.maxConcurrency) {
6693
- logger.debug("Capacity check failed: concurrency limit reached", {
6722
+ logger2.debug("Capacity check failed: concurrency limit reached", {
6694
6723
  id: candidate.id,
6695
6724
  bucket: bucketKey,
6696
6725
  inFlightCount,
@@ -6698,7 +6727,7 @@ function fitsProviderCapacity(candidate, config, inFlightByBucket) {
6698
6727
  });
6699
6728
  return false;
6700
6729
  }
6701
- logger.debug("Capacity check passed", {
6730
+ logger2.debug("Capacity check passed", {
6702
6731
  id: candidate.id,
6703
6732
  bucket: bucketKey,
6704
6733
  inFlightCount
@@ -6714,9 +6743,9 @@ function dispatchNextJob(config) {
6714
6743
  const mode = config?.mode ?? "conservative";
6715
6744
  const running = db.prepare(`SELECT COUNT(*) as count FROM job_queue WHERE status IN ('running', 'dispatched')`).get();
6716
6745
  const runningCount = running?.count ?? 0;
6717
- logger.debug("Dispatch attempt", { mode, runningCount, maxConcurrency });
6746
+ logger2.debug("Dispatch attempt", { mode, runningCount, maxConcurrency });
6718
6747
  if (runningCount >= maxConcurrency) {
6719
- logger.info("Dispatch skipped: global concurrency limit reached", {
6748
+ logger2.info("Dispatch skipped: global concurrency limit reached", {
6720
6749
  runningCount,
6721
6750
  maxConcurrency
6722
6751
  });
@@ -6726,11 +6755,11 @@ function dispatchNextJob(config) {
6726
6755
  if (mode === "conservative") {
6727
6756
  const [entry] = getPendingCandidates(db, 1);
6728
6757
  if (!entry) {
6729
- logger.debug("Dispatch skipped: no pending jobs");
6758
+ logger2.debug("Dispatch skipped: no pending jobs");
6730
6759
  return null;
6731
6760
  }
6732
6761
  db.prepare(`UPDATE job_queue SET status = 'dispatched', dispatched_at = ? WHERE id = ?`).run(now, entry.id);
6733
- logger.info("Job dispatched (conservative)", {
6762
+ logger2.info("Job dispatched (conservative)", {
6734
6763
  id: entry.id,
6735
6764
  jobType: entry.jobType,
6736
6765
  project: entry.projectName,
@@ -6743,16 +6772,16 @@ function dispatchNextJob(config) {
6743
6772
  if (mode === "auto") {
6744
6773
  const candidates2 = getPendingCandidates(db);
6745
6774
  if (candidates2.length === 0) {
6746
- logger.debug("Dispatch skipped: no pending jobs");
6775
+ logger2.debug("Dispatch skipped: no pending jobs");
6747
6776
  return null;
6748
6777
  }
6749
- logger.debug("Auto dispatch: evaluating candidates", { candidateCount: candidates2.length });
6778
+ logger2.debug("Auto dispatch: evaluating candidates", { candidateCount: candidates2.length });
6750
6779
  const inFlightByBucket2 = getInFlightCountByBucket(db);
6751
6780
  for (const candidate of candidates2) {
6752
6781
  const bucketKey = candidate.providerKey ?? "default";
6753
6782
  if ((inFlightByBucket2[bucketKey] ?? 0) === 0) {
6754
6783
  db.prepare(`UPDATE job_queue SET status = 'dispatched', dispatched_at = ? WHERE id = ?`).run(now, candidate.id);
6755
- logger.info("Job dispatched (auto)", {
6784
+ logger2.info("Job dispatched (auto)", {
6756
6785
  id: candidate.id,
6757
6786
  jobType: candidate.jobType,
6758
6787
  project: candidate.projectName,
@@ -6763,24 +6792,24 @@ function dispatchNextJob(config) {
6763
6792
  return { ...candidate, status: "dispatched", dispatchedAt: now };
6764
6793
  }
6765
6794
  }
6766
- logger.info("Dispatch skipped: all candidates blocked by provider concurrency (auto)", {
6795
+ logger2.info("Dispatch skipped: all candidates blocked by provider concurrency (auto)", {
6767
6796
  candidateCount: candidates2.length
6768
6797
  });
6769
6798
  return null;
6770
6799
  }
6771
6800
  const candidates = getPendingCandidates(db);
6772
6801
  if (candidates.length === 0) {
6773
- logger.debug("Dispatch skipped: no pending jobs");
6802
+ logger2.debug("Dispatch skipped: no pending jobs");
6774
6803
  return null;
6775
6804
  }
6776
- logger.debug("Provider-aware dispatch: evaluating candidates", {
6805
+ logger2.debug("Provider-aware dispatch: evaluating candidates", {
6777
6806
  candidateCount: candidates.length
6778
6807
  });
6779
6808
  const inFlightByBucket = getInFlightCountByBucket(db);
6780
6809
  for (const candidate of candidates) {
6781
6810
  if (fitsProviderCapacity(candidate, config, inFlightByBucket)) {
6782
6811
  db.prepare(`UPDATE job_queue SET status = 'dispatched', dispatched_at = ? WHERE id = ?`).run(now, candidate.id);
6783
- logger.info("Job dispatched (provider-aware)", {
6812
+ logger2.info("Job dispatched (provider-aware)", {
6784
6813
  id: candidate.id,
6785
6814
  jobType: candidate.jobType,
6786
6815
  project: candidate.projectName,
@@ -6791,7 +6820,7 @@ function dispatchNextJob(config) {
6791
6820
  return { ...candidate, status: "dispatched", dispatchedAt: now };
6792
6821
  }
6793
6822
  }
6794
- logger.info("Dispatch skipped: all candidates blocked by provider capacity", {
6823
+ logger2.info("Dispatch skipped: all candidates blocked by provider capacity", {
6795
6824
  candidateCount: candidates.length
6796
6825
  });
6797
6826
  return null;
@@ -6851,7 +6880,7 @@ function clearQueue(filter, force) {
6851
6880
  } else {
6852
6881
  result = db.prepare(`DELETE FROM job_queue WHERE status IN ${statuses}`).run();
6853
6882
  }
6854
- logger.info("Queue cleared", {
6883
+ logger2.info("Queue cleared", {
6855
6884
  count: result.changes,
6856
6885
  filter: filter ?? "all",
6857
6886
  force: force ?? false
@@ -6871,9 +6900,9 @@ function expireStaleJobs(maxWaitTime) {
6871
6900
  WHERE (status = 'pending' AND enqueued_at < ?)
6872
6901
  OR (status IN ('dispatched', 'running') AND dispatched_at < ?)`).run(now, cutoff, cutoff);
6873
6902
  if (result.changes > 0) {
6874
- logger.warn("Expired stale jobs", { count: result.changes, maxWaitTime });
6903
+ logger2.warn("Expired stale jobs", { count: result.changes, maxWaitTime });
6875
6904
  } else {
6876
- logger.debug("No stale jobs to expire", { maxWaitTime });
6905
+ logger2.debug("No stale jobs to expire", { maxWaitTime });
6877
6906
  }
6878
6907
  return result.changes;
6879
6908
  } finally {
@@ -6916,7 +6945,7 @@ function claimJobSlot(projectPath, projectName, jobType, providerKey, config) {
6916
6945
  const lockInfo = checkLockFile(getLockPathForJob(entry.projectPath, entry.jobType));
6917
6946
  if (!lockInfo.running) {
6918
6947
  db.prepare(`UPDATE job_queue SET status = 'expired', expired_at = ? WHERE id = ?`).run(now, entry.id);
6919
- logger.warn("claimJobSlot: expired stale running entry", {
6948
+ logger2.warn("claimJobSlot: expired stale running entry", {
6920
6949
  id: entry.id,
6921
6950
  jobType: entry.jobType,
6922
6951
  project: entry.projectName
@@ -6925,7 +6954,7 @@ function claimJobSlot(projectPath, projectName, jobType, providerKey, config) {
6925
6954
  }
6926
6955
  const globalCount = db.prepare(`SELECT COUNT(*) as count FROM job_queue WHERE status IN ('running', 'dispatched')`).get().count;
6927
6956
  if (globalCount >= maxConcurrency) {
6928
- logger.debug("claimJobSlot: global concurrency limit reached", {
6957
+ logger2.debug("claimJobSlot: global concurrency limit reached", {
6929
6958
  globalCount,
6930
6959
  maxConcurrency
6931
6960
  });
@@ -6937,7 +6966,7 @@ function claimJobSlot(projectPath, projectName, jobType, providerKey, config) {
6937
6966
  const bucketCount = db.prepare(`SELECT COUNT(*) as count FROM job_queue
6938
6967
  WHERE status IN ('running', 'dispatched') AND provider_key = ?`).get(providerKey).count;
6939
6968
  if (bucketCount >= bucketConfig.maxConcurrency) {
6940
- logger.debug("claimJobSlot: bucket concurrency limit reached", {
6969
+ logger2.debug("claimJobSlot: bucket concurrency limit reached", {
6941
6970
  providerKey,
6942
6971
  bucketCount,
6943
6972
  bucketMax: bucketConfig.maxConcurrency
@@ -6952,7 +6981,7 @@ function claimJobSlot(projectPath, projectName, jobType, providerKey, config) {
6952
6981
  dispatched_at, provider_key)
6953
6982
  VALUES (?, ?, ?, ?, 'running', '{}', ?, ?, ?)`).run(projectPath, projectName, jobType, priority, now, now, providerKey ?? null);
6954
6983
  const id = insertResult.lastInsertRowid;
6955
- logger.info("claimJobSlot: slot claimed", {
6984
+ logger2.info("claimJobSlot: slot claimed", {
6956
6985
  id,
6957
6986
  jobType,
6958
6987
  project: projectName,
@@ -7042,7 +7071,7 @@ function getJobRunsAnalytics(windowHours = 24) {
7042
7071
  db.close();
7043
7072
  }
7044
7073
  }
7045
- var logger, _migrationsApplied;
7074
+ var logger2, _migrationsApplied;
7046
7075
  var init_job_queue = __esm({
7047
7076
  "../core/dist/utils/job-queue.js"() {
7048
7077
  "use strict";
@@ -7052,7 +7081,7 @@ var init_job_queue = __esm({
7052
7081
  init_logger();
7053
7082
  init_scheduling();
7054
7083
  init_status_data();
7055
- logger = createLogger("job-queue");
7084
+ logger2 = createLogger("job-queue");
7056
7085
  _migrationsApplied = false;
7057
7086
  }
7058
7087
  });
@@ -7069,7 +7098,7 @@ function buildDateRange(lookbackDays) {
7069
7098
  return { start: fmt(start), end: fmt(end) };
7070
7099
  }
7071
7100
  async function amplitudeFetch(url, authHeader, label2) {
7072
- logger2.debug(`Fetching ${label2}`, { url });
7101
+ logger3.debug(`Fetching ${label2}`, { url });
7073
7102
  const response = await fetch(url, {
7074
7103
  headers: { Authorization: authHeader }
7075
7104
  });
@@ -7087,7 +7116,7 @@ async function amplitudeFetch(url, authHeader, label2) {
7087
7116
  async function fetchAmplitudeData(apiKey, secretKey, lookbackDays) {
7088
7117
  const authHeader = buildAuthHeader(apiKey, secretKey);
7089
7118
  const { start, end } = buildDateRange(lookbackDays);
7090
- logger2.info("Fetching Amplitude data", { lookbackDays, start, end });
7119
+ logger3.info("Fetching Amplitude data", { lookbackDays, start, end });
7091
7120
  const baseUrl = "https://amplitude.com/api/2";
7092
7121
  const allEventsParam = encodeURIComponent('{"event_type":"_all"}');
7093
7122
  const [activeUsers, eventSegmentation, retention, userSessions] = await Promise.allSettled([
@@ -7104,7 +7133,7 @@ async function fetchAmplitudeData(apiKey, secretKey, lookbackDays) {
7104
7133
  const extract = (result, label2) => {
7105
7134
  if (result.status === "fulfilled")
7106
7135
  return result.value;
7107
- logger2.warn(`Failed to fetch ${label2}`, { error: String(result.reason) });
7136
+ logger3.warn(`Failed to fetch ${label2}`, { error: String(result.reason) });
7108
7137
  return null;
7109
7138
  };
7110
7139
  return {
@@ -7116,12 +7145,12 @@ async function fetchAmplitudeData(apiKey, secretKey, lookbackDays) {
7116
7145
  lookbackDays
7117
7146
  };
7118
7147
  }
7119
- var logger2;
7148
+ var logger3;
7120
7149
  var init_amplitude_client = __esm({
7121
7150
  "../core/dist/analytics/amplitude-client.js"() {
7122
7151
  "use strict";
7123
7152
  init_logger();
7124
- logger2 = createLogger("amplitude-client");
7153
+ logger3 = createLogger("amplitude-client");
7125
7154
  }
7126
7155
  });
7127
7156
 
@@ -7140,7 +7169,7 @@ function parseIssuesFromResponse(text) {
7140
7169
  return [];
7141
7170
  return parsed.filter((item) => typeof item === "object" && item !== null && typeof item.title === "string" && typeof item.body === "string");
7142
7171
  } catch {
7143
- logger3.warn("Failed to parse AI response as JSON");
7172
+ logger4.warn("Failed to parse AI response as JSON");
7144
7173
  return [];
7145
7174
  }
7146
7175
  }
@@ -7150,7 +7179,7 @@ async function runAnalytics(config, projectDir) {
7150
7179
  if (!apiKey || !secretKey) {
7151
7180
  throw new Error("AMPLITUDE_API_KEY and AMPLITUDE_SECRET_KEY must be set in providerEnv to run analytics");
7152
7181
  }
7153
- logger3.info("Fetching Amplitude data", { lookbackDays: config.analytics.lookbackDays });
7182
+ logger4.info("Fetching Amplitude data", { lookbackDays: config.analytics.lookbackDays });
7154
7183
  const data = await fetchAmplitudeData(apiKey, secretKey, config.analytics.lookbackDays);
7155
7184
  const systemPrompt = config.analytics.analysisPrompt?.trim() || DEFAULT_ANALYTICS_PROMPT;
7156
7185
  const prompt = `${systemPrompt}
@@ -7190,7 +7219,7 @@ ${providerCmd} exec --yolo "$(cat ${promptFile})" 2>&1
7190
7219
  ${stderr}`;
7191
7220
  const issues = parseIssuesFromResponse(fullOutput);
7192
7221
  if (issues.length === 0) {
7193
- logger3.info("No actionable insights found");
7222
+ logger4.info("No actionable insights found");
7194
7223
  return { issuesCreated: 0, summary: "No actionable insights found" };
7195
7224
  }
7196
7225
  const boardProvider = createBoardProvider(config.boardProvider, projectDir);
@@ -7205,17 +7234,26 @@ ${stderr}`;
7205
7234
  labels: issue.labels ?? ["analytics"]
7206
7235
  });
7207
7236
  created++;
7208
- logger3.info("Created board issue", { title: issue.title, column: targetColumn });
7237
+ logger4.info("Created board issue", { title: issue.title, column: targetColumn });
7209
7238
  } catch (err) {
7210
- logger3.error("Failed to create board issue", {
7239
+ logger4.error("Failed to create board issue", {
7211
7240
  title: issue.title,
7212
7241
  error: String(err)
7213
7242
  });
7214
7243
  }
7215
7244
  }
7245
+ const failed = issues.length - created;
7246
+ let summary;
7247
+ if (created === issues.length) {
7248
+ summary = `Created ${created} issue(s) from analytics insights`;
7249
+ } else if (created === 0) {
7250
+ summary = `Found ${issues.length} actionable insight(s), but failed to create board issue(s)`;
7251
+ } else {
7252
+ summary = `Created ${created} of ${issues.length} issue(s) from analytics insights (${failed} failed)`;
7253
+ }
7216
7254
  return {
7217
7255
  issuesCreated: created,
7218
- summary: `Created ${created} issue(s) from analytics insights`
7256
+ summary
7219
7257
  };
7220
7258
  } finally {
7221
7259
  try {
@@ -7224,7 +7262,7 @@ ${stderr}`;
7224
7262
  }
7225
7263
  }
7226
7264
  }
7227
- var logger3;
7265
+ var logger4;
7228
7266
  var init_analytics_runner = __esm({
7229
7267
  "../core/dist/analytics/analytics-runner.js"() {
7230
7268
  "use strict";
@@ -7234,7 +7272,7 @@ var init_analytics_runner = __esm({
7234
7272
  init_shell();
7235
7273
  init_logger();
7236
7274
  init_amplitude_client();
7237
- logger3 = createLogger("analytics");
7275
+ logger4 = createLogger("analytics");
7238
7276
  }
7239
7277
  });
7240
7278
 
@@ -9495,6 +9533,8 @@ ${stderr}`);
9495
9533
  spinner.succeed("QA process queued \u2014 another job is currently running");
9496
9534
  } else if (scriptResult?.status?.startsWith("skip_")) {
9497
9535
  spinner.succeed("QA process completed (no PRs needed QA)");
9536
+ } else if (scriptResult?.status === "warning_qa") {
9537
+ spinner.succeed("QA process completed with warnings");
9498
9538
  } else {
9499
9539
  spinner.succeed("QA process completed successfully");
9500
9540
  }
@@ -9697,11 +9737,7 @@ function analyticsCommand(program2) {
9697
9737
  try {
9698
9738
  await maybeApplyCronSchedulingDelay(config, "analytics", projectDir);
9699
9739
  const result = await runAnalytics(config, projectDir);
9700
- if (result.issuesCreated > 0) {
9701
- spinner.succeed(`Analytics complete \u2014 ${result.summary}`);
9702
- } else {
9703
- spinner.succeed("Analytics complete \u2014 no actionable insights found");
9704
- }
9740
+ spinner.succeed(`Analytics complete \u2014 ${result.summary}`);
9705
9741
  } catch (err) {
9706
9742
  spinner.fail(`Analytics failed: ${err instanceof Error ? err.message : String(err)}`);
9707
9743
  process.exit(1);
@@ -16113,7 +16149,7 @@ function boardCommand(program2) {
16113
16149
  }
16114
16150
  })
16115
16151
  );
16116
- board.command("setup-labels").description("Create Night Watch priority, category, and horizon labels in the GitHub repo").option("--dry-run", "Show what labels would be created without creating them").action(
16152
+ board.command("setup-labels").description("Create Night Watch labels in the GitHub repo").option("--dry-run", "Show what labels would be created without creating them").action(
16117
16153
  async (options) => run(async () => {
16118
16154
  const cwd = process.cwd();
16119
16155
  header("Night Watch Labels");
@@ -16561,7 +16597,7 @@ import * as path41 from "path";
16561
16597
  import { spawn as spawn7 } from "child_process";
16562
16598
  import chalk7 from "chalk";
16563
16599
  import { Command as Command2 } from "commander";
16564
- var logger4 = createLogger("queue");
16600
+ var logger5 = createLogger("queue");
16565
16601
  var VALID_JOB_TYPES2 = ["executor", "reviewer", "qa", "audit", "slicer", "planner"];
16566
16602
  function formatTimestamp(unixTs) {
16567
16603
  if (unixTs === null) return "-";
@@ -16709,13 +16745,13 @@ function createQueueCommand() {
16709
16745
  queue.command("dispatch").description("Dispatch the next pending job (used by cron scripts)").option("--log <file>", "Log file to write dispatch output").action((_opts) => {
16710
16746
  const entry = dispatchNextJob(loadConfig(process.cwd()).queue);
16711
16747
  if (!entry) {
16712
- logger4.info("No pending jobs to dispatch");
16748
+ logger5.info("No pending jobs to dispatch");
16713
16749
  return;
16714
16750
  }
16715
- logger4.info(`Dispatching ${entry.jobType} for ${entry.projectName} (ID: ${entry.id})`);
16751
+ logger5.info(`Dispatching ${entry.jobType} for ${entry.projectName} (ID: ${entry.id})`);
16716
16752
  const scriptName = getScriptNameForJobType(entry.jobType);
16717
16753
  if (!scriptName) {
16718
- logger4.error(`Unknown job type: ${entry.jobType}`);
16754
+ logger5.error(`Unknown job type: ${entry.jobType}`);
16719
16755
  return;
16720
16756
  }
16721
16757
  let projectEnv;
@@ -16734,7 +16770,7 @@ function createQueueCommand() {
16734
16770
  NW_QUEUE_ENTRY_ID: String(entry.id)
16735
16771
  };
16736
16772
  const scriptPath = getScriptPath(scriptName);
16737
- logger4.info(`Spawning: ${scriptPath} ${entry.projectPath}`);
16773
+ logger5.info(`Spawning: ${scriptPath} ${entry.projectPath}`);
16738
16774
  try {
16739
16775
  const child = spawn7("bash", [scriptPath, entry.projectPath], {
16740
16776
  detached: true,
@@ -16743,11 +16779,11 @@ function createQueueCommand() {
16743
16779
  cwd: entry.projectPath
16744
16780
  });
16745
16781
  child.unref();
16746
- logger4.info(`Spawned PID: ${child.pid}`);
16782
+ logger5.info(`Spawned PID: ${child.pid}`);
16747
16783
  markJobRunning(entry.id);
16748
16784
  } catch (error2) {
16749
16785
  updateJobStatus(entry.id, "pending");
16750
- logger4.error(
16786
+ logger5.error(
16751
16787
  `Failed to dispatch ${entry.jobType} for ${entry.projectName}: ${error2 instanceof Error ? error2.message : String(error2)}`
16752
16788
  );
16753
16789
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2EvD"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuEvD"}
@@ -58,12 +58,7 @@ export function analyticsCommand(program) {
58
58
  try {
59
59
  await maybeApplyCronSchedulingDelay(config, 'analytics', projectDir);
60
60
  const result = await runAnalytics(config, projectDir);
61
- if (result.issuesCreated > 0) {
62
- spinner.succeed(`Analytics complete — ${result.summary}`);
63
- }
64
- else {
65
- spinner.succeed('Analytics complete — no actionable insights found');
66
- }
61
+ spinner.succeed(`Analytics complete ${result.summary}`);
67
62
  }
68
63
  catch (err) {
69
64
  spinner.fail(`Analytics failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"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"}
@@ -193,7 +193,7 @@ export function boardCommand(program) {
193
193
  // ---------------------------------------------------------------------------
194
194
  board
195
195
  .command('setup-labels')
196
- .description('Create Night Watch priority, category, and horizon labels in the GitHub repo')
196
+ .description('Create Night Watch labels in the GitHub repo')
197
197
  .option('--dry-run', 'Show what labels would be created without creating them')
198
198
  .action(async (options) => run(async () => {
199
199
  const cwd = process.cwd();
@@ -1 +1 @@
1
- {"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/commands/board.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/commands/board.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EAEd,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,GAAG,EACH,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,MAAM,EACN,IAAI,EACJ,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,OAAO,EACP,IAAI,GACL,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,8EAA8E;AAC9E,KAAK,UAAU,GAAG,CAAC,EAAuB;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,MAAyB,EAAE,GAAW;IACzD,IAAI,MAAM,CAAC,aAAa,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CACX,4GAA4G,CAC7G,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAiB,EAAE,CAAC;IAClF,OAAO,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB,CAClC,MAAyB,EACzB,GAAW,EACX,QAAwB,EACxB,OAA6B;IAE7B,IAAI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,kCAAkC,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;QAC7B,aAAa,EAAE;YACb,GAAG,MAAM,CAAC,aAAa;YACvB,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,IAAI,IAAI;YAC9C,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,QAAQ,IAAI,QAAQ;YACpD,aAAa,EAAE,SAAS,CAAC,MAAM;SAChC;KACF,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,sBAAsB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,QAAgB;IAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,KAA2D,EAC3D,GAAW;IAEX,IAAI,CAAC;QACH,YAAY,CACV,IAAI,EACJ,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,EAC3F,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAC5D,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,0CAA0C;QAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACjF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAqB;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,0CAA0C;IAC1C,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAqB;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,iCAAiC;IACjC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAEpF,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,uEAAuE,CAAC;SACpF,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,CAAC;SAC7E,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE,CAC5C,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE1C,6BAA6B;QAC7B,IAAI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC,kCAAkC,MAAM,CAAC,aAAa,CAAC,aAAa,IAAI,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,oDAAoD,CACrD,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,mBAAmB,UAAU,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAExD,6BAA6B;QAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,aAAa,EAAE;gBACb,GAAG,MAAM,CAAC,aAAa;gBACvB,aAAa,EAAE,SAAS,CAAC,MAAM;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE5C,MAAM,CAAC,eAAe,CAAC,CAAC;QACxB,OAAO,CAAC,QAAQ,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEJ,8EAA8E;IAC9E,qBAAqB;IACrB,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,WAAW,EAAE,yDAAyD,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,EAAE,CAC9C,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAE7B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,iDAAiD,CAAC,CAAC;YACxD,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC5D,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO,EAAE,CAAC;gBACV,GAAG,CAAC,yBAAyB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,UAAU,CAAC,CAAC;QACjB,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEJ,8EAA8E;IAC9E,2BAA2B;IAC3B,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,gEAAgE,CAAC;SAC7E,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;SAClC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,OAAO,CAAC;SACpE,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;SACvD,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,oBAAoB,EAAE,sDAAsD,CAAC;SACpF,MAAM,CAAC,mBAAmB,EAAE,oDAAoD,CAAC;SACjF,MAAM,CACL,KAAK,EACH,KAAa,EACb,OAQC,EACD,EAAE,CACF,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEnD,uBAAuB;QACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAyB,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,KAAK,CACX,mBAAmB,OAAO,CAAC,MAAM,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,oBAAoB;QACpB,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,KAAK,CACX,qBAAqB,OAAO,CAAC,QAAQ,oBAAoB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,oBAAoB;QACpB,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,KAAK,CACX,qBAAqB,OAAO,CAAC,QAAQ,oBAAoB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,mBAAmB;QACnB,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CACX,oBAAoB,OAAO,CAAC,OAAO,oBAAoB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC;YACvC,KAAK;YACL,IAAI;YACJ,MAAM,EAAE,OAAO,CAAC,MAAyB;YACzC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC/C,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAE9C,sBAAsB;QACtB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CACL,CAAC;IAEJ,8EAA8E;IAC9E,2BAA2B;IAC3B,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,2CAA2C,CAAC;SACxD,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;SACpC,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,OAAO,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAA2B,EAAE,EAAE,CAC5D,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAyB,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,KAAK,CACX,mBAAmB,OAAO,CAAC,MAAM,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CACnC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EACpB,OAAO,CAAC,MAAyB,CAClC,CAAC;QACF,OAAO,CAAC,gBAAgB,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CACH,CAAC;IAEJ,8EAA8E;IAC9E,eAAe;IACf,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC;SACnC,MAAM,CAAC,oBAAoB,EAAE,2DAA2D,CAAC;SACzF,MAAM,CAAC,KAAK,EAAE,OAA4C,EAAE,EAAE,CAC7D,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,cAAc,CAAC,CAAC;QAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,+BAA+B,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;QAE5C,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,oBAAoB;YACpB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YAEtF,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,OAAO,EAAE,CAAC;gBACjD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAC1C,8CAA8C;gBAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC9C,KAAK,CAAC,IAAI,CAAC;wBACT,QAAQ;wBACR,KAAK,CAAC,MAAM,IAAI,GAAG;wBACnB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;wBACpB,KAAK,CAAC,KAAK;wBACX,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE9B,uBAAuB;YACvB,IAAI,CAAC,UAAU,CAAC,CAAC;YACjB,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,OAAO,EAAE,CAAC;gBACjD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,GAAG,CACD,KAAK,QAAQ,KAAK,cAAc,CAAC,MAAM,SAAS,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACzF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,oBAAoB;YACpB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YAEtF,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,OAAO,EAAE,CAAC;gBACjD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAC1C,mCAAmC;gBACnC,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC9C,KAAK,CAAC,IAAI,CAAC;wBACT,QAAQ;wBACR,KAAK,CAAC,MAAM,IAAI,GAAG;wBACnB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;wBACpB,KAAK,CAAC,KAAK;wBACX,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE9B,uBAAuB;YACvB,IAAI,CAAC,UAAU,CAAC,CAAC;YACjB,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,OAAO,EAAE,CAAC;gBACjD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,GAAG,CACD,KAAK,QAAQ,KAAK,cAAc,CAAC,MAAM,SAAS,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CACzF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,MAAM,OAAO,GAAkC,EAAE,CAAC;YAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YAEtF,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,iCAAiC;gBACjC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;gBACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC9C,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE9B,qBAAqB;YACrB,IAAI,CAAC,UAAU,CAAC,CAAC;YACjB,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,GAAG,KAAK,SAAS,CAAC,MAAM,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;IAEJ,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,0EAA0E,CAAC;SACvF,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,OAAO,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,gDAAgD,CAAC;SAClE,MAAM,CAAC,OAAO,EAAE,6DAA6D,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,OAAwD,EAAE,EAAE,CACzE,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAyB,CAAC,CAAC;QAEnF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,OAAO,CAAC,GAAG;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,aAAa,GAA2B,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,MAAM,GAAG,MAAM,CAAC;YAC9C,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,sCAAsC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/C,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBACzB,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,IAAI,QAAQ,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7D,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEJ,8EAA8E;IAC9E,4BAA4B;IAC5B,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,qCAAqC,CAAC;SAClD,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;SACpC,cAAc,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAA2B,EAAE,EAAE,CAC5D,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEnD,MAAM,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,MAAyB,CAAC,CAAC;QAElF,OAAO,CAAC,gBAAgB,MAAM,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CACH,CAAC;IAEJ,8EAA8E;IAC9E,yBAAyB;IACzB,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;SACpC,cAAc,CAAC,eAAe,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAyB,EAAE,EAAE,CAC1D,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEnD,MAAM,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAElE,OAAO,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CACH,CAAC;IAEJ,8EAA8E;IAC9E,6BAA6B;IAC7B,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,oCAAoC,CAAC;SACjD,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE,CAC/B,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE9C,OAAO,CAAC,iBAAiB,MAAM,oBAAoB,CAAC,CAAC;IACvD,CAAC,CAAC,CACH,CAAC;IAEJ,8EAA8E;IAC9E,qBAAqB;IACrB,8EAA8E;IAC9E,KAAK;SACF,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,mEAAmE,CAAC;SAChF,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;SACtE,MAAM,CACL,kBAAkB,EAClB,oEAAoE,CACrE;SACA,MAAM,CAAC,KAAK,EAAE,OAAuE,EAAE,EAAE,CACxF,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEnD,kBAAkB;QAClB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAErD,MAAM,CAAC,cAAc,CAAC,CAAC;QAEvB,MAAM,QAAQ,GAIT,EAAE,CAAC;QACR,MAAM,QAAQ,GAKT,EAAE,CAAC;QACR,MAAM,OAAO,GAAkD,EAAE,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC,CAAC;gBACpE,SAAS;YACX,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;YAC3C,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;YAEzE,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;oBACzB,gCAAgC;oBAChC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC1D,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnE,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI;4BACJ,MAAM,EAAE,wCAAwC,aAAa,CAAC,MAAM,EAAE;yBACvE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACzC,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;oBACnD,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpC,GAAG,CAAC,eAAe,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAClD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC1D,GAAG,CAAC,QAAQ,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC3C,GAAG,CAAC,sBAAsB,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpC,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;oBACvC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,MAAM,MAAM,EAAE,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,CAAC;YACjB,GAAG,CAAC,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,GAAG,CAAC,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC;oBACvC,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,IAAI,CAAC,WAAW,IAAI,qCAAqC,IAAI,CAAC,OAAO,EAAE;oBAC7E,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;iBAC5B,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,YAAY,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,KAAK,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,wBAAwB;gBACxB,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,YAAY,CACV,IAAI,EACJ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC7E,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAC5D,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,sBAAsB,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,MAAM,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,UAAU,CAAC,CAAC;QACjB,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAEL,iBAAiB,EAgBlB,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAQvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAc1D;AAWD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,UAAU,GAClB,iBAAiB,CAgBnB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4IhD"}
1
+ {"version":3,"file":"qa.d.ts","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAEL,iBAAiB,EAgBlB,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAQvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAc1D;AAWD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,UAAU,GAClB,iBAAiB,CAgBnB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8IhD"}
@@ -156,6 +156,9 @@ export function qaCommand(program) {
156
156
  else if (scriptResult?.status?.startsWith('skip_')) {
157
157
  spinner.succeed('QA process completed (no PRs needed QA)');
158
158
  }
159
+ else if (scriptResult?.status === 'warning_qa') {
160
+ spinner.succeed('QA process completed with warnings');
161
+ }
159
162
  else {
160
163
  spinner.succeed('QA process completed successfully');
161
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"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"}
@@ -330,8 +330,8 @@ validate_qa_evidence() {
330
330
  fi
331
331
 
332
332
  if ! pr_has_qa_generated_files "${pr_number}"; then
333
- log "FAIL-QA-EVIDENCE: PR #${pr_number} has QA marker comment but no qa-artifacts/ or tests/*/qa/ files"
334
- return 1
333
+ log "WARN-QA-EVIDENCE: PR #${pr_number} has QA marker comment but no qa-artifacts/ or tests/*/qa/ files"
334
+ return 2
335
335
  fi
336
336
 
337
337
  if [ "${QA_ARTIFACTS}" = "screenshot" ] || [ "${QA_ARTIFACTS}" = "both" ]; then
@@ -490,10 +490,12 @@ PASSING_PRS_CSV=""
490
490
  ISSUES_FOUND_PRS_CSV=""
491
491
  NO_TESTS_PRS_CSV=""
492
492
  UNCLASSIFIED_PRS_CSV=""
493
+ WARNING_PRS_CSV=""
493
494
  FAILED_AUTOMATION_PRS_CSV=""
494
495
  FAILED_PR=""
495
496
  FAILED_REASON="unknown"
496
497
  QA_SCREENSHOT_SUMMARY=""
498
+ QA_WARNING_SUMMARY=""
497
499
 
498
500
  # Process each PR that needs QA
499
501
  for pr_ref in ${PRS_NEEDING_QA}; do
@@ -595,34 +597,45 @@ for pr_ref in ${PRS_NEEDING_QA}; do
595
597
  FAILED_PR="#${pr_num}"
596
598
  FAILED_REASON="invalid_provider_output"
597
599
  EXIT_CODE=1
598
- elif ! validate_qa_evidence "${pr_num}"; then
599
- FAILED_AUTOMATION_PRS_CSV=$(append_csv "${FAILED_AUTOMATION_PRS_CSV}" "#${pr_num}")
600
- FAILED_PR="#${pr_num}"
601
- FAILED_REASON="qa_evidence_validation_failed"
602
- EXIT_CODE=1
603
600
  else
604
- QA_OUTCOME=$(classify_qa_comment_outcome "${pr_num}")
605
- case "${QA_OUTCOME}" in
606
- passing)
607
- PASSING_PRS_CSV=$(append_csv "${PASSING_PRS_CSV}" "#${pr_num}")
608
- ;;
609
- issues_found)
610
- ISSUES_FOUND_PRS_CSV=$(append_csv "${ISSUES_FOUND_PRS_CSV}" "#${pr_num}")
611
- ;;
612
- no_tests_needed)
613
- NO_TESTS_PRS_CSV=$(append_csv "${NO_TESTS_PRS_CSV}" "#${pr_num}")
614
- ;;
615
- *)
616
- UNCLASSIFIED_PRS_CSV=$(append_csv "${UNCLASSIFIED_PRS_CSV}" "#${pr_num}")
617
- ;;
618
- esac
619
-
620
- PR_FIRST_SCREENSHOT=$(get_qa_screenshot_links "${pr_num}" | head -n 1 || true)
621
- if [ -n "${PR_FIRST_SCREENSHOT}" ]; then
622
- QA_SCREENSHOT_SUMMARY="${QA_SCREENSHOT_SUMMARY}${QA_SCREENSHOT_SUMMARY:+$'\n'}#${pr_num}: ${PR_FIRST_SCREENSHOT}"
601
+ if validate_qa_evidence "${pr_num}"; then
602
+ QA_EVIDENCE_STATUS=0
603
+ else
604
+ QA_EVIDENCE_STATUS=$?
605
+ fi
606
+ if [ ${QA_EVIDENCE_STATUS} -eq 2 ]; then
607
+ WARNING_PRS_CSV=$(append_csv "${WARNING_PRS_CSV}" "#${pr_num}")
608
+ QA_WARNING_SUMMARY="${QA_WARNING_SUMMARY}${QA_WARNING_SUMMARY:+$'\n'}#${pr_num}: no qa-artifacts/ or tests/*/qa/ files"
609
+ log "QA: PR #${pr_num} — provider completed with warning-only QA evidence"
610
+ elif [ ${QA_EVIDENCE_STATUS} -ne 0 ]; then
611
+ FAILED_AUTOMATION_PRS_CSV=$(append_csv "${FAILED_AUTOMATION_PRS_CSV}" "#${pr_num}")
612
+ FAILED_PR="#${pr_num}"
613
+ FAILED_REASON="qa_evidence_validation_failed"
614
+ EXIT_CODE=1
615
+ else
616
+ QA_OUTCOME=$(classify_qa_comment_outcome "${pr_num}")
617
+ case "${QA_OUTCOME}" in
618
+ passing)
619
+ PASSING_PRS_CSV=$(append_csv "${PASSING_PRS_CSV}" "#${pr_num}")
620
+ ;;
621
+ issues_found)
622
+ ISSUES_FOUND_PRS_CSV=$(append_csv "${ISSUES_FOUND_PRS_CSV}" "#${pr_num}")
623
+ ;;
624
+ no_tests_needed)
625
+ NO_TESTS_PRS_CSV=$(append_csv "${NO_TESTS_PRS_CSV}" "#${pr_num}")
626
+ ;;
627
+ *)
628
+ UNCLASSIFIED_PRS_CSV=$(append_csv "${UNCLASSIFIED_PRS_CSV}" "#${pr_num}")
629
+ ;;
630
+ esac
631
+
632
+ PR_FIRST_SCREENSHOT=$(get_qa_screenshot_links "${pr_num}" | head -n 1 || true)
633
+ if [ -n "${PR_FIRST_SCREENSHOT}" ]; then
634
+ QA_SCREENSHOT_SUMMARY="${QA_SCREENSHOT_SUMMARY}${QA_SCREENSHOT_SUMMARY:+$'\n'}#${pr_num}: ${PR_FIRST_SCREENSHOT}"
635
+ fi
636
+
637
+ log "QA: PR #${pr_num} — provider completed with verifiable QA evidence"
623
638
  fi
624
-
625
- log "QA: PR #${pr_num} — provider completed with verifiable QA evidence"
626
639
  fi
627
640
  fi
628
641
 
@@ -636,6 +649,7 @@ PASSING_PRS_SUMMARY=$(csv_or_none "${PASSING_PRS_CSV}")
636
649
  ISSUES_FOUND_PRS_SUMMARY=$(csv_or_none "${ISSUES_FOUND_PRS_CSV}")
637
650
  NO_TESTS_PRS_SUMMARY=$(csv_or_none "${NO_TESTS_PRS_CSV}")
638
651
  UNCLASSIFIED_PRS_SUMMARY=$(csv_or_none "${UNCLASSIFIED_PRS_CSV}")
652
+ WARNING_PRS_SUMMARY=$(csv_or_none "${WARNING_PRS_CSV}")
639
653
  FAILED_AUTOMATION_PRS_SUMMARY=$(csv_or_none "${FAILED_AUTOMATION_PRS_CSV}")
640
654
  FAILED_PR_SUMMARY=$(csv_or_none "${FAILED_PR}")
641
655
 
@@ -643,25 +657,54 @@ QA_TOTAL_ELAPSED=$(( $(date +%s) - SCRIPT_START_TIME ))
643
657
  log "OUTCOME: exit_code=${EXIT_CODE} total_elapsed=${QA_TOTAL_ELAPSED}s processed_prs=${FINAL_PROCESSED_PRS_CSV:-none}"
644
658
 
645
659
  if [ ${EXIT_CODE} -eq 0 ]; then
646
- log "DONE: QA runner completed successfully"
647
- TELEGRAM_SUCCESS_BODY="Project: ${PROJECT_NAME}
660
+ if [ -n "${WARNING_PRS_CSV}" ]; then
661
+ log "DONE-WARN: QA runner completed with warnings"
662
+ TELEGRAM_WARNING_BODY="Project: ${PROJECT_NAME}
648
663
  Provider (model): ${PROVIDER_MODEL_DISPLAY}
649
664
  Artifacts: ${QA_ARTIFACTS_DESC} (mode=${QA_ARTIFACTS})
650
665
  Processed PRs: ${FINAL_PROCESSED_PRS_CSV}
651
666
  Passing tests: ${PASSING_PRS_SUMMARY}
652
667
  Issues found by tests: ${ISSUES_FOUND_PRS_SUMMARY}
653
668
  No tests needed: ${NO_TESTS_PRS_SUMMARY}
654
- Reported (unclassified): ${UNCLASSIFIED_PRS_SUMMARY}"
655
- if [ -n "${QA_SCREENSHOT_SUMMARY}" ]; then
656
- TELEGRAM_SUCCESS_BODY="${TELEGRAM_SUCCESS_BODY}
669
+ Reported (unclassified): ${UNCLASSIFIED_PRS_SUMMARY}
670
+ Warnings: ${WARNING_PRS_SUMMARY}"
671
+ if [ -n "${QA_WARNING_SUMMARY}" ]; then
672
+ TELEGRAM_WARNING_BODY="${TELEGRAM_WARNING_BODY}
673
+ Warning details:
674
+ ${QA_WARNING_SUMMARY}"
675
+ fi
676
+ if [ -n "${QA_SCREENSHOT_SUMMARY}" ]; then
677
+ TELEGRAM_WARNING_BODY="${TELEGRAM_WARNING_BODY}
657
678
  Screenshot links:
658
679
  ${QA_SCREENSHOT_SUMMARY}"
659
- fi
660
- send_telegram_status_message "🧪 Night Watch QA: completed" "${TELEGRAM_SUCCESS_BODY}"
661
- if [ -n "${REPO}" ]; then
662
- emit_result "success_qa" "prs=${FINAL_PROCESSED_PRS_CSV}|passing=${PASSING_PRS_SUMMARY}|issues=${ISSUES_FOUND_PRS_SUMMARY}|no_tests=${NO_TESTS_PRS_SUMMARY}|unclassified=${UNCLASSIFIED_PRS_SUMMARY}|repo=${REPO}"
680
+ fi
681
+ send_telegram_status_message "🧪 Night Watch QA: warning" "${TELEGRAM_WARNING_BODY}"
682
+ if [ -n "${REPO}" ]; then
683
+ emit_result "warning_qa" "prs=${FINAL_PROCESSED_PRS_CSV}|passing=${PASSING_PRS_SUMMARY}|issues=${ISSUES_FOUND_PRS_SUMMARY}|no_tests=${NO_TESTS_PRS_SUMMARY}|unclassified=${UNCLASSIFIED_PRS_SUMMARY}|warnings=${WARNING_PRS_SUMMARY}|repo=${REPO}"
684
+ else
685
+ emit_result "warning_qa" "prs=${FINAL_PROCESSED_PRS_CSV}|passing=${PASSING_PRS_SUMMARY}|issues=${ISSUES_FOUND_PRS_SUMMARY}|no_tests=${NO_TESTS_PRS_SUMMARY}|unclassified=${UNCLASSIFIED_PRS_SUMMARY}|warnings=${WARNING_PRS_SUMMARY}"
686
+ fi
663
687
  else
664
- emit_result "success_qa" "prs=${FINAL_PROCESSED_PRS_CSV}|passing=${PASSING_PRS_SUMMARY}|issues=${ISSUES_FOUND_PRS_SUMMARY}|no_tests=${NO_TESTS_PRS_SUMMARY}|unclassified=${UNCLASSIFIED_PRS_SUMMARY}"
688
+ log "DONE: QA runner completed successfully"
689
+ TELEGRAM_SUCCESS_BODY="Project: ${PROJECT_NAME}
690
+ Provider (model): ${PROVIDER_MODEL_DISPLAY}
691
+ Artifacts: ${QA_ARTIFACTS_DESC} (mode=${QA_ARTIFACTS})
692
+ Processed PRs: ${FINAL_PROCESSED_PRS_CSV}
693
+ Passing tests: ${PASSING_PRS_SUMMARY}
694
+ Issues found by tests: ${ISSUES_FOUND_PRS_SUMMARY}
695
+ No tests needed: ${NO_TESTS_PRS_SUMMARY}
696
+ Reported (unclassified): ${UNCLASSIFIED_PRS_SUMMARY}"
697
+ if [ -n "${QA_SCREENSHOT_SUMMARY}" ]; then
698
+ TELEGRAM_SUCCESS_BODY="${TELEGRAM_SUCCESS_BODY}
699
+ Screenshot links:
700
+ ${QA_SCREENSHOT_SUMMARY}"
701
+ fi
702
+ send_telegram_status_message "🧪 Night Watch QA: completed" "${TELEGRAM_SUCCESS_BODY}"
703
+ if [ -n "${REPO}" ]; then
704
+ emit_result "success_qa" "prs=${FINAL_PROCESSED_PRS_CSV}|passing=${PASSING_PRS_SUMMARY}|issues=${ISSUES_FOUND_PRS_SUMMARY}|no_tests=${NO_TESTS_PRS_SUMMARY}|unclassified=${UNCLASSIFIED_PRS_SUMMARY}|repo=${REPO}"
705
+ else
706
+ emit_result "success_qa" "prs=${FINAL_PROCESSED_PRS_CSV}|passing=${PASSING_PRS_SUMMARY}|issues=${ISSUES_FOUND_PRS_SUMMARY}|no_tests=${NO_TESTS_PRS_SUMMARY}|unclassified=${UNCLASSIFIED_PRS_SUMMARY}"
707
+ fi
665
708
  fi
666
709
  elif [ ${EXIT_CODE} -eq 124 ]; then
667
710
  log "TIMEOUT: QA runner killed after ${MAX_RUNTIME}s"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jonit-dev/night-watch-cli",
3
- "version": "1.8.7",
3
+ "version": "1.8.8-beta.1",
4
4
  "description": "AI agent that implements your specs, opens PRs, and reviews code overnight. Queue GitHub issues or PRDs, wake up to pull requests.",
5
5
  "type": "module",
6
6
  "bin": {