myshell-tools 2.8.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 +38 -0
- package/README.md +34 -3
- package/dist/cli.js +35 -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/commands/login.d.ts +8 -5
- package/dist/commands/login.js +143 -44
- package/dist/commands/login.js.map +1 -1
- package/dist/core/classify.d.ts +20 -4
- package/dist/core/classify.js +241 -43
- package/dist/core/classify.js.map +1 -1
- package/dist/core/orchestrate.js +115 -85
- package/dist/core/orchestrate.js.map +1 -1
- package/dist/core/types.d.ts +10 -0
- package/dist/infra/config.d.ts +6 -0
- package/dist/infra/config.js.map +1 -1
- package/dist/infra/credentials.d.ts +28 -0
- package/dist/infra/credentials.js +52 -1
- package/dist/infra/credentials.js.map +1 -1
- package/dist/infra/update-check.d.ts +67 -0
- package/dist/infra/update-check.js +181 -0
- package/dist/infra/update-check.js.map +1 -0
- package/dist/interface/menu.d.ts +69 -0
- package/dist/interface/menu.js +334 -30
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/core/classify.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/core/classify.ts"],"names":[],"mappings":"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"}
|
package/dist/core/orchestrate.js
CHANGED
|
@@ -60,6 +60,45 @@ function shouldReview(classification, assessment, reviewPolicy) {
|
|
|
60
60
|
classification.risk === 'critical' ||
|
|
61
61
|
assessment.needsReview === true);
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Stream a single provider run, yielding `{type:'provider-event', tier, event}`
|
|
65
|
+
* for every event, while accumulating `finalText`, `usage`, `providerCostUsd`,
|
|
66
|
+
* and `errored`. Cancellation via `signal` is detected both before and after
|
|
67
|
+
* each event; on cancellation the generator returns immediately with
|
|
68
|
+
* `canceled: true` (no notice/final events — the caller emits those).
|
|
69
|
+
*/
|
|
70
|
+
async function* streamProvider(provider, req, tier, signal) {
|
|
71
|
+
let finalText;
|
|
72
|
+
let errored;
|
|
73
|
+
let usage;
|
|
74
|
+
let providerCostUsd;
|
|
75
|
+
// Pre-stream abort check
|
|
76
|
+
if (signal.aborted) {
|
|
77
|
+
return { finalText, errored, usage, providerCostUsd, canceled: true, canceledBeforeStream: true };
|
|
78
|
+
}
|
|
79
|
+
for await (const ev of provider.run(req, signal)) {
|
|
80
|
+
yield { type: 'provider-event', tier, event: ev };
|
|
81
|
+
if (ev.type === 'done') {
|
|
82
|
+
finalText = ev.text;
|
|
83
|
+
if (ev.usage !== undefined && usage === undefined) {
|
|
84
|
+
usage = ev.usage;
|
|
85
|
+
}
|
|
86
|
+
if (ev.costUsd !== undefined) {
|
|
87
|
+
providerCostUsd = ev.costUsd;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if (ev.type === 'error') {
|
|
91
|
+
errored = ev.error;
|
|
92
|
+
}
|
|
93
|
+
else if (ev.type === 'usage' && usage === undefined) {
|
|
94
|
+
usage = ev.usage;
|
|
95
|
+
}
|
|
96
|
+
if (signal.aborted) {
|
|
97
|
+
return { finalText, errored, usage, providerCostUsd, canceled: true, canceledBeforeStream: false };
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return { finalText, errored, usage, providerCostUsd, canceled: false, canceledBeforeStream: false };
|
|
101
|
+
}
|
|
63
102
|
// ---------------------------------------------------------------------------
|
|
64
103
|
// Public API
|
|
65
104
|
// ---------------------------------------------------------------------------
|
|
@@ -122,6 +161,21 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
122
161
|
let attempts = 0;
|
|
123
162
|
let totalCostUsd = 0;
|
|
124
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;
|
|
125
179
|
// Compute history context once per orchestrate() call (before the loop).
|
|
126
180
|
// It is injected into the first-tier prompt to give stateless providers
|
|
127
181
|
// multi-turn context; the history does NOT grow during the loop.
|
|
@@ -140,7 +194,19 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
140
194
|
mainLoop: while (attempts < deps.policy.maxAttempts) {
|
|
141
195
|
attempts++;
|
|
142
196
|
// --- Route for current tier ---
|
|
143
|
-
|
|
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;
|
|
144
210
|
const provider = deps.providers[decision.provider];
|
|
145
211
|
if (provider === undefined) {
|
|
146
212
|
yield {
|
|
@@ -171,55 +237,28 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
171
237
|
timeoutMs: deps.timeoutMs,
|
|
172
238
|
};
|
|
173
239
|
const start = deps.clock.now();
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
let providerCostUsd;
|
|
178
|
-
// Check abort before entering the stream
|
|
179
|
-
if (signal.aborted) {
|
|
240
|
+
// --- Stream provider events ---
|
|
241
|
+
const outcome = yield* streamProvider(provider, req, decision.tier, signal);
|
|
242
|
+
if (outcome.canceled) {
|
|
180
243
|
yield { type: 'notice', level: 'warn', message: 'cancelled' };
|
|
181
244
|
yield {
|
|
182
245
|
type: 'final',
|
|
183
246
|
success: false,
|
|
184
|
-
output:
|
|
247
|
+
output: outcome.canceledBeforeStream
|
|
248
|
+
? 'Task was cancelled before it started.'
|
|
249
|
+
: 'Task was cancelled.',
|
|
185
250
|
tier: decision.tier,
|
|
186
251
|
totalCostUsd,
|
|
187
252
|
sessionId: deps.session.id,
|
|
188
253
|
attempts,
|
|
254
|
+
...(lastAttemptedProvider !== undefined ? { provider: lastAttemptedProvider } : {}),
|
|
189
255
|
};
|
|
190
256
|
return;
|
|
191
257
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
finalText = ev.text;
|
|
197
|
-
if (ev.usage !== undefined && usage === undefined) {
|
|
198
|
-
usage = ev.usage;
|
|
199
|
-
}
|
|
200
|
-
if (ev.costUsd !== undefined) {
|
|
201
|
-
providerCostUsd = ev.costUsd;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
else if (ev.type === 'error') {
|
|
205
|
-
errored = ev.error;
|
|
206
|
-
}
|
|
207
|
-
else if (ev.type === 'usage' && usage === undefined) {
|
|
208
|
-
usage = ev.usage;
|
|
209
|
-
}
|
|
210
|
-
if (signal.aborted) {
|
|
211
|
-
yield { type: 'notice', level: 'warn', message: 'cancelled' };
|
|
212
|
-
yield {
|
|
213
|
-
type: 'final',
|
|
214
|
-
success: false,
|
|
215
|
-
output: 'Task was cancelled.',
|
|
216
|
-
tier: decision.tier,
|
|
217
|
-
totalCostUsd,
|
|
218
|
-
sessionId: deps.session.id,
|
|
219
|
-
attempts,
|
|
220
|
-
};
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
258
|
+
const { finalText, errored, usage, providerCostUsd } = outcome;
|
|
259
|
+
// Track last error for failing final event.
|
|
260
|
+
if (errored !== undefined) {
|
|
261
|
+
lastErroredCategory = errored.category;
|
|
223
262
|
}
|
|
224
263
|
// --- Compute duration + cost ---
|
|
225
264
|
const durationMs = deps.clock.now() - start;
|
|
@@ -272,8 +311,29 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
272
311
|
// -----------------------------------------------------------------------
|
|
273
312
|
// Decision tree
|
|
274
313
|
// -----------------------------------------------------------------------
|
|
275
|
-
// 1) Provider failure →
|
|
314
|
+
// 1) Provider failure → try cross-vendor failover first; escalate only when
|
|
315
|
+
// all vendors at this tier have been exhausted.
|
|
276
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.
|
|
277
337
|
if (currentTier !== 'manager') {
|
|
278
338
|
yield { type: 'escalate', from: currentTier, to: 'manager', reason: 'execution failure' };
|
|
279
339
|
currentTier = 'manager';
|
|
@@ -339,12 +399,9 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
339
399
|
timeoutMs: deps.timeoutMs,
|
|
340
400
|
};
|
|
341
401
|
const reviewStart = deps.clock.now();
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
let reviewProviderCostUsd;
|
|
346
|
-
// Check abort before reviewer streaming
|
|
347
|
-
if (signal.aborted) {
|
|
402
|
+
// --- Stream reviewer events ---
|
|
403
|
+
const reviewOutcome = yield* streamProvider(reviewerProvider, reviewReq, 'manager', signal);
|
|
404
|
+
if (reviewOutcome.canceled) {
|
|
348
405
|
yield { type: 'notice', level: 'warn', message: 'cancelled' };
|
|
349
406
|
yield {
|
|
350
407
|
type: 'final',
|
|
@@ -354,46 +411,16 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
354
411
|
totalCostUsd,
|
|
355
412
|
sessionId: deps.session.id,
|
|
356
413
|
attempts,
|
|
414
|
+
...(lastAttemptedProvider !== undefined ? { provider: lastAttemptedProvider } : {}),
|
|
357
415
|
};
|
|
358
416
|
return;
|
|
359
417
|
}
|
|
360
|
-
for await (const rev of reviewerProvider.run(reviewReq, signal)) {
|
|
361
|
-
yield { type: 'provider-event', tier: 'manager', event: rev };
|
|
362
|
-
if (rev.type === 'done') {
|
|
363
|
-
reviewText = rev.text;
|
|
364
|
-
if (rev.usage !== undefined && reviewUsage === undefined) {
|
|
365
|
-
reviewUsage = rev.usage;
|
|
366
|
-
}
|
|
367
|
-
if (rev.costUsd !== undefined) {
|
|
368
|
-
reviewProviderCostUsd = rev.costUsd;
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
else if (rev.type === 'error') {
|
|
372
|
-
reviewErrored = rev.error;
|
|
373
|
-
}
|
|
374
|
-
else if (rev.type === 'usage' && reviewUsage === undefined) {
|
|
375
|
-
reviewUsage = rev.usage;
|
|
376
|
-
}
|
|
377
|
-
if (signal.aborted) {
|
|
378
|
-
yield { type: 'notice', level: 'warn', message: 'cancelled' };
|
|
379
|
-
yield {
|
|
380
|
-
type: 'final',
|
|
381
|
-
success: false,
|
|
382
|
-
output: 'Task was cancelled.',
|
|
383
|
-
tier: currentTier,
|
|
384
|
-
totalCostUsd,
|
|
385
|
-
sessionId: deps.session.id,
|
|
386
|
-
attempts,
|
|
387
|
-
};
|
|
388
|
-
return;
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
418
|
const reviewDurationMs = deps.clock.now() - reviewStart;
|
|
392
|
-
const reviewSuccess =
|
|
419
|
+
const reviewSuccess = reviewOutcome.errored == null;
|
|
393
420
|
const reviewPricing = getModelPricing(reviewerId, reviewDecision.model);
|
|
394
|
-
const reviewUsd =
|
|
395
|
-
(
|
|
396
|
-
? calculateCost(
|
|
421
|
+
const reviewUsd = reviewOutcome.providerCostUsd ??
|
|
422
|
+
(reviewOutcome.usage !== undefined && reviewPricing !== undefined
|
|
423
|
+
? calculateCost(reviewOutcome.usage.inputTokens, reviewOutcome.usage.outputTokens, reviewPricing)
|
|
397
424
|
: 0);
|
|
398
425
|
totalCostUsd += reviewUsd;
|
|
399
426
|
// Record reviewer run in ledger
|
|
@@ -404,9 +431,9 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
404
431
|
provider: reviewerId,
|
|
405
432
|
model: reviewDecision.model,
|
|
406
433
|
tier: 'manager',
|
|
407
|
-
inputTokens:
|
|
408
|
-
outputTokens:
|
|
409
|
-
cachedInputTokens:
|
|
434
|
+
inputTokens: reviewOutcome.usage?.inputTokens ?? 0,
|
|
435
|
+
outputTokens: reviewOutcome.usage?.outputTokens ?? 0,
|
|
436
|
+
cachedInputTokens: reviewOutcome.usage?.cachedInputTokens ?? 0,
|
|
410
437
|
usd: reviewUsd,
|
|
411
438
|
durationMs: reviewDurationMs,
|
|
412
439
|
success: reviewSuccess,
|
|
@@ -421,7 +448,7 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
421
448
|
durationMs: reviewDurationMs,
|
|
422
449
|
};
|
|
423
450
|
// Parse verdict and act on it
|
|
424
|
-
const verdict = parseReviewVerdict(
|
|
451
|
+
const verdict = parseReviewVerdict(reviewOutcome.finalText ?? '');
|
|
425
452
|
// Risk-indexed fail-open: when parsing failed (verdict.parsed === false)
|
|
426
453
|
// AND the task is high/critical risk, do NOT silently auto-approve —
|
|
427
454
|
// escalate (or warn if already at manager) rather than letting
|
|
@@ -454,6 +481,7 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
454
481
|
totalCostUsd,
|
|
455
482
|
sessionId: deps.session.id,
|
|
456
483
|
attempts,
|
|
484
|
+
...(lastAttemptedProvider !== undefined ? { provider: lastAttemptedProvider } : {}),
|
|
457
485
|
};
|
|
458
486
|
return;
|
|
459
487
|
}
|
|
@@ -585,6 +613,8 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
585
613
|
totalCostUsd,
|
|
586
614
|
sessionId: deps.session.id,
|
|
587
615
|
attempts,
|
|
616
|
+
...(lastErroredCategory !== undefined ? { errorCategory: lastErroredCategory } : {}),
|
|
617
|
+
...(lastAttemptedProvider !== undefined ? { provider: lastAttemptedProvider } : {}),
|
|
588
618
|
};
|
|
589
619
|
}
|
|
590
620
|
//# sourceMappingURL=orchestrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/core/orchestrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/core/orchestrate.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -163,6 +163,12 @@ export type CoreEvent = {
|
|
|
163
163
|
readonly from: Tier;
|
|
164
164
|
readonly to: Tier;
|
|
165
165
|
readonly reason: string;
|
|
166
|
+
} | {
|
|
167
|
+
readonly type: 'failover';
|
|
168
|
+
readonly from: ProviderId;
|
|
169
|
+
readonly to: ProviderId;
|
|
170
|
+
readonly tier: Tier;
|
|
171
|
+
readonly reason: string;
|
|
166
172
|
} | {
|
|
167
173
|
readonly type: 'notice';
|
|
168
174
|
readonly level: 'info' | 'warn' | 'error';
|
|
@@ -175,4 +181,8 @@ export type CoreEvent = {
|
|
|
175
181
|
readonly totalCostUsd: number;
|
|
176
182
|
readonly sessionId: string;
|
|
177
183
|
readonly attempts: number;
|
|
184
|
+
/** Set on failing finals only: the error category that caused the failure. */
|
|
185
|
+
readonly errorCategory?: import('../providers/port.js').CliError['category'];
|
|
186
|
+
/** Set on failing finals only: the provider that was being used when failure occurred. */
|
|
187
|
+
readonly provider?: import('../providers/port.js').ProviderId;
|
|
178
188
|
};
|
package/dist/infra/config.d.ts
CHANGED
|
@@ -10,6 +10,12 @@ export interface AppConfig {
|
|
|
10
10
|
setAsDefault: boolean;
|
|
11
11
|
/** Active routing mode. Absent → use DEFAULT_POLICY (same as 'balanced'). */
|
|
12
12
|
mode?: 'cost-saver' | 'balanced' | 'quality-first';
|
|
13
|
+
/**
|
|
14
|
+
* When true, myshell-tools automatically updates itself at startup when a
|
|
15
|
+
* newer version is available and relaunches the updated binary.
|
|
16
|
+
* When absent or false, only a notification banner is shown.
|
|
17
|
+
*/
|
|
18
|
+
autoUpdate?: boolean;
|
|
13
19
|
}
|
|
14
20
|
/**
|
|
15
21
|
* Load the global app config. Returns defaults merged with any on-disk
|
package/dist/infra/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/infra/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/infra/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB1C,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,QAAQ,GAAc;IAC1B,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAgB;IAC/C,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAClC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;QACjC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;QACrD,uEAAuE;QACvE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;QACjC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAiB,EAAE,OAAgB;IAClE,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAClC,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -56,3 +56,31 @@ export declare function applyStoredCredentials(env: NodeJS.ProcessEnv, homeDir?:
|
|
|
56
56
|
* extractClaudeToken('no token here') // → null
|
|
57
57
|
*/
|
|
58
58
|
export declare function extractClaudeToken(text: string): string | null;
|
|
59
|
+
/**
|
|
60
|
+
* Strip surrounding whitespace and enclosing `"` or `'` quotes from a pasted
|
|
61
|
+
* string. Useful for normalising user-pasted tokens before extraction.
|
|
62
|
+
*
|
|
63
|
+
* Pure / never throws.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* stripPastedSecretWrapper('" sk-ant-oat01-abc "') // → 'sk-ant-oat01-abc'
|
|
67
|
+
* stripPastedSecretWrapper("'token'") // → 'token'
|
|
68
|
+
* stripPastedSecretWrapper(' plain ') // → 'plain'
|
|
69
|
+
*/
|
|
70
|
+
export declare function stripPastedSecretWrapper(raw: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Classify a pasted secret string into one of three categories:
|
|
73
|
+
*
|
|
74
|
+
* - `'oauth-token'` — starts with `sk-ant-oat` (the expected setup-token output).
|
|
75
|
+
* - `'api-key'` — starts with `sk-ant-api` (a raw Anthropic API key, NOT what we want).
|
|
76
|
+
* - `'none'` — neither; blank or unrecognised.
|
|
77
|
+
*
|
|
78
|
+
* Input is pre-normalised (trimmed, quotes stripped) by the caller.
|
|
79
|
+
* Pure / never throws.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* classifyPastedSecret('sk-ant-oat01-abc-XYZ') // → 'oauth-token'
|
|
83
|
+
* classifyPastedSecret('sk-ant-api03-abc-XYZ') // → 'api-key'
|
|
84
|
+
* classifyPastedSecret('not-a-token') // → 'none'
|
|
85
|
+
*/
|
|
86
|
+
export declare function classifyPastedSecret(s: string): 'oauth-token' | 'api-key' | 'none';
|
|
@@ -146,7 +146,7 @@ export async function applyStoredCredentials(env, homeDir) {
|
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
// ---------------------------------------------------------------------------
|
|
149
|
-
// Pure token extraction
|
|
149
|
+
// Pure token extraction and classification helpers
|
|
150
150
|
// ---------------------------------------------------------------------------
|
|
151
151
|
/**
|
|
152
152
|
* Extract the first Claude long-lived OAuth token from `text`.
|
|
@@ -169,4 +169,55 @@ export function extractClaudeToken(text) {
|
|
|
169
169
|
return null;
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Strip surrounding whitespace and enclosing `"` or `'` quotes from a pasted
|
|
174
|
+
* string. Useful for normalising user-pasted tokens before extraction.
|
|
175
|
+
*
|
|
176
|
+
* Pure / never throws.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* stripPastedSecretWrapper('" sk-ant-oat01-abc "') // → 'sk-ant-oat01-abc'
|
|
180
|
+
* stripPastedSecretWrapper("'token'") // → 'token'
|
|
181
|
+
* stripPastedSecretWrapper(' plain ') // → 'plain'
|
|
182
|
+
*/
|
|
183
|
+
export function stripPastedSecretWrapper(raw) {
|
|
184
|
+
try {
|
|
185
|
+
let s = raw.trim();
|
|
186
|
+
if ((s.startsWith('"') && s.endsWith('"')) ||
|
|
187
|
+
(s.startsWith("'") && s.endsWith("'"))) {
|
|
188
|
+
s = s.slice(1, -1).trim();
|
|
189
|
+
}
|
|
190
|
+
return s;
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return raw;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Classify a pasted secret string into one of three categories:
|
|
198
|
+
*
|
|
199
|
+
* - `'oauth-token'` — starts with `sk-ant-oat` (the expected setup-token output).
|
|
200
|
+
* - `'api-key'` — starts with `sk-ant-api` (a raw Anthropic API key, NOT what we want).
|
|
201
|
+
* - `'none'` — neither; blank or unrecognised.
|
|
202
|
+
*
|
|
203
|
+
* Input is pre-normalised (trimmed, quotes stripped) by the caller.
|
|
204
|
+
* Pure / never throws.
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* classifyPastedSecret('sk-ant-oat01-abc-XYZ') // → 'oauth-token'
|
|
208
|
+
* classifyPastedSecret('sk-ant-api03-abc-XYZ') // → 'api-key'
|
|
209
|
+
* classifyPastedSecret('not-a-token') // → 'none'
|
|
210
|
+
*/
|
|
211
|
+
export function classifyPastedSecret(s) {
|
|
212
|
+
try {
|
|
213
|
+
if (s.includes('sk-ant-oat'))
|
|
214
|
+
return 'oauth-token';
|
|
215
|
+
if (s.includes('sk-ant-api'))
|
|
216
|
+
return 'api-key';
|
|
217
|
+
return 'none';
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
return 'none';
|
|
221
|
+
}
|
|
222
|
+
}
|
|
172
223
|
//# sourceMappingURL=credentials.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/infra/credentials.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/infra/credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/infra/update-check.ts — Self-update detection for myshell-tools.
|
|
3
|
+
*
|
|
4
|
+
* Checks the npm registry for the latest published version, caches the result
|
|
5
|
+
* so the check costs nothing on subsequent runs within the TTL, and reports
|
|
6
|
+
* whether an update is available.
|
|
7
|
+
*
|
|
8
|
+
* Architecture rules:
|
|
9
|
+
* - NEVER throws — all errors are caught and return a safe default.
|
|
10
|
+
* - NEVER hits the network in tests — `fetchLatest` is injected so tests stay hermetic.
|
|
11
|
+
* - Cache is stored atomically at ~/.myshell-tools/update-check.json.
|
|
12
|
+
* - Date.now() is allowed here (infra layer, same as config.ts / atomic.ts).
|
|
13
|
+
*/
|
|
14
|
+
export interface UpdateCheckResult {
|
|
15
|
+
readonly current: string;
|
|
16
|
+
readonly latest: string | null;
|
|
17
|
+
readonly updateAvailable: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface UpdateCache {
|
|
20
|
+
checkedAt: number;
|
|
21
|
+
latest: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Load the update cache from disk. Returns null on missing/corrupt file.
|
|
25
|
+
* Never throws.
|
|
26
|
+
*/
|
|
27
|
+
export declare function loadUpdateCache(homeDir?: string): Promise<UpdateCache | null>;
|
|
28
|
+
/**
|
|
29
|
+
* Persist the update cache atomically. Creates the .myshell-tools directory
|
|
30
|
+
* if it does not exist. Never throws.
|
|
31
|
+
*/
|
|
32
|
+
export declare function saveUpdateCache(latest: string, now: number, homeDir?: string): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Compare two semver-ish version strings.
|
|
35
|
+
*
|
|
36
|
+
* Splits on `.`, compares numeric major/minor/patch segments in order.
|
|
37
|
+
* Any `-prerelease` suffix is stripped before comparison.
|
|
38
|
+
* Non-numeric segments are treated as 0.
|
|
39
|
+
* Returns true iff latest > current.
|
|
40
|
+
* Never throws.
|
|
41
|
+
*/
|
|
42
|
+
export declare function isNewerVersion(latest: string, current: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Fetch the latest published version of myshell-tools from the npm registry.
|
|
45
|
+
*
|
|
46
|
+
* Uses global fetch with a 1500ms AbortSignal timeout.
|
|
47
|
+
* Returns the version string, or null on any error/timeout.
|
|
48
|
+
* Never throws.
|
|
49
|
+
*/
|
|
50
|
+
export declare function fetchLatestFromNpm(): Promise<string | null>;
|
|
51
|
+
export interface CheckForUpdateOpts {
|
|
52
|
+
readonly currentVersion: string;
|
|
53
|
+
readonly now: number;
|
|
54
|
+
readonly homeDir?: string;
|
|
55
|
+
readonly ttlMs?: number;
|
|
56
|
+
readonly fetchLatest?: () => Promise<string | null>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check whether a newer version of myshell-tools is available.
|
|
60
|
+
*
|
|
61
|
+
* Uses a cache file so the npm registry is only contacted once per TTL (default 24h).
|
|
62
|
+
* If the cache is fresh, the registry is NOT contacted at all.
|
|
63
|
+
* On any error returns { current, latest: null, updateAvailable: false }.
|
|
64
|
+
* Never throws.
|
|
65
|
+
*/
|
|
66
|
+
export declare function checkForUpdate(opts: CheckForUpdateOpts): Promise<UpdateCheckResult>;
|
|
67
|
+
export {};
|