@datasynx/agentic-ai-cartography 2.5.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-bin.js +2 -2
- package/dist/{chunk-RYQ4KQCK.js → chunk-HLWNO3RF.js} +70 -6
- package/dist/chunk-HLWNO3RF.js.map +1 -0
- package/dist/{chunk-NQXZUWOI.js → chunk-TBPGFEMQ.js} +91 -3
- package/dist/chunk-TBPGFEMQ.js.map +1 -0
- package/dist/{chunk-GA4427LB.js → chunk-YVV6NIT2.js} +11 -1
- package/dist/chunk-YVV6NIT2.js.map +1 -0
- package/dist/cli.js +28 -29
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +171 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +100 -3
- package/dist/index.d.ts +100 -3
- package/dist/index.js +166 -37
- package/dist/index.js.map +1 -1
- package/dist/mcp-bin.js +2 -2
- package/package.json +1 -1
- package/server.json +2 -2
- package/dist/chunk-GA4427LB.js.map +0 -1
- package/dist/chunk-NQXZUWOI.js.map +0 -1
- package/dist/chunk-RYQ4KQCK.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -982,6 +982,12 @@ interface NodeAttribution {
|
|
|
982
982
|
|
|
983
983
|
/** Default tenant for single-user / pre-migration installs. */
|
|
984
984
|
declare const DEFAULT_TENANT = "local";
|
|
985
|
+
/**
|
|
986
|
+
* The current catalog schema version. A fresh DB initializes here and the migration
|
|
987
|
+
* chain advances to it; the collector readiness probe (4.7) asserts a reopened DB
|
|
988
|
+
* reports exactly this. Keep in lockstep with the final `user_version` set in `migrate()`.
|
|
989
|
+
*/
|
|
990
|
+
declare const SCHEMA_VERSION = 15;
|
|
985
991
|
/**
|
|
986
992
|
* Normalize an untrusted tenant id: strip invisible/control characters, trim,
|
|
987
993
|
* cap length, and enforce a conservative key charset. Falls back to DEFAULT_TENANT
|
|
@@ -1352,6 +1358,12 @@ declare class CartographyDB {
|
|
|
1352
1358
|
* Prune sessions older than the given ISO date string. Returns count of deleted sessions.
|
|
1353
1359
|
*/
|
|
1354
1360
|
pruneSessions(olderThan: string): number;
|
|
1361
|
+
/**
|
|
1362
|
+
* Retention/compaction (4.7): delete audit events older than `olderThan` (ISO 8601).
|
|
1363
|
+
* The audit trail grows unbounded on a busy collector; this bounds it without touching
|
|
1364
|
+
* sessions/nodes/edges. Returns the number of events removed.
|
|
1365
|
+
*/
|
|
1366
|
+
pruneEventsOlderThan(olderThan: string): number;
|
|
1355
1367
|
/** Fetch a single node by id within a session. */
|
|
1356
1368
|
getNode(sessionId: string, nodeId: string): NodeRow | undefined;
|
|
1357
1369
|
/** Batch-fetch nodes by id, keyed for O(1) lookup. Chunked to stay under SQLite's bind-variable limit. */
|
|
@@ -1558,6 +1570,8 @@ interface QueryBackend {
|
|
|
1558
1570
|
nodes(ctx: TenantContext, q: NodeQuery, sessionId?: string): NodesResult;
|
|
1559
1571
|
/** One node by id (or `undefined` if absent). Throws {@link NotFoundError} if no session resolves. */
|
|
1560
1572
|
node(ctx: TenantContext, id: string, sessionId?: string): NodeRow | undefined;
|
|
1573
|
+
/** All edges of the resolved session (for full-topology consumers, e.g. the Backstage catalog). Throws {@link NotFoundError} if no session resolves. */
|
|
1574
|
+
edges(ctx: TenantContext, sessionId?: string): EdgeRow[];
|
|
1561
1575
|
/** Dependency traversal from a node. Throws {@link NotFoundError} if no session resolves. */
|
|
1562
1576
|
dependencies(ctx: TenantContext, id: string, q: DependencyQuery, sessionId?: string): TraversalResult;
|
|
1563
1577
|
/** Compare two sessions (both must belong to the tenant). Throws {@link NotFoundError} on an unknown/foreign id. */
|
|
@@ -1585,6 +1599,7 @@ declare class SqliteQueryBackend implements QueryBackend {
|
|
|
1585
1599
|
summary(ctx: TenantContext, sessionId?: string): GraphSummary;
|
|
1586
1600
|
nodes(ctx: TenantContext, q: NodeQuery, sessionId?: string): NodesResult;
|
|
1587
1601
|
node(ctx: TenantContext, id: string, sessionId?: string): NodeRow | undefined;
|
|
1602
|
+
edges(ctx: TenantContext, sessionId?: string): EdgeRow[];
|
|
1588
1603
|
dependencies(ctx: TenantContext, id: string, q: DependencyQuery, sessionId?: string): TraversalResult;
|
|
1589
1604
|
diff(ctx: TenantContext, base: string, current: string): TopologyDiff;
|
|
1590
1605
|
sessions(ctx: TenantContext): SessionRow[];
|
|
@@ -1757,6 +1772,37 @@ interface IngestOptions {
|
|
|
1757
1772
|
*/
|
|
1758
1773
|
declare function ingestEnvelope(store: StoreBackend, envelope: IngestEnvelope, opts?: IngestOptions): IngestResult;
|
|
1759
1774
|
|
|
1775
|
+
/**
|
|
1776
|
+
* Ingest backpressure for the central collector (4.7).
|
|
1777
|
+
*
|
|
1778
|
+
* A pure, in-memory **per-org token-bucket** rate limiter. The networked `POST /ingest`
|
|
1779
|
+
* write endpoint must protect the shared store from a runaway or hostile client; over-quota
|
|
1780
|
+
* requests are refused with `429 + Retry-After` rather than admitted. Deterministic given an
|
|
1781
|
+
* injected clock, so it is unit-testable without real time. In-process only (a multi-replica
|
|
1782
|
+
* deployment would front it with a shared limiter; documented in the runbook).
|
|
1783
|
+
*/
|
|
1784
|
+
interface QuotaConfig {
|
|
1785
|
+
/** Bucket capacity = max burst, and the number of tokens refilled over one `refillMs` window. */
|
|
1786
|
+
capacity: number;
|
|
1787
|
+
/** Milliseconds over which a fully-drained bucket refills to `capacity`. */
|
|
1788
|
+
refillMs: number;
|
|
1789
|
+
}
|
|
1790
|
+
/** Sensible default: 120 ingests / minute / org (burst 120). */
|
|
1791
|
+
declare const DEFAULT_INGEST_QUOTA: QuotaConfig;
|
|
1792
|
+
interface QuotaDecision {
|
|
1793
|
+
allowed: boolean;
|
|
1794
|
+
/** Seconds to wait before retrying — populated only when `!allowed` (≥1). */
|
|
1795
|
+
retryAfterSec: number;
|
|
1796
|
+
}
|
|
1797
|
+
declare class RateLimiter {
|
|
1798
|
+
private readonly cfg;
|
|
1799
|
+
private readonly now;
|
|
1800
|
+
private readonly buckets;
|
|
1801
|
+
constructor(cfg?: QuotaConfig, now?: () => number);
|
|
1802
|
+
/** Consume one token for `key`. Returns whether the request is allowed (+ Retry-After when not). */
|
|
1803
|
+
take(key: string): QuotaDecision;
|
|
1804
|
+
}
|
|
1805
|
+
|
|
1760
1806
|
/**
|
|
1761
1807
|
* The central-collector ingest HTTP surface (2.12).
|
|
1762
1808
|
*
|
|
@@ -1772,12 +1818,18 @@ declare function ingestEnvelope(store: StoreBackend, envelope: IngestEnvelope, o
|
|
|
1772
1818
|
* handler ever runs, so the handler never sees (and never logs) the token.
|
|
1773
1819
|
*/
|
|
1774
1820
|
|
|
1775
|
-
/** A transport-agnostic HTTP-ish response: a status code
|
|
1821
|
+
/** A transport-agnostic HTTP-ish response: a status code, a JSON-serializable body, optional headers. */
|
|
1776
1822
|
interface IngestResponse {
|
|
1777
1823
|
status: number;
|
|
1778
1824
|
body: unknown;
|
|
1825
|
+
/** Extra response headers (e.g. `Retry-After` on a 429). */
|
|
1826
|
+
headers?: Record<string, string>;
|
|
1779
1827
|
}
|
|
1780
1828
|
type IngestHandler = (body: unknown) => IngestResponse;
|
|
1829
|
+
interface IngestHandlerOptions extends IngestOptions {
|
|
1830
|
+
/** Per-org ingest rate limiter (4.7 backpressure). Over-quota → 429 + Retry-After. */
|
|
1831
|
+
quota?: RateLimiter;
|
|
1832
|
+
}
|
|
1781
1833
|
/**
|
|
1782
1834
|
* Build the `/ingest` handler over a {@link StoreBackend}. The handler validates the
|
|
1783
1835
|
* 2.11 push envelope, runs ingest (re-validating anonymization first), and maps the
|
|
@@ -1786,7 +1838,7 @@ type IngestHandler = (body: unknown) => IngestResponse;
|
|
|
1786
1838
|
* - 500 — ingest threw (the store's per-node transaction rolls that node back).
|
|
1787
1839
|
* - 200 — {@link IngestResult}.
|
|
1788
1840
|
*/
|
|
1789
|
-
declare function createIngestHandler(store: StoreBackend, opts?:
|
|
1841
|
+
declare function createIngestHandler(store: StoreBackend, opts?: IngestHandlerOptions): IngestHandler;
|
|
1790
1842
|
|
|
1791
1843
|
/**
|
|
1792
1844
|
* Org-key lifecycle for the 2.10 anonymization layer.
|
|
@@ -2180,6 +2232,7 @@ interface HttpOptions {
|
|
|
2180
2232
|
onIngest?: (body: unknown) => {
|
|
2181
2233
|
status: number;
|
|
2182
2234
|
body: unknown;
|
|
2235
|
+
headers?: Record<string, string>;
|
|
2183
2236
|
};
|
|
2184
2237
|
/**
|
|
2185
2238
|
* RBAC (4.5). When `store` holds credentials, the transport runs in RBAC mode: a
|
|
@@ -2194,6 +2247,14 @@ interface HttpOptions {
|
|
|
2194
2247
|
};
|
|
2195
2248
|
/** Tenant assigned to implicit (shared/loopback) admin principals. */
|
|
2196
2249
|
defaultTenant?: string;
|
|
2250
|
+
/**
|
|
2251
|
+
* Readiness probe (4.7). When set, `GET /readyz` calls it: 200 when `ready`, else 503.
|
|
2252
|
+
* `GET /healthz` (liveness) is always 200. Both are PUBLIC (no auth) for k8s/LB probes.
|
|
2253
|
+
*/
|
|
2254
|
+
readiness?: () => {
|
|
2255
|
+
ready: boolean;
|
|
2256
|
+
detail?: Record<string, unknown>;
|
|
2257
|
+
};
|
|
2197
2258
|
}
|
|
2198
2259
|
/**
|
|
2199
2260
|
* Start a Streamable HTTP server. A fresh MCP server instance is created per
|
|
@@ -3970,6 +4031,42 @@ declare function sanitizeUntrusted(text: string): string;
|
|
|
3970
4031
|
/** Recursively apply `sanitizeUntrusted` to every string in an arbitrary value. */
|
|
3971
4032
|
declare function sanitizeValue(value: unknown): unknown;
|
|
3972
4033
|
|
|
4034
|
+
/**
|
|
4035
|
+
* Backstage catalog entity mapping (4.6).
|
|
4036
|
+
*
|
|
4037
|
+
* A dependency-free, transport-agnostic mapper: `toBackstageEntities` turns the
|
|
4038
|
+
* discovered topology into plain typed Backstage entity objects, and `entitiesToYaml`
|
|
4039
|
+
* serializes them to the multi-doc `catalog-info.yaml` format. It NEVER imports
|
|
4040
|
+
* `@backstage/*` — Backstage stays an optional adapter, never a core dependency
|
|
4041
|
+
* (ROADMAP locked constraints). The legacy `exportBackstageYAML` is re-expressed over
|
|
4042
|
+
* this mapper and stays byte-identical (snapshot-guarded). The same typed entities are
|
|
4043
|
+
* served live over the API (`GET /v1/backstage/catalog`) so a Backstage instance can
|
|
4044
|
+
* consume the topology as a continuously-refreshed data source.
|
|
4045
|
+
*/
|
|
4046
|
+
|
|
4047
|
+
interface BackstageEntity {
|
|
4048
|
+
apiVersion: 'backstage.io/v1alpha1';
|
|
4049
|
+
kind: 'Component' | 'API' | 'Resource';
|
|
4050
|
+
metadata: {
|
|
4051
|
+
name: string;
|
|
4052
|
+
annotations: Record<string, string>;
|
|
4053
|
+
};
|
|
4054
|
+
spec: {
|
|
4055
|
+
type: string;
|
|
4056
|
+
lifecycle: string;
|
|
4057
|
+
owner: string;
|
|
4058
|
+
dependsOn?: string[];
|
|
4059
|
+
};
|
|
4060
|
+
}
|
|
4061
|
+
interface BackstageMapOptions {
|
|
4062
|
+
/** Default owner when a node carries none (the org/tenant). */
|
|
4063
|
+
org?: string;
|
|
4064
|
+
}
|
|
4065
|
+
/** Map discovered nodes/edges to typed Backstage catalog entities. Pure, deterministic. */
|
|
4066
|
+
declare function toBackstageEntities(nodes: NodeRow[], edges: EdgeRow[], opts?: BackstageMapOptions): BackstageEntity[];
|
|
4067
|
+
/** Serialize entities to the multi-doc `catalog-info.yaml` string (byte-identical to the legacy exporter). */
|
|
4068
|
+
declare function entitiesToYaml(entities: BackstageEntity[]): string;
|
|
4069
|
+
|
|
3973
4070
|
/**
|
|
3974
4071
|
* Hex Grid Engine — flat-top axial coordinate system.
|
|
3975
4072
|
* Reference: https://www.redblobgames.com/grids/hexagons/
|
|
@@ -4089,4 +4186,4 @@ declare function logInfo(message: string, context?: Record<string, unknown>): vo
|
|
|
4089
4186
|
declare function logWarn(message: string, context?: Record<string, unknown>): void;
|
|
4090
4187
|
declare function logError(message: string, context?: Record<string, unknown>): void;
|
|
4091
4188
|
|
|
4092
|
-
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 BindGuardOptions, CLIENTS, CONFIDENCE, COST_PERIODS, 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 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_LEAD_MODEL, DEFAULT_SERVER_NAME, DEFAULT_TENANT, DOMAIN_COLORS, DOMAIN_PALETTE, DRIFT_FIELDS, 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, type GraphSummary, type HealthResult, type HttpOptions, INGEST_SCHEMA_VERSION, type IngestEnvelope, IngestEnvelopeSchema, type IngestHandler, 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 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, RELATION_TO_DIRECTION, ROLES, type ResolveContext, type ResolveOptions, type Role, RoleSchema, type RuleCheck, RuleCheckSchema, type RuleScope, type Ruleset, RulesetSchema, type RunDriftOptions, SCAN_ARG_PATTERNS, 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 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, createBashTool, createCartographyTools, createClaudeProvider, createDefaultRegistry, createHashEmbedder, createIngestHandler, createLocalEmbedder, createMcpServer, createOllamaProvider, createOpenAIProvider, createScanRunner, createSemanticSearch, createSqliteQueryBackend, currentOs, cursorDeeplink, databasesScanner, deepMerge, defaultAllowedHosts, defaultConfig, defaultContext, defaultProviderRegistry, defaultRegistry, defaultServerEntry, definePlugin, deriveSessionName, detectAnomalies, detectOrphans, detectShadowIt, diffTopology, edgesToConnections, enrichCosts, evaluateCheck, evaluateRule, evidenceLine, executeGraphql, executeNlQuery, exportAll, exportBackstageYAML, exportComplianceReport, exportCostCSV, exportCostSummary, exportDiscoveryApp, exportJGF, exportJSON, extractListeningPorts, 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, 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, validateScanner, vscodeDeeplink, zodToJsonSchema };
|
|
4189
|
+
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 BackstageEntity, type BackstageMapOptions, type BindGuardOptions, CLIENTS, CONFIDENCE, COST_PERIODS, 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 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 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, 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 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 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, createBashTool, createCartographyTools, createClaudeProvider, createDefaultRegistry, createHashEmbedder, createIngestHandler, createLocalEmbedder, createMcpServer, createOllamaProvider, createOpenAIProvider, createScanRunner, createSemanticSearch, createSqliteQueryBackend, currentOs, cursorDeeplink, 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, 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, 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 };
|
package/dist/index.d.ts
CHANGED
|
@@ -982,6 +982,12 @@ interface NodeAttribution {
|
|
|
982
982
|
|
|
983
983
|
/** Default tenant for single-user / pre-migration installs. */
|
|
984
984
|
declare const DEFAULT_TENANT = "local";
|
|
985
|
+
/**
|
|
986
|
+
* The current catalog schema version. A fresh DB initializes here and the migration
|
|
987
|
+
* chain advances to it; the collector readiness probe (4.7) asserts a reopened DB
|
|
988
|
+
* reports exactly this. Keep in lockstep with the final `user_version` set in `migrate()`.
|
|
989
|
+
*/
|
|
990
|
+
declare const SCHEMA_VERSION = 15;
|
|
985
991
|
/**
|
|
986
992
|
* Normalize an untrusted tenant id: strip invisible/control characters, trim,
|
|
987
993
|
* cap length, and enforce a conservative key charset. Falls back to DEFAULT_TENANT
|
|
@@ -1352,6 +1358,12 @@ declare class CartographyDB {
|
|
|
1352
1358
|
* Prune sessions older than the given ISO date string. Returns count of deleted sessions.
|
|
1353
1359
|
*/
|
|
1354
1360
|
pruneSessions(olderThan: string): number;
|
|
1361
|
+
/**
|
|
1362
|
+
* Retention/compaction (4.7): delete audit events older than `olderThan` (ISO 8601).
|
|
1363
|
+
* The audit trail grows unbounded on a busy collector; this bounds it without touching
|
|
1364
|
+
* sessions/nodes/edges. Returns the number of events removed.
|
|
1365
|
+
*/
|
|
1366
|
+
pruneEventsOlderThan(olderThan: string): number;
|
|
1355
1367
|
/** Fetch a single node by id within a session. */
|
|
1356
1368
|
getNode(sessionId: string, nodeId: string): NodeRow | undefined;
|
|
1357
1369
|
/** Batch-fetch nodes by id, keyed for O(1) lookup. Chunked to stay under SQLite's bind-variable limit. */
|
|
@@ -1558,6 +1570,8 @@ interface QueryBackend {
|
|
|
1558
1570
|
nodes(ctx: TenantContext, q: NodeQuery, sessionId?: string): NodesResult;
|
|
1559
1571
|
/** One node by id (or `undefined` if absent). Throws {@link NotFoundError} if no session resolves. */
|
|
1560
1572
|
node(ctx: TenantContext, id: string, sessionId?: string): NodeRow | undefined;
|
|
1573
|
+
/** All edges of the resolved session (for full-topology consumers, e.g. the Backstage catalog). Throws {@link NotFoundError} if no session resolves. */
|
|
1574
|
+
edges(ctx: TenantContext, sessionId?: string): EdgeRow[];
|
|
1561
1575
|
/** Dependency traversal from a node. Throws {@link NotFoundError} if no session resolves. */
|
|
1562
1576
|
dependencies(ctx: TenantContext, id: string, q: DependencyQuery, sessionId?: string): TraversalResult;
|
|
1563
1577
|
/** Compare two sessions (both must belong to the tenant). Throws {@link NotFoundError} on an unknown/foreign id. */
|
|
@@ -1585,6 +1599,7 @@ declare class SqliteQueryBackend implements QueryBackend {
|
|
|
1585
1599
|
summary(ctx: TenantContext, sessionId?: string): GraphSummary;
|
|
1586
1600
|
nodes(ctx: TenantContext, q: NodeQuery, sessionId?: string): NodesResult;
|
|
1587
1601
|
node(ctx: TenantContext, id: string, sessionId?: string): NodeRow | undefined;
|
|
1602
|
+
edges(ctx: TenantContext, sessionId?: string): EdgeRow[];
|
|
1588
1603
|
dependencies(ctx: TenantContext, id: string, q: DependencyQuery, sessionId?: string): TraversalResult;
|
|
1589
1604
|
diff(ctx: TenantContext, base: string, current: string): TopologyDiff;
|
|
1590
1605
|
sessions(ctx: TenantContext): SessionRow[];
|
|
@@ -1757,6 +1772,37 @@ interface IngestOptions {
|
|
|
1757
1772
|
*/
|
|
1758
1773
|
declare function ingestEnvelope(store: StoreBackend, envelope: IngestEnvelope, opts?: IngestOptions): IngestResult;
|
|
1759
1774
|
|
|
1775
|
+
/**
|
|
1776
|
+
* Ingest backpressure for the central collector (4.7).
|
|
1777
|
+
*
|
|
1778
|
+
* A pure, in-memory **per-org token-bucket** rate limiter. The networked `POST /ingest`
|
|
1779
|
+
* write endpoint must protect the shared store from a runaway or hostile client; over-quota
|
|
1780
|
+
* requests are refused with `429 + Retry-After` rather than admitted. Deterministic given an
|
|
1781
|
+
* injected clock, so it is unit-testable without real time. In-process only (a multi-replica
|
|
1782
|
+
* deployment would front it with a shared limiter; documented in the runbook).
|
|
1783
|
+
*/
|
|
1784
|
+
interface QuotaConfig {
|
|
1785
|
+
/** Bucket capacity = max burst, and the number of tokens refilled over one `refillMs` window. */
|
|
1786
|
+
capacity: number;
|
|
1787
|
+
/** Milliseconds over which a fully-drained bucket refills to `capacity`. */
|
|
1788
|
+
refillMs: number;
|
|
1789
|
+
}
|
|
1790
|
+
/** Sensible default: 120 ingests / minute / org (burst 120). */
|
|
1791
|
+
declare const DEFAULT_INGEST_QUOTA: QuotaConfig;
|
|
1792
|
+
interface QuotaDecision {
|
|
1793
|
+
allowed: boolean;
|
|
1794
|
+
/** Seconds to wait before retrying — populated only when `!allowed` (≥1). */
|
|
1795
|
+
retryAfterSec: number;
|
|
1796
|
+
}
|
|
1797
|
+
declare class RateLimiter {
|
|
1798
|
+
private readonly cfg;
|
|
1799
|
+
private readonly now;
|
|
1800
|
+
private readonly buckets;
|
|
1801
|
+
constructor(cfg?: QuotaConfig, now?: () => number);
|
|
1802
|
+
/** Consume one token for `key`. Returns whether the request is allowed (+ Retry-After when not). */
|
|
1803
|
+
take(key: string): QuotaDecision;
|
|
1804
|
+
}
|
|
1805
|
+
|
|
1760
1806
|
/**
|
|
1761
1807
|
* The central-collector ingest HTTP surface (2.12).
|
|
1762
1808
|
*
|
|
@@ -1772,12 +1818,18 @@ declare function ingestEnvelope(store: StoreBackend, envelope: IngestEnvelope, o
|
|
|
1772
1818
|
* handler ever runs, so the handler never sees (and never logs) the token.
|
|
1773
1819
|
*/
|
|
1774
1820
|
|
|
1775
|
-
/** A transport-agnostic HTTP-ish response: a status code
|
|
1821
|
+
/** A transport-agnostic HTTP-ish response: a status code, a JSON-serializable body, optional headers. */
|
|
1776
1822
|
interface IngestResponse {
|
|
1777
1823
|
status: number;
|
|
1778
1824
|
body: unknown;
|
|
1825
|
+
/** Extra response headers (e.g. `Retry-After` on a 429). */
|
|
1826
|
+
headers?: Record<string, string>;
|
|
1779
1827
|
}
|
|
1780
1828
|
type IngestHandler = (body: unknown) => IngestResponse;
|
|
1829
|
+
interface IngestHandlerOptions extends IngestOptions {
|
|
1830
|
+
/** Per-org ingest rate limiter (4.7 backpressure). Over-quota → 429 + Retry-After. */
|
|
1831
|
+
quota?: RateLimiter;
|
|
1832
|
+
}
|
|
1781
1833
|
/**
|
|
1782
1834
|
* Build the `/ingest` handler over a {@link StoreBackend}. The handler validates the
|
|
1783
1835
|
* 2.11 push envelope, runs ingest (re-validating anonymization first), and maps the
|
|
@@ -1786,7 +1838,7 @@ type IngestHandler = (body: unknown) => IngestResponse;
|
|
|
1786
1838
|
* - 500 — ingest threw (the store's per-node transaction rolls that node back).
|
|
1787
1839
|
* - 200 — {@link IngestResult}.
|
|
1788
1840
|
*/
|
|
1789
|
-
declare function createIngestHandler(store: StoreBackend, opts?:
|
|
1841
|
+
declare function createIngestHandler(store: StoreBackend, opts?: IngestHandlerOptions): IngestHandler;
|
|
1790
1842
|
|
|
1791
1843
|
/**
|
|
1792
1844
|
* Org-key lifecycle for the 2.10 anonymization layer.
|
|
@@ -2180,6 +2232,7 @@ interface HttpOptions {
|
|
|
2180
2232
|
onIngest?: (body: unknown) => {
|
|
2181
2233
|
status: number;
|
|
2182
2234
|
body: unknown;
|
|
2235
|
+
headers?: Record<string, string>;
|
|
2183
2236
|
};
|
|
2184
2237
|
/**
|
|
2185
2238
|
* RBAC (4.5). When `store` holds credentials, the transport runs in RBAC mode: a
|
|
@@ -2194,6 +2247,14 @@ interface HttpOptions {
|
|
|
2194
2247
|
};
|
|
2195
2248
|
/** Tenant assigned to implicit (shared/loopback) admin principals. */
|
|
2196
2249
|
defaultTenant?: string;
|
|
2250
|
+
/**
|
|
2251
|
+
* Readiness probe (4.7). When set, `GET /readyz` calls it: 200 when `ready`, else 503.
|
|
2252
|
+
* `GET /healthz` (liveness) is always 200. Both are PUBLIC (no auth) for k8s/LB probes.
|
|
2253
|
+
*/
|
|
2254
|
+
readiness?: () => {
|
|
2255
|
+
ready: boolean;
|
|
2256
|
+
detail?: Record<string, unknown>;
|
|
2257
|
+
};
|
|
2197
2258
|
}
|
|
2198
2259
|
/**
|
|
2199
2260
|
* Start a Streamable HTTP server. A fresh MCP server instance is created per
|
|
@@ -3970,6 +4031,42 @@ declare function sanitizeUntrusted(text: string): string;
|
|
|
3970
4031
|
/** Recursively apply `sanitizeUntrusted` to every string in an arbitrary value. */
|
|
3971
4032
|
declare function sanitizeValue(value: unknown): unknown;
|
|
3972
4033
|
|
|
4034
|
+
/**
|
|
4035
|
+
* Backstage catalog entity mapping (4.6).
|
|
4036
|
+
*
|
|
4037
|
+
* A dependency-free, transport-agnostic mapper: `toBackstageEntities` turns the
|
|
4038
|
+
* discovered topology into plain typed Backstage entity objects, and `entitiesToYaml`
|
|
4039
|
+
* serializes them to the multi-doc `catalog-info.yaml` format. It NEVER imports
|
|
4040
|
+
* `@backstage/*` — Backstage stays an optional adapter, never a core dependency
|
|
4041
|
+
* (ROADMAP locked constraints). The legacy `exportBackstageYAML` is re-expressed over
|
|
4042
|
+
* this mapper and stays byte-identical (snapshot-guarded). The same typed entities are
|
|
4043
|
+
* served live over the API (`GET /v1/backstage/catalog`) so a Backstage instance can
|
|
4044
|
+
* consume the topology as a continuously-refreshed data source.
|
|
4045
|
+
*/
|
|
4046
|
+
|
|
4047
|
+
interface BackstageEntity {
|
|
4048
|
+
apiVersion: 'backstage.io/v1alpha1';
|
|
4049
|
+
kind: 'Component' | 'API' | 'Resource';
|
|
4050
|
+
metadata: {
|
|
4051
|
+
name: string;
|
|
4052
|
+
annotations: Record<string, string>;
|
|
4053
|
+
};
|
|
4054
|
+
spec: {
|
|
4055
|
+
type: string;
|
|
4056
|
+
lifecycle: string;
|
|
4057
|
+
owner: string;
|
|
4058
|
+
dependsOn?: string[];
|
|
4059
|
+
};
|
|
4060
|
+
}
|
|
4061
|
+
interface BackstageMapOptions {
|
|
4062
|
+
/** Default owner when a node carries none (the org/tenant). */
|
|
4063
|
+
org?: string;
|
|
4064
|
+
}
|
|
4065
|
+
/** Map discovered nodes/edges to typed Backstage catalog entities. Pure, deterministic. */
|
|
4066
|
+
declare function toBackstageEntities(nodes: NodeRow[], edges: EdgeRow[], opts?: BackstageMapOptions): BackstageEntity[];
|
|
4067
|
+
/** Serialize entities to the multi-doc `catalog-info.yaml` string (byte-identical to the legacy exporter). */
|
|
4068
|
+
declare function entitiesToYaml(entities: BackstageEntity[]): string;
|
|
4069
|
+
|
|
3973
4070
|
/**
|
|
3974
4071
|
* Hex Grid Engine — flat-top axial coordinate system.
|
|
3975
4072
|
* Reference: https://www.redblobgames.com/grids/hexagons/
|
|
@@ -4089,4 +4186,4 @@ declare function logInfo(message: string, context?: Record<string, unknown>): vo
|
|
|
4089
4186
|
declare function logWarn(message: string, context?: Record<string, unknown>): void;
|
|
4090
4187
|
declare function logError(message: string, context?: Record<string, unknown>): void;
|
|
4091
4188
|
|
|
4092
|
-
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 BindGuardOptions, CLIENTS, CONFIDENCE, COST_PERIODS, 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 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_LEAD_MODEL, DEFAULT_SERVER_NAME, DEFAULT_TENANT, DOMAIN_COLORS, DOMAIN_PALETTE, DRIFT_FIELDS, 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, type GraphSummary, type HealthResult, type HttpOptions, INGEST_SCHEMA_VERSION, type IngestEnvelope, IngestEnvelopeSchema, type IngestHandler, 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 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, RELATION_TO_DIRECTION, ROLES, type ResolveContext, type ResolveOptions, type Role, RoleSchema, type RuleCheck, RuleCheckSchema, type RuleScope, type Ruleset, RulesetSchema, type RunDriftOptions, SCAN_ARG_PATTERNS, 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 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, createBashTool, createCartographyTools, createClaudeProvider, createDefaultRegistry, createHashEmbedder, createIngestHandler, createLocalEmbedder, createMcpServer, createOllamaProvider, createOpenAIProvider, createScanRunner, createSemanticSearch, createSqliteQueryBackend, currentOs, cursorDeeplink, databasesScanner, deepMerge, defaultAllowedHosts, defaultConfig, defaultContext, defaultProviderRegistry, defaultRegistry, defaultServerEntry, definePlugin, deriveSessionName, detectAnomalies, detectOrphans, detectShadowIt, diffTopology, edgesToConnections, enrichCosts, evaluateCheck, evaluateRule, evidenceLine, executeGraphql, executeNlQuery, exportAll, exportBackstageYAML, exportComplianceReport, exportCostCSV, exportCostSummary, exportDiscoveryApp, exportJGF, exportJSON, extractListeningPorts, 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, 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, validateScanner, vscodeDeeplink, zodToJsonSchema };
|
|
4189
|
+
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 BackstageEntity, type BackstageMapOptions, type BindGuardOptions, CLIENTS, CONFIDENCE, COST_PERIODS, 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 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 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, 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 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 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, createBashTool, createCartographyTools, createClaudeProvider, createDefaultRegistry, createHashEmbedder, createIngestHandler, createLocalEmbedder, createMcpServer, createOllamaProvider, createOpenAIProvider, createScanRunner, createSemanticSearch, createSqliteQueryBackend, currentOs, cursorDeeplink, 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, 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, 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 };
|