scoutline 0.10.2 → 0.12.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 +99 -44
- package/dist/capabilities/diagnostics.d.ts +75 -0
- package/dist/capabilities/diagnostics.d.ts.map +1 -1
- package/dist/capabilities/diagnostics.js.map +1 -1
- package/dist/capabilities/quota.d.ts +64 -1
- package/dist/capabilities/quota.d.ts.map +1 -1
- package/dist/capabilities/quota.js.map +1 -1
- package/dist/capabilities/vision.d.ts +4 -3
- package/dist/capabilities/vision.d.ts.map +1 -1
- package/dist/capabilities/vision.js +7 -5
- package/dist/capabilities/vision.js.map +1 -1
- package/dist/commands/code.d.ts +9 -1
- package/dist/commands/code.d.ts.map +1 -1
- package/dist/commands/code.js +4 -4
- package/dist/commands/code.js.map +1 -1
- package/dist/commands/crawl.d.ts.map +1 -1
- package/dist/commands/crawl.js +14 -3
- package/dist/commands/crawl.js.map +1 -1
- package/dist/commands/doctor.d.ts +71 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +96 -15
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +186 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1221 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/map.d.ts.map +1 -1
- package/dist/commands/map.js +16 -3
- package/dist/commands/map.js.map +1 -1
- package/dist/commands/quota.d.ts +32 -0
- package/dist/commands/quota.d.ts.map +1 -1
- package/dist/commands/quota.js +165 -24
- package/dist/commands/quota.js.map +1 -1
- package/dist/commands/read.d.ts.map +1 -1
- package/dist/commands/read.js +9 -3
- package/dist/commands/read.js.map +1 -1
- package/dist/commands/repo.d.ts.map +1 -1
- package/dist/commands/repo.js +5 -3
- package/dist/commands/repo.js.map +1 -1
- package/dist/commands/research.d.ts +35 -7
- package/dist/commands/research.d.ts.map +1 -1
- package/dist/commands/research.js +93 -15
- package/dist/commands/research.js.map +1 -1
- package/dist/commands/tools.d.ts +8 -0
- package/dist/commands/tools.d.ts.map +1 -1
- package/dist/commands/tools.js +4 -4
- package/dist/commands/tools.js.map +1 -1
- package/dist/commands/vision.d.ts +10 -0
- package/dist/commands/vision.d.ts.map +1 -1
- package/dist/commands/vision.js +25 -2
- package/dist/commands/vision.js.map +1 -1
- package/dist/index.d.ts +136 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +894 -298
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +1 -1
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +6 -2
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/cache.d.ts +9 -2
- package/dist/lib/cache.d.ts.map +1 -1
- package/dist/lib/cache.js +9 -2
- package/dist/lib/cache.js.map +1 -1
- package/dist/lib/code-mode.d.ts +8 -0
- package/dist/lib/code-mode.d.ts.map +1 -1
- package/dist/lib/code-mode.js +3 -1
- package/dist/lib/code-mode.js.map +1 -1
- package/dist/lib/config-store.d.ts +165 -0
- package/dist/lib/config-store.d.ts.map +1 -0
- package/dist/lib/config-store.js +332 -0
- package/dist/lib/config-store.js.map +1 -0
- package/dist/lib/config.d.ts +2 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +19 -11
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/consumption.d.ts +144 -0
- package/dist/lib/consumption.d.ts.map +1 -0
- package/dist/lib/consumption.js +161 -0
- package/dist/lib/consumption.js.map +1 -0
- package/dist/lib/errors.d.ts +11 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +14 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/execution.d.ts +32 -4
- package/dist/lib/execution.d.ts.map +1 -1
- package/dist/lib/execution.js +156 -13
- package/dist/lib/execution.js.map +1 -1
- package/dist/lib/mcp-client.d.ts +12 -0
- package/dist/lib/mcp-client.d.ts.map +1 -1
- package/dist/lib/mcp-client.js +16 -7
- package/dist/lib/mcp-client.js.map +1 -1
- package/dist/lib/mcp-config.d.ts +10 -0
- package/dist/lib/mcp-config.d.ts.map +1 -1
- package/dist/lib/mcp-config.js +13 -7
- package/dist/lib/mcp-config.js.map +1 -1
- package/dist/lib/monitor-client.d.ts +19 -3
- package/dist/lib/monitor-client.d.ts.map +1 -1
- package/dist/lib/monitor-client.js +21 -5
- package/dist/lib/monitor-client.js.map +1 -1
- package/dist/lib/provider-fallback.d.ts +150 -0
- package/dist/lib/provider-fallback.d.ts.map +1 -0
- package/dist/lib/provider-fallback.js +510 -0
- package/dist/lib/provider-fallback.js.map +1 -0
- package/dist/lib/quota-mapping.d.ts +402 -0
- package/dist/lib/quota-mapping.d.ts.map +1 -0
- package/dist/lib/quota-mapping.js +539 -0
- package/dist/lib/quota-mapping.js.map +1 -0
- package/dist/lib/quota-store.d.ts +271 -0
- package/dist/lib/quota-store.d.ts.map +1 -0
- package/dist/lib/quota-store.js +540 -0
- package/dist/lib/quota-store.js.map +1 -0
- package/dist/lib/trigger-detection.d.ts +149 -0
- package/dist/lib/trigger-detection.d.ts.map +1 -0
- package/dist/lib/trigger-detection.js +149 -0
- package/dist/lib/trigger-detection.js.map +1 -0
- package/dist/lib/tty.d.ts +8 -1
- package/dist/lib/tty.d.ts.map +1 -1
- package/dist/lib/tty.js +53 -1
- package/dist/lib/tty.js.map +1 -1
- package/dist/providers/brave/adapter.d.ts +26 -0
- package/dist/providers/brave/adapter.d.ts.map +1 -1
- package/dist/providers/brave/adapter.js +66 -4
- package/dist/providers/brave/adapter.js.map +1 -1
- package/dist/providers/brave/client.d.ts +46 -2
- package/dist/providers/brave/client.d.ts.map +1 -1
- package/dist/providers/brave/client.js +55 -3
- package/dist/providers/brave/client.js.map +1 -1
- package/dist/providers/exa/adapter.d.ts.map +1 -1
- package/dist/providers/exa/adapter.js +10 -1
- package/dist/providers/exa/adapter.js.map +1 -1
- package/dist/providers/firecrawl/adapter.d.ts.map +1 -1
- package/dist/providers/firecrawl/adapter.js +13 -3
- package/dist/providers/firecrawl/adapter.js.map +1 -1
- package/dist/providers/minimax/adapter.d.ts.map +1 -1
- package/dist/providers/minimax/adapter.js +4 -0
- package/dist/providers/minimax/adapter.js.map +1 -1
- package/dist/providers/selection.d.ts +114 -1
- package/dist/providers/selection.d.ts.map +1 -1
- package/dist/providers/selection.js +99 -3
- package/dist/providers/selection.js.map +1 -1
- package/dist/providers/tavily/adapter.d.ts.map +1 -1
- package/dist/providers/tavily/adapter.js +2 -0
- package/dist/providers/tavily/adapter.js.map +1 -1
- package/dist/providers/types.d.ts +33 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +8 -0
- package/dist/providers/types.js.map +1 -1
- package/dist/providers/zai/adapter.d.ts.map +1 -1
- package/dist/providers/zai/adapter.js +18 -5
- package/dist/providers/zai/adapter.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consumption event + sink (Plan B — PB-T2).
|
|
3
|
+
*
|
|
4
|
+
* A **typed consumption event** represents one billable Provider
|
|
5
|
+
* transport attempt. Shared execution emits it at the execution seam
|
|
6
|
+
* (`lib/execution.ts`) — after the cache-miss check, around each
|
|
7
|
+
* `operation.invoke()` call — so cache hits emit nothing and a retried
|
|
8
|
+
* operation emits one event per attempt.
|
|
9
|
+
*
|
|
10
|
+
* Boundary rules:
|
|
11
|
+
* - Imports quota-store types (the sink writes to it) and provider
|
|
12
|
+
* identity types. No provider transport, no command presentation.
|
|
13
|
+
* - The sink is **best-effort**: a record failure is converted to a
|
|
14
|
+
* redacted warning and never propagates. A successful Provider
|
|
15
|
+
* result still returns; the retry/fallback classifier is never
|
|
16
|
+
* consulted on accounting state.
|
|
17
|
+
* - The amount is an explicit exact/estimate/unknown discriminated
|
|
18
|
+
* value. There is no `number = 1` default — Research/Vision and
|
|
19
|
+
* other variable-cost capabilities persist `unknown` or an
|
|
20
|
+
* explicit estimate rather than fake-precise consumption.
|
|
21
|
+
*
|
|
22
|
+
* Persistence lifecycle:
|
|
23
|
+
* - The sink's `record()` promise is awaited before the billable
|
|
24
|
+
* invoke returns outward, so the consumption write survives the
|
|
25
|
+
* bin's immediate `process.exit(status)`. A rejection is converted
|
|
26
|
+
* to a stderr warning; the outer promise still resolves.
|
|
27
|
+
*
|
|
28
|
+
* Relation to PB-T1 / PB-T3:
|
|
29
|
+
* - The sink calls PB-T1's `QuotaStore.writeConsumption`, advancing
|
|
30
|
+
* `locallyUpdatedAt` and adjusting the matching category's count
|
|
31
|
+
* set when one is exposed. `observedAt` (ground truth) never moves.
|
|
32
|
+
* - The event carries canonical data (capability ID, category, unit,
|
|
33
|
+
* amount). PB-T3 maps capabilities→categories and PB-T4 ranks;
|
|
34
|
+
* PB-T2 records raw, provider-neutral events and lets later layers
|
|
35
|
+
* interpret them.
|
|
36
|
+
*/
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// Default amount per capability (honest cost model)
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
/**
|
|
41
|
+
* Default {@link ConsumptionAmount} for a capability when the wrapper
|
|
42
|
+
* has no response-usage to derive from. Most providers do not return
|
|
43
|
+
* per-call usage, so the default is **unknown** — never a fake-precise
|
|
44
|
+
* "1".
|
|
45
|
+
*
|
|
46
|
+
* Capabilities whose unit-cost is reliably one (Search, Repository,
|
|
47
|
+
* Reader, Map) get `{ kind: "estimate", value: 1 }`. Capabilities
|
|
48
|
+
* with variable cost (Research = 4–250 credits, Vision = variable
|
|
49
|
+
* tokens, Crawl = per-page) default to `unknown`. PB-T3 refines these
|
|
50
|
+
* mappings; PB-T2 records the honest default.
|
|
51
|
+
*/
|
|
52
|
+
export function defaultAmountForCapability(capabilityId) {
|
|
53
|
+
switch (capabilityId) {
|
|
54
|
+
case "search":
|
|
55
|
+
case "reader":
|
|
56
|
+
case "repository-exploration":
|
|
57
|
+
case "map":
|
|
58
|
+
// Single-call cost; count-bearing categories get decremented by 1.
|
|
59
|
+
return { kind: "estimate", value: 1 };
|
|
60
|
+
case "vision":
|
|
61
|
+
case "crawl":
|
|
62
|
+
case "research":
|
|
63
|
+
// Variable-cost: vision bills tokens; crawl bills per-page
|
|
64
|
+
// credits; research bills 4–250 credits per request. Without a
|
|
65
|
+
// response-carried usage, persist `unknown` rather than a
|
|
66
|
+
// fake-precise number.
|
|
67
|
+
return { kind: "unknown" };
|
|
68
|
+
default:
|
|
69
|
+
// Unrecognized capability — never guess.
|
|
70
|
+
return { kind: "unknown" };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function defaultConsumptionWarning(message) {
|
|
74
|
+
process.stderr.write(`scoutline: ${message}\n`);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Build a production {@link ConsumptionSink} that writes through
|
|
78
|
+
* {@link QuotaStore.writeConsumption}. The sink is fail-safe: any
|
|
79
|
+
* internal rejection (disk full, permission, race) is converted to a
|
|
80
|
+
* warning and the recorded promise resolves so shared execution never
|
|
81
|
+
* observes an accounting failure.
|
|
82
|
+
*
|
|
83
|
+
* The store's per-file mutex serializes concurrent writes within the
|
|
84
|
+
* process; cross-process concurrency is last-write-wins (acceptable
|
|
85
|
+
* for an observational heuristic; PB-T1's atomic rename keeps the
|
|
86
|
+
* final state crash-safe).
|
|
87
|
+
*/
|
|
88
|
+
export function createQuotaStoreConsumptionSink(options) {
|
|
89
|
+
const store = options.store;
|
|
90
|
+
const now = options.now ?? Date.now;
|
|
91
|
+
const onWarning = options.onWarning ?? defaultConsumptionWarning;
|
|
92
|
+
return {
|
|
93
|
+
async record(event) {
|
|
94
|
+
try {
|
|
95
|
+
await store.writeConsumption(event.provider, {
|
|
96
|
+
...(event.category !== undefined ? { category: event.category } : {}),
|
|
97
|
+
...(event.unit !== undefined ? { unit: event.unit } : {}),
|
|
98
|
+
amount: event.amount,
|
|
99
|
+
}, event.at ?? now());
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
// Redacted: never log event detail (provider, capability) —
|
|
103
|
+
// accounting failure is observational only.
|
|
104
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
105
|
+
onWarning(`quota consumption recording failed: ${reason}`);
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
// ---------------------------------------------------------------------------
|
|
111
|
+
// In-memory sink double (tests)
|
|
112
|
+
// ---------------------------------------------------------------------------
|
|
113
|
+
/**
|
|
114
|
+
* Build an in-memory {@link ConsumptionSink} for hermetic tests. Records
|
|
115
|
+
* every event in `events` (in arrival order); never rejects. Use this
|
|
116
|
+
* to assert exact event sequences for cache-hit suppression, retry
|
|
117
|
+
* emission, and observational-handler silence.
|
|
118
|
+
*/
|
|
119
|
+
export function createInMemoryConsumptionSink() {
|
|
120
|
+
const events = [];
|
|
121
|
+
return {
|
|
122
|
+
async record(event) {
|
|
123
|
+
events.push(event);
|
|
124
|
+
},
|
|
125
|
+
get events() {
|
|
126
|
+
return events;
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
// ---------------------------------------------------------------------------
|
|
131
|
+
// Emission helper — used by executeProviderOperation
|
|
132
|
+
// ---------------------------------------------------------------------------
|
|
133
|
+
/**
|
|
134
|
+
* Emit one {@link ConsumptionEvent} through `sink`, deriving the event
|
|
135
|
+
* from `context` + `attempt`. The promise ALWAYS resolves: a sink
|
|
136
|
+
* failure has already been converted to a warning inside the sink, and
|
|
137
|
+
* this helper adds a defensive outer try/catch so an exception in the
|
|
138
|
+
* context-derivation path can never escape into the retry classifier.
|
|
139
|
+
*
|
|
140
|
+
* Returns void — shared execution awaits it before the invoke returns
|
|
141
|
+
* outward, but the resolution value carries no information.
|
|
142
|
+
*/
|
|
143
|
+
export async function emitConsumption(sink, context, attempt, now) {
|
|
144
|
+
try {
|
|
145
|
+
await sink.record({
|
|
146
|
+
provider: context.provider,
|
|
147
|
+
capabilityId: context.capabilityId,
|
|
148
|
+
...(context.category !== undefined ? { category: context.category } : {}),
|
|
149
|
+
...(context.unit !== undefined ? { unit: context.unit } : {}),
|
|
150
|
+
amount: context.amount,
|
|
151
|
+
attempt,
|
|
152
|
+
at: now(),
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
// Defensive double-wall: the production sink already swallows.
|
|
157
|
+
// If a test sink throws, we still don't let it reach the retry
|
|
158
|
+
// classifier.
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=consumption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumption.js","sourceRoot":"","sources":["../../src/lib/consumption.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/errors.d.ts
CHANGED
|
@@ -50,7 +50,18 @@ export declare class ValidationError extends ScoutlineError {
|
|
|
50
50
|
export declare class UnsupportedCapabilityError extends ScoutlineError {
|
|
51
51
|
constructor(provider: string, capability: string);
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Provider-specific option unsupported by a Capability. The constructor
|
|
55
|
+
* signature is unchanged so all current throw sites keep compiling without
|
|
56
|
+
* modification; the structured fields expose the same information notices
|
|
57
|
+
* used to extract from the message string. Provider-fallback notices read
|
|
58
|
+
* these fields directly (the message format MUST stay stable — it is
|
|
59
|
+
* checked verbatim by existing adapter tests).
|
|
60
|
+
*/
|
|
53
61
|
export declare class UnsupportedOptionError extends ScoutlineError {
|
|
62
|
+
readonly provider: string;
|
|
63
|
+
readonly capability: string;
|
|
64
|
+
readonly option: string;
|
|
54
65
|
constructor(provider: string, capability: string, option: string);
|
|
55
66
|
}
|
|
56
67
|
export declare class ConfigurationError extends ScoutlineError {
|
package/dist/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,aAAa,GACb,wBAAwB,GACxB,oBAAoB,GACpB,WAAW,GACX,YAAY,GACZ,eAAe,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YACE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GAAG,MAAM,EACjC,OAAO,GAAE,qBAA0B,EASpC;CACF;AAED;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,cAAc;IAC1C,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAG5E;CACF;AAED,qBAAa,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAOzC;CACF;AAED,qBAAa,0BAA2B,SAAQ,cAAc;IAC5D,YAAY,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAO/C;CACF;AAED,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,YAAY,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/errors.js
CHANGED
|
@@ -65,10 +65,24 @@ export class UnsupportedCapabilityError extends ScoutlineError {
|
|
|
65
65
|
this.name = "UnsupportedCapabilityError";
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Provider-specific option unsupported by a Capability. The constructor
|
|
70
|
+
* signature is unchanged so all current throw sites keep compiling without
|
|
71
|
+
* modification; the structured fields expose the same information notices
|
|
72
|
+
* used to extract from the message string. Provider-fallback notices read
|
|
73
|
+
* these fields directly (the message format MUST stay stable — it is
|
|
74
|
+
* checked verbatim by existing adapter tests).
|
|
75
|
+
*/
|
|
68
76
|
export class UnsupportedOptionError extends ScoutlineError {
|
|
77
|
+
provider;
|
|
78
|
+
capability;
|
|
79
|
+
option;
|
|
69
80
|
constructor(provider, capability, option) {
|
|
70
81
|
super(`Provider "${provider}" does not support option "${option}" for capability "${capability}"`, "UNSUPPORTED_OPTION", { exitCode: 1 });
|
|
71
82
|
this.name = "UnsupportedOptionError";
|
|
83
|
+
this.provider = provider;
|
|
84
|
+
this.capability = capability;
|
|
85
|
+
this.option = option;
|
|
72
86
|
}
|
|
73
87
|
}
|
|
74
88
|
export class ConfigurationError extends ScoutlineError {
|
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAqBxE,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAA8B;IAClC,UAAU,CAAU;IACpB,IAAI,CAAU;IACd,SAAS,CAAU;IACnB,QAAQ,CAAS;IAE1B,YACE,OAAe,EACf,IAAiC,EACjC,OAAO,GAA0B,EAAE;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,QAAS,SAAQ,cAAc;IAC1C,YAAY,OAAe,EAAE,IAAY,EAAE,UAAmB,EAAE,IAAa;QAC3E,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE;YACjC,UAAU,EAAE,GAAG;YACf,IAAI;YACJ,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,cAAc;IAC5D,YAAY,QAAgB,EAAE,UAAkB;QAC9C,KAAK,CACH,aAAa,QAAQ,kCAAkC,UAAU,GAAG,EACpE,wBAAwB,EACxB,EAAE,QAAQ,EAAE,CAAC,EAAE,CAChB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,cAAc;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/execution.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ import type { RepositoryOperation, RepositoryOperationKind } from "../capabiliti
|
|
|
27
27
|
import type { ReaderFetchRequest, ReaderFetchResult, ReaderOperation, ReaderOperationKind } from "../capabilities/reader.js";
|
|
28
28
|
import { type ResponseCache } from "./cache.js";
|
|
29
29
|
import type { ProviderId } from "../providers/types.js";
|
|
30
|
+
import type { ConsumptionSink, ConsumptionContext } from "./consumption.js";
|
|
30
31
|
/**
|
|
31
32
|
* Retry policy for a single Provider operation. Defaults are applied
|
|
32
33
|
* per-operation from {@link defaultRetryPolicy}.
|
|
@@ -40,11 +41,21 @@ export interface RetryPolicy {
|
|
|
40
41
|
/**
|
|
41
42
|
* Dependencies shared execution requires. `sleep` and `random` are
|
|
42
43
|
* injected so retry backoff is deterministic under test.
|
|
44
|
+
*
|
|
45
|
+
* `consume` (PB-T2) is an OPTIONAL consumption sink. When present and
|
|
46
|
+
* a billable wrapper supplies a {@link ConsumptionContext}, the retry
|
|
47
|
+
* loop emits one event per `invoke()` attempt through this sink. When
|
|
48
|
+
* absent (the default — and what every existing test passes), no event
|
|
49
|
+
* is emitted and behavior is byte-for-byte identical to pre-PB-T2.
|
|
50
|
+
* The sink is awaited; its failure is converted to a warning inside
|
|
51
|
+
* the sink and never reaches the retry classifier.
|
|
43
52
|
*/
|
|
44
53
|
export interface ExecutionDependencies {
|
|
45
|
-
cache: ResponseCache;
|
|
46
|
-
sleep(ms: number)
|
|
47
|
-
random()
|
|
54
|
+
readonly cache: ResponseCache;
|
|
55
|
+
readonly sleep: (ms: number) => Promise<void>;
|
|
56
|
+
readonly random: () => number;
|
|
57
|
+
readonly consume?: ConsumptionSink;
|
|
58
|
+
readonly now?: () => number;
|
|
48
59
|
}
|
|
49
60
|
/**
|
|
50
61
|
* Provider operations that share a single retry policy table.
|
|
@@ -76,8 +87,25 @@ export declare function defaultRetryPolicy(operation: ProviderOperation): RetryP
|
|
|
76
87
|
* caller supplies the invoke thunk and the cache strategy. Each
|
|
77
88
|
* outward Provider operation has exactly one retry wrapper; Adapter
|
|
78
89
|
* transport methods perform one attempt and never retry internally.
|
|
90
|
+
*
|
|
91
|
+
* PB-T2 — Consumption emission (the execution seam):
|
|
92
|
+
* - When `dependencies.consume` AND `consumption` are both supplied,
|
|
93
|
+
* one {@link ConsumptionEvent} is emitted **per `invoke()` call**
|
|
94
|
+
* (success or failure), BEFORE the invoke runs. Wrappers that have
|
|
95
|
+
* already returned on a cache hit never reach this loop, so cache
|
|
96
|
+
* hits emit no event. `quota` / `diagnostics` call this function
|
|
97
|
+
* directly with no `consumption` argument, so observational
|
|
98
|
+
* handlers emit nothing.
|
|
99
|
+
* - When either is absent (the default), zero events are emitted
|
|
100
|
+
* and behavior is byte-for-byte identical to pre-PB-T2.
|
|
101
|
+
* - The sink promise is awaited; its rejection is converted to a
|
|
102
|
+
* warning inside the sink and never reaches the retry classifier.
|
|
103
|
+
*
|
|
104
|
+
* The 5th parameter is additive and optional; existing 4-arg callers
|
|
105
|
+
* (Quota, Doctor, and every pre-PB-T2 test) compile and behave
|
|
106
|
+
* unchanged.
|
|
79
107
|
*/
|
|
80
|
-
export declare function executeProviderOperation<T>(operation: ProviderOperation, invoke: () => Promise<T>, dependencies: Pick<ExecutionDependencies, "sleep" | "random">, retryPolicy?: RetryPolicy): Promise<T>;
|
|
108
|
+
export declare function executeProviderOperation<T>(operation: ProviderOperation, invoke: () => Promise<T>, dependencies: Pick<ExecutionDependencies, "sleep" | "random" | "consume" | "now">, retryPolicy?: RetryPolicy, consumption?: ConsumptionContext): Promise<T>;
|
|
81
109
|
/**
|
|
82
110
|
* Execute a normalized Search through the shared pipeline:
|
|
83
111
|
* validate → cache identity → new-key read → optional legacy
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/lib/execution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,KAAK,EAEV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/lib/execution.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/execution.js
CHANGED
|
@@ -24,6 +24,43 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { ScoutlineError } from "./errors.js";
|
|
26
26
|
import { buildProviderCacheKey } from "./cache.js";
|
|
27
|
+
import { emitConsumption, defaultAmountForCapability } from "./consumption.js";
|
|
28
|
+
import { getCapabilityMapping } from "./quota-mapping.js";
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Consumption category resolution (PB-T2 → PB-T3 seam)
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the snapshot category name a consumption event should target
|
|
34
|
+
* for `(provider, capability)` by routing through PB-T3's mapping table.
|
|
35
|
+
*
|
|
36
|
+
* The four billable wrappers derive a {@link ConsumptionContext} at the
|
|
37
|
+
* emission site. Pre-W1 they hardcoded the capability id (`"search"`,
|
|
38
|
+
* `"reader"`, ...) as the `category`, which only matched the snapshot
|
|
39
|
+
* category name for Tavily (whose endpoint names coincide with capability
|
|
40
|
+
* ids). Z.AI stores categories as `"requests"`/`"tokens"` and Firecrawl
|
|
41
|
+
* as `"Credits"`, so `writeConsumption`'s name match missed → only
|
|
42
|
+
* `locallyUpdatedAt` advanced, no numeric decrement (W1).
|
|
43
|
+
*
|
|
44
|
+
* This helper uses the first static alias (or the provider-level
|
|
45
|
+
* fallback) from {@link getCapabilityMapping} so the emitted category
|
|
46
|
+
* matches the name the provider's normalizer wrote into the snapshot.
|
|
47
|
+
*
|
|
48
|
+
* For unmapped `(provider, capability)` pairs — observational
|
|
49
|
+
* capabilities (`quota`/`diagnostics`), providers excluded from the
|
|
50
|
+
* mapping table by policy (Brave/Exa), and MiniMax's empty-alias
|
|
51
|
+
* sentinel — the capability id is returned unchanged. It matches no
|
|
52
|
+
* snapshot category, so only `locallyUpdatedAt` advances, which is the
|
|
53
|
+
* correct behavior for observational / non-spend capabilities.
|
|
54
|
+
*/
|
|
55
|
+
function resolveConsumptionCategory(provider, capabilityId) {
|
|
56
|
+
const mapping = getCapabilityMapping(provider, capabilityId);
|
|
57
|
+
if (!mapping)
|
|
58
|
+
return capabilityId;
|
|
59
|
+
const alias = mapping.categoryAliases[0];
|
|
60
|
+
if (alias)
|
|
61
|
+
return alias;
|
|
62
|
+
return mapping.providerFallbackCategory ?? capabilityId;
|
|
63
|
+
}
|
|
27
64
|
const DEFAULT_BASE_DELAY_MS = 500;
|
|
28
65
|
const DEFAULT_MAX_DELAY_MS = 8000;
|
|
29
66
|
const DEFAULT_JITTER_MS = 250;
|
|
@@ -54,17 +91,21 @@ export function defaultRetryPolicy(operation) {
|
|
|
54
91
|
case "repository-read-file":
|
|
55
92
|
case "repository-list-directory":
|
|
56
93
|
case "reader-fetch":
|
|
57
|
-
case "map":
|
|
58
94
|
return { ...base, maxRetries: 1 };
|
|
59
95
|
case "crawl":
|
|
60
96
|
case "research":
|
|
61
|
-
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
97
|
+
case "map":
|
|
98
|
+
// No retry — double-charge risk. All three are cost-bearing
|
|
99
|
+
// operations whose create-POST must not be retried by shared
|
|
100
|
+
// execution (crawl is per-page; research is per-request; map
|
|
101
|
+
// charges per batch). The Adapter's invoke() owns the full
|
|
102
|
+
// create→poll→state-file lifecycle; reclaim-on-miss (crawl)
|
|
103
|
+
// / state-file resume (research) recover a lost create-POST on
|
|
104
|
+
// the next user invocation rather than an automatic retry.
|
|
105
|
+
// Map has no server-side state to reclaim, so retry would
|
|
106
|
+
// strictly double-charge; the documented `--no-fallback` cost
|
|
107
|
+
// guarantee of `1/1/1` per command depends on this default
|
|
108
|
+
// (tech-plan D2 / §3; 0.11.0 review Fix 1).
|
|
68
109
|
return { ...base, maxRetries: 0 };
|
|
69
110
|
}
|
|
70
111
|
}
|
|
@@ -111,11 +152,37 @@ function isOperationRetryableError(error) {
|
|
|
111
152
|
* caller supplies the invoke thunk and the cache strategy. Each
|
|
112
153
|
* outward Provider operation has exactly one retry wrapper; Adapter
|
|
113
154
|
* transport methods perform one attempt and never retry internally.
|
|
155
|
+
*
|
|
156
|
+
* PB-T2 — Consumption emission (the execution seam):
|
|
157
|
+
* - When `dependencies.consume` AND `consumption` are both supplied,
|
|
158
|
+
* one {@link ConsumptionEvent} is emitted **per `invoke()` call**
|
|
159
|
+
* (success or failure), BEFORE the invoke runs. Wrappers that have
|
|
160
|
+
* already returned on a cache hit never reach this loop, so cache
|
|
161
|
+
* hits emit no event. `quota` / `diagnostics` call this function
|
|
162
|
+
* directly with no `consumption` argument, so observational
|
|
163
|
+
* handlers emit nothing.
|
|
164
|
+
* - When either is absent (the default), zero events are emitted
|
|
165
|
+
* and behavior is byte-for-byte identical to pre-PB-T2.
|
|
166
|
+
* - The sink promise is awaited; its rejection is converted to a
|
|
167
|
+
* warning inside the sink and never reaches the retry classifier.
|
|
168
|
+
*
|
|
169
|
+
* The 5th parameter is additive and optional; existing 4-arg callers
|
|
170
|
+
* (Quota, Doctor, and every pre-PB-T2 test) compile and behave
|
|
171
|
+
* unchanged.
|
|
114
172
|
*/
|
|
115
|
-
export async function executeProviderOperation(operation, invoke, dependencies, retryPolicy) {
|
|
173
|
+
export async function executeProviderOperation(operation, invoke, dependencies, retryPolicy, consumption) {
|
|
116
174
|
const policy = retryPolicy ?? defaultRetryPolicy(operation);
|
|
175
|
+
const sink = dependencies.consume;
|
|
176
|
+
const now = dependencies.now ?? Date.now;
|
|
117
177
|
let attempt = 0;
|
|
118
178
|
for (;;) {
|
|
179
|
+
// PB-T2: emit BEFORE invoke. One event per loop iteration = one
|
|
180
|
+
// event per invoke() call. Cache hits never reach here (wrappers
|
|
181
|
+
// return before invoking). A retrying failure emits once per
|
|
182
|
+
// attempt.
|
|
183
|
+
if (sink && consumption) {
|
|
184
|
+
await emitConsumption(sink, consumption, attempt + 1, now);
|
|
185
|
+
}
|
|
119
186
|
try {
|
|
120
187
|
return await invoke();
|
|
121
188
|
}
|
|
@@ -193,7 +260,25 @@ export async function executeSearch(capability, request, options, dependencies)
|
|
|
193
260
|
}
|
|
194
261
|
// 5 + 6. Invoke through executeProviderOperation; retryable failures
|
|
195
262
|
// are retried with backoff driven by the injected sleep+random.
|
|
196
|
-
|
|
263
|
+
//
|
|
264
|
+
// PB-T2: when a consumption sink is wired, derive a ConsumptionContext
|
|
265
|
+
// from the cache identity (provider + canonical capability id)
|
|
266
|
+
// and pass it through. The category is routed through PB-T3's
|
|
267
|
+
// mapping table (W1) so it matches the provider-specific snapshot
|
|
268
|
+
// category name (ZAI `"requests"`, Firecrawl `"Credits"`, Tavily
|
|
269
|
+
// endpoint names) rather than the raw capability id. The default
|
|
270
|
+
// amount is the honest per-capability estimate (Search = 1
|
|
271
|
+
// estimated request). Cache hits returned above emit nothing.
|
|
272
|
+
const consumption = dependencies.consume !== undefined
|
|
273
|
+
? {
|
|
274
|
+
provider: identity.provider,
|
|
275
|
+
capabilityId: "search",
|
|
276
|
+
category: resolveConsumptionCategory(identity.provider, "search"),
|
|
277
|
+
unit: "requests",
|
|
278
|
+
amount: defaultAmountForCapability("search"),
|
|
279
|
+
}
|
|
280
|
+
: undefined;
|
|
281
|
+
const result = await executeProviderOperation("search", () => capability.invoke(request), dependencies, options.retryPolicy, consumption);
|
|
197
282
|
// 7. Cache the full normalized result before count is applied.
|
|
198
283
|
if (!options.noCache) {
|
|
199
284
|
await dependencies.cache.set(newKey, result);
|
|
@@ -287,11 +372,27 @@ export async function executeRepositoryOperation(operation, request, options, de
|
|
|
287
372
|
// 5. Retry-wrapped invoke. Auth, Validation, Unsupported, and
|
|
288
373
|
// exhausted Quota failures are terminal; transient timeout,
|
|
289
374
|
// network, and 5xx/429-equivalent failures get one retry.
|
|
375
|
+
//
|
|
376
|
+
// PB-T2: when a sink is wired, derive a ConsumptionContext from the
|
|
377
|
+
// adapter-owned cache identity. The canonical capability id is
|
|
378
|
+
// the descriptor capability (`repository-exploration`); the
|
|
379
|
+
// category is routed through PB-T3's mapping table (W1) so it
|
|
380
|
+
// matches the provider-specific snapshot category name. Cache
|
|
381
|
+
// hits returned above emit nothing.
|
|
382
|
+
const consumption = dependencies.consume !== undefined
|
|
383
|
+
? {
|
|
384
|
+
provider: identity.provider,
|
|
385
|
+
capabilityId: "repository-exploration",
|
|
386
|
+
category: resolveConsumptionCategory(identity.provider, "repository-exploration"),
|
|
387
|
+
unit: "requests",
|
|
388
|
+
amount: defaultAmountForCapability("repository-exploration"),
|
|
389
|
+
}
|
|
390
|
+
: undefined;
|
|
290
391
|
const result = await executeProviderOperation(
|
|
291
392
|
// `operation.kind` is `RepositoryOperationKind`, which is
|
|
292
393
|
// composed into `ProviderOperation` directly — no cast needed
|
|
293
394
|
// and a future kind union change propagates automatically.
|
|
294
|
-
operation.kind, () => operation.invoke(request), dependencies, options.retryPolicy);
|
|
395
|
+
operation.kind, () => operation.invoke(request), dependencies, options.retryPolicy, consumption);
|
|
295
396
|
// 6. Cache the full normalized result before returning.
|
|
296
397
|
if (!options.noCache) {
|
|
297
398
|
await dependencies.cache.set(newKey, result);
|
|
@@ -383,7 +484,23 @@ export async function executeReaderOperation(operation, request, options, depend
|
|
|
383
484
|
// 5. Retry-wrapped invoke. Auth, Validation, Unsupported, and
|
|
384
485
|
// exhausted Quota failures are terminal; transient timeout,
|
|
385
486
|
// network, and 5xx/429-equivalent failures get one retry.
|
|
386
|
-
|
|
487
|
+
//
|
|
488
|
+
// PB-T2: when a sink is wired, derive a ConsumptionContext from the
|
|
489
|
+
// adapter-owned cache identity. Canonical capability id is
|
|
490
|
+
// `reader`; the category is routed through PB-T3's mapping table
|
|
491
|
+
// (W1) so it matches the provider-specific snapshot category name
|
|
492
|
+
// (ZAI `"requests"`, Tavily `"extract"`, Firecrawl `"Credits"`).
|
|
493
|
+
// Cache hits returned above emit nothing.
|
|
494
|
+
const consumption = dependencies.consume !== undefined
|
|
495
|
+
? {
|
|
496
|
+
provider: identity.provider,
|
|
497
|
+
capabilityId: "reader",
|
|
498
|
+
category: resolveConsumptionCategory(identity.provider, "reader"),
|
|
499
|
+
unit: "requests",
|
|
500
|
+
amount: defaultAmountForCapability("reader"),
|
|
501
|
+
}
|
|
502
|
+
: undefined;
|
|
503
|
+
const result = await executeProviderOperation(operation.kind, () => operation.invoke(request), dependencies, options.retryPolicy, consumption);
|
|
387
504
|
// 6. Cache the full normalized result before returning.
|
|
388
505
|
if (!options.noCache) {
|
|
389
506
|
await dependencies.cache.set(newKey, result);
|
|
@@ -449,7 +566,33 @@ export async function executeCachedOperation(operation, request, options, depend
|
|
|
449
566
|
// Unsupported, and exhausted Quota failures are terminal; transient
|
|
450
567
|
// timeout, network, and 5xx/429-equivalent failures get the
|
|
451
568
|
// operation-specific retry count.
|
|
452
|
-
|
|
569
|
+
//
|
|
570
|
+
// PB-T2: when a sink is wired, derive a ConsumptionContext from the
|
|
571
|
+
// adapter-owned cache identity. The category is routed through
|
|
572
|
+
// PB-T3's mapping table (W1) so it matches the provider-specific
|
|
573
|
+
// snapshot category name (Firecrawl `"Credits"`, Tavily endpoint
|
|
574
|
+
// names) rather than the raw capability id. Cost model:
|
|
575
|
+
// - `crawl` → unknown (per-page credits, count varies)
|
|
576
|
+
// - `map` → estimate 1 (single batch cost)
|
|
577
|
+
// - `research` → unknown (4–250 credits, request-dependent)
|
|
578
|
+
// Cache hits returned above emit nothing.
|
|
579
|
+
const capabilityId = identity.capability;
|
|
580
|
+
const consumption = dependencies.consume !== undefined
|
|
581
|
+
? {
|
|
582
|
+
provider: identity.provider,
|
|
583
|
+
capabilityId,
|
|
584
|
+
category: resolveConsumptionCategory(identity.provider, capabilityId),
|
|
585
|
+
...(capabilityId === "crawl"
|
|
586
|
+
? { unit: "credits" }
|
|
587
|
+
: capabilityId === "map"
|
|
588
|
+
? { unit: "credits" }
|
|
589
|
+
: capabilityId === "research"
|
|
590
|
+
? { unit: "credits" }
|
|
591
|
+
: {}),
|
|
592
|
+
amount: defaultAmountForCapability(capabilityId),
|
|
593
|
+
}
|
|
594
|
+
: undefined;
|
|
595
|
+
const result = await executeProviderOperation(identity.capability, () => operation.invoke(request, options.signal), dependencies, options.retryPolicy, consumption);
|
|
453
596
|
// 5. Cache the full normalized result before returning.
|
|
454
597
|
if (!options.noCache) {
|
|
455
598
|
await dependencies.cache.set(newKey, result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/lib/execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/lib/execution.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/mcp-client.d.ts
CHANGED
|
@@ -41,6 +41,15 @@ export interface ZaiMcpClientOptions {
|
|
|
41
41
|
noCache?: boolean;
|
|
42
42
|
disableRetry?: boolean;
|
|
43
43
|
utcpFactory?: () => Promise<UtcpClient>;
|
|
44
|
+
/**
|
|
45
|
+
* T2b — Credential view: the resolved env (injected env + file keys)
|
|
46
|
+
* captured at handler dispatch. When omitted, ambient `process.env`
|
|
47
|
+
* is used so existing direct constructors keep working. When supplied,
|
|
48
|
+
* the credential, mode, base URL, retry knobs, cache fingerprint, and
|
|
49
|
+
* configured-secret scrub set all derive from this view rather than
|
|
50
|
+
* `process.env`.
|
|
51
|
+
*/
|
|
52
|
+
env?: NodeJS.ProcessEnv;
|
|
44
53
|
}
|
|
45
54
|
/**
|
|
46
55
|
* Unified MCP client for all Z.AI MCP services
|
|
@@ -70,6 +79,9 @@ export declare class ZaiMcpClient {
|
|
|
70
79
|
* `tool-cache.ts` needs to compute a stable key). Owned here because
|
|
71
80
|
* the inputs come from this class's options and the shared config
|
|
72
81
|
* module; the extracted module stays pure of `loadConfig` / `getMcpEndpoints`.
|
|
82
|
+
*
|
|
83
|
+
* T2b: `loadConfig` consults the captured env so tool-cache identity
|
|
84
|
+
* follows the same invocation credential view as registration.
|
|
73
85
|
*/
|
|
74
86
|
private getToolCacheConfig;
|
|
75
87
|
/**
|