scoutline 0.19.2 → 0.19.3
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 +26 -2
- package/dist/commands/doctor.d.ts +63 -7
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +72 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/availability.d.ts +95 -0
- package/dist/lib/availability.d.ts.map +1 -0
- package/dist/lib/availability.js +103 -0
- package/dist/lib/availability.js.map +1 -0
- package/dist/lib/quota-mapping.d.ts +16 -0
- package/dist/lib/quota-mapping.d.ts.map +1 -1
- package/dist/lib/quota-mapping.js +30 -0
- package/dist/lib/quota-mapping.js.map +1 -1
- package/dist/lib/tty.d.ts +18 -0
- package/dist/lib/tty.d.ts.map +1 -1
- package/dist/lib/tty.js +110 -0
- package/dist/lib/tty.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -409,6 +409,7 @@ scoutline quota --all-providers # every configured Provider
|
|
|
409
409
|
scoutline doctor # full diagnostics
|
|
410
410
|
scoutline doctor --no-tools # metadata only, no transport
|
|
411
411
|
scoutline doctor --provider minimax # MiniMax connectivity
|
|
412
|
+
scoutline doctor --available # availability-"ok" rows only
|
|
412
413
|
|
|
413
414
|
# Cache - inspect, clear, or prune the local cache
|
|
414
415
|
scoutline cache stats # inventory of both subdirectories (live/expired, per provider and capability)
|
|
@@ -466,7 +467,27 @@ Quota output is a schema-version-1 `QuotaDashboard`:
|
|
|
466
467
|
|
|
467
468
|
Doctor output is a schema-version-2 `DiagnosticsReport` listing every built-in
|
|
468
469
|
Provider with its configured state, declared capabilities, probe status, and a
|
|
469
|
-
one-line cache summary under the `cache` field.
|
|
470
|
+
one-line cache summary under the `cache` field. Every provider row also carries
|
|
471
|
+
an `availability` classification with the closed vocabulary
|
|
472
|
+
`ok | exhausted | error | unconfigured`: `exhausted` requires fresh
|
|
473
|
+
quota-snapshot evidence (a capability-relevant category at 0% remaining within
|
|
474
|
+
the 10-minute staleness gate) regardless of the probe outcome — a probe error
|
|
475
|
+
with fresh 0% evidence is `exhausted`, and a missing snapshot never fabricates
|
|
476
|
+
exhaustion. Rows are ordered healthy-first (`ok`, then `exhausted`, then
|
|
477
|
+
`error`, then `unconfigured`; same-class rows keep registry order), and the
|
|
478
|
+
top-level `availableProviders` array lists the `ok` providers in registry
|
|
479
|
+
order.
|
|
480
|
+
|
|
481
|
+
In an interactive terminal (the `tty` output mode), doctor renders the same
|
|
482
|
+
report as a human-friendly summary instead of JSON: a header with the
|
|
483
|
+
effective provider plus `capabilityMatrix`, routing, and cache summaries
|
|
484
|
+
(omitted when absent — never rendered as `undefined`), followed by every
|
|
485
|
+
provider row in the same healthy-first order. Each row carries an
|
|
486
|
+
availability glyph and label (`✓ ok`, `⚠ exhausted`, `✗ error`,
|
|
487
|
+
`· unconfigured`), the probe status, and snapshot source/age lines
|
|
488
|
+
(`quota snapshot · fresh (2m ago)` / `stale · non-authoritative`). Agents
|
|
489
|
+
capturing stdout and `data`/`json` modes keep the byte-identical JSON
|
|
490
|
+
payload — the summary is presentation-only.
|
|
470
491
|
|
|
471
492
|
## Notes
|
|
472
493
|
|
|
@@ -478,7 +499,10 @@ one-line cache summary under the `cache` field.
|
|
|
478
499
|
- `quota --all-providers` exits 1 if any configured Provider fails; successful
|
|
479
500
|
entries are still reported.
|
|
480
501
|
- `doctor` exits 1 when the effective Provider is unconfigured or any
|
|
481
|
-
configured probe fails; successful entries are still reported.
|
|
502
|
+
configured probe fails; successful entries are still reported. The
|
|
503
|
+
healthy-first row ordering never changes exit codes. `--available` filters
|
|
504
|
+
the `providers` array to the `availability: "ok"` rows; the
|
|
505
|
+
`availableProviders` summary is unchanged by the filter.
|
|
482
506
|
- `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.
|
|
483
507
|
- 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).
|
|
484
508
|
- 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).
|
|
@@ -18,9 +18,10 @@
|
|
|
18
18
|
* evaluation and constructs no Adapter and no transport (FR-034).
|
|
19
19
|
*/
|
|
20
20
|
import type { CommandResult } from "../command-invocation.js";
|
|
21
|
-
import type { DiagnosticsReport, ProviderVerificationSummary } from "../capabilities/diagnostics.js";
|
|
21
|
+
import type { DiagnosticsReport, ProviderDiagnostic, ProviderVerificationSummary } from "../capabilities/diagnostics.js";
|
|
22
22
|
import type { ProviderDescriptor, ProviderId } from "../providers/types.js";
|
|
23
23
|
import type { VerificationPromotionStore } from "../lib/config-store.js";
|
|
24
|
+
import { type ProviderAvailability } from "../lib/availability.js";
|
|
24
25
|
import { type QuotaState } from "../lib/quota-store.js";
|
|
25
26
|
export interface DoctorDiagnosticsDependencies {
|
|
26
27
|
readonly noTools: boolean;
|
|
@@ -103,6 +104,39 @@ export interface DoctorDiagnosticsDependencies {
|
|
|
103
104
|
* `quotaSnapshot` is supplied.
|
|
104
105
|
*/
|
|
105
106
|
readonly thresholdMs?: number;
|
|
107
|
+
/**
|
|
108
|
+
* When `true` (`--available`), the report's `providers` array is
|
|
109
|
+
* filtered to rows whose `availability` is `"ok"`. The
|
|
110
|
+
* `availableProviders` short list is computed BEFORE the filter and
|
|
111
|
+
* is unchanged by it, so the full diagnostic picture (who is
|
|
112
|
+
* exhausted, who errored) survives via the classification summary
|
|
113
|
+
* even in filtered mode. Availability classification itself always
|
|
114
|
+
* runs on every row, filtered or not.
|
|
115
|
+
*/
|
|
116
|
+
readonly availableOnly?: boolean;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* A {@link ProviderDiagnostic} row carrying the additive `availability`
|
|
120
|
+
* classification (#94). Additive under DiagnosticsReport schema
|
|
121
|
+
* version 2 (the documented PB-T5 additive-without-bump policy): the
|
|
122
|
+
* field is always present on rows built by
|
|
123
|
+
* {@link buildDiagnosticsReport}; older consumers that read the plain
|
|
124
|
+
* {@link ProviderDiagnostic} shape ignore it.
|
|
125
|
+
*/
|
|
126
|
+
export interface ProviderDiagnosticWithAvailability extends ProviderDiagnostic {
|
|
127
|
+
readonly availability: ProviderAvailability;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The {@link DiagnosticsReport} shape built by
|
|
131
|
+
* {@link buildDiagnosticsReport}: every provider row carries
|
|
132
|
+
* `availability` and the report carries `availableProviders` — the ids
|
|
133
|
+
* whose row availability is `"ok"`, in registry order (#94). Additive
|
|
134
|
+
* under schema version 2; older consumers reading the plain
|
|
135
|
+
* {@link DiagnosticsReport} shape are unaffected.
|
|
136
|
+
*/
|
|
137
|
+
export interface DiagnosticsReportWithAvailability extends DiagnosticsReport {
|
|
138
|
+
readonly providers: readonly ProviderDiagnosticWithAvailability[];
|
|
139
|
+
readonly availableProviders: readonly ProviderId[];
|
|
106
140
|
}
|
|
107
141
|
/**
|
|
108
142
|
* Build a schema-version-2 {@link DiagnosticsReport}. Inventory
|
|
@@ -121,8 +155,17 @@ export interface DoctorDiagnosticsDependencies {
|
|
|
121
155
|
* Doctor never live-probes quota — it only reads the snapshot. The
|
|
122
156
|
* `quota` field appears even under `--no-tools` (snapshot reads are
|
|
123
157
|
* local state, not transport).
|
|
158
|
+
*
|
|
159
|
+
* #94: every entry carries an `availability` classification
|
|
160
|
+
* (`ok` | `exhausted` | `error` | `unconfigured`), the rows are
|
|
161
|
+
* ordered healthy-first (class rank, then registry order — stable),
|
|
162
|
+
* and the report carries `availableProviders` (the ok rows in registry
|
|
163
|
+
* order). `deps.availableOnly` (`--available`) filters the rows array
|
|
164
|
+
* to the ok rows; `availableProviders` is unchanged by the filter.
|
|
165
|
+
* Additive under schema version 2 — see
|
|
166
|
+
* {@link DiagnosticsReportWithAvailability}.
|
|
124
167
|
*/
|
|
125
|
-
export declare function buildDiagnosticsReport(deps: DoctorDiagnosticsDependencies): Promise<
|
|
168
|
+
export declare function buildDiagnosticsReport(deps: DoctorDiagnosticsDependencies): Promise<DiagnosticsReportWithAvailability>;
|
|
126
169
|
/**
|
|
127
170
|
* Compute the doctor exit code from a finalized report. Exit 1 when the
|
|
128
171
|
* effective Provider is unconfigured or any configured probe errored;
|
|
@@ -135,17 +178,30 @@ export interface DoctorOptions {
|
|
|
135
178
|
}
|
|
136
179
|
/**
|
|
137
180
|
* Injectable dependencies for the doctor command. `buildReport` resolves
|
|
138
|
-
* the diagnostics report; the command only wraps
|
|
139
|
-
* exit-code selection.
|
|
181
|
+
* the availability-carrying diagnostics report; the command only wraps
|
|
182
|
+
* it for presentation and exit-code selection.
|
|
140
183
|
*/
|
|
141
184
|
export interface DoctorCommandDependencies {
|
|
142
|
-
readonly buildReport: () => Promise<
|
|
185
|
+
readonly buildReport: () => Promise<DiagnosticsReportWithAvailability>;
|
|
186
|
+
/**
|
|
187
|
+
* Optional clock for the TTY presentation's snapshot-age labels
|
|
188
|
+
* (T5 — #95). Defaults to `Date.now` — the same clock pattern the
|
|
189
|
+
* report builder's `now` uses; tests inject a fixed clock for
|
|
190
|
+
* deterministic age labels.
|
|
191
|
+
*/
|
|
192
|
+
readonly now?: () => number;
|
|
143
193
|
}
|
|
144
194
|
/**
|
|
145
195
|
* Run the doctor command. Returns the diagnostics report as base data
|
|
146
196
|
* with a computed exit code (1 when the effective Provider is
|
|
147
|
-
* unconfigured or any configured probe failed; otherwise 0).
|
|
197
|
+
* unconfigured or any configured probe failed; otherwise 0). T5 (#95):
|
|
198
|
+
* the result also carries a TTY presentation override —
|
|
199
|
+
* {@link formatDiagnosticsReport} rendered against the injected clock —
|
|
200
|
+
* so terminal (`tty` output mode) runs get the human-friendly
|
|
201
|
+
* healthy-first summary while the data payload itself stays
|
|
202
|
+
* byte-identical (the tty string is presentation-only and never enters
|
|
203
|
+
* `data`).
|
|
148
204
|
*/
|
|
149
|
-
export declare function doctor(deps: DoctorCommandDependencies): Promise<CommandResult<
|
|
205
|
+
export declare function doctor(deps: DoctorCommandDependencies): Promise<CommandResult<DiagnosticsReportWithAvailability>>;
|
|
150
206
|
export declare const DOCTOR_HELP: string;
|
|
151
207
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAEV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -21,7 +21,9 @@ import { deriveCapabilityMatrix, diagnosticErrorFromError } from "../capabilitie
|
|
|
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";
|
|
24
|
+
import { AVAILABILITY_CLASS_RANK, classifyAvailability, compareAvailabilityRows, } from "../lib/availability.js";
|
|
24
25
|
import { DEFAULT_QUOTA_STALE_THRESHOLD_MS, isQuotaSnapshotStale, } from "../lib/quota-store.js";
|
|
26
|
+
import { formatDiagnosticsReport } from "../lib/tty.js";
|
|
25
27
|
function nodeMajor() {
|
|
26
28
|
const [major] = process.versions.node.split(".");
|
|
27
29
|
return parseInt(major ?? "0", 10);
|
|
@@ -60,6 +62,15 @@ async function probeProvider(descriptor, env, sleep, random) {
|
|
|
60
62
|
* Doctor never live-probes quota — it only reads the snapshot. The
|
|
61
63
|
* `quota` field appears even under `--no-tools` (snapshot reads are
|
|
62
64
|
* local state, not transport).
|
|
65
|
+
*
|
|
66
|
+
* #94: every entry carries an `availability` classification
|
|
67
|
+
* (`ok` | `exhausted` | `error` | `unconfigured`), the rows are
|
|
68
|
+
* ordered healthy-first (class rank, then registry order — stable),
|
|
69
|
+
* and the report carries `availableProviders` (the ok rows in registry
|
|
70
|
+
* order). `deps.availableOnly` (`--available`) filters the rows array
|
|
71
|
+
* to the ok rows; `availableProviders` is unchanged by the filter.
|
|
72
|
+
* Additive under schema version 2 — see
|
|
73
|
+
* {@link DiagnosticsReportWithAvailability}.
|
|
63
74
|
*/
|
|
64
75
|
export async function buildDiagnosticsReport(deps) {
|
|
65
76
|
const secrets = configuredSecrets(deps.env);
|
|
@@ -98,7 +109,7 @@ export async function buildDiagnosticsReport(deps) {
|
|
|
98
109
|
};
|
|
99
110
|
};
|
|
100
111
|
const verificationFor = (provider) => deps.verificationRecords?.[provider];
|
|
101
|
-
const
|
|
112
|
+
const probed = deps.noTools
|
|
102
113
|
? baseEntries.map((entry) => ({
|
|
103
114
|
...entry,
|
|
104
115
|
status: "skipped",
|
|
@@ -109,6 +120,30 @@ export async function buildDiagnosticsReport(deps) {
|
|
|
109
120
|
: {}),
|
|
110
121
|
}))
|
|
111
122
|
: await probeEntries(baseEntries, deps, secrets, quotaFor, verificationFor);
|
|
123
|
+
// #94 — attach the availability classification to EVERY row (probe
|
|
124
|
+
// and --no-tools paths alike). Pure state reads: the freshness gate
|
|
125
|
+
// and the capability-relevant 0% evidence come from the injected
|
|
126
|
+
// snapshot; there is no transport here. A missing snapshot entry
|
|
127
|
+
// never fabricates exhaustion. Tools-disabled rows take the same
|
|
128
|
+
// snapshot rule (the gate is absence of evidence, not the flag);
|
|
129
|
+
// not-configured rows are `unconfigured`.
|
|
130
|
+
const withAvailability = probed.map((row) => ({
|
|
131
|
+
...row,
|
|
132
|
+
availability: classifyAvailability(row, deps.quotaSnapshot?.quota[row.provider], now),
|
|
133
|
+
}));
|
|
134
|
+
// #94 — `availableProviders` is the ok subset in REGISTRY order,
|
|
135
|
+
// computed from the pre-sort rows (which are in descriptor order) so
|
|
136
|
+
// the contract is registry-order-by-construction, not sort-order.
|
|
137
|
+
const availableProviders = withAvailability
|
|
138
|
+
.filter((row) => row.availability === "ok")
|
|
139
|
+
.map((row) => row.provider);
|
|
140
|
+
// #94 — healthy-first ordering (D7): primary key the availability
|
|
141
|
+
// class (ok < exhausted < error < unconfigured), secondary the
|
|
142
|
+
// registry rank; the sort is stable so same-class rows keep
|
|
143
|
+
// registry order. The same-status registry-order pins hold because
|
|
144
|
+
// the reordering only crosses class boundaries.
|
|
145
|
+
const registryRankById = new Map(deps.descriptors.map((descriptor, index) => [descriptor.id, index]));
|
|
146
|
+
const sorted = withAvailability.sort((a, b) => compareAvailabilityRows(a, b, (row) => AVAILABILITY_CLASS_RANK[row.availability], (row) => registryRankById.get(row.provider) ?? Number.MAX_SAFE_INTEGER));
|
|
112
147
|
// T3b — verification promotion (review item 10). After a successful
|
|
113
148
|
// probe, flip the matching Provider's `verification.status` from
|
|
114
149
|
// `unverified` to `verified`. Best-effort: a write failure is
|
|
@@ -116,10 +151,12 @@ export async function buildDiagnosticsReport(deps) {
|
|
|
116
151
|
// probe into a Doctor failure. Only `status: "ok"` records are
|
|
117
152
|
// promotable; skipped, failed, no-tools, and network-deferred
|
|
118
153
|
// records are not (the probe result is authoritative). Awaited so a
|
|
119
|
-
// subsequent read after Doctor completion is deterministic.
|
|
154
|
+
// subsequent read after Doctor completion is deterministic. Runs
|
|
155
|
+
// over the sorted UNFILTERED rows so `--available` never suppresses
|
|
156
|
+
// a promotion that a successful probe earned.
|
|
120
157
|
if (deps.verificationPromoter) {
|
|
121
158
|
const checkedAt = now;
|
|
122
|
-
for (const entry of
|
|
159
|
+
for (const entry of sorted) {
|
|
123
160
|
if (entry.status !== "ok")
|
|
124
161
|
continue;
|
|
125
162
|
try {
|
|
@@ -133,6 +170,11 @@ export async function buildDiagnosticsReport(deps) {
|
|
|
133
170
|
}
|
|
134
171
|
}
|
|
135
172
|
}
|
|
173
|
+
// #94 — `--available` filters the ROWS only; `availableProviders`
|
|
174
|
+
// (computed above, pre-filter) is unchanged by it.
|
|
175
|
+
const providers = deps.availableOnly
|
|
176
|
+
? sorted.filter((row) => row.availability === "ok")
|
|
177
|
+
: sorted;
|
|
136
178
|
// L1 fix: the cache summary is formatted by the CLI handler and
|
|
137
179
|
// threaded through deps.cacheSummary. The report builder only embeds
|
|
138
180
|
// it; it never reads `cacheStats()` itself.
|
|
@@ -149,6 +191,7 @@ export async function buildDiagnosticsReport(deps) {
|
|
|
149
191
|
visionMcpCompatible: nodeMajor() >= 22,
|
|
150
192
|
},
|
|
151
193
|
providers,
|
|
194
|
+
availableProviders,
|
|
152
195
|
...(cache !== undefined ? { cache } : {}),
|
|
153
196
|
};
|
|
154
197
|
}
|
|
@@ -223,13 +266,21 @@ export function doctorExitCode(report) {
|
|
|
223
266
|
/**
|
|
224
267
|
* Run the doctor command. Returns the diagnostics report as base data
|
|
225
268
|
* with a computed exit code (1 when the effective Provider is
|
|
226
|
-
* unconfigured or any configured probe failed; otherwise 0).
|
|
269
|
+
* unconfigured or any configured probe failed; otherwise 0). T5 (#95):
|
|
270
|
+
* the result also carries a TTY presentation override —
|
|
271
|
+
* {@link formatDiagnosticsReport} rendered against the injected clock —
|
|
272
|
+
* so terminal (`tty` output mode) runs get the human-friendly
|
|
273
|
+
* healthy-first summary while the data payload itself stays
|
|
274
|
+
* byte-identical (the tty string is presentation-only and never enters
|
|
275
|
+
* `data`).
|
|
227
276
|
*/
|
|
228
277
|
export async function doctor(deps) {
|
|
229
278
|
const report = await deps.buildReport();
|
|
279
|
+
const now = (deps.now ?? Date.now)();
|
|
230
280
|
return {
|
|
231
281
|
kind: "data",
|
|
232
282
|
data: report,
|
|
283
|
+
presentations: { tty: formatDiagnosticsReport(report, now) },
|
|
233
284
|
exitCode: doctorExitCode(report),
|
|
234
285
|
};
|
|
235
286
|
}
|
|
@@ -281,6 +332,18 @@ configured supplier when a non-supplier is selected; under
|
|
|
281
332
|
--no-fallback (or SCOUTLINE_NO_FALLBACK=1) the preflight surfaces
|
|
282
333
|
UNSUPPORTED_CAPABILITY for the selected non-supplier.
|
|
283
334
|
|
|
335
|
+
Availability and ordering: every provider row carries an
|
|
336
|
+
availability field with the closed vocabulary
|
|
337
|
+
"ok" | "exhausted" | "error" | "unconfigured". "exhausted" requires
|
|
338
|
+
fresh quota-snapshot evidence (a capability-relevant category at 0%
|
|
339
|
+
remaining within the 10-minute staleness gate) regardless of the
|
|
340
|
+
probe outcome — a probe error with fresh 0% evidence is "exhausted",
|
|
341
|
+
and a missing snapshot never fabricates exhaustion. Rows are
|
|
342
|
+
ordered healthy-first: ok, then exhausted, then error, then
|
|
343
|
+
unconfigured; same-class rows keep registry order (stable). The
|
|
344
|
+
availableProviders field lists the availability-"ok" providers in
|
|
345
|
+
registry order. Exit codes are unchanged by the ordering.
|
|
346
|
+
|
|
284
347
|
Public 'repo' and 'read' commands participate in Provider selection.
|
|
285
348
|
They honour --provider / SCOUTLINE_PROVIDER / the default zai, route
|
|
286
349
|
through the matching Adapter's Repository / Reader Capability, and
|
|
@@ -298,6 +361,10 @@ Options:
|
|
|
298
361
|
--no-tools no Provider transport is constructed: a
|
|
299
362
|
configured Provider is reported as skipped
|
|
300
363
|
(tools-disabled) and does not fail the report.
|
|
364
|
+
--available Filter the providers array to availability-"ok" rows
|
|
365
|
+
(the agent-facing short list). availableProviders is
|
|
366
|
+
unchanged by the filter, and every row was still
|
|
367
|
+
classified before filtering.
|
|
301
368
|
|
|
302
369
|
Exit codes:
|
|
303
370
|
0 All configured probes succeeded (or only tools-disabled skips).
|
|
@@ -308,5 +375,6 @@ Examples:
|
|
|
308
375
|
scoutline doctor # full diagnostics
|
|
309
376
|
scoutline doctor --provider minimax
|
|
310
377
|
scoutline doctor --no-tools # metadata only, no transport
|
|
378
|
+
scoutline doctor --available # healthy rows only
|
|
311
379
|
`.trim();
|
|
312
380
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,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;AAGpE,OAAO,EACL,gCAAgC,EAChC,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1938,6 +1938,11 @@ async function handleDoctor(args, outputMode, deps) {
|
|
|
1938
1938
|
return 0;
|
|
1939
1939
|
}
|
|
1940
1940
|
const noTools = flags["no-tools"] === true;
|
|
1941
|
+
// #94 — `--available` filters the report's providers array to
|
|
1942
|
+
// availability-"ok" rows. The filter itself lives in
|
|
1943
|
+
// buildDiagnosticsReport (availableOnly); only the flag parse
|
|
1944
|
+
// happens here.
|
|
1945
|
+
const availableOnly = flags["available"] === true;
|
|
1941
1946
|
// Resolve the effective Provider ID for report metadata, mirroring
|
|
1942
1947
|
// Search/Vision/quota. Descriptors are intentionally NOT passed here so
|
|
1943
1948
|
// the report always lists every built-in Provider even when the
|
|
@@ -1952,6 +1957,7 @@ async function handleDoctor(args, outputMode, deps) {
|
|
|
1952
1957
|
return invokeCommand(deps.invocation, () => doctor({
|
|
1953
1958
|
buildReport: () => buildDiagnosticsReport({
|
|
1954
1959
|
noTools,
|
|
1960
|
+
availableOnly,
|
|
1955
1961
|
effectiveProvider,
|
|
1956
1962
|
descriptors: deps.providerDescriptors,
|
|
1957
1963
|
env: deps.env,
|