@songsid/agend 2.1.10-beta.1 → 2.1.10-beta.3

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/README.md +1 -1
  2. package/README.zh-TW.md +1 -1
  3. package/dist/backend/antigravity.js +2 -1
  4. package/dist/backend/antigravity.js.map +1 -1
  5. package/dist/backend/kiro.d.ts +81 -3
  6. package/dist/backend/kiro.js +362 -29
  7. package/dist/backend/kiro.js.map +1 -1
  8. package/dist/backend/types.d.ts +10 -0
  9. package/dist/backend/types.js +13 -0
  10. package/dist/backend/types.js.map +1 -1
  11. package/dist/channel/ipc-bridge.js +10 -3
  12. package/dist/channel/ipc-bridge.js.map +1 -1
  13. package/dist/channel/mcp-server.d.ts +1 -8
  14. package/dist/channel/mcp-server.js +1 -0
  15. package/dist/channel/mcp-server.js.map +1 -1
  16. package/dist/cli.d.ts +1 -1
  17. package/dist/cli.js +141 -36
  18. package/dist/cli.js.map +1 -1
  19. package/dist/coredump-filter.d.ts +21 -0
  20. package/dist/coredump-filter.js +64 -0
  21. package/dist/coredump-filter.js.map +1 -0
  22. package/dist/daemon.d.ts +45 -0
  23. package/dist/daemon.js +153 -22
  24. package/dist/daemon.js.map +1 -1
  25. package/dist/fleet-manager.d.ts +25 -1
  26. package/dist/fleet-manager.js +87 -13
  27. package/dist/fleet-manager.js.map +1 -1
  28. package/dist/general-knowledge/skills/fleet-config/SKILL.md +1 -1
  29. package/dist/instance-lifecycle.d.ts +16 -5
  30. package/dist/instance-lifecycle.js +31 -20
  31. package/dist/instance-lifecycle.js.map +1 -1
  32. package/dist/locale.js +8 -0
  33. package/dist/locale.js.map +1 -1
  34. package/dist/logger.js +19 -16
  35. package/dist/logger.js.map +1 -1
  36. package/dist/muse-usage-relay.js +3 -2
  37. package/dist/muse-usage-relay.js.map +1 -1
  38. package/dist/node-warnings.d.ts +1 -0
  39. package/dist/node-warnings.js +26 -0
  40. package/dist/node-warnings.js.map +1 -0
  41. package/dist/paths.d.ts +15 -3
  42. package/dist/paths.js +45 -25
  43. package/dist/paths.js.map +1 -1
  44. package/dist/pause-marker.js +3 -2
  45. package/dist/pause-marker.js.map +1 -1
  46. package/dist/private-dir.d.ts +54 -0
  47. package/dist/private-dir.js +140 -0
  48. package/dist/private-dir.js.map +1 -0
  49. package/dist/service-installer.d.ts +46 -0
  50. package/dist/service-installer.js +224 -4
  51. package/dist/service-installer.js.map +1 -1
  52. package/dist/ui/settings.html +2 -2
  53. package/dist/update-check.d.ts +22 -0
  54. package/dist/update-check.js +31 -0
  55. package/dist/update-check.js.map +1 -1
  56. package/package.json +1 -1
  57. package/templates/systemd.service.ejs +17 -1
@@ -3,24 +3,43 @@ import { getAgendHome } from "../paths.js";
3
3
  import { credentialHomeSpec, credentialProfileHome, prepareCredentialProfileHome, resolveCredentialProfile, } from "./credential-profile.js";
4
4
  import { execFileSync } from "node:child_process";
5
5
  import { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync, unlinkSync, statSync } from "node:fs";
6
- import { resolveBinary, shellQuote, validateEffort, validateModel, warnIfModelMismatch } from "./types.js";
6
+ import { UnsupportedCliError, resolveBinary, shellQuote, validateEffort, validateModel, warnIfModelMismatch } from "./types.js";
7
7
  import { PIE_CLASS } from "../tui-glyphs.js";
8
8
  import { KIRO_EXPIRED_LOGIN_SCREEN } from "../login-flows.js";
9
+ import { t } from "../locale.js";
9
10
  // Kiro CLI feature gates. These are deliberately separate: the flags shipped
10
11
  // in different releases, so one broad "old Kiro" check would still crash some
11
- // supported versions with an unknown argument.
12
- // - 1.27.0: verified against Kiro's archived 1.26.0/1.27.0 binaries. Before
13
- // this, classic was the only UI and neither --legacy-ui nor --classic existed.
12
+ // supported versions with an unknown argument. Every row below was read from
13
+ // `chat --help` of the archived release binary (tests/fixtures/kiro-help/).
14
+ // - 1.27.0: --tui / --legacy-ui. Before this, classic was the only UI and
15
+ // neither --legacy-ui nor --classic existed.
16
+ // - 2.3.0: --agent-engine, but its values were `rust` (default) | `kas`:
17
+ // `--agent-engine=v1` exits 2 there.
18
+ // - 2.4.0: --agent-engine v1|v2|kas, and `--legacy-ui` only with v1.
14
19
  // - 2.6.0: https://kiro.dev/changelog/cli/2-6/ (initial effort flag)
20
+ // - 2.8.0: --agent-engine v1|v2|v3, plus --v3.
15
21
  export const KIRO_LEGACY_UI_MIN = "1.27.0";
16
22
  export const KIRO_EFFORT_FLAG_MIN = "2.6.0";
23
+ /** Oldest kiro-cli AgEnD claims: older ones still launch, with a warning. */
24
+ export const KIRO_SUPPORTED_MIN = "2.21.0";
25
+ /**
26
+ * Newest kiro-cli run live under AgEnD. Above it the launch flags come from
27
+ * the binary's own --help instead of the version table, and the operator is
28
+ * told the version is unverified.
29
+ */
30
+ export const KIRO_TESTED_MAX = "2.27.0";
17
31
  const UNKNOWN_KIRO_COMPATIBILITY = {
18
32
  supportsLegacyUi: false,
33
+ supportsTui: false,
34
+ supportsV3: false,
35
+ agentEngines: null,
19
36
  supportsEffortFlag: false,
20
37
  source: "unknown",
21
38
  };
22
39
  const compatibilityCache = new Map();
23
40
  const warnedUnsupportedEffortCacheKeys = new Set();
41
+ /** Binary generations whose version-gate warning already went out. */
42
+ const warnedVersionGateCacheKeys = new Set();
24
43
  /**
25
44
  * A picker may change its model labels or credit wording between Kiro releases.
26
45
  * This broad test is only a safety hold: it must never select an option or
@@ -124,6 +143,123 @@ export function kiroUnavailableModelPickerActive(pane) {
124
143
  }
125
144
  return cursorCount === 1 && modelCount >= 1;
126
145
  }
146
+ const KIRO_PROMPT_CURSOR = /^[❯›>]$/;
147
+ const KIRO_PROMPT_FOOTER = /navigate|select|↑|↓|\benter\b|\besc\b/i;
148
+ /**
149
+ * Whether a kiro launch prompt owns the pane right now, and where its cursor
150
+ * is. Bottom-anchored on purpose: below the header come only its description,
151
+ * then exactly its option rows in order, then at most a short key-hint footer.
152
+ * A quoted copy of the prompt in a transcript has the reply and the composer
153
+ * row (`12% !>`) below it, so it is not active and never receives a key.
154
+ *
155
+ * The cursor is known only when exactly one option row carries a glyph AgEnD
156
+ * recognises; any other glyph, none, or two is "unknown" — still active, so
157
+ * it is held for a human, never answered.
158
+ */
159
+ export function kiroLaunchPromptState(pane, spec) {
160
+ const none = { active: false, cursor: null };
161
+ const rows = pane.replace(/\r/g, "").split("\n").map(row => row.replace(/\s+$/, ""));
162
+ let header = -1;
163
+ for (let i = rows.length - 1; i >= 0; i--) {
164
+ if (rows[i].includes(spec.header)) {
165
+ header = i;
166
+ break;
167
+ }
168
+ }
169
+ if (header < 0)
170
+ return none;
171
+ const body = rows.slice(header + 1);
172
+ const optionRow = (row, label) => {
173
+ const match = /^\s*(?:(\S)\s+)?(.*)$/.exec(row);
174
+ if (match && match[2].startsWith(label))
175
+ return { glyph: match[1] ?? null };
176
+ // No glyph: the label itself starts the row.
177
+ return row.trim().startsWith(label) ? { glyph: null } : null;
178
+ };
179
+ const first = body.findIndex(row => optionRow(row, spec.options[0]) !== null);
180
+ if (first < 0)
181
+ return none;
182
+ // A composer row anywhere below the header — before the options or after
183
+ // them — means this is quoted history with the input box back on screen.
184
+ // Checked before the footer test, whose keywords (enter/select/esc) a
185
+ // composer line can contain.
186
+ if (body.some(row => KIRO_COMPOSER_ROW.test(row)))
187
+ return none;
188
+ const optionRows = body.slice(first).filter(row => row.trim());
189
+ if (optionRows.length < spec.options.length)
190
+ return none;
191
+ const glyphs = [];
192
+ for (let i = 0; i < spec.options.length; i++) {
193
+ const hit = optionRow(optionRows[i], spec.options[i]);
194
+ if (!hit)
195
+ return none;
196
+ glyphs.push(hit.glyph);
197
+ }
198
+ const trailing = optionRows.slice(spec.options.length);
199
+ if (trailing.length > 2 || !trailing.every(row => KIRO_PROMPT_FOOTER.test(row)))
200
+ return none;
201
+ const marked = glyphs.map((g, i) => (g !== null ? i : -1)).filter(i => i >= 0);
202
+ if (marked.length !== 1 || !KIRO_PROMPT_CURSOR.test(glyphs[marked[0]]))
203
+ return { active: true, cursor: null };
204
+ return { active: true, cursor: marked[0] };
205
+ }
206
+ /** kiro's input row: legacy `12% !>` / `[agent] 3% λ !>`, or a bare `>`/`❯`. */
207
+ const KIRO_COMPOSER_ROW = /^\s*(?:\[[^\]]*\]\s*)?\d+%\s*\S{0,2}\s*!?\s*[❯>]|^\s*[!❯>]\s*$/;
208
+ /**
209
+ * Launch prompts that would move an instance off its engine (#1109). Text
210
+ * from the kiro-cli 2.27.0 binary (crates/chat-cli/src/launch/v3_ease_in.rs,
211
+ * auto_migrate.rs); not yet seen live — the V3 prompt is offered to 25% of
212
+ * internal users only.
213
+ *
214
+ * The first option of each is the one that switches, so it is never confirmed:
215
+ * a cursor verified on it gets ONE Down, and only a later capture that shows
216
+ * the cursor on the option that changes nothing gets Enter. Anything else —
217
+ * an unrecognised cursor, "Don't ask again" (saved for the whole machine), or
218
+ * a Down that did not move the cursor — is held for a human: deliveries stay
219
+ * blocked and the parked-dialog report fires.
220
+ */
221
+ const KIRO_V3_EASE_IN = {
222
+ header: "CLI 3.0 is becoming the default experience",
223
+ options: ["Switch to 3.0 and upgrade my configs", "Remind me later", "Don't ask again"],
224
+ };
225
+ const KIRO_AGENT_UPGRADE = {
226
+ header: "Your agent configs are still in the 2.0 format",
227
+ options: ["Enable auto-upgrade", "Not now"],
228
+ };
229
+ function kiroLaunchPromptDialogs(spec, name, key, keep) {
230
+ const pattern = new RegExp(spec.header.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
231
+ const state = (pane) => kiroLaunchPromptState(pane, spec);
232
+ const guarded = { pattern, blocksDelivery: true, inputBlocked: true, verifyAfterKeys: true };
233
+ return [
234
+ {
235
+ ...guarded,
236
+ keys: ["Down"],
237
+ description: `${name} — cursor on '${spec.options[0]}': one step down`,
238
+ isActive: pane => { const s = state(pane); return s.active && s.cursor === 0; },
239
+ autoResolutionKey: `${key}-step`,
240
+ },
241
+ {
242
+ ...guarded,
243
+ keys: ["Enter"],
244
+ description: `${name} — confirm '${spec.options[keep]}'`,
245
+ isActive: pane => { const s = state(pane); return s.active && s.cursor === keep; },
246
+ autoResolutionKey: `${key}-confirm`,
247
+ },
248
+ {
249
+ pattern,
250
+ keys: [],
251
+ holdOnly: true,
252
+ blocksDelivery: true,
253
+ inputBlocked: true,
254
+ description: `${name} — not on a choice AgEnD can make safely; holding for a human`,
255
+ isActive: pane => state(pane).active,
256
+ },
257
+ ];
258
+ }
259
+ const KIRO_ENGINE_PROMPT_DIALOGS = [
260
+ ...kiroLaunchPromptDialogs(KIRO_V3_EASE_IN, "Kiro V3 ease-in prompt", "kiro-v3-ease-in", 1),
261
+ ...kiroLaunchPromptDialogs(KIRO_AGENT_UPGRADE, "Kiro 3.0 agent-config upgrade prompt", "kiro-agent-upgrade", 1),
262
+ ];
127
263
  function parseSemver(value) {
128
264
  const match = value?.match(/\b(\d+)\.(\d+)\.(\d+)\b/);
129
265
  if (!match)
@@ -139,9 +275,83 @@ function versionAtLeast(version, minimum) {
139
275
  return true;
140
276
  }
141
277
  function helpAdvertisesFlag(help, flag) {
142
- return new RegExp(`^\\s*${flag}(?:[ =<]|$)`, "m").test(help);
278
+ // clap prints a short alias first when there is one: ` -r, --resume`.
279
+ return new RegExp(`^\\s*(?:-[A-Za-z0-9],\\s*)?${flag}(?:[ =<,]|$)`, "m").test(help);
143
280
  }
144
- /** Probe once per backend construction, falling back from semver to --help. */
281
+ /**
282
+ * The values `chat --help` lists for --agent-engine, or null without the flag.
283
+ * clap prints them as `[possible values: v2, v1, v3]` a few lines below the
284
+ * flag; the quoted names in its description are the fallback.
285
+ */
286
+ export function parseKiroAgentEngines(help) {
287
+ const lines = help.split("\n");
288
+ const at = lines.findIndex(line => KIRO_HELP_OPTION_ROW.test(line) && /--agent-engine\b/.test(line));
289
+ if (at < 0)
290
+ return null;
291
+ // Only this option's own description/value block: it ends at the next
292
+ // option row, so a neighbour's `[possible values: …]` is never read as ours.
293
+ let end = at + 1;
294
+ while (end < lines.length && !KIRO_HELP_OPTION_ROW.test(lines[end]))
295
+ end++;
296
+ const block = lines.slice(at, end);
297
+ for (const line of block) {
298
+ const listed = line.match(/\[possible values:\s*([^\]]+)\]/);
299
+ if (listed)
300
+ return listed[1].split(",").map(v => v.trim()).filter(Boolean);
301
+ }
302
+ const quoted = [...block.slice(1).join(" ").matchAll(/"([a-z0-9]+)"/gi)].map(m => m[1]);
303
+ // Present but without legible values: [] — nothing to pin to, so refused.
304
+ return [...new Set(quoted)];
305
+ }
306
+ /** A clap option row: ` -r, --resume`, ` --agent-engine <ENGINE>`. */
307
+ const KIRO_HELP_OPTION_ROW = /^\s*(?:-[A-Za-z0-9],\s*)?--[a-z][a-z0-9-]*/;
308
+ /**
309
+ * Whether `help` is kiro's `chat --help` at all. Every release from 1.26 to
310
+ * 2.27 prints the clap usage line and the --trust-all-tools / --resume options
311
+ * AgEnD launches with. An empty or truncated help proves nothing — in
312
+ * particular not that the binary is old enough to have no engine to pin.
313
+ */
314
+ function isKiroChatHelp(help) {
315
+ return /^Usage:\s+\S*kiro\S*\s+chat\b/m.test(help)
316
+ && helpAdvertisesFlag(help, "--trust-all-tools")
317
+ && helpAdvertisesFlag(help, "--resume");
318
+ }
319
+ /** What a released kiro-cli version accepts, per the table above. */
320
+ function compatibilityFromVersion(version, parsed) {
321
+ const has = (min) => versionAtLeast(parsed, min);
322
+ return {
323
+ version,
324
+ supportsLegacyUi: has(KIRO_LEGACY_UI_MIN),
325
+ supportsTui: has(KIRO_LEGACY_UI_MIN),
326
+ supportsV3: has("2.8.0"),
327
+ agentEngines: has("2.8.0") ? ["v2", "v1", "v3"]
328
+ : has("2.4.0") ? ["v2", "v1", "kas"]
329
+ : has("2.3.0") ? ["rust", "kas"]
330
+ : null,
331
+ supportsEffortFlag: has(KIRO_EFFORT_FLAG_MIN),
332
+ source: "version",
333
+ };
334
+ }
335
+ function compatibilityFromHelp(version, help) {
336
+ if (!isKiroChatHelp(help))
337
+ return { ...UNKNOWN_KIRO_COMPATIBILITY, version };
338
+ return {
339
+ version,
340
+ supportsLegacyUi: helpAdvertisesFlag(help, "--legacy-ui"),
341
+ supportsTui: helpAdvertisesFlag(help, "--tui"),
342
+ supportsV3: helpAdvertisesFlag(help, "--v3"),
343
+ agentEngines: parseKiroAgentEngines(help),
344
+ supportsEffortFlag: helpAdvertisesFlag(help, "--effort"),
345
+ source: "help",
346
+ };
347
+ }
348
+ /**
349
+ * Probe once per binary generation. A version AgEnD has run (<= TESTED_MAX)
350
+ * is answered from the table without a second CLI call; anything newer, or a
351
+ * version string that does not parse, is answered by the binary's own
352
+ * `chat --help` — 3.0 included, which is exactly where the table stops being
353
+ * evidence.
354
+ */
145
355
  export function probeKiroCliCompatibility(binaryPath, run = (binary, args) => execFileSync(binary, args, {
146
356
  encoding: "utf-8",
147
357
  timeout: 5000,
@@ -153,27 +363,87 @@ export function probeKiroCliCompatibility(binaryPath, run = (binary, args) => ex
153
363
  }
154
364
  catch { /* fall through to capability help */ }
155
365
  const parsed = parseSemver(version);
156
- if (parsed) {
157
- return {
158
- version,
159
- supportsLegacyUi: versionAtLeast(parsed, KIRO_LEGACY_UI_MIN),
160
- supportsEffortFlag: versionAtLeast(parsed, KIRO_EFFORT_FLAG_MIN),
161
- source: "version",
162
- };
366
+ if (parsed && !versionAtLeast(parsed, nextPatch(KIRO_TESTED_MAX))) {
367
+ return compatibilityFromVersion(version, parsed);
163
368
  }
164
369
  try {
165
- const help = run(binaryPath, ["chat", "--help"]);
166
- return {
167
- version,
168
- supportsLegacyUi: helpAdvertisesFlag(help, "--legacy-ui"),
169
- supportsEffortFlag: helpAdvertisesFlag(help, "--effort"),
170
- source: "help",
171
- };
370
+ return compatibilityFromHelp(version, run(binaryPath, ["chat", "--help"]));
172
371
  }
173
372
  catch {
373
+ // An untested 2.x whose help cannot be read is still a 2.x; a 3.x or an
374
+ // unidentified binary is not something to guess about.
375
+ if (parsed && !versionAtLeast(parsed, "3.0.0"))
376
+ return compatibilityFromVersion(version, parsed);
174
377
  return { ...UNKNOWN_KIRO_COMPATIBILITY, version };
175
378
  }
176
379
  }
380
+ function nextPatch(version) {
381
+ const [major, minor, patch] = parseSemver(version);
382
+ return `${major}.${minor}.${patch + 1}`;
383
+ }
384
+ /**
385
+ * Pin the UI AND the engine on every launch (#1109). A flag outranks kiro's
386
+ * persisted `chat.agentEngine`, which the V3 ease-in prompt writes for the
387
+ * whole machine and which kiro 3.0 may default to V3. An instance's
388
+ * conversation lives in its engine's store — classic sqlite, V2 JSON, V3 KAS —
389
+ * and moving between them forks it one way, so a launch AgEnD cannot pin to
390
+ * the instance's own engine is refused, never run on whatever kiro defaults to.
391
+ */
392
+ export function planKiroLaunch(ui, compat) {
393
+ const version = compat.version ?? "of unknown version";
394
+ if (ui === "v3")
395
+ return { kind: "launch", ui, flags: ["--v3"] };
396
+ const engines = compat.agentEngines;
397
+ // A binary with no engine choice at all (before 2.3) has nowhere to drift —
398
+ // but only a version AgEnD knows proves that. Read from --help, a missing
399
+ // selector is just a missing selector: a new release that dropped it must
400
+ // not be launched on its default.
401
+ const knownOld = compat.source === "version";
402
+ const singleEngine = knownOld && engines === null && !compat.supportsV3;
403
+ // 2.3 offered rust|kas with rust (the legacy engine) as its default. Only
404
+ // the version table may say "this is 2.3": a newer help that happens to
405
+ // list `rust` without v1/v2 is a new release, and its default is unknown.
406
+ const rustEra = knownOld && engines?.includes("rust") === true && !compat.supportsV3;
407
+ if (ui === "legacy") {
408
+ if (!compat.supportsLegacyUi) {
409
+ // Before 1.27 classic was the only UI: nothing to select.
410
+ if (!compat.supportsTui && singleEngine)
411
+ return { kind: "launch", ui, flags: [] };
412
+ return {
413
+ kind: "refuse",
414
+ reason: `kiro-cli ${version} no longer offers the legacy UI (--legacy-ui) this instance runs on. `
415
+ + "AgEnD will not start it on another UI or engine: its conversation would not come along (#1109). "
416
+ + "Install a kiro-cli 2.x to keep using it; moving instances to the terminal UI is #1110.",
417
+ };
418
+ }
419
+ if (engines?.includes("v1"))
420
+ return { kind: "launch", ui, flags: ["--legacy-ui", "--agent-engine=v1"] };
421
+ if (singleEngine || rustEra)
422
+ return { kind: "launch", ui, flags: ["--legacy-ui"] };
423
+ return {
424
+ kind: "refuse",
425
+ reason: `kiro-cli ${version} has --legacy-ui but no v1 agent engine to pin it to `
426
+ + `(--agent-engine accepts: ${engines?.join(", ") || "nothing AgEnD recognises"}). `
427
+ + "AgEnD will not let it pick an engine on its own (#1109).",
428
+ };
429
+ }
430
+ // tui
431
+ if (!compat.supportsTui) {
432
+ if (singleEngine)
433
+ return { kind: "launch", ui, flags: [] };
434
+ return { kind: "refuse", reason: `kiro-cli ${version} has no --tui flag; AgEnD cannot tell which UI it would start (#1109).` };
435
+ }
436
+ if (engines?.includes("v2"))
437
+ return { kind: "launch", ui, flags: ["--tui", "--agent-engine=v2"] };
438
+ if (singleEngine || rustEra)
439
+ return { kind: "launch", ui, flags: ["--tui"] };
440
+ return {
441
+ kind: "refuse",
442
+ reason: `kiro-cli ${version} has no v2 agent engine to pin the terminal UI to `
443
+ + `(--agent-engine accepts: ${engines?.join(", ") || "nothing AgEnD recognises"}). `
444
+ + "AgEnD will not let it pick an engine on its own (#1109).",
445
+ };
446
+ }
177
447
  function kiroBinaryCacheKey(binaryPath) {
178
448
  try {
179
449
  const stat = statSync(binaryPath);
@@ -188,12 +458,19 @@ function kiroBinaryCacheKey(binaryPath) {
188
458
  return `${binaryPath}\0unavailable`;
189
459
  }
190
460
  }
461
+ /**
462
+ * How long an "unknown" probe result is reused. A binary that exists but did
463
+ * not answer (a 5s timeout on a loaded host) refuses its launch, and the
464
+ * fleet's startup retry must get a fresh probe rather than the same miss.
465
+ */
466
+ const UNKNOWN_COMPATIBILITY_TTL_MS = 60_000;
191
467
  function cachedKiroCliCompatibility(binaryPath, run) {
192
468
  const cacheKey = kiroBinaryCacheKey(binaryPath);
193
469
  const cached = compatibilityCache.get(cacheKey);
194
- if (cached)
470
+ if (cached && (cached.compatibility.source !== "unknown" || Date.now() - cached.probedAt < UNKNOWN_COMPATIBILITY_TTL_MS)) {
195
471
  return cached;
196
- const entry = { cacheKey, compatibility: probeKiroCliCompatibility(binaryPath, run) };
472
+ }
473
+ const entry = { cacheKey, compatibility: probeKiroCliCompatibility(binaryPath, run), probedAt: Date.now() };
197
474
  compatibilityCache.set(cacheKey, entry);
198
475
  return entry;
199
476
  }
@@ -205,6 +482,7 @@ export function getCachedKiroCliCompatibility(binaryPath, run) {
205
482
  export function resetKiroCompatibilityCacheForTests() {
206
483
  compatibilityCache.clear();
207
484
  warnedUnsupportedEffortCacheKeys.clear();
485
+ warnedVersionGateCacheKeys.clear();
208
486
  }
209
487
  /** Startup budget for a `--resume` launch (60% first output, 40% ready). */
210
488
  export const KIRO_RESUME_STARTUP_BUDGET_MS = 60_000;
@@ -214,6 +492,8 @@ export class KiroBackend {
214
492
  binaryPath;
215
493
  compatibility;
216
494
  compatibilityCacheKey;
495
+ /** Injected by tests: never re-probed. */
496
+ fixedCompatibility;
217
497
  warnedUnsupportedEffort = false;
218
498
  /**
219
499
  * UI flavour and trust mode of the LAST command built. The Enter-drop
@@ -225,9 +505,12 @@ export class KiroBackend {
225
505
  */
226
506
  activeUi = "legacy";
227
507
  activeTrustAll = true;
508
+ /** Version-gate notice for the launch just built (consumeLaunchWarning). */
509
+ launchWarning = null;
228
510
  constructor(instanceDir, compatibility) {
229
511
  this.instanceDir = instanceDir;
230
512
  this.binaryPath = resolveBinary("kiro-cli");
513
+ this.fixedCompatibility = compatibility !== undefined;
231
514
  if (compatibility) {
232
515
  this.compatibility = compatibility;
233
516
  }
@@ -303,15 +586,32 @@ export class KiroBackend {
303
586
  }
304
587
  buildCommand(config) {
305
588
  const ui = config.kiroUi ?? "legacy";
589
+ // Every launch re-reads the binary generation: a crash-respawn reuses this
590
+ // backend, and kiro-cli may have replaced itself in place since the last
591
+ // launch (an auto-update to a release without this instance's engine).
592
+ // Cheap — a stat and a map lookup unless the binary changed.
593
+ if (!this.fixedCompatibility) {
594
+ const current = cachedKiroCliCompatibility(this.binaryPath);
595
+ this.compatibility = current.compatibility;
596
+ this.compatibilityCacheKey = current.cacheKey;
597
+ }
598
+ if (this.compatibility.source === "unknown") {
599
+ // Neither --version nor chat --help answered: a missing or wedged binary,
600
+ // or a loaded host timing out. Launching blind could start kiro on its
601
+ // default engine; fail this attempt and let the startup retry re-probe.
602
+ throw new Error(`kiro-cli at ${this.binaryPath} did not answer --version or chat --help, so AgEnD cannot pin its UI and engine; not launching (#1109)`);
603
+ }
604
+ const plan = planKiroLaunch(ui, this.compatibility);
605
+ if (plan.kind === "refuse")
606
+ throw new UnsupportedCliError(plan.reason);
306
607
  let cmd = `${this.binaryPath} chat`;
307
- if (ui === "legacy" && this.compatibility.supportsLegacyUi)
308
- cmd += " --legacy-ui";
309
- else if (ui === "v3")
310
- cmd += " --v3";
608
+ for (const flag of plan.flags)
609
+ cmd += ` ${flag}`;
610
+ this.noteVersionGate();
311
611
  // Record what is actually being launched for the delivery gate (see
312
- // dropsEnterWhileBusy): a "legacy" request on a binary without --legacy-ui
313
- // runs the default new TUI, not the legacy screen.
314
- this.activeUi = ui === "legacy" && this.compatibility.supportsLegacyUi ? "legacy" : ui === "v3" ? "v3" : "tui";
612
+ // dropsEnterWhileBusy): the legacy prompt row exists only under
613
+ // --legacy-ui; a binary from before 1.27 paints its own classic screen.
614
+ this.activeUi = plan.flags.includes("--legacy-ui") ? "legacy" : ui === "v3" ? "v3" : "tui";
315
615
  this.activeTrustAll = config.skipPermissions !== false;
316
616
  if (config.skipPermissions !== false)
317
617
  cmd += " --trust-all-tools";
@@ -372,6 +672,36 @@ export class KiroBackend {
372
672
  prepareCredentialProfileHome(spec, home);
373
673
  return `${spec.env}=${shellQuote(home)} ${cmd}`;
374
674
  }
675
+ /**
676
+ * P3 of #1109: tell the operator, once per binary generation, when the
677
+ * kiro-cli in use is outside the range AgEnD has run. Never blocks a launch:
678
+ * below KIRO_SUPPORTED_MIN it still works, and above KIRO_TESTED_MAX the
679
+ * flags were already checked against the binary's own --help.
680
+ */
681
+ noteVersionGate() {
682
+ const parsed = parseSemver(this.compatibility.version);
683
+ if (!parsed)
684
+ return;
685
+ const key = this.compatibilityCacheKey ?? `instance:${this.compatibility.version}`;
686
+ if (warnedVersionGateCacheKeys.has(key))
687
+ return;
688
+ let warning = null;
689
+ if (!versionAtLeast(parsed, KIRO_SUPPORTED_MIN)) {
690
+ warning = t("kiro.version_below_supported", this.compatibility.version, KIRO_SUPPORTED_MIN);
691
+ }
692
+ else if (versionAtLeast(parsed, nextPatch(KIRO_TESTED_MAX))) {
693
+ warning = t("kiro.version_untested", this.compatibility.version, KIRO_TESTED_MAX);
694
+ }
695
+ if (!warning)
696
+ return;
697
+ warnedVersionGateCacheKeys.add(key);
698
+ this.launchWarning = warning;
699
+ }
700
+ consumeLaunchWarning() {
701
+ const warning = this.launchWarning;
702
+ this.launchWarning = null;
703
+ return warning;
704
+ }
375
705
  shouldWarnUnsupportedEffort() {
376
706
  if (!this.compatibilityCacheKey) {
377
707
  if (this.warnedUnsupportedEffort)
@@ -632,6 +962,7 @@ export class KiroBackend {
632
962
  }
633
963
  getStartupDialogs() {
634
964
  return [
965
+ ...KIRO_ENGINE_PROMPT_DIALOGS,
635
966
  {
636
967
  // Kiro CLI --trust-all-tools now shows a confirmation prompt.
637
968
  // Default cursor is on "No, exit" — press Down then Enter to select "Yes, I accept".
@@ -643,6 +974,8 @@ export class KiroBackend {
643
974
  }
644
975
  getRuntimeDialogs() {
645
976
  return [
977
+ // The engine prompts can paint after the startup scan has moved on.
978
+ ...KIRO_ENGINE_PROMPT_DIALOGS,
646
979
  {
647
980
  // A service/model outage can drop Kiro into the interactive /model
648
981
  // picker. Its choices range across credit multipliers and capability
@@ -1 +1 @@
1
- {"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/backend/kiro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAqG,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9M,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,6EAA6E;AAC7E,8EAA8E;AAC9E,+CAA+C;AAC/C,4EAA4E;AAC5E,iFAAiF;AACjF,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAC3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAW5C,MAAM,0BAA0B,GAAyB;IACvD,gBAAgB,EAAE,KAAK;IACvB,kBAAkB,EAAE,KAAK;IACzB,MAAM,EAAE,SAAS;CAClB,CAAC;AAOF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAmC,CAAC;AACtE,MAAM,gCAAgC,GAAG,IAAI,GAAG,EAAU,CAAC;AAE3D;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,IAAI,0CAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClE,WAAW,GAAG,KAAK,CAAC;YACpB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,4EAA4E;AAC5E,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,qBAAqB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjD,QAAQ,GAAG,KAAK,CAAC;YACjB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,IAAI,KAAK,IAAI,QAAQ,GAAG,CAAC;WACjF,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,0CAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,WAAW,GAAG,CAAC,CAAC;YAChB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAElC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACvE,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,sDAAsD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,YAAY,GAAG,CAAC,CAAC;YACjB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,YAAY,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,IAAI,CAAC,mGAAmG,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAErI,MAAM,SAAS,GAAG,qEAAqE,CAAC;IACxF,MAAM,QAAQ,GAAG,6DAA6D,CAAC;IAC/E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,kBAAkB,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,UAAU,EAAE,CAAC;YACb,kBAAkB,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5F,uEAAuE;YACvE,kEAAkE;YAClE,qDAAqD;YACrD,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,WAAW,KAAK,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,OAAiC,EAAE,OAAe;IACxE,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAE,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,IAAY;IACpD,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,yBAAyB,CACvC,UAAkB,EAClB,MAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;IAClE,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;CACpC,CAAC;IAEF,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,OAAO;YACP,gBAAgB,EAAE,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC;YAC5D,kBAAkB,EAAE,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC;YAChE,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjD,OAAO;YACL,OAAO;YACP,gBAAgB,EAAE,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC;YACzD,kBAAkB,EAAE,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;YACxD,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,0BAA0B,EAAE,OAAO,EAAE,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClC,oEAAoE;QACpE,wEAAwE;QACxE,4BAA4B;QAC5B,OAAO,GAAG,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,wDAAwD;QACxD,OAAO,GAAG,UAAU,eAAe,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAkB,EAAE,GAAqB;IAC3E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,yBAAyB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;IACtF,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,6BAA6B,CAC3C,UAAkB,EAClB,GAAqB;IAErB,OAAO,0BAA0B,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;AACnE,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mCAAmC;IACjD,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC3B,gCAAgC,CAAC,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAEpD,MAAM,OAAO,WAAW;IAiBF;IAhBX,UAAU,GAAG,UAAU,CAAC;IACzB,UAAU,CAAS;IACV,aAAa,CAAuB;IACpC,qBAAqB,CAAU;IACxC,uBAAuB,GAAG,KAAK,CAAC;IACxC;;;;;;;OAOG;IACK,QAAQ,GAA4B,QAAQ,CAAC;IAC7C,cAAc,GAAG,IAAI,CAAC;IAE9B,YAAoB,WAAmB,EAAE,aAAoC;QAAzD,gBAAW,GAAX,WAAW,CAAQ;QACrC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,0BAA0B;QACxB,0EAA0E;QAC1E,wEAAwE;QACxE,oEAAoE;QACpE,uEAAuE;QACvE,2EAA2E;QAC3E,+DAA+D;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB;QACjB,0EAA0E;QAC1E,2EAA2E;QAC3E,qEAAqE;QACrE,0EAA0E;QAC1E,2EAA2E;QAC3E,EAAE;QACF,4EAA4E;QAC5E,sEAAsE;QACtE,yEAAyE;QACzE,qEAAqE;QACrE,4EAA4E;QAC5E,kCAAkC;QAClC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,GAAwB;QACzC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED,6BAA6B;QAC3B,2EAA2E;QAC3E,4EAA4E;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7C,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,6EAA6E;QAC7E,uCAAuC;QACvC,EAAE;QACF,0EAA0E;QAC1E,2EAA2E;QAC3E,2DAA2D;QAC3D,8EAA8E;QAC9E,2EAA2E;QAC3E,6EAA6E;QAC7E,+DAA+D;QAC/D,yEAAyE;QACzE,EAAE;QACF,6EAA6E;QAC7E,8EAA8E;QAC9E,yEAAyE;QACzE,iFAAiF;QACjF,OAAO,qEAAqE,CAAC;IAC/E,CAAC;IAED,YAAY,CAAC,MAAwB;QACnC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;QACrC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,OAAO,CAAC;QACpC,IAAI,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB;YAAE,GAAG,IAAI,cAAc,CAAC;aAC7E,IAAI,EAAE,KAAK,IAAI;YAAE,GAAG,IAAI,OAAO,CAAC;QACrC,oEAAoE;QACpE,2EAA2E;QAC3E,mDAAmD;QACnD,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/G,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,eAAe,KAAK,KAAK,CAAC;QACvD,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK;YAAE,GAAG,IAAI,oBAAoB,CAAC;QAClE,yFAAyF;QACzF,EAAE;QACF,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,wEAAwE;QACxE,wEAAwE;QACxE,4EAA4E;QAC5E,qEAAqE;QACrE,0EAA0E;QAC1E,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,GAAG,IAAI,WAAW,CAAC;QAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACvC,GAAG,IAAI,YAAY,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBAC1C,GAAG,IAAI,aAAa,MAAM,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO;oBACzC,CAAC,CAAC,YAAY,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC1C,CAAC,CAAC,iBAAiB,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,oBAAoB,QAAQ,2DAA2D,oBAAoB,yBAAyB,MAAM,mBAAmB,CAAC,CAAC;YAC9K,CAAC;QACH,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,sEAAsE;QACtE,wEAAwE;QACxE,oEAAoE;QACpE,yEAAyE;QACzE,0EAA0E;QAC1E,+BAA+B;QAC/B,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAAC,MAAwB,EAAE,GAAW;QACjE,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC;QACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC;QAClD,MAAM,IAAI,GAAG,qBAAqB,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7E,4BAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAClD,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,uBAAuB;gBAAE,OAAO,KAAK,CAAC;YAC/C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,gCAAgC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAAE,OAAO,KAAK,CAAC;QACnF,gCAAgC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,MAAwB;QAClC,mEAAmE;QACnE,+DAA+D;QAC/D,EAAE;QACF,4EAA4E;QAC5E,yEAAyE;QACzE,4DAA4D;QAC5D,0EAA0E;QAC1E,gCAAgC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAClE,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE/C,IAAI,SAAS,GAA4B,EAAE,CAAC;QAC5C,IAAI,CAAC;YAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;QACxE,mEAAmE;QACnE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAI,GAA+B,EAAE,OAAO,CAAC;gBACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;YAE1E,uDAAuD;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,IAAI,KAAK,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;iBACtC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;iBACpE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,gFAAgF;YAChF,4EAA4E;YAC5E,wEAAwE;YACxE,aAAa,CACX,WAAW,EACX,gBAAgB,UAAU,yIAAyI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAClP,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;YACF,qFAAqF;YACrF,gCAAgC;YAChC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAE9B,OAAO,CAAC,WAAW,CAAC,GAAG;gBACrB,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,EAAE;aACT,CAAC;QACJ,CAAC;QACD,6CAA6C;QAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC;QAE/B,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjE,wEAAwE;QACxE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACvE,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3F,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,eAAe;QACb,+DAA+D;QAC/D,6DAA6D;QAC7D,uEAAuE;QACvE,wEAAwE;QACxE,6DAA6D;QAC7D,OAAO,IAAI,MAAM,CACf,kEAAkE;cAChE,mDAAmD,SAAS,WAAW,EACzE,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,0EAA0E;QAC1E,EAAE;QACF,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,0EAA0E;QAC1E,OAAO,yFAAyF,CAAC;IACnG,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,IAAY;QAC1B,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B;QAE1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,yBAAyB;QAEjF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,EAAE,OAAO,EAAE,4CAA4C,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,0CAA0C,EAAE;YACrJ,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,kEAAkE,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE;YAC9L,0EAA0E;YAC1E,4EAA4E;YAC5E,2EAA2E;YAC3E,6EAA6E;YAC7E,wEAAwE;YACxE,2EAA2E;YAC3E;gBACE,0EAA0E;gBAC1E,wEAAwE;gBACxE,yEAAyE;gBACzE,uEAAuE;gBACvE,iEAAiE;gBACjE,0EAA0E;gBAC1E,0CAA0C;gBAC1C,EAAE;gBACF,uEAAuE;gBACvE,qEAAqE;gBACrE,wEAAwE;gBACxE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,yCAAyC;gBACzC,kEAAkE;gBAClE,uEAAuE;gBACvE,wEAAwE;gBACxE,wEAAwE;gBACxE,uEAAuE;gBACvE,uEAAuE;gBACvE,mEAAmE;gBACnE,0DAA0D;gBAC1D,EAAE;gBACF,uEAAuE;gBACvE,+DAA+D;gBAC/D,2CAA2C;gBAC3C,EAAE;gBACF,+DAA+D;gBAC/D,sEAAsE;gBACtE,mEAAmE;gBACnE,mEAAmE;gBACnE,wEAAwE;gBACxE,mEAAmE;gBACnE,OAAO,EAAE,IAAI,MAAM,CACjB,oFAAoF;sBAClF,wCAAwC;sBACxC,2DAA2D;sBAC3D,IAAI,yBAAyB,CAAC,MAAM,EAAE,EACxC,IAAI,CACL;gBACD,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,uFAAuF;aACjG;YACD,2EAA2E;YAC3E,mDAAmD;YACnD,qEAAqE;YACrE,4DAA4D;YAC5D,2DAA2D;YAC3D,4EAA4E;YAC5E,2EAA2E;YAC3E,mEAAmE;YACnE,gEAAgE;YAChE,EAAE;YACF,sEAAsE;YACtE,yEAAyE;YACzE,wEAAwE;YACxE,2EAA2E;YAC3E,wEAAwE;YACxE,2EAA2E;YAC3E;gBACE,OAAO,EAAE,qIAAqI;gBAC9I,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,4EAA4E;gBACrF,aAAa,EAAE,KAAK,CAAC,EAAE;oBACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACzD,OAAO,IAAI;wBACT,CAAC,CAAC,0CAA0C,IAAI,iBAAiB;wBACjE,CAAC,CAAC,4EAA4E,CAAC;gBACnF,CAAC;gBACD,gBAAgB,EAAE,IAAI;gBACtB,SAAS,EAAE,IAAI;aAChB;YACD,0EAA0E;YAC1E,uEAAuE;YACvE,2EAA2E;YAC3E,2EAA2E;YAC3E,oEAAoE;YACpE,4EAA4E;YAC5E,EAAE;YACF,yEAAyE;YACzE,6EAA6E;YAC7E,4EAA4E;YAC5E,wEAAwE;YACxE,wEAAwE;YACxE,EAAE;YACF,uEAAuE;YACvE,2EAA2E;YAC3E,gBAAgB;YAChB;gBACE,OAAO,EAAE,8GAA8G;gBACvH,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,8EAA8E;gBACvF,sEAAsE;gBACtE,yEAAyE;gBACzE,0EAA0E;gBAC1E,+DAA+D;gBAC/D,0EAA0E;gBAC1E,2EAA2E;gBAC3E,oCAAoC;aACrC;YACD,4EAA4E;YAC5E,+DAA+D;YAC/D;gBACE,OAAO,EAAE,0FAA0F;gBACnG,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,wDAAwD;aAClE;YACD,yEAAyE;YACzE,4EAA4E;YAC5E,4EAA4E;YAC5E,2EAA2E;YAC3E,8CAA8C;YAC9C;gBACE,OAAO,EAAE,4BAA4B;gBACrC,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,+DAA+D;aACzE;SACF,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,OAAO;YACL;gBACE,8DAA8D;gBAC9D,qFAAqF;gBACrF,OAAO,EAAE,kBAAkB;gBAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;gBACvB,WAAW,EAAE,mEAAmE;aACjF;SACF,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,OAAO;YACL;gBACE,mEAAmE;gBACnE,qEAAqE;gBACrE,uEAAuE;gBACvE,uEAAuE;gBACvE,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,0EAA0E;gBACvF,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,gCAAgC;aAC3C;YACD;gBACE,qEAAqE;gBACrE,qEAAqE;gBACrE,uEAAuE;gBACvE,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,+CAA+C;gBAC5D,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,qBAAqB;aAChC;YACD;gBACE,sEAAsE;gBACtE,OAAO,EAAE,sDAAsD;gBAC/D,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;gBACvB,WAAW,EAAE,8CAA8C;gBAC3D,QAAQ,EAAE,qBAAqB;aAChC;SACF,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY;QACV,0EAA0E;QAC1E,qEAAqE;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,KAAa,OAAO,OAAO,CAAC,CAAC,CAAC;IAE5C,iBAAiB,KAAa,OAAO,UAAU,CAAC,CAAC,CAAC;IAClD,eAAe,KAAa,OAAO,QAAQ,CAAC,CAAC,CAAC;IAC9C,0BAA0B;QACxB,OAAO;YACL,OAAO,EAAE,8FAA8F;YACvG,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC;YACpB,WAAW,EAAE,qDAAqD;SACnE,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,sBAAsB,KAA4B,OAAO,SAAS,CAAC,CAAC,CAAC;IAErE;;;;OAIG;IACK,iBAAiB;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC,EACrF,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAc,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;YAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;gBACpC,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;gBACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACjE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3E,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACjE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC;YACrE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC/F,CAAC;QAAC,MAAM,CAAC,CAAC,kDAAkD,CAAC,CAAC;QAC9D,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IACrF,CAAC;IAED,gEAAgE;IAChE,YAAY,KAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IAExC,+EAA+E;IAC/E,4EAA4E;IAC5E,2EAA2E;IAC3E,gFAAgF;IAChF,0EAA0E;IAC1E,iBAAiB,KAA4B,OAAO,SAAS,CAAC,CAAC,CAAC;IAChE,eAAe,KAAe,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjF,OAAO,CAAC,MAAwB;QAC9B,yEAAyE;QACzE,mDAAmD;QACnD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACrF,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;gBACnE,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;oBACzB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;wBAClD,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBAChE,CAAC;oBACD,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE7B,0CAA0C;QAC1C,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;YAC3G,IAAI,UAAU,CAAC,YAAY,CAAC;gBAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/backend/kiro.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,16 @@ export interface McpServerEntry {
15
15
  args: string[];
16
16
  env: Record<string, string>;
17
17
  }
18
+ /**
19
+ * The installed CLI cannot run this instance as configured without changing
20
+ * what it is — e.g. a kiro-cli that no longer offers the engine the instance's
21
+ * conversation lives in (#1109). Thrown by buildCommand before anything is
22
+ * launched. The fleet reports it and does not auto-retry: the same binary
23
+ * refuses the same way until someone changes the binary or the config.
24
+ */
25
+ export declare class UnsupportedCliError extends Error {
26
+ constructor(message: string);
27
+ }
18
28
  export interface CliBackendConfig {
19
29
  workingDirectory: string;
20
30
  instanceDir: string;