@x12i/map-store-client 0.1.2 → 0.1.4

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 (80) hide show
  1. package/README.md +147 -1
  2. package/dist/attackSurfaces.d.ts.map +1 -1
  3. package/dist/attackSurfaces.js +17 -3
  4. package/dist/attackSurfaces.js.map +1 -1
  5. package/dist/bagCatalog.js +3 -3
  6. package/dist/bagCatalog.js.map +1 -1
  7. package/dist/bootstrap.d.ts.map +1 -1
  8. package/dist/bootstrap.js +1 -15
  9. package/dist/bootstrap.js.map +1 -1
  10. package/dist/errors.d.ts.map +1 -1
  11. package/dist/errors.js +3 -0
  12. package/dist/errors.js.map +1 -1
  13. package/dist/estate/analytics.d.ts +41 -0
  14. package/dist/estate/analytics.d.ts.map +1 -0
  15. package/dist/estate/analytics.js +115 -0
  16. package/dist/estate/analytics.js.map +1 -0
  17. package/dist/estate/census.d.ts +115 -0
  18. package/dist/estate/census.d.ts.map +1 -0
  19. package/dist/estate/census.js +266 -0
  20. package/dist/estate/census.js.map +1 -0
  21. package/dist/estate/client.d.ts +66 -0
  22. package/dist/estate/client.d.ts.map +1 -0
  23. package/dist/estate/client.js +10 -0
  24. package/dist/estate/client.js.map +1 -0
  25. package/dist/estate/content.d.ts +77 -0
  26. package/dist/estate/content.d.ts.map +1 -0
  27. package/dist/estate/content.js +226 -0
  28. package/dist/estate/content.js.map +1 -0
  29. package/dist/estate/contract.d.ts +64 -0
  30. package/dist/estate/contract.d.ts.map +1 -0
  31. package/dist/estate/contract.js +258 -0
  32. package/dist/estate/contract.js.map +1 -0
  33. package/dist/estate/decisions.d.ts +32 -0
  34. package/dist/estate/decisions.d.ts.map +1 -0
  35. package/dist/estate/decisions.js +113 -0
  36. package/dist/estate/decisions.js.map +1 -0
  37. package/dist/estate/ids.d.ts +3 -0
  38. package/dist/estate/ids.d.ts.map +1 -0
  39. package/dist/estate/ids.js +6 -0
  40. package/dist/estate/ids.js.map +1 -0
  41. package/dist/estate/index.d.ts +26 -0
  42. package/dist/estate/index.d.ts.map +1 -0
  43. package/dist/estate/index.js +17 -0
  44. package/dist/estate/index.js.map +1 -0
  45. package/dist/estate/localStories.d.ts +28 -0
  46. package/dist/estate/localStories.d.ts.map +1 -0
  47. package/dist/estate/localStories.js +980 -0
  48. package/dist/estate/localStories.js.map +1 -0
  49. package/dist/estate/pack.d.ts +45 -0
  50. package/dist/estate/pack.d.ts.map +1 -0
  51. package/dist/estate/pack.js +83 -0
  52. package/dist/estate/pack.js.map +1 -0
  53. package/dist/estate/predictedAttack.d.ts +79 -0
  54. package/dist/estate/predictedAttack.d.ts.map +1 -0
  55. package/dist/estate/predictedAttack.js +321 -0
  56. package/dist/estate/predictedAttack.js.map +1 -0
  57. package/dist/estate/stories.d.ts +85 -0
  58. package/dist/estate/stories.d.ts.map +1 -0
  59. package/dist/estate/stories.js +215 -0
  60. package/dist/estate/stories.js.map +1 -0
  61. package/dist/fetch.d.ts +2 -0
  62. package/dist/fetch.d.ts.map +1 -1
  63. package/dist/fetch.js +35 -4
  64. package/dist/fetch.js.map +1 -1
  65. package/dist/index.d.ts +2 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/queries.d.ts +98 -0
  70. package/dist/queries.d.ts.map +1 -0
  71. package/dist/queries.js +180 -0
  72. package/dist/queries.js.map +1 -0
  73. package/dist/types.d.ts +1 -1
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/types.js.map +1 -1
  76. package/dist/working.d.ts +11 -1
  77. package/dist/working.d.ts.map +1 -1
  78. package/dist/working.js +23 -15
  79. package/dist/working.js.map +1 -1
  80. package/package.json +14 -1
package/README.md CHANGED
@@ -36,4 +36,150 @@ import { fetchBootstrap, walkWorkingPages, mapFetch } from '@x12i/map-store-clie
36
36
  import { asRecord } from '@x12i/map-store-client/util';
37
37
  ```
38
38
 
39
- Subpath exports: `/util`, `/types`, `/errors`, `/products`, `/bagCatalog`, `/attackSurfaces`, `/packets`.
39
+ Subpath exports: `/util`, `/types`, `/errors`, `/products`, `/bagCatalog`, `/attackSurfaces`, `/packets`, `/estate`.
40
+
41
+ `queryFindings` and `fetchVulnerabilitiesBriefing` are exported from the package root. They are the two map-store routes that are POST queries rather than working products.
42
+
43
+ ## The `estate` entry
44
+
45
+ `@x12i/map-store-client/estate` holds the reads that do not go through map-store: the Memorix content lists, the census and analytics records, the triage decisions, and the story pipeline. It takes the Memorix read client you build yourself, so it adds no dependency on `@x12i/memorix-client-api-client`.
46
+
47
+ Drawing stories needs `@x12i/storyflowix` at version 1.2.0 or newer. It is an optional peer: install it when you import `estate`. The rest of the package does not use it.
48
+
49
+ ```ts
50
+ import { createMemorixReadClient } from '@x12i/memorix-client-api-client';
51
+ import { listContent, PREDICTED_ATTACK_LIST, isPredictedAttack } from '@x12i/map-store-client/estate';
52
+
53
+ const memorix = createMemorixReadClient({
54
+ baseUrl: 'http://memorix-client.invalid', // rewritten onto the /memorix-client proxy
55
+ orgId: 'tgi',
56
+ agentIds: ['network-synapix'],
57
+ caller: 'your-app',
58
+ });
59
+
60
+ // One list per object type the contract declares, markdown included, up to 20 pages of 200.
61
+ const attacks = (
62
+ await Promise.all(
63
+ PREDICTED_ATTACK_LIST.objectTypes.map((objectType) =>
64
+ listContent(memorix.data, { objectType, contentType: 'predicted-attack', includeMarkdown: true })
65
+ )
66
+ )
67
+ ).flat().filter((row) => isPredictedAttack(row.data));
68
+ ```
69
+
70
+ The browser reaches the Memorix client API through your proxy at `/memorix-client`, with `x-memorix-org-id`, `x-memorix-agent-ids`, and `x-memorix-caller`. Story functions run through your proxy at `/skill-api` (`runStoryFunction`, agent `network-synapix`). Neither call goes to Memorix directly.
71
+
72
+ ## What each page reads
73
+
74
+ Pins (`snapshotSetId`, `analysisSnapshotId`) come from `fetchBootstrap` and are passed as `expectedPair` on walks. They are never sent back as URL pins. A working product that pages returns `pageVariants`; `walkWorkingPages` fetches each of them.
75
+
76
+ ### Once per session, shared by every page
77
+
78
+ | Read | Call |
79
+ |---|---|
80
+ | `GET /map-store/v1/health` | `fetchHealth` |
81
+ | `GET /map-store/v1/bootstrap` | `fetchBootstrap` |
82
+ | `working/estate-object-inventory`, all pages | `walkWorkingPages('estate-object-inventory', parseInventoryObject)` |
83
+ | `working/object-pre-ai-context`, all pages | `walkWorkingPages('object-pre-ai-context', …)` |
84
+ | `working/findings-query`, entry variant `open-vuln` | `walkWorkingPages('findings-query', …)`. If no row carries a CVE, fall back to `investigation-assessment` |
85
+ | `working/cve-catalog`, all pages | `walkWorkingPages('cve-catalog', …)` |
86
+ | `working/source-capability` | `fetchWorkingProduct('source-capability')` |
87
+ | `working/object-classification-census` | `fetchWorkingProduct('object-classification-census')` |
88
+ | `working/attack-surfaces` and `working/vpn-sites` | `fetchAttackSurfacesIndex`, `fetchVpnSitesIndex` |
89
+ | `working/open-questions` | `fetchWorkingProduct('open-questions')` |
90
+ | `working/known-unknowns-summary`, falling back to `known-unknowns` | `fetchWorkingProduct` |
91
+ | `working/reachability-claims-summary` | `fetchWorkingProduct('reachability-claims-summary')` |
92
+ | `working/attack-path-assessments` | `fetchWorkingProduct('attack-path-assessments')` |
93
+ | `working/alerts-query?variant=all` and `?variant=relevant` | `fetchWorkingProduct('alerts-query', 'all' \| 'relevant')` |
94
+ | `working/alerts-briefing` | `fetchWorkingProduct('alerts-briefing')` |
95
+ | `working/live-bootstrap` | `fetchLiveBootstrap` |
96
+ | `working/prospective-capability` | `fetchWorkingProduct('prospective-capability')` |
97
+ | `security-map` / `estate-analytics` / `working/estate-analytics`, discriminator `publication` | `readEstateAnalytics` |
98
+ | Connector census | `readSourceCensus` |
99
+ | Ranked CVE hubs | `fetchVulnerabilitiesBriefing` |
100
+
101
+ When `estateAnalyticsSuppliesTallies` is false, the triage counts are not on that record. Count them from `TRIAGE_TALLY_LISTS` with `listContent`: `finding` / `triage` (up to 400 pages) and `endpoint-asset` / `triage` (up to 20).
102
+
103
+ ### Data sources
104
+
105
+ **Asset inventory** (`/assets`, plus `/assets/vulnerable`, `/endpoints`, `/identified`, `/unidentified`)
106
+
107
+ - The walked inventory, identities, and findings, and the CVE catalog for the severity dots.
108
+ - `loadTier0Census(data, 'asset')` — `security-map` / `tier0-analytics` / `working/asset-census`, discriminator `asset-census`.
109
+ - `listContent` of `endpoint-asset` / `triage`.
110
+ - A drill-down by decision uses `loadAssetDecisionIds` instead of the full list. It filters `data.decisionType=asset-triage` plus `data.urgency`, `data.decision=NOT_APPLICABLE`, or `data.assessmentState`. `loadAssetUrgencies` maps each asset to its urgency.
111
+ - `walkWorkingPages('attack-path-assessments', …)` for the zone reach tier. A row's `toZoneId` plus a `hypothesis` containing "deny" marks the zone cleared; any other hypothesis marks it possible.
112
+
113
+ **Networks** (`/networks`)
114
+
115
+ - Subnets and zones are derived from the walked inventory. No separate read.
116
+ - The attack-surfaces index, the VPN-sites index, and `reachability-claims-summary`.
117
+ - `readEstateAnalytics`.
118
+
119
+ **Vulnerability catalog** (`/vulnerabilities`, plus `/cves`, `/kev`, `/exploitable`, `/findings`)
120
+
121
+ - The walked findings joined to the inventory, the CVE catalog, and `fetchVulnerabilitiesBriefing`.
122
+ - `queryFindings` for scanner severity, CVSS, KEV, EPSS, and the vendor description. Join on finding id and on CVE id.
123
+ - `loadTier0Census(data, 'vulnerability')` — `working/vulnerability-census`.
124
+ - `listContent` of `finding` / `triage`, up to 120 pages.
125
+ - One finding's decision: `listRecordContent` of `finding` / `triage` with `discriminator: { field: 'decisionType', value: 'finding-triage' }`. `triageInstance(objectType)` names the instance.
126
+ - The CVE panel's analyses: `listContent` of `finding` / `analysis` filtered by `data.cveId`.
127
+ - A verdict line: `listRecordContent` of `finding` / `verdict-reason` for that record id, with markdown.
128
+
129
+ **Recent alerts** (`/alerts`)
130
+
131
+ - `source-capability`, `alerts-query` (`all` and `relevant`), and `alerts-briefing`.
132
+ - The walked inventory, for the asset names.
133
+
134
+ ### Analysis
135
+
136
+ Both pages list one content type on every object type that declares it (`PREDICTED_ATTACK_LIST`, `MITIGATION_LIST`), with markdown, up to 20 pages of 200.
137
+
138
+ **Predicted attacks** (`/predicted-attacks`)
139
+
140
+ - `listContent` of `predicted-attack` on `finding`, `endpoint-asset`, `alert`, `network-device`, and `network-zone`. Keep a row when `isPredictedAttack` is true (`data.predictionType` is `finding-attack`, `asset-attack`, `alert-attack`, `device-attack`, or `zone-attack`).
141
+ - Fields read: `summary`, `scenarioSupport`, `score`, `asOf`, and `actions[]` (`action`, `phase`, `technique`, `assets`, `controls`, `chance`). `steps[]` is the fallback when no action names a technique.
142
+
143
+ **Mitigations** (`/mitigations`)
144
+
145
+ - `listContent` of `mitigation` on `finding`, `endpoint-asset`, `alert`, and `network-zone`. Keep a row when `isMitigationPlan` is true (`data.mitigationType` is `response-plan` and `data.plan.schemaVersion` is `response-plan/v1`).
146
+ - Fields read: `planStatus`, `summary`, `plan.subject.displayName`, and `plan.recommendations[]` (`title`, `readiness`, `conditions[].statement`, `steps`, `proposedOwnerRole`, `why`, `targetEffect`).
147
+
148
+ **Subject names.** `inventoryDisplayName(data, objectType, recordId)` reads `data.displayName` from that subject's `inventory` row.
149
+
150
+ **The diagram.** `predictionStepsFrom(row)` reads the steps, and `predictionDiagram(source)` builds the Storyflowix input. Every step carrying a technique id uses the `attack-path` template. Otherwise it uses `predicted-attack`, which `predictedAttackReady()` checks for in the installed Storyflowix. No steps, or `scenarioSupport` of `INSUFFICIENT_EVIDENCE`, produces the withheld block. No further request is made.
151
+
152
+ ### Exposure
153
+
154
+ **Attack surfaces** (`/attack-surfaces/entries`, `/attack-surfaces/shared`)
155
+
156
+ - `fetchAttackSurfacesIndex`, then `fetchAttackSurfaceDossier(surfaceId)` per surface. Read `epistemicBuckets`, `destZones`, `instances`, and `honesty`.
157
+
158
+ **Exploitability assessments** (`/epa`)
159
+
160
+ - `walkWorkingPages('object-exploitability-assessments', …)`.
161
+ - `fetchBootstrap().assessmentCoverage` and `loadTier0Census(data, 'asset')`.
162
+
163
+ **VPN sites** (`/vpn-sites/sites`, `/vpn-sites/shared`)
164
+
165
+ - `fetchVpnSitesIndex`, then `fetchVpnSiteDossier(siteId)` per site. Read `peerPublicIp`, `remoteInnerOrigins`, `localInnerSelectors`, `nativeAcceptDestZones`, and `epistemicBuckets`.
166
+
167
+ **Reachability** (`/reachability`)
168
+
169
+ - `reachability-claims-summary`, the walked inventory, and `loadTier0Census(data, 'asset')`.
170
+ - `listContent` of `endpoint-asset` / `reachability-analysis`.
171
+
172
+ The estate census board, where a page shows one, is `loadTier0Census(data, 'estate')` — `working/estate-census`.
173
+
174
+ ### Opening one record
175
+
176
+ **Context diagram.** An asset reads `listRecordContent` of `triage` with `triageInstance(objectType)`, and of `analysis`, using the `asset-exposure` and `zone-candidate` rows. A finding reads `finding` / `triage` with `finding-triage`, and `finding` / `analysis`, using the `vulnerability` or `detection` row.
177
+
178
+ **Story.**
179
+
180
+ 1. `loadStoryTabs(catalog, objectType)` — `GET /api/v1/object-types/{type}` for `functions[]`, and `GET /api/v1/object-types/{type}/content-types/story` for the presentation labels.
181
+ 2. `readStoredStory(data, objectType, recordId, template)` — the stored `story` row. Render `input` with Storyflowix and show `text`, `facts`, and `gaps`.
182
+ 3. When nothing is stored, `runStoryFunction(functionId, objectType, recordId)` — `POST /skill-api/api/v1/agent-functions/agents/network-synapix/functions/{id}/run` with `{ objectType, recordId }`. Render `result.storyInput`.
183
+ 4. When the run stops, `loadRecordContents(catalog, objectType, recordId)` then `buildLocalStory(template, objectType, contents)`. One `listRecords` call with `representation: 'both'`.
184
+
185
+ `declaringObjectTypes(contentType)` and `skillsContentTypes(objectType)` are the contract behind the lists: which object types declare which content types, and which discriminator values a row may carry. `requiredDiscriminator` reads the installed pack and names the instance a single-record read must send, so the API does not reject it with `READ_DISCRIMINATOR_REQUIRED`.
@@ -1 +1 @@
1
- {"version":3,"file":"attackSurfaces.d.ts","sourceRoot":"","sources":["../src/attackSurfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EAEnB,gBAAgB,EAEhB,gBAAgB,EAChB,cAAc,EACd,cAAc,EAEd,aAAa,EACd,MAAM,SAAS,CAAC;AAqBjB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CASlF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,GAClC,cAAc,EAAE,CAGlB;AA6BD,wBAAsB,wBAAwB,CAC5C,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAiC9B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAwBtC;AAED,wBAAsB,kBAAkB,CACtC,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,aAAa,CAAC,CA+BxB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAyBhC;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAoCjC;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA2BlC;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EAAE,GAAG,IAAI,CA2B7E;AAED,qDAAqD;AACrD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS7E"}
1
+ {"version":3,"file":"attackSurfaces.d.ts","sourceRoot":"","sources":["../src/attackSurfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EAEnB,gBAAgB,EAEhB,gBAAgB,EAChB,cAAc,EACd,cAAc,EAEd,aAAa,EACd,MAAM,SAAS,CAAC;AAqBjB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CASlF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,GAClC,cAAc,EAAE,CAGlB;AA6BD,wBAAsB,wBAAwB,CAC5C,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAiC9B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAyCtC;AAED,wBAAsB,kBAAkB,CACtC,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,aAAa,CAAC,CA+BxB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAyBhC;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAoCjC;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA2BlC;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EAAE,GAAG,IAAI,CA2B7E;AAED,qDAAqD;AACrD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS7E"}
@@ -95,7 +95,19 @@ export async function fetchAttackSurfacesIndex(opts) {
95
95
  }
96
96
  export async function fetchAttackSurfaceDossier(surfaceId, opts) {
97
97
  const page = await fetchWorkingProduct('attack-surfaces', surfaceId, opts);
98
- const item = firstItem(page);
98
+ const unwrapped = asRecord(unwrapWorkingProduct(page)) ?? asRecord(page) ?? {};
99
+ const rows = (page.items ?? page.objects ?? [])
100
+ .map((row) => asRecord(row))
101
+ .filter((row) => Boolean(row));
102
+ const matched = rows.find((row) => firstString(row.surfaceId, row.id) === surfaceId) ??
103
+ rows[0];
104
+ const pageIsDossier = Boolean(unwrapped.epistemicBuckets ||
105
+ unwrapped.destZones ||
106
+ unwrapped.instances ||
107
+ unwrapped.summary ||
108
+ unwrapped.accepts ||
109
+ firstString(unwrapped.surfaceId) === surfaceId);
110
+ const item = matched ?? (pageIsDossier ? unwrapped : null);
99
111
  if (!item)
100
112
  return null;
101
113
  const chrome = Array.isArray(item.epistemicChrome)
@@ -103,7 +115,7 @@ export async function fetchAttackSurfaceDossier(surfaceId, opts) {
103
115
  : undefined;
104
116
  return {
105
117
  ...item,
106
- surfaceId: firstString(item.surfaceId) ?? surfaceId,
118
+ surfaceId: firstString(item.surfaceId, item.id) ?? surfaceId,
107
119
  summary: firstString(item.summary),
108
120
  priority: firstString(item.priority),
109
121
  epistemicBuckets: parseEpistemicBuckets(item.epistemicBuckets),
@@ -115,7 +127,9 @@ export async function fetchAttackSurfaceDossier(surfaceId, opts) {
115
127
  ? item.destZones.filter((z) => typeof z === 'string')
116
128
  : undefined,
117
129
  instances: Array.isArray(item.instances)
118
- ? item.instances.map(parseVpnSiteSummary).filter(Boolean)
130
+ ? item.instances
131
+ .map(parseVpnSiteSummary)
132
+ .filter(Boolean)
119
133
  : undefined,
120
134
  };
121
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attackSurfaces.js","sourceRoot":"","sources":["../src/attackSurfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attackSurfaces.js","sourceRoot":"","sources":["../src/attackSurfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAgBvD,MAAM,wBAAwB,GAAqB;IACjD,WAAW;IACX,UAAU;IACV,kBAAkB;IAClB,UAAU;IACV,SAAS;CACV,CAAC;AAEF,SAAS,SAAS,CAAC,IAAgD;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC;SACjB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC3B,MAAM,CAAC,OAAO,CAA0B,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAO;QACL,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC;QACzD,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;QACxC,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC;QAC5D,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAAmC;IAEnC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACxD,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAY;IAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;QACpC,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;QAClC,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;QACpC,YAAY,EAAE,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC;QAC5C,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,qBAAqB,CAAC;YAC9D,CAAC,CAAE,GAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YAC/E,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1E,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,GAAG,CAAC,sBAAsB,CAAC;SAC3B,MAAM,CAAC,OAAO,CAA8B,CAAC;IAChD,uFAAuF;IACvF,MAAM,YAAY,GAChB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACrE,CAAC,CAAC,IAAI,CAAC;QACT,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACrE,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;QACvD,CAAC,CAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;QACxE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO;QACL,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9C,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAmC,CAAC;QACxF,kBAAkB,EAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACxD,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1C,cAAc;QACd,QAAQ;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YACjE,CAAC,CAAC,SAAS;QACb,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY;QACxE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,MAAM;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SAC5C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC3B,MAAM,CAAC,CAAC,GAAG,EAAkC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GACX,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;QACpE,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,MAAM,aAAa,GAAG,OAAO,CAC3B,SAAS,CAAC,gBAAgB;QACxB,SAAS,CAAC,SAAS;QACnB,SAAS,CAAC,SAAS;QACnB,SAAS,CAAC,OAAO;QACjB,SAAS,CAAC,OAAO;QACjB,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,SAAS,CACjD,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;QAChD,CAAC,CAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAsB;QACjF,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,GAAG,IAAI;QACP,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS;QAC5D,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;QAClC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,gBAAgB,EAAE,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC9D,eAAe,EAAE,MAAM;QACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YACjE,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YACnE,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,CAAC,CAAE,IAAI,CAAC,SAAS;iBACZ,GAAG,CAAC,mBAAmB,CAAC;iBACxB,MAAM,CAAC,OAAO,CAA8B;YACjD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1E,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,GAAG,CAAC,mBAAmB,CAAC;SACxB,MAAM,CAAC,OAAO,CAA6B,CAAC;IAC/C,MAAM,YAAY,GAChB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACrE,CAAC,CAAC,IAAI,CAAC;QACT,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACrE,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO;QACL,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9C,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9C,kBAAkB,EAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACxD,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1C,SAAS,EACP,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;YAChC,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM;QACzC,KAAK;QACL,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY;QACxE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YACjE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM;QAC1C,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI;QACpD,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;QAC5C,gBAAgB,EAAE,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC9D,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YACjE,CAAC,CAAC,SAAS;QACb,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACxD,CAAC,CAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YAC5E,CAAC,CAAC,SAAS;QACb,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC1D,CAAC,CAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YAC7E,CAAC,CAAC,SAAS;QACb,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC9D,CAAC,CAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YAC/E,CAAC,CAAC,SAAS;QACb,wBAAwB,EAAE,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACpE,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1E,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;IAC5D,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAkD,CAAC;IACpE,MAAM,YAAY,GAChB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACrE,CAAC,CAAC,IAAI,CAAC;QACT,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACrE,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO;QACL,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9C,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9C,kBAAkB,EAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACxD,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1C,SAAS,EACP,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;YAChC,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM;QACzC,KAAK;QACL,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY;QACxE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YACjE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,qBAAqB,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;IACnG,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW;QAC/C,MAAM,EAAE,MAAM;YACZ,CAAC,CAAC;gBACE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC5C,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;aAC/C;YACH,CAAC,CAAC,SAAS;QACb,YAAY,EAAE,YAAY;YACxB,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CACN,CAC7B;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;YACjE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC;IACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACpD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACrB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,GAAG;SACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO;YACL,GAAG,GAAG;YACN,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;YACrC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAA+B;YACnE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;gBACvC,CAAC,CAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc;gBACnE,CAAC,CAAC,SAAS;SACa,CAAC;IAC/B,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAuB,CAAC;AAC3C,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,gBAAgB,CAAC,SAA6B;IAC5D,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,IAAI,GAAG;QAAE,OAAO,cAAc,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjE,IAAI,IAAI;QAAE,OAAO,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpE,IAAI,GAAG;QAAE,OAAO,wBAAwB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -54,7 +54,7 @@ export const BAG_PRODUCTS = [
54
54
  {
55
55
  contentType: 'source-capability',
56
56
  label: 'Source capability',
57
- note: 'Honest source limitations (SAES / SOES / SEAP / NRTS / OM)',
57
+ note: 'Honest source limitations (Splunk / Falcon / FortiGate / Security Analysis / live observations)',
58
58
  kind: 'summary',
59
59
  eager: 'index',
60
60
  },
@@ -136,7 +136,7 @@ export const BAG_PRODUCTS = [
136
136
  {
137
137
  contentType: 'alerts-query',
138
138
  label: 'Alerts query',
139
- note: 'May be incomplete-publication on this land — use inventory alerts until published',
139
+ note: 'Degraded stub while source-capability.saes is UNAVAILABLE — show that limitation; do not backfill from inventory or AI',
140
140
  kind: 'query-family',
141
141
  mayBeMissing: true,
142
142
  eager: 'skip',
@@ -153,7 +153,7 @@ export const BAG_PRODUCTS = [
153
153
  {
154
154
  contentType: 'object-exploitability-assessments',
155
155
  label: 'Object exploitability assessments',
156
- note: 'Already deep-walked for EPA — Map localVerdict POSSIBLE is not EPA',
156
+ note: 'Already deep-walked for exploitability assessments — Map localVerdict POSSIBLE is not an exploitability assessment',
157
157
  kind: 'paged',
158
158
  objectScoped: true,
159
159
  alreadyLoaded: true,
@@ -1 +1 @@
1
- {"version":3,"file":"bagCatalog.js","sourceRoot":"","sources":["../src/bagCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bagCatalog.js","sourceRoot":"","sources":["../src/bagCatalog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EAEd,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAIjB,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAajF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CA2CnE;AAED,wBAAsB,cAAc,CAClC,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,CAKrE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CActE;AAED,wBAAsB,kBAAkB,CACtC,IAAI,CAAC,EAAE,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GACvD,OAAO,CAAC,aAAa,CAAC,CA0BxB;AAED,wBAAgB,aAAa,CAC3B,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAChD,OAAO,CAET"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EAEd,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAGjB,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAajF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CA2CnE;AAED,wBAAsB,cAAc,CAClC,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,CAKrE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CActE;AAED,wBAAsB,kBAAkB,CACtC,IAAI,CAAC,EAAE,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GACvD,OAAO,CAAC,aAAa,CAAC,CAGxB;AAED,wBAAgB,aAAa,CAC3B,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAChD,OAAO,CAET"}
package/dist/bootstrap.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { mapFetch } from './fetch';
2
2
  import { asRecord, firstString } from './util';
3
- import { MapStoreError } from './types';
4
3
  import { parseTypedRecordCensus } from './census';
5
4
  export async function fetchHealth(opts) {
6
5
  const body = await mapFetch('/health', opts);
@@ -77,20 +76,7 @@ export function normalizeLiveBootstrap(payload) {
77
76
  }
78
77
  export async function fetchLiveBootstrap(opts) {
79
78
  const payload = await mapFetch('/working/live-bootstrap', opts);
80
- const live = normalizeLiveBootstrap(payload);
81
- const expected = opts?.expectedPair;
82
- if (expected?.snapshotSetId) {
83
- if (live.relatedSnapshotSetId &&
84
- live.relatedSnapshotSetId !== expected.snapshotSetId) {
85
- throw new MapStoreError(`Live overlay relatedSnapshotSetId ${live.relatedSnapshotSetId} disagrees with covering pair ${expected.snapshotSetId}.`, { code: 'mixed-generation', status: 409 });
86
- }
87
- if (expected.analysisSnapshotId &&
88
- live.relatedAnalysisSnapshotId &&
89
- live.relatedAnalysisSnapshotId !== expected.analysisSnapshotId) {
90
- throw new MapStoreError(`Live overlay relatedAnalysisSnapshotId ${live.relatedAnalysisSnapshotId} disagrees with covering pair ${expected.analysisSnapshotId}.`, { code: 'mixed-generation', status: 409 });
91
- }
92
- }
93
- return live;
79
+ return normalizeLiveBootstrap(payload);
94
80
  }
95
81
  export function isLiveHealthy(availability) {
96
82
  return availability === 'available';
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,wEAAwE;AACxE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAuBxD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,wEAAwE;AACxE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA0BxD"}
package/dist/errors.js CHANGED
@@ -21,6 +21,9 @@ export function formatMapStoreError(err) {
21
21
  return (`Incomplete publication — required bag product is missing for this covering. ` +
22
22
  `Not an empty estate. (${reason})`);
23
23
  }
24
+ if (err.code === 'map-store-unreachable') {
25
+ return err.message;
26
+ }
24
27
  if (err.code === 'memorix-unavailable') {
25
28
  return reason || 'Map-store reports Memorix unavailable.';
26
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wEAAwE;AACxE,MAAM,UAAU,uBAAuB,CACrC,IAAa,EACb,QAAgB;IAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CACL,WAAW,CACT,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAG,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACtD,OAAO,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CACzD,IAAI,QAAQ,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpC,OAAO,CACL,6EAA6E;gBAC7E,sEAAsE;gBACtE,+DAA+D;gBAC/D,IAAI,MAAM,GAAG,CACd,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC1C,OAAO,CACL,8EAA8E;gBAC9E,yBAAyB,MAAM,GAAG,CACnC,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,wCAAwC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wEAAwE;AACxE,MAAM,UAAU,uBAAuB,CACrC,IAAa,EACb,QAAgB;IAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CACL,WAAW,CACT,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAG,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACtD,OAAO,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CACzD,IAAI,QAAQ,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpC,OAAO,CACL,6EAA6E;gBAC7E,sEAAsE;gBACtE,+DAA+D;gBAC/D,IAAI,MAAM,GAAG,CACd,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC1C,OAAO,CACL,8EAA8E;gBAC9E,yBAAyB,MAAM,GAAG,CACnC,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,wCAAwC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The materialized estate rollup, and the connector census.
3
+ * Both are single Memorix reads. Neither is a working product.
4
+ */
5
+ import type { EstateAnalyticsApi, EstateData } from './client';
6
+ export declare const ESTATE_ANALYTICS_TARGET: {
7
+ readonly objectType: "security-map";
8
+ readonly contentType: "estate-analytics";
9
+ readonly recordId: "working/estate-analytics";
10
+ readonly discriminatorValue: "publication";
11
+ };
12
+ /**
13
+ * `data` of `working/estate-analytics`.
14
+ * Null when the record is missing or the content type is not registered. Any other error is thrown.
15
+ */
16
+ export declare function readEstateAnalytics(client: EstateData, signal?: AbortSignal): Promise<Record<string, unknown> | null>;
17
+ /**
18
+ * True when the estate-analytics record already carries the triage counts:
19
+ * finding decisions, asset decisions, priority bands, findings triaged,
20
+ * and both exploitability measures.
21
+ * When this is false, count them from the triage lists instead
22
+ * (`finding` / `triage` and `endpoint-asset` / `triage`). Nothing else is walked.
23
+ */
24
+ export declare function estateAnalyticsSuppliesTallies(raw: unknown): boolean;
25
+ /** Lists to count when {@link estateAnalyticsSuppliesTallies} is false. */
26
+ export declare const TRIAGE_TALLY_LISTS: readonly [{
27
+ readonly objectType: "finding";
28
+ readonly contentType: "triage";
29
+ readonly maxPages: 400;
30
+ }, {
31
+ readonly objectType: "endpoint-asset";
32
+ readonly contentType: "triage";
33
+ readonly maxPages: 20;
34
+ }];
35
+ /**
36
+ * Connector census from `analytics.sourceCensus`.
37
+ * Null when the call fails or the body has no `status` and `subjects`.
38
+ * A `status` other than `live` is returned as-is and is not ready to render.
39
+ */
40
+ export declare function readSourceCensus(analytics: EstateAnalyticsApi, signal?: AbortSignal): Promise<Record<string, unknown> | null>;
41
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/estate/analytics.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG/D,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AASX;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,UAAU,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAUzC;AAsBD;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAsBpE;AAED,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB;;;;;;;;EAGrB,CAAC;AAEX;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CASzC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * The materialized estate rollup, and the connector census.
3
+ * Both are single Memorix reads. Neither is a working product.
4
+ */
5
+ import { asRecord } from '../util';
6
+ import { contentData } from './content';
7
+ export const ESTATE_ANALYTICS_TARGET = {
8
+ objectType: 'security-map',
9
+ contentType: 'estate-analytics',
10
+ recordId: 'working/estate-analytics',
11
+ discriminatorValue: 'publication',
12
+ };
13
+ function absent(err) {
14
+ const status = err?.status;
15
+ if (status === 404)
16
+ return true;
17
+ const code = asRecord(asRecord(err.body)?.error)?.code;
18
+ return status === 400 && code === 'ROUTE_UNKNOWN_CONTENT_TYPE';
19
+ }
20
+ /**
21
+ * `data` of `working/estate-analytics`.
22
+ * Null when the record is missing or the content type is not registered. Any other error is thrown.
23
+ */
24
+ export async function readEstateAnalytics(client, signal) {
25
+ if (signal?.aborted)
26
+ return null;
27
+ try {
28
+ const page = await client.getContent({ ...ESTATE_ANALYTICS_TARGET });
29
+ if (signal?.aborted)
30
+ return null;
31
+ return contentData(page);
32
+ }
33
+ catch (err) {
34
+ if (absent(err))
35
+ return null;
36
+ throw err;
37
+ }
38
+ }
39
+ const TRIAGE_DECISIONS = ['FIX_NOW', 'PATCH_NOW', 'MITIGATE', 'ACCEPT_RISK'];
40
+ function readCount(leaf) {
41
+ if (typeof leaf === 'number' && Number.isFinite(leaf))
42
+ return leaf;
43
+ const rec = asRecord(leaf);
44
+ if (!rec || rec.produced === false)
45
+ return null;
46
+ const raw = rec.value ?? rec.count;
47
+ return typeof raw === 'number' && Number.isFinite(raw) ? raw : null;
48
+ }
49
+ function metricProduced(root, key) {
50
+ if (!root)
51
+ return false;
52
+ const direct = asRecord(root[key]);
53
+ if (direct?.produced === true && typeof direct.value === 'number')
54
+ return true;
55
+ const [section, name] = key.split('.');
56
+ const bag = asRecord(root[section ?? '']);
57
+ const nested = name ? asRecord(bag?.[name]) : null;
58
+ return nested?.produced === true && typeof nested.value === 'number';
59
+ }
60
+ /**
61
+ * True when the estate-analytics record already carries the triage counts:
62
+ * finding decisions, asset decisions, priority bands, findings triaged,
63
+ * and both exploitability measures.
64
+ * When this is false, count them from the triage lists instead
65
+ * (`finding` / `triage` and `endpoint-asset` / `triage`). Nothing else is walked.
66
+ */
67
+ export function estateAnalyticsSuppliesTallies(raw) {
68
+ const top = asRecord(raw);
69
+ const groups = asRecord(top?.groups);
70
+ if (!top || !groups)
71
+ return false;
72
+ const bagReady = (group) => {
73
+ if (!group || group.produced === false)
74
+ return false;
75
+ const bag = asRecord(group.buckets) ?? group;
76
+ return TRIAGE_DECISIONS.every((code) => readCount(bag[code] ?? bag[code.toLowerCase()]) != null);
77
+ };
78
+ if (!bagReady(asRecord(groups.findingDecisions)) || !bagReady(asRecord(groups.assetDecisions)))
79
+ return false;
80
+ const priority = asRecord(groups.priorityBands);
81
+ if (!priority || priority.produced === false)
82
+ return false;
83
+ if (readCount(priority.high) == null || readCount(priority.medium) == null || readCount(priority.low) == null) {
84
+ return false;
85
+ }
86
+ const measures = asRecord(top.measures);
87
+ return ((metricProduced(measures, 'exploitability.reviewed') || metricProduced(top, 'exploitability.reviewed')) &&
88
+ (metricProduced(measures, 'exploitability.highOrCritical') ||
89
+ metricProduced(top, 'exploitability.highOrCritical')) &&
90
+ (metricProduced(measures, 'planned.findingsTriaged') || metricProduced(top, 'planned.findingsTriaged')));
91
+ }
92
+ /** Lists to count when {@link estateAnalyticsSuppliesTallies} is false. */
93
+ export const TRIAGE_TALLY_LISTS = [
94
+ { objectType: 'finding', contentType: 'triage', maxPages: 400 },
95
+ { objectType: 'endpoint-asset', contentType: 'triage', maxPages: 20 },
96
+ ];
97
+ /**
98
+ * Connector census from `analytics.sourceCensus`.
99
+ * Null when the call fails or the body has no `status` and `subjects`.
100
+ * A `status` other than `live` is returned as-is and is not ready to render.
101
+ */
102
+ export async function readSourceCensus(analytics, signal) {
103
+ try {
104
+ const body = asRecord(await analytics.sourceCensus());
105
+ if (signal?.aborted)
106
+ return null;
107
+ if (!body || typeof body.status !== 'string' || !Array.isArray(body.subjects))
108
+ return null;
109
+ return body;
110
+ }
111
+ catch {
112
+ return null;
113
+ }
114
+ }
115
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/estate/analytics.ts"],"names":[],"mappings":"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"}