@datasynx/agentic-ai-cartography 2.10.0 → 2.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -2
- package/dist/api-bin.js +2 -2
- package/dist/{chunk-YVV6NIT2.js → chunk-LO6YFS6H.js} +2 -1
- package/dist/{chunk-ASCA3UFM.js → chunk-OIDAXUW5.js} +340 -204
- package/dist/chunk-OIDAXUW5.js.map +1 -0
- package/dist/{chunk-W4Q3TXHR.js → chunk-PD67MOKR.js} +2 -2
- package/dist/cli.js +97 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +241 -30
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +126 -3
- package/dist/index.d.ts +126 -3
- package/dist/index.js +217 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp-bin.js +2 -2
- package/llms-full.txt +305 -25
- package/package.json +1 -1
- package/server.json +2 -2
- package/dist/chunk-ASCA3UFM.js.map +0 -1
- /package/dist/{chunk-YVV6NIT2.js.map → chunk-LO6YFS6H.js.map} +0 -0
- /package/dist/{chunk-W4Q3TXHR.js.map → chunk-PD67MOKR.js.map} +0 -0
package/dist/index.d.cts
CHANGED
|
@@ -1984,6 +1984,18 @@ type FragmentKind = 'host' | 'user' | 'path' | 'ip';
|
|
|
1984
1984
|
* left intact (so topology against public infra still reads).
|
|
1985
1985
|
*/
|
|
1986
1986
|
declare const PRIVATE_IP: RegExp;
|
|
1987
|
+
/**
|
|
1988
|
+
* A bare single-label internal hostname — the known 2.10 residual that {@link HOSTNAME}
|
|
1989
|
+
* (multi-label only) never tokenizes. We only treat a single label as an internal host
|
|
1990
|
+
* when it *looks* like one: it contains a hyphen or a digit run (e.g. `db-01`, `web2`,
|
|
1991
|
+
* `prod-db`) so we do not false-positive ordinary English words used as a `name`
|
|
1992
|
+
* (`Postgres`, `Marketing`) or the literal `localhost`. Single-sourced here so the
|
|
1993
|
+
* client (this module) and the server (`src/central/anonymization.ts`, which re-imports
|
|
1994
|
+
* this constant) agree on what counts as a bare internal host.
|
|
1995
|
+
*/
|
|
1996
|
+
declare const BARE_INTERNAL_HOST: RegExp;
|
|
1997
|
+
/** A pseudonym token produced by this module (`anon:host:abc…`) — already anonymized. */
|
|
1998
|
+
declare const ANON_TOKEN: RegExp;
|
|
1987
1999
|
/**
|
|
1988
2000
|
* Deterministic token for one identifying fragment. When `db` is supplied, the
|
|
1989
2001
|
* plaintext is AES-256-GCM-encrypted under `reversalKey(orgKey)` and persisted so
|
|
@@ -1998,6 +2010,17 @@ declare function pseudonymizeFragment(plaintext: string, kind: FragmentKind, org
|
|
|
1998
2010
|
* or a path segment is never mis-tokenized as a host.
|
|
1999
2011
|
*/
|
|
2000
2012
|
declare function pseudonymizeString(s: string, orgKey: Buffer, db?: CartographyDB): string;
|
|
2013
|
+
/**
|
|
2014
|
+
* Pseudonymize the host material of a structured node id (`{type}:{host}[:{port}]` or
|
|
2015
|
+
* `{type}:{provider}:{name}`). The leading `{type}` segment is a non-identifying schema
|
|
2016
|
+
* prefix and is left verbatim; every later colon-delimited segment is run through
|
|
2017
|
+
* {@link pseudonymizeString} (so an FQDN, a private IP, an absolute path, or a bare
|
|
2018
|
+
* internal host inside a segment all tokenize, while a numeric port — matching no rule —
|
|
2019
|
+
* is preserved). Re-join with `:`. This is the structural id transform used for node ids
|
|
2020
|
+
* and for edge endpoints, so both stay consistent. A token already inside a segment is
|
|
2021
|
+
* not re-tokenized (the bare-host pass is whole-string and `anon:` tokens are excluded).
|
|
2022
|
+
*/
|
|
2023
|
+
declare function pseudonymizeId(id: string, orgKey: Buffer, db?: CartographyDB): string;
|
|
2001
2024
|
/**
|
|
2002
2025
|
* Recursive, structure-preserving walker — same shape as `redactValue`
|
|
2003
2026
|
* (`src/tools.ts`): strings → {@link pseudonymizeString}, arrays → map,
|
|
@@ -2042,8 +2065,16 @@ declare function resolveEffectiveLevel(node: DiscoveryNode, policy: SharingPolic
|
|
|
2042
2065
|
* (structure-preserving); identifying fragments tokenized.
|
|
2043
2066
|
* - `full` → a structural clone, verbatim.
|
|
2044
2067
|
*
|
|
2045
|
-
* The same deterministic `
|
|
2046
|
-
* {@link previewShare} when remapping edges, so endpoints
|
|
2068
|
+
* The same deterministic `pseudonymizeId` is applied to the id here and by
|
|
2069
|
+
* {@link previewShare} when remapping edges (via the shared idMap), so endpoints
|
|
2070
|
+
* always resolve. `pseudonymizeId` is id-aware: it tokenizes the host segment(s) —
|
|
2071
|
+
* including a bare single-label internal host — while sparing the `{type}` prefix.
|
|
2072
|
+
*
|
|
2073
|
+
* At the `anonymized` level the derived identity fields `globalId`
|
|
2074
|
+
* (`{tenant}:{normalizeId(id)}`, which embeds the raw id) and `contentHash` are
|
|
2075
|
+
* dropped from the outgoing payload — they would otherwise carry the raw id past
|
|
2076
|
+
* anonymization, and the central collector recomputes both from the (anonymized)
|
|
2077
|
+
* node on ingest (`computeIdentity`), so omitting them is both leak-free and lossless.
|
|
2047
2078
|
*/
|
|
2048
2079
|
declare function applySharingLevel(node: DiscoveryNode, level: SharingLevel, orgKey: Buffer, db?: CartographyDB): DiscoveryNode | null;
|
|
2049
2080
|
interface SharePreviewEntry {
|
|
@@ -2150,6 +2181,11 @@ interface ScanContext {
|
|
|
2150
2181
|
scanEstablishedConnections?: () => string;
|
|
2151
2182
|
/** Injectable seam: cross-platform file search (3.2). Defaults to `findFiles`. */
|
|
2152
2183
|
findFiles?: (dirs: string[], patterns: string[], maxDepth: number, limit: number) => string;
|
|
2184
|
+
/**
|
|
2185
|
+
* Injectable seam: read a local file's UTF-8 contents, '' on any error (5.3). Reads via
|
|
2186
|
+
* `node:fs` (NOT the shell) so an operator-supplied path can never inject a command.
|
|
2187
|
+
*/
|
|
2188
|
+
readFile?: (path: string) => string;
|
|
2153
2189
|
/** Injectable seam: browser-bookmark host source. Defaults to `scanAllBookmarks`. */
|
|
2154
2190
|
scanBookmarks?: () => Promise<BookmarkHost[]>;
|
|
2155
2191
|
}
|
|
@@ -2801,6 +2837,33 @@ declare function parseConnectionString(name: string, url: string): {
|
|
|
2801
2837
|
} | null;
|
|
2802
2838
|
declare const serviceConfigScanner: Scanner;
|
|
2803
2839
|
|
|
2840
|
+
/**
|
|
2841
|
+
* Terraform-state importer (5.3) — a first-class deterministic `Scanner`.
|
|
2842
|
+
*
|
|
2843
|
+
* Ingests Terraform state JSON (a local `*.tfstate`, or the output of
|
|
2844
|
+
* `terraform state pull` piped to a file) and emits authoritative `nodes`/`edges` into
|
|
2845
|
+
* the existing discovery pipeline. This bridges *declared intent* (IaC) with *observed
|
|
2846
|
+
* reality* (the live scanners): a resource declared in Terraform and a node observed on
|
|
2847
|
+
* the machine reconcile to one record under `runLocalDiscovery`'s highest-confidence
|
|
2848
|
+
* dedup, and the importer's `depends_on` edges are subject to the same endpoint-existence
|
|
2849
|
+
* gate. Registered in `defaultRegistry()`, so it surfaces through both the CLI discovery
|
|
2850
|
+
* command and the MCP `run_discovery` tool with zero extra wiring.
|
|
2851
|
+
*
|
|
2852
|
+
* Read-only: it only `cat`s a state file (allowlisted). Attribute values are
|
|
2853
|
+
* credential-redacted before storage; only a small identity subset is kept.
|
|
2854
|
+
*/
|
|
2855
|
+
|
|
2856
|
+
/** Map a Terraform resource type (e.g. `aws_db_instance`) to a Cartograph node type. */
|
|
2857
|
+
declare function terraformTypeToNode(tfType: string): NodeType;
|
|
2858
|
+
/**
|
|
2859
|
+
* Parse Terraform state JSON into nodes/edges. Pure + deterministic. A managed resource
|
|
2860
|
+
* becomes a node keyed `{type}:terraform:{addr}`; its `dependencies[]` become `depends_on`
|
|
2861
|
+
* edges to other managed resources in the same state. Malformed JSON → empty result
|
|
2862
|
+
* (graceful degradation, never throws).
|
|
2863
|
+
*/
|
|
2864
|
+
declare function parseTerraformState(json: string): ScanResult;
|
|
2865
|
+
declare const terraformScanner: Scanner;
|
|
2866
|
+
|
|
2804
2867
|
/**
|
|
2805
2868
|
* Confidence rubric for inferred dependency edges (3.2).
|
|
2806
2869
|
*
|
|
@@ -3518,6 +3581,66 @@ declare function executeNlQuery(db: CartographyDB, sessionId: string, search: Se
|
|
|
3518
3581
|
/** Convenience: parse + execute in one call. */
|
|
3519
3582
|
declare function resolveNlQuery(db: CartographyDB, sessionId: string, search: SearchFn, raw: string, opts?: NlQueryOptions): Promise<NlQueryResult>;
|
|
3520
3583
|
|
|
3584
|
+
/**
|
|
3585
|
+
* Kubernetes operator (5.2) — a thin, deterministic, LLM-free reconcile loop.
|
|
3586
|
+
*
|
|
3587
|
+
* Runs Cartograph's discovery continuously **inside** a cluster and reports drift between
|
|
3588
|
+
* cycles — the "continuous CMDB for Kubernetes" outcome. It is a thin orchestration over
|
|
3589
|
+
* two engine halves that already exist and are DB-agnostic: the deterministic discovery
|
|
3590
|
+
* driver `runLocalDiscovery` (with a **k8s-only** scanner registry — it maps in-cluster
|
|
3591
|
+
* resources, never the host) and the drift engine `runDrift` (which classifies the delta
|
|
3592
|
+
* vs the previous cycle and dispatches it to the configured sinks, 3.1/4.4). No agent loop,
|
|
3593
|
+
* no Anthropic coupling, read-only (only `kubectl` reads via the allowlist).
|
|
3594
|
+
*
|
|
3595
|
+
* It is a periodic-reconcile operator, not a CRD controller — no custom resource or
|
|
3596
|
+
* controller-runtime dependency; the loop is a plain interval (or a single `--once` pass
|
|
3597
|
+
* for a CronJob driver). All side effects are injectable, so a cycle is unit-testable
|
|
3598
|
+
* without a cluster.
|
|
3599
|
+
*/
|
|
3600
|
+
|
|
3601
|
+
/** A k8s-only scanner registry — the operator discovers cluster resources, not the host. */
|
|
3602
|
+
declare function k8sRegistry(): ScannerRegistry;
|
|
3603
|
+
/** True when running inside a Kubernetes pod (the service-account API env is injected). */
|
|
3604
|
+
declare function isInCluster(env?: NodeJS.ProcessEnv): boolean;
|
|
3605
|
+
interface OperatorCycleResult {
|
|
3606
|
+
sessionId: string;
|
|
3607
|
+
nodes: number;
|
|
3608
|
+
edges: number;
|
|
3609
|
+
/** The classified drift vs the previous cycle, or null (first cycle / no change). */
|
|
3610
|
+
drift: DriftAlert | null;
|
|
3611
|
+
}
|
|
3612
|
+
interface OperatorOptions {
|
|
3613
|
+
/** Reconcile interval (ms). Default 5 minutes. */
|
|
3614
|
+
intervalMs?: number;
|
|
3615
|
+
/** Run a single reconcile and return — CronJob-driver friendly. */
|
|
3616
|
+
once?: boolean;
|
|
3617
|
+
/** Injected discovery (tests). Default: `runLocalDiscovery` over the k8s registry. */
|
|
3618
|
+
discover?: (db: CartographyDB, sessionId: string) => Promise<{
|
|
3619
|
+
nodes: number;
|
|
3620
|
+
edges: number;
|
|
3621
|
+
}>;
|
|
3622
|
+
/** Injected drift dispatch (tests). Default: `runDrift` (dispatches to `config.drift` sinks). */
|
|
3623
|
+
drift?: (db: CartographyDB, config: CartographyConfig) => Promise<DriftAlert | null>;
|
|
3624
|
+
/** Stop the reconcile loop (SIGINT/SIGTERM → abort). */
|
|
3625
|
+
signal?: AbortSignal;
|
|
3626
|
+
/** Sleep between cycles (tests inject a controlled/no-wait sleep). */
|
|
3627
|
+
sleep?: (ms: number) => Promise<void>;
|
|
3628
|
+
/**
|
|
3629
|
+
* Keep only the most recent N discovery sessions (default 10) — a continuous operator
|
|
3630
|
+
* creates one session per cycle, so older snapshots are pruned each cycle to bound the
|
|
3631
|
+
* catalog. Drift only needs the latest two; the rest are retained history.
|
|
3632
|
+
*/
|
|
3633
|
+
retain?: number;
|
|
3634
|
+
log?: (msg: string) => void;
|
|
3635
|
+
}
|
|
3636
|
+
/**
|
|
3637
|
+
* One reconcile cycle: discover in-cluster → record the session → classify + dispatch drift
|
|
3638
|
+
* vs the previous cycle. Returns the cycle outcome.
|
|
3639
|
+
*/
|
|
3640
|
+
declare function runOperatorCycle(db: CartographyDB, config: CartographyConfig, opts?: OperatorOptions): Promise<OperatorCycleResult>;
|
|
3641
|
+
/** Run the operator: a single cycle if `once`, else a reconcile loop until the signal aborts. */
|
|
3642
|
+
declare function runOperator(db: CartographyDB, config: CartographyConfig, opts?: OperatorOptions): Promise<void>;
|
|
3643
|
+
|
|
3521
3644
|
/**
|
|
3522
3645
|
* Multi-cloud correlation engine (5.1).
|
|
3523
3646
|
*
|
|
@@ -4379,4 +4502,4 @@ declare function logInfo(message: string, context?: Record<string, unknown>): vo
|
|
|
4379
4502
|
declare function logWarn(message: string, context?: Record<string, unknown>): void;
|
|
4380
4503
|
declare function logError(message: string, context?: Record<string, unknown>): void;
|
|
4381
4504
|
|
|
4382
|
-
export { ACTIONS, ANOMALY_KINDS, ANOMALY_SEVERITIES, type Action, ActionSchema, type AgentProvider, type AgentRunContext, type AgentTool, type Anomaly, type AnomalyConfig, type AnomalyKind, type AnomalySeverity, type AnomalyThresholds, type AnonViolation, type AnonymizationLevel, type ApiServerOptions, type AskUserFn, type AuthConfig, AuthConfigSchema, AuthorizationError, type Awaitable, type BackstageEntity, type BackstageMapOptions, type BindGuardOptions, type BoltDriver, type BoltRecord, type BoltResult, type BoltSession, CLIENTS, CONFIDENCE, CORRELATION_CONFIDENCE, COST_PERIODS, type CanonicalNode, type CartographyConfig, CartographyDB, type CartographyMapData, type CentralDbConfig, CentralDbConfigSchema, type ClassifiedItem, type ClassifyInput, type ClassifyResult, type ClientSpec, type Cluster, ClusterSchema, type ComplianceInput, type ComplianceReport, ComplianceReportSchema, type ComplianceRule, ComplianceRuleSchema, type Condition, ConditionSchema, ConfigError, type ConfigFile, ConfigFileSchema, type ConfigFormat, type Connection, ConnectionSchema, type Contributor, type ControlResult, ControlResultSchema, type CorrelatedTopology, type CorrelationEdge, type CorrelationSignal, type CostEntry, CostEntrySchema, type CostPeriod, type CostRecord, type CostSource, type CreateMcpServerOptions, type CredentialConfig, CredentialConfigSchema, type CredentialDb, type CredentialRecord, type CredentialStore, type CronFields, CsvCostSource, type CsvCostSourceOptions, DEFAULT_ANOMALY_THRESHOLDS, DEFAULT_FAST_MODEL, DEFAULT_INGEST_QUOTA, DEFAULT_LEAD_MODEL, DEFAULT_SERVER_NAME, DEFAULT_TENANT, DOMAIN_COLORS, DOMAIN_PALETTE, DRIFT_FIELDS, type DashboardOptions, type DataAsset, DataAssetSchema, type DependencyQuery, type DiscoveryEdge, type DiscoveryEvent, type DiscoveryFn, type DiscoveryNode, type DriftAlert, type DriftAlertItem, type DriftConfig, DriftConfigSchema, type DriftField, type DriftItemKind, type DriftRunRow, type DriftSink, type DriftSinkConfig, EDGE_RELATIONSHIPS, type EdgeRelationship, type EdgeRow, EdgeSchema, type EmbeddingProvider, type EnrichResult, type EntryOptions, type EstablishedConn, type EvidenceKind, type FetchLike, type FragmentKind, GraphStoreBackend, type GraphSummary, type HealthResult, type HttpOptions, INGEST_SCHEMA_VERSION, type IngestEnvelope, IngestEnvelopeSchema, type IngestHandler, type IngestHandlerOptions, type IngestOptions, type IngestResponse, type IngestResult, type InstallPlan, InvalidTenantError, type JiraIssue, type JiraOptions, JiraSink, type JiraSinkOptions, LOOPBACK_HOSTS, type LocalDiscoveryOptions, type LocalDiscoveryResult, type LogEntry, type LogLevel, MCP_BIN, type MatchStrategy, NODE_TYPES, NODE_TYPE_GROUPS, type NlIntent, type NlQueryOptions, type NlQueryResult, type NlRelation, type NodeAttribution, type NodeChange, type NodeIdentity, type NodeQuery, type NodeRow, NodeSchema, type NodeSignals, type NodeType, type NodesResult, NotFoundError, OUTPUT_FORMATS, type OrgKeyOptions, type OrgSummary, type OsKind, type OutputFormat, PACKAGE_NAME, PAGERDUTY_ENQUEUE_URL, PENDING_STATUSES, PERSONAL, PORT_MAP, PRIVATE_IP, PUSH_SCHEMA_VERSION, type PagerDutyEvent, PagerDutySink, type PagerDutySinkOptions, type ParsedApiArgs, type PendingShareRow, type PendingStatus, type PlanOptions, type PolicyResult, type PostJsonOptions, type Principal, PrincipalSchema, type ProviderFactory, type ProviderName, ProviderRegistry, type PushItem, type PushOptions, type PushResult, type QueryBackend, type QuotaConfig, type QuotaDecision, RELATION_TO_DIRECTION, ROLES, RateLimiter, type ResolveContext, type ResolveOptions, type Role, RoleSchema, type RuleCheck, RuleCheckSchema, type RuleScope, type Ruleset, RulesetSchema, type RunDriftOptions, SCAN_ARG_PATTERNS, SCHEMA_VERSION, SDL, SECURITY_METADATA_KEYS, SEVERITIES, SEVERITY_WEIGHT, SHARING_LEVELS, type ScanArgKind, type ScanContext, type ScanHintParams, type ScanResult, type Scanner, type ScannerPlugin, type ScannerPluginApi, ScannerRegistry, ScannerShape, type ScheduleConfig, ScheduleConfigSchema, type ScheduledRunResult, type Scope, type SearchFn, type SemanticSearchOptions, type ServerEntry, type SessionRow, type Severity, type SharePreview, type SharePreviewEntry, type SharingLevel, SharingLevelSchema, type SharingPolicy, type ShellKind, type SlackMessage, SlackSink, SqliteCredentialStore, SqliteQueryBackend, SqliteStoreBackend, type StartApiOptions, StdoutSink, type StoreBackend, type StoreBackendOptions, type SyncClassifyOptions, type SyncClassifyResult, TENANT_HEADER, type TenantContext, TenantMismatchError, type TenantOptions, type ToolResult, type TopologyDelta, type TopologyDiff, type TopologyInput, type TraversalResult, VectorStore, WebhookSink, type WebhookSinkOptions, applyInstall, applySharingLevel, assertReadOnly, assertSafeBind, assertSafeScanArg, assertSameTenant, assignColors, authorize, bearerToken, bookmarksScanner, buildCartographyToolHandlers, buildMapData, buildOpenApiDocument, buildReport, buildSinks, can, centralDbFromEnv, checkBearer, checkPrerequisites, checkReadOnly, clampText, classify, classifyDrift, cleanupTempFiles, cloudAwsScanner, cloudAzureScanner, cloudGcpScanner, codeAddMcpCommand, computeCentroid, computeClusterBounds, computeIdentity, connectionsScanner, contentHash, correlateTopology, createBashTool, createCartographyTools, createClaudeProvider, createDefaultRegistry, createHashEmbedder, createIngestHandler, createLocalEmbedder, createMcpServer, createOllamaProvider, createOpenAIProvider, createScanRunner, createSemanticSearch, createSqliteQueryBackend, currentOs, cursorDeeplink, dashboardHtml, databasesScanner, deepMerge, defaultAllowedHosts, defaultConfig, defaultContext, defaultProviderRegistry, defaultRegistry, defaultServerEntry, definePlugin, deriveSessionName, detectAnomalies, detectOrphans, detectShadowIt, diffTopology, edgesToConnections, enrichCosts, entitiesToYaml, evaluateCheck, evaluateRule, evidenceLine, executeGraphql, executeNlQuery, exportAll, exportBackstageYAML, exportComplianceReport, exportCostCSV, exportCostSummary, exportDiscoveryApp, exportJGF, exportJSON, extractListeningPorts, extractSignals, filterBySeverity, findAnonViolations, formatComplianceText, formatJira, formatPagerDuty, formatSlack, generateDependencyMermaid, generateDiffMermaid, generateTopologyMermaid, getClient, getRuleset, globalId, groupByDomain, handleGraphqlGet, hashToken, hexCorners, hexDistance, hexNeighbors, hexRing, hexSpiral, hexToPixel, hmacKey, hostname, ingestEnvelope, installedAppsScanner, isLoopbackHost, isPersonalHost, isReadOnlyCommand, isRemembered, isSecureWebhookUrl, k8sScanner, keyMetaOf, layoutClusters, listClients, listRulesets, loadConfig, loadOrgKey, loadPlugins, loadRuleset, localDiscoveryFn, log, logDebug, logError, logInfo, logWarn, machineId, maxSeverity, mcpServerObject, newAnomalies, nextRun, nodesToAssets, normalizeId, normalizeTenant, openStoreBackend, orgKeyPath, osUser, parseApiArgs, parseComposeDeps, parseConfig, parseConnectionString, parseCostCsv, parseCron, parseEstablished, parseNginxUpstreams, parseNlQuery, parseScanHint, pixelToHex, planInstall, portsScanner, postJson, previewShare, pseudonymize, pseudonymizeFragment, pseudonymizeString, pushDeltas, readConfigFile, redactConnectionString, redactSecrets, redactValue, renderDiff, resolveEffectiveLevel, resolveNlQuery, resolvePrincipal, resolveSharingLevel, resolveTenant, revalidateAnonymized, reversalKey, reversePseudonym, rotateOrgKey, runApi, runDiscovery, runDrift, runHttp, runLocalDiscovery, runOnce, runStdio, runSyncClassify, safeEnv, safeJson, safetyHook, sanitizeUntrusted, sanitizeValue, scopeReads, scoreTopology, securityRelevantChange, serializeConfig, serviceConfigScanner, setVerbose, shadeVariant, shapeToJsonSchema, shareHash, splitSegments, stableStringify, startApi, stripSensitive, timingSafeEqual, toBackstageEntities, validateScanner, vscodeDeeplink, zodToJsonSchema };
|
|
4505
|
+
export { ACTIONS, ANOMALY_KINDS, ANOMALY_SEVERITIES, ANON_TOKEN, type Action, ActionSchema, type AgentProvider, type AgentRunContext, type AgentTool, type Anomaly, type AnomalyConfig, type AnomalyKind, type AnomalySeverity, type AnomalyThresholds, type AnonViolation, type AnonymizationLevel, type ApiServerOptions, type AskUserFn, type AuthConfig, AuthConfigSchema, AuthorizationError, type Awaitable, BARE_INTERNAL_HOST, type BackstageEntity, type BackstageMapOptions, type BindGuardOptions, type BoltDriver, type BoltRecord, type BoltResult, type BoltSession, CLIENTS, CONFIDENCE, CORRELATION_CONFIDENCE, COST_PERIODS, type CanonicalNode, type CartographyConfig, CartographyDB, type CartographyMapData, type CentralDbConfig, CentralDbConfigSchema, type ClassifiedItem, type ClassifyInput, type ClassifyResult, type ClientSpec, type Cluster, ClusterSchema, type ComplianceInput, type ComplianceReport, ComplianceReportSchema, type ComplianceRule, ComplianceRuleSchema, type Condition, ConditionSchema, ConfigError, type ConfigFile, ConfigFileSchema, type ConfigFormat, type Connection, ConnectionSchema, type Contributor, type ControlResult, ControlResultSchema, type CorrelatedTopology, type CorrelationEdge, type CorrelationSignal, type CostEntry, CostEntrySchema, type CostPeriod, type CostRecord, type CostSource, type CreateMcpServerOptions, type CredentialConfig, CredentialConfigSchema, type CredentialDb, type CredentialRecord, type CredentialStore, type CronFields, CsvCostSource, type CsvCostSourceOptions, DEFAULT_ANOMALY_THRESHOLDS, DEFAULT_FAST_MODEL, DEFAULT_INGEST_QUOTA, DEFAULT_LEAD_MODEL, DEFAULT_SERVER_NAME, DEFAULT_TENANT, DOMAIN_COLORS, DOMAIN_PALETTE, DRIFT_FIELDS, type DashboardOptions, type DataAsset, DataAssetSchema, type DependencyQuery, type DiscoveryEdge, type DiscoveryEvent, type DiscoveryFn, type DiscoveryNode, type DriftAlert, type DriftAlertItem, type DriftConfig, DriftConfigSchema, type DriftField, type DriftItemKind, type DriftRunRow, type DriftSink, type DriftSinkConfig, EDGE_RELATIONSHIPS, type EdgeRelationship, type EdgeRow, EdgeSchema, type EmbeddingProvider, type EnrichResult, type EntryOptions, type EstablishedConn, type EvidenceKind, type FetchLike, type FragmentKind, GraphStoreBackend, type GraphSummary, type HealthResult, type HttpOptions, INGEST_SCHEMA_VERSION, type IngestEnvelope, IngestEnvelopeSchema, type IngestHandler, type IngestHandlerOptions, type IngestOptions, type IngestResponse, type IngestResult, type InstallPlan, InvalidTenantError, type JiraIssue, type JiraOptions, JiraSink, type JiraSinkOptions, LOOPBACK_HOSTS, type LocalDiscoveryOptions, type LocalDiscoveryResult, type LogEntry, type LogLevel, MCP_BIN, type MatchStrategy, NODE_TYPES, NODE_TYPE_GROUPS, type NlIntent, type NlQueryOptions, type NlQueryResult, type NlRelation, type NodeAttribution, type NodeChange, type NodeIdentity, type NodeQuery, type NodeRow, NodeSchema, type NodeSignals, type NodeType, type NodesResult, NotFoundError, OUTPUT_FORMATS, type OperatorCycleResult, type OperatorOptions, type OrgKeyOptions, type OrgSummary, type OsKind, type OutputFormat, PACKAGE_NAME, PAGERDUTY_ENQUEUE_URL, PENDING_STATUSES, PERSONAL, PORT_MAP, PRIVATE_IP, PUSH_SCHEMA_VERSION, type PagerDutyEvent, PagerDutySink, type PagerDutySinkOptions, type ParsedApiArgs, type PendingShareRow, type PendingStatus, type PlanOptions, type PolicyResult, type PostJsonOptions, type Principal, PrincipalSchema, type ProviderFactory, type ProviderName, ProviderRegistry, type PushItem, type PushOptions, type PushResult, type QueryBackend, type QuotaConfig, type QuotaDecision, RELATION_TO_DIRECTION, ROLES, RateLimiter, type ResolveContext, type ResolveOptions, type Role, RoleSchema, type RuleCheck, RuleCheckSchema, type RuleScope, type Ruleset, RulesetSchema, type RunDriftOptions, SCAN_ARG_PATTERNS, SCHEMA_VERSION, SDL, SECURITY_METADATA_KEYS, SEVERITIES, SEVERITY_WEIGHT, SHARING_LEVELS, type ScanArgKind, type ScanContext, type ScanHintParams, type ScanResult, type Scanner, type ScannerPlugin, type ScannerPluginApi, ScannerRegistry, ScannerShape, type ScheduleConfig, ScheduleConfigSchema, type ScheduledRunResult, type Scope, type SearchFn, type SemanticSearchOptions, type ServerEntry, type SessionRow, type Severity, type SharePreview, type SharePreviewEntry, type SharingLevel, SharingLevelSchema, type SharingPolicy, type ShellKind, type SlackMessage, SlackSink, SqliteCredentialStore, SqliteQueryBackend, SqliteStoreBackend, type StartApiOptions, StdoutSink, type StoreBackend, type StoreBackendOptions, type SyncClassifyOptions, type SyncClassifyResult, TENANT_HEADER, type TenantContext, TenantMismatchError, type TenantOptions, type ToolResult, type TopologyDelta, type TopologyDiff, type TopologyInput, type TraversalResult, VectorStore, WebhookSink, type WebhookSinkOptions, applyInstall, applySharingLevel, assertReadOnly, assertSafeBind, assertSafeScanArg, assertSameTenant, assignColors, authorize, bearerToken, bookmarksScanner, buildCartographyToolHandlers, buildMapData, buildOpenApiDocument, buildReport, buildSinks, can, centralDbFromEnv, checkBearer, checkPrerequisites, checkReadOnly, clampText, classify, classifyDrift, cleanupTempFiles, cloudAwsScanner, cloudAzureScanner, cloudGcpScanner, codeAddMcpCommand, computeCentroid, computeClusterBounds, computeIdentity, connectionsScanner, contentHash, correlateTopology, createBashTool, createCartographyTools, createClaudeProvider, createDefaultRegistry, createHashEmbedder, createIngestHandler, createLocalEmbedder, createMcpServer, createOllamaProvider, createOpenAIProvider, createScanRunner, createSemanticSearch, createSqliteQueryBackend, currentOs, cursorDeeplink, dashboardHtml, databasesScanner, deepMerge, defaultAllowedHosts, defaultConfig, defaultContext, defaultProviderRegistry, defaultRegistry, defaultServerEntry, definePlugin, deriveSessionName, detectAnomalies, detectOrphans, detectShadowIt, diffTopology, edgesToConnections, enrichCosts, entitiesToYaml, evaluateCheck, evaluateRule, evidenceLine, executeGraphql, executeNlQuery, exportAll, exportBackstageYAML, exportComplianceReport, exportCostCSV, exportCostSummary, exportDiscoveryApp, exportJGF, exportJSON, extractListeningPorts, extractSignals, filterBySeverity, findAnonViolations, formatComplianceText, formatJira, formatPagerDuty, formatSlack, generateDependencyMermaid, generateDiffMermaid, generateTopologyMermaid, getClient, getRuleset, globalId, groupByDomain, handleGraphqlGet, hashToken, hexCorners, hexDistance, hexNeighbors, hexRing, hexSpiral, hexToPixel, hmacKey, hostname, ingestEnvelope, installedAppsScanner, isInCluster, isLoopbackHost, isPersonalHost, isReadOnlyCommand, isRemembered, isSecureWebhookUrl, k8sRegistry, k8sScanner, keyMetaOf, layoutClusters, listClients, listRulesets, loadConfig, loadOrgKey, loadPlugins, loadRuleset, localDiscoveryFn, log, logDebug, logError, logInfo, logWarn, machineId, maxSeverity, mcpServerObject, newAnomalies, nextRun, nodesToAssets, normalizeId, normalizeTenant, openStoreBackend, orgKeyPath, osUser, parseApiArgs, parseComposeDeps, parseConfig, parseConnectionString, parseCostCsv, parseCron, parseEstablished, parseNginxUpstreams, parseNlQuery, parseScanHint, parseTerraformState, pixelToHex, planInstall, portsScanner, postJson, previewShare, pseudonymize, pseudonymizeFragment, pseudonymizeId, pseudonymizeString, pushDeltas, readConfigFile, redactConnectionString, redactSecrets, redactValue, renderDiff, resolveEffectiveLevel, resolveNlQuery, resolvePrincipal, resolveSharingLevel, resolveTenant, revalidateAnonymized, reversalKey, reversePseudonym, rotateOrgKey, runApi, runDiscovery, runDrift, runHttp, runLocalDiscovery, runOnce, runOperator, runOperatorCycle, runStdio, runSyncClassify, safeEnv, safeJson, safetyHook, sanitizeUntrusted, sanitizeValue, scopeReads, scoreTopology, securityRelevantChange, serializeConfig, serviceConfigScanner, setVerbose, shadeVariant, shapeToJsonSchema, shareHash, splitSegments, stableStringify, startApi, stripSensitive, terraformScanner, terraformTypeToNode, timingSafeEqual, toBackstageEntities, validateScanner, vscodeDeeplink, zodToJsonSchema };
|
package/dist/index.d.ts
CHANGED
|
@@ -1984,6 +1984,18 @@ type FragmentKind = 'host' | 'user' | 'path' | 'ip';
|
|
|
1984
1984
|
* left intact (so topology against public infra still reads).
|
|
1985
1985
|
*/
|
|
1986
1986
|
declare const PRIVATE_IP: RegExp;
|
|
1987
|
+
/**
|
|
1988
|
+
* A bare single-label internal hostname — the known 2.10 residual that {@link HOSTNAME}
|
|
1989
|
+
* (multi-label only) never tokenizes. We only treat a single label as an internal host
|
|
1990
|
+
* when it *looks* like one: it contains a hyphen or a digit run (e.g. `db-01`, `web2`,
|
|
1991
|
+
* `prod-db`) so we do not false-positive ordinary English words used as a `name`
|
|
1992
|
+
* (`Postgres`, `Marketing`) or the literal `localhost`. Single-sourced here so the
|
|
1993
|
+
* client (this module) and the server (`src/central/anonymization.ts`, which re-imports
|
|
1994
|
+
* this constant) agree on what counts as a bare internal host.
|
|
1995
|
+
*/
|
|
1996
|
+
declare const BARE_INTERNAL_HOST: RegExp;
|
|
1997
|
+
/** A pseudonym token produced by this module (`anon:host:abc…`) — already anonymized. */
|
|
1998
|
+
declare const ANON_TOKEN: RegExp;
|
|
1987
1999
|
/**
|
|
1988
2000
|
* Deterministic token for one identifying fragment. When `db` is supplied, the
|
|
1989
2001
|
* plaintext is AES-256-GCM-encrypted under `reversalKey(orgKey)` and persisted so
|
|
@@ -1998,6 +2010,17 @@ declare function pseudonymizeFragment(plaintext: string, kind: FragmentKind, org
|
|
|
1998
2010
|
* or a path segment is never mis-tokenized as a host.
|
|
1999
2011
|
*/
|
|
2000
2012
|
declare function pseudonymizeString(s: string, orgKey: Buffer, db?: CartographyDB): string;
|
|
2013
|
+
/**
|
|
2014
|
+
* Pseudonymize the host material of a structured node id (`{type}:{host}[:{port}]` or
|
|
2015
|
+
* `{type}:{provider}:{name}`). The leading `{type}` segment is a non-identifying schema
|
|
2016
|
+
* prefix and is left verbatim; every later colon-delimited segment is run through
|
|
2017
|
+
* {@link pseudonymizeString} (so an FQDN, a private IP, an absolute path, or a bare
|
|
2018
|
+
* internal host inside a segment all tokenize, while a numeric port — matching no rule —
|
|
2019
|
+
* is preserved). Re-join with `:`. This is the structural id transform used for node ids
|
|
2020
|
+
* and for edge endpoints, so both stay consistent. A token already inside a segment is
|
|
2021
|
+
* not re-tokenized (the bare-host pass is whole-string and `anon:` tokens are excluded).
|
|
2022
|
+
*/
|
|
2023
|
+
declare function pseudonymizeId(id: string, orgKey: Buffer, db?: CartographyDB): string;
|
|
2001
2024
|
/**
|
|
2002
2025
|
* Recursive, structure-preserving walker — same shape as `redactValue`
|
|
2003
2026
|
* (`src/tools.ts`): strings → {@link pseudonymizeString}, arrays → map,
|
|
@@ -2042,8 +2065,16 @@ declare function resolveEffectiveLevel(node: DiscoveryNode, policy: SharingPolic
|
|
|
2042
2065
|
* (structure-preserving); identifying fragments tokenized.
|
|
2043
2066
|
* - `full` → a structural clone, verbatim.
|
|
2044
2067
|
*
|
|
2045
|
-
* The same deterministic `
|
|
2046
|
-
* {@link previewShare} when remapping edges, so endpoints
|
|
2068
|
+
* The same deterministic `pseudonymizeId` is applied to the id here and by
|
|
2069
|
+
* {@link previewShare} when remapping edges (via the shared idMap), so endpoints
|
|
2070
|
+
* always resolve. `pseudonymizeId` is id-aware: it tokenizes the host segment(s) —
|
|
2071
|
+
* including a bare single-label internal host — while sparing the `{type}` prefix.
|
|
2072
|
+
*
|
|
2073
|
+
* At the `anonymized` level the derived identity fields `globalId`
|
|
2074
|
+
* (`{tenant}:{normalizeId(id)}`, which embeds the raw id) and `contentHash` are
|
|
2075
|
+
* dropped from the outgoing payload — they would otherwise carry the raw id past
|
|
2076
|
+
* anonymization, and the central collector recomputes both from the (anonymized)
|
|
2077
|
+
* node on ingest (`computeIdentity`), so omitting them is both leak-free and lossless.
|
|
2047
2078
|
*/
|
|
2048
2079
|
declare function applySharingLevel(node: DiscoveryNode, level: SharingLevel, orgKey: Buffer, db?: CartographyDB): DiscoveryNode | null;
|
|
2049
2080
|
interface SharePreviewEntry {
|
|
@@ -2150,6 +2181,11 @@ interface ScanContext {
|
|
|
2150
2181
|
scanEstablishedConnections?: () => string;
|
|
2151
2182
|
/** Injectable seam: cross-platform file search (3.2). Defaults to `findFiles`. */
|
|
2152
2183
|
findFiles?: (dirs: string[], patterns: string[], maxDepth: number, limit: number) => string;
|
|
2184
|
+
/**
|
|
2185
|
+
* Injectable seam: read a local file's UTF-8 contents, '' on any error (5.3). Reads via
|
|
2186
|
+
* `node:fs` (NOT the shell) so an operator-supplied path can never inject a command.
|
|
2187
|
+
*/
|
|
2188
|
+
readFile?: (path: string) => string;
|
|
2153
2189
|
/** Injectable seam: browser-bookmark host source. Defaults to `scanAllBookmarks`. */
|
|
2154
2190
|
scanBookmarks?: () => Promise<BookmarkHost[]>;
|
|
2155
2191
|
}
|
|
@@ -2801,6 +2837,33 @@ declare function parseConnectionString(name: string, url: string): {
|
|
|
2801
2837
|
} | null;
|
|
2802
2838
|
declare const serviceConfigScanner: Scanner;
|
|
2803
2839
|
|
|
2840
|
+
/**
|
|
2841
|
+
* Terraform-state importer (5.3) — a first-class deterministic `Scanner`.
|
|
2842
|
+
*
|
|
2843
|
+
* Ingests Terraform state JSON (a local `*.tfstate`, or the output of
|
|
2844
|
+
* `terraform state pull` piped to a file) and emits authoritative `nodes`/`edges` into
|
|
2845
|
+
* the existing discovery pipeline. This bridges *declared intent* (IaC) with *observed
|
|
2846
|
+
* reality* (the live scanners): a resource declared in Terraform and a node observed on
|
|
2847
|
+
* the machine reconcile to one record under `runLocalDiscovery`'s highest-confidence
|
|
2848
|
+
* dedup, and the importer's `depends_on` edges are subject to the same endpoint-existence
|
|
2849
|
+
* gate. Registered in `defaultRegistry()`, so it surfaces through both the CLI discovery
|
|
2850
|
+
* command and the MCP `run_discovery` tool with zero extra wiring.
|
|
2851
|
+
*
|
|
2852
|
+
* Read-only: it only `cat`s a state file (allowlisted). Attribute values are
|
|
2853
|
+
* credential-redacted before storage; only a small identity subset is kept.
|
|
2854
|
+
*/
|
|
2855
|
+
|
|
2856
|
+
/** Map a Terraform resource type (e.g. `aws_db_instance`) to a Cartograph node type. */
|
|
2857
|
+
declare function terraformTypeToNode(tfType: string): NodeType;
|
|
2858
|
+
/**
|
|
2859
|
+
* Parse Terraform state JSON into nodes/edges. Pure + deterministic. A managed resource
|
|
2860
|
+
* becomes a node keyed `{type}:terraform:{addr}`; its `dependencies[]` become `depends_on`
|
|
2861
|
+
* edges to other managed resources in the same state. Malformed JSON → empty result
|
|
2862
|
+
* (graceful degradation, never throws).
|
|
2863
|
+
*/
|
|
2864
|
+
declare function parseTerraformState(json: string): ScanResult;
|
|
2865
|
+
declare const terraformScanner: Scanner;
|
|
2866
|
+
|
|
2804
2867
|
/**
|
|
2805
2868
|
* Confidence rubric for inferred dependency edges (3.2).
|
|
2806
2869
|
*
|
|
@@ -3518,6 +3581,66 @@ declare function executeNlQuery(db: CartographyDB, sessionId: string, search: Se
|
|
|
3518
3581
|
/** Convenience: parse + execute in one call. */
|
|
3519
3582
|
declare function resolveNlQuery(db: CartographyDB, sessionId: string, search: SearchFn, raw: string, opts?: NlQueryOptions): Promise<NlQueryResult>;
|
|
3520
3583
|
|
|
3584
|
+
/**
|
|
3585
|
+
* Kubernetes operator (5.2) — a thin, deterministic, LLM-free reconcile loop.
|
|
3586
|
+
*
|
|
3587
|
+
* Runs Cartograph's discovery continuously **inside** a cluster and reports drift between
|
|
3588
|
+
* cycles — the "continuous CMDB for Kubernetes" outcome. It is a thin orchestration over
|
|
3589
|
+
* two engine halves that already exist and are DB-agnostic: the deterministic discovery
|
|
3590
|
+
* driver `runLocalDiscovery` (with a **k8s-only** scanner registry — it maps in-cluster
|
|
3591
|
+
* resources, never the host) and the drift engine `runDrift` (which classifies the delta
|
|
3592
|
+
* vs the previous cycle and dispatches it to the configured sinks, 3.1/4.4). No agent loop,
|
|
3593
|
+
* no Anthropic coupling, read-only (only `kubectl` reads via the allowlist).
|
|
3594
|
+
*
|
|
3595
|
+
* It is a periodic-reconcile operator, not a CRD controller — no custom resource or
|
|
3596
|
+
* controller-runtime dependency; the loop is a plain interval (or a single `--once` pass
|
|
3597
|
+
* for a CronJob driver). All side effects are injectable, so a cycle is unit-testable
|
|
3598
|
+
* without a cluster.
|
|
3599
|
+
*/
|
|
3600
|
+
|
|
3601
|
+
/** A k8s-only scanner registry — the operator discovers cluster resources, not the host. */
|
|
3602
|
+
declare function k8sRegistry(): ScannerRegistry;
|
|
3603
|
+
/** True when running inside a Kubernetes pod (the service-account API env is injected). */
|
|
3604
|
+
declare function isInCluster(env?: NodeJS.ProcessEnv): boolean;
|
|
3605
|
+
interface OperatorCycleResult {
|
|
3606
|
+
sessionId: string;
|
|
3607
|
+
nodes: number;
|
|
3608
|
+
edges: number;
|
|
3609
|
+
/** The classified drift vs the previous cycle, or null (first cycle / no change). */
|
|
3610
|
+
drift: DriftAlert | null;
|
|
3611
|
+
}
|
|
3612
|
+
interface OperatorOptions {
|
|
3613
|
+
/** Reconcile interval (ms). Default 5 minutes. */
|
|
3614
|
+
intervalMs?: number;
|
|
3615
|
+
/** Run a single reconcile and return — CronJob-driver friendly. */
|
|
3616
|
+
once?: boolean;
|
|
3617
|
+
/** Injected discovery (tests). Default: `runLocalDiscovery` over the k8s registry. */
|
|
3618
|
+
discover?: (db: CartographyDB, sessionId: string) => Promise<{
|
|
3619
|
+
nodes: number;
|
|
3620
|
+
edges: number;
|
|
3621
|
+
}>;
|
|
3622
|
+
/** Injected drift dispatch (tests). Default: `runDrift` (dispatches to `config.drift` sinks). */
|
|
3623
|
+
drift?: (db: CartographyDB, config: CartographyConfig) => Promise<DriftAlert | null>;
|
|
3624
|
+
/** Stop the reconcile loop (SIGINT/SIGTERM → abort). */
|
|
3625
|
+
signal?: AbortSignal;
|
|
3626
|
+
/** Sleep between cycles (tests inject a controlled/no-wait sleep). */
|
|
3627
|
+
sleep?: (ms: number) => Promise<void>;
|
|
3628
|
+
/**
|
|
3629
|
+
* Keep only the most recent N discovery sessions (default 10) — a continuous operator
|
|
3630
|
+
* creates one session per cycle, so older snapshots are pruned each cycle to bound the
|
|
3631
|
+
* catalog. Drift only needs the latest two; the rest are retained history.
|
|
3632
|
+
*/
|
|
3633
|
+
retain?: number;
|
|
3634
|
+
log?: (msg: string) => void;
|
|
3635
|
+
}
|
|
3636
|
+
/**
|
|
3637
|
+
* One reconcile cycle: discover in-cluster → record the session → classify + dispatch drift
|
|
3638
|
+
* vs the previous cycle. Returns the cycle outcome.
|
|
3639
|
+
*/
|
|
3640
|
+
declare function runOperatorCycle(db: CartographyDB, config: CartographyConfig, opts?: OperatorOptions): Promise<OperatorCycleResult>;
|
|
3641
|
+
/** Run the operator: a single cycle if `once`, else a reconcile loop until the signal aborts. */
|
|
3642
|
+
declare function runOperator(db: CartographyDB, config: CartographyConfig, opts?: OperatorOptions): Promise<void>;
|
|
3643
|
+
|
|
3521
3644
|
/**
|
|
3522
3645
|
* Multi-cloud correlation engine (5.1).
|
|
3523
3646
|
*
|
|
@@ -4379,4 +4502,4 @@ declare function logInfo(message: string, context?: Record<string, unknown>): vo
|
|
|
4379
4502
|
declare function logWarn(message: string, context?: Record<string, unknown>): void;
|
|
4380
4503
|
declare function logError(message: string, context?: Record<string, unknown>): void;
|
|
4381
4504
|
|
|
4382
|
-
export { ACTIONS, ANOMALY_KINDS, ANOMALY_SEVERITIES, type Action, ActionSchema, type AgentProvider, type AgentRunContext, type AgentTool, type Anomaly, type AnomalyConfig, type AnomalyKind, type AnomalySeverity, type AnomalyThresholds, type AnonViolation, type AnonymizationLevel, type ApiServerOptions, type AskUserFn, type AuthConfig, AuthConfigSchema, AuthorizationError, type Awaitable, type BackstageEntity, type BackstageMapOptions, type BindGuardOptions, type BoltDriver, type BoltRecord, type BoltResult, type BoltSession, CLIENTS, CONFIDENCE, CORRELATION_CONFIDENCE, COST_PERIODS, type CanonicalNode, type CartographyConfig, CartographyDB, type CartographyMapData, type CentralDbConfig, CentralDbConfigSchema, type ClassifiedItem, type ClassifyInput, type ClassifyResult, type ClientSpec, type Cluster, ClusterSchema, type ComplianceInput, type ComplianceReport, ComplianceReportSchema, type ComplianceRule, ComplianceRuleSchema, type Condition, ConditionSchema, ConfigError, type ConfigFile, ConfigFileSchema, type ConfigFormat, type Connection, ConnectionSchema, type Contributor, type ControlResult, ControlResultSchema, type CorrelatedTopology, type CorrelationEdge, type CorrelationSignal, type CostEntry, CostEntrySchema, type CostPeriod, type CostRecord, type CostSource, type CreateMcpServerOptions, type CredentialConfig, CredentialConfigSchema, type CredentialDb, type CredentialRecord, type CredentialStore, type CronFields, CsvCostSource, type CsvCostSourceOptions, DEFAULT_ANOMALY_THRESHOLDS, DEFAULT_FAST_MODEL, DEFAULT_INGEST_QUOTA, DEFAULT_LEAD_MODEL, DEFAULT_SERVER_NAME, DEFAULT_TENANT, DOMAIN_COLORS, DOMAIN_PALETTE, DRIFT_FIELDS, type DashboardOptions, type DataAsset, DataAssetSchema, type DependencyQuery, type DiscoveryEdge, type DiscoveryEvent, type DiscoveryFn, type DiscoveryNode, type DriftAlert, type DriftAlertItem, type DriftConfig, DriftConfigSchema, type DriftField, type DriftItemKind, type DriftRunRow, type DriftSink, type DriftSinkConfig, EDGE_RELATIONSHIPS, type EdgeRelationship, type EdgeRow, EdgeSchema, type EmbeddingProvider, type EnrichResult, type EntryOptions, type EstablishedConn, type EvidenceKind, type FetchLike, type FragmentKind, GraphStoreBackend, type GraphSummary, type HealthResult, type HttpOptions, INGEST_SCHEMA_VERSION, type IngestEnvelope, IngestEnvelopeSchema, type IngestHandler, type IngestHandlerOptions, type IngestOptions, type IngestResponse, type IngestResult, type InstallPlan, InvalidTenantError, type JiraIssue, type JiraOptions, JiraSink, type JiraSinkOptions, LOOPBACK_HOSTS, type LocalDiscoveryOptions, type LocalDiscoveryResult, type LogEntry, type LogLevel, MCP_BIN, type MatchStrategy, NODE_TYPES, NODE_TYPE_GROUPS, type NlIntent, type NlQueryOptions, type NlQueryResult, type NlRelation, type NodeAttribution, type NodeChange, type NodeIdentity, type NodeQuery, type NodeRow, NodeSchema, type NodeSignals, type NodeType, type NodesResult, NotFoundError, OUTPUT_FORMATS, type OrgKeyOptions, type OrgSummary, type OsKind, type OutputFormat, PACKAGE_NAME, PAGERDUTY_ENQUEUE_URL, PENDING_STATUSES, PERSONAL, PORT_MAP, PRIVATE_IP, PUSH_SCHEMA_VERSION, type PagerDutyEvent, PagerDutySink, type PagerDutySinkOptions, type ParsedApiArgs, type PendingShareRow, type PendingStatus, type PlanOptions, type PolicyResult, type PostJsonOptions, type Principal, PrincipalSchema, type ProviderFactory, type ProviderName, ProviderRegistry, type PushItem, type PushOptions, type PushResult, type QueryBackend, type QuotaConfig, type QuotaDecision, RELATION_TO_DIRECTION, ROLES, RateLimiter, type ResolveContext, type ResolveOptions, type Role, RoleSchema, type RuleCheck, RuleCheckSchema, type RuleScope, type Ruleset, RulesetSchema, type RunDriftOptions, SCAN_ARG_PATTERNS, SCHEMA_VERSION, SDL, SECURITY_METADATA_KEYS, SEVERITIES, SEVERITY_WEIGHT, SHARING_LEVELS, type ScanArgKind, type ScanContext, type ScanHintParams, type ScanResult, type Scanner, type ScannerPlugin, type ScannerPluginApi, ScannerRegistry, ScannerShape, type ScheduleConfig, ScheduleConfigSchema, type ScheduledRunResult, type Scope, type SearchFn, type SemanticSearchOptions, type ServerEntry, type SessionRow, type Severity, type SharePreview, type SharePreviewEntry, type SharingLevel, SharingLevelSchema, type SharingPolicy, type ShellKind, type SlackMessage, SlackSink, SqliteCredentialStore, SqliteQueryBackend, SqliteStoreBackend, type StartApiOptions, StdoutSink, type StoreBackend, type StoreBackendOptions, type SyncClassifyOptions, type SyncClassifyResult, TENANT_HEADER, type TenantContext, TenantMismatchError, type TenantOptions, type ToolResult, type TopologyDelta, type TopologyDiff, type TopologyInput, type TraversalResult, VectorStore, WebhookSink, type WebhookSinkOptions, applyInstall, applySharingLevel, assertReadOnly, assertSafeBind, assertSafeScanArg, assertSameTenant, assignColors, authorize, bearerToken, bookmarksScanner, buildCartographyToolHandlers, buildMapData, buildOpenApiDocument, buildReport, buildSinks, can, centralDbFromEnv, checkBearer, checkPrerequisites, checkReadOnly, clampText, classify, classifyDrift, cleanupTempFiles, cloudAwsScanner, cloudAzureScanner, cloudGcpScanner, codeAddMcpCommand, computeCentroid, computeClusterBounds, computeIdentity, connectionsScanner, contentHash, correlateTopology, createBashTool, createCartographyTools, createClaudeProvider, createDefaultRegistry, createHashEmbedder, createIngestHandler, createLocalEmbedder, createMcpServer, createOllamaProvider, createOpenAIProvider, createScanRunner, createSemanticSearch, createSqliteQueryBackend, currentOs, cursorDeeplink, dashboardHtml, databasesScanner, deepMerge, defaultAllowedHosts, defaultConfig, defaultContext, defaultProviderRegistry, defaultRegistry, defaultServerEntry, definePlugin, deriveSessionName, detectAnomalies, detectOrphans, detectShadowIt, diffTopology, edgesToConnections, enrichCosts, entitiesToYaml, evaluateCheck, evaluateRule, evidenceLine, executeGraphql, executeNlQuery, exportAll, exportBackstageYAML, exportComplianceReport, exportCostCSV, exportCostSummary, exportDiscoveryApp, exportJGF, exportJSON, extractListeningPorts, extractSignals, filterBySeverity, findAnonViolations, formatComplianceText, formatJira, formatPagerDuty, formatSlack, generateDependencyMermaid, generateDiffMermaid, generateTopologyMermaid, getClient, getRuleset, globalId, groupByDomain, handleGraphqlGet, hashToken, hexCorners, hexDistance, hexNeighbors, hexRing, hexSpiral, hexToPixel, hmacKey, hostname, ingestEnvelope, installedAppsScanner, isLoopbackHost, isPersonalHost, isReadOnlyCommand, isRemembered, isSecureWebhookUrl, k8sScanner, keyMetaOf, layoutClusters, listClients, listRulesets, loadConfig, loadOrgKey, loadPlugins, loadRuleset, localDiscoveryFn, log, logDebug, logError, logInfo, logWarn, machineId, maxSeverity, mcpServerObject, newAnomalies, nextRun, nodesToAssets, normalizeId, normalizeTenant, openStoreBackend, orgKeyPath, osUser, parseApiArgs, parseComposeDeps, parseConfig, parseConnectionString, parseCostCsv, parseCron, parseEstablished, parseNginxUpstreams, parseNlQuery, parseScanHint, pixelToHex, planInstall, portsScanner, postJson, previewShare, pseudonymize, pseudonymizeFragment, pseudonymizeString, pushDeltas, readConfigFile, redactConnectionString, redactSecrets, redactValue, renderDiff, resolveEffectiveLevel, resolveNlQuery, resolvePrincipal, resolveSharingLevel, resolveTenant, revalidateAnonymized, reversalKey, reversePseudonym, rotateOrgKey, runApi, runDiscovery, runDrift, runHttp, runLocalDiscovery, runOnce, runStdio, runSyncClassify, safeEnv, safeJson, safetyHook, sanitizeUntrusted, sanitizeValue, scopeReads, scoreTopology, securityRelevantChange, serializeConfig, serviceConfigScanner, setVerbose, shadeVariant, shapeToJsonSchema, shareHash, splitSegments, stableStringify, startApi, stripSensitive, timingSafeEqual, toBackstageEntities, validateScanner, vscodeDeeplink, zodToJsonSchema };
|
|
4505
|
+
export { ACTIONS, ANOMALY_KINDS, ANOMALY_SEVERITIES, ANON_TOKEN, type Action, ActionSchema, type AgentProvider, type AgentRunContext, type AgentTool, type Anomaly, type AnomalyConfig, type AnomalyKind, type AnomalySeverity, type AnomalyThresholds, type AnonViolation, type AnonymizationLevel, type ApiServerOptions, type AskUserFn, type AuthConfig, AuthConfigSchema, AuthorizationError, type Awaitable, BARE_INTERNAL_HOST, type BackstageEntity, type BackstageMapOptions, type BindGuardOptions, type BoltDriver, type BoltRecord, type BoltResult, type BoltSession, CLIENTS, CONFIDENCE, CORRELATION_CONFIDENCE, COST_PERIODS, type CanonicalNode, type CartographyConfig, CartographyDB, type CartographyMapData, type CentralDbConfig, CentralDbConfigSchema, type ClassifiedItem, type ClassifyInput, type ClassifyResult, type ClientSpec, type Cluster, ClusterSchema, type ComplianceInput, type ComplianceReport, ComplianceReportSchema, type ComplianceRule, ComplianceRuleSchema, type Condition, ConditionSchema, ConfigError, type ConfigFile, ConfigFileSchema, type ConfigFormat, type Connection, ConnectionSchema, type Contributor, type ControlResult, ControlResultSchema, type CorrelatedTopology, type CorrelationEdge, type CorrelationSignal, type CostEntry, CostEntrySchema, type CostPeriod, type CostRecord, type CostSource, type CreateMcpServerOptions, type CredentialConfig, CredentialConfigSchema, type CredentialDb, type CredentialRecord, type CredentialStore, type CronFields, CsvCostSource, type CsvCostSourceOptions, DEFAULT_ANOMALY_THRESHOLDS, DEFAULT_FAST_MODEL, DEFAULT_INGEST_QUOTA, DEFAULT_LEAD_MODEL, DEFAULT_SERVER_NAME, DEFAULT_TENANT, DOMAIN_COLORS, DOMAIN_PALETTE, DRIFT_FIELDS, type DashboardOptions, type DataAsset, DataAssetSchema, type DependencyQuery, type DiscoveryEdge, type DiscoveryEvent, type DiscoveryFn, type DiscoveryNode, type DriftAlert, type DriftAlertItem, type DriftConfig, DriftConfigSchema, type DriftField, type DriftItemKind, type DriftRunRow, type DriftSink, type DriftSinkConfig, EDGE_RELATIONSHIPS, type EdgeRelationship, type EdgeRow, EdgeSchema, type EmbeddingProvider, type EnrichResult, type EntryOptions, type EstablishedConn, type EvidenceKind, type FetchLike, type FragmentKind, GraphStoreBackend, type GraphSummary, type HealthResult, type HttpOptions, INGEST_SCHEMA_VERSION, type IngestEnvelope, IngestEnvelopeSchema, type IngestHandler, type IngestHandlerOptions, type IngestOptions, type IngestResponse, type IngestResult, type InstallPlan, InvalidTenantError, type JiraIssue, type JiraOptions, JiraSink, type JiraSinkOptions, LOOPBACK_HOSTS, type LocalDiscoveryOptions, type LocalDiscoveryResult, type LogEntry, type LogLevel, MCP_BIN, type MatchStrategy, NODE_TYPES, NODE_TYPE_GROUPS, type NlIntent, type NlQueryOptions, type NlQueryResult, type NlRelation, type NodeAttribution, type NodeChange, type NodeIdentity, type NodeQuery, type NodeRow, NodeSchema, type NodeSignals, type NodeType, type NodesResult, NotFoundError, OUTPUT_FORMATS, type OperatorCycleResult, type OperatorOptions, type OrgKeyOptions, type OrgSummary, type OsKind, type OutputFormat, PACKAGE_NAME, PAGERDUTY_ENQUEUE_URL, PENDING_STATUSES, PERSONAL, PORT_MAP, PRIVATE_IP, PUSH_SCHEMA_VERSION, type PagerDutyEvent, PagerDutySink, type PagerDutySinkOptions, type ParsedApiArgs, type PendingShareRow, type PendingStatus, type PlanOptions, type PolicyResult, type PostJsonOptions, type Principal, PrincipalSchema, type ProviderFactory, type ProviderName, ProviderRegistry, type PushItem, type PushOptions, type PushResult, type QueryBackend, type QuotaConfig, type QuotaDecision, RELATION_TO_DIRECTION, ROLES, RateLimiter, type ResolveContext, type ResolveOptions, type Role, RoleSchema, type RuleCheck, RuleCheckSchema, type RuleScope, type Ruleset, RulesetSchema, type RunDriftOptions, SCAN_ARG_PATTERNS, SCHEMA_VERSION, SDL, SECURITY_METADATA_KEYS, SEVERITIES, SEVERITY_WEIGHT, SHARING_LEVELS, type ScanArgKind, type ScanContext, type ScanHintParams, type ScanResult, type Scanner, type ScannerPlugin, type ScannerPluginApi, ScannerRegistry, ScannerShape, type ScheduleConfig, ScheduleConfigSchema, type ScheduledRunResult, type Scope, type SearchFn, type SemanticSearchOptions, type ServerEntry, type SessionRow, type Severity, type SharePreview, type SharePreviewEntry, type SharingLevel, SharingLevelSchema, type SharingPolicy, type ShellKind, type SlackMessage, SlackSink, SqliteCredentialStore, SqliteQueryBackend, SqliteStoreBackend, type StartApiOptions, StdoutSink, type StoreBackend, type StoreBackendOptions, type SyncClassifyOptions, type SyncClassifyResult, TENANT_HEADER, type TenantContext, TenantMismatchError, type TenantOptions, type ToolResult, type TopologyDelta, type TopologyDiff, type TopologyInput, type TraversalResult, VectorStore, WebhookSink, type WebhookSinkOptions, applyInstall, applySharingLevel, assertReadOnly, assertSafeBind, assertSafeScanArg, assertSameTenant, assignColors, authorize, bearerToken, bookmarksScanner, buildCartographyToolHandlers, buildMapData, buildOpenApiDocument, buildReport, buildSinks, can, centralDbFromEnv, checkBearer, checkPrerequisites, checkReadOnly, clampText, classify, classifyDrift, cleanupTempFiles, cloudAwsScanner, cloudAzureScanner, cloudGcpScanner, codeAddMcpCommand, computeCentroid, computeClusterBounds, computeIdentity, connectionsScanner, contentHash, correlateTopology, createBashTool, createCartographyTools, createClaudeProvider, createDefaultRegistry, createHashEmbedder, createIngestHandler, createLocalEmbedder, createMcpServer, createOllamaProvider, createOpenAIProvider, createScanRunner, createSemanticSearch, createSqliteQueryBackend, currentOs, cursorDeeplink, dashboardHtml, databasesScanner, deepMerge, defaultAllowedHosts, defaultConfig, defaultContext, defaultProviderRegistry, defaultRegistry, defaultServerEntry, definePlugin, deriveSessionName, detectAnomalies, detectOrphans, detectShadowIt, diffTopology, edgesToConnections, enrichCosts, entitiesToYaml, evaluateCheck, evaluateRule, evidenceLine, executeGraphql, executeNlQuery, exportAll, exportBackstageYAML, exportComplianceReport, exportCostCSV, exportCostSummary, exportDiscoveryApp, exportJGF, exportJSON, extractListeningPorts, extractSignals, filterBySeverity, findAnonViolations, formatComplianceText, formatJira, formatPagerDuty, formatSlack, generateDependencyMermaid, generateDiffMermaid, generateTopologyMermaid, getClient, getRuleset, globalId, groupByDomain, handleGraphqlGet, hashToken, hexCorners, hexDistance, hexNeighbors, hexRing, hexSpiral, hexToPixel, hmacKey, hostname, ingestEnvelope, installedAppsScanner, isInCluster, isLoopbackHost, isPersonalHost, isReadOnlyCommand, isRemembered, isSecureWebhookUrl, k8sRegistry, k8sScanner, keyMetaOf, layoutClusters, listClients, listRulesets, loadConfig, loadOrgKey, loadPlugins, loadRuleset, localDiscoveryFn, log, logDebug, logError, logInfo, logWarn, machineId, maxSeverity, mcpServerObject, newAnomalies, nextRun, nodesToAssets, normalizeId, normalizeTenant, openStoreBackend, orgKeyPath, osUser, parseApiArgs, parseComposeDeps, parseConfig, parseConnectionString, parseCostCsv, parseCron, parseEstablished, parseNginxUpstreams, parseNlQuery, parseScanHint, parseTerraformState, pixelToHex, planInstall, portsScanner, postJson, previewShare, pseudonymize, pseudonymizeFragment, pseudonymizeId, pseudonymizeString, pushDeltas, readConfigFile, redactConnectionString, redactSecrets, redactValue, renderDiff, resolveEffectiveLevel, resolveNlQuery, resolvePrincipal, resolveSharingLevel, resolveTenant, revalidateAnonymized, reversalKey, reversePseudonym, rotateOrgKey, runApi, runDiscovery, runDrift, runHttp, runLocalDiscovery, runOnce, runOperator, runOperatorCycle, runStdio, runSyncClassify, safeEnv, safeJson, safetyHook, sanitizeUntrusted, sanitizeValue, scopeReads, scoreTopology, securityRelevantChange, serializeConfig, serviceConfigScanner, setVerbose, shadeVariant, shapeToJsonSchema, shareHash, splitSegments, stableStringify, startApi, stripSensitive, terraformScanner, terraformTypeToNode, timingSafeEqual, toBackstageEntities, validateScanner, vscodeDeeplink, zodToJsonSchema };
|