scoutline 0.6.3 → 0.7.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 (108) hide show
  1. package/README.md +8 -9
  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.js +1 -1
  16. package/dist/capabilities/quota.js.map +1 -1
  17. package/dist/capabilities/research.d.ts +98 -0
  18. package/dist/capabilities/research.d.ts.map +1 -0
  19. package/dist/capabilities/research.js +71 -0
  20. package/dist/capabilities/research.js.map +1 -0
  21. package/dist/capabilities/search.d.ts +9 -1
  22. package/dist/capabilities/search.d.ts.map +1 -1
  23. package/dist/commands/crawl.d.ts +46 -0
  24. package/dist/commands/crawl.d.ts.map +1 -0
  25. package/dist/commands/crawl.js +170 -0
  26. package/dist/commands/crawl.js.map +1 -0
  27. package/dist/commands/doctor.d.ts +7 -8
  28. package/dist/commands/doctor.d.ts.map +1 -1
  29. package/dist/commands/doctor.js +37 -34
  30. package/dist/commands/doctor.js.map +1 -1
  31. package/dist/commands/map.d.ts +39 -0
  32. package/dist/commands/map.d.ts.map +1 -0
  33. package/dist/commands/map.js +121 -0
  34. package/dist/commands/map.js.map +1 -0
  35. package/dist/commands/read.d.ts.map +1 -1
  36. package/dist/commands/read.js +7 -1
  37. package/dist/commands/read.js.map +1 -1
  38. package/dist/commands/research.d.ts +62 -0
  39. package/dist/commands/research.d.ts.map +1 -0
  40. package/dist/commands/research.js +314 -0
  41. package/dist/commands/research.js.map +1 -0
  42. package/dist/commands/search.d.ts +2 -1
  43. package/dist/commands/search.d.ts.map +1 -1
  44. package/dist/commands/search.js +11 -4
  45. package/dist/commands/search.js.map +1 -1
  46. package/dist/index.d.ts +38 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +260 -13
  49. package/dist/index.js.map +1 -1
  50. package/dist/lib/cache.d.ts +13 -0
  51. package/dist/lib/cache.d.ts.map +1 -1
  52. package/dist/lib/cache.js +15 -0
  53. package/dist/lib/cache.js.map +1 -1
  54. package/dist/lib/execution.d.ts +105 -1
  55. package/dist/lib/execution.d.ts.map +1 -1
  56. package/dist/lib/execution.js +73 -1
  57. package/dist/lib/execution.js.map +1 -1
  58. package/dist/lib/redact.d.ts +2 -1
  59. package/dist/lib/redact.d.ts.map +1 -1
  60. package/dist/lib/redact.js +19 -7
  61. package/dist/lib/redact.js.map +1 -1
  62. package/dist/lib/research-state.d.ts +104 -0
  63. package/dist/lib/research-state.d.ts.map +1 -0
  64. package/dist/lib/research-state.js +214 -0
  65. package/dist/lib/research-state.js.map +1 -0
  66. package/dist/lib/search-topic.d.ts +21 -0
  67. package/dist/lib/search-topic.d.ts.map +1 -0
  68. package/dist/lib/search-topic.js +36 -0
  69. package/dist/lib/search-topic.js.map +1 -0
  70. package/dist/providers/minimax/adapter.d.ts.map +1 -1
  71. package/dist/providers/minimax/adapter.js +41 -4
  72. package/dist/providers/minimax/adapter.js.map +1 -1
  73. package/dist/providers/minimax/vision-conformance.d.ts +2 -2
  74. package/dist/providers/minimax/vision-conformance.js +2 -2
  75. package/dist/providers/registry.d.ts.map +1 -1
  76. package/dist/providers/registry.js +2 -0
  77. package/dist/providers/registry.js.map +1 -1
  78. package/dist/providers/tavily/adapter.d.ts +62 -0
  79. package/dist/providers/tavily/adapter.d.ts.map +1 -0
  80. package/dist/providers/tavily/adapter.js +970 -0
  81. package/dist/providers/tavily/adapter.js.map +1 -0
  82. package/dist/providers/tavily/client.d.ts +184 -0
  83. package/dist/providers/tavily/client.d.ts.map +1 -0
  84. package/dist/providers/tavily/client.js +486 -0
  85. package/dist/providers/tavily/client.js.map +1 -0
  86. package/dist/providers/tavily/credentials.d.ts +34 -0
  87. package/dist/providers/tavily/credentials.d.ts.map +1 -0
  88. package/dist/providers/tavily/credentials.js +56 -0
  89. package/dist/providers/tavily/credentials.js.map +1 -0
  90. package/dist/providers/tavily/diagnostics.d.ts +44 -0
  91. package/dist/providers/tavily/diagnostics.d.ts.map +1 -0
  92. package/dist/providers/tavily/diagnostics.js +70 -0
  93. package/dist/providers/tavily/diagnostics.js.map +1 -0
  94. package/dist/providers/tavily/quota.d.ts +60 -0
  95. package/dist/providers/tavily/quota.d.ts.map +1 -0
  96. package/dist/providers/tavily/quota.js +186 -0
  97. package/dist/providers/tavily/quota.js.map +1 -0
  98. package/dist/providers/types.d.ts +14 -2
  99. package/dist/providers/types.d.ts.map +1 -1
  100. package/dist/providers/types.js +1 -1
  101. package/dist/providers/types.js.map +1 -1
  102. package/dist/providers/zai/adapter.d.ts.map +1 -1
  103. package/dist/providers/zai/adapter.js +6 -1
  104. package/dist/providers/zai/adapter.js.map +1 -1
  105. package/dist/providers/zai/encoded-error.d.ts.map +1 -1
  106. package/dist/providers/zai/encoded-error.js +8 -6
  107. package/dist/providers/zai/encoded-error.js.map +1 -1
  108. package/package.json +1 -1
@@ -17,7 +17,7 @@
17
17
  * Under `--no-tools` the command returns after metadata + configured-state
18
18
  * evaluation and constructs no Adapter and no transport (FR-034).
19
19
  */
20
- import { deriveSharedCapabilities, deriveZaiOnlyCapabilities, diagnosticErrorFromError, } from "../capabilities/diagnostics.js";
20
+ import { deriveCapabilityMatrix, diagnosticErrorFromError } from "../capabilities/diagnostics.js";
21
21
  import { executeProviderOperation } from "../lib/execution.js";
22
22
  import { UnsupportedCapabilityError } from "../lib/errors.js";
23
23
  import { redactSecrets, configuredSecrets } from "../lib/redact.js";
@@ -43,14 +43,13 @@ async function probeProvider(descriptor, env, sleep, random) {
43
43
  });
44
44
  }
45
45
  /**
46
- * Build a schema-version-1 {@link DiagnosticsReport}. Inventory
47
- * (`sharedCapabilities`, `zaiOnlyCapabilities`) is derived purely from
48
- * `deps.descriptors` — no descriptor.create(), no transport, no
49
- * production registry import. Under `--no-tools` the command returns
50
- * after metadata + configured-state evaluation. Otherwise each
51
- * configured Provider is probed through shared execution with settled
52
- * collection, preserving registry order and normalized redacted
53
- * failures.
46
+ * Build a schema-version-2 {@link DiagnosticsReport}. Inventory
47
+ * (`capabilityMatrix`) is derived purely from `deps.descriptors` — no
48
+ * descriptor.create(), no transport, no production registry import.
49
+ * Under `--no-tools` the command returns after metadata +
50
+ * configured-state evaluation. Otherwise each configured Provider is
51
+ * probed through shared execution with settled collection, preserving
52
+ * registry order and normalized redacted failures.
54
53
  */
55
54
  export async function buildDiagnosticsReport(deps) {
56
55
  const secrets = configuredSecrets(deps.env);
@@ -71,10 +70,9 @@ export async function buildDiagnosticsReport(deps) {
71
70
  // it; it never reads `cacheStats()` itself.
72
71
  const cache = deps.cacheSummary === undefined ? undefined : { summary: deps.cacheSummary };
73
72
  return {
74
- schemaVersion: 1,
73
+ schemaVersion: 2,
75
74
  effectiveProvider: deps.effectiveProvider,
76
- sharedCapabilities: deriveSharedCapabilities(deps.descriptors),
77
- zaiOnlyCapabilities: deriveZaiOnlyCapabilities(deps.descriptors),
75
+ capabilityMatrix: deriveCapabilityMatrix(deps.descriptors),
78
76
  node: {
79
77
  version: process.version,
80
78
  visionMcpCompatible: nodeMajor() >= 22,
@@ -143,40 +141,45 @@ Doctor - Provider-aware environment and connectivity diagnostics
143
141
 
144
142
  Usage: scoutline doctor [options]
145
143
 
146
- Reports a schema-version-1 diagnostics report listing every built-in
147
- Provider (zai, minimax) with its configured state, declared
144
+ Reports a schema-version-2 diagnostics report listing every built-in
145
+ Provider (zai, minimax, tavily) with its configured state, declared
148
146
  Capabilities, and connectivity status. The effective Provider (resolved
149
147
  from --provider, SCOUTLINE_PROVIDER, or the default zai) is the
150
- Provider that serves the shared Capabilities shared across every
151
- built-in descriptor. The sharedCapabilities and zaiOnlyCapabilities
152
- fields are derived from descriptor metadata, so they always reflect
153
- the descriptors passed to this command.
148
+ Provider that serves a requested capability. The capabilityMatrix field
149
+ lists, for each advertised capability, which providers supply it —
150
+ derived from descriptor metadata, so it always reflects the descriptors
151
+ passed to this command.
154
152
 
155
153
  Z.AI connectivity is probed through MCP tool discovery; MiniMax
156
154
  connectivity through a single raw quota probe that authenticates
157
- without a generative request.
155
+ without a generative request; Tavily connectivity through a single
156
+ raw quota probe against the Tavily account endpoint.
158
157
 
159
158
  Repository exploration is a Provider Capability. Z.AI descriptor
160
159
  metadata advertises repository-exploration and the Z.AI Adapter
161
- supplies it; MiniMax advertises and supplies neither. The
162
- sharedCapabilities and zaiOnlyCapabilities fields above reflect that
163
- descriptor state (repository-exploration currently appears in
164
- zaiOnlyCapabilities).
160
+ supplies it; MiniMax and Tavily advertise and supply neither. The
161
+ capabilityMatrix field reflects that descriptor state
162
+ (repository-exploration currently lists only Z.AI while MiniMax and
163
+ Tavily lack it).
165
164
 
166
- Reader is a Provider Capability. Z.AI descriptor metadata advertises
167
- reader and the Z.AI Adapter supplies it; MiniMax advertises and
168
- supplies neither. reader currently appears in zaiOnlyCapabilities
169
- alongside repository-exploration.
165
+ Reader is a Provider Capability. Z.AI and Tavily descriptor metadata
166
+ both advertise reader; MiniMax advertises and supplies neither. The
167
+ capabilityMatrix field lists both Z.AI and Tavily for reader.
168
+
169
+ Crawl, Map, and Research are Provider Capabilities owned by Tavily.
170
+ Z.AI and MiniMax do not advertise any of them; the capabilityMatrix
171
+ lists Tavily alone for each. Selecting Z.AI or MiniMax for any of
172
+ these commands returns UNSUPPORTED_CAPABILITY with no fallback.
170
173
 
171
174
  Public 'repo' and 'read' commands participate in Provider selection.
172
175
  They honour --provider / SCOUTLINE_PROVIDER / the default zai, route
173
- through the Z.AI Adapter's Repository and Reader Capabilities
174
- respectively, and return UNSUPPORTED_CAPABILITY when the selected
175
- Provider does not advertise the requested capability (e.g.
176
- 'repo --provider minimax' or 'read --provider minimax' fail without
177
- falling back to Z.AI). A supported-but-unconfigured Z.AI returns
178
- ConfigurationError; supported-and-configured Z.AI dispatches through
179
- the Repository Explorer / Reader Adapter.
176
+ through the matching Adapter's Repository / Reader Capability, and
177
+ return UNSUPPORTED_CAPABILITY when the selected Provider does not
178
+ advertise the requested capability (e.g. 'repo --provider minimax' or
179
+ 'read --provider minimax' fail without falling back to Z.AI). A
180
+ supported-but-unconfigured Provider returns ConfigurationError; a
181
+ supported-and-configured Provider dispatches through the corresponding
182
+ Adapter.
180
183
 
181
184
  Options:
182
185
  --no-tools Skip every connectivity probe (metadata-only). Under
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAwCpE,SAAS,SAAS;IAChB,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAC1B,UAA8B,EAC9B,GAAsB,EACtB,KAAoC,EACpC,MAAoB;IAEpB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAA2B,CAAC;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,0BAA0B,CAAC,UAAU,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,wBAAwB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;QACvF,KAAK;QACL,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAmC;IAEnC,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,WAAW,GAA6B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAClF,QAAQ,EAAE,UAAU,CAAC,EAAE;QACvB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7C,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;KAC7C,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAyB,IAAI,CAAC,OAAO;QAClD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,KAAK;YACR,MAAM,EAAE,SAAkB;YAC1B,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,gBAA0B,CAAC,CAAC,CAAE,gBAA0B;SACrF,CAAC,CAAC;QACL,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnD,gEAAgE;IAChE,qEAAqE;IACrE,4CAA4C;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAE3F,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,gBAAgB,EAAE,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1D,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE;SACvC;QACD,SAAS;QACT,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CACzB,WAAqC,EACrC,IAAmC,EACnC,OAAiB;IAEjB,MAAM,iBAAiB,GAAG,WAAW;SAClC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAC1E,CACF,CAAC;IAEF,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAkB,EAAE,MAAM,EAAE,gBAAyB,EAAE,CAAC;QACrF,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAa,EAAE,CAAC;QAC7C,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAE9E,CAAC;QACF,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,OAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACxF,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC;AAmBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IACxC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4D1B,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Map command — thin handler over the Map Capability
3
+ * (tech-plan §2b, §8).
4
+ *
5
+ * The handler applies parse-level validation (URL scheme), delegates to
6
+ * `capability.fetch(request)` through the generic shared execution
7
+ * wrapper (`executeCachedOperation`), then projects the normalized
8
+ * `MapResult` into the public envelope. The Adapter owns URL validation,
9
+ * credentials, transport, raw response parsing, cache identity, and
10
+ * error normalization; the handler owns output-mode presentation only
11
+ * (no per-page projection — Map returns URLs only).
12
+ *
13
+ * Provider selection, capability support, configuration, Adapter
14
+ * construction, and adapter.map agreement live in `src/index.ts`.
15
+ */
16
+ import type { CommandContext, CommandResult } from "../command-invocation.js";
17
+ import type { MapCapability } from "../capabilities/map.js";
18
+ import type { ExecutionDependencies } from "../lib/execution.js";
19
+ export interface MapOptions {
20
+ readonly depth?: number;
21
+ readonly breadth?: number;
22
+ readonly limit?: number;
23
+ readonly selectPaths?: string;
24
+ readonly excludePaths?: string;
25
+ readonly instructions?: string;
26
+ readonly noCache?: boolean;
27
+ }
28
+ /**
29
+ * Dependencies injected by `src/index.ts` after Provider selection,
30
+ * capability support check, configuration check, Adapter construction,
31
+ * and adapter.map agreement.
32
+ */
33
+ export interface MapHandlerDependencies {
34
+ readonly capability: MapCapability;
35
+ readonly execution: ExecutionDependencies;
36
+ }
37
+ export declare function map(url: string, options: MapOptions | undefined, deps: MapHandlerDependencies, _context?: CommandContext): Promise<CommandResult>;
38
+ export declare const MAP_HELP: string;
39
+ //# sourceMappingURL=map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AASjE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;CAC3C;AA2CD,wBAAsB,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,UAAU,YAAK,EACxB,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,CAAC,CAsBxB;AAQD,eAAO,MAAM,QAAQ,QA0Cb,CAAC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Map command — thin handler over the Map Capability
3
+ * (tech-plan §2b, §8).
4
+ *
5
+ * The handler applies parse-level validation (URL scheme), delegates to
6
+ * `capability.fetch(request)` through the generic shared execution
7
+ * wrapper (`executeCachedOperation`), then projects the normalized
8
+ * `MapResult` into the public envelope. The Adapter owns URL validation,
9
+ * credentials, transport, raw response parsing, cache identity, and
10
+ * error normalization; the handler owns output-mode presentation only
11
+ * (no per-page projection — Map returns URLs only).
12
+ *
13
+ * Provider selection, capability support, configuration, Adapter
14
+ * construction, and adapter.map agreement live in `src/index.ts`.
15
+ */
16
+ import { executeCachedOperation } from "../lib/execution.js";
17
+ import { OUTPUT_MODES } from "../lib/output.js";
18
+ import { ValidationError } from "../lib/errors.js";
19
+ // ---------------------------------------------------------------------------
20
+ // Parse-level validation
21
+ // ---------------------------------------------------------------------------
22
+ function validateUrl(url) {
23
+ if (!url.startsWith("http://") && !url.startsWith("https://")) {
24
+ throw new ValidationError("URL must start with http:// or https://");
25
+ }
26
+ }
27
+ // ---------------------------------------------------------------------------
28
+ // Request builder
29
+ // ---------------------------------------------------------------------------
30
+ /**
31
+ * Build the Provider-neutral MapRequest from MapOptions. Only fields
32
+ * that affect the Provider request or the cache identity appear here;
33
+ * `--no-cache` and output mode never enter the request.
34
+ */
35
+ function buildMapRequest(url, options) {
36
+ const request = { url };
37
+ if (options.depth !== undefined)
38
+ request.depth = options.depth;
39
+ if (options.breadth !== undefined)
40
+ request.breadth = options.breadth;
41
+ if (options.limit !== undefined)
42
+ request.limit = options.limit;
43
+ if (options.selectPaths !== undefined)
44
+ request.selectPaths = options.selectPaths;
45
+ if (options.excludePaths !== undefined)
46
+ request.excludePaths = options.excludePaths;
47
+ if (options.instructions !== undefined)
48
+ request.instructions = options.instructions;
49
+ return request;
50
+ }
51
+ function buildMapPresentations(urls) {
52
+ const compact = urls.join("\n");
53
+ const markdown = urls.map((u, i) => `${i + 1}. ${u}`).join("\n");
54
+ const refs = urls.map((u, i) => `[${i + 1}] ${u}`).join("\n");
55
+ return { compact, markdown, refs, tty: markdown };
56
+ }
57
+ // ---------------------------------------------------------------------------
58
+ // Handler
59
+ // ---------------------------------------------------------------------------
60
+ export async function map(url, options = {}, deps, _context) {
61
+ validateUrl(url);
62
+ const request = buildMapRequest(url, options);
63
+ const result = await executeCachedOperation(deps.capability.fetch, request, { noCache: options.noCache === true }, deps.execution);
64
+ // Map returns URLs only — no per-page projection or truncation.
65
+ // The envelope is the normalized result verbatim.
66
+ const envelope = {
67
+ schemaVersion: result.schemaVersion,
68
+ baseUrl: result.baseUrl,
69
+ urls: result.urls,
70
+ totalUrls: result.totalUrls,
71
+ };
72
+ return { kind: "data", data: envelope, presentations: buildMapPresentations(result.urls) };
73
+ }
74
+ // ---------------------------------------------------------------------------
75
+ // Help
76
+ // ---------------------------------------------------------------------------
77
+ const OUTPUT_MODE_LIST = OUTPUT_MODES.join(" | ");
78
+ export const MAP_HELP = `
79
+ Map Command - Discover the URL structure of a website (Provider Capability)
80
+
81
+ Usage: scoutline map <url> [options]
82
+
83
+ Maps a website starting from <url>, returning the discovered URL set
84
+ without fetching page contents. Use this for site structure discovery
85
+ before deciding which pages to crawl or read.
86
+
87
+ Provider selection (precedence: --provider, then SCOUTLINE_PROVIDER,
88
+ then the configured default):
89
+ - Tavily advertises the map Capability and supplies the Adapter.
90
+ - Z.AI and MiniMax do NOT advertise map. Selecting them returns
91
+ UNSUPPORTED_CAPABILITY with no fallback.
92
+
93
+ Options:
94
+ --depth <n> Map depth, 1-5 (default: 1)
95
+ --breadth <n> Max links to follow per page, 1-500 (default: 20)
96
+ --limit <n> Total URLs to discover (default: 50)
97
+ --select-paths <rx> Comma-separated regex patterns to select URL paths
98
+ --exclude-paths <rx> Comma-separated regex patterns to exclude URL paths
99
+ --instructions <t> Natural language instructions for page selection
100
+ --no-cache Bypass the response cache for this invocation
101
+
102
+ Common Options:
103
+ --provider <id> Override the active Provider (zai | minimax | tavily)
104
+ --output-format <mode> One of: ${OUTPUT_MODE_LIST} (default: data)
105
+ -O <mode> Alias for --output-format
106
+
107
+ Output format (schema-version-1):
108
+ {
109
+ "schemaVersion": 1,
110
+ "baseUrl": "<the URL you passed>",
111
+ "urls": ["<discovered URL>", ...],
112
+ "totalUrls": <number>
113
+ }
114
+
115
+ Examples:
116
+ scoutline map https://docs.example.com
117
+ scoutline map https://example.com --depth 2 --breadth 10 --limit 20
118
+ scoutline map https://docs.example.com --select-paths "/api/.*,/guide/.*"
119
+ scoutline --provider tavily map https://example.com --depth 3
120
+ `.trim();
121
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM7E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;CAC3C;AAkID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,YAAK,EACzB,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAaD,eAAO,MAAM,SAAS,QAwFd,CAAC"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM7E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;CAC3C;AAkID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,YAAK,EACzB,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAaD,eAAO,MAAM,SAAS,QA8Fd,CAAC"}
@@ -229,6 +229,11 @@ then zai):
229
229
  - The 'read' command participates in Provider selection.
230
230
  - Z.AI advertises the reader Capability and supplies the Adapter;
231
231
  selecting zai routes Read through it.
232
+ - Tavily also advertises the reader Capability (powered by the
233
+ Tavily extract endpoint). Selecting tavily routes Read through
234
+ the Tavily Adapter. Some Z.AI-only options
235
+ (--with-links, --no-gfm, --keep-img-data-url, --with-images-summary)
236
+ are rejected with UNSUPPORTED_OPTION when tavily is selected.
232
237
  - MiniMax does NOT advertise reader. Selecting minimax (explicitly
233
238
  or via SCOUTLINE_PROVIDER) returns UNSUPPORTED_CAPABILITY with
234
239
  no fallback to Z.AI.
@@ -250,7 +255,7 @@ Options:
250
255
  code | links | tables | headings
251
256
 
252
257
  Common Options:
253
- --provider <id> Override the active Provider (zai | minimax)
258
+ --provider <id> Override the active Provider (zai | minimax | tavily)
254
259
  --output-format <mode> One of: ${OUTPUT_MODE_LIST} (default: data)
255
260
  -O <mode> Alias for --output-format
256
261
 
@@ -301,5 +306,6 @@ Examples:
301
306
  scoutline read https://example.com/page --extract links # links
302
307
  scoutline read https://en.wikipedia.org/wiki/X --extract headings # section outline
303
308
  scoutline --provider minimax read https://example.com/ # UNSUPPORTED_CAPABILITY
309
+ scoutline --provider tavily read https://example.com/ # Tavily-backed extract
304
310
  `.trim();
305
311
  //# sourceMappingURL=read.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Research command — thin handler over the Research Capability
3
+ * (tech-plan §2c, §3, §8).
4
+ *
5
+ * Research runs an asynchronous create→poll lifecycle server-side and
6
+ * costs 4-250 credits per request. The handler shows a wait disclaimer
7
+ * before invoke, sets up a Ctrl-C signal handler that prints the
8
+ * request_id + resume command, and applies `--max-chars` as a report
9
+ * projection after the cached normalized result is produced.
10
+ *
11
+ * The Adapter's `invoke()` owns the full lifecycle (state-file resume,
12
+ * POST, poll loop, completion/failure/404 handling); shared execution
13
+ * wraps it with cache + zero-retry.
14
+ *
15
+ * Provider selection, capability support, configuration, Adapter
16
+ * construction, and adapter.research agreement live in `src/index.ts`.
17
+ *
18
+ * Cache stores the full report; `--max-chars` is a handler projection.
19
+ */
20
+ import type { CommandContext, CommandResult } from "../command-invocation.js";
21
+ import type { ResearchCapability } from "../capabilities/research.js";
22
+ import type { ExecutionDependencies } from "../lib/execution.js";
23
+ export interface ResearchOptions {
24
+ readonly model?: "mini" | "pro" | "auto";
25
+ readonly outputLength?: "short" | "standard" | "long";
26
+ readonly citationFormat?: "numbered" | "mla" | "apa" | "chicago";
27
+ readonly domain?: string;
28
+ readonly maxChars?: number;
29
+ /** Polling timeout in seconds. Default 300. */
30
+ readonly timeout?: number;
31
+ readonly noCache?: boolean;
32
+ }
33
+ /**
34
+ * Dependencies injected by `src/index.ts` after Provider selection,
35
+ * capability support check, configuration check, Adapter construction,
36
+ * and adapter.research agreement.
37
+ */
38
+ export interface ResearchHandlerDependencies {
39
+ readonly capability: ResearchCapability;
40
+ readonly execution: ExecutionDependencies;
41
+ /**
42
+ * Registers a Ctrl-C (SIGINT) handler before invoke. Receives a
43
+ * `print` callback (already bound to the request identity) that
44
+ * reads the state file and prints the request_id + resume command.
45
+ * Returns a cleanup function that removes the handler after the
46
+ * operation completes. Production wires `process.on('SIGINT', ...)`;
47
+ * tests inject a recorder or no-op.
48
+ */
49
+ readonly registerInterrupt?: (print: () => void) => () => void;
50
+ }
51
+ export declare function validateModel(value: unknown): "mini" | "pro" | "auto" | undefined;
52
+ export declare function validateOutputLength(value: unknown): "short" | "standard" | "long" | undefined;
53
+ export declare function validateCitationFormat(value: unknown): "numbered" | "mla" | "apa" | "chicago" | undefined;
54
+ /**
55
+ * Format the Ctrl-C interrupt message. Pure and exported so tests verify
56
+ * the request_id and resume command appear in the output without
57
+ * simulating a real SIGINT. The message goes to stderr.
58
+ */
59
+ export declare function formatInterruptMessage(requestId: string, resumeCommand: string): string;
60
+ export declare function research(query: string, options: ResearchOptions | undefined, deps: ResearchHandlerDependencies, _context?: CommandContext): Promise<CommandResult>;
61
+ export declare const RESEARCH_HELP: string;
62
+ //# sourceMappingURL=research.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/commands/research.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAWjE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CAChE;AAUD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAgBjF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAgB9F;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAgBpD;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAUvF;AAqGD,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,YAAK,EAC7B,IAAI,EAAE,2BAA2B,EACjC,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,CAAC,CAiGxB;AAQD,eAAO,MAAM,aAAa,QAiDlB,CAAC"}