@on-par/factory-cli 0.9.8-next.6 → 0.9.8-next.60

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 (92) hide show
  1. package/dist/cli/daemon-launchctl.d.ts +18 -0
  2. package/dist/cli/daemon-launchctl.d.ts.map +1 -0
  3. package/dist/cli/daemon-launchctl.js +33 -0
  4. package/dist/cli/daemon-launchctl.js.map +1 -0
  5. package/dist/cli/daemon.d.ts +4 -1
  6. package/dist/cli/daemon.d.ts.map +1 -1
  7. package/dist/cli/daemon.js +6 -4
  8. package/dist/cli/daemon.js.map +1 -1
  9. package/dist/cli/doctor-harness.d.ts +11 -0
  10. package/dist/cli/doctor-harness.d.ts.map +1 -1
  11. package/dist/cli/doctor-harness.js +43 -1
  12. package/dist/cli/doctor-harness.js.map +1 -1
  13. package/dist/cli/doctor-opencode-probe.d.ts +22 -0
  14. package/dist/cli/doctor-opencode-probe.d.ts.map +1 -0
  15. package/dist/cli/doctor-opencode-probe.js +110 -0
  16. package/dist/cli/doctor-opencode-probe.js.map +1 -0
  17. package/dist/cli/doctor.d.ts +30 -8
  18. package/dist/cli/doctor.d.ts.map +1 -1
  19. package/dist/cli/doctor.js +113 -43
  20. package/dist/cli/doctor.js.map +1 -1
  21. package/dist/cli/first-run.d.ts +3 -1
  22. package/dist/cli/first-run.d.ts.map +1 -1
  23. package/dist/cli/first-run.js +5 -2
  24. package/dist/cli/first-run.js.map +1 -1
  25. package/dist/cli/github-stub.js +1 -1
  26. package/dist/cli/github-stub.js.map +1 -1
  27. package/dist/cli/harness-check.d.ts +27 -0
  28. package/dist/cli/harness-check.d.ts.map +1 -0
  29. package/dist/cli/harness-check.js +58 -0
  30. package/dist/cli/harness-check.js.map +1 -0
  31. package/dist/cli/help-groups.js +1 -1
  32. package/dist/cli/help-groups.js.map +1 -1
  33. package/dist/cli/index.d.ts +21 -18
  34. package/dist/cli/index.d.ts.map +1 -1
  35. package/dist/cli/index.js +62 -56
  36. package/dist/cli/index.js.map +1 -1
  37. package/dist/cli/program-run-work.js +2 -2
  38. package/dist/cli/program-run-work.js.map +1 -1
  39. package/dist/cli/program-setup.d.ts.map +1 -1
  40. package/dist/cli/program-setup.js +10 -1
  41. package/dist/cli/program-setup.js.map +1 -1
  42. package/dist/cli/queue-add-json.d.ts +3 -1
  43. package/dist/cli/queue-add-json.d.ts.map +1 -1
  44. package/dist/cli/queue-add-json.js +1 -0
  45. package/dist/cli/queue-add-json.js.map +1 -1
  46. package/dist/cli/queue-output.d.ts +9 -0
  47. package/dist/cli/queue-output.d.ts.map +1 -0
  48. package/dist/cli/queue-output.js +38 -0
  49. package/dist/cli/queue-output.js.map +1 -0
  50. package/dist/cli/run-lane.d.ts +3 -0
  51. package/dist/cli/run-lane.d.ts.map +1 -1
  52. package/dist/cli/run-lane.js +6 -1
  53. package/dist/cli/run-lane.js.map +1 -1
  54. package/dist/cli/run.d.ts.map +1 -1
  55. package/dist/cli/run.js +13 -1
  56. package/dist/cli/run.js.map +1 -1
  57. package/dist/cli/self-update-apply.d.ts +2 -0
  58. package/dist/cli/self-update-apply.d.ts.map +1 -1
  59. package/dist/cli/self-update-apply.js +59 -8
  60. package/dist/cli/self-update-apply.js.map +1 -1
  61. package/dist/cli/self-update.d.ts +4 -0
  62. package/dist/cli/self-update.d.ts.map +1 -1
  63. package/dist/cli/self-update.js +1 -1
  64. package/dist/cli/self-update.js.map +1 -1
  65. package/dist/cli/ship.d.ts.map +1 -1
  66. package/dist/cli/ship.js +17 -9
  67. package/dist/cli/ship.js.map +1 -1
  68. package/dist/cli/status.d.ts +5 -0
  69. package/dist/cli/status.d.ts.map +1 -1
  70. package/dist/cli/status.js +5 -4
  71. package/dist/cli/status.js.map +1 -1
  72. package/dist/cli/stop-sentinel.d.ts +4 -0
  73. package/dist/cli/stop-sentinel.d.ts.map +1 -1
  74. package/dist/cli/stop-sentinel.js +11 -0
  75. package/dist/cli/stop-sentinel.js.map +1 -1
  76. package/dist/cli/supervise.d.ts +5 -0
  77. package/dist/cli/supervise.d.ts.map +1 -1
  78. package/dist/cli/supervise.js +1 -0
  79. package/dist/cli/supervise.js.map +1 -1
  80. package/dist/cli/triage-open-prs.d.ts +10 -0
  81. package/dist/cli/triage-open-prs.d.ts.map +1 -0
  82. package/dist/cli/triage-open-prs.js +38 -0
  83. package/dist/cli/triage-open-prs.js.map +1 -0
  84. package/dist/cli/update-state.d.ts +2 -0
  85. package/dist/cli/update-state.d.ts.map +1 -1
  86. package/dist/cli/update-state.js +14 -0
  87. package/dist/cli/update-state.js.map +1 -1
  88. package/dist/cli/worktree-reap.d.ts +31 -0
  89. package/dist/cli/worktree-reap.d.ts.map +1 -0
  90. package/dist/cli/worktree-reap.js +72 -0
  91. package/dist/cli/worktree-reap.js.map +1 -0
  92. package/package.json +3 -3
@@ -2,8 +2,8 @@ import type { Octokit } from '@octokit/rest';
2
2
  import type { FactoryConfig, LeaseHealth } from '@on-par/factory-core';
3
3
  import type { WorktreeSandbox } from '@on-par/factory-core/internal';
4
4
  import { type GreenPrScanResult, type LeaseHealthRow } from './doctor-health.js';
5
- import { HARNESS_SETUP, harnessInstallChecks } from './doctor-harness.js';
6
- export { HARNESS_SETUP, harnessInstallChecks };
5
+ import { HARNESS_SETUP, harnessInstallChecks, readyAgents } from './doctor-harness.js';
6
+ export { HARNESS_SETUP, harnessInstallChecks, readyAgents };
7
7
  import type { CliDeps } from './index.js';
8
8
  export interface DoctorCheck {
9
9
  name: string;
@@ -51,8 +51,8 @@ export interface DoctorEnvProbes {
51
51
  /** Stored Claude Code OAuth session state (#2721), read locally; never refreshes. */
52
52
  claudeSessionState?: () => 'ok' | 'refresh-pending' | 'unusable' | 'unknown';
53
53
  /** The agent's last recorded run-time local_auth failure when no login has happened since
54
- * (#2733); reads local state only, never refreshes. */
55
- localAuthFailure?: (agent: 'claude' | 'codex') => {
54
+ * (#2733, #2890); reads local state only, never refreshes. */
55
+ localAuthFailure?: (agent: 'claude' | 'codex' | 'opencode') => {
56
56
  agent: string;
57
57
  at: string;
58
58
  } | null;
@@ -91,10 +91,29 @@ export declare const GIT_AUTH_PROBE_ENV: Readonly<Record<string, string>>;
91
91
  export declare const GIT_AUTH_PROBE_TIMEOUT_MS = 15000;
92
92
  /** Remedy shown only when the git-auth probe fails: wires git's credential helper to gh. */
93
93
  export declare const GIT_AUTH_FIX = "run `gh auth setup-git` so git uses your gh credentials, then re-run `factory doctor`";
94
+ /** Classifies an origin URL's transport (#2939). Returns null when it is not SSH (ssh://,
95
+ * git+ssh://, ssh+git:// or scp-style `[user@]host:path`), else the bare hostname, or null
96
+ * when the host is not a safe hostname. Never returns the user, port or path. */
97
+ export declare function sshOriginHost(origin: string): {
98
+ host: string | null;
99
+ } | null;
100
+ /** Remedy for a failing SSH origin (#2939); `<host>` stands in when the host is unknown. */
101
+ export declare function gitAuthSshFix(host: string | null): string;
102
+ type TryExec = (cmd: string, opts?: DoctorExecOptions) => string | null;
103
+ /** Identity files `ssh -G <host>` offers, `~` expanded; null when ssh could not run (#2940). The host is shell-safe. */
104
+ export declare function sshIdentityFiles(host: string, tryExec: TryExec, home?: string): string[] | null;
105
+ /** Host alias mismatch (#2940): no existing key for the origin host, but its GitHub sibling has one. */
106
+ export declare function sshHostAliasMismatch(host: string, tryExec: TryExec, fileExists: (p: string) => boolean, home?: string): {
107
+ originHost: string;
108
+ siblingHost: string;
109
+ } | null;
110
+ export declare function gitAuthSshAliasFix(originHost: string, siblingHost: string): string;
94
111
  /** Git-auth check (#2482, #2483): skipped, never failing, outside a git repository or without
95
112
  * an origin remote. Otherwise runs a non-interactive `git ls-remote` against origin and fails
96
- * when it cannot authenticate. The detail never echoes the origin URL, which may hold a token. */
97
- export declare function gitAuthCheck(repoRoot: string | null, tryExec: (cmd: string, opts?: DoctorExecOptions) => string | null): DoctorCheck;
113
+ * when it cannot authenticate. SSH origins get SSH guidance instead of `gh auth setup-git`
114
+ * (#2939), and a Host alias mismatch is named when detected (#2940). The output never echoes the
115
+ * origin URL, which may hold a token; only a bare SSH hostname may appear. */
116
+ export declare function gitAuthCheck(repoRoot: string | null, tryExec: TryExec, fileExists?: (path: string) => boolean): DoctorCheck;
98
117
  /** One `<cli> signed in` row per installed harness CLI (#2556, #2631), judged only from local evidence: an env key,
99
118
  * stored credentials, or `codex login status`. Never runs inference and never prints a secret. */
100
119
  export declare function harnessSignInChecks(probes: DoctorEnvProbes): DoctorCheck[];
@@ -112,6 +131,7 @@ export declare function repoCommandHarnesses(harnesses: Readonly<Record<string,
112
131
  export declare function commandHarnessChecks(harnesses: readonly ConfiguredCommandHarness[], commandAvailable: (cmd: string) => boolean): DoctorCheck[];
113
132
  /** Coding agent prerequisites: at least one agent CLI is required; each CLI is then reported
114
133
  * on its own optional line, with sign-in reported separately from installation (#1269, #2422, #2555, #2556).
134
+ * The codex sandbox note is folded into the ok `codex installed` row, so each agent has one row (#2997).
115
135
  * A repo-configured command harness whose executable is on PATH also counts as a coding agent (#2691). */
116
136
  export declare function agentCliChecks(probes: DoctorEnvProbes): DoctorCheck[];
117
137
  export declare function runDoctorChecks(probes: DoctorEnvProbes): DoctorCheck[];
@@ -139,6 +159,8 @@ export type KeychainProbeStatus = {
139
159
  inTmux: boolean;
140
160
  } & KeychainProbeProfile);
141
161
  export declare function claudeKeychainCheck(probe: KeychainProbeStatus): DoctorCheck;
162
+ /** The keychain row(s) for doctor: none off macOS, where the login keychain does not apply (#2998). */
163
+ export declare function claudeKeychainChecks(platform: NodeJS.Platform, probe: () => KeychainProbeStatus): DoctorCheck[];
142
164
  /** Non-null when `factory run` must fail fast instead of claiming issues (#1014).
143
165
  * Only the tmux-without-keychain differential is certain enough to abort a run on. */
144
166
  export declare function keychainPreflightError(probe: KeychainProbeStatus): string | null;
@@ -155,8 +177,8 @@ export interface ClaudeAuthProbeResult {
155
177
  * combination that proves the sandbox, not the credentials, is at fault. */
156
178
  export declare function sandboxClaudeAuthChecks(result: ClaudeAuthProbeResult): DoctorCheck[];
157
179
  /** #2496: doctor fails on agent sign-in only when no installed agent is signed in. A logged-out
158
- * agent is a warning while another one is signed in, and a hard failure when none is. Skipped
159
- * probes (optional passes, e.g. a `<cli> signed in` row for a CLI not on PATH) never count as signed in. */
180
+ * agent is a warning while another one is signed in, and a hard failure when none is. Skipped probes
181
+ * never count as signed in. #2996: not-installed agents become ➖ skipped info while one is signed in. */
160
182
  export declare function reconcileAgentAuthChecks(checks: DoctorCheck[]): DoctorCheck[];
161
183
  /** index.ts's seams and helpers for `factory doctor`, built at call time so main() deps injection reaches the handler. */
162
184
  export interface DoctorRuntime {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,18 @@
1
1
  // packages/cli/src/cli/doctor.ts — `factory doctor` environment preflight
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
+ import { homedir } from 'node:os';
3
4
  import { resolve } from 'node:path';
4
5
  import { applyRepoConfig, ConstitutionLoader, detectSandboxRuntime, getFactoryPaths, inspectPortLeases, KNOWN_HARNESS_IDS, loadFactoryConfig, reapStalePortLeases, resolveProcessGroupGraceMs, resolveSandboxPolicy, } from '@on-par/factory-core';
5
6
  import { claudeStoredSessionState, codexChatgptSessionState, hasClaudeLoginEvidence, hasOpencodeLoginEvidence, isHarnessCliPresent, localAuthFailureSinceLogin, logEvent, microVmName, resolveBranchPrefix, shellEscape, withFileLock, withGitLock, wrapCommandInSandbox, } from '@on-par/factory-core/internal';
6
7
  import { MIN_NODE_MAJOR } from '../node-version.js';
7
8
  import { configLintChecks, declaredHarnessChecks, modelsRegistryChecks } from './doctor-config.js';
8
9
  import { analyzeEventLog, eventLogCheck, formatContainerReconcileReport, formatMicroVmReconcileReport, formatReconcileReport, formatWorktreeReconcileReport, leaseChecks, orphanContainerChecks, orphanMicroVmChecks, unmergedGreenPrChecks, } from './doctor-health.js';
10
+ import { OPENCODE_LIVE_AUTH_CHECK, opencodeLiveAuthCheck, runOpencodeAuthProbe } from './doctor-opencode-probe.js';
9
11
  import { resolveDoctorHarnesses } from './doctor-harness-view.js';
10
12
  import { reconcileQueue } from './doctor-queue-reconcile.js';
11
- import { HARNESS_SETUP, harnessInstallChecks } from './doctor-harness.js';
12
- export { HARNESS_SETUP, harnessInstallChecks };
13
+ import { HARNESS_SETUP, harnessInstallChecks, readyAgents, skipMissingAgentCheck } from './doctor-harness.js';
14
+ import { failMissingAgentCheck as failMissing } from './doctor-harness.js';
15
+ export { HARNESS_SETUP, harnessInstallChecks, readyAgents };
13
16
  import { availableAgentClis, CLAUDE_CODE_URL, CODEX_CLI_URL, GITHUB_TOKENS_URL } from './first-run.js';
14
17
  import { distFreshnessProbe } from './staleness.js';
15
18
  import { readStopFileStatus, stopSentinelCheck } from './stop-sentinel.js';
@@ -69,17 +72,68 @@ export const GIT_AUTH_PROBE_ENV = {
69
72
  export const GIT_AUTH_PROBE_TIMEOUT_MS = 15_000;
70
73
  /** Remedy shown only when the git-auth probe fails: wires git's credential helper to gh. */
71
74
  export const GIT_AUTH_FIX = 'run `gh auth setup-git` so git uses your gh credentials, then re-run `factory doctor`';
75
+ /** Classifies an origin URL's transport (#2939). Returns null when it is not SSH (ssh://,
76
+ * git+ssh://, ssh+git:// or scp-style `[user@]host:path`), else the bare hostname, or null
77
+ * when the host is not a safe hostname. Never returns the user, port or path. */
78
+ export function sshOriginHost(origin) {
79
+ const url = origin.trim();
80
+ let candidate;
81
+ const scheme = /^(?:ssh|git\+ssh|ssh\+git):\/\/(?:[^@/]*@)?([^/:]*)/i.exec(url);
82
+ if (scheme) {
83
+ candidate = scheme[1] ?? '';
84
+ }
85
+ else if (url.includes('://')) {
86
+ return null;
87
+ }
88
+ else {
89
+ const scp = /^(?:([^@/:\s]+)@)?([^/:\s]+):/.exec(url);
90
+ if (!scp || (scp[2] ?? '').length <= 1)
91
+ return null;
92
+ candidate = scp[2] ?? '';
93
+ }
94
+ return { host: /^[A-Za-z0-9][A-Za-z0-9.-]*$/.test(candidate) ? candidate : null };
95
+ }
96
+ /** Remedy for a failing SSH origin (#2939); `<host>` stands in when the host is unknown. */
97
+ export function gitAuthSshFix(host) {
98
+ const target = host ?? '<host>';
99
+ return `origin uses SSH: test with \`ssh -T git@${target}\` and check your SSH key is loaded (\`ssh-add -l\`), then re-run \`factory doctor\``;
100
+ }
101
+ /** GitHub's SSH endpoints: ssh.github.com is the port-443 alternate for github.com (#2940). */
102
+ const GITHUB_SSH_SIBLING_HOSTS = {
103
+ 'github.com': 'ssh.github.com',
104
+ 'ssh.github.com': 'github.com',
105
+ };
106
+ /** Identity files `ssh -G <host>` offers, `~` expanded; null when ssh could not run (#2940). The host is shell-safe. */
107
+ export function sshIdentityFiles(host, tryExec, home = homedir()) {
108
+ const out = tryExec(`ssh -G ${host}`, { timeoutMs: 5_000 });
109
+ if (out === null)
110
+ return null;
111
+ const values = out.split(/\r?\n/).map((line) => /^identityfile\s+(.+)$/i.exec(line.trim())?.[1]?.trim());
112
+ return values
113
+ .filter((v) => !!v && v.toLowerCase() !== 'none')
114
+ .map((v) => (v === '~' ? home : v.startsWith('~/') ? resolve(home, v.slice(2)) : v));
115
+ }
116
+ /** Host alias mismatch (#2940): no existing key for the origin host, but its GitHub sibling has one. */
117
+ export function sshHostAliasMismatch(host, tryExec, fileExists, home) {
118
+ const origin = host.toLowerCase();
119
+ const sibling = GITHUB_SSH_SIBLING_HOSTS[origin];
120
+ if (!sibling || sshIdentityFiles(origin, tryExec, home)?.some(fileExists) !== false)
121
+ return null;
122
+ return sshIdentityFiles(sibling, tryExec, home)?.some(fileExists)
123
+ ? { originHost: origin, siblingHost: sibling }
124
+ : null;
125
+ }
126
+ export function gitAuthSshAliasFix(originHost, siblingHost) {
127
+ return `origin host \`${originHost}\` gets no existing SSH key, but \`${siblingHost}\` does: add \`${originHost}\` to the \`Host ${siblingHost}\` line in \`~/.ssh/config\` (e.g. \`Host ${siblingHost} ${originHost}\`), then re-run \`factory doctor\``;
128
+ }
72
129
  /** Git-auth check (#2482, #2483): skipped, never failing, outside a git repository or without
73
130
  * an origin remote. Otherwise runs a non-interactive `git ls-remote` against origin and fails
74
- * when it cannot authenticate. The detail never echoes the origin URL, which may hold a token. */
75
- export function gitAuthCheck(repoRoot, tryExec) {
131
+ * when it cannot authenticate. SSH origins get SSH guidance instead of `gh auth setup-git`
132
+ * (#2939), and a Host alias mismatch is named when detected (#2940). The output never echoes the
133
+ * origin URL, which may hold a token; only a bare SSH hostname may appear. */
134
+ export function gitAuthCheck(repoRoot, tryExec, fileExists = existsSync) {
76
135
  if (repoRoot === null) {
77
- return {
78
- name: GIT_AUTH_CHECK,
79
- ok: true,
80
- optional: true,
81
- detail: NOT_IN_REPO_SKIP_DETAIL,
82
- };
136
+ return { name: GIT_AUTH_CHECK, ok: true, optional: true, detail: NOT_IN_REPO_SKIP_DETAIL };
83
137
  }
84
138
  const origin = tryExec('git remote get-url origin');
85
139
  if (!origin) {
@@ -88,6 +142,20 @@ export function gitAuthCheck(repoRoot, tryExec) {
88
142
  // An empty string is exit 0 with no HEAD ref (an empty repo): still authenticated.
89
143
  const probe = tryExec(GIT_AUTH_PROBE_CMD, { env: { ...GIT_AUTH_PROBE_ENV }, timeoutMs: GIT_AUTH_PROBE_TIMEOUT_MS });
90
144
  if (probe === null) {
145
+ const ssh = sshOriginHost(origin);
146
+ if (ssh) {
147
+ const m = ssh.host ? sshHostAliasMismatch(ssh.host, tryExec, fileExists) : null;
148
+ const host = m?.originHost ?? ssh.host;
149
+ return {
150
+ name: GIT_AUTH_CHECK,
151
+ ok: false,
152
+ detail: m
153
+ ? `git could not authenticate to origin over SSH: ssh offers no existing key for ${m.originHost}, but ${m.siblingHost} has one in ~/.ssh/config`
154
+ : 'git could not authenticate to origin over SSH non-interactively (prompting disabled)',
155
+ fix: m ? gitAuthSshAliasFix(m.originHost, m.siblingHost) : gitAuthSshFix(ssh.host),
156
+ ...(host ? { next: `ssh -T git@${host}` } : {}),
157
+ };
158
+ }
91
159
  return {
92
160
  name: GIT_AUTH_CHECK,
93
161
  ok: false,
@@ -102,6 +170,7 @@ const SIGN_IN_EVIDENCE = {
102
170
  claude: 'no ANTHROPIC_API_KEY, CLAUDE_CODE_OAUTH_TOKEN or stored login',
103
171
  codex: 'no CODEX_API_KEY or codex login; API billing: codex login --with-api-key; headless: codex login --device-auth',
104
172
  opencode: 'no OPENCODE_API_KEY or stored auth login',
173
+ pi: 'no OPENROUTER_API_KEY, OPENCODE_API_KEY or AZURE_OPENAI_API_KEY set; Pi may still hold a stored /login (factory models --doctor runs pi auth check)',
105
174
  };
106
175
  function safe(fn) {
107
176
  if (!fn)
@@ -128,10 +197,10 @@ function safeState(fn) {
128
197
  export function harnessSignInChecks(probes) {
129
198
  const { commandAvailable, envPresent, tryExec } = probes;
130
199
  const found = availableAgentClis(commandAvailable);
131
- return HARNESS_SETUP.filter(({ harnessId }) => isHarnessCliPresent(harnessId, commandAvailable)).map(({ section, cli, login, envKeys }) => {
200
+ return HARNESS_SETUP.filter(({ harnessId }) => isHarnessCliPresent(harnessId, commandAvailable)).map(({ section, cli, login, next, envKeys }) => {
132
201
  const name = `${cli} signed in`;
133
202
  const fix = `sign in to ${section}: ${login}`;
134
- if (cli === 'claude' || cli === 'codex') {
203
+ if (cli === 'claude' || cli === 'codex' || cli === 'opencode') {
135
204
  let failure = null;
136
205
  try {
137
206
  failure = probes.localAuthFailure?.(cli) ?? null;
@@ -145,7 +214,7 @@ export function harnessSignInChecks(probes) {
145
214
  section,
146
215
  ok: false,
147
216
  optional: found.length > 1,
148
- detail: `the most recent run failed sign-in (local_auth) at ${failure.at} and there has been no login since; re-run ${cli} login`,
217
+ detail: `the most recent run failed sign-in (local_auth) at ${failure.at} and there has been no login since; re-run ${cli === 'opencode' ? login : `${cli} login`}`,
149
218
  fix,
150
219
  next: login,
151
220
  };
@@ -217,7 +286,7 @@ export function harnessSignInChecks(probes) {
217
286
  optional: found.length > 1,
218
287
  detail: `unverified: no sign-in evidence (${SIGN_IN_EVIDENCE[cli]})`,
219
288
  fix,
220
- next: login,
289
+ next: next ?? login,
221
290
  };
222
291
  });
223
292
  }
@@ -280,6 +349,7 @@ function installFix(h) {
280
349
  }
281
350
  /** Coding agent prerequisites: at least one agent CLI is required; each CLI is then reported
282
351
  * on its own optional line, with sign-in reported separately from installation (#1269, #2422, #2555, #2556).
352
+ * The codex sandbox note is folded into the ok `codex installed` row, so each agent has one row (#2997).
283
353
  * A repo-configured command harness whose executable is on PATH also counts as a coding agent (#2691). */
284
354
  export function agentCliChecks(probes) {
285
355
  const { commandAvailable, tryExec } = probes;
@@ -292,20 +362,25 @@ export function agentCliChecks(probes) {
292
362
  ? {
293
363
  name: 'coding agent',
294
364
  ok: false,
295
- detail: 'no coding agent CLI on PATH (claude, codex or opencode)',
365
+ detail: 'no coding agent CLI on PATH (claude, codex, opencode or pi)',
296
366
  fix: `install Claude Code (${CLAUDE_CODE_URL}) or the Codex CLI (${CODEX_CLI_URL})`,
297
367
  next: HARNESS_SETUP[0].install,
298
368
  }
299
369
  : {
300
370
  name: 'coding agent',
301
371
  ok: false,
302
- detail: `no coding agent CLI on PATH (claude, codex or opencode); ${configured.map(describe).join('; ')}`,
372
+ detail: `no coding agent CLI on PATH (claude, codex, opencode or pi); ${configured.map(describe).join('; ')}`,
303
373
  fix: installFix(configured[0]),
304
374
  };
375
+ const codexSandbox = detectSandboxRuntime(probes.platform ?? process.platform, commandAvailable) === 'none'
376
+ ? 'no sandbox runtime, so codex runs with danger-full-access'
377
+ : 'sandboxed builds available';
305
378
  const checks = [
306
379
  agents.length > 0 ? { name: 'coding agent', ok: true, detail: `found ${agents.join(', ')}` } : missingRow,
380
+ ...harnessInstallChecks(commandAvailable, tryExec).map((c) => c.name === 'codex installed' && c.ok
381
+ ? { ...c, detail: `${c.detail}; ${codexSandbox}` }
382
+ : failMissing(c, !agents.length)),
307
383
  ];
308
- checks.push(...harnessInstallChecks(commandAvailable, tryExec));
309
384
  checks.push(...commandHarnessChecks(configured, commandAvailable));
310
385
  checks.push(...harnessSignInChecks(probes));
311
386
  return checks;
@@ -367,7 +442,7 @@ export function runDoctorChecks(probes) {
367
442
  else {
368
443
  checks.push({ name: 'gh auth', ok: true, detail: 'authenticated' });
369
444
  }
370
- checks.push({ ...gitAuthCheck(repoRoot, tryExec), ...repoSection });
445
+ checks.push({ ...gitAuthCheck(repoRoot, tryExec, pathExists), ...repoSection });
371
446
  if (envPresent('GITHUB_TOKEN')) {
372
447
  checks.push({ name: 'GitHub token', ok: true, detail: 'GITHUB_TOKEN set' });
373
448
  }
@@ -419,22 +494,6 @@ export function runDoctorChecks(probes) {
419
494
  });
420
495
  }
421
496
  const sandboxRuntime = detectSandboxRuntime(probes.platform ?? process.platform, commandAvailable);
422
- checks.push(commandAvailable('codex')
423
- ? {
424
- name: 'codex sandbox',
425
- ok: true,
426
- optional: true,
427
- detail: sandboxRuntime === 'none'
428
- ? 'codex CLI found; no sandbox runtime, so codex runs with danger-full-access'
429
- : 'codex CLI found (sandboxed builds available)',
430
- }
431
- : {
432
- name: 'codex sandbox',
433
- ok: false,
434
- optional: true,
435
- detail: 'codex CLI not found; codex build routes unavailable',
436
- fix: 'install the codex CLI, or rely on claude routes',
437
- });
438
497
  checks.push(sandboxRuntime !== 'none'
439
498
  ? { name: 'sandbox runtime', ok: true, optional: true, detail: `${sandboxRuntime} found` }
440
499
  : {
@@ -521,7 +580,9 @@ export function formatDoctorChecks(checks, opts = {}) {
521
580
  lines.push(` next: ${check.next}`);
522
581
  }
523
582
  }
524
- lines.push(`${passed} passed, ${failed} failed, ${warnings} warnings`);
583
+ const ready = readyAgents(checks);
584
+ const readySuffix = ready.length > 0 ? `; ready: ${ready.join(', ')}` : '';
585
+ lines.push(`${passed} passed, ${failed} failed, ${warnings} warnings${readySuffix}`);
525
586
  lines.push('');
526
587
  lines.push(opts.inRepo === false
527
588
  ? `Model reachability: ${NOT_IN_REPO_SKIP_DETAIL}`
@@ -565,6 +626,10 @@ export function claudeKeychainCheck(probe) {
565
626
  fix: `run ${loginFix(probe)} and complete /login (or export ANTHROPIC_API_KEY); if already logged in, see docs/runbooks/macos-keychain-launchagent.md`,
566
627
  };
567
628
  }
629
+ /** The keychain row(s) for doctor: none off macOS, where the login keychain does not apply (#2998). */
630
+ export function claudeKeychainChecks(platform, probe) {
631
+ return platform === 'darwin' ? [claudeKeychainCheck(probe())] : [];
632
+ }
568
633
  /** Non-null when `factory run` must fail fast instead of claiming issues (#1014).
569
634
  * Only the tmux-without-keychain differential is certain enough to abort a run on. */
570
635
  export function keychainPreflightError(probe) {
@@ -615,14 +680,18 @@ export function sandboxClaudeAuthChecks(result) {
615
680
  }
616
681
  return [host, sandboxed];
617
682
  }
618
- const AGENT_AUTH_CHECKS = new Set([...HARNESS_SETUP.map(({ cli }) => `${cli} signed in`), HOST_AUTH_CHECK]);
683
+ const AGENT_AUTH_CHECKS = new Set([
684
+ ...HARNESS_SETUP.map(({ cli }) => `${cli} signed in`),
685
+ HOST_AUTH_CHECK,
686
+ OPENCODE_LIVE_AUTH_CHECK,
687
+ ]);
619
688
  /** #2496: doctor fails on agent sign-in only when no installed agent is signed in. A logged-out
620
- * agent is a warning while another one is signed in, and a hard failure when none is. Skipped
621
- * probes (optional passes, e.g. a `<cli> signed in` row for a CLI not on PATH) never count as signed in. */
689
+ * agent is a warning while another one is signed in, and a hard failure when none is. Skipped probes
690
+ * never count as signed in. #2996: not-installed agents become ➖ skipped info while one is signed in. */
622
691
  export function reconcileAgentAuthChecks(checks) {
623
- const auth = checks.filter((c) => AGENT_AUTH_CHECKS.has(c.name));
624
- const anySignedIn = auth.some((c) => c.ok && c.optional !== true);
625
- return checks.map((c) => {
692
+ const anySignedIn = checks.some((c) => AGENT_AUTH_CHECKS.has(c.name) && c.ok && c.optional !== true);
693
+ return checks.map((row) => {
694
+ const c = anySignedIn ? skipMissingAgentCheck(row) : row;
626
695
  if (!AGENT_AUTH_CHECKS.has(c.name) || c.ok)
627
696
  return c;
628
697
  return anySignedIn
@@ -675,7 +744,7 @@ export async function cmdDoctor(opts, rt) {
675
744
  opencodeLoggedIn: () => hasOpencodeLoginEvidence(),
676
745
  commandHarnesses: () => (harnessView?.merged ? repoCommandHarnesses(harnessView.merged, harnessView.registry) : []),
677
746
  });
678
- // Only with --probe-inference: these send a real prompt (uses quota). Plain doctor makes no inference call.
747
+ // Only with --probe-inference: these send a real prompt (claude, opencode; uses quota). Plain doctor makes no inference call.
679
748
  if (opts.probeInference) {
680
749
  const CLAUDE_AUTH_PROBE = 'claude -p "reply with exactly: ok"';
681
750
  const probeExec = (cmd) => {
@@ -723,8 +792,9 @@ export async function cmdDoctor(opts, rt) {
723
792
  }
724
793
  }
725
794
  checks.push(...sandboxClaudeAuthChecks({ host, sandboxed, hostDetail, sandboxDetail }));
795
+ checks.push(opencodeLiveAuthCheck(runOpencodeAuthProbe(rt, repoRoot)));
726
796
  }
727
- checks.push(claudeKeychainCheck(rt.probeClaudeKeychain()));
797
+ checks.push(...claudeKeychainChecks(process.platform, rt.probeClaudeKeychain));
728
798
  checks.splice(0, checks.length, ...reconcileAgentAuthChecks(checks));
729
799
  if (repoRoot !== null) {
730
800
  const paths = getFactoryPaths(repoRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EACL,eAAe,EACf,aAAa,EACb,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAE7B,WAAW,EAEX,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAwD3G,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAEzD,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kDAAkD,CAAC;AAEnF,4FAA4F;AAC5F,MAAM,CAAC,MAAM,uBAAuB,GAAG,yCAAyC,gBAAgB,EAAE,CAAC;AAEnG,MAAM,UAAU,iBAAiB,CAAC,QAAyB,EAAE,gBAA0C;IACrG,OAAO,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,MAAM,CAAC;AACrE,CAAC;AAED;0EAC0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,IAIrC;IACC,IAAI,CAAC,IAAI,CAAC,gBAAgB;QAAE,OAAO,kEAAkE,CAAC;IACtG,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,4CAA4C,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,uBAAuB,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;oFACoF;AACpF,MAAM,UAAU,eAAe,CAAC,YAA2B;IACzD,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,cAAc,CAAC;IACzD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,cAAc,GAAG,UAAU,CAAC;AAElC;;qDAEqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,oFAAoF,CAAC;AACvH;;gDAEgD;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,mBAAmB,EAAE,GAAG;IACxB,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,OAAO;CACzB,CAAC;AACF,kFAAkF;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,YAAY,GAAG,uFAAuF,CAAC;AAEpH;;mGAEmG;AACnG,MAAM,UAAU,YAAY,CAC1B,QAAuB,EACvB,OAAiE;IAEjE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,uBAAuB;SAChC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;IAC5G,CAAC;IACD,mFAAmF;IACnF,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,kBAAkB,EAAE,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACpH,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,6EAA6E;YACrF,GAAG,EAAE,YAAY;YACjB,IAAI,EAAE,mBAAmB;SAC1B,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;AACxG,CAAC;AAED,MAAM,gBAAgB,GAAqC;IACzD,MAAM,EAAE,+DAA+D;IACvE,KAAK,EACH,+GAA+G;IACjH,QAAQ,EAAE,0CAA0C;CACrD,CAAC;AAEF,SAAS,IAAI,CAAC,EAA+B;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EAA8B;IAC/C,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;mGACmG;AACnG,MAAM,UAAU,mBAAmB,CAAC,MAAuB;IACzD,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAClG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAe,EAAE;QAChD,MAAM,IAAI,GAAG,GAAG,GAAG,YAAY,CAAC;QAChC,MAAM,GAAG,GAAG,cAAc,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACxC,IAAI,OAAO,GAAyC,IAAI,CAAC;YACzD,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;oBACL,IAAI;oBACJ,OAAO;oBACP,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;oBAC1B,MAAM,EAAE,sDAAsD,OAAO,CAAC,EAAE,8CAA8C,GAAG,QAAQ;oBACjI,GAAG;oBACH,IAAI,EAAE,KAAK;iBACZ,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,EAAE,CAAC;YAC9E,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/F,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,OAAO;oBACL,IAAI;oBACJ,OAAO;oBACP,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;oBAC1B,MAAM,EACJ,sGAAsG;oBACxG,GAAG;oBACH,IAAI,EAAE,KAAK;iBACZ,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;gBAClC,OAAO;oBACL,IAAI;oBACJ,OAAO;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EACJ,iIAAiI;iBACpI,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;oBACL,IAAI;oBACJ,OAAO;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EACJ,MAAM,KAAK,SAAS;wBAClB,CAAC,CAAC,kGAAkG;wBACpG,CAAC,CAAC,kBAAkB,MAAM,EAAE;iBACjC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,EAAE,CAAC;YAC9E,IAAI,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC5E,OAAO;oBACL,IAAI;oBACJ,OAAO;oBACP,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;oBAC1B,MAAM,EACJ,+HAA+H;oBACjI,GAAG,EAAE,yDAAyD;oBAC9D,IAAI,EAAE,KAAK;iBACZ,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;YAC3F,CAAC;YACD,IAAI,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACxD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,8CAA8C,EAAE,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,OAAO;YACL,IAAI;YACJ,OAAO;YACP,EAAE,EAAE,KAAK;YACT,wEAAwE;YACxE,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,EAAE,oCAAoC,gBAAgB,CAAC,GAAG,CAAC,GAAG;YACpE,GAAG;YACH,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAAkD;IAClE,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;mFACmF;AACnF,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;QAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACxF,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,MAAM;QAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IAC/B,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,oBAAoB,CAClC,SAAsF,EACtF,QAAoE;IAEpE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAClC,SAA8C,EAC9C,gBAA0C;IAE1C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAe,EAAE;QACtC,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,OAAO;gBACL,IAAI;gBACJ,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,IAAI;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,4BAA4B,CAAC,CAAC,OAAO,GAAG;aAChE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,IAAI;YACd,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,wBAAwB,CAAC,CAAC,OAAO,OACvC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,oBAChF,EAAE;YACF,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,CAA2B;IAC7C,OAAO,WAAW,CAAC,CAAC,UAAU,IAAI,eAAe,6BAA6B,CAAC,CAAC,OAAO,kCAAkC,CAAC;AAC5H,CAAC;AAED;;2GAE2G;AAC3G,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC7C,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,CAAC,CAA2B,EAAU,EAAE,CACvD,mBAAmB,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,UAAU,IAAI,gBAAgB,iBAAiB,CAAC;IAC/G,MAAM,UAAU,GACd,UAAU,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC;YACE,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,yDAAyD;YACjE,GAAG,EAAE,wBAAwB,eAAe,uBAAuB,aAAa,GAAG;YACnF,IAAI,EAAE,aAAa,CAAC,CAAC,CAAE,CAAC,OAAO;SAChC;QACH,CAAC,CAAC;YACE,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,4DAA4D,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzG,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;SAChC,CAAC;IACR,MAAM,MAAM,GAAkB;QAC5B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;KAC1G,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IACpF,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,CACT,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;QACxD,CAAC,CAAC;YACE,IAAI,EAAE,gBAAgB;YACtB,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,kDAAkD;YAC1D,GAAG,EAAE,gBAAgB;SACtB,CACN,CAAC;IAEF,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAEvE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACpG,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACnD,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,KAAK,SAAS,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrG,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG,OAAO,UAAU;gBAC5B,IAAI,EAAE,CAAC,QAAQ;oBACb,CAAC,CAAC,2CAA2C;oBAC7C,CAAC,CAAC,gDAAgD;gBACpD,GAAG,WAAW;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,0BAA0B;YAClC,GAAG,EAAE,4CAA4C;YACjD,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,yBAAyB;YACjC,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IAEpE,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9E,CAAC;SAAM,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,6CAA6C;gBACrD,GAAG,EAAE,qBAAqB,iBAAiB,gBAAgB;gBAC3D,IAAI,EAAE,eAAe;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CACT,gBAAgB,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE;QACpD,CAAC,CAAC;YACE,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,mBAAmB;YAC3B,GAAG,EAAE,sBAAsB,cAAc,wCAAwC;SAClF,CACN,CAAC;IAEF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,oBAAoB;YAC1B,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,oBAAoB;YAC1B,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,6BAA6B;YACrC,GAAG,EAAE,oDAAoD;YACzD,GAAG,WAAW;SACf,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACnG,MAAM,CAAC,IAAI,CACT,gBAAgB,CAAC,OAAO,CAAC;QACvB,CAAC,CAAC;YACE,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,MAAM,EACJ,cAAc,KAAK,MAAM;gBACvB,CAAC,CAAC,4EAA4E;gBAC9E,CAAC,CAAC,8CAA8C;SACrD;QACH,CAAC,CAAC;YACE,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,qDAAqD;YAC7D,GAAG,EAAE,iDAAiD;SACvD,CACN,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,KAAK,MAAM;QACvB,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,QAAQ,EAAE;QAC1F,CAAC,CAAC;YACE,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,kFAAkF;YAC1F,GAAG,EAAE,6DAA6D;SACnE,CACN,CAAC;IAEF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IACvG,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,cAAc;YACpB,GAAG,WAAW;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT,KAAK;YACH,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACnD,CAAC,CAAC;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,EAAE,EAAE,KAAK;gBACT,MAAM;gBACN,GAAG,EAAE,0CAA0C;gBAC/C,IAAI,EAAE,eAAe;aACtB,CACN,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,eAAe,CAAC,KAAkB;IAChD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC7C,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC;IAChD,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,kBAAkB,CAAC,MAAqB,EAAE,IAAI,GAAyB,EAAE;IACvF,MAAM,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACvC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG;QACd,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC;QAChD,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;KAClE,CAAC;IAEF,IAAI,cAAkC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;QACX,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,QAAQ,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC;QACX,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,MAAM,YAAY,QAAQ,WAAW,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,MAAM,KAAK,KAAK;QACnB,CAAC,CAAC,uBAAuB,uBAAuB,EAAE;QAClD,CAAC,CAAC,6CAA6C,CAClD,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED,+FAA+F;AAC/F,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;AAe3D,SAAS,QAAQ,CAAC,OAA6B;IAC7C,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,OAAO,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA0B;IAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7F,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,yBAAyB,OAAO,IAAI,OAAO,8BAA8B;SAClF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,sCAAsC,OAAO,IAAI,OAAO,iGAAiG;YACjK,GAAG,EAAE,mOAAmO;SACzO,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,EAAE,EAAE,KAAK;QACT,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,sCAAsC,OAAO,IAAI,OAAO,wFAAwF;QACxJ,GAAG,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,2HAA2H;KACvJ,CAAC;AACJ,CAAC;AAED;uFACuF;AACvF,MAAM,UAAU,sBAAsB,CAAC,KAA0B;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC;IAC1D,OAAO,uGAAuG,OAAO,2WAA2W,CAAC;AACne,CAAC;AAYD,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAC7C,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAErD;;6EAE6E;AAC7E,MAAM,UAAU,uBAAuB,CAAC,MAA6B;IACnE,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,KAAK,IAAI;QAClB,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE;QAChE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;YACzB,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE;YAChF,CAAC,CAAC;gBACE,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,MAAM,CAAC,UAAU;gBACzB,GAAG,EAAE,gEAAgE;aACtE,CAAC;IAEV,IAAI,SAAsB,CAAC;IAC3B,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,SAAS,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACnF,CAAC;SAAM,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1C,SAAS,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACnG,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAChC,SAAS,GAAG;YACV,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,qFAAqF;YACpH,GAAG,EAAE,gJAAgJ;SACtJ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,GAAG;YACV,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,sFAAsF;YACrH,GAAG,EAAE,0DAA0D;SAChE,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AAE5G;;6GAE6G;AAC7G,MAAM,UAAU,wBAAwB,CAAC,MAAqB;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QACrD,OAAO,WAAW;YAChB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,0DAA0D,EAAE;YACzG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAmCD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAuD,EACvD,EAAiB;IAEjB,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC,QAAQ;aACnB,QAAQ,CAAC,+BAA+B,EAAE;YACzC,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC;aACD,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAElG,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,gBAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB;QAC/C,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QACvC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,QAAQ;qBACf,QAAQ,CAAC,GAAG,EAAE;oBACb,OAAO,EAAE,IAAI,EAAE,SAAS,IAAI,MAAM;oBAClC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;oBACnC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/D,CAAC;qBACD,IAAI,EAAE,CAAC;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC;QAClD,iBAAiB,EAAE,GAAG,EAAE,CAAC,wBAAwB,EAAE;QACnD,cAAc,EAAE,GAAG,EAAE,CACnB,sBAAsB,CAAC;YACrB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACnB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzG,CAAC;YACD,UAAU,EAAE,UAAU;SACvB,CAAC;QACJ,kBAAkB,EAAE,GAAG,EAAE,CAAC,wBAAwB,EAAE;QACpD,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC;QAC9D,gBAAgB,EAAE,GAAG,EAAE,CAAC,wBAAwB,EAAE;QAClD,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpH,CAAC,CAAC;IAEH,4GAA4G;IAC5G,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;QAC/D,MAAM,SAAS,GAAG,CAAC,GAAW,EAAiB,EAAE;YAC/C,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrG,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,IAAI,GAAoB,SAAS,CAAC;QACtC,IAAI,UAAU,GAAG,iCAAiC,CAAC;QACnD,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,8BAA8B,CAAC;QAClG,CAAC;QAED,IAAI,SAAS,GAAoB,SAAS,CAAC;QAC3C,IAAI,aAAa,GAAG,4CAA4C,CAAC;QACjE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CACnE,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAChD,CAAC;QACF,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,EAAE,MAAM,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3G,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,oBAAoB,CACjC,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EACnF;gBACE,QAAQ,EAAE,QAAQ;gBAClB,QAAQ;gBACR,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;aACtE,CACF,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,aAAa,GAAG,wDAAwD,CAAC;YAC3E,CAAC;iBAAM,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBACrC,aAAa,GAAG,kEAAkE,CAAC;YACrF,CAAC;iBAAM,IAAI,MAAM,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBAC/C,aAAa,GAAG,iFAAiF,CAAC;YACpG,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,SAAS,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClG,aAAa;oBACX,SAAS,KAAK,IAAI;wBAChB,CAAC,CAAC,6BAA6B,MAAM,CAAC,OAAO,EAAE;wBAC/C,CAAC,CAAC,0BAA0B,MAAM,CAAC,OAAO,eAAe,CAAC;YAChE,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAErE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,aAA4B,CAAC;QACjC,IAAI,CAAC;YACH,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,aAAa,GAAG,iBAAiB,EAAE,CAAC,CAAC,uDAAuD;QAC9F,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEvD,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,gBAAgB,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzG,MAAM,aAAa,GAAG,YAAY;YAChC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,yBAAyB,EAAE,CAAC,CAAC;QACvG,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1D,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE3F,IAAI,YAAY,GAAoC,IAAI,CAAC;QACzD,IAAI,SAA6B,CAAC;QAClC,IAAI,CAAC;YACH,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/F,CAAC;QACD,MAAM,CAAC,IAAI,CACT,GAAG,gBAAgB,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAC3G,CAAC;QAEF,mFAAmF;QACnF,MAAM,IAAI,GAAG,WAAW,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;YACrE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,YAAY;gBACrB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,GAAG,EAAE,yGAAyG;aAC/G,CAAC,CAAC;QACL,CAAC;QAED,IAAI,aAAa,GAA2B,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,CAC3C,eAAe,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAChG,CAAC;YACF,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;QACzF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC;QAErD,uFAAuF;QACvF,uFAAuF;QACvF,2DAA2D;QAC3D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5E,oFAAoF;QACpF,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAE9E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAClG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;YAE3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CACT,cAAc,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,oBAAoB,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,EAAE,CACpO,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,CAAC,IAAe,EAAE,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACvF,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACxE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC9C,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAC/B,EAAE,CAAC,WAAW,CAAC,cAAc,CAC3B;oBACE,QAAQ;oBACR,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS;oBACzC,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,mBAAmB,EAAE;iBACpC,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAC5C,CACF,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,10 @@ export declare const GITHUB_TOKENS_URL = "https://github.com/settings/tokens";
4
4
  /** Printed by bare `factory` (no subcommand). */
5
5
  export declare function formatOverview(): string;
6
6
  export declare const CODEX_CLI_URL = "https://developers.openai.com/codex/cli";
7
+ export declare const OPENCODE_URL = "https://opencode.ai";
8
+ export declare const PI_INSTALL = "npm install -g @earendil-works/pi-coding-agent";
7
9
  /** Coding agent CLIs the factory can drive for PLAN and BUILD. Any one of them is enough. */
8
- export declare const AGENT_CLIS: readonly ['claude', 'codex', 'opencode'];
10
+ export declare const AGENT_CLIS: readonly ['claude', 'codex', 'opencode', 'pi'];
9
11
  /** Agent CLIs from AGENT_CLIS found on PATH. */
10
12
  export declare function availableAgentClis(commandAvailable: (cmd: string) => boolean): string[];
11
13
  export declare function missingAgentCliMessage(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"first-run.d.ts","sourceRoot":"","sources":["../../src/cli/first-run.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,sDAAsD,CAAC;AAC5E,eAAO,MAAM,eAAe,mDAAmD,CAAC;AAChF,eAAO,MAAM,iBAAiB,uCAAuC,CAAC;AAEtE,iDAAiD;AACjD,wBAAgB,cAAc,IAAI,MAAM,CAkBvC;AAED,eAAO,MAAM,aAAa,4CAA4C,CAAC;AAEvE,6FAA6F;AAC7F,eAAO,MAAM,UAAU,YAAI,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAEnE,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE,CAEvF;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C"}
1
+ {"version":3,"file":"first-run.d.ts","sourceRoot":"","sources":["../../src/cli/first-run.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,sDAAsD,CAAC;AAC5E,eAAO,MAAM,eAAe,mDAAmD,CAAC;AAChF,eAAO,MAAM,iBAAiB,uCAAuC,CAAC;AAEtE,iDAAiD;AACjD,wBAAgB,cAAc,IAAI,MAAM,CAkBvC;AAED,eAAO,MAAM,aAAa,4CAA4C,CAAC;AACvE,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAClD,eAAO,MAAM,UAAU,mDAAmD,CAAC;AAE3E,6FAA6F;AAC7F,eAAO,MAAM,UAAU,YAAI,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAU,CAAC;AAEzE,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE,CAEvF;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C"}
@@ -1,4 +1,5 @@
1
1
  // packages/cli/src/cli/first-run.ts — designed first-run copy: overview + structured error messages
2
+ import { openCodeVersion } from '@on-par/factory-core/internal';
2
3
  export const DOCS_URL = 'https://github.com/on-par/software-factory#readme';
3
4
  export const CLAUDE_CODE_URL = 'https://docs.anthropic.com/en/docs/claude-code';
4
5
  export const GITHUB_TOKENS_URL = 'https://github.com/settings/tokens';
@@ -23,14 +24,16 @@ Docs: ${DOCS_URL}
23
24
  `;
24
25
  }
25
26
  export const CODEX_CLI_URL = 'https://developers.openai.com/codex/cli';
27
+ export const OPENCODE_URL = 'https://opencode.ai';
28
+ export const PI_INSTALL = 'npm install -g @earendil-works/pi-coding-agent';
26
29
  /** Coding agent CLIs the factory can drive for PLAN and BUILD. Any one of them is enough. */
27
- export const AGENT_CLIS = ['claude', 'codex', 'opencode'];
30
+ export const AGENT_CLIS = ['claude', 'codex', 'opencode', 'pi'];
28
31
  /** Agent CLIs from AGENT_CLIS found on PATH. */
29
32
  export function availableAgentClis(commandAvailable) {
30
33
  return AGENT_CLIS.filter((cmd) => commandAvailable(cmd));
31
34
  }
32
35
  export function missingAgentCliMessage() {
33
- return `no coding agent CLI found on PATH (claude, codex or opencode). Install one: Claude Code (${CLAUDE_CODE_URL}) or the Codex CLI (${CODEX_CLI_URL}), then sign in with \`claude /login\` or \`codex login\``;
36
+ return `no coding agent CLI found on PATH (claude, codex, opencode or pi). Install one: Claude Code (${CLAUDE_CODE_URL}), the Codex CLI (${CODEX_CLI_URL}) or OpenCode (${OPENCODE_URL}; \`${openCodeVersion.OPENCODE_PINNED_INSTALL}\`) or Pi (\`${PI_INSTALL}\`), then sign in with \`claude /login\`, \`codex login\`, \`opencode auth login\` or \`pi\` then \`/login <provider>\`. OpenCode models are experimental: set FACTORY_EXPERIMENTAL=1 to use them`;
34
37
  }
35
38
  export function missingTokenMessage() {
36
39
  return `GITHUB_TOKEN not set — create a token at ${GITHUB_TOKENS_URL} and export it (or run \`gh auth login\`)`;
@@ -1 +1 @@
1
- {"version":3,"file":"first-run.js","sourceRoot":"","sources":["../../src/cli/first-run.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,MAAM,CAAC,MAAM,QAAQ,GAAG,mDAAmD,CAAC;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,gDAAgD,CAAC;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;AAEtE,iDAAiD;AACjD,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;0BAeiB,QAAQ;CACjC,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,yCAAyC,CAAC;AAEvE,6FAA6F;AAC7F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAEnE,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,gBAA0C;IAC3E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,4FAA4F,eAAe,uBAAuB,aAAa,2DAA2D,CAAC;AACpN,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,4CAA4C,iBAAiB,2CAA2C,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,oDAAoD,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"first-run.js","sourceRoot":"","sources":["../../src/cli/first-run.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,CAAC,MAAM,QAAQ,GAAG,mDAAmD,CAAC;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,gDAAgD,CAAC;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;AAEtE,iDAAiD;AACjD,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;0BAeiB,QAAQ;CACjC,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,yCAAyC,CAAC;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG,gDAAgD,CAAC;AAE3E,6FAA6F;AAC7F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAU,CAAC;AAEzE,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,gBAA0C;IAC3E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,gGAAgG,eAAe,qBAAqB,aAAa,kBAAkB,YAAY,OAAO,eAAe,CAAC,uBAAuB,gBAAgB,UAAU,mMAAmM,CAAC;AACpc,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,4CAA4C,iBAAiB,2CAA2C,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,oDAAoD,CAAC;AAC9D,CAAC"}