scoutline 0.6.4 → 0.9.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 (148) hide show
  1. package/README.md +19 -12
  2. package/bin/scoutline.js +2 -3
  3. package/dist/capabilities/crawl.d.ts +93 -0
  4. package/dist/capabilities/crawl.d.ts.map +1 -0
  5. package/dist/capabilities/crawl.js +62 -0
  6. package/dist/capabilities/crawl.js.map +1 -0
  7. package/dist/capabilities/diagnostics.d.ts +45 -43
  8. package/dist/capabilities/diagnostics.d.ts.map +1 -1
  9. package/dist/capabilities/diagnostics.js +58 -71
  10. package/dist/capabilities/diagnostics.js.map +1 -1
  11. package/dist/capabilities/map.d.ts +81 -0
  12. package/dist/capabilities/map.d.ts.map +1 -0
  13. package/dist/capabilities/map.js +60 -0
  14. package/dist/capabilities/map.js.map +1 -0
  15. package/dist/capabilities/quota.d.ts +11 -0
  16. package/dist/capabilities/quota.d.ts.map +1 -1
  17. package/dist/capabilities/quota.js +1 -1
  18. package/dist/capabilities/quota.js.map +1 -1
  19. package/dist/capabilities/research.d.ts +98 -0
  20. package/dist/capabilities/research.d.ts.map +1 -0
  21. package/dist/capabilities/research.js +71 -0
  22. package/dist/capabilities/research.js.map +1 -0
  23. package/dist/capabilities/search.d.ts +19 -1
  24. package/dist/capabilities/search.d.ts.map +1 -1
  25. package/dist/commands/crawl.d.ts +46 -0
  26. package/dist/commands/crawl.d.ts.map +1 -0
  27. package/dist/commands/crawl.js +170 -0
  28. package/dist/commands/crawl.js.map +1 -0
  29. package/dist/commands/doctor.d.ts +7 -8
  30. package/dist/commands/doctor.d.ts.map +1 -1
  31. package/dist/commands/doctor.js +40 -34
  32. package/dist/commands/doctor.js.map +1 -1
  33. package/dist/commands/map.d.ts +39 -0
  34. package/dist/commands/map.d.ts.map +1 -0
  35. package/dist/commands/map.js +121 -0
  36. package/dist/commands/map.js.map +1 -0
  37. package/dist/commands/quota.d.ts +23 -0
  38. package/dist/commands/quota.d.ts.map +1 -1
  39. package/dist/commands/quota.js +21 -4
  40. package/dist/commands/quota.js.map +1 -1
  41. package/dist/commands/read.d.ts.map +1 -1
  42. package/dist/commands/read.js +7 -1
  43. package/dist/commands/read.js.map +1 -1
  44. package/dist/commands/repo.js +1 -1
  45. package/dist/commands/research.d.ts +62 -0
  46. package/dist/commands/research.d.ts.map +1 -0
  47. package/dist/commands/research.js +314 -0
  48. package/dist/commands/research.js.map +1 -0
  49. package/dist/commands/search.d.ts +3 -1
  50. package/dist/commands/search.d.ts.map +1 -1
  51. package/dist/commands/search.js +26 -10
  52. package/dist/commands/search.js.map +1 -1
  53. package/dist/index.d.ts +45 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +291 -13
  56. package/dist/index.js.map +1 -1
  57. package/dist/lib/cache.d.ts +13 -0
  58. package/dist/lib/cache.d.ts.map +1 -1
  59. package/dist/lib/cache.js +15 -0
  60. package/dist/lib/cache.js.map +1 -1
  61. package/dist/lib/execution.d.ts +105 -1
  62. package/dist/lib/execution.d.ts.map +1 -1
  63. package/dist/lib/execution.js +73 -1
  64. package/dist/lib/execution.js.map +1 -1
  65. package/dist/lib/redact.d.ts +2 -1
  66. package/dist/lib/redact.d.ts.map +1 -1
  67. package/dist/lib/redact.js +14 -1
  68. package/dist/lib/redact.js.map +1 -1
  69. package/dist/lib/research-state.d.ts +104 -0
  70. package/dist/lib/research-state.d.ts.map +1 -0
  71. package/dist/lib/research-state.js +214 -0
  72. package/dist/lib/research-state.js.map +1 -0
  73. package/dist/lib/search-topic.d.ts +21 -0
  74. package/dist/lib/search-topic.d.ts.map +1 -0
  75. package/dist/lib/search-topic.js +36 -0
  76. package/dist/lib/search-topic.js.map +1 -0
  77. package/dist/providers/brave/adapter.d.ts +42 -0
  78. package/dist/providers/brave/adapter.d.ts.map +1 -0
  79. package/dist/providers/brave/adapter.js +504 -0
  80. package/dist/providers/brave/adapter.js.map +1 -0
  81. package/dist/providers/brave/client.d.ts +161 -0
  82. package/dist/providers/brave/client.d.ts.map +1 -0
  83. package/dist/providers/brave/client.js +297 -0
  84. package/dist/providers/brave/client.js.map +1 -0
  85. package/dist/providers/brave/credentials.d.ts +33 -0
  86. package/dist/providers/brave/credentials.d.ts.map +1 -0
  87. package/dist/providers/brave/credentials.js +55 -0
  88. package/dist/providers/brave/credentials.js.map +1 -0
  89. package/dist/providers/brave/diagnostics.d.ts +46 -0
  90. package/dist/providers/brave/diagnostics.d.ts.map +1 -0
  91. package/dist/providers/brave/diagnostics.js +76 -0
  92. package/dist/providers/brave/diagnostics.js.map +1 -0
  93. package/dist/providers/brave/quota.d.ts +86 -0
  94. package/dist/providers/brave/quota.d.ts.map +1 -0
  95. package/dist/providers/brave/quota.js +247 -0
  96. package/dist/providers/brave/quota.js.map +1 -0
  97. package/dist/providers/exa/adapter.d.ts +58 -0
  98. package/dist/providers/exa/adapter.d.ts.map +1 -0
  99. package/dist/providers/exa/adapter.js +892 -0
  100. package/dist/providers/exa/adapter.js.map +1 -0
  101. package/dist/providers/exa/client.d.ts +143 -0
  102. package/dist/providers/exa/client.d.ts.map +1 -0
  103. package/dist/providers/exa/client.js +328 -0
  104. package/dist/providers/exa/client.js.map +1 -0
  105. package/dist/providers/exa/credentials.d.ts +34 -0
  106. package/dist/providers/exa/credentials.d.ts.map +1 -0
  107. package/dist/providers/exa/credentials.js +56 -0
  108. package/dist/providers/exa/credentials.js.map +1 -0
  109. package/dist/providers/exa/diagnostics.d.ts +42 -0
  110. package/dist/providers/exa/diagnostics.d.ts.map +1 -0
  111. package/dist/providers/exa/diagnostics.js +69 -0
  112. package/dist/providers/exa/diagnostics.js.map +1 -0
  113. package/dist/providers/minimax/adapter.d.ts.map +1 -1
  114. package/dist/providers/minimax/adapter.js +7 -2
  115. package/dist/providers/minimax/adapter.js.map +1 -1
  116. package/dist/providers/minimax/vision-conformance.d.ts +2 -2
  117. package/dist/providers/minimax/vision-conformance.js +2 -2
  118. package/dist/providers/registry.d.ts.map +1 -1
  119. package/dist/providers/registry.js +6 -0
  120. package/dist/providers/registry.js.map +1 -1
  121. package/dist/providers/tavily/adapter.d.ts +62 -0
  122. package/dist/providers/tavily/adapter.d.ts.map +1 -0
  123. package/dist/providers/tavily/adapter.js +975 -0
  124. package/dist/providers/tavily/adapter.js.map +1 -0
  125. package/dist/providers/tavily/client.d.ts +184 -0
  126. package/dist/providers/tavily/client.d.ts.map +1 -0
  127. package/dist/providers/tavily/client.js +486 -0
  128. package/dist/providers/tavily/client.js.map +1 -0
  129. package/dist/providers/tavily/credentials.d.ts +34 -0
  130. package/dist/providers/tavily/credentials.d.ts.map +1 -0
  131. package/dist/providers/tavily/credentials.js +56 -0
  132. package/dist/providers/tavily/credentials.js.map +1 -0
  133. package/dist/providers/tavily/diagnostics.d.ts +44 -0
  134. package/dist/providers/tavily/diagnostics.d.ts.map +1 -0
  135. package/dist/providers/tavily/diagnostics.js +70 -0
  136. package/dist/providers/tavily/diagnostics.js.map +1 -0
  137. package/dist/providers/tavily/quota.d.ts +60 -0
  138. package/dist/providers/tavily/quota.d.ts.map +1 -0
  139. package/dist/providers/tavily/quota.js +186 -0
  140. package/dist/providers/tavily/quota.js.map +1 -0
  141. package/dist/providers/types.d.ts +14 -2
  142. package/dist/providers/types.d.ts.map +1 -1
  143. package/dist/providers/types.js +1 -1
  144. package/dist/providers/types.js.map +1 -1
  145. package/dist/providers/zai/adapter.d.ts.map +1 -1
  146. package/dist/providers/zai/adapter.js +13 -2
  147. package/dist/providers/zai/adapter.js.map +1 -1
  148. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4,6 +4,9 @@
4
4
  import * as vision from "./commands/vision.js";
5
5
  import { search, SEARCH_HELP } from "./commands/search.js";
6
6
  import { read, READ_HELP } from "./commands/read.js";
7
+ import { crawl, CRAWL_HELP } from "./commands/crawl.js";
8
+ import { map, MAP_HELP } from "./commands/map.js";
9
+ import { research, RESEARCH_HELP } from "./commands/research.js";
7
10
  import { repoSearch, repoTree, repoRead, REPO_HELP } from "./commands/repo.js";
8
11
  import { listTools, showTool, callTool, TOOLS_HELP, CALL_HELP } from "./commands/tools.js";
9
12
  import { doctor, buildDiagnosticsReport, DOCTOR_HELP } from "./commands/doctor.js";
@@ -31,11 +34,18 @@ Usage: scoutline <command> [args] [options]
31
34
 
32
35
  Commands:
33
36
  vision Image and video analysis (Z.AI; MiniMax for interpret-image)
34
- search Real-time web search (shared: Z.AI + MiniMax)
35
- read Fetch and parse web pages (Provider Capability; Z.AI supports it,
36
- MiniMax returns UNSUPPORTED_CAPABILITY)
37
+ search Real-time web search (shared: Z.AI + MiniMax + Tavily + Exa + Brave; --topic
38
+ honored by every Provider)
39
+ read Fetch and parse web pages (Provider Capability; Z.AI and Tavily
40
+ supply it, MiniMax returns UNSUPPORTED_CAPABILITY)
41
+ crawl Crawl a website from a starting URL (Provider Capability; Tavily
42
+ supports it, Z.AI/MiniMax return UNSUPPORTED_CAPABILITY)
43
+ map Discover the URL structure of a website (Provider Capability;
44
+ Tavily supports it, Z.AI/MiniMax return UNSUPPORTED_CAPABILITY)
45
+ research Deep research with citations (Provider Capability; Tavily
46
+ supports it, Z.AI/MiniMax return UNSUPPORTED_CAPABILITY)
37
47
  repo GitHub repository exploration (Provider Capability; Z.AI supports it,
38
- MiniMax returns UNSUPPORTED_CAPABILITY)
48
+ MiniMax and Tavily return UNSUPPORTED_CAPABILITY)
39
49
  quota Provider-aware plan usage (calls remaining, reset time)
40
50
  tools List available MCP tools (Z.AI)
41
51
  tool Show a tool schema (Z.AI)
@@ -45,16 +55,18 @@ Commands:
45
55
  code Execute TypeScript tool chains (Code Mode, Z.AI)
46
56
 
47
57
  Provider selection (precedence: --provider, then SCOUTLINE_PROVIDER, then zai):
48
- --provider <zai|minimax> Select the active Provider for shared capabilities
58
+ --provider <zai|minimax|tavily|exa|brave> Select the active Provider for shared capabilities
49
59
  SCOUTLINE_PROVIDER=<id> Fallback when --provider is not passed
50
60
 
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
61
+ Shared capabilities accept --provider. The 'repo', 'read', 'crawl', 'map',
62
+ and 'research' commands participate in Provider selection: Z.AI
63
+ advertises and supplies repository-exploration and reader; Tavily
64
+ advertises and supplies reader plus crawl, map, and research; Exa
65
+ advertises and supplies search, reader, and research; MiniMax
66
+ advertises and supplies none of those Provider-only Capabilities. A
67
+ non-supplier returns UNSUPPORTED_CAPABILITY with no fallback. Z.AI-only
68
+ commands (tools, tool, call, code) carry the flag but ignore it.
69
+ Quota and doctor report per-Provider; --provider picks the effective
58
70
  Provider for metadata.
59
71
 
60
72
  Global Options:
@@ -66,6 +78,9 @@ Help:
66
78
  scoutline vision --help
67
79
  scoutline search --help
68
80
  scoutline read --help
81
+ scoutline crawl --help
82
+ scoutline map --help
83
+ scoutline research --help
69
84
  scoutline repo --help
70
85
  scoutline tools --help
71
86
  scoutline call --help
@@ -303,6 +318,45 @@ export function parseAndValidateCount(raw) {
303
318
  }
304
319
  return parsed;
305
320
  }
321
+ const SEARCH_TOPICS = ["general", "news", "finance"];
322
+ /**
323
+ * Validate the `--topic` flag value BEFORE Provider resolution, mirroring
324
+ * the `--count` parse-level gate (Fixup D — B11). An invalid value
325
+ * surfaces VALIDATION_ERROR regardless of which Provider would have been
326
+ * selected, because parse-level validation fires before the support /
327
+ * configuration gates. Exported for testing.
328
+ */
329
+ export function parseAndValidateTopic(raw) {
330
+ if (raw === undefined || raw === "")
331
+ return undefined;
332
+ if (raw === true) {
333
+ throw new ValidationError("Topic requires a value.", `Use one of: ${SEARCH_TOPICS.join(", ")}.`);
334
+ }
335
+ const str = typeof raw === "string" ? raw : String(raw);
336
+ if (!SEARCH_TOPICS.includes(str)) {
337
+ throw new ValidationError(`Invalid --topic value "${str}": must be one of ${SEARCH_TOPICS.join(", ")}`, `Use one of: ${SEARCH_TOPICS.join(", ")}.`);
338
+ }
339
+ return str;
340
+ }
341
+ const SEARCH_TYPES = ["video"];
342
+ /**
343
+ * Validate the `--type` flag value BEFORE Provider resolution, mirroring
344
+ * `parseAndValidateTopic`. `type` is a content axis (not an editorial
345
+ * topic axis) and is mutually exclusive with `--topic` (checked in
346
+ * `handleSearch`). Exported for testing.
347
+ */
348
+ export function parseAndValidateType(raw) {
349
+ if (raw === undefined || raw === "")
350
+ return undefined;
351
+ if (raw === true) {
352
+ throw new ValidationError("Type requires a value.", `Use one of: ${SEARCH_TYPES.join(", ")}.`);
353
+ }
354
+ const str = typeof raw === "string" ? raw : String(raw);
355
+ if (!SEARCH_TYPES.includes(str)) {
356
+ throw new ValidationError(`Invalid --type value "${str}": must be one of ${SEARCH_TYPES.join(", ")}`, `Use one of: ${SEARCH_TYPES.join(", ")}.`);
357
+ }
358
+ return str;
359
+ }
306
360
  async function handleSearch(args, outputMode, deps) {
307
361
  const { flags, positional } = parseArgs(args);
308
362
  if (flags.help || flags.h || positional.length === 0) {
@@ -314,8 +368,17 @@ async function handleSearch(args, outputMode, deps) {
314
368
  // not depend on whether credentials are present: `search q --count nope`
315
369
  // with NO credentials must surface VALIDATION_ERROR (exit 1), not
316
370
  // CONFIGURATION_ERROR (exit 3). Order: parse global options -> validate
317
- // count -> resolve provider -> check configured -> dispatch.
371
+ // count -> validate topic -> validate type -> reject type+topic combo
372
+ // -> resolve provider -> check configured -> dispatch.
318
373
  const count = parseAndValidateCount(flags.count);
374
+ const topic = parseAndValidateTopic(flags.topic);
375
+ const type = parseAndValidateType(flags.type);
376
+ // `type` is a content axis; `topic` is an editorial axis. They are
377
+ // mutually exclusive. Enforced at parse time (before Provider
378
+ // resolution) so the error is VALIDATION_ERROR regardless of provider.
379
+ if (type !== undefined && topic !== undefined) {
380
+ throw new ValidationError("--type and --topic are mutually exclusive (--type has no editorial topic axis).", "Pass either --type or --topic, not both.");
381
+ }
319
382
  // Resolve the Provider ONLY inside shared Search (DESIGN.md §6). Other
320
383
  // command families carry the parsed flag but never resolve or validate
321
384
  // it. An invalid explicit/env value throws VALIDATION_ERROR here, before
@@ -353,6 +416,8 @@ async function handleSearch(args, outputMode, deps) {
353
416
  recency: flags.recency,
354
417
  contentSize: flags["content-size"],
355
418
  location: flags.location,
419
+ topic,
420
+ type,
356
421
  maxSummary: flags["max-summary"]
357
422
  ? parseInt(flags["max-summary"], 10)
358
423
  : undefined,
@@ -441,6 +506,181 @@ async function handleRead(args, outputMode, deps) {
441
506
  extract,
442
507
  }, { capability, execution: executionDeps }, context), outputMode, deps.now, deps.secrets);
443
508
  }
509
+ async function handleCrawl(args, outputMode, deps) {
510
+ const { flags, positional } = parseArgs(args);
511
+ if (flags.help || flags.h || positional.length === 0) {
512
+ deps.invocation.writeStdout(CRAWL_HELP);
513
+ return 0;
514
+ }
515
+ const url = positional[0];
516
+ // Parse-level validation BEFORE Provider resolution. URL scheme is
517
+ // validated at parse time so an invalid value surfaces
518
+ // VALIDATION_ERROR regardless of which Provider would have been
519
+ // selected.
520
+ if (typeof url !== "string" || (!url.startsWith("http://") && !url.startsWith("https://"))) {
521
+ throw new ValidationError("URL must start with http:// or https://");
522
+ }
523
+ // Resolve the effective Provider (DESIGN.md §6, FR-001–FR-005):
524
+ // explicit --provider > SCOUTLINE_PROVIDER > default zai.
525
+ const providerId = resolveProviderId(deps.provider, deps.env);
526
+ const descriptor = getProviderDescriptor(providerId, deps.providerDescriptors);
527
+ // Capability support check BEFORE descriptor.isConfigured, descriptor.create,
528
+ // or any Adapter work. Unsupported Z.AI/MiniMax returns
529
+ // UNSUPPORTED_CAPABILITY with no fallback to Tavily.
530
+ if (!descriptor.capabilities().has("crawl")) {
531
+ throw new UnsupportedCapabilityError(providerId, "crawl");
532
+ }
533
+ if (!descriptor.isConfigured(deps.env)) {
534
+ throw new ConfigurationError(`Provider "${providerId}" is not configured. Set the required API key.`);
535
+ }
536
+ const adapter = descriptor.create({ env: deps.env });
537
+ const capability = adapter.crawl;
538
+ if (!capability) {
539
+ throw new UnsupportedCapabilityError(providerId, "crawl");
540
+ }
541
+ // Shared Crawl execution dependencies. The cache/sleep/random default
542
+ // to the same production values as Search/Repository/Reader but are
543
+ // kept as separate optional MainDependencies so crawl tests can inject
544
+ // isolated in-memory doubles.
545
+ const executionDeps = {
546
+ cache: deps.crawlCache,
547
+ sleep: deps.crawlSleep,
548
+ random: deps.crawlRandom,
549
+ };
550
+ return invokeCommand(deps.invocation, (context) => crawl(url, {
551
+ depth: flags.depth ? parseInt(flags.depth, 10) : undefined,
552
+ breadth: flags.breadth ? parseInt(flags.breadth, 10) : undefined,
553
+ limit: flags.limit ? parseInt(flags.limit, 10) : undefined,
554
+ selectPaths: flags["select-paths"],
555
+ excludePaths: flags["exclude-paths"],
556
+ instructions: flags.instructions,
557
+ format: flags.format,
558
+ contentSize: flags["content-size"],
559
+ timeout: flags.timeout ? parseInt(flags.timeout, 10) : undefined,
560
+ noCache: flags["no-cache"] === true,
561
+ maxChars: flags["max-chars"] ? parseInt(flags["max-chars"], 10) : undefined,
562
+ }, { capability, execution: executionDeps }, context), outputMode, deps.now, deps.secrets);
563
+ }
564
+ async function handleMap(args, outputMode, deps) {
565
+ const { flags, positional } = parseArgs(args);
566
+ if (flags.help || flags.h || positional.length === 0) {
567
+ deps.invocation.writeStdout(MAP_HELP);
568
+ return 0;
569
+ }
570
+ const url = positional[0];
571
+ // Parse-level validation BEFORE Provider resolution. URL scheme is
572
+ // validated at parse time so an invalid value surfaces
573
+ // VALIDATION_ERROR regardless of which Provider would have been
574
+ // selected.
575
+ if (typeof url !== "string" || (!url.startsWith("http://") && !url.startsWith("https://"))) {
576
+ throw new ValidationError("URL must start with http:// or https://");
577
+ }
578
+ // Resolve the effective Provider (DESIGN.md §6, FR-001–FR-005):
579
+ // explicit --provider > SCOUTLINE_PROVIDER > default zai.
580
+ const providerId = resolveProviderId(deps.provider, deps.env);
581
+ const descriptor = getProviderDescriptor(providerId, deps.providerDescriptors);
582
+ // Capability support check BEFORE descriptor.isConfigured, descriptor.create,
583
+ // or any Adapter work. Unsupported Z.AI/MiniMax returns
584
+ // UNSUPPORTED_CAPABILITY with no fallback to Tavily.
585
+ if (!descriptor.capabilities().has("map")) {
586
+ throw new UnsupportedCapabilityError(providerId, "map");
587
+ }
588
+ if (!descriptor.isConfigured(deps.env)) {
589
+ throw new ConfigurationError(`Provider "${providerId}" is not configured. Set the required API key.`);
590
+ }
591
+ const adapter = descriptor.create({ env: deps.env });
592
+ const capability = adapter.map;
593
+ if (!capability) {
594
+ throw new UnsupportedCapabilityError(providerId, "map");
595
+ }
596
+ // Shared Map execution dependencies. The cache/sleep/random default
597
+ // to the same production values as Search/Repository/Reader/Crawl but
598
+ // are kept as separate optional MainDependencies so map tests can
599
+ // inject isolated in-memory doubles.
600
+ const executionDeps = {
601
+ cache: deps.mapCache,
602
+ sleep: deps.mapSleep,
603
+ random: deps.mapRandom,
604
+ };
605
+ return invokeCommand(deps.invocation, (context) => map(url, {
606
+ depth: flags.depth ? parseInt(flags.depth, 10) : undefined,
607
+ breadth: flags.breadth ? parseInt(flags.breadth, 10) : undefined,
608
+ limit: flags.limit ? parseInt(flags.limit, 10) : undefined,
609
+ selectPaths: flags["select-paths"],
610
+ excludePaths: flags["exclude-paths"],
611
+ instructions: flags.instructions,
612
+ noCache: flags["no-cache"] === true,
613
+ }, { capability, execution: executionDeps }, context), outputMode, deps.now, deps.secrets);
614
+ }
615
+ async function handleResearch(args, outputMode, deps) {
616
+ const { flags, positional } = parseArgs(args);
617
+ if (flags.help || flags.h || positional.length === 0) {
618
+ deps.invocation.writeStdout(RESEARCH_HELP);
619
+ return 0;
620
+ }
621
+ const query = positional.join(" ");
622
+ // Parse-level enum validation BEFORE Provider resolution so an invalid
623
+ // value surfaces VALIDATION_ERROR regardless of which Provider would
624
+ // have been selected (mirrors --count and --topic in handleSearch).
625
+ const model = validateResearchEnum(flags.model, ["mini", "pro", "auto"], "--model");
626
+ const outputLength = validateResearchEnum(flags["output-length"], ["short", "standard", "long"], "--output-length");
627
+ const citationFormat = validateResearchEnum(flags["citation-format"], ["numbered", "mla", "apa", "chicago"], "--citation-format");
628
+ // Resolve the effective Provider (DESIGN.md §6, FR-001–FR-005):
629
+ // explicit --provider > SCOUTLINE_PROVIDER > default zai.
630
+ const providerId = resolveProviderId(deps.provider, deps.env);
631
+ const descriptor = getProviderDescriptor(providerId, deps.providerDescriptors);
632
+ // Capability support check BEFORE descriptor.isConfigured,
633
+ // descriptor.create, or any Adapter work. Unsupported Z.AI/MiniMax
634
+ // returns UNSUPPORTED_CAPABILITY with no fallback to Tavily.
635
+ if (!descriptor.capabilities().has("research")) {
636
+ throw new UnsupportedCapabilityError(providerId, "research");
637
+ }
638
+ if (!descriptor.isConfigured(deps.env)) {
639
+ throw new ConfigurationError(`Provider "${providerId}" is not configured. Set the required API key.`);
640
+ }
641
+ const adapter = descriptor.create({ env: deps.env });
642
+ const capability = adapter.research;
643
+ if (!capability) {
644
+ throw new UnsupportedCapabilityError(providerId, "research");
645
+ }
646
+ // Shared Research execution dependencies.
647
+ const executionDeps = {
648
+ cache: deps.researchCache,
649
+ sleep: deps.researchSleep,
650
+ random: deps.researchRandom,
651
+ };
652
+ // Wait disclaimer — shown BEFORE invoke because research is
653
+ // credit-intensive and may take several minutes. Written to stderr so
654
+ // it never corrupts data-mode stdout.
655
+ deps.invocation.writeStderr("Research in progress — this is a credit-intensive operation that may take several minutes.\n");
656
+ return invokeCommand(deps.invocation, (context) => research(query, {
657
+ model,
658
+ outputLength,
659
+ citationFormat,
660
+ domain: flags.domain,
661
+ maxChars: flags["max-chars"] ? parseInt(flags["max-chars"], 10) : undefined,
662
+ timeout: flags.timeout ? parseInt(flags.timeout, 10) : undefined,
663
+ noCache: flags["no-cache"] === true,
664
+ }, { capability, execution: executionDeps }, context), outputMode, deps.now, deps.secrets);
665
+ }
666
+ /**
667
+ * Validate a research enum flag (--model, --output-length,
668
+ * --citation-format) at parse level. Returns the typed value or throws
669
+ * ValidationError for an invalid/missing-value input. Mirrors the
670
+ * --count / --topic parse-level gates.
671
+ */
672
+ function validateResearchEnum(raw, valid, flagName) {
673
+ if (raw === undefined || raw === "")
674
+ return undefined;
675
+ if (raw === true) {
676
+ throw new ValidationError(`${flagName} requires a value.`, `Use one of: ${valid.join(", ")}.`);
677
+ }
678
+ const str = String(raw);
679
+ if (!valid.includes(str)) {
680
+ throw new ValidationError(`Invalid ${flagName} value "${str}": must be one of ${valid.join(", ")}`, `Use one of: ${valid.join(", ")}.`);
681
+ }
682
+ return str;
683
+ }
444
684
  async function handleRepo(args, outputMode, deps) {
445
685
  const { flags, positional } = parseArgs(args);
446
686
  if (flags.help || flags.h || positional.length === 0) {
@@ -656,6 +896,8 @@ async function handleQuota(args, outputMode, deps) {
656
896
  sleep: deps.searchSleep,
657
897
  random: deps.searchRandom,
658
898
  }),
899
+ writeStderr: (value) => deps.invocation.writeStderr(value),
900
+ secrets: deps.secrets,
659
901
  }), outputMode, deps.now, deps.secrets);
660
902
  }
661
903
  async function handleCode(args, outputMode, deps) {
@@ -710,6 +952,27 @@ export async function main(args, dependencies) {
710
952
  const readerCache = dependencies.readerCache ?? defaultResponseCache;
711
953
  const readerSleep = dependencies.readerSleep ?? realSleep;
712
954
  const readerRandom = dependencies.readerRandom ?? Math.random;
955
+ // Tavily integration Ticket 05: Crawl execution defaults to the same
956
+ // production values as Search/Repository/Reader but stays as separate
957
+ // optional MainDependencies so crawl tests can inject isolated
958
+ // in-memory doubles.
959
+ const crawlCache = dependencies.crawlCache ?? defaultResponseCache;
960
+ const crawlSleep = dependencies.crawlSleep ?? realSleep;
961
+ const crawlRandom = dependencies.crawlRandom ?? Math.random;
962
+ // Tavily integration Ticket 06: Map execution defaults to the same
963
+ // production values as Search/Repository/Reader/Crawl but stays as
964
+ // separate optional MainDependencies so map tests can inject isolated
965
+ // in-memory doubles.
966
+ const mapCache = dependencies.mapCache ?? defaultResponseCache;
967
+ const mapSleep = dependencies.mapSleep ?? realSleep;
968
+ const mapRandom = dependencies.mapRandom ?? Math.random;
969
+ // Tavily integration Ticket 07: Research execution defaults to the same
970
+ // production values as Search/Repository/Reader/Crawl/Map but stays as
971
+ // separate optional MainDependencies so research tests can inject
972
+ // isolated in-memory doubles.
973
+ const researchCache = dependencies.researchCache ?? defaultResponseCache;
974
+ const researchSleep = dependencies.researchSleep ?? realSleep;
975
+ const researchRandom = dependencies.researchRandom ?? Math.random;
713
976
  // Resolve configured Provider credentials from the INJECTED env (B3) so
714
977
  // redaction follows the same environment the handlers see — a secret
715
978
  // that exists only in MainDependencies.env is still redacted from output.
@@ -758,6 +1021,15 @@ export async function main(args, dependencies) {
758
1021
  readerCache,
759
1022
  readerSleep,
760
1023
  readerRandom,
1024
+ crawlCache,
1025
+ crawlSleep,
1026
+ crawlRandom,
1027
+ mapCache,
1028
+ mapSleep,
1029
+ mapRandom,
1030
+ researchCache,
1031
+ researchSleep,
1032
+ researchRandom,
761
1033
  };
762
1034
  try {
763
1035
  switch (command) {
@@ -767,6 +1039,12 @@ export async function main(args, dependencies) {
767
1039
  return await handleSearch(commandArgs, outputMode, handlerDeps);
768
1040
  case "read":
769
1041
  return await handleRead(commandArgs, outputMode, handlerDeps);
1042
+ case "crawl":
1043
+ return await handleCrawl(commandArgs, outputMode, handlerDeps);
1044
+ case "map":
1045
+ return await handleMap(commandArgs, outputMode, handlerDeps);
1046
+ case "research":
1047
+ return await handleResearch(commandArgs, outputMode, handlerDeps);
770
1048
  case "repo":
771
1049
  return await handleRepo(commandArgs, outputMode, handlerDeps);
772
1050
  case "tools":
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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"}
@@ -69,6 +69,19 @@ export declare function resolveCacheRootPure(env: CacheDirEnvironment, plat: Cac
69
69
  * eviction loop.
70
70
  */
71
71
  export declare function toolCacheDir(): string;
72
+ /**
73
+ * Directory for the Research state files (tech-plan §3, T07). Always a
74
+ * `research/` subdirectory under the unified root, sibling of
75
+ * {@link responseCacheDir} and {@link toolCacheDir}.
76
+ *
77
+ * Each file holds a single in-flight research task's `request_id` so the
78
+ * CLI can resume polling after Ctrl-C instead of creating a second task
79
+ * (double-charge prevention). The state files have their own lifecycle
80
+ * (deleted on task completion or failure); they are NOT cleared by
81
+ * `clearAllCaches()` and are NOT scanned by `cacheStats()` — they are
82
+ * billing state, not cache entries.
83
+ */
84
+ export declare function researchStateDir(): string;
72
85
  /**
73
86
  * Call-time cache-enabled check for the RESPONSE cache (H1 fix). Honours
74
87
  * `SCOUTLINE_CACHE` (canonical) with `ZAI_CACHE` as a legacy alias. Read
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"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"}
package/dist/lib/cache.js CHANGED
@@ -78,6 +78,21 @@ function responseCacheDir() {
78
78
  export function toolCacheDir() {
79
79
  return path.join(resolveCacheRoot(), "tools");
80
80
  }
81
+ /**
82
+ * Directory for the Research state files (tech-plan §3, T07). Always a
83
+ * `research/` subdirectory under the unified root, sibling of
84
+ * {@link responseCacheDir} and {@link toolCacheDir}.
85
+ *
86
+ * Each file holds a single in-flight research task's `request_id` so the
87
+ * CLI can resume polling after Ctrl-C instead of creating a second task
88
+ * (double-charge prevention). The state files have their own lifecycle
89
+ * (deleted on task completion or failure); they are NOT cleared by
90
+ * `clearAllCaches()` and are NOT scanned by `cacheStats()` — they are
91
+ * billing state, not cache entries.
92
+ */
93
+ export function researchStateDir() {
94
+ return path.join(resolveCacheRoot(), "research");
95
+ }
81
96
  // ---------------------------------------------------------------------------
82
97
  // Call-time env reads (H1 fix: preserves the existing test contract)
83
98
  // ---------------------------------------------------------------------------