log10x-mcp 1.29.33 → 1.29.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/build/lib/cost.d.ts +7 -0
  2. package/build/lib/cost.js +3 -0
  3. package/build/lib/cost.js.map +1 -1
  4. package/build/lib/plan-dependencies.d.ts +62 -30
  5. package/build/lib/plan-dependencies.js +135 -74
  6. package/build/lib/plan-dependencies.js.map +1 -1
  7. package/build/lib/plan-solver.d.ts +23 -2
  8. package/build/lib/plan-solver.js +40 -14
  9. package/build/lib/plan-solver.js.map +1 -1
  10. package/build/lib/server-instructions.js +30 -11
  11. package/build/lib/server-instructions.js.map +1 -1
  12. package/build/lib/siem/deps/cloudwatch.d.ts +2 -1
  13. package/build/lib/siem/deps/cloudwatch.js +28 -38
  14. package/build/lib/siem/deps/cloudwatch.js.map +1 -1
  15. package/build/lib/siem/deps/datadog.d.ts +2 -1
  16. package/build/lib/siem/deps/datadog.js +27 -34
  17. package/build/lib/siem/deps/datadog.js.map +1 -1
  18. package/build/lib/siem/deps/elasticsearch.d.ts +2 -1
  19. package/build/lib/siem/deps/elasticsearch.js +33 -51
  20. package/build/lib/siem/deps/elasticsearch.js.map +1 -1
  21. package/build/lib/siem/deps/index.d.ts +4 -1
  22. package/build/lib/siem/deps/index.js +29 -5
  23. package/build/lib/siem/deps/index.js.map +1 -1
  24. package/build/lib/siem/deps/splunk.d.ts +2 -1
  25. package/build/lib/siem/deps/splunk.js +28 -36
  26. package/build/lib/siem/deps/splunk.js.map +1 -1
  27. package/build/lib/siem/deps/types.d.ts +32 -0
  28. package/build/lib/siem/deps/types.js +36 -0
  29. package/build/lib/siem/deps/types.js.map +1 -1
  30. package/build/tools/dependency-check.js +10 -2
  31. package/build/tools/dependency-check.js.map +1 -1
  32. package/build/tools/estimate-savings.d.ts +8 -0
  33. package/build/tools/estimate-savings.js +58 -23
  34. package/build/tools/estimate-savings.js.map +1 -1
  35. package/package.json +1 -1
@@ -77,6 +77,13 @@ export interface DestinationCostModel {
77
77
  destination: SiemId;
78
78
  /** $/GB billed at ingest. */
79
79
  ingest_per_gb: number;
80
+ /**
81
+ * How to LABEL ingest_per_gb when quoting the model to a human. Default
82
+ * 'ingest'. Datadog is 'all-in': its real ingest meter is ~$0.10/GB and the
83
+ * money is per-million-event indexing, so the $2.50 figure is a blend —
84
+ * calling that blend "ingest" reads as not knowing the platform.
85
+ */
86
+ ingest_label?: string;
80
87
  /** $/GB-month billed for retention. */
81
88
  storage_per_gb_month: number;
82
89
  billing_basis: BillingBasis;
package/build/lib/cost.js CHANGED
@@ -116,6 +116,9 @@ export const COST_MODEL_BY_DESTINATION = {
116
116
  datadog: {
117
117
  destination: 'datadog',
118
118
  ingest_per_gb: DEFAULT_ANALYZER_COST_PER_GB.datadog,
119
+ // The $2.50 is the canonical ALL-IN blend (real ingest meter is ~$0.10/GB;
120
+ // the money is per-M-event indexing). Label it honestly when quoted.
121
+ ingest_label: 'all-in',
119
122
  storage_per_gb_month: 0.0,
120
123
  billing_basis: 'compressed-ingest',
121
124
  compact_mode: 'no-op',
@@ -1 +1 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/lib/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/lib/cost.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,65 @@
1
1
  /**
2
- * Batch SIEM dependency scan for a ladder plan.
2
+ * Two-tier SIEM dependency scan for a ladder plan.
3
3
  *
4
4
  * The persona reviews' top blocker was "the plan says WHAT, never what it
5
- * TOUCHES" — nobody applies a routing change without knowing which dashboards,
6
- * alerts, and saved searches read the moved message types. The per-pattern
7
- * scanner already exists (lib/siem/deps, read-only API calls); this module
8
- * batches it over the rows a plan will actually render and folds the result
9
- * into one summary the verdict block can carry.
5
+ * TOUCHES". A naive literal scan is half theater: real monitors reference
6
+ * SLICES (service:payment status:error), not message templates, so literal
7
+ * absence is not safety — and slice overlap is too broad to exclude on
8
+ * (every payment monitor overlaps every payment type). Hence two tiers:
10
9
  *
11
- * Scope, deliberately v1:
12
- * - Scans the TOP rows only (default 7 — the cards plus a margin). Each
13
- * vendor call refetches the object inventory, so a full-estate scan (100+
14
- * rows) belongs to a batched-inventory refactor of lib/siem/deps, not here.
15
- * - Credential preflight is instant: env vars, plus ~/.aws/credentials for
16
- * CloudWatch. An EC2 instance role is not detected — the note says so
17
- * rather than letting the SDK's IMDS probe stall a plan render.
18
- * - An overall deadline caps the scan; rows not reached are reported, never
19
- * silently skipped.
10
+ * TIER 1 — LITERAL: an object's query/title contains the type's distinctive
11
+ * tokens. High precision. These types are EXCLUDED from the plan by default
12
+ * (pinned at pass, plan re-solved) unless the user trades them back in.
13
+ *
14
+ * TIER 2 — SLICE: objects whose text mentions a planned service at all.
15
+ * High recall, deliberately broad. A DISCLOSURE, never an exclusion —
16
+ * rendered with the destination's platform truth (Flex data and real-time
17
+ * monitors, the IA class and metric filters, offload and every query).
18
+ *
19
+ * The vendor inventory is fetched ONCE (lib/siem/deps fetchVendorInventory)
20
+ * and matched locally, so a 200-type plan costs the same API calls as one.
21
+ * Scan-depth honesty rides on the summary: what was scanned is stated, and
22
+ * "no literal references found in what was scanned" is the strongest claim
23
+ * the data supports — never "safe".
20
24
  */
21
- import type { Plan } from './plan-solver.js';
25
+ import type { Plan, PlannedRow, SolverPattern, SolveOpts } from './plan-solver.js';
22
26
  import type { SiemId } from './siem/pricing.js';
23
- import { checkDeps as realCheckDeps, type DepCheckResult } from './siem/deps/index.js';
27
+ import { fetchVendorInventory as realFetchVendorInventory, type VendorInventory } from './siem/deps/index.js';
24
28
  export interface PlanRowDependencies {
25
29
  hash: string;
26
30
  name: string;
27
31
  displayName: string;
28
32
  refs: number;
29
- by_type: DepCheckResult['byType'];
30
- /** Names of the matched objects (dashboards/alerts/...), capped at 5. */
33
+ /** Names of the referencing objects (monitors/searches/dashboards), capped at 5. */
34
+ names: string[];
35
+ /** Savings this row carried in the ORIGINAL solve — what excluding it forgoes. */
36
+ forgoneUsd: number;
37
+ }
38
+ export interface SliceDependency {
39
+ service: string;
40
+ objects: number;
41
+ /** Referencing-object names, capped at 5. */
31
42
  names: string[];
32
43
  }
33
44
  export interface PlanDependencySummary {
34
45
  /** True when a scan actually ran (credentials present, vendor supported). */
35
46
  checked: boolean;
36
47
  vendor?: SiemId;
37
- /** How many of the plan's top rows were scanned. */
48
+ /** What the scan could actually see, e.g. "monitor queries and dashboard
49
+ * titles/descriptions". The honesty line: absence of literal hits means
50
+ * "none found in THIS", never "safe". */
51
+ scan_depth?: string;
52
+ /** How many planned rows were matched (all of them — batch inventory). */
38
53
  scanned_rows: number;
39
- /** Rows (of the scanned set) with at least one referencing object. */
40
- rows_with_refs: number;
54
+ /** TIER 1: planned types literally referenced by name/query text. */
55
+ literal: PlanRowDependencies[];
56
+ /** TIER 1 outcome: types excluded from the final plan (pinned at pass). */
57
+ excluded: PlanRowDependencies[];
58
+ /** TIER 2: objects that mention a planned service at all — disclosure only. */
59
+ slice: SliceDependency[];
60
+ /** Destination truth for the levers in play, stated once. */
61
+ platform_truth?: string;
41
62
  total_refs: number;
42
- rows: PlanRowDependencies[];
43
63
  /** One human-readable line: what ran, or why nothing did. Render-safe. */
44
64
  note: string;
45
65
  }
@@ -50,15 +70,27 @@ export declare function depCredsPresent(vendor: SiemId): {
50
70
  present: boolean;
51
71
  missing: string;
52
72
  };
53
- type DepsChecker = typeof realCheckDeps;
73
+ type InventoryFetcher = typeof realFetchVendorInventory;
54
74
  /** Test seam, same pattern as _setBackendLoader / _setVerifyRunner. */
55
- export declare function _setDepsChecker(fn: DepsChecker): void;
56
- export declare function _resetDepsChecker(): void;
75
+ export declare function _setInventoryFetcher(fn: InventoryFetcher): void;
76
+ export declare function _resetInventoryFetcher(): void;
77
+ /** Destination truth for the levers a plan actually uses. */
78
+ export declare function platformTruth(plan: Plan): string | undefined;
79
+ /** TIER 2: which inventory objects mention each planned service at all. */
80
+ export declare function sliceScan(inv: VendorInventory, services: string[]): SliceDependency[];
57
81
  export interface CheckPlanDepsOptions {
58
- /** Top planned rows to scan. Default 7. */
59
- limit?: number;
60
- /** Overall wall-clock budget for the whole scan. Default 15000ms. */
82
+ /** Overall wall-clock budget for the inventory fetch. Default 20000ms. */
61
83
  timeoutMs?: number;
62
84
  }
63
85
  export declare function checkPlanDependencies(plan: Plan, opts?: CheckPlanDepsOptions): Promise<PlanDependencySummary>;
64
- export {};
86
+ /**
87
+ * TIER 1 outcome: pin the literally-referenced types at pass and re-solve.
88
+ * Pure given the summary — the caller passes the same patterns/opts it solved
89
+ * with. Returns the re-solved plan and the exclusion record for the render;
90
+ * the excluded rows carry the savings the exclusion forgoes.
91
+ */
92
+ export declare function applyReferencedExclusion(patterns: SolverPattern[], solveOpts: SolveOpts, summary: PlanDependencySummary): {
93
+ plan: Plan;
94
+ excluded: PlanRowDependencies[];
95
+ };
96
+ export type { PlannedRow };
@@ -1,26 +1,31 @@
1
1
  /**
2
- * Batch SIEM dependency scan for a ladder plan.
2
+ * Two-tier SIEM dependency scan for a ladder plan.
3
3
  *
4
4
  * The persona reviews' top blocker was "the plan says WHAT, never what it
5
- * TOUCHES" — nobody applies a routing change without knowing which dashboards,
6
- * alerts, and saved searches read the moved message types. The per-pattern
7
- * scanner already exists (lib/siem/deps, read-only API calls); this module
8
- * batches it over the rows a plan will actually render and folds the result
9
- * into one summary the verdict block can carry.
5
+ * TOUCHES". A naive literal scan is half theater: real monitors reference
6
+ * SLICES (service:payment status:error), not message templates, so literal
7
+ * absence is not safety — and slice overlap is too broad to exclude on
8
+ * (every payment monitor overlaps every payment type). Hence two tiers:
10
9
  *
11
- * Scope, deliberately v1:
12
- * - Scans the TOP rows only (default 7 — the cards plus a margin). Each
13
- * vendor call refetches the object inventory, so a full-estate scan (100+
14
- * rows) belongs to a batched-inventory refactor of lib/siem/deps, not here.
15
- * - Credential preflight is instant: env vars, plus ~/.aws/credentials for
16
- * CloudWatch. An EC2 instance role is not detected — the note says so
17
- * rather than letting the SDK's IMDS probe stall a plan render.
18
- * - An overall deadline caps the scan; rows not reached are reported, never
19
- * silently skipped.
10
+ * TIER 1 — LITERAL: an object's query/title contains the type's distinctive
11
+ * tokens. High precision. These types are EXCLUDED from the plan by default
12
+ * (pinned at pass, plan re-solved) unless the user trades them back in.
13
+ *
14
+ * TIER 2 — SLICE: objects whose text mentions a planned service at all.
15
+ * High recall, deliberately broad. A DISCLOSURE, never an exclusion —
16
+ * rendered with the destination's platform truth (Flex data and real-time
17
+ * monitors, the IA class and metric filters, offload and every query).
18
+ *
19
+ * The vendor inventory is fetched ONCE (lib/siem/deps fetchVendorInventory)
20
+ * and matched locally, so a 200-type plan costs the same API calls as one.
21
+ * Scan-depth honesty rides on the summary: what was scanned is stated, and
22
+ * "no literal references found in what was scanned" is the strongest claim
23
+ * the data supports — never "safe".
20
24
  */
21
25
  import { existsSync } from 'node:fs';
22
26
  import { join } from 'node:path';
23
- import { checkDeps as realCheckDeps, DEP_CHECK_VENDORS, } from './siem/deps/index.js';
27
+ import { solvePlan } from './plan-solver.js';
28
+ import { fetchVendorInventory as realFetchVendorInventory, matchObject, DEP_CHECK_VENDORS, } from './siem/deps/index.js';
24
29
  /** Map a plan destination onto the dep-check vendor that can scan it. */
25
30
  export function depVendorForDestination(destination) {
26
31
  const d = String(destination);
@@ -67,23 +72,66 @@ export function depCredsPresent(vendor) {
67
72
  return { present: false, missing: 'unsupported vendor' };
68
73
  }
69
74
  }
70
- let depsChecker = realCheckDeps;
75
+ let inventoryFetcher = realFetchVendorInventory;
71
76
  /** Test seam, same pattern as _setBackendLoader / _setVerifyRunner. */
72
- export function _setDepsChecker(fn) {
73
- depsChecker = fn;
77
+ export function _setInventoryFetcher(fn) {
78
+ inventoryFetcher = fn;
79
+ }
80
+ export function _resetInventoryFetcher() {
81
+ inventoryFetcher = realFetchVendorInventory;
82
+ }
83
+ /** Destination truth for the levers a plan actually uses. */
84
+ export function platformTruth(plan) {
85
+ const actions = new Set(plan.planned.map((r) => r.action));
86
+ const parts = [];
87
+ if (actions.has('tier_down')) {
88
+ if (plan.destination === 'datadog') {
89
+ parts.push('Flex-tier events do not feed real-time log monitors; monitors on these services evaluate on less data once types move');
90
+ }
91
+ else if (plan.destination === 'cloudwatch') {
92
+ parts.push('the Infrequent Access class does not support metric filters or subscription filters; filters on these services stop seeing moved types');
93
+ }
94
+ }
95
+ if (actions.has('offload')) {
96
+ parts.push('offloaded types leave the destination entirely; every query, dashboard, and alert on these services sees fewer events (recoverable through the retriever)');
97
+ }
98
+ if (actions.has('drop') || actions.has('sample')) {
99
+ parts.push('dropped or sampled types are gone from the destination; nothing downstream sees them');
100
+ }
101
+ return parts.length > 0 ? parts.join('. ') + '.' : undefined;
74
102
  }
75
- export function _resetDepsChecker() {
76
- depsChecker = realCheckDeps;
103
+ function objectAllText(o) {
104
+ return [...o.texts.name, ...o.texts.query, ...o.texts.definition].join('\n');
105
+ }
106
+ const GENERIC_SERVICE_NAMES = new Set(['api', 'app', 'web', 'www', 'all', 'main', 'core', 'base', 'test']);
107
+ /** TIER 2: which inventory objects mention each planned service at all. */
108
+ export function sliceScan(inv, services) {
109
+ const out = [];
110
+ for (const svc of services) {
111
+ const name = svc.trim();
112
+ if (name.length < 3)
113
+ continue;
114
+ if (name === '(unattributed)')
115
+ continue;
116
+ if (GENERIC_SERVICE_NAMES.has(name.toLowerCase()))
117
+ continue;
118
+ const re = new RegExp(`(^|[^a-z0-9])${name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}([^a-z0-9]|$)`, 'i');
119
+ const hits = inv.objects.filter((o) => re.test(objectAllText(o)));
120
+ if (hits.length === 0)
121
+ continue;
122
+ out.push({ service: name, objects: hits.length, names: hits.slice(0, 5).map((h) => h.name) });
123
+ }
124
+ return out;
77
125
  }
78
126
  export async function checkPlanDependencies(plan, opts = {}) {
79
- const limit = opts.limit ?? 7;
80
- const timeoutMs = opts.timeoutMs ?? 15_000;
127
+ const timeoutMs = opts.timeoutMs ?? 20_000;
81
128
  const none = (note) => ({
82
129
  checked: false,
83
130
  scanned_rows: 0,
84
- rows_with_refs: 0,
131
+ literal: [],
132
+ excluded: [],
133
+ slice: [],
85
134
  total_refs: 0,
86
- rows: [],
87
135
  note,
88
136
  });
89
137
  if (plan.planned.length === 0)
@@ -96,63 +144,76 @@ export async function checkPlanDependencies(plan, opts = {}) {
96
144
  if (!creds.present) {
97
145
  return none(`not checked: no ${vendor} credentials in this session (need ${creds.missing}); run log10x_dependency_check after setting them`);
98
146
  }
99
- const targets = plan.planned.slice(0, limit);
100
- const deadline = Date.now() + timeoutMs;
101
- const rows = [];
102
- let scanned = 0;
103
- let timedOut = false;
104
- for (const r of targets) {
105
- if (Date.now() >= deadline) {
106
- timedOut = true;
107
- break;
108
- }
109
- const tokens = r.name.split('_').filter((t) => t.length > 0);
110
- let scan;
111
- try {
112
- scan = await Promise.race([
113
- depsChecker(vendor, { pattern: r.name, tokens }),
114
- new Promise((_res, rej) => setTimeout(() => rej(new Error('row scan timeout')), Math.max(1000, deadline - Date.now())).unref?.()),
115
- ]);
116
- }
117
- catch {
118
- timedOut = true;
119
- break;
120
- }
121
- if (scan.error) {
122
- // Same error would repeat for every row (auth/endpoint) — stop, report.
123
- return none(`not checked: ${scan.error}`);
124
- }
125
- scanned += 1;
126
- if (scan.matches.length > 0) {
127
- rows.push({
128
- hash: r.hash,
129
- name: r.name,
130
- displayName: r.displayName,
131
- refs: scan.matches.length,
132
- by_type: scan.byType,
133
- names: scan.matches.slice(0, 5).map((m) => m.name),
134
- });
135
- }
147
+ let inv;
148
+ try {
149
+ inv = await Promise.race([
150
+ inventoryFetcher(vendor),
151
+ new Promise((_res, rej) => {
152
+ const t = setTimeout(() => rej(new Error('inventory fetch timeout')), timeoutMs);
153
+ t.unref?.();
154
+ }),
155
+ ]);
156
+ }
157
+ catch (e) {
158
+ return none(`not checked: inventory fetch failed (${e instanceof Error ? e.message : String(e)})`);
159
+ }
160
+ if (inv.error)
161
+ return none(`not checked: ${inv.error}`);
162
+ // TIER 1 — literal, ALL planned rows against the one inventory.
163
+ const literal = [];
164
+ for (const r of plan.planned) {
165
+ const tokens = r.name.split('_').filter((t) => t.length >= 4);
166
+ const effective = tokens.length > 0 ? tokens : [r.name.replace(/_/g, ' ')];
167
+ const hits = inv.objects.filter((o) => matchObject(o, effective).length > 0);
168
+ if (hits.length === 0)
169
+ continue;
170
+ literal.push({
171
+ hash: r.hash,
172
+ name: r.name,
173
+ displayName: r.displayName,
174
+ refs: hits.length,
175
+ names: hits.slice(0, 5).map((h) => h.name),
176
+ forgoneUsd: r.savedUsd,
177
+ });
136
178
  }
137
- const totalRefs = rows.reduce((s, x) => s + x.refs, 0);
179
+ // TIER 2 — slice disclosure over the planned services.
180
+ const services = [...new Set(plan.planned.map((r) => r.dominantService))];
181
+ const slice = sliceScan(inv, services);
182
+ const totalRefs = literal.reduce((s, x) => s + x.refs, 0);
138
183
  const noteParts = [
139
- `checked ${vendor} dashboards and alerts for the top ${scanned} planned message type${scanned === 1 ? '' : 's'}`,
140
- rows.length > 0
141
- ? `${rows.length} referenced by ${totalRefs} object${totalRefs === 1 ? '' : 's'}`
142
- : 'none referenced',
184
+ `scanned ${inv.scanDepth} (${inv.objects.length} objects) against all ${plan.planned.length} planned message types`,
185
+ literal.length > 0
186
+ ? `${literal.length} referenced by name (${totalRefs} object${totalRefs === 1 ? '' : 's'})`
187
+ : 'no literal references found in what was scanned',
143
188
  ];
144
- if (timedOut)
145
- noteParts.push(`scan budget hit before the rest; run log10x_dependency_check for deeper coverage`);
146
- else if (plan.planned.length > scanned)
147
- noteParts.push(`${plan.planned.length - scanned} more planned types not scanned; run log10x_dependency_check per type for the rest`);
189
+ if (slice.length > 0) {
190
+ noteParts.push(`${slice.reduce((s, x) => s + x.objects, 0)} objects mention the planned services`);
191
+ }
148
192
  return {
149
193
  checked: true,
150
194
  vendor,
151
- scanned_rows: scanned,
152
- rows_with_refs: rows.length,
195
+ scan_depth: inv.scanDepth,
196
+ scanned_rows: plan.planned.length,
197
+ literal,
198
+ excluded: [],
199
+ slice,
200
+ platform_truth: platformTruth(plan),
153
201
  total_refs: totalRefs,
154
- rows,
155
202
  note: noteParts.join('; '),
156
203
  };
157
204
  }
205
+ /**
206
+ * TIER 1 outcome: pin the literally-referenced types at pass and re-solve.
207
+ * Pure given the summary — the caller passes the same patterns/opts it solved
208
+ * with. Returns the re-solved plan and the exclusion record for the render;
209
+ * the excluded rows carry the savings the exclusion forgoes.
210
+ */
211
+ export function applyReferencedExclusion(patterns, solveOpts, summary) {
212
+ const excludedHashes = summary.literal.map((h) => h.hash);
213
+ const plan = solvePlan(patterns, {
214
+ ...solveOpts,
215
+ pinnedHashes: [...(solveOpts.pinnedHashes ?? []), ...excludedHashes],
216
+ });
217
+ return { plan, excluded: summary.literal };
218
+ }
158
219
  //# sourceMappingURL=plan-dependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-dependencies.js","sourceRoot":"","sources":["../../src/lib/plan-dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-dependencies.js","sourceRoot":"","sources":["../../src/lib/plan-dependencies.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,20 @@ export interface SolveOpts {
88
88
  * stay in the bill but are never planned, exactly like protected severities.
89
89
  * Matched case-insensitively against the pattern's dominant service. */
90
90
  exceptionServices?: string[];
91
+ /**
92
+ * The customer's blended all-in $/GB for this destination (their contracted
93
+ * or invoice-derived rate). When present, every dollar on the plan is scaled
94
+ * from the list-price structure to this blend — the ladder physics (lever
95
+ * ratios) stay list-structure, the absolute dollars become theirs. Provenance
96
+ * is echoed on the plan (rateSource / rateBasis). Absent = list price.
97
+ */
98
+ customerRatePerGb?: number;
99
+ /**
100
+ * Specific pattern hashes pinned at pass — the referenced-types exclusion:
101
+ * a type a monitor or saved search names stays exactly as it is unless the
102
+ * user explicitly trades it back in. Pinned like protected severities.
103
+ */
104
+ pinnedHashes?: string[];
91
105
  }
92
106
  export interface PlannedRow {
93
107
  hash: string;
@@ -131,9 +145,16 @@ export interface Plan {
131
145
  * arithmetic on a rendered plan closes visibly. */
132
146
  totalSavedUsd: number;
133
147
  /** The pricing basis behind every dollar on this plan, one human-readable
134
- * line. List-price by construction: the solver prices with the destination
135
- * cost model, never a customer's contracted rate. Render it verbatim. */
148
+ * line. Render it verbatim. */
136
149
  rateBasis: string;
150
+ /** Whose dollars these are: the destination list-price model, or the
151
+ * customer's supplied blended rate scaled over the list structure. */
152
+ rateSource: 'list_price' | 'customer_supplied';
153
+ /** Echo of the supplied blended rate when rateSource is customer_supplied. */
154
+ customerRatePerGb?: number;
155
+ /** Total scoped bytes/mo behind the bill — the reconciliation multiplicand:
156
+ * bytesInMonthly times the rate should foot against the invoice line. */
157
+ bytesInMonthly: number;
137
158
  /** usd_budget / percent targets: the bill after the plan, in $/mo. */
138
159
  landsAtUsd?: number;
139
160
  /** gb_budget targets: monthly bytes toward the destination after the plan. */