log10x-mcp 1.29.34 → 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.
- package/build/lib/plan-dependencies.d.ts +62 -30
- package/build/lib/plan-dependencies.js +135 -74
- package/build/lib/plan-dependencies.js.map +1 -1
- package/build/lib/plan-solver.d.ts +6 -0
- package/build/lib/plan-solver.js +3 -0
- package/build/lib/plan-solver.js.map +1 -1
- package/build/lib/server-instructions.js +17 -7
- package/build/lib/server-instructions.js.map +1 -1
- package/build/lib/siem/deps/cloudwatch.d.ts +2 -1
- package/build/lib/siem/deps/cloudwatch.js +28 -38
- package/build/lib/siem/deps/cloudwatch.js.map +1 -1
- package/build/lib/siem/deps/datadog.d.ts +2 -1
- package/build/lib/siem/deps/datadog.js +27 -34
- package/build/lib/siem/deps/datadog.js.map +1 -1
- package/build/lib/siem/deps/elasticsearch.d.ts +2 -1
- package/build/lib/siem/deps/elasticsearch.js +33 -51
- package/build/lib/siem/deps/elasticsearch.js.map +1 -1
- package/build/lib/siem/deps/index.d.ts +4 -1
- package/build/lib/siem/deps/index.js +29 -5
- package/build/lib/siem/deps/index.js.map +1 -1
- package/build/lib/siem/deps/splunk.d.ts +2 -1
- package/build/lib/siem/deps/splunk.js +28 -36
- package/build/lib/siem/deps/splunk.js.map +1 -1
- package/build/lib/siem/deps/types.d.ts +32 -0
- package/build/lib/siem/deps/types.js +36 -0
- package/build/lib/siem/deps/types.js.map +1 -1
- package/build/tools/dependency-check.js +10 -2
- package/build/tools/dependency-check.js.map +1 -1
- package/build/tools/estimate-savings.d.ts +8 -0
- package/build/tools/estimate-savings.js +45 -17
- package/build/tools/estimate-savings.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,45 +1,65 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
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"
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
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
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
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 {
|
|
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
|
-
|
|
30
|
-
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
40
|
-
|
|
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
|
|
73
|
+
type InventoryFetcher = typeof realFetchVendorInventory;
|
|
54
74
|
/** Test seam, same pattern as _setBackendLoader / _setVerifyRunner. */
|
|
55
|
-
export declare function
|
|
56
|
-
export declare function
|
|
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
|
-
/**
|
|
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
|
-
|
|
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
|
-
*
|
|
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"
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
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
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
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 {
|
|
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
|
|
75
|
+
let inventoryFetcher = realFetchVendorInventory;
|
|
71
76
|
/** Test seam, same pattern as _setBackendLoader / _setVerifyRunner. */
|
|
72
|
-
export function
|
|
73
|
-
|
|
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
|
-
|
|
76
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
-
|
|
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
|
-
`
|
|
140
|
-
|
|
141
|
-
? `${
|
|
142
|
-
: '
|
|
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 (
|
|
145
|
-
noteParts.push(
|
|
146
|
-
|
|
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
|
-
|
|
152
|
-
|
|
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":"AAAA
|
|
1
|
+
{"version":3,"file":"plan-dependencies.js","sourceRoot":"","sources":["../../src/lib/plan-dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,12 @@ export interface SolveOpts {
|
|
|
96
96
|
* is echoed on the plan (rateSource / rateBasis). Absent = list price.
|
|
97
97
|
*/
|
|
98
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[];
|
|
99
105
|
}
|
|
100
106
|
export interface PlannedRow {
|
|
101
107
|
hash: string;
|
package/build/lib/plan-solver.js
CHANGED
|
@@ -128,9 +128,12 @@ export function solvePlan(rawPatterns, opts) {
|
|
|
128
128
|
const lever = keepEverythingLever(opts.destination, opts.retrieverInstalled);
|
|
129
129
|
// Scope: keep patterns touching a scoped service; weight by scoped bytes.
|
|
130
130
|
const exceptions = new Set((opts.exceptionServices ?? []).map((x) => x.toLowerCase()));
|
|
131
|
+
const pinnedHashes = new Set(opts.pinnedHashes ?? []);
|
|
131
132
|
const isPinned = (p) => {
|
|
132
133
|
if (isProtectedSeverity(p.severity))
|
|
133
134
|
return true;
|
|
135
|
+
if (pinnedHashes.has(p.hash))
|
|
136
|
+
return true;
|
|
134
137
|
if (exceptions.size === 0)
|
|
135
138
|
return false;
|
|
136
139
|
const { dominant } = serviceMix(p.services);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-solver.js","sourceRoot":"","sources":["../../src/lib/plan-solver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-solver.js","sourceRoot":"","sources":["../../src/lib/plan-solver.ts"],"names":[],"mappings":"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"}
|
|
@@ -267,13 +267,23 @@ did it work, what happens to the number, how, what is protected.
|
|
|
267
267
|
**Applies as:** one routing rule in <destination>, set once at install; the per-type decisions live
|
|
268
268
|
in caps.csv in the user's git repo. Changing the plan changes the CSV, never the <destination>
|
|
269
269
|
config again.
|
|
270
|
-
**Touches:** when the envelope carries \`plan_dependencies\` with checked=true,
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
270
|
+
**Touches:** when the envelope carries \`plan_dependencies\` with checked=true, up to three lines
|
|
271
|
+
from its fields, in this order:
|
|
272
|
+
1. Scan-depth honesty: "scanned <scan_depth>" — and when \`literal\` is empty, say "no literal
|
|
273
|
+
references found in what was scanned", NEVER "none referenced" or "safe": monitors usually
|
|
274
|
+
reference slices (service, severity, index), not template text, and absence of a literal hit
|
|
275
|
+
proves nothing about those.
|
|
276
|
+
2. When \`excluded\` is non-empty: "**Excluded by default:** <N> message types are referenced by
|
|
277
|
+
name — <object names from excluded[].names> — and stay exactly as they are. Including them
|
|
278
|
+
adds <sum of excluded[].forgoneUsd>/mo; say so to trade." (the agent re-calls with
|
|
279
|
+
\`include_referenced: true\` when the user chooses that trade; the exclusion decision must
|
|
280
|
+
see the page BEFORE the user agrees to the plan)
|
|
281
|
+
3. When \`slice\` is non-empty: "<total slice objects> monitors and dashboards mention
|
|
282
|
+
<the services>: <platform_truth verbatim>." — this is DISCLOSURE, not exclusion; slice
|
|
283
|
+
overlap is deliberately broad and must never silently shrink the plan.
|
|
284
|
+
When checked=false, render no Touches line; if the user asks what the plan breaks, relay
|
|
285
|
+
plan_dependencies.note verbatim (it names the missing credentials or the unsupported
|
|
286
|
+
destination).
|
|
277
287
|
|
|
278
288
|
When the target is met and keepEverythingCeilingPct exceeds achievedPct by more than 2 points, append
|
|
279
289
|
to the money line: "· keep-everything ceiling <keepEverythingCeilingPct>%" — the reader deserves to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/lib/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,4BAA4B,EAAe,MAAM,mBAAmB,CAAC;AAE9E,0EAA0E;AAC1E,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,cAAc,GAClB;IACE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,eAAe,EAAE,eAAe,CAAC;IAClC,CAAC,YAAY,EAAE,YAAY,CAAC;CAE/B;KACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;IACnB,MAAM,CAAC,GAAG,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAC3C,2EAA2E;IAC3E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC;AAChC,CAAC,CAAC;KACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8KjC,cAAc
|
|
1
|
+
{"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/lib/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,4BAA4B,EAAe,MAAM,mBAAmB,CAAC;AAE9E,0EAA0E;AAC1E,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,cAAc,GAClB;IACE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,eAAe,EAAE,eAAe,CAAC;IAClC,CAAC,YAAY,EAAE,YAAY,CAAC;CAE/B;KACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;IACnB,MAAM,CAAC,GAAG,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAC3C,2EAA2E;IAC3E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC;AAChC,CAAC,CAAC;KACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8KjC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;m2BAwJm1B,CAAC"}
|
|
@@ -16,5 +16,6 @@
|
|
|
16
16
|
* present for the existing pull connector) and `@aws-sdk/client-cloudwatch`
|
|
17
17
|
* (added for this scanner — alarms + dashboards live there, not in logs).
|
|
18
18
|
*/
|
|
19
|
-
import { type DepCheckOptions, type DepCheckResult } from './types.js';
|
|
19
|
+
import { type DepCheckOptions, type DepCheckResult, type VendorInventory } from './types.js';
|
|
20
|
+
export declare function fetchCloudWatchInventory(): Promise<VendorInventory>;
|
|
20
21
|
export declare function checkCloudWatchDeps(opts: DepCheckOptions): Promise<DepCheckResult>;
|