myshell-tools 2.15.0 → 3.2.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 +83 -1
- package/README.md +39 -44
- package/dist/cli.js +33 -22
- package/dist/cli.js.map +1 -1
- package/dist/commands/cost.js +44 -21
- package/dist/commands/cost.js.map +1 -1
- package/dist/commands/doctor.d.ts +17 -4
- package/dist/commands/doctor.js +62 -35
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/login.d.ts +18 -10
- package/dist/commands/login.js +81 -109
- package/dist/commands/login.js.map +1 -1
- package/dist/core/json-envelope.js +31 -3
- package/dist/core/json-envelope.js.map +1 -1
- package/dist/core/native-session.d.ts +57 -0
- package/dist/core/native-session.js +68 -0
- package/dist/core/native-session.js.map +1 -0
- package/dist/core/orchestrate.js +106 -43
- package/dist/core/orchestrate.js.map +1 -1
- package/dist/core/types.d.ts +26 -0
- package/dist/infra/atomic.d.ts +9 -1
- package/dist/infra/atomic.js +12 -2
- package/dist/infra/atomic.js.map +1 -1
- package/dist/infra/config.d.ts +8 -0
- package/dist/infra/config.js.map +1 -1
- package/dist/infra/credentials.d.ts +69 -3
- package/dist/infra/credentials.js +118 -9
- package/dist/infra/credentials.js.map +1 -1
- package/dist/infra/health.d.ts +57 -0
- package/dist/infra/health.js +96 -0
- package/dist/infra/health.js.map +1 -0
- package/dist/infra/insights.d.ts +14 -0
- package/dist/infra/insights.js +31 -0
- package/dist/infra/insights.js.map +1 -1
- package/dist/interface/menu.d.ts +70 -5
- package/dist/interface/menu.js +292 -88
- package/dist/interface/menu.js.map +1 -1
- package/dist/interface/render.js +20 -13
- package/dist/interface/render.js.map +1 -1
- package/dist/providers/claude.d.ts +24 -8
- package/dist/providers/claude.js +77 -15
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex-parse.js +14 -2
- package/dist/providers/codex-parse.js.map +1 -1
- package/dist/providers/codex.d.ts +13 -1
- package/dist/providers/codex.js +19 -8
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/detect.js +22 -1
- package/dist/providers/detect.js.map +1 -1
- package/dist/providers/port.d.ts +15 -0
- package/dist/providers/registry.d.ts +8 -4
- package/dist/providers/registry.js +7 -6
- package/dist/providers/registry.js.map +1 -1
- package/dist/ui/help.d.ts +17 -0
- package/dist/ui/help.js +106 -0
- package/dist/ui/help.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAmB;IACvC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,aAAa;YAChB,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC;IAEjC,OAAO;QACL,EAAE,EAAE,OAAO;QAEX,MAAM;YACJ,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,CAAC,GAAG,CAAC,GAAoB,EAAE,MAAmB;YAClD,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/detect.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* Plan labels are only set when clearly present in CLI output — never fabricated.
|
|
16
16
|
*/
|
|
17
17
|
import { execa } from 'execa';
|
|
18
|
+
import { loadClaudeToken, claudeEnv } from '../infra/credentials.js';
|
|
18
19
|
// ---------------------------------------------------------------------------
|
|
19
20
|
// Internal factory
|
|
20
21
|
// ---------------------------------------------------------------------------
|
|
@@ -127,10 +128,22 @@ export function parseCodexAuth(stdout, stderr, exitCode) {
|
|
|
127
128
|
*/
|
|
128
129
|
export async function detectProvider(id) {
|
|
129
130
|
if (id === 'claude') {
|
|
131
|
+
// Load the stored token once so both the version probe and the auth probe
|
|
132
|
+
// see it — but never inject it into the global process.env.
|
|
133
|
+
// Fall back to process.env unchanged if loading fails.
|
|
134
|
+
let claudeChildEnv = process.env;
|
|
135
|
+
try {
|
|
136
|
+
const token = await loadClaudeToken();
|
|
137
|
+
claudeChildEnv = claudeEnv(process.env, token);
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
// Never throw — detection must be robust
|
|
141
|
+
}
|
|
130
142
|
try {
|
|
131
143
|
const result = await execa('claude', ['--version'], {
|
|
132
144
|
reject: false,
|
|
133
145
|
timeout: 10_000,
|
|
146
|
+
env: claudeChildEnv,
|
|
134
147
|
});
|
|
135
148
|
if (result.exitCode === 0) {
|
|
136
149
|
// Binary confirmed present — now probe real auth state.
|
|
@@ -140,6 +153,7 @@ export async function detectProvider(id) {
|
|
|
140
153
|
const authResult = await execa('claude', ['auth', 'status'], {
|
|
141
154
|
reject: false,
|
|
142
155
|
timeout: 10_000,
|
|
156
|
+
env: claudeChildEnv,
|
|
143
157
|
});
|
|
144
158
|
const parsed = parseClaudeAuth(typeof authResult.stdout === 'string' ? authResult.stdout : '', typeof authResult.stderr === 'string' ? authResult.stderr : '', authResult.exitCode ?? 1);
|
|
145
159
|
authenticated = parsed.authenticated;
|
|
@@ -229,7 +243,14 @@ async function detectOpencodeProvider() {
|
|
|
229
243
|
// opencode ships free models that need no credentials — always usable.
|
|
230
244
|
authenticated: true,
|
|
231
245
|
plan: null,
|
|
232
|
-
|
|
246
|
+
// All three free models covering the tiers used in pricing.ts (worker,
|
|
247
|
+
// ic, manager) so route() can select the appropriate tier without
|
|
248
|
+
// falling back to a model opencode may not actually advertise.
|
|
249
|
+
availableModels: [
|
|
250
|
+
'opencode/mimo-v2.5-free', // worker tier
|
|
251
|
+
'opencode/deepseek-v4-flash-free', // ic tier
|
|
252
|
+
'opencode/big-pickle', // manager tier
|
|
253
|
+
],
|
|
233
254
|
};
|
|
234
255
|
}
|
|
235
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/providers/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/providers/detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAwBrE,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,WAAW,CAAC,EAAmC;IACtD,OAAO;QACL,EAAE;QACF,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,OAAe,EACf,QAAgB;IAEhB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAY,CAAC;QAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,MAAc,EACd,QAAgB;IAEhB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,iFAAiF;IACjF,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAErD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAmC;IAEnC,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,0EAA0E;QAC1E,4DAA4D;QAC5D,uDAAuD;QACvD,IAAI,cAAc,GAAsB,OAAO,CAAC,GAAG,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;YACtC,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;gBAClD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,MAAM;gBACf,GAAG,EAAE,cAAc;aACpB,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,wDAAwD;gBACxD,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,IAAI,GAAkB,IAAI,CAAC;gBAE/B,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;wBAC3D,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,MAAM;wBACf,GAAG,EAAE,cAAc;qBACpB,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,eAAe,CAC5B,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC9D,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC9D,UAAU,CAAC,QAAQ,IAAI,CAAC,CACzB,CAAC;oBACF,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;oBACrC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBACP,uDAAuD;gBACzD,CAAC;gBAED,OAAO;oBACL,EAAE,EAAE,QAAQ;oBACZ,SAAS,EAAE,IAAI;oBACf,OAAO,EAAG,MAAM,CAAC,MAAiB,CAAC,IAAI,EAAE;oBACzC,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;oBAC5C,aAAa;oBACb,IAAI;iBACL,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;QAED,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,8CAA8C;IAC9C,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;QACtB,OAAO,sBAAsB,EAAE,CAAC;IAClC,CAAC;IAED,gFAAgF;IAChF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,wDAAwD;YACxD,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,MAAM,IAAI,GAAkB,IAAI,CAAC,CAAC,wCAAwC;YAE1E,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;oBAC3D,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,cAAc,CAC3B,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC9D,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC9D,UAAU,CAAC,QAAQ,IAAI,CAAC,CACzB,CAAC;gBACF,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,OAAO;gBACX,SAAS,EAAE,IAAI;gBACf,OAAO,EAAG,MAAM,CAAC,MAAiB,CAAC,IAAI,EAAE;gBACzC,UAAU,EAAE,OAAO;gBACnB,eAAe,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC;gBACvD,aAAa;gBACb,IAAI;aACL,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;YACpD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,EAAE,EAAE,UAAU;gBACd,SAAS,EAAE,IAAI;gBACf,OAAO,EAAG,MAAM,CAAC,MAAiB,CAAC,IAAI,EAAE;gBACzC,UAAU,EAAE,UAAU;gBACtB,uEAAuE;gBACvE,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,IAAI;gBACV,uEAAuE;gBACvE,kEAAkE;gBAClE,+DAA+D;gBAC/D,eAAe,EAAE;oBACf,yBAAyB,EAAQ,cAAc;oBAC/C,iCAAiC,EAAE,UAAU;oBAC7C,qBAAqB,EAAc,eAAe;iBACnD;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;IAClE,CAAC;IAED,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,cAAc,CAAC,QAAQ,CAAC;QACxB,cAAc,CAAC,OAAO,CAAC;QACvB,cAAc,CAAC,UAAU,CAAC;KAC3B,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,KAAK;QACL,QAAQ;QACR,cAAc,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;QACzE,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAmC;IACnE,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,QAAQ;YACX,OAAO,0CAA0C,CAAC;QACpD,KAAK,OAAO;YACV,OAAO,8BAA8B,CAAC;QACxC,KAAK,UAAU;YACb,OAAO,4BAA4B,CAAC;IACxC,CAAC;AACH,CAAC"}
|
package/dist/providers/port.d.ts
CHANGED
|
@@ -34,6 +34,15 @@ export interface ProviderRequest {
|
|
|
34
34
|
readonly sandbox: SandboxLevel;
|
|
35
35
|
/** Hard wall-clock timeout for the run. */
|
|
36
36
|
readonly timeoutMs: number;
|
|
37
|
+
/**
|
|
38
|
+
* EXPERIMENTAL native session continuity (opt-in). When set, the adapter uses
|
|
39
|
+
* the provider's native session so prior context is carried server-side
|
|
40
|
+
* instead of replayed in the prompt. Claude: `--session-id <id>` to establish,
|
|
41
|
+
* `--resume <id>` to continue. Omitted → stateless one-shot (the default).
|
|
42
|
+
*/
|
|
43
|
+
readonly sessionId?: string;
|
|
44
|
+
/** With sessionId: true continues an existing session, false establishes it. */
|
|
45
|
+
readonly resume?: boolean;
|
|
37
46
|
}
|
|
38
47
|
/**
|
|
39
48
|
* Streaming events emitted by a provider run. Discriminated on `type`.
|
|
@@ -60,6 +69,12 @@ export type ProviderEvent = {
|
|
|
60
69
|
/** Cost in USD as reported by the provider CLI, when available (preferred
|
|
61
70
|
* over estimating from the pricing table — it accounts for caching etc.). */
|
|
62
71
|
readonly costUsd?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Provider-assigned session/thread id, when the CLI reports one (e.g. Codex
|
|
74
|
+
* `thread.started.thread_id`). Captured so a later turn can resume the
|
|
75
|
+
* native session. Absent when the provider does not surface an id.
|
|
76
|
+
*/
|
|
77
|
+
readonly sessionId?: string;
|
|
63
78
|
readonly raw: unknown;
|
|
64
79
|
} | {
|
|
65
80
|
readonly type: 'error';
|
|
@@ -10,12 +10,16 @@
|
|
|
10
10
|
* each — which automatically activates cross-vendor review in the orchestrator.
|
|
11
11
|
*/
|
|
12
12
|
import type { Provider, ProviderId } from './port.js';
|
|
13
|
+
import type { EnvironmentStatus } from './detect.js';
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
15
|
+
* Build the provider map for OrchestrateDeps from an already-detected
|
|
16
|
+
* EnvironmentStatus. The caller is responsible for running detectEnvironment()
|
|
17
|
+
* once and passing the result here — this avoids a second round of
|
|
18
|
+
* `--version` spawns when the caller already holds the detection result.
|
|
16
19
|
*
|
|
17
20
|
* @param _cwd - Working directory (used by real adapters to locate project-
|
|
18
21
|
* level config; may be forwarded to adapters in a future phase).
|
|
19
|
-
* @
|
|
22
|
+
* @param env - The environment status produced by detectEnvironment().
|
|
23
|
+
* @returns A (possibly empty) map of available providers.
|
|
20
24
|
*/
|
|
21
|
-
export declare function buildProviders(_cwd: string):
|
|
25
|
+
export declare function buildProviders(_cwd: string, env: EnvironmentStatus): Partial<Record<ProviderId, Provider>>;
|
|
@@ -9,20 +9,21 @@
|
|
|
9
9
|
* With multiple providers installed, `deps.providers` will have entries for
|
|
10
10
|
* each — which automatically activates cross-vendor review in the orchestrator.
|
|
11
11
|
*/
|
|
12
|
-
import { detectEnvironment } from './detect.js';
|
|
13
12
|
import { createClaudeProvider } from './claude.js';
|
|
14
13
|
import { createCodexProvider } from './codex.js';
|
|
15
14
|
import { createOpencodeProvider } from './opencode.js';
|
|
16
15
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* Build the provider map for OrchestrateDeps from an already-detected
|
|
17
|
+
* EnvironmentStatus. The caller is responsible for running detectEnvironment()
|
|
18
|
+
* once and passing the result here — this avoids a second round of
|
|
19
|
+
* `--version` spawns when the caller already holds the detection result.
|
|
19
20
|
*
|
|
20
21
|
* @param _cwd - Working directory (used by real adapters to locate project-
|
|
21
22
|
* level config; may be forwarded to adapters in a future phase).
|
|
22
|
-
* @
|
|
23
|
+
* @param env - The environment status produced by detectEnvironment().
|
|
24
|
+
* @returns A (possibly empty) map of available providers.
|
|
23
25
|
*/
|
|
24
|
-
export
|
|
25
|
-
const env = await detectEnvironment();
|
|
26
|
+
export function buildProviders(_cwd, env) {
|
|
26
27
|
const providers = {};
|
|
27
28
|
if (env.claude.installed) {
|
|
28
29
|
providers.claude = createClaudeProvider();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,GAAsB;IAEtB,MAAM,SAAS,GAA0C,EAAE,CAAC;IAE5D,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACzB,SAAS,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,SAAS,CAAC,KAAK,GAAG,mBAAmB,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC3B,SAAS,CAAC,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/ui/help.ts — per-command help text.
|
|
3
|
+
*
|
|
4
|
+
* The global `myshell-tools --help` lists all commands; this module provides
|
|
5
|
+
* the focused, command-specific help shown for `myshell-tools <command> --help`
|
|
6
|
+
* (e.g. `login --help` explains the sign-in methods instead of dumping the
|
|
7
|
+
* generic command list).
|
|
8
|
+
*
|
|
9
|
+
* Pure string building — no I/O, trivially unit-testable.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Return focused help text for a known subcommand, or null when the command has
|
|
13
|
+
* no dedicated help (callers fall back to the global help).
|
|
14
|
+
*
|
|
15
|
+
* @param command - The first CLI argument (e.g. "login", "cost").
|
|
16
|
+
*/
|
|
17
|
+
export declare function commandHelpText(command: string): string | null;
|
package/dist/ui/help.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/ui/help.ts — per-command help text.
|
|
3
|
+
*
|
|
4
|
+
* The global `myshell-tools --help` lists all commands; this module provides
|
|
5
|
+
* the focused, command-specific help shown for `myshell-tools <command> --help`
|
|
6
|
+
* (e.g. `login --help` explains the sign-in methods instead of dumping the
|
|
7
|
+
* generic command list).
|
|
8
|
+
*
|
|
9
|
+
* Pure string building — no I/O, trivially unit-testable.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Return focused help text for a known subcommand, or null when the command has
|
|
13
|
+
* no dedicated help (callers fall back to the global help).
|
|
14
|
+
*
|
|
15
|
+
* @param command - The first CLI argument (e.g. "login", "cost").
|
|
16
|
+
*/
|
|
17
|
+
export function commandHelpText(command) {
|
|
18
|
+
switch (command) {
|
|
19
|
+
case 'login':
|
|
20
|
+
return [
|
|
21
|
+
'myshell-tools login [provider] [--code | --browser]',
|
|
22
|
+
'',
|
|
23
|
+
'Sign in to a provider via its own OAuth. myshell-tools never handles',
|
|
24
|
+
'your credentials — it drives each CLI\'s native sign-in.',
|
|
25
|
+
'',
|
|
26
|
+
'Arguments:',
|
|
27
|
+
' provider claude | codex | opencode (omit to be prompted)',
|
|
28
|
+
'',
|
|
29
|
+
'Options:',
|
|
30
|
+
' --code No-localhost flow — paste a code (claude) or use a device',
|
|
31
|
+
' code (codex). Best inside containers / over SSH.',
|
|
32
|
+
' --browser Force the localhost browser flow (desktop).',
|
|
33
|
+
' (omitted) Auto-detect: headless/SSH/cloud-IDE → code, desktop → browser.',
|
|
34
|
+
'',
|
|
35
|
+
'Examples:',
|
|
36
|
+
' myshell-tools login # prompt for provider, auto-detect method',
|
|
37
|
+
' myshell-tools login claude --code # paste the sk-ant-oat… token',
|
|
38
|
+
' myshell-tools login codex --code # device-code flow (no localhost)',
|
|
39
|
+
].join('\n') + '\n';
|
|
40
|
+
case 'cost':
|
|
41
|
+
return [
|
|
42
|
+
'myshell-tools cost',
|
|
43
|
+
'',
|
|
44
|
+
'Show usage and routing efficiency from the local ledger.',
|
|
45
|
+
'',
|
|
46
|
+
'Leads with REAL, measured tokens (overall and per model) and a',
|
|
47
|
+
'billing-agnostic routing-efficiency ratio (how many flagship tokens you',
|
|
48
|
+
'avoided). Because this drives your SUBSCRIPTION CLIs — not metered API',
|
|
49
|
+
'keys — any dollar figure is shown only as a clearly-labeled',
|
|
50
|
+
'API-equivalent estimate, not your actual bill.',
|
|
51
|
+
].join('\n') + '\n';
|
|
52
|
+
case 'run':
|
|
53
|
+
return [
|
|
54
|
+
'myshell-tools run <task...>',
|
|
55
|
+
'',
|
|
56
|
+
'Run a one-shot task and exit (non-interactive).',
|
|
57
|
+
'',
|
|
58
|
+
'The task is classified, routed to the cheapest capable tier, executed on',
|
|
59
|
+
'your real working directory, and optionally reviewed by a different vendor.',
|
|
60
|
+
'',
|
|
61
|
+
'Example:',
|
|
62
|
+
' myshell-tools run "refactor the auth module and add tests"',
|
|
63
|
+
].join('\n') + '\n';
|
|
64
|
+
case 'status':
|
|
65
|
+
case 'check':
|
|
66
|
+
case 'doctor':
|
|
67
|
+
return [
|
|
68
|
+
`myshell-tools ${command}`,
|
|
69
|
+
'',
|
|
70
|
+
'Print a full environment health report: platform, Node version, state-',
|
|
71
|
+
'directory writability, pricing freshness, and per-provider install/auth.',
|
|
72
|
+
'',
|
|
73
|
+
'You normally never need this — the control panel surfaces any problem on',
|
|
74
|
+
'its own. It exists for support threads and CI. (`status`, `check`, and the',
|
|
75
|
+
'legacy `doctor` are aliases.)',
|
|
76
|
+
'',
|
|
77
|
+
'Options:',
|
|
78
|
+
' --fix Interactively install missing providers, sign in, and',
|
|
79
|
+
' refresh an expiring Claude token.',
|
|
80
|
+
].join('\n') + '\n';
|
|
81
|
+
case 'install':
|
|
82
|
+
return [
|
|
83
|
+
'myshell-tools install',
|
|
84
|
+
'',
|
|
85
|
+
'Write a guarded startup hook to your shell rc file so new interactive',
|
|
86
|
+
'shells launch myshell-tools automatically. Reports exactly what it wrote',
|
|
87
|
+
'and how to reverse it. Use `myshell-tools uninstall` to remove it.',
|
|
88
|
+
].join('\n') + '\n';
|
|
89
|
+
case 'uninstall':
|
|
90
|
+
return [
|
|
91
|
+
'myshell-tools uninstall',
|
|
92
|
+
'',
|
|
93
|
+
'Remove the guarded startup hook written by `myshell-tools install`.',
|
|
94
|
+
].join('\n') + '\n';
|
|
95
|
+
case 'repl':
|
|
96
|
+
return [
|
|
97
|
+
'myshell-tools repl',
|
|
98
|
+
'',
|
|
99
|
+
'Start a plain line-based REPL (no control-panel menu). Each line you type',
|
|
100
|
+
'is run as a task. Useful for scripting or minimal terminals.',
|
|
101
|
+
].join('\n') + '\n';
|
|
102
|
+
default:
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/ui/help.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO;gBACL,qDAAqD;gBACrD,EAAE;gBACF,sEAAsE;gBACtE,0DAA0D;gBAC1D,EAAE;gBACF,YAAY;gBACZ,gEAAgE;gBAChE,EAAE;gBACF,UAAU;gBACV,0EAA0E;gBAC1E,iEAAiE;gBACjE,4DAA4D;gBAC5D,+EAA+E;gBAC/E,EAAE;gBACF,WAAW;gBACX,iFAAiF;gBACjF,qEAAqE;gBACrE,yEAAyE;aAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEtB,KAAK,MAAM;YACT,OAAO;gBACL,oBAAoB;gBACpB,EAAE;gBACF,0DAA0D;gBAC1D,EAAE;gBACF,gEAAgE;gBAChE,yEAAyE;gBACzE,wEAAwE;gBACxE,6DAA6D;gBAC7D,gDAAgD;aACjD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEtB,KAAK,KAAK;YACR,OAAO;gBACL,6BAA6B;gBAC7B,EAAE;gBACF,iDAAiD;gBACjD,EAAE;gBACF,0EAA0E;gBAC1E,6EAA6E;gBAC7E,EAAE;gBACF,UAAU;gBACV,8DAA8D;aAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEtB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO;gBACL,iBAAiB,OAAO,EAAE;gBAC1B,EAAE;gBACF,wEAAwE;gBACxE,0EAA0E;gBAC1E,EAAE;gBACF,0EAA0E;gBAC1E,4EAA4E;gBAC5E,+BAA+B;gBAC/B,EAAE;gBACF,UAAU;gBACV,sEAAsE;gBACtE,kDAAkD;aACnD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEtB,KAAK,SAAS;YACZ,OAAO;gBACL,uBAAuB;gBACvB,EAAE;gBACF,uEAAuE;gBACvE,0EAA0E;gBAC1E,oEAAoE;aACrE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEtB,KAAK,WAAW;YACd,OAAO;gBACL,yBAAyB;gBACzB,EAAE;gBACF,qEAAqE;aACtE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEtB,KAAK,MAAM;YACT,OAAO;gBACL,oBAAoB;gBACpB,EAAE;gBACF,2EAA2E;gBAC3E,8DAA8D;aAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEtB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|