@on-par/factory-cli 0.9.8-next.6 → 0.9.8-next.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/daemon-launchctl.d.ts +18 -0
- package/dist/cli/daemon-launchctl.d.ts.map +1 -0
- package/dist/cli/daemon-launchctl.js +33 -0
- package/dist/cli/daemon-launchctl.js.map +1 -0
- package/dist/cli/daemon.d.ts +4 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +6 -4
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/doctor-harness.d.ts +11 -0
- package/dist/cli/doctor-harness.d.ts.map +1 -1
- package/dist/cli/doctor-harness.js +43 -1
- package/dist/cli/doctor-harness.js.map +1 -1
- package/dist/cli/doctor-opencode-probe.d.ts +22 -0
- package/dist/cli/doctor-opencode-probe.d.ts.map +1 -0
- package/dist/cli/doctor-opencode-probe.js +110 -0
- package/dist/cli/doctor-opencode-probe.js.map +1 -0
- package/dist/cli/doctor.d.ts +30 -8
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +114 -44
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/first-run.d.ts +3 -1
- package/dist/cli/first-run.d.ts.map +1 -1
- package/dist/cli/first-run.js +5 -2
- package/dist/cli/first-run.js.map +1 -1
- package/dist/cli/github-stub.js +1 -1
- package/dist/cli/github-stub.js.map +1 -1
- package/dist/cli/harness-check.d.ts +27 -0
- package/dist/cli/harness-check.d.ts.map +1 -0
- package/dist/cli/harness-check.js +58 -0
- package/dist/cli/harness-check.js.map +1 -0
- package/dist/cli/help-groups.js +1 -1
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/index.d.ts +21 -18
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +62 -56
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/program-run-work.js +2 -2
- package/dist/cli/program-run-work.js.map +1 -1
- package/dist/cli/program-setup.d.ts.map +1 -1
- package/dist/cli/program-setup.js +10 -1
- package/dist/cli/program-setup.js.map +1 -1
- package/dist/cli/queue-add-json.d.ts +3 -1
- package/dist/cli/queue-add-json.d.ts.map +1 -1
- package/dist/cli/queue-add-json.js +1 -0
- package/dist/cli/queue-add-json.js.map +1 -1
- package/dist/cli/queue-output.d.ts +9 -0
- package/dist/cli/queue-output.d.ts.map +1 -0
- package/dist/cli/queue-output.js +38 -0
- package/dist/cli/queue-output.js.map +1 -0
- package/dist/cli/run-lane.d.ts +3 -0
- package/dist/cli/run-lane.d.ts.map +1 -1
- package/dist/cli/run-lane.js +6 -1
- package/dist/cli/run-lane.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +13 -1
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/self-update-apply.d.ts +2 -0
- package/dist/cli/self-update-apply.d.ts.map +1 -1
- package/dist/cli/self-update-apply.js +59 -8
- package/dist/cli/self-update-apply.js.map +1 -1
- package/dist/cli/self-update.d.ts +4 -0
- package/dist/cli/self-update.d.ts.map +1 -1
- package/dist/cli/self-update.js +1 -1
- package/dist/cli/self-update.js.map +1 -1
- package/dist/cli/ship.d.ts.map +1 -1
- package/dist/cli/ship.js +17 -9
- package/dist/cli/ship.js.map +1 -1
- package/dist/cli/status.d.ts +5 -0
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +5 -4
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/stop-sentinel.d.ts +4 -0
- package/dist/cli/stop-sentinel.d.ts.map +1 -1
- package/dist/cli/stop-sentinel.js +11 -0
- package/dist/cli/stop-sentinel.js.map +1 -1
- package/dist/cli/supervise.d.ts +5 -0
- package/dist/cli/supervise.d.ts.map +1 -1
- package/dist/cli/supervise.js +1 -0
- package/dist/cli/supervise.js.map +1 -1
- package/dist/cli/triage-open-prs.d.ts +10 -0
- package/dist/cli/triage-open-prs.d.ts.map +1 -0
- package/dist/cli/triage-open-prs.js +38 -0
- package/dist/cli/triage-open-prs.js.map +1 -0
- package/dist/cli/update-state.d.ts +2 -0
- package/dist/cli/update-state.d.ts.map +1 -1
- package/dist/cli/update-state.js +14 -0
- package/dist/cli/update-state.js.map +1 -1
- package/dist/cli/worktree-reap.d.ts +31 -0
- package/dist/cli/worktree-reap.d.ts.map +1 -0
- package/dist/cli/worktree-reap.js +72 -0
- package/dist/cli/worktree-reap.js.map +1 -0
- package/package.json +3 -3
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -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.
|
|
97
|
-
|
|
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
|
-
*
|
|
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 {
|
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/doctor.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
75
|
-
|
|
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
|
|
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
|
|
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,11 +580,13 @@ export function formatDoctorChecks(checks, opts = {}) {
|
|
|
521
580
|
lines.push(` next: ${check.next}`);
|
|
522
581
|
}
|
|
523
582
|
}
|
|
524
|
-
|
|
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}`
|
|
528
|
-
: 'Model reachability: factory models --doctor');
|
|
589
|
+
: 'Model reachability: not checked. Run `factory models --doctor`');
|
|
529
590
|
return lines.join('\n');
|
|
530
591
|
}
|
|
531
592
|
export function doctorFailed(checks) {
|
|
@@ -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([
|
|
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
|
-
*
|
|
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
|
|
624
|
-
|
|
625
|
-
|
|
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(
|
|
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);
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -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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"}
|
package/dist/cli/first-run.d.ts
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/cli/first-run.js
CHANGED
|
@@ -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
|
|
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;
|
|
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"}
|