myshell-tools 2.10.0 → 2.13.0
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/CHANGELOG.md +19 -0
- package/README.md +1 -1
- package/dist/cli.js +7 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.d.ts +36 -1
- package/dist/commands/doctor.js +130 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/install.d.ts +5 -0
- package/dist/commands/install.js +16 -0
- package/dist/commands/install.js.map +1 -1
- package/dist/core/orchestrate.js +59 -2
- package/dist/core/orchestrate.js.map +1 -1
- package/dist/core/types.d.ts +10 -0
- package/dist/interface/menu.d.ts +44 -0
- package/dist/interface/menu.js +260 -28
- package/dist/interface/menu.js.map +1 -1
- package/dist/interface/render.js +8 -1
- package/dist/interface/render.js.map +1 -1
- package/dist/interface/run.d.ts +12 -3
- package/dist/interface/run.js +3 -3
- package/dist/interface/run.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,25 @@ and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.
|
|
|
11
11
|
- Cross-OS CI execution (requires a public remote).
|
|
12
12
|
- First npm publish.
|
|
13
13
|
|
|
14
|
+
## [2.13.0]
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- **Cross-vendor failover**: when a provider errors mid-task, the orchestrator now retries the same tier on another available vendor (emitting a `failover` event) before escalating — so a transient outage on one vendor doesn't sink the task. Single-provider behavior is unchanged.
|
|
18
|
+
- **Inline re-login on auth failure**: if a task fails because a provider isn't signed in, the conversation offers `Sign in to <provider> now and retry? (Y/n)` and, on yes, signs in and re-runs the task once. The failing provider + error category are now carried on the final event.
|
|
19
|
+
- **Live cost meter**: each tier-done line now shows a running `session so far: $X` total as a task progresses, not just the final total.
|
|
20
|
+
- **`doctor --fix`**: `myshell-tools doctor --fix` interactively offers to install missing providers and sign in to unauthenticated ones, then re-checks — instead of only reporting.
|
|
21
|
+
- **Raw-session escape (Unix)**: inside a raw `[r]` native session, pressing Ctrl+C twice quickly returns you to the myshell menu (best-effort, Unix-only; single Ctrl+C still reaches the native CLI). No-op on Windows.
|
|
22
|
+
|
|
23
|
+
## [2.12.0]
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
- **Shell quick-keys**: when you enable "set as default shell", the guarded startup hook now also defines `cm` and `mst` aliases (both open the control panel) so the menu is one keystroke from any shell prompt after you exit it. Fully reversible via `myshell-tools uninstall` (the whole block is stripped).
|
|
27
|
+
|
|
28
|
+
## [2.11.0]
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- **Ctrl+C escape model in conversations** (DATA-Tools-style): while in a conversation, `Ctrl+C` once cancels the running task (or hints when idle), **twice** returns to the control-panel menu, and **three times** exits to the shell — all within a ~1.5s window. Implemented with pure, tested helpers (`countRecentInterrupts`, `interpretInterrupt`); the menu is now always one gesture away. (Escaping from *inside* a raw native `claude`/`codex` passthrough session is a separate, Unix-specific follow-up.)
|
|
32
|
+
|
|
14
33
|
## [2.10.0]
|
|
15
34
|
|
|
16
35
|
### Added
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
`myshell-tools` routes each task to the *cheapest* model likely to succeed, runs it on your real codebase, optionally has a **different vendor** review the result, and shows you exactly what it did and what it truly cost — with **no fabricated data, ever**.
|
|
6
6
|
|
|
7
|
-
> **Status: `2.
|
|
7
|
+
> **Status: `2.13.0` — honest, tested, and real.** Claude, Codex, and opencode (experimental) all work, provider auth is detected for real, and the tool notifies you when a newer version is available.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
package/dist/cli.js
CHANGED
|
@@ -47,7 +47,9 @@ Commands:
|
|
|
47
47
|
Add --code to use the no-localhost flow (paste a code for
|
|
48
48
|
claude, device code for codex) — best inside containers /
|
|
49
49
|
over SSH. Add --browser to force the localhost flow.
|
|
50
|
-
doctor
|
|
50
|
+
doctor [--fix] Check provider installation, auth, and environment health.
|
|
51
|
+
Add --fix to interactively install missing providers and
|
|
52
|
+
sign in to unauthenticated ones.
|
|
51
53
|
cost Show real spend from the ledger with a per-model breakdown
|
|
52
54
|
install Write a guarded startup hook to your shell rc file so new
|
|
53
55
|
interactive shells launch myshell-tools automatically
|
|
@@ -137,7 +139,8 @@ async function main() {
|
|
|
137
139
|
process.exit(await runLogin(out, provider, method !== undefined ? { method } : undefined));
|
|
138
140
|
}
|
|
139
141
|
if (args[0] === 'doctor') {
|
|
140
|
-
|
|
142
|
+
const fix = args.includes('--fix');
|
|
143
|
+
process.exit(await runDoctor(out, fix ? { fix: true } : undefined));
|
|
141
144
|
}
|
|
142
145
|
if (args[0] === 'cost') {
|
|
143
146
|
process.exit(await runCost(cwd, out));
|
|
@@ -156,8 +159,8 @@ async function main() {
|
|
|
156
159
|
process.exit(1);
|
|
157
160
|
}
|
|
158
161
|
const deps = await buildDeps(cwd);
|
|
159
|
-
const
|
|
160
|
-
process.exit(code);
|
|
162
|
+
const result = await runTask(taskParts.join(' '), deps, out, new AbortController().signal);
|
|
163
|
+
process.exit(result.code);
|
|
161
164
|
}
|
|
162
165
|
// ---- Interactive Menu (default — sessions-first control panel) ------------
|
|
163
166
|
if (args.length === 0) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACvC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAiB,CAAC;AAE9C,MAAM,IAAI,GAAG;iBACI,OAAO
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
* Honesty contract: authentication status is based on real CLI probes
|
|
9
9
|
* (`claude auth status`, `codex login status`). Plan labels are only shown
|
|
10
10
|
* when the CLI output clearly provides them; plan is never fabricated.
|
|
11
|
+
*
|
|
12
|
+
* --fix mode: after printing the normal report, prompts to install missing
|
|
13
|
+
* providers and sign in to installed-but-unauthenticated ones. All I/O seams
|
|
14
|
+
* (detectEnvironment, installProvider, login, readLine) are injectable so tests
|
|
15
|
+
* remain hermetic — no real npm/login/detect spawned in tests.
|
|
11
16
|
*/
|
|
12
17
|
import type { OutputSink } from '../interface/render.js';
|
|
13
18
|
import type { EnvironmentStatus } from '../providers/detect.js';
|
|
@@ -28,10 +33,40 @@ export interface DoctorExtras {
|
|
|
28
33
|
* @param color - Whether to emit ANSI colour codes.
|
|
29
34
|
*/
|
|
30
35
|
export declare function buildDoctorReport(env: EnvironmentStatus, extras: DoctorExtras, color: boolean): string[];
|
|
36
|
+
export interface DoctorFixOpts {
|
|
37
|
+
/** When true, run an interactive fix pass after the report. */
|
|
38
|
+
readonly fix?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Read one line of user input. Used for Y/n prompts in fix mode.
|
|
41
|
+
* When absent, a temporary readline interface is created (real CLI path).
|
|
42
|
+
*/
|
|
43
|
+
readonly readLine?: () => Promise<string | null>;
|
|
44
|
+
/**
|
|
45
|
+
* Install a provider. Injected in tests to avoid real npm spawns.
|
|
46
|
+
* Defaults to the real installProvider from providers/install.ts.
|
|
47
|
+
*/
|
|
48
|
+
readonly installProvider?: (id: 'claude' | 'codex' | 'opencode', out: OutputSink) => Promise<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
* Sign in to a provider. Injected in tests to avoid real login spawns.
|
|
51
|
+
* Defaults to the real runLogin from commands/login.ts.
|
|
52
|
+
*/
|
|
53
|
+
readonly login?: (out: OutputSink, providerArg?: string) => Promise<number>;
|
|
54
|
+
/**
|
|
55
|
+
* Detect the environment. Injected in tests to avoid real spawns.
|
|
56
|
+
* Defaults to the real detectEnvironment from providers/detect.ts.
|
|
57
|
+
*/
|
|
58
|
+
readonly detectEnvironment?: () => Promise<EnvironmentStatus>;
|
|
59
|
+
}
|
|
31
60
|
/**
|
|
32
61
|
* Detect the environment, probe I/O, build the report, and write it to `out`.
|
|
33
62
|
*
|
|
63
|
+
* When `opts.fix` is true, runs an interactive fix pass after the report:
|
|
64
|
+
* prompts to install missing providers, re-detects, then prompts to sign in
|
|
65
|
+
* to any installed-but-unauthenticated providers. All I/O seams are injectable
|
|
66
|
+
* via `opts` so tests stay hermetic.
|
|
67
|
+
*
|
|
34
68
|
* Returns 0 when at least one provider is installed, 1 otherwise.
|
|
35
69
|
* Never calls process.exit — that is handled exclusively by src/cli.ts.
|
|
70
|
+
* Never throws — any step failure is reported and the pass continues.
|
|
36
71
|
*/
|
|
37
|
-
export declare function runDoctor(out: OutputSink): Promise<number>;
|
|
72
|
+
export declare function runDoctor(out: OutputSink, opts?: DoctorFixOpts): Promise<number>;
|
package/dist/commands/doctor.js
CHANGED
|
@@ -8,11 +8,20 @@
|
|
|
8
8
|
* Honesty contract: authentication status is based on real CLI probes
|
|
9
9
|
* (`claude auth status`, `codex login status`). Plan labels are only shown
|
|
10
10
|
* when the CLI output clearly provides them; plan is never fabricated.
|
|
11
|
+
*
|
|
12
|
+
* --fix mode: after printing the normal report, prompts to install missing
|
|
13
|
+
* providers and sign in to installed-but-unauthenticated ones. All I/O seams
|
|
14
|
+
* (detectEnvironment, installProvider, login, readLine) are injectable so tests
|
|
15
|
+
* remain hermetic — no real npm/login/detect spawned in tests.
|
|
11
16
|
*/
|
|
17
|
+
import readline from 'node:readline';
|
|
12
18
|
import { access, mkdir, writeFile, rm } from 'node:fs/promises';
|
|
13
19
|
import { join } from 'node:path';
|
|
14
20
|
import { detectEnvironment, getInstallCommand } from '../providers/detect.js';
|
|
21
|
+
import { installProvider } from '../providers/install.js';
|
|
22
|
+
import { runLogin } from './login.js';
|
|
15
23
|
import { isPricingStale } from '../infra/pricing.js';
|
|
24
|
+
import { parseYesNo } from '../interface/menu.js';
|
|
16
25
|
import { bold, green, red, yellow, dim, divider, label } from '../ui/theme.js';
|
|
17
26
|
/**
|
|
18
27
|
* Build the doctor report lines from pre-collected data.
|
|
@@ -96,14 +105,26 @@ async function probestateWritable(cwd) {
|
|
|
96
105
|
return false;
|
|
97
106
|
}
|
|
98
107
|
}
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
// I/O runner — called by cli.ts
|
|
110
|
+
// ---------------------------------------------------------------------------
|
|
99
111
|
/**
|
|
100
112
|
* Detect the environment, probe I/O, build the report, and write it to `out`.
|
|
101
113
|
*
|
|
114
|
+
* When `opts.fix` is true, runs an interactive fix pass after the report:
|
|
115
|
+
* prompts to install missing providers, re-detects, then prompts to sign in
|
|
116
|
+
* to any installed-but-unauthenticated providers. All I/O seams are injectable
|
|
117
|
+
* via `opts` so tests stay hermetic.
|
|
118
|
+
*
|
|
102
119
|
* Returns 0 when at least one provider is installed, 1 otherwise.
|
|
103
120
|
* Never calls process.exit — that is handled exclusively by src/cli.ts.
|
|
121
|
+
* Never throws — any step failure is reported and the pass continues.
|
|
104
122
|
*/
|
|
105
|
-
export async function runDoctor(out) {
|
|
106
|
-
const
|
|
123
|
+
export async function runDoctor(out, opts) {
|
|
124
|
+
const detectEnvironmentFn = opts?.detectEnvironment ?? detectEnvironment;
|
|
125
|
+
const installProviderFn = opts?.installProvider ?? installProvider;
|
|
126
|
+
const loginFn = opts?.login ?? ((o, id) => runLogin(o, id));
|
|
127
|
+
const env = await detectEnvironmentFn();
|
|
107
128
|
const stateWritable = await probestateWritable(process.cwd());
|
|
108
129
|
const extras = {
|
|
109
130
|
nodeVersion: process.version,
|
|
@@ -114,6 +135,112 @@ export async function runDoctor(out) {
|
|
|
114
135
|
for (const line of lines) {
|
|
115
136
|
out.write(line + '\n');
|
|
116
137
|
}
|
|
117
|
-
|
|
138
|
+
if (!opts?.fix) {
|
|
139
|
+
return env.hasAnyProvider ? 0 : 1;
|
|
140
|
+
}
|
|
141
|
+
// ---- Fix pass --------------------------------------------------------------
|
|
142
|
+
// Create a temporary readline if no readLine seam was injected (real CLI path).
|
|
143
|
+
let rlClose;
|
|
144
|
+
let readLineFn = opts.readLine;
|
|
145
|
+
if (readLineFn === undefined) {
|
|
146
|
+
const rl = readline.createInterface({
|
|
147
|
+
input: process.stdin,
|
|
148
|
+
output: process.stdout,
|
|
149
|
+
terminal: false,
|
|
150
|
+
});
|
|
151
|
+
readLineFn = () => new Promise((resolve) => {
|
|
152
|
+
rl.once('line', (raw) => resolve(raw.trim()));
|
|
153
|
+
rl.once('close', () => resolve(null));
|
|
154
|
+
});
|
|
155
|
+
rlClose = () => rl.close();
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
await runFixPass(out, env, readLineFn, installProviderFn, loginFn, detectEnvironmentFn);
|
|
159
|
+
}
|
|
160
|
+
finally {
|
|
161
|
+
rlClose?.();
|
|
162
|
+
}
|
|
163
|
+
return 0;
|
|
164
|
+
}
|
|
165
|
+
// ---------------------------------------------------------------------------
|
|
166
|
+
// Fix pass (internal — separated for clarity and testability)
|
|
167
|
+
// ---------------------------------------------------------------------------
|
|
168
|
+
/**
|
|
169
|
+
* Interactive fix pass:
|
|
170
|
+
* 1. Offer to install each missing provider (claude, codex, opencode).
|
|
171
|
+
* 2. Re-detect to pick up any newly installed ones.
|
|
172
|
+
* 3. Offer to sign in to each installed-but-unauthenticated provider.
|
|
173
|
+
* (opencode is always authenticated when installed, so it is never
|
|
174
|
+
* offered a sign-in prompt — that is by design, not an omission.)
|
|
175
|
+
* 4. Re-detect once more and print a brief final status line.
|
|
176
|
+
*
|
|
177
|
+
* Never throws — any step failure is caught and reported via `out`.
|
|
178
|
+
*/
|
|
179
|
+
async function runFixPass(out, initialEnv, readLine, installProviderFn, loginFn, detectEnvironmentFn) {
|
|
180
|
+
const providers = ['claude', 'codex', 'opencode'];
|
|
181
|
+
// ---- Step 1: offer installs for missing providers -------------------------
|
|
182
|
+
const missingIds = providers.filter((id) => !initialEnv[id].installed);
|
|
183
|
+
let didInstallAny = false;
|
|
184
|
+
for (const id of missingIds) {
|
|
185
|
+
const pkg = getInstallCommand(id).replace('npm install -g ', '');
|
|
186
|
+
out.write(`\nInstall ${id} (${pkg})? (Y/n) `);
|
|
187
|
+
const ans = await readLine();
|
|
188
|
+
if (parseYesNo(ans, true)) {
|
|
189
|
+
try {
|
|
190
|
+
await installProviderFn(id, out);
|
|
191
|
+
didInstallAny = true;
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
out.write(red(`✗ Install of ${id} failed.\n`, out.color));
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// ---- Step 2: re-detect if anything was installed --------------------------
|
|
199
|
+
let env = initialEnv;
|
|
200
|
+
if (didInstallAny || missingIds.length > 0) {
|
|
201
|
+
try {
|
|
202
|
+
env = await detectEnvironmentFn();
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
// If re-detection fails, continue with the original env — never throw.
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// ---- Step 3: offer sign-in for installed-but-unauthenticated providers ----
|
|
209
|
+
// opencode.authenticated is always true when installed (free models, no creds
|
|
210
|
+
// needed) so it naturally won't appear here — the condition is honest.
|
|
211
|
+
const needsAuth = providers.filter((id) => env[id].installed && !env[id].authenticated);
|
|
212
|
+
for (const id of needsAuth) {
|
|
213
|
+
out.write(`\nSign in to ${id} now? (Y/n) `);
|
|
214
|
+
const ans = await readLine();
|
|
215
|
+
if (parseYesNo(ans, true)) {
|
|
216
|
+
try {
|
|
217
|
+
await loginFn(out, id);
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
out.write(red(`✗ Sign-in for ${id} did not complete.\n`, out.color));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// ---- Step 4: final re-detect and brief summary ----------------------------
|
|
225
|
+
let finalEnv = env;
|
|
226
|
+
try {
|
|
227
|
+
finalEnv = await detectEnvironmentFn();
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// Best-effort — report from last known state if this fails.
|
|
231
|
+
}
|
|
232
|
+
out.write('\n');
|
|
233
|
+
for (const id of providers) {
|
|
234
|
+
const ps = finalEnv[id];
|
|
235
|
+
if (ps.installed && ps.authenticated) {
|
|
236
|
+
out.write(green(`✓ ${id}: installed, signed in.\n`, out.color));
|
|
237
|
+
}
|
|
238
|
+
else if (ps.installed) {
|
|
239
|
+
out.write(yellow(`~ ${id}: installed, not signed in.\n`, out.color));
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
out.write(red(`✗ ${id}: not installed.\n`, out.color));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
118
245
|
}
|
|
119
246
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,11 @@ export declare function detectShellTarget(env: NodeJS.ProcessEnv, platform: Node
|
|
|
35
35
|
* For bash/zsh: uses POSIX `[ -t 1 ]` TTY guard and env-var opt-out.
|
|
36
36
|
* For powershell: uses `$Host.UI.RawUI` TTY check and equivalent env guards.
|
|
37
37
|
*
|
|
38
|
+
* Also defines convenience aliases (`cm` and `mst`) for myshell-tools so the
|
|
39
|
+
* control panel is reachable from any shell prompt after first launch. The
|
|
40
|
+
* aliases are guarded by a command-exists check so they are harmless on shells
|
|
41
|
+
* where myshell-tools is not installed.
|
|
42
|
+
*
|
|
38
43
|
* Pure function — returns a string, never does I/O.
|
|
39
44
|
*/
|
|
40
45
|
export declare function buildHookBlock(kind: ShellKind): string;
|
package/dist/commands/install.js
CHANGED
|
@@ -56,6 +56,11 @@ export function detectShellTarget(env, platform) {
|
|
|
56
56
|
* For bash/zsh: uses POSIX `[ -t 1 ]` TTY guard and env-var opt-out.
|
|
57
57
|
* For powershell: uses `$Host.UI.RawUI` TTY check and equivalent env guards.
|
|
58
58
|
*
|
|
59
|
+
* Also defines convenience aliases (`cm` and `mst`) for myshell-tools so the
|
|
60
|
+
* control panel is reachable from any shell prompt after first launch. The
|
|
61
|
+
* aliases are guarded by a command-exists check so they are harmless on shells
|
|
62
|
+
* where myshell-tools is not installed.
|
|
63
|
+
*
|
|
59
64
|
* Pure function — returns a string, never does I/O.
|
|
60
65
|
*/
|
|
61
66
|
export function buildHookBlock(kind) {
|
|
@@ -66,6 +71,11 @@ export function buildHookBlock(kind) {
|
|
|
66
71
|
` export MYSHELL_LOADED=1\n` +
|
|
67
72
|
` command -v myshell-tools >/dev/null 2>&1 && myshell-tools\n` +
|
|
68
73
|
`fi\n` +
|
|
74
|
+
`# Convenience aliases: cm / mst → myshell-tools (control menu)\n` +
|
|
75
|
+
`if command -v myshell-tools >/dev/null 2>&1; then\n` +
|
|
76
|
+
` alias cm='myshell-tools'\n` +
|
|
77
|
+
` alias mst='myshell-tools'\n` +
|
|
78
|
+
`fi\n` +
|
|
69
79
|
`${HOOK_END}`);
|
|
70
80
|
}
|
|
71
81
|
// powershell
|
|
@@ -75,6 +85,11 @@ export function buildHookBlock(kind) {
|
|
|
75
85
|
` $env:MYSHELL_LOADED = '1'\n` +
|
|
76
86
|
` if (Get-Command myshell-tools -ErrorAction SilentlyContinue) { myshell-tools }\n` +
|
|
77
87
|
`}\n` +
|
|
88
|
+
`# Convenience functions: cm / mst → myshell-tools (control menu)\n` +
|
|
89
|
+
`if (Get-Command myshell-tools -ErrorAction SilentlyContinue) {\n` +
|
|
90
|
+
` function cm { myshell-tools @args }\n` +
|
|
91
|
+
` function mst { myshell-tools @args }\n` +
|
|
92
|
+
`}\n` +
|
|
78
93
|
`${HOOK_END}`);
|
|
79
94
|
}
|
|
80
95
|
// ---------------------------------------------------------------------------
|
|
@@ -162,6 +177,7 @@ export async function runInstall(out, opts) {
|
|
|
162
177
|
if (enable) {
|
|
163
178
|
out.write(`[info] Shell hook installed in: ${rcPath}\n`);
|
|
164
179
|
out.write(`[info] New interactive shells will launch myshell-tools automatically.\n`);
|
|
180
|
+
out.write(`[info] Shortcuts available in new shells: cm / mst (both run myshell-tools).\n`);
|
|
165
181
|
out.write(`[info] Opt out any time: export MYSHELL_SKIP=1 (bash/zsh) or $env:MYSHELL_SKIP='1' (PowerShell)\n`);
|
|
166
182
|
out.write(`[info] To reverse: myshell-tools uninstall\n`);
|
|
167
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,yBAAyB,CAAC;AACpD,MAAM,CAAC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAElD,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAsB,EACtB,QAAyB;IAEzB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC;QAC/D,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,GAAG,WAAW,kEAAkE;SACvF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;IAEpC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/dist/core/orchestrate.js
CHANGED
|
@@ -161,6 +161,21 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
161
161
|
let attempts = 0;
|
|
162
162
|
let totalCostUsd = 0;
|
|
163
163
|
let lastOutput = '';
|
|
164
|
+
/** Track the last error category across all attempts (for the failing final). */
|
|
165
|
+
let lastErroredCategory;
|
|
166
|
+
/** Track the last attempted provider (for the failing final). */
|
|
167
|
+
let lastAttemptedProvider;
|
|
168
|
+
/**
|
|
169
|
+
* Per-tier set of providers that have already been tried, used by the
|
|
170
|
+
* cross-vendor failover logic so we never retry the same provider twice
|
|
171
|
+
* within a tier on consecutive execution failures.
|
|
172
|
+
*/
|
|
173
|
+
const triedByTier = new Map();
|
|
174
|
+
/**
|
|
175
|
+
* When non-null, the next iteration must route among only these providers
|
|
176
|
+
* (the remaining untried vendors at the current tier). Cleared after use.
|
|
177
|
+
*/
|
|
178
|
+
let failoverPool = null;
|
|
164
179
|
// Compute history context once per orchestrate() call (before the loop).
|
|
165
180
|
// It is injected into the first-tier prompt to give stateless providers
|
|
166
181
|
// multi-turn context; the history does NOT grow during the loop.
|
|
@@ -179,7 +194,19 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
179
194
|
mainLoop: while (attempts < deps.policy.maxAttempts) {
|
|
180
195
|
attempts++;
|
|
181
196
|
// --- Route for current tier ---
|
|
182
|
-
|
|
197
|
+
// When a failoverPool is set (previous failure, untried vendors remain),
|
|
198
|
+
// route among only those vendors for this one iteration, then clear the pool.
|
|
199
|
+
const routePool = failoverPool ?? available;
|
|
200
|
+
failoverPool = null;
|
|
201
|
+
const decision = route(currentTier, routePool, deps.policy, deps.availableModels);
|
|
202
|
+
// Record this provider as tried at this tier.
|
|
203
|
+
let tierTried = triedByTier.get(currentTier);
|
|
204
|
+
if (tierTried === undefined) {
|
|
205
|
+
tierTried = new Set();
|
|
206
|
+
triedByTier.set(currentTier, tierTried);
|
|
207
|
+
}
|
|
208
|
+
tierTried.add(decision.provider);
|
|
209
|
+
lastAttemptedProvider = decision.provider;
|
|
183
210
|
const provider = deps.providers[decision.provider];
|
|
184
211
|
if (provider === undefined) {
|
|
185
212
|
yield {
|
|
@@ -224,10 +251,15 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
224
251
|
totalCostUsd,
|
|
225
252
|
sessionId: deps.session.id,
|
|
226
253
|
attempts,
|
|
254
|
+
...(lastAttemptedProvider !== undefined ? { provider: lastAttemptedProvider } : {}),
|
|
227
255
|
};
|
|
228
256
|
return;
|
|
229
257
|
}
|
|
230
258
|
const { finalText, errored, usage, providerCostUsd } = outcome;
|
|
259
|
+
// Track last error for failing final event.
|
|
260
|
+
if (errored !== undefined) {
|
|
261
|
+
lastErroredCategory = errored.category;
|
|
262
|
+
}
|
|
231
263
|
// --- Compute duration + cost ---
|
|
232
264
|
const durationMs = deps.clock.now() - start;
|
|
233
265
|
const success = errored == null;
|
|
@@ -279,8 +311,29 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
279
311
|
// -----------------------------------------------------------------------
|
|
280
312
|
// Decision tree
|
|
281
313
|
// -----------------------------------------------------------------------
|
|
282
|
-
// 1) Provider failure →
|
|
314
|
+
// 1) Provider failure → try cross-vendor failover first; escalate only when
|
|
315
|
+
// all vendors at this tier have been exhausted.
|
|
283
316
|
if (!success) {
|
|
317
|
+
// Compute which providers haven't been tried at this tier yet.
|
|
318
|
+
const triedAtTier = triedByTier.get(currentTier) ?? new Set();
|
|
319
|
+
const remaining = available.filter((id) => !triedAtTier.has(id));
|
|
320
|
+
if (remaining.length > 0) {
|
|
321
|
+
// Failover to an untried vendor at the same tier.
|
|
322
|
+
// Peek at what route() would pick from the remaining pool so we can
|
|
323
|
+
// name the target provider in the failover event.
|
|
324
|
+
const nextDecision = route(currentTier, remaining, deps.policy, deps.availableModels);
|
|
325
|
+
yield {
|
|
326
|
+
type: 'failover',
|
|
327
|
+
from: decision.provider,
|
|
328
|
+
to: nextDecision.provider,
|
|
329
|
+
tier: currentTier,
|
|
330
|
+
reason: errored?.message ?? 'execution failure',
|
|
331
|
+
};
|
|
332
|
+
// Signal the next iteration to route among only the remaining vendors.
|
|
333
|
+
failoverPool = remaining;
|
|
334
|
+
continue mainLoop;
|
|
335
|
+
}
|
|
336
|
+
// All vendors at this tier have been tried — escalate or break.
|
|
284
337
|
if (currentTier !== 'manager') {
|
|
285
338
|
yield { type: 'escalate', from: currentTier, to: 'manager', reason: 'execution failure' };
|
|
286
339
|
currentTier = 'manager';
|
|
@@ -358,6 +411,7 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
358
411
|
totalCostUsd,
|
|
359
412
|
sessionId: deps.session.id,
|
|
360
413
|
attempts,
|
|
414
|
+
...(lastAttemptedProvider !== undefined ? { provider: lastAttemptedProvider } : {}),
|
|
361
415
|
};
|
|
362
416
|
return;
|
|
363
417
|
}
|
|
@@ -427,6 +481,7 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
427
481
|
totalCostUsd,
|
|
428
482
|
sessionId: deps.session.id,
|
|
429
483
|
attempts,
|
|
484
|
+
...(lastAttemptedProvider !== undefined ? { provider: lastAttemptedProvider } : {}),
|
|
430
485
|
};
|
|
431
486
|
return;
|
|
432
487
|
}
|
|
@@ -558,6 +613,8 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
558
613
|
totalCostUsd,
|
|
559
614
|
sessionId: deps.session.id,
|
|
560
615
|
attempts,
|
|
616
|
+
...(lastErroredCategory !== undefined ? { errorCategory: lastErroredCategory } : {}),
|
|
617
|
+
...(lastAttemptedProvider !== undefined ? { provider: lastAttemptedProvider } : {}),
|
|
561
618
|
};
|
|
562
619
|
}
|
|
563
620
|
//# sourceMappingURL=orchestrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/core/orchestrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAS,YAAY,CACnB,cAA8B,EAC9B,UAAsB,EACtB,YAAoC;IAEpC,6BAA6B;IAC7B,IAAI,YAAY,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzC,uDAAuD;IACvD,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC,IAAI,KAAK,UAAU,CAAC;IAC5C,CAAC;IAED,iEAAiE;IACjE,OAAO,CACL,cAAc,CAAC,IAAI,KAAK,MAAM;QAC9B,cAAc,CAAC,IAAI,KAAK,UAAU;QAClC,UAAU,CAAC,WAAW,KAAK,IAAI,CAChC,CAAC;AACJ,CAAC;AAgBD;;;;;;GAMG;AACH,KAAK,SAAS,CAAC,CAAC,cAAc,CAC5B,QAAkB,EAClB,GAAoB,EACpB,IAAU,EACV,MAAmB;IAEnB,IAAI,SAA6B,CAAC;IAClC,IAAI,OAA6B,CAAC;IAClC,IAAI,KAAwB,CAAC;IAC7B,IAAI,eAAmC,CAAC;IAExC,yBAAyB;IACzB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACpG,CAAC;IAED,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAElD,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAClD,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YACnB,CAAC;YACD,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC7B,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtD,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;QACrG,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AACtG,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAChC,IAAY,EACZ,IAAqB,EACrB,MAAmB;IAEnB,4EAA4E;IAC5E,wBAAwB;IACxB,4EAA4E;IAC5E,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;IAE7C,4EAA4E;IAC5E,kCAAkC;IAClC,4EAA4E;IAC5E,MAAM,SAAS,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAwC,CAAC,MAAM,CAC1F,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,SAAS,CACzB,CAAC;IAElB,4EAA4E;IAC5E,wBAAwB;IACxB,4EAA4E;IAC5E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM;YACJ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO;YACd,OAAO,EACL,6EAA6E;gBAC7E,kCAAkC;SACrC,CAAC;QACF,MAAM;YACJ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,yBAAyB;YACjC,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,QAAQ,EAAE,CAAC;SACZ,CAAC;QACF,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,gEAAgE;IAChE,4EAA4E;IAC5E,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAC5E,IAAI,WAAW,GAAS,cAAc,CAAC,IAAI,CAAC;IAC5C,IAAI,YAAgC,CAAC;IACrC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,yEAAyE;IACzE,wEAAwE;IACxE,iEAAiE;IACjE,MAAM,cAAc,GAClB,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACnD,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9B,CAAC,CAAC,SAAS,CAAC;IAChB;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,4EAA4E;IAC5E,8BAA8B;IAC9B,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACpD,QAAQ,EAAE,CAAC;QAEX,iCAAiC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAElF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM;gBACJ,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,aAAa,QAAQ,CAAC,QAAQ,iEAAiE;aACzG,CAAC;YACF,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,uFAAuF;QACvF,MAAM,MAAM,GACV,WAAW,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS;YAChD,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC;YAC9D,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAEhE,2BAA2B;QAC3B,MAAM;YACJ,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ;SAClB,CAAC;QAEF,8CAA8C;QAC9C,MAAM,GAAG,GAAoB;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAE/B,iCAAiC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE5E,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAC9D,MAAM;gBACJ,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO,CAAC,oBAAoB;oBAClC,CAAC,CAAC,uCAAuC;oBACzC,CAAC,CAAC,qBAAqB;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,YAAY;gBACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC1B,QAAQ;aACT,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAE/D,kCAAkC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAC5C,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;QAEhC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,GAAG,GACP,eAAe;YACf,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;gBAC3C,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC;gBAC/D,CAAC,CAAC,CAAC,CAAC,CAAC;QACT,YAAY,IAAI,GAAG,CAAC;QAEpB,wBAAwB;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAE3C,2BAA2B;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC;YACpC,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC;YACtC,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC;YAChD,GAAG;YACH,UAAU;YACV,OAAO;SACR,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC9B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YAC9C,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,OAAO,EAAE,GAAG;YACZ,UAAU;SACX,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM;YACJ,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO;YACP,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,OAAO,EAAE,GAAG;YACZ,UAAU;SACX,CAAC;QAEF,UAAU,GAAG,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAEnD,0EAA0E;QAC1E,gBAAgB;QAChB,0EAA0E;QAE1E,uEAAuE;QACvE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;gBAC1F,WAAW,GAAG,SAAS,CAAC;gBACxB,SAAS,QAAQ,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,CAAC,+CAA+C;YACjE,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,6EAA6E;QAC7E,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,IACE,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAClE,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAC/B,CAAC;YACD,0EAA0E;YAC1E,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,MAAM;oBACJ,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,oDAAoD;iBAC9D,CAAC;gBACF,MAAM;oBACJ,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,WAAW;oBACjB,YAAY;oBACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC1B,QAAQ;iBACT,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9D,4EAA4E;YAC5E,MAAM,gBAAgB,GACpB,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,QAAQ,CAAC,QAAQ;gBACrD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC5B,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,UAAU,KAAK,IAAI,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAC1D,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC/B,MAAM;oBACJ,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,aAAa,UAAU,iBAAiB;iBAClD,CAAC;gBAEF,iCAAiC;gBACjC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACzF,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAEzD,kCAAkC;gBAClC,MAAM;oBACJ,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAiB;oBACvB,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,cAAc,CAAC,KAAK;oBAC3B,OAAO,EAAE,QAAQ;iBAClB,CAAC;gBAEF,MAAM,SAAS,GAAoB;oBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;oBAC3B,MAAM,EAAE,YAAY;oBACpB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAErC,iCAAiC;gBACjC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBAE5F,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAC3B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;oBAC9D,MAAM;wBACJ,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,qBAAqB;wBAC7B,IAAI,EAAE,WAAW;wBACjB,YAAY;wBACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;wBAC1B,QAAQ;qBACT,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;gBACxD,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC;gBAEpD,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;gBACxE,MAAM,SAAS,GACb,aAAa,CAAC,eAAe;oBAC7B,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS;wBAC/D,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC;wBACjG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACT,YAAY,IAAI,SAAS,CAAC;gBAE1B,gCAAgC;gBAChC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBAC9B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC1B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBACzB,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,cAAc,CAAC,KAAK;oBAC3B,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,aAAa,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;oBAClD,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;oBACpD,iBAAiB,EAAE,aAAa,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;oBAC9D,GAAG,EAAE,SAAS;oBACd,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,aAAa;iBACvB,CAAC,CAAC;gBAEH,+BAA+B;gBAC/B,MAAM;oBACJ,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAiB;oBACvB,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,gBAAgB;iBAC7B,CAAC;gBAEF,8BAA8B;gBAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAElE,yEAAyE;gBACzE,qEAAqE;gBACrE,+DAA+D;gBAC/D,uCAAuC;gBACvC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;oBAC9F,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC9B,MAAM;4BACJ,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,0CAA0C;yBACpD,CAAC;wBACF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;wBAC5F,WAAW,GAAG,SAAS,CAAC;wBACxB,SAAS,QAAQ,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,uEAAuE;wBACvE,uEAAuE;wBACvE,oEAAoE;wBACpE,MAAM;4BACJ,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,0CAA0C;yBACpD,CAAC;wBACF,MAAM;4BACJ,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,UAAU;4BAClB,IAAI,EAAE,WAAW;4BACjB,YAAY;4BACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;4BAC1B,QAAQ;yBACT,CAAC;wBACF,OAAO;oBACT,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM;wBACJ,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,mBAAmB,OAAO,CAAC,OAAO,EAAE;qBAC9C,CAAC;oBAEF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAClC,MAAM;4BACJ,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,UAAU;4BAClB,IAAI,EAAE,WAAW;4BACjB,YAAY;4BACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;4BAC1B,QAAQ;yBACT,CAAC;wBACF,OAAO;oBACT,CAAC;oBAED,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACjC,kEAAkE;wBAClE,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;4BACzD,MAAM;gCACJ,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,MAAM;gCACb,OAAO,EAAE,oDAAoD;6BAC9D,CAAC;4BACF,MAAM;gCACJ,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,IAAI;gCACb,MAAM,EAAE,UAAU;gCAClB,IAAI,EAAE,WAAW;gCACjB,YAAY;gCACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gCAC1B,QAAQ;6BACT,CAAC;4BACF,OAAO;wBACT,CAAC;wBACD,2CAA2C;wBAC3C,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;wBAC7B,SAAS,QAAQ,CAAC;oBACpB,CAAC;oBAED,yBAAyB;oBACzB,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC3C,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;wBACxB,sEAAsE;wBACtE,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;4BACzD,MAAM;gCACJ,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,MAAM;gCACb,OAAO,EAAE,oDAAoD;6BAC9D,CAAC;4BACF,MAAM;gCACJ,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,IAAI;gCACb,MAAM,EAAE,UAAU;gCAClB,IAAI,EAAE,WAAW;gCACjB,YAAY;gCACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gCAC1B,QAAQ;6BACT,CAAC;4BACF,OAAO;wBACT,CAAC;wBACD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;wBAC7F,WAAW,GAAG,UAAU,CAAC;oBAC3B,CAAC;oBACD,SAAS,QAAQ,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,OAAO,GACX,UAAU,CAAC,QAAQ;YACnB,CAAC,UAAU,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,OAAO,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACjC,sEAAsE;YACtE,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,MAAM;oBACJ,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,oDAAoD;iBAC9D,CAAC;gBACF,MAAM;oBACJ,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,WAAW;oBACjB,YAAY;oBACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC1B,QAAQ;iBACT,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,cAAc,GAClB,UAAU,CAAC,MAAM,KAAK,0BAA0B;gBAChD,UAAU,CAAC,MAAM,KAAK,wBAAwB;gBAC5C,CAAC,CAAC,UAAU,CAAC,MAAM;gBACnB,CAAC,CAAC,gBAAgB,CAAC;YACvB,MAAM;gBACJ,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,cAAc;aACvB,CAAC;YACF,WAAW,GAAG,QAAQ,CAAC;YACvB,SAAS,QAAQ,CAAC;QACpB,CAAC;QAED,oCAAoC;QACpC,MAAM;YACJ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,WAAW;YACjB,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,QAAQ;SACT,CAAC;QACF,OAAO;IACT,CAAC;IAED,yCAAyC;IACzC,MAAM;QACJ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,WAAW;QACjB,YAAY;QACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;QAC1B,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/core/orchestrate.ts"],"names":[],"mappings":"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"}
|