@lcv-ideas-software/cross-review 4.0.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/CHANGELOG.md +2568 -0
- package/LICENSE +201 -0
- package/NOTICE +26 -0
- package/README.md +208 -0
- package/SECURITY.md +52 -0
- package/dist/scripts/api-streaming-smoke.d.ts +1 -0
- package/dist/scripts/api-streaming-smoke.js +78 -0
- package/dist/scripts/api-streaming-smoke.js.map +1 -0
- package/dist/scripts/runtime-default-smoke.d.ts +1 -0
- package/dist/scripts/runtime-default-smoke.js +88 -0
- package/dist/scripts/runtime-default-smoke.js.map +1 -0
- package/dist/scripts/runtime-smoke.d.ts +1 -0
- package/dist/scripts/runtime-smoke.js +148 -0
- package/dist/scripts/runtime-smoke.js.map +1 -0
- package/dist/scripts/smoke.d.ts +1 -0
- package/dist/scripts/smoke.js +6156 -0
- package/dist/scripts/smoke.js.map +1 -0
- package/dist/src/core/cache-manifest.d.ts +22 -0
- package/dist/src/core/cache-manifest.js +133 -0
- package/dist/src/core/cache-manifest.js.map +1 -0
- package/dist/src/core/caller-tokens.d.ts +32 -0
- package/dist/src/core/caller-tokens.js +240 -0
- package/dist/src/core/caller-tokens.js.map +1 -0
- package/dist/src/core/config.d.ts +9 -0
- package/dist/src/core/config.js +643 -0
- package/dist/src/core/config.js.map +1 -0
- package/dist/src/core/convergence.d.ts +5 -0
- package/dist/src/core/convergence.js +186 -0
- package/dist/src/core/convergence.js.map +1 -0
- package/dist/src/core/cost.d.ts +59 -0
- package/dist/src/core/cost.js +359 -0
- package/dist/src/core/cost.js.map +1 -0
- package/dist/src/core/file-config.d.ts +316 -0
- package/dist/src/core/file-config.js +490 -0
- package/dist/src/core/file-config.js.map +1 -0
- package/dist/src/core/orchestrator.d.ts +199 -0
- package/dist/src/core/orchestrator.js +3430 -0
- package/dist/src/core/orchestrator.js.map +1 -0
- package/dist/src/core/prompt-parts.d.ts +58 -0
- package/dist/src/core/prompt-parts.js +122 -0
- package/dist/src/core/prompt-parts.js.map +1 -0
- package/dist/src/core/relator-lottery.d.ts +23 -0
- package/dist/src/core/relator-lottery.js +112 -0
- package/dist/src/core/relator-lottery.js.map +1 -0
- package/dist/src/core/reports.d.ts +2 -0
- package/dist/src/core/reports.js +82 -0
- package/dist/src/core/reports.js.map +1 -0
- package/dist/src/core/session-store.d.ts +149 -0
- package/dist/src/core/session-store.js +1923 -0
- package/dist/src/core/session-store.js.map +1 -0
- package/dist/src/core/status.d.ts +61 -0
- package/dist/src/core/status.js +249 -0
- package/dist/src/core/status.js.map +1 -0
- package/dist/src/core/timeouts.d.ts +2 -0
- package/dist/src/core/timeouts.js +3 -0
- package/dist/src/core/timeouts.js.map +1 -0
- package/dist/src/core/types.d.ts +604 -0
- package/dist/src/core/types.js +36 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/dashboard/server.d.ts +2 -0
- package/dist/src/dashboard/server.js +339 -0
- package/dist/src/dashboard/server.js.map +1 -0
- package/dist/src/mcp/server.d.ts +54 -0
- package/dist/src/mcp/server.js +1584 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/observability/logger.d.ts +9 -0
- package/dist/src/observability/logger.js +24 -0
- package/dist/src/observability/logger.js.map +1 -0
- package/dist/src/peers/anthropic.d.ts +14 -0
- package/dist/src/peers/anthropic.js +290 -0
- package/dist/src/peers/anthropic.js.map +1 -0
- package/dist/src/peers/base.d.ts +72 -0
- package/dist/src/peers/base.js +416 -0
- package/dist/src/peers/base.js.map +1 -0
- package/dist/src/peers/deepseek.d.ts +12 -0
- package/dist/src/peers/deepseek.js +246 -0
- package/dist/src/peers/deepseek.js.map +1 -0
- package/dist/src/peers/errors.d.ts +2 -0
- package/dist/src/peers/errors.js +185 -0
- package/dist/src/peers/errors.js.map +1 -0
- package/dist/src/peers/gemini.d.ts +13 -0
- package/dist/src/peers/gemini.js +215 -0
- package/dist/src/peers/gemini.js.map +1 -0
- package/dist/src/peers/grok.d.ts +17 -0
- package/dist/src/peers/grok.js +346 -0
- package/dist/src/peers/grok.js.map +1 -0
- package/dist/src/peers/model-selection.d.ts +4 -0
- package/dist/src/peers/model-selection.js +260 -0
- package/dist/src/peers/model-selection.js.map +1 -0
- package/dist/src/peers/openai.d.ts +14 -0
- package/dist/src/peers/openai.js +299 -0
- package/dist/src/peers/openai.js.map +1 -0
- package/dist/src/peers/perplexity.d.ts +18 -0
- package/dist/src/peers/perplexity.js +375 -0
- package/dist/src/peers/perplexity.js.map +1 -0
- package/dist/src/peers/registry.d.ts +3 -0
- package/dist/src/peers/registry.js +77 -0
- package/dist/src/peers/registry.js.map +1 -0
- package/dist/src/peers/retry.d.ts +2 -0
- package/dist/src/peers/retry.js +36 -0
- package/dist/src/peers/retry.js.map +1 -0
- package/dist/src/peers/stub.d.ts +13 -0
- package/dist/src/peers/stub.js +344 -0
- package/dist/src/peers/stub.js.map +1 -0
- package/dist/src/peers/text.d.ts +18 -0
- package/dist/src/peers/text.js +39 -0
- package/dist/src/peers/text.js.map +1 -0
- package/dist/src/security/redact.d.ts +2 -0
- package/dist/src/security/redact.js +128 -0
- package/dist/src/security/redact.js.map +1 -0
- package/docs/api-keys.md +34 -0
- package/docs/architecture.md +118 -0
- package/docs/caching.md +135 -0
- package/docs/costs.md +40 -0
- package/docs/evidence-preflight.md +88 -0
- package/docs/github-security-baseline.md +32 -0
- package/docs/model-selection.md +105 -0
- package/docs/reports/cross-review-v2-api-capability-smoke-2026-04-30.md +354 -0
- package/docs/reports/cross-review-v2-format-recovery-findings-2026-04-28.md +223 -0
- package/docs/reports/cross-review-v2-official-provider-docs-refresh-2026-05-05.md +60 -0
- package/docs/reports/cross-review-v2-token-streaming-smoke-2026-04-30.md +119 -0
- package/package.json +88 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ConvergenceResult, PeerFailure, PeerId, PeerResult, ReviewStatus } from "./types.js";
|
|
2
|
+
export declare const SKIP_QUORUM_FLOOR = 2;
|
|
3
|
+
export declare const SKIPPABLE_FAILURE_CLASSES: ReadonlySet<PeerFailure["failure_class"]>;
|
|
4
|
+
export declare function isSkippableFailure(failure: PeerFailure): boolean;
|
|
5
|
+
export declare function checkConvergence(expectedPeers: PeerId[], callerStatus: ReviewStatus, peers: PeerResult[], rejected: PeerFailure[], skipped?: PeerFailure[]): ConvergenceResult;
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
// v3.7.3 (operator no-fallback directive 2026-05-14): when a peer's pinned
|
|
2
|
+
// model is genuinely unavailable, the round SKIPS that peer and converges
|
|
3
|
+
// on the remaining peers, instead of letting the failure block
|
|
4
|
+
// convergence. This is the operator's "pular aquele peer e trabalhar
|
|
5
|
+
// apenas com os outros" path.
|
|
6
|
+
//
|
|
7
|
+
// v3.7.4 (Codex v3.7.3 parecer AUDIT-2): a peer reaches this skip through
|
|
8
|
+
// EITHER of two paths, not just "the user declared no fallback model" —
|
|
9
|
+
// (a) the user declared NO fallback model for that peer, the pinned
|
|
10
|
+
// model hit an infrastructure failure, and retrying the SAME model
|
|
11
|
+
// was exhausted (`auth` / `rate_limit` / `provider_error` /
|
|
12
|
+
// `network` / `timeout`); or
|
|
13
|
+
// (b) the user DID declare a fallback model, it was tried, and the
|
|
14
|
+
// declared fallback chain was itself drained (`fallback_exhausted`).
|
|
15
|
+
// Either way the peer's `failure_class` is in `SKIPPABLE_FAILURE_CLASSES`
|
|
16
|
+
// (classified at the round loop in `orchestrator.ts`); everything else —
|
|
17
|
+
// a peer that DID respond but badly (schema / unparseable /
|
|
18
|
+
// format-recovery-exhausted), the no-fallback-directive's own
|
|
19
|
+
// `silent_model_downgrade`, or a policy/budget/content stop — stays in
|
|
20
|
+
// `rejected` and blocks convergence exactly as before.
|
|
21
|
+
export const SKIP_QUORUM_FLOOR = 2;
|
|
22
|
+
// v3.7.3: failure classes that mean "the peer's model was genuinely
|
|
23
|
+
// UNAVAILABLE" — the call could not reach the provider or get a usable
|
|
24
|
+
// response at all, and the peer has no further model left to fall back
|
|
25
|
+
// to. v3.7.4 (Codex v3.7.3 parecer AUDIT-2): this state is reached two
|
|
26
|
+
// ways — (a) NO fallback model was declared and retrying the SAME pinned
|
|
27
|
+
// model was exhausted (`auth`, `rate_limit`, `provider_error`, `network`,
|
|
28
|
+
// `timeout`); or (b) a fallback model WAS declared, tried, and the
|
|
29
|
+
// declared chain was itself drained (`fallback_exhausted`). Either way
|
|
30
|
+
// these are SKIPPED (round continues on the remaining peers). Everything
|
|
31
|
+
// else stays in `rejected` and blocks convergence: a peer that DID respond
|
|
32
|
+
// but badly (`schema`, `unparseable_after_recovery`,
|
|
33
|
+
// `format_recovery_exhausted`, `stream_buffer_overflow`), the no-fallback
|
|
34
|
+
// directive's own `silent_model_downgrade` (a peer that answered on the
|
|
35
|
+
// WRONG model — must never be silently tolerated), a content stop
|
|
36
|
+
// (`prompt_flagged_by_moderation`), a budget stop (`budget_exceeded`,
|
|
37
|
+
// `budget_preflight`), an operator `cancelled`, or `unknown` (conservative
|
|
38
|
+
// — never skip on an unclassified failure). The round loop in
|
|
39
|
+
// `orchestrator.ts` classifies each `PeerFailure` against this set.
|
|
40
|
+
export const SKIPPABLE_FAILURE_CLASSES = new Set([
|
|
41
|
+
"auth",
|
|
42
|
+
"rate_limit",
|
|
43
|
+
"provider_error",
|
|
44
|
+
"network",
|
|
45
|
+
"timeout",
|
|
46
|
+
"fallback_exhausted",
|
|
47
|
+
]);
|
|
48
|
+
export function isSkippableFailure(failure) {
|
|
49
|
+
return SKIPPABLE_FAILURE_CLASSES.has(failure.failure_class);
|
|
50
|
+
}
|
|
51
|
+
export function checkConvergence(expectedPeers, callerStatus, peers, rejected,
|
|
52
|
+
// v3.7.3: peers skipped for genuine model-unavailability. Defaults to []
|
|
53
|
+
// so any call site that does not pass it keeps the exact pre-v3.7.3
|
|
54
|
+
// convergence DECISION — on the zero-skip path every branch below
|
|
55
|
+
// reduces to its original form (`effectiveExpected` === `expectedPeers`,
|
|
56
|
+
// the skip-gated floor is not entered, the converged reason string is
|
|
57
|
+
// unchanged). The only output delta is the additive `skipped_peers`
|
|
58
|
+
// field, `[]` when nothing was skipped — a backward-compatible schema
|
|
59
|
+
// addition, not a behavioral change.
|
|
60
|
+
skipped = []) {
|
|
61
|
+
const ready = peers.filter((p) => p.status === "READY").map((p) => p.peer);
|
|
62
|
+
const notReady = peers.filter((p) => p.status === "NOT_READY").map((p) => p.peer);
|
|
63
|
+
// v2.4.0 / audit closure (P3.15): strict equality. Pre-v2.4.0 used
|
|
64
|
+
// `p.status == null` (loose), which would also accept the empty string
|
|
65
|
+
// and the literal `0` if a future code path produced them. ReviewStatus
|
|
66
|
+
// only accepts the three sentinel strings or undefined/null in practice,
|
|
67
|
+
// so anchoring to those values eliminates a class of edge-case false
|
|
68
|
+
// positives.
|
|
69
|
+
const needsEvidence = peers
|
|
70
|
+
.filter((p) => p.status === "NEEDS_EVIDENCE" || p.status === null || p.status === undefined)
|
|
71
|
+
.map((p) => p.peer);
|
|
72
|
+
const rejectedPeers = rejected.map((f) => f.peer);
|
|
73
|
+
const skippedPeers = skipped.map((f) => f.peer);
|
|
74
|
+
// v3.7.3: a skipped peer is removed from the convergence quorum entirely
|
|
75
|
+
// — it neither blocks (the way `rejected` does) nor counts toward the
|
|
76
|
+
// all-peers-READY tally. When `skipped` is empty, `effectiveExpected` ===
|
|
77
|
+
// `expectedPeers`, so every branch below reduces to its pre-v3.7.3 form.
|
|
78
|
+
const effectiveExpected = expectedPeers.filter((p) => !skippedPeers.includes(p));
|
|
79
|
+
const responded = new Set(peers.map((p) => p.peer));
|
|
80
|
+
const missing = expectedPeers.filter((p) => !responded.has(p) && !rejectedPeers.includes(p) && !skippedPeers.includes(p));
|
|
81
|
+
const decisionQuality = Object.fromEntries(peers.map((peer) => [peer.peer, peer.decision_quality]));
|
|
82
|
+
const blockingDetails = [
|
|
83
|
+
...notReady.map((peer) => `${peer}: NOT_READY`),
|
|
84
|
+
...needsEvidence.map((peer) => `${peer}: NEEDS_EVIDENCE`),
|
|
85
|
+
...rejected.map((failure) => `${failure.peer}: ${failure.failure_class}`),
|
|
86
|
+
...missing.map((peer) => `${peer}: missing response`),
|
|
87
|
+
];
|
|
88
|
+
if (callerStatus !== "READY") {
|
|
89
|
+
return {
|
|
90
|
+
converged: false,
|
|
91
|
+
reason: `caller_status=${callerStatus}; caller must be READY`,
|
|
92
|
+
ready_peers: ready,
|
|
93
|
+
not_ready_peers: notReady,
|
|
94
|
+
needs_evidence_peers: needsEvidence,
|
|
95
|
+
rejected_peers: [...rejectedPeers, ...missing],
|
|
96
|
+
skipped_peers: skippedPeers,
|
|
97
|
+
decision_quality: decisionQuality,
|
|
98
|
+
blocking_details: [`caller_status=${callerStatus}`, ...blockingDetails],
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
if (rejectedPeers.length || missing.length) {
|
|
102
|
+
// v2.5.0 fix (Codex audit, 2026-05-03): replace the generic
|
|
103
|
+
// "one or more peers failed or did not respond" reason — observed 47
|
|
104
|
+
// times in the 253-session corpus, every occurrence equally
|
|
105
|
+
// unhelpful — with a structured per-peer summary. The reason field
|
|
106
|
+
// remains a single string so downstream report consumers don't need
|
|
107
|
+
// a schema migration; the granularity comes from listing peer +
|
|
108
|
+
// failure_class (or `missing`) for every contributor.
|
|
109
|
+
const detail = [
|
|
110
|
+
...rejected.map((failure) => `${failure.peer}:${failure.failure_class}`),
|
|
111
|
+
...missing.map((peer) => `${peer}:missing`),
|
|
112
|
+
].join(", ");
|
|
113
|
+
return {
|
|
114
|
+
converged: false,
|
|
115
|
+
reason: `peers failed or did not respond: ${detail}`,
|
|
116
|
+
ready_peers: ready,
|
|
117
|
+
not_ready_peers: notReady,
|
|
118
|
+
needs_evidence_peers: needsEvidence,
|
|
119
|
+
rejected_peers: [...rejectedPeers, ...missing],
|
|
120
|
+
skipped_peers: skippedPeers,
|
|
121
|
+
decision_quality: decisionQuality,
|
|
122
|
+
blocking_details: blockingDetails,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
if (notReady.length || needsEvidence.length) {
|
|
126
|
+
return {
|
|
127
|
+
converged: false,
|
|
128
|
+
reason: "at least one peer did not declare READY",
|
|
129
|
+
ready_peers: ready,
|
|
130
|
+
not_ready_peers: notReady,
|
|
131
|
+
needs_evidence_peers: needsEvidence,
|
|
132
|
+
rejected_peers: [],
|
|
133
|
+
skipped_peers: skippedPeers,
|
|
134
|
+
decision_quality: decisionQuality,
|
|
135
|
+
blocking_details: blockingDetails,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
// v3.7.3: skip-gated quorum floor. A 0- or 1-peer "unanimous" review is
|
|
139
|
+
// meaningless — skipping must never silently degrade the colegiado below
|
|
140
|
+
// a real cross-check. The floor is GUARDED by `skipped.length > 0`: a
|
|
141
|
+
// zero-skip session keeps its pre-v3.7.3 behavior exactly, including a
|
|
142
|
+
// legitimate single-reviewer-peer session that converges on 1 READY.
|
|
143
|
+
if (skipped.length > 0 && effectiveExpected.length < SKIP_QUORUM_FLOOR) {
|
|
144
|
+
return {
|
|
145
|
+
converged: false,
|
|
146
|
+
reason: `quorum_floor_not_met_after_skips: ${effectiveExpected.length} non-skipped reviewer peer(s) remain after skipping [${skippedPeers.join(", ")}]; at least ${SKIP_QUORUM_FLOOR} are required for a meaningful cross-review`,
|
|
147
|
+
ready_peers: ready,
|
|
148
|
+
not_ready_peers: notReady,
|
|
149
|
+
needs_evidence_peers: needsEvidence,
|
|
150
|
+
rejected_peers: [],
|
|
151
|
+
skipped_peers: skippedPeers,
|
|
152
|
+
decision_quality: decisionQuality,
|
|
153
|
+
blocking_details: [
|
|
154
|
+
...blockingDetails,
|
|
155
|
+
`quorum_floor_not_met: ${effectiveExpected.length} < ${SKIP_QUORUM_FLOOR} after skips`,
|
|
156
|
+
],
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
if (ready.length !== effectiveExpected.length) {
|
|
160
|
+
return {
|
|
161
|
+
converged: false,
|
|
162
|
+
reason: "not all expected peers responded READY",
|
|
163
|
+
ready_peers: ready,
|
|
164
|
+
not_ready_peers: notReady,
|
|
165
|
+
needs_evidence_peers: needsEvidence,
|
|
166
|
+
rejected_peers: missing,
|
|
167
|
+
skipped_peers: skippedPeers,
|
|
168
|
+
decision_quality: decisionQuality,
|
|
169
|
+
blocking_details: blockingDetails,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
return {
|
|
173
|
+
converged: true,
|
|
174
|
+
reason: skipped.length > 0
|
|
175
|
+
? `caller and all ${effectiveExpected.length} non-skipped peer(s) declared READY; skipped for model-unavailability: ${skippedPeers.join(", ")}`
|
|
176
|
+
: "caller and all peers declared READY with no rejected peers",
|
|
177
|
+
ready_peers: ready,
|
|
178
|
+
not_ready_peers: [],
|
|
179
|
+
needs_evidence_peers: [],
|
|
180
|
+
rejected_peers: [],
|
|
181
|
+
skipped_peers: skippedPeers,
|
|
182
|
+
decision_quality: decisionQuality,
|
|
183
|
+
blocking_details: [],
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=convergence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convergence.js","sourceRoot":"","sources":["../../../src/core/convergence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { AppConfig, CostEstimate, PeerId, TokenUsage } from "./types.js";
|
|
2
|
+
type CostRate = NonNullable<AppConfig["cost_rates"]["codex"]>;
|
|
3
|
+
type RateCategory = "input" | "output" | "cache_read" | "cache_write";
|
|
4
|
+
/**
|
|
5
|
+
* v2.26.0: select the right per-million USD rate for a given (category,
|
|
6
|
+
* tier, promo-active?) combination, with graceful fallback to the next
|
|
7
|
+
* available rate when fields are absent or expired.
|
|
8
|
+
*
|
|
9
|
+
* Selection priority (each step falls through to the next when the
|
|
10
|
+
* corresponding field is unset OR the condition does not apply):
|
|
11
|
+
* 1. promo_<category>_extended_per_million — IFF in promo period AND
|
|
12
|
+
* large prompt AND field set
|
|
13
|
+
* 2. promo_<category>_per_million — IFF in promo period AND field set
|
|
14
|
+
* 3. <category>_extended_per_million — IFF large prompt AND field set
|
|
15
|
+
* 4. <category>_per_million — base rate, set
|
|
16
|
+
* 5. (cache_read / cache_write only) recurse into "input" category
|
|
17
|
+
* — gracefully degrade to "no cache discount" billing when the
|
|
18
|
+
* operator stops configuring cache rates entirely
|
|
19
|
+
*
|
|
20
|
+
* Fallback semantics intent (operator directive 2026-05-11):
|
|
21
|
+
* - When promo expires (today >= promo_expires_at) or promo fields are
|
|
22
|
+
* unset, automatically use base rates without operator intervention.
|
|
23
|
+
* - When extended-tier rates are unset for a tier-aware provider, use
|
|
24
|
+
* base for ALL prompt sizes (no penalty for missing config).
|
|
25
|
+
* - When cache rates are unset entirely, treat cache tokens as fresh
|
|
26
|
+
* input (no discount, no penalty). The provider may still bill them
|
|
27
|
+
* at a lower rate; we just stop modeling that detail.
|
|
28
|
+
*
|
|
29
|
+
* `now` is injected so tests and FinOps replays can pin the clock.
|
|
30
|
+
*/
|
|
31
|
+
export declare function selectRate(rate: CostRate, category: RateCategory, totalInputTokens: number, now?: Date): {
|
|
32
|
+
rate_per_million: number;
|
|
33
|
+
tier_used: NonNullable<CostEstimate["tier_used"]>;
|
|
34
|
+
} | undefined;
|
|
35
|
+
export declare function mergeUsage(items: Array<TokenUsage | undefined>): TokenUsage;
|
|
36
|
+
export declare function estimateCost(config: AppConfig, peer: PeerId, usage?: TokenUsage): CostEstimate;
|
|
37
|
+
export declare function mergeCost(costs: Array<CostEstimate | undefined>): CostEstimate;
|
|
38
|
+
/**
|
|
39
|
+
* v2.21.0 (caching): estimate the savings that flowed from a cache hit
|
|
40
|
+
* vs the fresh input rate for the same peer. Returns { unknown: true }
|
|
41
|
+
* when the rate card has no entry for the provider — operators see
|
|
42
|
+
* "we got a cache hit but cannot price it" instead of a silent zero.
|
|
43
|
+
*/
|
|
44
|
+
/**
|
|
45
|
+
* v2.26.0: estimate cache-read savings using ONLY env-configured rates
|
|
46
|
+
* via selectRate(). The legacy `cache-rates.json` fallback was removed
|
|
47
|
+
* per operator directive 2026-05-11 ("nada hardcoded para preços
|
|
48
|
+
* financeiros") — when an operator omits cache rate env vars, the
|
|
49
|
+
* intelligent fallback in selectRate() treats cache reads as priced at
|
|
50
|
+
* the input rate (zero savings) rather than synthesizing a fictional
|
|
51
|
+
* cached rate from a hardcoded JSON. Returns `unknown: true` only when
|
|
52
|
+
* no configRate is provided at all (defensive — `estimateCost()` already
|
|
53
|
+
* short-circuits with "unknown-rate" before reaching this path).
|
|
54
|
+
*/
|
|
55
|
+
export declare function estimateCacheSavings(peer: PeerId, usage: TokenUsage, configRate: CostRate | undefined): {
|
|
56
|
+
savings_usd: number;
|
|
57
|
+
unknown: boolean;
|
|
58
|
+
};
|
|
59
|
+
export {};
|