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.
Files changed (57) hide show
  1. package/CHANGELOG.md +83 -1
  2. package/README.md +39 -44
  3. package/dist/cli.js +33 -22
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/cost.js +44 -21
  6. package/dist/commands/cost.js.map +1 -1
  7. package/dist/commands/doctor.d.ts +17 -4
  8. package/dist/commands/doctor.js +62 -35
  9. package/dist/commands/doctor.js.map +1 -1
  10. package/dist/commands/login.d.ts +18 -10
  11. package/dist/commands/login.js +81 -109
  12. package/dist/commands/login.js.map +1 -1
  13. package/dist/core/json-envelope.js +31 -3
  14. package/dist/core/json-envelope.js.map +1 -1
  15. package/dist/core/native-session.d.ts +57 -0
  16. package/dist/core/native-session.js +68 -0
  17. package/dist/core/native-session.js.map +1 -0
  18. package/dist/core/orchestrate.js +106 -43
  19. package/dist/core/orchestrate.js.map +1 -1
  20. package/dist/core/types.d.ts +26 -0
  21. package/dist/infra/atomic.d.ts +9 -1
  22. package/dist/infra/atomic.js +12 -2
  23. package/dist/infra/atomic.js.map +1 -1
  24. package/dist/infra/config.d.ts +8 -0
  25. package/dist/infra/config.js.map +1 -1
  26. package/dist/infra/credentials.d.ts +69 -3
  27. package/dist/infra/credentials.js +118 -9
  28. package/dist/infra/credentials.js.map +1 -1
  29. package/dist/infra/health.d.ts +57 -0
  30. package/dist/infra/health.js +96 -0
  31. package/dist/infra/health.js.map +1 -0
  32. package/dist/infra/insights.d.ts +14 -0
  33. package/dist/infra/insights.js +31 -0
  34. package/dist/infra/insights.js.map +1 -1
  35. package/dist/interface/menu.d.ts +70 -5
  36. package/dist/interface/menu.js +292 -88
  37. package/dist/interface/menu.js.map +1 -1
  38. package/dist/interface/render.js +20 -13
  39. package/dist/interface/render.js.map +1 -1
  40. package/dist/providers/claude.d.ts +24 -8
  41. package/dist/providers/claude.js +77 -15
  42. package/dist/providers/claude.js.map +1 -1
  43. package/dist/providers/codex-parse.js +14 -2
  44. package/dist/providers/codex-parse.js.map +1 -1
  45. package/dist/providers/codex.d.ts +13 -1
  46. package/dist/providers/codex.js +19 -8
  47. package/dist/providers/codex.js.map +1 -1
  48. package/dist/providers/detect.js +22 -1
  49. package/dist/providers/detect.js.map +1 -1
  50. package/dist/providers/port.d.ts +15 -0
  51. package/dist/providers/registry.d.ts +8 -4
  52. package/dist/providers/registry.js +7 -6
  53. package/dist/providers/registry.js.map +1 -1
  54. package/dist/ui/help.d.ts +17 -0
  55. package/dist/ui/help.js +106 -0
  56. package/dist/ui/help.js.map +1 -0
  57. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"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"}
@@ -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
- availableModels: ['opencode/deepseek-v4-flash-free'],
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":"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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/providers/detect.ts"],"names":[],"mappings":"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"}
@@ -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
- * Discover which providers are available in the current environment and build
15
- * the provider map for OrchestrateDeps.
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
- * @returns A (possibly empty) map of available providers.
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): Promise<Partial<Record<ProviderId, Provider>>>;
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
- * Discover which providers are available in the current environment and build
18
- * the provider map for OrchestrateDeps.
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
- * @returns A (possibly empty) map of available providers.
23
+ * @param env - The environment status produced by detectEnvironment().
24
+ * @returns A (possibly empty) map of available providers.
23
25
  */
24
- export async function buildProviders(_cwd) {
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;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY;IAEZ,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,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"}
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;
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myshell-tools",
3
- "version": "2.15.0",
3
+ "version": "3.2.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "myshell-tools": "dist/cli.js",