scoutline 0.2.0 → 0.6.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/README.md +240 -18
- package/dist/capabilities/diagnostics.d.ts +70 -32
- package/dist/capabilities/diagnostics.d.ts.map +1 -1
- package/dist/capabilities/diagnostics.js +97 -46
- package/dist/capabilities/diagnostics.js.map +1 -1
- package/dist/capabilities/reader.d.ts +227 -0
- package/dist/capabilities/reader.d.ts.map +1 -0
- package/dist/capabilities/reader.js +100 -0
- package/dist/capabilities/reader.js.map +1 -0
- package/dist/capabilities/repository.d.ts +221 -0
- package/dist/capabilities/repository.d.ts.map +1 -0
- package/dist/capabilities/repository.js +172 -0
- package/dist/capabilities/repository.js.map +1 -0
- package/dist/commands/cache.d.ts +106 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +203 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/doctor.d.ts +17 -6
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +42 -17
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/read.d.ts +74 -14
- package/dist/commands/read.d.ts.map +1 -1
- package/dist/commands/read.js +257 -117
- package/dist/commands/read.js.map +1 -1
- package/dist/commands/repo.d.ts +53 -7
- package/dist/commands/repo.d.ts.map +1 -1
- package/dist/commands/repo.js +104 -123
- package/dist/commands/repo.js.map +1 -1
- package/dist/commands/repository-explorer.d.ts +147 -0
- package/dist/commands/repository-explorer.d.ts.map +1 -0
- package/dist/commands/repository-explorer.js +550 -0
- package/dist/commands/repository-explorer.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +209 -34
- package/dist/index.js.map +1 -1
- package/dist/lib/cache.d.ts +123 -18
- package/dist/lib/cache.d.ts.map +1 -1
- package/dist/lib/cache.js +324 -49
- package/dist/lib/cache.js.map +1 -1
- package/dist/lib/errors.d.ts +24 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +33 -2
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/execution.d.ts +119 -5
- package/dist/lib/execution.d.ts.map +1 -1
- package/dist/lib/execution.js +216 -10
- package/dist/lib/execution.js.map +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/mcp-client.d.ts +29 -5
- package/dist/lib/mcp-client.d.ts.map +1 -1
- package/dist/lib/mcp-client.js +88 -88
- package/dist/lib/mcp-client.js.map +1 -1
- package/dist/lib/tool-cache.d.ts +86 -0
- package/dist/lib/tool-cache.d.ts.map +1 -0
- package/dist/lib/tool-cache.js +123 -0
- package/dist/lib/tool-cache.js.map +1 -0
- package/dist/providers/minimax/adapter.d.ts +6 -4
- package/dist/providers/minimax/adapter.d.ts.map +1 -1
- package/dist/providers/minimax/adapter.js +64 -57
- package/dist/providers/minimax/adapter.js.map +1 -1
- package/dist/providers/minimax/coding-plan-client.d.ts +60 -0
- package/dist/providers/minimax/coding-plan-client.d.ts.map +1 -0
- package/dist/providers/minimax/coding-plan-client.js +204 -0
- package/dist/providers/minimax/coding-plan-client.js.map +1 -0
- package/dist/providers/minimax/media.d.ts +60 -6
- package/dist/providers/minimax/media.d.ts.map +1 -1
- package/dist/providers/minimax/media.js +147 -7
- package/dist/providers/minimax/media.js.map +1 -1
- package/dist/providers/minimax/quota-client.d.ts +13 -6
- package/dist/providers/minimax/quota-client.d.ts.map +1 -1
- package/dist/providers/minimax/quota-client.js +5 -0
- package/dist/providers/minimax/quota-client.js.map +1 -1
- package/dist/providers/minimax/vision-attestations.d.ts +23 -0
- package/dist/providers/minimax/vision-attestations.d.ts.map +1 -1
- package/dist/providers/minimax/vision-attestations.js +35 -10
- package/dist/providers/minimax/vision-attestations.js.map +1 -1
- package/dist/providers/minimax/vision-conformance.d.ts +8 -6
- package/dist/providers/minimax/vision-conformance.d.ts.map +1 -1
- package/dist/providers/minimax/vision-conformance.js +8 -6
- package/dist/providers/minimax/vision-conformance.js.map +1 -1
- package/dist/providers/minimax/vision-revisions.d.ts +8 -1
- package/dist/providers/minimax/vision-revisions.d.ts.map +1 -1
- package/dist/providers/minimax/vision-revisions.js +13 -6
- package/dist/providers/minimax/vision-revisions.js.map +1 -1
- package/dist/providers/selection.d.ts +3 -3
- package/dist/providers/selection.js +3 -3
- package/dist/providers/types.d.ts +66 -32
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/providers/zai/adapter.d.ts.map +1 -1
- package/dist/providers/zai/adapter.js +71 -5
- package/dist/providers/zai/adapter.js.map +1 -1
- package/dist/providers/zai/encoded-error.d.ts +90 -0
- package/dist/providers/zai/encoded-error.d.ts.map +1 -0
- package/dist/providers/zai/encoded-error.js +169 -0
- package/dist/providers/zai/encoded-error.js.map +1 -0
- package/dist/providers/zai/reader.d.ts +82 -0
- package/dist/providers/zai/reader.d.ts.map +1 -0
- package/dist/providers/zai/reader.js +490 -0
- package/dist/providers/zai/reader.js.map +1 -0
- package/dist/providers/zai/repository.d.ts +76 -0
- package/dist/providers/zai/repository.d.ts.map +1 -0
- package/dist/providers/zai/repository.js +715 -0
- package/dist/providers/zai/repository.js.map +1 -0
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -8,6 +8,8 @@ import { repoSearch, repoTree, repoRead, REPO_HELP } from "./commands/repo.js";
|
|
|
8
8
|
import { listTools, showTool, callTool, TOOLS_HELP, CALL_HELP } from "./commands/tools.js";
|
|
9
9
|
import { doctor, buildDiagnosticsReport, DOCTOR_HELP } from "./commands/doctor.js";
|
|
10
10
|
import { quota, buildQuotaDashboard, QUOTA_HELP } from "./commands/quota.js";
|
|
11
|
+
import { cacheStatsCommand, cacheClearCommand, formatDoctorCacheSummary, CACHE_HELP, } from "./commands/cache.js";
|
|
12
|
+
import { cacheStats, clearAllCaches } from "./lib/cache.js";
|
|
11
13
|
import { isExtractMode } from "./lib/extract.js";
|
|
12
14
|
import { runCodeFile, evalCode, printInterfaces, printPromptTemplate, CODE_HELP, } from "./commands/code.js";
|
|
13
15
|
import { isOutputMode, OUTPUT_MODES } from "./lib/output.js";
|
|
@@ -30,22 +32,30 @@ Usage: scoutline <command> [args] [options]
|
|
|
30
32
|
Commands:
|
|
31
33
|
vision Image and video analysis (Z.AI; MiniMax for interpret-image)
|
|
32
34
|
search Real-time web search (shared: Z.AI + MiniMax)
|
|
33
|
-
read Fetch and parse web pages (Z.AI
|
|
34
|
-
|
|
35
|
+
read Fetch and parse web pages (Provider Capability; Z.AI supports it,
|
|
36
|
+
MiniMax returns UNSUPPORTED_CAPABILITY)
|
|
37
|
+
repo GitHub repository exploration (Provider Capability; Z.AI supports it,
|
|
38
|
+
MiniMax returns UNSUPPORTED_CAPABILITY)
|
|
35
39
|
quota Provider-aware plan usage (calls remaining, reset time)
|
|
36
40
|
tools List available MCP tools (Z.AI)
|
|
37
41
|
tool Show a tool schema (Z.AI)
|
|
38
42
|
call Call a tool directly (Z.AI)
|
|
39
43
|
doctor Provider-aware environment + connectivity checks
|
|
44
|
+
cache Inspect or clear the local cache (stats / clear)
|
|
40
45
|
code Execute TypeScript tool chains (Code Mode, Z.AI)
|
|
41
46
|
|
|
42
47
|
Provider selection (precedence: --provider, then SCOUTLINE_PROVIDER, then zai):
|
|
43
48
|
--provider <zai|minimax> Select the active Provider for shared capabilities
|
|
44
49
|
SCOUTLINE_PROVIDER=<id> Fallback when --provider is not passed
|
|
45
50
|
|
|
46
|
-
Shared capabilities accept --provider.
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
Shared capabilities accept --provider. The 'repo' and 'read' commands
|
|
52
|
+
participate in Provider selection: Z.AI advertises and supplies the
|
|
53
|
+
repository-exploration and reader Capabilities; MiniMax advertises and
|
|
54
|
+
supplies neither, so selecting MiniMax (explicitly or via
|
|
55
|
+
SCOUTLINE_PROVIDER) returns UNSUPPORTED_CAPABILITY with no fallback.
|
|
56
|
+
Z.AI-only commands (tools, tool, call, code) carry the flag but ignore
|
|
57
|
+
it. Quota and doctor report per-Provider; --provider picks the effective
|
|
58
|
+
Provider for metadata.
|
|
49
59
|
|
|
50
60
|
Global Options:
|
|
51
61
|
--output-format <data|json|pretty|compact|markdown|refs|tty> Output mode (default: data)
|
|
@@ -60,6 +70,7 @@ Help:
|
|
|
60
70
|
scoutline tools --help
|
|
61
71
|
scoutline call --help
|
|
62
72
|
scoutline code --help
|
|
73
|
+
scoutline cache --help
|
|
63
74
|
`.trim();
|
|
64
75
|
function parseArgs(args) {
|
|
65
76
|
const flags = {};
|
|
@@ -362,6 +373,60 @@ async function handleRead(args, outputMode, deps) {
|
|
|
362
373
|
return 0;
|
|
363
374
|
}
|
|
364
375
|
const url = positional[0];
|
|
376
|
+
// Parse-level validation BEFORE Provider resolution. URL scheme and
|
|
377
|
+
// --extract mode are validated at parse time so an invalid value
|
|
378
|
+
// surfaces VALIDATION_ERROR regardless of which Provider would have
|
|
379
|
+
// been selected, because parse-level validation fires before the
|
|
380
|
+
// support/configuration gates. The handler re-runs an identical
|
|
381
|
+
// check as defensive backstop. The pre-dispatch
|
|
382
|
+
// configuredSecrets(env) redaction read in `main` is the only
|
|
383
|
+
// permitted credential-related read before this point.
|
|
384
|
+
if (typeof url !== "string" || (!url.startsWith("http://") && !url.startsWith("https://"))) {
|
|
385
|
+
throw new ValidationError("URL must start with http:// or https://");
|
|
386
|
+
}
|
|
387
|
+
const extractFlag = flags.extract;
|
|
388
|
+
if (extractFlag !== undefined && !isExtractMode(extractFlag)) {
|
|
389
|
+
throw new ValidationError(`Invalid --extract mode: ${extractFlag}. Use one of: code, links, tables, headings`);
|
|
390
|
+
}
|
|
391
|
+
const extract = extractFlag !== undefined ? extractFlag : undefined;
|
|
392
|
+
// Resolve the effective Provider (DESIGN.md §6, FR-001–FR-005):
|
|
393
|
+
// explicit --provider > SCOUTLINE_PROVIDER > default zai. Selection
|
|
394
|
+
// never consults credentials (FR-003) and never branches on Provider
|
|
395
|
+
// ID; an unknown explicit/env value throws VALIDATION_ERROR here.
|
|
396
|
+
const providerId = resolveProviderId(deps.provider, deps.env);
|
|
397
|
+
const descriptor = getProviderDescriptor(providerId, deps.providerDescriptors);
|
|
398
|
+
// Capability support check BEFORE `descriptor.isConfigured`,
|
|
399
|
+
// `descriptor.create`, Adapter access, operation validation/
|
|
400
|
+
// cacheIdentity, credential use, cache, or transport. Unsupported
|
|
401
|
+
// MiniMax (explicit or environment) returns UNSUPPORTED_CAPABILITY
|
|
402
|
+
// with no fallback to Z.AI; zero selected-Provider work occurs.
|
|
403
|
+
if (!descriptor.capabilities().has("reader")) {
|
|
404
|
+
throw new UnsupportedCapabilityError(providerId, "reader");
|
|
405
|
+
}
|
|
406
|
+
// FR-003: selection returns the default zai even when unconfigured.
|
|
407
|
+
// Supported-but-unconfigured Z.AI surfaces a missing credential as
|
|
408
|
+
// ConfigurationError (exit 3) AFTER the support metadata check and
|
|
409
|
+
// BEFORE `descriptor.create`.
|
|
410
|
+
if (!descriptor.isConfigured(deps.env)) {
|
|
411
|
+
throw new ConfigurationError(`Provider "${providerId}" is not configured. Set the required API key.`);
|
|
412
|
+
}
|
|
413
|
+
const adapter = descriptor.create({ env: deps.env });
|
|
414
|
+
const capability = adapter.reader;
|
|
415
|
+
// Defensive fail-closed: the descriptor advertised support but the
|
|
416
|
+
// Adapter omitted the handle. Treat as unsupported so a registry
|
|
417
|
+
// mismatch can never reach transport.
|
|
418
|
+
if (!capability) {
|
|
419
|
+
throw new UnsupportedCapabilityError(providerId, "reader");
|
|
420
|
+
}
|
|
421
|
+
// Shared Reader execution dependencies. The cache/sleep/random
|
|
422
|
+
// default to the same production values as Search and Repository
|
|
423
|
+
// but are kept as separate optional MainDependencies so reader
|
|
424
|
+
// tests can inject isolated in-memory doubles.
|
|
425
|
+
const executionDeps = {
|
|
426
|
+
cache: deps.readerCache,
|
|
427
|
+
sleep: deps.readerSleep,
|
|
428
|
+
random: deps.readerRandom,
|
|
429
|
+
};
|
|
365
430
|
return invokeCommand(deps.invocation, (context) => read(url, {
|
|
366
431
|
format: flags.format,
|
|
367
432
|
noImages: flags["no-images"] === true,
|
|
@@ -373,10 +438,8 @@ async function handleRead(args, outputMode, deps) {
|
|
|
373
438
|
withImagesSummary: flags["with-images-summary"] === true,
|
|
374
439
|
maxChars: flags["max-chars"] ? parseInt(flags["max-chars"], 10) : undefined,
|
|
375
440
|
fullEnvelope: flags["full-envelope"] === true,
|
|
376
|
-
extract
|
|
377
|
-
|
|
378
|
-
: undefined,
|
|
379
|
-
}, outputMode, context), outputMode, deps.now, deps.secrets);
|
|
441
|
+
extract,
|
|
442
|
+
}, { capability, execution: executionDeps }, context), outputMode, deps.now, deps.secrets);
|
|
380
443
|
}
|
|
381
444
|
async function handleRepo(args, outputMode, deps) {
|
|
382
445
|
const { flags, positional } = parseArgs(args);
|
|
@@ -386,39 +449,96 @@ async function handleRepo(args, outputMode, deps) {
|
|
|
386
449
|
}
|
|
387
450
|
const command = positional[0];
|
|
388
451
|
const repo = positional[1];
|
|
452
|
+
// Parse-level validation. Subcommand grammar and required positionals
|
|
453
|
+
// are validated BEFORE Provider resolution, capability support check,
|
|
454
|
+
// configuration check, Adapter construction, or any
|
|
455
|
+
// operation/cacheIdentity/credential/cache/transport work. The
|
|
456
|
+
// pre-dispatch `configuredSecrets(env)` redaction read in `main` is
|
|
457
|
+
// the only permitted credential-related read before this point; it is
|
|
458
|
+
// not selected-Provider resolution and is covered separately by the
|
|
459
|
+
// ordering tests.
|
|
460
|
+
let searchQuery;
|
|
461
|
+
let readPath;
|
|
462
|
+
if (command === "search") {
|
|
463
|
+
searchQuery = positional.slice(2).join(" ");
|
|
464
|
+
if (!repo || !searchQuery) {
|
|
465
|
+
throw new ValidationError("Missing repo or query", "Usage: scoutline repo search <owner/repo> <query>");
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
else if (command === "tree") {
|
|
469
|
+
if (!repo) {
|
|
470
|
+
throw new ValidationError("Missing repo", "Usage: scoutline repo tree <owner/repo>");
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
else if (command === "read") {
|
|
474
|
+
readPath = positional[2];
|
|
475
|
+
if (!repo || !readPath) {
|
|
476
|
+
throw new ValidationError("Missing repo or path", "Usage: scoutline repo read <owner/repo> <path>");
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
throw new ValidationError(`Unknown repo command: ${command}`, 'Run "scoutline repo --help" for available commands');
|
|
481
|
+
}
|
|
482
|
+
// Resolve the effective Provider (DESIGN.md §6, FR-001–FR-005):
|
|
483
|
+
// explicit --provider > SCOUTLINE_PROVIDER > default zai. Selection
|
|
484
|
+
// never consults credentials (FR-003) and never branches on Provider
|
|
485
|
+
// ID; an unknown explicit/env value throws VALIDATION_ERROR here.
|
|
486
|
+
const providerId = resolveProviderId(deps.provider, deps.env);
|
|
487
|
+
const descriptor = getProviderDescriptor(providerId, deps.providerDescriptors);
|
|
488
|
+
// Capability support check BEFORE `descriptor.isConfigured`,
|
|
489
|
+
// `descriptor.create`, Adapter access, operation validation/
|
|
490
|
+
// cacheIdentity, credential use, cache, or transport. Unsupported
|
|
491
|
+
// MiniMax (explicit or environment) returns UNSUPPORTED_CAPABILITY
|
|
492
|
+
// with no fallback to Z.AI; zero selected-Provider work occurs.
|
|
493
|
+
if (!descriptor.capabilities().has("repository-exploration")) {
|
|
494
|
+
throw new UnsupportedCapabilityError(providerId, "repository-exploration");
|
|
495
|
+
}
|
|
496
|
+
// FR-003: selection returns the default zai even when unconfigured.
|
|
497
|
+
// Supported-but-unconfigured Z.AI surfaces a missing credential as
|
|
498
|
+
// ConfigurationError (exit 3) AFTER the support metadata check and
|
|
499
|
+
// BEFORE `descriptor.create`.
|
|
500
|
+
if (!descriptor.isConfigured(deps.env)) {
|
|
501
|
+
throw new ConfigurationError(`Provider "${providerId}" is not configured. Set the required API key.`);
|
|
502
|
+
}
|
|
503
|
+
const adapter = descriptor.create({ env: deps.env });
|
|
504
|
+
const capability = adapter.repository;
|
|
505
|
+
// Defensive fail-closed: the descriptor advertised support but the
|
|
506
|
+
// Adapter omitted the handle. Treat as unsupported so a registry
|
|
507
|
+
// mismatch can never reach transport.
|
|
508
|
+
if (!capability) {
|
|
509
|
+
throw new UnsupportedCapabilityError(providerId, "repository-exploration");
|
|
510
|
+
}
|
|
511
|
+
// Shared Repository execution dependencies. The cache/sleep/random
|
|
512
|
+
// default to the same production values as Search but are kept as
|
|
513
|
+
// separate optional MainDependencies so repository tests can inject
|
|
514
|
+
// isolated in-memory doubles.
|
|
515
|
+
const executionDeps = {
|
|
516
|
+
cache: deps.repositoryCache,
|
|
517
|
+
sleep: deps.repositorySleep,
|
|
518
|
+
random: deps.repositoryRandom,
|
|
519
|
+
};
|
|
389
520
|
switch (command) {
|
|
390
521
|
case "search": {
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
}
|
|
395
|
-
return invokeCommand(deps.invocation, (context) => repoSearch(repo, query, {
|
|
396
|
-
language: flags.language,
|
|
397
|
-
maxChars: flags["max-chars"] ? parseInt(flags["max-chars"], 10) : undefined,
|
|
398
|
-
noCache: flags["no-cache"] === true,
|
|
399
|
-
}, context), outputMode, deps.now, deps.secrets);
|
|
522
|
+
const language = flags.language;
|
|
523
|
+
const maxChars = flags["max-chars"] ? parseInt(flags["max-chars"], 10) : undefined;
|
|
524
|
+
const noCache = flags["no-cache"] === true;
|
|
525
|
+
return invokeCommand(deps.invocation, () => repoSearch(repo, searchQuery, { language, maxChars, noCache }, { capability, execution: executionDeps }), outputMode, deps.now, deps.secrets);
|
|
400
526
|
}
|
|
401
527
|
case "tree": {
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
return invokeCommand(deps.invocation, (
|
|
406
|
-
path: flags.path,
|
|
407
|
-
depth: flags.depth ? parseInt(flags.depth, 10) : undefined,
|
|
408
|
-
noCache: flags["no-cache"] === true,
|
|
409
|
-
}, context), outputMode, deps.now, deps.secrets);
|
|
528
|
+
const treePath = flags.path;
|
|
529
|
+
const depth = flags.depth ? parseInt(flags.depth, 10) : undefined;
|
|
530
|
+
const noCache = flags["no-cache"] === true;
|
|
531
|
+
return invokeCommand(deps.invocation, () => repoTree(repo, { path: treePath, depth, noCache }, { capability, execution: executionDeps }), outputMode, deps.now, deps.secrets);
|
|
410
532
|
}
|
|
411
533
|
case "read": {
|
|
412
|
-
const
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
return invokeCommand(deps.invocation, (context) => repoRead(repo, path, {
|
|
417
|
-
maxChars: flags["max-chars"] ? parseInt(flags["max-chars"], 10) : undefined,
|
|
418
|
-
noCache: flags["no-cache"] === true,
|
|
419
|
-
}, context), outputMode, deps.now, deps.secrets);
|
|
534
|
+
const maxChars = flags["max-chars"] ? parseInt(flags["max-chars"], 10) : undefined;
|
|
535
|
+
const noCache = flags["no-cache"] === true;
|
|
536
|
+
return invokeCommand(deps.invocation, () => repoRead(repo, readPath, { maxChars, noCache }, { capability, execution: executionDeps }), outputMode, deps.now, deps.secrets);
|
|
420
537
|
}
|
|
421
538
|
default:
|
|
539
|
+
// Unreachable: the parse-level validation above already rejected
|
|
540
|
+
// unknown subcommands. Keep a defensive throw so the dispatch
|
|
541
|
+
// table stays total.
|
|
422
542
|
throw new ValidationError(`Unknown repo command: ${command}`, 'Run "scoutline repo --help" for available commands');
|
|
423
543
|
}
|
|
424
544
|
}
|
|
@@ -469,6 +589,12 @@ async function handleDoctor(args, outputMode, deps) {
|
|
|
469
589
|
// the report always lists every built-in Provider even when the
|
|
470
590
|
// effective Provider is unconfigured.
|
|
471
591
|
const effectiveProvider = resolveProviderId(deps.provider, deps.env);
|
|
592
|
+
// Cache Module Unification Ticket 03 — Doctor's one-line cache summary.
|
|
593
|
+
// The dispatcher formats the summary here (L1 fix) from `cacheStats()`
|
|
594
|
+
// output; the report builder only embeds the pre-formatted string.
|
|
595
|
+
// `cacheStats()` never throws (it catches all I/O internally); on a
|
|
596
|
+
// missing directory it returns zeros, which still format correctly.
|
|
597
|
+
const cacheSummary = formatDoctorCacheSummary(await cacheStats());
|
|
472
598
|
return invokeCommand(deps.invocation, () => doctor({
|
|
473
599
|
buildReport: () => buildDiagnosticsReport({
|
|
474
600
|
noTools,
|
|
@@ -477,9 +603,37 @@ async function handleDoctor(args, outputMode, deps) {
|
|
|
477
603
|
env: deps.env,
|
|
478
604
|
sleep: deps.searchSleep,
|
|
479
605
|
random: deps.searchRandom,
|
|
606
|
+
cacheSummary,
|
|
480
607
|
}),
|
|
481
608
|
}), outputMode, deps.now, deps.secrets);
|
|
482
609
|
}
|
|
610
|
+
/**
|
|
611
|
+
* `scoutline cache <stats|clear>` — local cache utility. Like Doctor,
|
|
612
|
+
* it bypasses Provider resolution entirely (no descriptor lookup, no
|
|
613
|
+
* Adapter, no transport). The command surfaces the inventory and clear
|
|
614
|
+
* helpers owned by `src/lib/cache.ts` (Ticket 01) through the
|
|
615
|
+
* presentation-only handlers in `src/commands/cache.ts`.
|
|
616
|
+
*/
|
|
617
|
+
async function handleCache(args, outputMode, deps) {
|
|
618
|
+
const { flags, positional } = parseArgs(args);
|
|
619
|
+
if (flags.help || flags.h || positional.length === 0) {
|
|
620
|
+
deps.invocation.writeStdout(CACHE_HELP);
|
|
621
|
+
return 0;
|
|
622
|
+
}
|
|
623
|
+
const subcommand = positional[0];
|
|
624
|
+
switch (subcommand) {
|
|
625
|
+
case "stats":
|
|
626
|
+
return invokeCommand(deps.invocation, () => cacheStatsCommand({
|
|
627
|
+
getStats: () => cacheStats(),
|
|
628
|
+
}), outputMode, deps.now, deps.secrets);
|
|
629
|
+
case "clear":
|
|
630
|
+
return invokeCommand(deps.invocation, () => cacheClearCommand({
|
|
631
|
+
clear: () => clearAllCaches(),
|
|
632
|
+
}), outputMode, deps.now, deps.secrets);
|
|
633
|
+
default:
|
|
634
|
+
throw new ValidationError(`Unknown cache command: ${subcommand}`, 'Run "scoutline cache --help" for available commands');
|
|
635
|
+
}
|
|
636
|
+
}
|
|
483
637
|
async function handleQuota(args, outputMode, deps) {
|
|
484
638
|
const { flags } = parseArgs(args);
|
|
485
639
|
if (flags.help || flags.h) {
|
|
@@ -543,6 +697,19 @@ export async function main(args, dependencies) {
|
|
|
543
697
|
const searchCache = dependencies.searchCache ?? defaultResponseCache;
|
|
544
698
|
const searchSleep = dependencies.searchSleep ?? realSleep;
|
|
545
699
|
const searchRandom = dependencies.searchRandom ?? Math.random;
|
|
700
|
+
// P6-07: Repository execution defaults to the same production values
|
|
701
|
+
// as Search but stays as separate optional MainDependencies so
|
|
702
|
+
// repository tests can inject isolated in-memory doubles.
|
|
703
|
+
const repositoryCache = dependencies.repositoryCache ?? defaultResponseCache;
|
|
704
|
+
const repositorySleep = dependencies.repositorySleep ?? realSleep;
|
|
705
|
+
const repositoryRandom = dependencies.repositoryRandom ?? Math.random;
|
|
706
|
+
// Reader Migration Ticket 04: Reader execution defaults to the same
|
|
707
|
+
// production values as Search/Repository but stays as separate
|
|
708
|
+
// optional MainDependencies so reader tests can inject isolated
|
|
709
|
+
// in-memory doubles.
|
|
710
|
+
const readerCache = dependencies.readerCache ?? defaultResponseCache;
|
|
711
|
+
const readerSleep = dependencies.readerSleep ?? realSleep;
|
|
712
|
+
const readerRandom = dependencies.readerRandom ?? Math.random;
|
|
546
713
|
// Resolve configured Provider credentials from the INJECTED env (B3) so
|
|
547
714
|
// redaction follows the same environment the handlers see — a secret
|
|
548
715
|
// that exists only in MainDependencies.env is still redacted from output.
|
|
@@ -585,6 +752,12 @@ export async function main(args, dependencies) {
|
|
|
585
752
|
searchCache,
|
|
586
753
|
searchSleep,
|
|
587
754
|
searchRandom,
|
|
755
|
+
repositoryCache,
|
|
756
|
+
repositorySleep,
|
|
757
|
+
repositoryRandom,
|
|
758
|
+
readerCache,
|
|
759
|
+
readerSleep,
|
|
760
|
+
readerRandom,
|
|
588
761
|
};
|
|
589
762
|
try {
|
|
590
763
|
switch (command) {
|
|
@@ -604,6 +777,8 @@ export async function main(args, dependencies) {
|
|
|
604
777
|
return await handleCall(commandArgs, outputMode, handlerDeps);
|
|
605
778
|
case "doctor":
|
|
606
779
|
return await handleDoctor(commandArgs, outputMode, handlerDeps);
|
|
780
|
+
case "cache":
|
|
781
|
+
return await handleCache(commandArgs, outputMode, handlerDeps);
|
|
607
782
|
case "quota":
|
|
608
783
|
return await handleQuota(commandArgs, outputMode, handlerDeps);
|
|
609
784
|
case "code":
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/cache.d.ts
CHANGED
|
@@ -1,56 +1,161 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Unified cache storage module.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* command + request-affecting arguments. Post-processing flags like
|
|
7
|
-
* --max-chars, --output-format, --extract are NOT part of the cache key,
|
|
8
|
-
* so the same cached response can serve multiple presentation variants.
|
|
4
|
+
* Two sibling on-disk caches live under one root (`~/.scoutline/` by
|
|
5
|
+
* default; overridable via `SCOUTLINE_CACHE_DIR`):
|
|
9
6
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
7
|
+
* ```text
|
|
8
|
+
* ~/.scoutline/
|
|
9
|
+
* ├── cache/ response cache entries (Provider responses)
|
|
10
|
+
* └── tools/ tool discovery cache (consumed by mcp-client.ts)
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* The response cache stores the RAW response from a Provider (before any
|
|
14
|
+
* post-processing like truncation, format conversion, or extraction)
|
|
15
|
+
* keyed by a hash of the command + request-affecting arguments.
|
|
16
|
+
* Post-processing flags like --max-chars, --output-format, --extract are
|
|
17
|
+
* NOT part of the cache key, so the same cached response can serve
|
|
18
|
+
* multiple presentation variants.
|
|
19
|
+
*
|
|
20
|
+
* Defaults: 24h TTL, 100MB size cap, LRU eviction when full. Disable
|
|
21
|
+
* per-call with --no-cache, or globally with `SCOUTLINE_CACHE=0`.
|
|
22
|
+
*
|
|
23
|
+
* Env-var policy: `SCOUTLINE_CACHE*` are the canonical names. The legacy
|
|
24
|
+
* `ZAI_CACHE*`, `ZAI_MCP_TOOL_CACHE*`, and `ZAI_MCP_CACHE_DIR` variables
|
|
25
|
+
* are accepted as lower-precedence aliases (silent aliasing — no
|
|
26
|
+
* deprecation notice in this release). All reads are call-time (H1 fix)
|
|
27
|
+
* so per-suite env mutations remain observable.
|
|
12
28
|
*
|
|
13
29
|
* P2-02 extends this module with provider-partitioned keys
|
|
14
30
|
* (`buildProviderCacheKey`) and a `ResponseCache` adapter that lets
|
|
15
31
|
* shared execution read and write through the same on-disk store without
|
|
16
|
-
* duplicating TTL or eviction logic.
|
|
17
|
-
* resolution are unchanged.
|
|
32
|
+
* duplicating TTL or eviction logic.
|
|
18
33
|
*/
|
|
19
34
|
import type { ProviderId } from "../providers/types.js";
|
|
35
|
+
/**
|
|
36
|
+
* Environment surface consumed by the pure cache-root resolver. The legacy
|
|
37
|
+
* aliases (`ZAI_MCP_CACHE_DIR`, `ZAI_CACHE_DIR`) are preserved so existing
|
|
38
|
+
* operator configurations keep working silently. `XDG_CACHE_HOME` was
|
|
39
|
+
* removed when the dotfile convention (`~/.scoutline/`) was adopted on
|
|
40
|
+
* every platform.
|
|
41
|
+
*/
|
|
20
42
|
export interface CacheDirEnvironment {
|
|
43
|
+
readonly SCOUTLINE_CACHE_DIR?: string | undefined;
|
|
44
|
+
readonly ZAI_MCP_CACHE_DIR?: string | undefined;
|
|
21
45
|
readonly ZAI_CACHE_DIR?: string | undefined;
|
|
22
|
-
readonly XDG_CACHE_HOME?: string | undefined;
|
|
23
46
|
}
|
|
24
47
|
export interface CacheDirPlatform {
|
|
25
48
|
readonly platform: NodeJS.Platform;
|
|
26
49
|
readonly homedir: string;
|
|
27
50
|
}
|
|
28
51
|
/**
|
|
29
|
-
* Pure cache-
|
|
52
|
+
* Pure cache-ROOT resolver. Accepts environment and platform explicitly
|
|
30
53
|
* so tests can assert path resolution without touching process globals.
|
|
31
|
-
*
|
|
54
|
+
* Returns the root directory (`~/.scoutline/`); each cache appends its
|
|
55
|
+
* own subdirectory (`cache/` or `tools/`). Precedence:
|
|
56
|
+
* 1. `SCOUTLINE_CACHE_DIR` (canonical)
|
|
57
|
+
* 2. `ZAI_MCP_CACHE_DIR` (legacy tool-cache override; B3 fix)
|
|
58
|
+
* 3. `ZAI_CACHE_DIR` (legacy response-cache override)
|
|
59
|
+
* 4. `path.join(homedir, ".scoutline")` (dotfile default, all platforms)
|
|
60
|
+
*
|
|
61
|
+
* The process-backed {@link resolveCacheRoot} wraps this with live state.
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveCacheRootPure(env: CacheDirEnvironment, plat: CacheDirPlatform): string;
|
|
64
|
+
/**
|
|
65
|
+
* Directory for the tool-discovery cache (consumed by mcp-client.ts).
|
|
66
|
+
* Always a `tools/` subdirectory under the unified root, sibling of
|
|
67
|
+
* {@link responseCacheDir}. Scanned by `cacheStats()` and cleared by
|
|
68
|
+
* `clearAllCaches()`, but never touched by the response cache's LRU
|
|
69
|
+
* eviction loop.
|
|
32
70
|
*/
|
|
33
|
-
export declare function
|
|
71
|
+
export declare function toolCacheDir(): string;
|
|
72
|
+
/**
|
|
73
|
+
* Call-time cache-enabled check for the RESPONSE cache (H1 fix). Honours
|
|
74
|
+
* `SCOUTLINE_CACHE` (canonical) with `ZAI_CACHE` as a legacy alias. Read
|
|
75
|
+
* on every cache operation so per-suite env mutations in tests remain
|
|
76
|
+
* observable.
|
|
77
|
+
*
|
|
78
|
+
* Note: the legacy `ZAI_MCP_TOOL_CACHE` env var is intentionally NOT
|
|
79
|
+
* consulted here. In v0.4.0 the tool cache's enable flag was independent
|
|
80
|
+
* of the response cache's; mcp-client.ts still reads
|
|
81
|
+
* `ZAI_MCP_TOOL_CACHE` directly for its own tool-cache enable check.
|
|
82
|
+
* Aliasing it here would silently disable the response cache whenever a
|
|
83
|
+
* user disabled the tool cache, which would break the four
|
|
84
|
+
* `mcp-client.test.js` suites that set `ZAI_MCP_TOOL_CACHE=0` while
|
|
85
|
+
* relying on response-cache hits. Unifying this granularity is deferred
|
|
86
|
+
* to a future release (see tech-plan "what this plan does not decide").
|
|
87
|
+
*/
|
|
88
|
+
export declare function isCacheEnabled(): boolean;
|
|
89
|
+
/** Call-time TTL (ms) for the response cache. Default 24h. */
|
|
90
|
+
export declare function getCacheTtlMs(): number;
|
|
91
|
+
/** Call-time response-cache size cap (bytes). Default 100MB. */
|
|
92
|
+
export declare function getCacheSizeCapBytes(): number;
|
|
34
93
|
/**
|
|
35
94
|
* Build a stable cache key from command + request-affecting args.
|
|
36
95
|
* Post-processing flags (maxChars, outputFormat, extract, fullEnvelope)
|
|
37
96
|
* are intentionally excluded so one cached fetch serves many presentations.
|
|
38
97
|
*/
|
|
39
98
|
export declare function buildCacheKey(command: string, requestArgs: Record<string, unknown>): string;
|
|
40
|
-
|
|
99
|
+
/**
|
|
100
|
+
* Build the exact v0.2 legacy repository cache key. Pure: the caller
|
|
101
|
+
* MUST supply the already-resolved credential. The function never reads
|
|
102
|
+
* `process.env` and never calls `getApiKey`. `args` is serialized in
|
|
103
|
+
* its insertion order via `JSON.stringify`.
|
|
104
|
+
*
|
|
105
|
+
* The result never contains the raw credential — only the first 12 hex
|
|
106
|
+
* chars of `sha256(apiKey)`.
|
|
107
|
+
*/
|
|
108
|
+
export declare function buildLegacyRepositoryCacheKey(apiKey: string, publicToolName: string, args: Record<string, unknown>): string;
|
|
109
|
+
/**
|
|
110
|
+
* Build the exact v0.2 legacy reader cache key. Pure: the caller MUST
|
|
111
|
+
* supply the already-resolved credential. The function never reads
|
|
112
|
+
* `process.env` and never calls `getApiKey`. `args` is serialized in
|
|
113
|
+
* its insertion order via `JSON.stringify`.
|
|
114
|
+
*
|
|
115
|
+
* The result never contains the raw credential — only the first 12 hex
|
|
116
|
+
* chars of `sha256(apiKey)`.
|
|
117
|
+
*/
|
|
118
|
+
export declare function buildLegacyReaderCacheKey(apiKey: string, publicToolName: string, args: Record<string, unknown>): string;
|
|
41
119
|
export declare function readCache<T>(key: string, ttlMs?: number): Promise<T | null>;
|
|
42
120
|
export declare function writeCache<T>(key: string, data: T): Promise<void>;
|
|
121
|
+
/**
|
|
122
|
+
* Clear the response cache only. Kept for backward compatibility; new
|
|
123
|
+
* callers should prefer {@link clearAllCaches} which covers both the
|
|
124
|
+
* `cache/` and `tools/` subdirectories.
|
|
125
|
+
*/
|
|
43
126
|
export declare function clearCache(): Promise<{
|
|
44
127
|
cleared: number;
|
|
45
128
|
bytesFreed: number;
|
|
46
129
|
}>;
|
|
130
|
+
/**
|
|
131
|
+
* Clear both the `cache/` (responses) and `tools/` (tool discovery)
|
|
132
|
+
* subdirectories. Directories themselves are preserved. Existing
|
|
133
|
+
* {@link clearCache} callers continue to clear `cache/` only.
|
|
134
|
+
*/
|
|
135
|
+
export declare function clearAllCaches(): Promise<{
|
|
136
|
+
responsesCleared: number;
|
|
137
|
+
toolsCleared: number;
|
|
138
|
+
bytesFreed: number;
|
|
139
|
+
}>;
|
|
140
|
+
/**
|
|
141
|
+
* Inventory both caches. The shape extends the v0.4.0 flat shape with
|
|
142
|
+
* nested `responseCache` and `toolCache` sections (H3 fix). The
|
|
143
|
+
* top-level `entries` and `totalBytes` fields are removed — callers
|
|
144
|
+
* must read from the nested sections.
|
|
145
|
+
*/
|
|
47
146
|
export declare function cacheStats(): Promise<{
|
|
48
|
-
entries: number;
|
|
49
|
-
totalBytes: number;
|
|
50
147
|
dir: string;
|
|
148
|
+
enabled: boolean;
|
|
51
149
|
ttlMs: number;
|
|
52
150
|
sizeCapBytes: number;
|
|
53
|
-
|
|
151
|
+
responseCache: {
|
|
152
|
+
entries: number;
|
|
153
|
+
totalBytes: number;
|
|
154
|
+
};
|
|
155
|
+
toolCache: {
|
|
156
|
+
entries: number;
|
|
157
|
+
totalBytes: number;
|
|
158
|
+
};
|
|
54
159
|
}>;
|
|
55
160
|
/**
|
|
56
161
|
* Response cache surface consumed by shared execution
|