scoutline 0.14.11 → 0.16.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 +88 -16
- package/dist/capabilities/diagnostics.d.ts +7 -0
- package/dist/capabilities/diagnostics.d.ts.map +1 -1
- package/dist/capabilities/diagnostics.js.map +1 -1
- package/dist/capabilities/repository.d.ts +96 -0
- package/dist/capabilities/repository.d.ts.map +1 -1
- package/dist/capabilities/repository.js.map +1 -1
- package/dist/commands/cache.d.ts +38 -0
- package/dist/commands/cache.d.ts.map +1 -1
- package/dist/commands/cache.js +64 -5
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/config.d.ts +69 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +184 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +6 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +9 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +87 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/repo.d.ts +96 -1
- package/dist/commands/repo.d.ts.map +1 -1
- package/dist/commands/repo.js +420 -0
- package/dist/commands/repo.js.map +1 -1
- package/dist/commands/search.d.ts +150 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +368 -27
- package/dist/commands/search.js.map +1 -1
- package/dist/index.d.ts +199 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +437 -19
- package/dist/index.js.map +1 -1
- package/dist/lib/cache.d.ts +111 -7
- package/dist/lib/cache.d.ts.map +1 -1
- package/dist/lib/cache.js +316 -7
- package/dist/lib/cache.js.map +1 -1
- package/dist/lib/config-store.d.ts +129 -4
- package/dist/lib/config-store.d.ts.map +1 -1
- package/dist/lib/config-store.js +428 -5
- package/dist/lib/config-store.js.map +1 -1
- package/dist/lib/config.js +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/url.d.ts +43 -0
- package/dist/lib/url.d.ts.map +1 -0
- package/dist/lib/url.js +172 -0
- package/dist/lib/url.js.map +1 -0
- package/dist/providers/selection.d.ts +40 -0
- package/dist/providers/selection.d.ts.map +1 -1
- package/dist/providers/selection.js +82 -0
- package/dist/providers/selection.js.map +1 -1
- package/dist/providers/types.d.ts +7 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +24 -0
- package/dist/providers/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
|
|
16
16
|
## Features
|
|
17
17
|
|
|
18
|
-
- **Vision** - Analyze images, screenshots, diagrams, charts, videos using GLM-
|
|
18
|
+
- **Vision** - Analyze images, screenshots, diagrams, charts, videos using GLM-5V-Turbo
|
|
19
19
|
- **Search** - Real-time web search with domain and recency filtering
|
|
20
20
|
- **Reader** - Fetch and parse web pages to markdown
|
|
21
21
|
- **Repo** - Search and read GitHub repository code via ZRead
|
|
22
22
|
- **Tools** - MCP tool discovery, schemas, and raw calls
|
|
23
23
|
- **Code Mode** - TypeScript tool chaining for agent automation
|
|
24
|
-
- **Provider selection** - Run shared capabilities through Z.AI, MiniMax, Tavily, Exa, Brave, or
|
|
24
|
+
- **Provider selection** - Run shared capabilities through Z.AI, MiniMax, Tavily, Exa, Brave, Firecrawl, Parallel AI, Perplexity, or Jina AI
|
|
25
25
|
|
|
26
26
|
## Quick Start
|
|
27
27
|
|
|
@@ -113,7 +113,17 @@ Shared commands (`search`, `vision`, `quota`, `doctor`, `repo`) accept a global
|
|
|
113
113
|
|
|
114
114
|
1. Explicit `--provider <zai|minimax|tavily|exa|brave|firecrawl|parallel|perplexity|jina>` on the command line
|
|
115
115
|
2. `SCOUTLINE_PROVIDER` environment variable
|
|
116
|
-
3.
|
|
116
|
+
3. Per-capability **routing table** (`config.json` `routing` key; the first
|
|
117
|
+
configured, capable provider in the list wins — over quota ranking)
|
|
118
|
+
4. Quota-ranked pick among configured, capable providers (registry-order tiebreak)
|
|
119
|
+
|
|
120
|
+
Set a standing preference once and skip per-command flags:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
scoutline config set routing.search tavily,brave # search prefers Tavily, then Brave
|
|
124
|
+
scoutline config set routing.crawl firecrawl
|
|
125
|
+
scoutline config get routing # view the effective table
|
|
126
|
+
```
|
|
117
127
|
|
|
118
128
|
Examples:
|
|
119
129
|
|
|
@@ -125,7 +135,7 @@ scoutline --provider minimax search "React 19 features"
|
|
|
125
135
|
export SCOUTLINE_PROVIDER=minimax
|
|
126
136
|
scoutline quota
|
|
127
137
|
|
|
128
|
-
# 3.
|
|
138
|
+
# 3/4. Routing table, then quota-ranked pick, when nothing is supplied
|
|
129
139
|
scoutline search "TypeScript best practices"
|
|
130
140
|
```
|
|
131
141
|
|
|
@@ -153,6 +163,48 @@ for the rationale
|
|
|
153
163
|
and the accepted async double-charge risk on `crawl` / `map` /
|
|
154
164
|
`research`.
|
|
155
165
|
|
|
166
|
+
### Search Fan-Out (multi-provider search)
|
|
167
|
+
|
|
168
|
+
For `search` only, one query can run across several providers in parallel
|
|
169
|
+
and merge into a single deduplicated list
|
|
170
|
+
([ADR-0004](https://github.com/vikasagarwal101/scoutline/blob/main/docs/adr/0004-multi-provider-search-fanout.md)).
|
|
171
|
+
Activation tiers, highest precedence first:
|
|
172
|
+
|
|
173
|
+
1. `--provider tavily,exa` (comma list) or `--provider all` — fan-out on
|
|
174
|
+
the listed providers; `all` expands to every configured search
|
|
175
|
+
provider in registry order.
|
|
176
|
+
2. A single `--provider <id>` or `SCOUTLINE_PROVIDER` — single provider;
|
|
177
|
+
an explicit pin, fan-out is ignored.
|
|
178
|
+
3. `scoutline config set fanout true` (no pin) — fan-out on
|
|
179
|
+
`routing.search` when set, else every configured search provider.
|
|
180
|
+
Default is **false**; remove the standing switch with
|
|
181
|
+
`scoutline config unset fanout`.
|
|
182
|
+
4. No pin and fan-out off — single provider via the standard selection
|
|
183
|
+
order.
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
scoutline --provider tavily,exa search "rust async runtimes"
|
|
187
|
+
scoutline --provider all search "AI policy news"
|
|
188
|
+
scoutline config set fanout true # standing preference (default off)
|
|
189
|
+
scoutline config unset fanout # remove the standing switch
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Cost:** every search will bill ALL configured search providers — N arms
|
|
193
|
+
= N billable calls (when `routing.search` is set, only the eligible
|
|
194
|
+
routed providers — configured and search-capable — are billed;
|
|
195
|
+
`config set fanout true` names exactly those). Arms run in parallel (one client each,
|
|
196
|
+
pinned — no per-arm fallback); a provider that rejects a search control
|
|
197
|
+
drops with a stderr notice and never fails the invocation. Results are
|
|
198
|
+
deduplicated by canonical URL identity (scheme/host lowercased, default
|
|
199
|
+
ports, fragments, trailing slashes, and `utm_*`/`fbclid` parameters
|
|
200
|
+
removed — tracking names are matched after percent-decoding, the raw path
|
|
201
|
+
and userinfo are preserved, and the original URLs are kept in output),
|
|
202
|
+
ranked by cross-provider occurrences, and each result carries `mergedFrom`
|
|
203
|
+
listing the providers that returned it. `--merge` composes with fan-out:
|
|
204
|
+
every arm runs every sub-query and occurrences span the arms ×
|
|
205
|
+
sub-queries grid. Disable the standing switch with
|
|
206
|
+
`scoutline config set fanout false`.
|
|
207
|
+
|
|
156
208
|
## Capability Matrix
|
|
157
209
|
|
|
158
210
|
The matrix below is generated from the production provider registry
|
|
@@ -173,13 +225,13 @@ Provider selection, and `doctor`.
|
|
|
173
225
|
| `vision.chart` | Yes | Pending | No | No | No | No | No | No | No | Implemented, pending live conformance |
|
|
174
226
|
| `vision.diff` (image diff) | Yes | No | No | No | No | No | No | No | No | Z.AI-only (never MiniMax-claimable) |
|
|
175
227
|
| `vision.video` | Yes | No | No | No | No | No | No | No | No | Z.AI-only (never MiniMax-claimable) |
|
|
176
|
-
| `quota` | Yes | Yes | Yes | No | Yes | Yes (credits) | No | No |
|
|
228
|
+
| `quota` | Yes | Yes | Yes | No | Yes | Yes (credits) | No | No | Yes (rate-limit telemetry, not spend) | Normalized `QuotaDashboard` (ADR-0001) |
|
|
177
229
|
| `diagnostics` (`doctor`) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Lists every Provider; probes configured |
|
|
178
230
|
| `read` (Reader) | Yes | **No** | Yes | Yes | No | Yes | Yes | No | Yes | Parallel (Extract API) & Jina add Reader support |
|
|
179
231
|
| `crawl` | **No** | **No** | Yes | No | No | Yes (async) | No | No | No | Tavily sync; Firecrawl async (resumable after Ctrl-C) |
|
|
180
232
|
| `map` | **No** | **No** | Yes | No | No | Yes | No | No | No | URL-set discovery; no per-page content |
|
|
181
233
|
| `research` | **No** | **No** | Yes | Yes | **No** | **No** | Yes | Yes | Yes | Tavily, Exa, Parallel, Perplexity `sonar-deep-research`, and Jina DeepSearch report synthesis |
|
|
182
|
-
| `repo search` / `repo read` / `repo tree` | Yes | **No** | **No** | **No** | **No** | **No** | **No** | **No** | **No** | Participates in selection; only Z.AI supplies `repository-exploration` |
|
|
234
|
+
| `repo search` / `repo read` / `repo tree` / `repo brief` | Yes | **No** | **No** | **No** | **No** | **No** | **No** | **No** | **No** | Participates in selection; only Z.AI supplies `repository-exploration` |
|
|
183
235
|
| `tools`, `tool`, `call` (Raw tools) | Yes | No | No | No | No | No | No | No | No | Z.AI-only; accepts but ignores `--provider` |
|
|
184
236
|
| `code` (Code Mode) | Yes | No | No | No | No | No | No | No | No | Z.AI-only; accepts but ignores `--provider` |
|
|
185
237
|
|
|
@@ -267,7 +319,7 @@ scoutline search --help # Search options
|
|
|
267
319
|
scoutline repo --help # GitHub repo commands
|
|
268
320
|
scoutline doctor --help # Provider diagnostics
|
|
269
321
|
scoutline quota --help # Plan usage
|
|
270
|
-
scoutline cache --help # Local cache inspection and
|
|
322
|
+
scoutline cache --help # Local cache inspection, clearing, and pruning
|
|
271
323
|
```
|
|
272
324
|
|
|
273
325
|
### Examples
|
|
@@ -297,6 +349,8 @@ scoutline repo search vercel/next.js "app router"
|
|
|
297
349
|
scoutline repo read anthropics/anthropic-sdk-python README.md
|
|
298
350
|
scoutline repo search openai/codex "config" --language en
|
|
299
351
|
scoutline repo tree openai/codex --path codex-rs --depth 2
|
|
352
|
+
scoutline repo brief facebook/react
|
|
353
|
+
scoutline repo brief openai/codex --focus readme,manifest --max-chars 2000
|
|
300
354
|
|
|
301
355
|
# Quota - effective or all providers
|
|
302
356
|
scoutline quota # effective Provider
|
|
@@ -307,9 +361,16 @@ scoutline doctor # full diagnostics
|
|
|
307
361
|
scoutline doctor --no-tools # metadata only, no transport
|
|
308
362
|
scoutline doctor --provider minimax # MiniMax connectivity
|
|
309
363
|
|
|
310
|
-
# Cache - inspect or
|
|
311
|
-
scoutline cache stats #
|
|
364
|
+
# Cache - inspect, clear, or prune the local cache
|
|
365
|
+
scoutline cache stats # inventory of both subdirectories (live/expired, per provider and capability)
|
|
312
366
|
scoutline cache clear # delete every file under cache/ and tools/
|
|
367
|
+
scoutline cache prune # delete expired entries (effective TTL threshold)
|
|
368
|
+
scoutline cache prune --older-than 168h --provider zai # age override + selectors (AND together)
|
|
369
|
+
|
|
370
|
+
# Config - inspect and change settings (scriptable, always redacted)
|
|
371
|
+
scoutline config get # full config dump (credentials masked)
|
|
372
|
+
scoutline config set routing.search tavily,brave
|
|
373
|
+
scoutline config unset routing.search
|
|
313
374
|
```
|
|
314
375
|
|
|
315
376
|
## Output Format
|
|
@@ -351,6 +412,9 @@ one-line cache summary under the `cache` field.
|
|
|
351
412
|
|
|
352
413
|
- `repo search` defaults to English results. Use `--language zh` for Chinese.
|
|
353
414
|
- `repo tree` supports `--path` (directory scope) and `--depth` (expand subtrees).
|
|
415
|
+
- `repo brief` composes tree + search + read into one schema-version-1
|
|
416
|
+
`RepositoryBrief` envelope; `--focus` subsets the sealed set
|
|
417
|
+
`structure, readme, manifest, files` (default all four).
|
|
354
418
|
- `quota --all-providers` exits 1 if any configured Provider fails; successful
|
|
355
419
|
entries are still reported.
|
|
356
420
|
- `doctor` exits 1 when the effective Provider is unconfigured or any
|
|
@@ -358,14 +422,14 @@ one-line cache summary under the `cache` field.
|
|
|
358
422
|
- `read` returns a schema-version-1 envelope (content read or extract read) in every output mode. `--with-images-summary`, `--no-gfm`, and `--keep-img-data-url` are passed through to the Provider request. `--max-chars` is ignored on extract reads; `--full-envelope` is silently deprecated.
|
|
359
423
|
- Vision tool calls automatically retry transient 5xx/network errors (default: 2 retries). Configure with `ZAI_MCP_VISION_RETRY_COUNT` (or `ZAI_MCP_RETRY_COUNT` for all tools).
|
|
360
424
|
- Tool discovery can be cached to speed `tools`/`tool`/`doctor` (default: on, 24h TTL). The cache shares the unified root with the response cache; configure both via `SCOUTLINE_CACHE`, `SCOUTLINE_CACHE_TTL_MS`, `SCOUTLINE_CACHE_SIZE_MB`, and `SCOUTLINE_CACHE_DIR` (legacy aliases `ZAI_MCP_TOOL_CACHE*`, `ZAI_MCP_CACHE_DIR`, and `ZAI_CACHE*` are accepted silently).
|
|
361
|
-
- The local cache lives at `~/.scoutline/` (`cache/` for responses, `tools/` for tool discovery) on every platform. Inspect or
|
|
425
|
+
- The local cache lives at `~/.scoutline/` (`cache/` for responses, `tools/` for tool discovery) on every platform. Inspect, clear, or prune it with `scoutline cache stats`, `scoutline cache clear`, and `scoutline cache prune`. Prune deletes expired entries by their stored timestamp (`--older-than <24h|90m|30s|seconds>` replaces the TTL threshold; `--provider`/`--capability` narrow the response scan to v2 filenames — the tool cache is unpartitioned and is always scanned age-only).
|
|
362
426
|
|
|
363
427
|
## Repository Exploration (P6)
|
|
364
428
|
|
|
365
|
-
`scoutline repo search`, `scoutline repo read`,
|
|
366
|
-
participate in `--provider` selection. Z.AI
|
|
367
|
-
`repository-exploration` Capability and supplies it through
|
|
368
|
-
Repository Adapter. MiniMax and the other built-in Providers do not
|
|
429
|
+
`scoutline repo search`, `scoutline repo read`, `scoutline repo tree`, and
|
|
430
|
+
`scoutline repo brief` participate in `--provider` selection. Z.AI
|
|
431
|
+
advertises the `repository-exploration` Capability and supplies it through
|
|
432
|
+
the Z.AI Repository Adapter. MiniMax and the other built-in Providers do not
|
|
369
433
|
advertise it; by default (0.11.0+) Scoutline emits a stderr notice and
|
|
370
434
|
auto-reroutes to Z.AI. Under `--no-fallback` the preflight surfaces
|
|
371
435
|
`UNSUPPORTED_CAPABILITY` for the selected non-supplier before descriptor
|
|
@@ -375,8 +439,8 @@ the previous strict single-provider behavior.
|
|
|
375
439
|
|
|
376
440
|
### Breaking data-mode migration (v0.2 → v1)
|
|
377
441
|
|
|
378
|
-
The
|
|
379
|
-
every output mode. This is an intentional breaking change from the v0.2 raw
|
|
442
|
+
The `repo search`, `read`, `tree`, and `brief` successes return
|
|
443
|
+
**schema-version-1 structured values** in every output mode. This is an intentional breaking change from the v0.2 raw
|
|
380
444
|
Search/File strings and the depth-dependent raw Tree shape:
|
|
381
445
|
|
|
382
446
|
| Command | v0.2 (legacy, now obsolete) | v1 (current) |
|
|
@@ -384,6 +448,7 @@ Search/File strings and the depth-dependent raw Tree shape:
|
|
|
384
448
|
| `repo search` | Raw ZRead text with `<excerpt>` blocks | `{schemaVersion, repository, query, language, excerpts:[{text}], truncated, originalTextLength}` |
|
|
385
449
|
| `repo read` | Raw `<file_content>…</file_content>` body | `{schemaVersion, repository, path, content, truncated, originalContentLength}` |
|
|
386
450
|
| `repo tree` | `<structure>` block (depth 1 returned split/deep routes) | `{schemaVersion, repository, path, depth, snapshots:[{repository, path, entries:[{name, path, kind}]}]}` (structured at every depth, including depth 1) |
|
|
451
|
+
| `repo brief` | — (new command) | `{schemaVersion, repository, focus, coverage:{probes}, tree?, docs?, entryPoints?, files?:[{path, content, truncated, originalContentLength}], detected:{hasReadme, hasManifest, manifestKinds}}` (sections gated by `--focus`; `coverage` and `detected` always present) |
|
|
387
452
|
|
|
388
453
|
`data` mode emits the exact object above. `json` and `pretty` wrap it through
|
|
389
454
|
the standard success envelope. Text-oriented modes (`compact`, `markdown`,
|
|
@@ -416,6 +481,8 @@ projection applied to the normalized result after caching.
|
|
|
416
481
|
Provider order; the final retained excerpt is truncated and later excerpts
|
|
417
482
|
are omitted.
|
|
418
483
|
- `repo tree` → never character-limited.
|
|
484
|
+
- `repo brief` → forwarded verbatim to every search and read call (per-call
|
|
485
|
+
budget); the tree probe is never character-limited.
|
|
419
486
|
- Metadata, JSON envelopes, and Tree snapshots are not part of the budget.
|
|
420
487
|
|
|
421
488
|
### Empty results
|
|
@@ -441,6 +508,11 @@ never rewritten, migrated, or deleted. `--no-cache` performs no reads or
|
|
|
441
508
|
writes. Injected credentials drive the fingerprint and legacy-key
|
|
442
509
|
construction; ambient `process.env` is never reread.
|
|
443
510
|
|
|
511
|
+
`repo brief` is never cached as a unit: its probes reuse the per-operation
|
|
512
|
+
entries above, so a warm re-run still invokes the Explorer operations but
|
|
513
|
+
makes no new provider transport calls, and still produces byte-identical
|
|
514
|
+
output.
|
|
515
|
+
|
|
444
516
|
### Errors and lifecycle
|
|
445
517
|
|
|
446
518
|
Encoded MCP error envelopes are recognized before success parsing:
|
|
@@ -142,6 +142,13 @@ export interface DiagnosticsReport {
|
|
|
142
142
|
readonly schemaVersion: 2;
|
|
143
143
|
readonly effectiveProvider: ProviderId;
|
|
144
144
|
readonly capabilityMatrix: readonly CapabilityProviderEntry[];
|
|
145
|
+
/**
|
|
146
|
+
* Effective per-capability routing table (routing-table plan):
|
|
147
|
+
* the post-validation, post-drop table from config.json, embedded
|
|
148
|
+
* additively (absent when no routing is configured — older readers
|
|
149
|
+
* never see the key). Provider-neutral: ids only, no credentials.
|
|
150
|
+
*/
|
|
151
|
+
readonly routing?: Readonly<Record<string, readonly ProviderId[]>>;
|
|
145
152
|
readonly node: {
|
|
146
153
|
readonly version: string;
|
|
147
154
|
readonly visionMcpCompatible: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/capabilities/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/capabilities/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/capabilities/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAAE,cAAc,EAA2B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/capabilities/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAAE,cAAc,EAA2B,MAAM,kBAAkB,CAAC;AAoJ3E,8EAA8E;AAC9E,wCAAwC;AACxC,EAAE;AACF,6DAA6D;AAC7D,qEAAqE;AACrE,iEAAiE;AACjE,gEAAgE;AAChE,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAA0C;IAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEvD,qEAAqE;IACrE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhE,+DAA+D;IAC/D,qEAAqE;IACrE,uBAAuB;IACvB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC3C,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,oBAAoB;IACpB,MAAM,GAAG,GAA8B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACzD,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACpC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,UAAU,EAAE,CAAC;oBACf,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,uDAAuD,KAAK,6DAA6D,GAAG,GAAG,CAChI,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAA0B,EAAE,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IAKrD,MAAM,IAAI,GACR,KAAK,YAAY,cAAc,CAAC,CAAC,CAAE,KAAK,CAAC,IAA2B,CAAC,CAAC,CAAC,eAAe,CAAC;IACzF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,MAAM,GAAiE;QAC3E,IAAI;QACJ,OAAO;KACR,CAAC;IACF,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -126,6 +126,102 @@ export interface RepositoryTreeResult {
|
|
|
126
126
|
readonly depth: number;
|
|
127
127
|
readonly snapshots: readonly RepositoryDirectoryListing[];
|
|
128
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Sealed v1 probe set. Opening the set later is additive.
|
|
131
|
+
*/
|
|
132
|
+
export type RepoBriefFocus = "structure" | "readme" | "manifest" | "files";
|
|
133
|
+
/**
|
|
134
|
+
* Canonical kind set, in canonical priority order (used for cap-4 read
|
|
135
|
+
* selection; see DESIGN D1, D7). The README is always selected first
|
|
136
|
+
* when present; the manifests below are selected in this order.
|
|
137
|
+
*/
|
|
138
|
+
export type RepoManifestKind = "package.json" | "pyproject.toml" | "Cargo.toml" | "go.mod";
|
|
139
|
+
/**
|
|
140
|
+
* One record per Explorer call the brief attempted, in execution
|
|
141
|
+
* order. The label set is a closed vocabulary for stable consumer
|
|
142
|
+
* interpretation: `"tree"` for the tree probe; `"search:readme"` and
|
|
143
|
+
* `"search:manifest"` for the two search probes; `"read:<path>"` for
|
|
144
|
+
* each read probe (path is the repository-relative POSIX path that
|
|
145
|
+
* was requested); and the sentinel `"read:<files>"` for a read stage
|
|
146
|
+
* that ran no per-path probe (always `skipped` — see `reason`).
|
|
147
|
+
*/
|
|
148
|
+
export interface RepoBriefProbeRecord {
|
|
149
|
+
readonly kind: "tree" | "search" | "read";
|
|
150
|
+
readonly label: string;
|
|
151
|
+
/**
|
|
152
|
+
* ok — probe ran and returned a normalized result.
|
|
153
|
+
* failed — probe ran and threw; `error` is set.
|
|
154
|
+
* skipped — probe did not run: focus-excluded, dependency-failed,
|
|
155
|
+
* or no-selection (read stage requested, but the
|
|
156
|
+
* tree-derived selection was empty).
|
|
157
|
+
*/
|
|
158
|
+
readonly status: "ok" | "failed" | "skipped";
|
|
159
|
+
readonly error?: {
|
|
160
|
+
readonly code: string;
|
|
161
|
+
readonly message: string;
|
|
162
|
+
};
|
|
163
|
+
readonly reason?: "focus-excluded" | "dependency-failed" | "no-selection";
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Coverage section of the brief envelope. `probes` is total and
|
|
167
|
+
* ordered: one terminal record per Explorer call the brief attempted,
|
|
168
|
+
* plus one `read:<files>` sentinel record whenever the read stage ran
|
|
169
|
+
* no per-path probe — the stage was skipped (focus-excluded), its
|
|
170
|
+
* selection input failed (dependency-failed), or it was requested but
|
|
171
|
+
* the tree-derived selection was empty (no-selection). Consumers can
|
|
172
|
+
* therefore always read the read stage's outcome from `coverage`,
|
|
173
|
+
* never by inferring from missing records.
|
|
174
|
+
*/
|
|
175
|
+
export interface RepoBriefCoverage {
|
|
176
|
+
readonly probes: readonly RepoBriefProbeRecord[];
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Evidence entry: a selected key file, content verbatim from the
|
|
180
|
+
* normalized File result (path + truncation metadata unchanged).
|
|
181
|
+
*/
|
|
182
|
+
export interface RepoBriefFileEntry {
|
|
183
|
+
readonly path: string;
|
|
184
|
+
readonly content: string;
|
|
185
|
+
readonly truncated: boolean;
|
|
186
|
+
readonly originalContentLength: number;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Tree-derived booleans. `null` means the tree probe failed or was
|
|
190
|
+
* focus-excluded — never guessed from search excerpts.
|
|
191
|
+
*/
|
|
192
|
+
export interface RepoBriefDetected {
|
|
193
|
+
readonly hasReadme: boolean | null;
|
|
194
|
+
readonly hasManifest: boolean | null;
|
|
195
|
+
readonly manifestKinds: readonly RepoManifestKind[] | null;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* The brief envelope. `schemaVersion` is literally `1`; no
|
|
199
|
+
* timestamp, no randomness, no environment-derived fields
|
|
200
|
+
* (byte-determinism; see DESIGN D2). Field presence is governed by
|
|
201
|
+
* the presence matrix in SCHEMA.md.
|
|
202
|
+
*/
|
|
203
|
+
export interface RepositoryBrief {
|
|
204
|
+
readonly schemaVersion: 1;
|
|
205
|
+
/** "owner/repo" as validated by `validateRepo`. */
|
|
206
|
+
readonly repository: string;
|
|
207
|
+
/** Requested focus, validated against the sealed set, order preserved. */
|
|
208
|
+
readonly focus: readonly RepoBriefFocus[];
|
|
209
|
+
readonly coverage: RepoBriefCoverage;
|
|
210
|
+
/** Present iff `structure` ∈ focus AND the tree probe succeeded. */
|
|
211
|
+
readonly tree?: RepositoryTreeResult;
|
|
212
|
+
/** Present iff `readme` ∈ focus AND search:readme succeeded. */
|
|
213
|
+
readonly docs?: RepositorySearchResult;
|
|
214
|
+
/** Present iff `manifest` ∈ focus AND search:manifest succeeded. */
|
|
215
|
+
readonly entryPoints?: RepositorySearchResult;
|
|
216
|
+
/**
|
|
217
|
+
* Present iff `files` ∈ focus AND tree `ok` AND ≥1 selected read
|
|
218
|
+
* succeeded. Order: README first, then manifests in canonical
|
|
219
|
+
* kind order.
|
|
220
|
+
*/
|
|
221
|
+
readonly files?: readonly RepoBriefFileEntry[];
|
|
222
|
+
/** Always present; fields null when their derivation input is missing. */
|
|
223
|
+
readonly detected: RepoBriefDetected;
|
|
224
|
+
}
|
|
129
225
|
/**
|
|
130
226
|
* Provider-owned legacy cache candidate. Old Z.AI keys encode the
|
|
131
227
|
* raw v0.2 tool response; the Adapter supplies the decoder so shared
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/capabilities/repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/capabilities/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/capabilities/repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/capabilities/repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAiVH,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAC9E,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,gDAAgD;AAChD,EAAE;AACF,iCAAiC;AACjC,2EAA2E;AAC3E,qEAAqE;AACrE,YAAY;AACZ,sEAAsE;AACtE,mDAAmD;AACnD,iEAAiE;AACjE,kEAAkE;AAElE,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAAC,KAAc;IAChD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACvB,KAAK,IAAI,CAAC,CACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAExD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvE,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,QAAQ;QACR,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1E,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;KACnD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAC9C,KAAc;IAEd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEhD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/commands/cache.d.ts
CHANGED
|
@@ -49,6 +49,26 @@ export interface CacheClearReport {
|
|
|
49
49
|
readonly toolsCleared: number;
|
|
50
50
|
readonly bytesFreed: number;
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Mirror of {@link PruneCachesResult} in `src/lib/cache.ts`. Counts
|
|
54
|
+
* reflect actual deletions performed during the prune run.
|
|
55
|
+
*/
|
|
56
|
+
export interface CachePruneReport {
|
|
57
|
+
readonly prunedResponses: number;
|
|
58
|
+
readonly prunedTools: number;
|
|
59
|
+
readonly bytesFreed: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Selectors narrowing a prune run. All optional and AND together;
|
|
63
|
+
* mirrors {@link PruneSelectors} from `src/lib/cache.ts` (DESIGN D2/D3).
|
|
64
|
+
* The dispatcher parses `--older-than`/`--provider`/`--capability` into
|
|
65
|
+
* this shape and passes it to the production `pruneCaches`.
|
|
66
|
+
*/
|
|
67
|
+
export interface CachePruneSelectors {
|
|
68
|
+
readonly olderThanMs?: number;
|
|
69
|
+
readonly provider?: string;
|
|
70
|
+
readonly capability?: string;
|
|
71
|
+
}
|
|
52
72
|
/**
|
|
53
73
|
* Format a byte count as e.g. `"12.3 MB"`, `"8.2 KB"`, `"510 B"`. Used
|
|
54
74
|
* by `cache stats` presentation and by Doctor's one-line summary. Pure:
|
|
@@ -71,6 +91,11 @@ export declare function formatCacheStats(stats: CacheStatsReport): string;
|
|
|
71
91
|
* Format a clear result as a one-line TTY notice.
|
|
72
92
|
*/
|
|
73
93
|
export declare function formatCacheClear(result: CacheClearReport): string;
|
|
94
|
+
/**
|
|
95
|
+
* Format a prune result as a one-line TTY notice. Same voice as
|
|
96
|
+
* {@link formatCacheClear} (cleared vs pruned is the only swap).
|
|
97
|
+
*/
|
|
98
|
+
export declare function formatCachePrune(result: CachePruneReport): string;
|
|
74
99
|
/**
|
|
75
100
|
* Format the one-line Doctor cache summary from a `cacheStats()` value.
|
|
76
101
|
* The dispatcher calls this before invoking `buildDiagnosticsReport`;
|
|
@@ -90,6 +115,9 @@ export interface CacheStatsDependencies {
|
|
|
90
115
|
export interface CacheClearDependencies {
|
|
91
116
|
readonly clear: () => Promise<CacheClearReport>;
|
|
92
117
|
}
|
|
118
|
+
export interface CachePruneDependencies {
|
|
119
|
+
readonly prune: (selectors: CachePruneSelectors) => Promise<CachePruneReport>;
|
|
120
|
+
}
|
|
93
121
|
/**
|
|
94
122
|
* Run the `cache stats` subcommand. Returns the inventory as base data
|
|
95
123
|
* with a TTY presentation override. Exit code is always 0 on success;
|
|
@@ -102,5 +130,15 @@ export declare function cacheStatsCommand(deps: CacheStatsDependencies): Promise
|
|
|
102
130
|
* override.
|
|
103
131
|
*/
|
|
104
132
|
export declare function cacheClearCommand(deps: CacheClearDependencies): Promise<CommandResult<CacheClearReport>>;
|
|
133
|
+
/**
|
|
134
|
+
* Run the `cache prune` subcommand. Returns the count of pruned
|
|
135
|
+
* entries and bytes freed as base data with a TTY presentation
|
|
136
|
+
* override. Selectors are passed through to `deps.prune` verbatim
|
|
137
|
+
* (the dispatcher parses `--older-than`/`--provider`/`--capability`
|
|
138
|
+
* into this shape). Lock-timeout errors propagate so the
|
|
139
|
+
* dispatcher's error boundary emits the sanitized stderr envelope
|
|
140
|
+
* (DESIGN D5).
|
|
141
|
+
*/
|
|
142
|
+
export declare function cachePruneCommand(deps: CachePruneDependencies, selectors: CachePruneSelectors): Promise<CommandResult<CachePruneReport>>;
|
|
105
143
|
export declare const CACHE_HELP: string;
|
|
106
144
|
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,0BAA0B,CAAC;AAS9E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAClF,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/E;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWjD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAK5C;AAkBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAmBhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAMjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAOxE;AAMD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjD;
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,0BAA0B,CAAC;AAS9E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAClF,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/E;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWjD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAK5C;AAkBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAmBhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAMjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAMjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAOxE;AAMD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC/E;AAwBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAO1C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAO1C;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,sBAAsB,EAC5B,SAAS,EAAE,mBAAmB,GAC7B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAO1C;AAED,eAAO,MAAM,UAAU,QA0Df,CAAC"}
|
package/dist/commands/cache.js
CHANGED
|
@@ -111,6 +111,15 @@ export function formatCacheClear(result) {
|
|
|
111
111
|
`and ${result.toolsCleared} tool ${pluralEntry(result.toolsCleared)} ` +
|
|
112
112
|
`(${formatBytes(result.bytesFreed)} freed)`);
|
|
113
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Format a prune result as a one-line TTY notice. Same voice as
|
|
116
|
+
* {@link formatCacheClear} (cleared vs pruned is the only swap).
|
|
117
|
+
*/
|
|
118
|
+
export function formatCachePrune(result) {
|
|
119
|
+
return (`Pruned ${result.prunedResponses} response ${pluralEntry(result.prunedResponses)} ` +
|
|
120
|
+
`and ${result.prunedTools} tool ${pluralEntry(result.prunedTools)} ` +
|
|
121
|
+
`(${formatBytes(result.bytesFreed)} freed)`);
|
|
122
|
+
}
|
|
114
123
|
/**
|
|
115
124
|
* Format the one-line Doctor cache summary from a `cacheStats()` value.
|
|
116
125
|
* The dispatcher calls this before invoking `buildDiagnosticsReport`;
|
|
@@ -143,6 +152,11 @@ function clearPresentations(result) {
|
|
|
143
152
|
const text = formatCacheClear(result);
|
|
144
153
|
return { compact: text, markdown: text, refs: text, tty: text };
|
|
145
154
|
}
|
|
155
|
+
/** All text modes share the same one-line prune notice. */
|
|
156
|
+
function prunePresentations(result) {
|
|
157
|
+
const text = formatCachePrune(result);
|
|
158
|
+
return { compact: text, markdown: text, refs: text, tty: text };
|
|
159
|
+
}
|
|
146
160
|
/**
|
|
147
161
|
* Run the `cache stats` subcommand. Returns the inventory as base data
|
|
148
162
|
* with a TTY presentation override. Exit code is always 0 on success;
|
|
@@ -169,12 +183,30 @@ export async function cacheClearCommand(deps) {
|
|
|
169
183
|
presentations: clearPresentations(result),
|
|
170
184
|
};
|
|
171
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Run the `cache prune` subcommand. Returns the count of pruned
|
|
188
|
+
* entries and bytes freed as base data with a TTY presentation
|
|
189
|
+
* override. Selectors are passed through to `deps.prune` verbatim
|
|
190
|
+
* (the dispatcher parses `--older-than`/`--provider`/`--capability`
|
|
191
|
+
* into this shape). Lock-timeout errors propagate so the
|
|
192
|
+
* dispatcher's error boundary emits the sanitized stderr envelope
|
|
193
|
+
* (DESIGN D5).
|
|
194
|
+
*/
|
|
195
|
+
export async function cachePruneCommand(deps, selectors) {
|
|
196
|
+
const result = await deps.prune(selectors);
|
|
197
|
+
return {
|
|
198
|
+
kind: "data",
|
|
199
|
+
data: result,
|
|
200
|
+
presentations: prunePresentations(result),
|
|
201
|
+
};
|
|
202
|
+
}
|
|
172
203
|
export const CACHE_HELP = `
|
|
173
|
-
Cache - Inspect
|
|
204
|
+
Cache - Inspect, clear, or prune the local cache
|
|
174
205
|
|
|
175
206
|
Usage:
|
|
176
|
-
scoutline cache stats
|
|
177
|
-
scoutline cache clear
|
|
207
|
+
scoutline cache stats # show inventory of both cache subdirectories
|
|
208
|
+
scoutline cache clear # delete every file in both cache subdirectories
|
|
209
|
+
scoutline cache prune [--older-than <D>] [--provider <id>] [--capability <id>]
|
|
178
210
|
|
|
179
211
|
Subcommands:
|
|
180
212
|
stats Print the cache directory, status (enabled/disabled, TTL, size
|
|
@@ -185,19 +217,46 @@ Subcommands:
|
|
|
185
217
|
directories themselves are preserved so the next invocation
|
|
186
218
|
recreates entries without a directory-creation race. The
|
|
187
219
|
orphaned legacy ~/.cache/zai-cli/ directory is never touched.
|
|
220
|
+
prune Delete expired entries from both caches by stored timestamp
|
|
221
|
+
(DESIGN D1: ts, never mtime). Without flags, prune uses the
|
|
222
|
+
effective TTL; with --older-than, that duration replaces the
|
|
223
|
+
TTL. --provider and --capability narrow the response-cache
|
|
224
|
+
scan to v2 filenames only (DESIGN D2: legacy files are
|
|
225
|
+
age-selected, never selector-selected). --provider may appear
|
|
226
|
+
before or after the command token. Unknown
|
|
227
|
+
--provider/--capability values are NOT pre-validated — they
|
|
228
|
+
filename-match nothing in the response cache, while the
|
|
229
|
+
selector-free tool scan still prunes expired tool entries
|
|
230
|
+
(tool filenames are unpartitioned; DESIGN D4).
|
|
231
|
+
|
|
232
|
+
Duration syntax for --older-than (DESIGN D3): 24h, 90m, 30s, or a bare
|
|
233
|
+
integer (seconds). The value REPLACES the effective TTL. Example:
|
|
234
|
+
--older-than 1h prunes anything older than 1 hour even when the TTL is
|
|
235
|
+
24h.
|
|
188
236
|
|
|
189
237
|
The cache root defaults to ~/.scoutline/ on every platform; override it
|
|
190
238
|
with SCOUTLINE_CACHE_DIR (ZAI_MCP_CACHE_DIR and ZAI_CACHE_DIR are
|
|
191
239
|
accepted as lower-precedence legacy aliases). Disable both caches with
|
|
192
|
-
SCOUTLINE_CACHE=0 (legacy alias: ZAI_CACHE=0).
|
|
240
|
+
SCOUTLINE_CACHE=0 (legacy alias: ZAI_CACHE=0). A disabled cache does
|
|
241
|
+
NOT short-circuit prune: deletion is not a cache read/write (D6). With
|
|
242
|
+
no --older-than under a disabled cache, prune reports zeros (TTL of 0
|
|
243
|
+
means "no freshness rule", not "delete everything").
|
|
193
244
|
|
|
194
245
|
Exit codes:
|
|
195
246
|
0 Success.
|
|
196
|
-
1
|
|
247
|
+
1 Validation error (bad or valueless --older-than / --provider /
|
|
248
|
+
--capability, unknown subcommand) or I/O error including a
|
|
249
|
+
cache-write lock timeout (DESIGN D5: the prune scan serializes on
|
|
250
|
+
the response-dir lock a concurrent write holds; a lock-acquire
|
|
251
|
+
timeout throws and is reported as a sanitized FILE_ERROR JSON
|
|
252
|
+
error envelope).
|
|
197
253
|
|
|
198
254
|
Examples:
|
|
199
255
|
scoutline cache stats
|
|
200
256
|
scoutline cache clear
|
|
257
|
+
scoutline cache prune
|
|
258
|
+
scoutline cache prune --older-than 1h
|
|
259
|
+
scoutline cache prune --older-than 24h --provider zai --capability search
|
|
201
260
|
scoutline cache --help
|
|
202
261
|
`.trim();
|
|
203
262
|
//# sourceMappingURL=cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"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"}
|