From 8c67dbd49e74b2f304a03845a8a55e6a433cc915 Mon Sep 17 00:00:00 2001 From: N0zoM1z0 <1705004398@qq.com> Date: Thu, 16 Jul 2026 08:48:47 +0800 Subject: [PATCH] feat(electron): reconcile static artifacts with passive runtime --- .github/pull_request_template.md | 2 +- AGENTS.md | 6 +- CONTRIBUTING.md | 4 +- README.md | 30 +- README_ar.md | 24 +- README_ja.md | 24 +- README_ko.md | 24 +- README_zh.md | 24 +- docs/api/assets/hierarchy.js | 2 +- docs/api/assets/navigation.js | 2 +- docs/api/assets/search.js | 2 +- ...or.JavaScriptArtifactGraphAccumulator.html | 16 +- ...rmissionAuthority.PermissionPathError.html | 2 +- ...ocessCaptureError.ProcessCaptureError.html | 2 +- ...sionStore.ProjectPermissionStoreError.html | 2 +- ...CdpBrowserProvider.CdpBrowserProvider.html | 8 +- ...ser_CdpCaptureEvents.CdpCaptureEvents.html | 63 +- ...pElectronProvider.CdpElectronProvider.html | 6 +- .../domain_errors.AnalysisCancelledError.html | 2 +- ...rs.AnalysisCapabilityUnavailableError.html | 2 +- .../classes/domain_errors.AnalysisError.html | 2 +- .../domain_errors.AnalysisInputError.html | 2 +- .../domain_errors.AnalysisOutputError.html | 2 +- .../domain_errors.AnalysisProtocolError.html | 2 +- .../domain_errors.AnalysisTimeoutError.html | 2 +- .../domain_errors.ArtifactOperationError.html | 2 +- .../domain_errors.BinaryTargetError.html | 2 +- ...domain_errors.BrowserObservationError.html | 2 +- .../domain_errors.ConfigurationError.html | 2 +- .../domain_errors.EvidenceFileError.html | 2 +- .../domain_errors.EvidenceIntegrityError.html | 2 +- .../domain_errors.EvidenceLimitError.html | 2 +- .../domain_errors.HopperCancelledError.html | 2 +- .../classes/domain_errors.HopperError.html | 2 +- .../domain_errors.HopperProcessError.html | 2 +- .../domain_errors.HopperProtocolError.html | 2 +- .../domain_errors.HopperRemoteError.html | 2 +- .../domain_errors.HopperStartError.html | 2 +- .../domain_errors.HopperTimeoutError.html | 2 +- ...in_errors.InvestigationWorkspaceError.html | 2 +- .../domain_errors.NoBinaryOpenError.html | 2 +- ...domain_errors.PermissionRequiredError.html | 2 +- .../domain_errors.ProviderAdapterError.html | 2 +- .../domain_errors.ProviderSelectionError.html | 2 +- .../domain_errors.UnknownRegistryError.html | 2 +- ...permissionPolicy.PermissionGrantError.html | 2 +- ...idra_GhidraLauncher.GhidraLaunchError.html | 2 +- ...GhidraSessionError.GhidraSessionError.html | 2 +- .../ghidra_protocol.GhidraRemoteError.html | 2 +- ...tionService.compareWebCaptureEvidence.html | 4 +- ...ityInventory.buildCapabilityInventory.html | 4 +- .../application_Doctor.runDoctor.html | 4 +- ...raphContext.electronFindingSourceNode.html | 4 +- ...ectronEvidence.createElectronEvidence.html | 6 +- ...bservationService.inspectElectronPage.html | 4 +- ...e.createJavaScriptApplicationEvidence.html | 4 +- ...hBuilder.buildJavaScriptArtifactGraph.html | 4 +- ...ctGraphContext.createElectronRoleNode.html | 4 +- ...iptArtifactGraphContext.sourceNodeFor.html | 4 +- ...hEvidence.artifactObservationEvidence.html | 4 +- ...tGraphEvidence.astObservationEvidence.html | 4 +- ...GraphEvidence.staticInferenceEvidence.html | 4 +- ...tGraphEvidence.unavailableAstEvidence.html | 4 +- ...phStructure.addJavaScriptPackageNodes.html | 4 +- ...ture.createJavaScriptArtifactRootNode.html | 4 +- ...vaScriptRuntimeReconciliationEvidence.html | 45 ++ ...ce.reconcileJavaScriptRuntimeEvidence.html | 44 ++ ...tronInspection.inspectCdpElectronPage.html | 6 +- ...criptEvents.ingestElectronScriptEvent.html | 44 ++ ...lectronScripts.captureElectronScripts.html | 44 ++ ...lectronWorkers.captureElectronWorkers.html | 44 ++ .../browser_CdpPageCapture.capturePage.html | 2 +- ...iptApplicationGraph.compareCodePoints.html | 45 ++ ...mputeJavaScriptApplicationGraphSha256.html | 2 +- ...Graph.createJavaScriptApplicationEdge.html | 6 +- ...raph.createJavaScriptApplicationGraph.html | 6 +- ...Graph.createJavaScriptApplicationNode.html | 6 +- ...Graph.parseJavaScriptApplicationGraph.html | 6 +- ...h.serializeJavaScriptApplicationGraph.html | 2 +- ...imeLoadState.classifyStaticLoadStates.html | 47 ++ ...nciliation.reconcileJavaScriptRuntime.html | 44 ++ ...Graph.buildReconciledApplicationGraph.html | 44 ++ ...tionMatching.reconcileRuntimeEntities.html | 44 ++ ...ReconciliationParsing.digestCanonical.html | 42 ++ ...ciliationParsing.parseRuntimeCaptures.html | 44 ++ ...conciliationParsing.parseStaticLayers.html | 44 ++ ...JavaScriptRuntimeReconciliationResult.html | 44 ++ ...liationRuntime.projectRuntimeCaptures.html | 45 ++ ...idates.collectStaticRuntimeCandidates.html | 44 ++ ...icCandidates.createStaticRuntimeScope.html | 45 ++ ...meStaticCandidates.mappedRuntimePaths.html | 45 ++ ...ndidates.staticNodeWithinRuntimeScope.html | 45 ++ ...ndleAnalyzer.analyzeCapturedWebBundle.html | 4 +- ...ain_webCaptureDiff.compareWebCaptures.html | 4 +- ...erElectronTools.registerElectronTools.html | 2 +- docs/api/hierarchy.html | 110 ++-- docs/api/index.html | 4 +- ...ation_AnalysisProvider.AnalysisClient.html | 2 +- ...nalysisProvider.AnalysisOperationPort.html | 2 +- ...ion_AnalysisProvider.AnalysisProvider.html | 2 +- ...sisProvider.AnalysisProviderCandidate.html | 2 +- ...n_BinarySessionPort.BinarySessionPort.html | 2 +- ...bservationPort.BrowserObservationPort.html | 10 +- ...ryGraphContext.ElectronGraphEdgeInput.html | 6 +- ...servationPort.ElectronObservationPort.html | 8 +- ...riptArtifactGraphContext.AstEdgeInput.html | 8 +- ...rtifactGraphContext.ContainsEdgeInput.html | 6 +- ...tifactGraphContext.InferenceEdgeInput.html | 8 +- ...ontext.JavaScriptArtifactGraphContext.html | 12 +- ...tifactGraphContext.RoleAssetLinkInput.html | 4 +- ...actGraphContext.UnavailableParseInput.html | 4 +- ...avaScriptArtifactReconstructionResult.html | 4 +- .../application_Setup.SetupHost.html | 6 +- .../application_Setup.SetupResult.html | 4 +- ...owser_CdpCaptureEvents.CapturedScript.html | 12 +- ...ctronScriptEvents.ElectronScriptDraft.html | 91 +++ .../browser_CdpPageCapture.CapturedPage.html | 10 +- ...domain_errors.AnalysisErrorProjection.html | 2 +- ...in_errors.ProviderAdapterErrorOptions.html | 2 +- ...meLoadState.StaticLoadStateProjection.html | 61 ++ ....ReconciledApplicationGraphProjection.html | 64 +++ ...ionMatching.RuntimeMatchingProjection.html | 67 +++ ...conciliationParsing.ParsedStaticLayer.html | 91 +++ ...conciliationRuntime.RuntimeProjection.html | 79 +++ ...onRuntime.RuntimeReconciliationEntity.html | 103 ++++ ...imeStaticCandidates.MappedRuntimePath.html | 61 ++ ...aticCandidates.StaticRuntimeCandidate.html | 79 +++ ...meStaticCandidates.StaticRuntimeScope.html | 64 +++ ...main_permissionPolicy.PermissionGrant.html | 2 +- ...in_permissionPolicy.PermissionRequest.html | 2 +- ...main_permissionPolicy.PermissionScope.html | 2 +- ...domain_webInventory.StableWebResource.html | 2 +- ...ebInventory.WebInventoryResourceInput.html | 2 +- .../ghidra_GhidraLauncher.GhidraLaunch.html | 2 +- ...essionError.GhidraSessionErrorOptions.html | 2 +- .../hopper_BridgeLauncher.BridgeLaunch.html | 2 +- ...ProviderProcess.ProviderProcessLaunch.html | 2 +- .../application_InvestigationProviders.html | 4 +- ...vaScriptRuntimeReconciliationEvidence.html | 36 ++ ...avaScriptRuntimeReconciliationService.html | 36 ++ .../browser_CdpElectronScriptEvents.html | 40 ++ .../modules/browser_CdpElectronScripts.html | 36 ++ .../modules/browser_CdpElectronWorkers.html | 36 ++ ...avascriptRuntimeReconciliationExample.html | 36 ++ .../domain_javascriptApplicationGraph.html | 4 +- .../domain_javascriptRuntimeLoadState.html | 40 ++ ...omain_javascriptRuntimeReconciliation.html | 36 ++ ..._javascriptRuntimeReconciliationGraph.html | 40 ++ ...vascriptRuntimeReconciliationMatching.html | 40 ++ ...avascriptRuntimeReconciliationParsing.html | 44 ++ ...javascriptRuntimeReconciliationResult.html | 36 ++ ...avascriptRuntimeReconciliationRuntime.html | 40 ++ ...avascriptRuntimeReconciliationSchemas.html | 40 ++ ...ain_javascriptRuntimeStaticCandidates.html | 40 ++ ..._browserObservation.WebPageInspection.html | 2 +- ...ronObservation.ElectronPageInspection.html | 2 +- ...lectronObservation.ElectronTargetList.html | 2 +- ...nObservation.InspectElectronPageInput.html | 2 +- ...denceSchemas.ApplicationGraphEvidence.html | 2 +- ...idenceSchemas.ApplicationNodeIdentity.html | 2 +- ...ationGraph.JavaScriptApplicationGraph.html | 2 +- ...ciliationParsing.ParsedRuntimeCapture.html | 33 ++ ...s.JavaScriptRuntimeReconciliationItem.html | 33 ++ ...JavaScriptRuntimeReconciliationResult.html | 33 ++ ...tionSchemas.JavaScriptStaticLoadState.html | 33 ++ ...hemas.ReconcileJavaScriptRuntimeInput.html | 33 ++ ...roviders.ARTIFACT_COMPARISON_PROVIDER.html | 2 +- ...nProviders.BUNDLE_COMPARISON_PROVIDER.html | 2 +- ...stigationProviders.CALL_PATH_PROVIDER.html | 2 +- ...onProviders.CHANGED_BEHAVIOR_PROVIDER.html | 2 +- ...roviders.FUNCTION_COMPARISON_PROVIDER.html | 2 +- ...CRIPT_RUNTIME_RECONCILIATION_PROVIDER.html | 44 ++ ...tionProviders.RECONSTRUCTION_PROVIDER.html | 2 +- ...tionProviders.STATIC_RUNTIME_PROVIDER.html | 2 +- ...rToolContracts.BROWSER_TOOL_CONTRACTS.html | 2 +- ...ToolContracts.ELECTRON_TOOL_CONTRACTS.html | 4 +- ...SCRIPT_RUNTIME_RECONCILIATION_EXAMPLE.html | 42 ++ ...ontracts_toolContracts.TOOL_CONTRACTS.html | 2 +- ...erObservation.webPageInspectionSchema.html | 4 +- ...ervation.electronPageInspectionSchema.html | 4 +- ...nObservation.electronTargetListSchema.html | 2 +- ...vation.inspectElectronPageInputSchema.html | 2 +- ...scriptApplicationAnalysisResultSchema.html | 2 +- ...enceSchemas.applicationCoverageSchema.html | 2 +- ...chemas.applicationGraphEvidenceSchema.html | 4 +- ...Schemas.applicationNodeIdentitySchema.html | 2 +- ...raph.javascriptApplicationGraphSchema.html | 4 +- ...aphSchemas.applicationEdgeInputSchema.html | 2 +- ...ionGraphSchemas.applicationEdgeSchema.html | 2 +- ...aphSchemas.applicationNodeInputSchema.html | 2 +- ...emas.applicationNodeObservationSchema.html | 2 +- ...ionGraphSchemas.applicationNodeSchema.html | 2 +- ...javascriptApplicationGraphInputSchema.html | 2 +- ...avascriptApplicationGraphRecordSchema.html | 2 +- ...riptRuntimeReconciliationResultSchema.html | 35 ++ ...reconcileJavaScriptRuntimeInputSchema.html | 35 ++ ...ureDiff.compareWebCapturesInputSchema.html | 2 +- docs/architecture.mermaid | 2 +- docs/browser-observation.md | 8 +- docs/electron-observation.md | 20 +- docs/javascript-application-graph.md | 24 +- docs/javascript-artifact-reconstruction.md | 6 + docs/javascript-runtime-reconciliation.md | 170 ++++++ docs/mcp-prompts.md | 2 +- docs/product-catalog.json | 26 +- package.json | 1 + scripts/lib/product-catalog.mjs | 19 +- scripts/rea.mjs | 2 +- scripts/verify-local-javascript-runtime.mjs | 162 ++++++ scripts/verify-published-package.mjs | 4 +- scripts/verify-real-hopper.mjs | 2 +- skills/rea-analysis/SKILL.md | 19 +- src/application/InvestigationProviders.ts | 7 + ...JavaScriptRuntimeReconciliationEvidence.ts | 43 ++ .../JavaScriptRuntimeReconciliationService.ts | 37 ++ src/browser/CdpCaptureEvents.ts | 59 ++ src/browser/CdpElectronInspection.ts | 411 ++++++------- src/browser/CdpElectronProvider.ts | 6 +- src/browser/CdpElectronScriptEvents.ts | 100 ++++ src/browser/CdpElectronScripts.ts | 151 +++++ src/browser/CdpElectronWorkers.ts | 89 +++ src/browser/CdpPageCapture.ts | 9 +- src/cliCommandNames.ts | 1 + src/cliElectronCommands.ts | 90 +++ src/contracts/electronToolContracts.ts | 29 + .../javascriptRuntimeReconciliationExample.ts | 226 ++++++++ src/domain/browserObservation.ts | 3 + src/domain/electronObservation.ts | 15 + .../javascriptApplicationEvidenceSchemas.ts | 10 + src/domain/javascriptApplicationGraph.ts | 3 +- src/domain/javascriptRuntimeLoadState.ts | 184 ++++++ src/domain/javascriptRuntimeReconciliation.ts | 58 ++ .../javascriptRuntimeReconciliationGraph.ts | 274 +++++++++ ...javascriptRuntimeReconciliationMatching.ts | 398 +++++++++++++ .../javascriptRuntimeReconciliationParsing.ts | 286 +++++++++ .../javascriptRuntimeReconciliationResult.ts | 209 +++++++ .../javascriptRuntimeReconciliationRuntime.ts | 433 ++++++++++++++ .../javascriptRuntimeReconciliationSchemas.ts | 299 ++++++++++ .../javascriptRuntimeStaticCandidates.ts | 297 ++++++++++ src/generatedPackageMetadata.ts | 2 +- src/server/registerElectronTools.ts | 26 +- tests/browserMcp.test.ts | 21 +- tests/browserObservation.test.ts | 55 ++ tests/cdpBrowserProvider.test.ts | 5 + tests/cdpElectronProvider.test.ts | 2 +- tests/contractSnapshot.test.ts | 6 +- tests/electronCli.test.ts | 39 ++ tests/electronMcp.test.ts | 50 +- tests/fixtures/fakeCdpBrowser.ts | 20 + tests/integration/serverIntegration.test.ts | 4 +- tests/javascriptRuntimeReconciliation.test.ts | 542 ++++++++++++++++++ tests/productCatalog.test.ts | 13 +- tests/promptMcp.test.ts | 2 +- tests/runtime.test.ts | 6 +- tests/serverIdentity.test.ts | 10 +- tests/sessionMcp.test.ts | 2 +- tests/setupSkill.test.ts | 2 +- tests/toolContracts.test.ts | 7 +- 258 files changed, 7609 insertions(+), 650 deletions(-) create mode 100644 docs/api/functions/application_JavaScriptRuntimeReconciliationEvidence.createJavaScriptRuntimeReconciliationEvidence.html create mode 100644 docs/api/functions/application_JavaScriptRuntimeReconciliationService.reconcileJavaScriptRuntimeEvidence.html create mode 100644 docs/api/functions/browser_CdpElectronScriptEvents.ingestElectronScriptEvent.html create mode 100644 docs/api/functions/browser_CdpElectronScripts.captureElectronScripts.html create mode 100644 docs/api/functions/browser_CdpElectronWorkers.captureElectronWorkers.html create mode 100644 docs/api/functions/domain_javascriptApplicationGraph.compareCodePoints.html create mode 100644 docs/api/functions/domain_javascriptRuntimeLoadState.classifyStaticLoadStates.html create mode 100644 docs/api/functions/domain_javascriptRuntimeReconciliation.reconcileJavaScriptRuntime.html create mode 100644 docs/api/functions/domain_javascriptRuntimeReconciliationGraph.buildReconciledApplicationGraph.html create mode 100644 docs/api/functions/domain_javascriptRuntimeReconciliationMatching.reconcileRuntimeEntities.html create mode 100644 docs/api/functions/domain_javascriptRuntimeReconciliationParsing.digestCanonical.html create mode 100644 docs/api/functions/domain_javascriptRuntimeReconciliationParsing.parseRuntimeCaptures.html create mode 100644 docs/api/functions/domain_javascriptRuntimeReconciliationParsing.parseStaticLayers.html create mode 100644 docs/api/functions/domain_javascriptRuntimeReconciliationResult.createJavaScriptRuntimeReconciliationResult.html create mode 100644 docs/api/functions/domain_javascriptRuntimeReconciliationRuntime.projectRuntimeCaptures.html create mode 100644 docs/api/functions/domain_javascriptRuntimeStaticCandidates.collectStaticRuntimeCandidates.html create mode 100644 docs/api/functions/domain_javascriptRuntimeStaticCandidates.createStaticRuntimeScope.html create mode 100644 docs/api/functions/domain_javascriptRuntimeStaticCandidates.mappedRuntimePaths.html create mode 100644 docs/api/functions/domain_javascriptRuntimeStaticCandidates.staticNodeWithinRuntimeScope.html create mode 100644 docs/api/interfaces/browser_CdpElectronScriptEvents.ElectronScriptDraft.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeLoadState.StaticLoadStateProjection.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeReconciliationGraph.ReconciledApplicationGraphProjection.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeReconciliationMatching.RuntimeMatchingProjection.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeReconciliationParsing.ParsedStaticLayer.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeReconciliationRuntime.RuntimeProjection.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeReconciliationRuntime.RuntimeReconciliationEntity.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeStaticCandidates.MappedRuntimePath.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeStaticCandidates.StaticRuntimeCandidate.html create mode 100644 docs/api/interfaces/domain_javascriptRuntimeStaticCandidates.StaticRuntimeScope.html create mode 100644 docs/api/modules/application_JavaScriptRuntimeReconciliationEvidence.html create mode 100644 docs/api/modules/application_JavaScriptRuntimeReconciliationService.html create mode 100644 docs/api/modules/browser_CdpElectronScriptEvents.html create mode 100644 docs/api/modules/browser_CdpElectronScripts.html create mode 100644 docs/api/modules/browser_CdpElectronWorkers.html create mode 100644 docs/api/modules/contracts_javascriptRuntimeReconciliationExample.html create mode 100644 docs/api/modules/domain_javascriptRuntimeLoadState.html create mode 100644 docs/api/modules/domain_javascriptRuntimeReconciliation.html create mode 100644 docs/api/modules/domain_javascriptRuntimeReconciliationGraph.html create mode 100644 docs/api/modules/domain_javascriptRuntimeReconciliationMatching.html create mode 100644 docs/api/modules/domain_javascriptRuntimeReconciliationParsing.html create mode 100644 docs/api/modules/domain_javascriptRuntimeReconciliationResult.html create mode 100644 docs/api/modules/domain_javascriptRuntimeReconciliationRuntime.html create mode 100644 docs/api/modules/domain_javascriptRuntimeReconciliationSchemas.html create mode 100644 docs/api/modules/domain_javascriptRuntimeStaticCandidates.html create mode 100644 docs/api/types/domain_javascriptRuntimeReconciliationParsing.ParsedRuntimeCapture.html create mode 100644 docs/api/types/domain_javascriptRuntimeReconciliationSchemas.JavaScriptRuntimeReconciliationItem.html create mode 100644 docs/api/types/domain_javascriptRuntimeReconciliationSchemas.JavaScriptRuntimeReconciliationResult.html create mode 100644 docs/api/types/domain_javascriptRuntimeReconciliationSchemas.JavaScriptStaticLoadState.html create mode 100644 docs/api/types/domain_javascriptRuntimeReconciliationSchemas.ReconcileJavaScriptRuntimeInput.html create mode 100644 docs/api/variables/application_InvestigationProviders.JAVASCRIPT_RUNTIME_RECONCILIATION_PROVIDER.html create mode 100644 docs/api/variables/contracts_javascriptRuntimeReconciliationExample.JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE.html create mode 100644 docs/api/variables/domain_javascriptRuntimeReconciliationSchemas.javascriptRuntimeReconciliationResultSchema.html create mode 100644 docs/api/variables/domain_javascriptRuntimeReconciliationSchemas.reconcileJavaScriptRuntimeInputSchema.html create mode 100644 docs/javascript-runtime-reconciliation.md create mode 100644 scripts/verify-local-javascript-runtime.mjs create mode 100644 src/application/JavaScriptRuntimeReconciliationEvidence.ts create mode 100644 src/application/JavaScriptRuntimeReconciliationService.ts create mode 100644 src/browser/CdpElectronScriptEvents.ts create mode 100644 src/browser/CdpElectronScripts.ts create mode 100644 src/browser/CdpElectronWorkers.ts create mode 100644 src/contracts/javascriptRuntimeReconciliationExample.ts create mode 100644 src/domain/javascriptRuntimeLoadState.ts create mode 100644 src/domain/javascriptRuntimeReconciliation.ts create mode 100644 src/domain/javascriptRuntimeReconciliationGraph.ts create mode 100644 src/domain/javascriptRuntimeReconciliationMatching.ts create mode 100644 src/domain/javascriptRuntimeReconciliationParsing.ts create mode 100644 src/domain/javascriptRuntimeReconciliationResult.ts create mode 100644 src/domain/javascriptRuntimeReconciliationRuntime.ts create mode 100644 src/domain/javascriptRuntimeReconciliationSchemas.ts create mode 100644 src/domain/javascriptRuntimeStaticCandidates.ts create mode 100644 tests/javascriptRuntimeReconciliation.test.ts diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9281b746be..457c811c65 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -27,7 +27,7 @@ ## Tool Contract Impact - + ## Related Issues diff --git a/AGENTS.md b/AGENTS.md index e876b8da98..66033dcf47 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,7 +26,7 @@ See [docs/architecture.mermaid](docs/architecture.mermaid) for a visual architec - `src/cli.ts`: one-shot CLI adapter for setup, diagnostics, analysis, and decompilation. - `src/config.ts`: Zod-validated parsing of environment configuration into `AppConfig`. - `src/domain/`: pure, side-effect-free modules. `errors.ts` owns the tagged error algebra; `result.ts` owns `Result`/`ok`/`err`; `hopperValues.ts` owns shared function-dossier values plus Hopper boundary parsers; `symbolAnalysis.ts` parses Swift/ObjC names; `javascriptApplicationGraph.ts` validates and canonically commits the provider-neutral JavaScript Application Graph; `javascriptStaticAnalysis.ts` performs bounded AST-only JavaScript structure recovery. -- `src/contracts/`: caller-visible schemas for 33 direct, 10 enhanced, 5 native, 2 artifact, 8 browser, 3 Electron, and 18 session tools; `enhancedInputs.ts` owns enhanced input parsing. +- `src/contracts/`: caller-visible schemas for 33 direct, 10 enhanced, 5 native, 2 artifact, 8 browser, 4 Electron, and 18 session tools; `enhancedInputs.ts` owns enhanced input parsing. - `src/process/`: provider-neutral process ownership and lifecycle primitives. It owns private runtime roots, absolute startup deadlines, correlated request waits, bounded output capture, and TERM-to-KILL cleanup without defining any provider wire protocol. - `src/browser/`: loopback CDP discovery, bounded WebSocket transport, exact-origin target authorization, and passive browser observation normalization. - `src/hopper/`: Hopper launch and Unix-socket protocol mechanics. `BridgeLauncher.ts` spawns the Hopper app with the in-process bridge, `HopperClient.ts` correlates request/response over the socket with timeouts and cancellation, `protocol.ts` frames bridge messages. @@ -58,7 +58,7 @@ See [docs/architecture.mermaid](docs/architecture.mermaid) for a visual architec - `npm run verify:hopper`: build and run the real-Hopper verifier with two distinct binaries. - `npm run verify:ghidra`: build and run the real-Ghidra verifier against `GHIDRA_INSTALL_DIR` and optional `GHIDRA_TARGET_PATH`. - `npm run verify:browser`: build and run the real Chrome verifier against `REA_BROWSER_EXECUTABLE` or a platform-default Chrome-family executable. -- `npm run verify:package`: pack and test the CLI, setup transaction, skill, and 79-tool target-free MCP server in an isolated environment. +- `npm run verify:package`: pack and test the CLI, setup transaction, skill, and 80-tool target-free MCP server in an isolated environment. - `npm run docs:generate`: generate API documentation from JSDoc comments into `docs/api/` using TypeDoc. - `npm run docs:check`: verify generated package metadata, the canonical product catalog, caller-visible documentation facts, TypeDoc output, and the error JSON schema without rewriting them. - `npm run config:print -- /path/to/binary`: print an MCP server config with absolute paths. @@ -89,7 +89,7 @@ Use ESM TypeScript, two-space indentation, and Prettier defaults. Keep compiler ## Testing Guidelines -Name tests `*.test.ts`. Use Vitest and production seams (`tests/fixtures/`) rather than module mocks. Domain tests assert pure behavior; adapter tests use fake launcher/socket seams; MCP tests connect with the beta.3 client. Preserve the 33 direct, 10 enhanced, 5 native, 2 artifact, 8 browser, 3 Electron, and 18 session tool inventory (79 total). Cover malformed input, cancellation, timeouts, process exit, concurrency, limits, and clean shutdown. Real Hopper, Ghidra, and browser claims cannot be replaced by mocks; use `npm run verify:hopper` with two distinct binaries, `npm run verify:ghidra` with the exact supported BYO installation, and `npm run verify:browser` with Chrome. +Name tests `*.test.ts`. Use Vitest and production seams (`tests/fixtures/`) rather than module mocks. Domain tests assert pure behavior; adapter tests use fake launcher/socket seams; MCP tests connect with the beta.3 client. Preserve the 33 direct, 10 enhanced, 5 native, 2 artifact, 8 browser, 4 Electron, and 18 session tool inventory (80 total). Cover malformed input, cancellation, timeouts, process exit, concurrency, limits, and clean shutdown. Real Hopper, Ghidra, and browser claims cannot be replaced by mocks; use `npm run verify:hopper` with two distinct binaries, `npm run verify:ghidra` with the exact supported BYO installation, and `npm run verify:browser` with Chrome. ## Commit & Pull Request Guidelines diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ac7c40d955..2ed47b710a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,7 +17,7 @@ the package `prepare` lifecycle, and prepares the Husky hook. Run `npm run build` again after source changes when you need the standalone CLI or MCP server without running the test prebuild. -Keep dependencies flowing inward through the existing domain, contracts, provider, application, server, and adapter layers. Parse unknown values at process and protocol boundaries, model expected failures with `Result`, and preserve the 33 direct, 10 enhanced, 5 native, 2 artifact, 8 browser, 3 Electron, and 18 session tools (79 total) unless a deliberate contract change updates every verifier and snapshot. +Keep dependencies flowing inward through the existing domain, contracts, provider, application, server, and adapter layers. Parse unknown values at process and protocol boundaries, model expected failures with `Result`, and preserve the 33 direct, 10 enhanced, 5 native, 2 artifact, 8 browser, 4 Electron, and 18 session tools (80 total) unless a deliberate contract change updates every verifier and snapshot. Before submitting a pull request, run: @@ -75,7 +75,7 @@ Publish the public package: npm publish --access public ``` -After npm registry propagation, verify the published CLI and connect a beta.3 MCP client to the published server to confirm all 79 tools: +After npm registry propagation, verify the published CLI and connect a beta.3 MCP client to the published server to confirm all 80 tools: ```bash npx -y rea-agents --help diff --git a/README.md b/README.md index 1058d0382b..3feee1f3b4 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,11 @@ [![npm version](https://img.shields.io/npm/v/rea-agents?style=flat-square&color=cb3837)](https://www.npmjs.com/package/rea-agents) [![CI](https://img.shields.io/github/actions/workflow/status/morluto/rea/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/morluto/rea/actions/workflows/ci.yml) -[![79 MCP tools](https://img.shields.io/badge/MCP_tools-79-5c4ee5?style=flat-square)](#79-tools-for-investigation) +[![80 MCP tools](https://img.shields.io/badge/MCP_tools-80-5c4ee5?style=flat-square)](#80-tools-for-investigation) [![Node.js 22+](https://img.shields.io/badge/Node.js-22.19%2B-339933?style=flat-square&logo=nodedotjs&logoColor=white)](https://nodejs.org/) [![MIT license](https://img.shields.io/badge/license-MIT-f4c430?style=flat-square)](LICENSE) -[Quick start](#quick-start) · [Current status](#current-status) · [Investigation model](#the-investigation-model) · [79 tools](#79-tools-for-investigation) · [Roadmap](#roadmap) · [How it works](#how-it-works) +[Quick start](#quick-start) · [Current status](#current-status) · [Investigation model](#the-investigation-model) · [80 tools](#80-tools-for-investigation) · [Roadmap](#roadmap) · [How it works](#how-it-works)
@@ -320,17 +320,17 @@ REA handles the app analysis in steps 1–5. The agent performs step 6 with its - Analyze Swift and Objective-C metadata without manually untangling every mangled symbol. - Leave names, comments, and bookmarks in Hopper so human and agent analysis reinforce each other. -## 79 tools for investigation +## 80 tools for investigation -| Tool family | Count | Examples | -| ------------------------- | ----: | ---------------------------------------------------------------------------------------------------------------------------------------- | -| Native inspection | 33 | procedures, pseudocode, assembly, strings, names, segments, callers, callees, xrefs, annotations | -| Investigation workflows | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `trace_feature`, call graphs, Swift and Objective-C discovery | -| Native macOS utilities | 5 | Mach-O metadata, code signatures, plists, architectures, Swift demangling; Hopper-free and provenance-bearing | -| Artifact graph | 2 | deterministic directory, ZIP/APK/IPA, and ASAR inventory; explicitly selected extraction into an absent owned tree | -| Browser observation | 8 | exact-origin CDP capture, bundle and source-map analysis, WebMCP discovery, session timelines, capture diff, and visual evidence | -| Electron analysis | 3 | passive root-confined page observation plus bounded static BrowserWindow, preload, contextBridge, IPC, utility, and native-addon mapping | -| Workspace and observation | 18 | target lifecycle, Evidence v2 bundles, process/artifact/function comparison, evidence-linked residual-unknown lifecycle | +| Tool family | Count | Examples | +| ------------------------- | ----: | -------------------------------------------------------------------------------------------------------------------------------- | +| Native inspection | 33 | procedures, pseudocode, assembly, strings, names, segments, callers, callees, xrefs, annotations | +| Investigation workflows | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `trace_feature`, call graphs, Swift and Objective-C discovery | +| Native macOS utilities | 5 | Mach-O metadata, code signatures, plists, architectures, Swift demangling; Hopper-free and provenance-bearing | +| Artifact graph | 2 | deterministic directory, ZIP/APK/IPA, and ASAR inventory; explicitly selected extraction into an absent owned tree | +| Browser observation | 8 | exact-origin CDP capture, bundle and source-map analysis, WebMCP discovery, session timelines, capture diff, and visual evidence | +| Electron analysis | 4 | passive root-confined observation, bounded static application mapping, and evidence-backed static/runtime reconciliation | +| Workspace and observation | 18 | target lifecycle, Evidence v2 bundles, process/artifact/function comparison, evidence-linked residual-unknown lifecycle | The public interface describes what the agent is trying to learn. Providers decide how to answer. macOS utilities handle common semantic inspection without launching Hopper; Hopper handles deeper native analysis; the process harness implements controlled behavioral capture. @@ -344,6 +344,7 @@ REA is already useful for native application, browser, and Electron investigatio - Inspect Electron `file://` renderer pages through a separate canonical-root permission boundary without invoking Electron APIs; script contents remain separately approved and byte bounded. - Validate and canonically serialize a provider-neutral [JavaScript Application Graph v1](docs/javascript-application-graph.md) spanning packages, ASAR entries, Electron roles, JavaScript/source-map entities, browser/runtime instances, IPC, endpoints, storage, and native add-ons. This shipped domain contract performs no extraction or I/O by itself. - Reconstruct bounded static package, entrypoint, Webpack/Rspack module, import, worker, endpoint, storage, source-map, BrowserWindow, preload, contextBridge, IPC, utility-process, and native-add-on structure from an approved local directory or ASAR through `analyze_javascript_application` or `rea analyze-javascript-application`. The AST-only [application service](docs/javascript-artifact-reconstruction.md) never executes bootstrap code, pairs only unique exact literal IPC channels, and reports dynamic or ambiguous channels as unresolved. +- Reconcile that static graph with existing passive web or Electron Evidence through `reconcile_javascript_runtime` or `rea reconcile-javascript-runtime`. Exact captured bytes outrank caller-declared file/URL mappings; target, frame, script, worker, cache, and asset ambiguity stays explicit, source-map authority stays separate, and a module resident in an observed bundle is never reported as executed. See [JavaScript static/runtime reconciliation](docs/javascript-runtime-reconciliation.md). - Traverse content-addressed artifact graphs without extraction; on macOS, read-only DMG traversal additionally requires `native_mount_approved: true` and `REA_ARTIFACT_NATIVE_MOUNT_ENABLED=true`. Materialize only approved occurrences into absent output roots. - Build bounded function dossiers with pseudocode, assembly, CFG edges, comments, calls, references, strings, and names. - Search and trace features across symbols, strings, metadata, references, and call paths. @@ -388,13 +389,12 @@ REA is growing into a toolkit for understanding software across static artifacts ### Now 1. **Maintain truthful product metadata** — extend the shipped canonical catalog and drift checks whenever versions, tools, providers, schemas, setup clients, or CLI capabilities change. -2. **Static/runtime Electron reconciliation** — correlate passive renderer scripts, frames, and targets with the shipped static application graph while preserving separate authority and unmatched facts. -3. **Cross-provider conformance growth** — add source-owned architectures and difficult indirect/thunk cases while preserving semantic comparison and provider-specific text boundaries. +2. **Cross-provider conformance growth** — add source-owned architectures and difficult indirect/thunk cases while preserving semantic comparison and provider-specific text boundaries. ### Next 1. **Cross-layer tracing and version comparison** — trace renderer behavior through preload, IPC, main-process, storage, network, and native boundaries, then compare those paths across application versions. -2. **Deeper JavaScript and source recovery** — add historical-source matching, rechunked/minified cross-version matching, and stronger static/runtime reconciliation on top of the shipped AST-only Webpack/Rspack reconstruction. +2. **Deeper JavaScript and source recovery** — add historical-source matching and rechunked/minified cross-version matching on top of the shipped AST-only reconstruction and exact static/runtime reconciliation. 3. **Deterministic behavior harnesses** — extend process ownership, protocol fixtures, filesystem observation, reconnects, and cross-version behavioral comparison. ### Later diff --git a/README_ar.md b/README_ar.md index 2a2c5efe20..5310031163 100644 --- a/README_ar.md +++ b/README_ar.md @@ -10,11 +10,11 @@ [![npm version](https://img.shields.io/npm/v/rea-agents?style=flat-square&color=cb3837)](https://www.npmjs.com/package/rea-agents) [![CI](https://img.shields.io/github/actions/workflow/status/morluto/rea/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/morluto/rea/actions/workflows/ci.yml) -[![79 MCP tools](https://img.shields.io/badge/MCP_tools-79-5c4ee5?style=flat-square)](#منصة-من-79-أداة) +[![80 MCP tools](https://img.shields.io/badge/MCP_tools-80-5c4ee5?style=flat-square)](#منصة-من-80-أداة) [![Node.js 22+](https://img.shields.io/badge/Node.js-22.19%2B-339933?style=flat-square&logo=nodedotjs&logoColor=white)](https://nodejs.org/) [![MIT license](https://img.shields.io/badge/license-MIT-f4c430?style=flat-square)](LICENSE) -[البدء السريع](#البدء-السريع) · [من الملف التنفيذي إلى السلوك](#من-الملف-التنفيذي-إلى-السلوك) · [79 أداة](#منصة-من-79-أداة) · [كيف يعمل](#كيف-يعمل) · [الأسئلة الشائعة](#الأسئلة-الشائعة) +[البدء السريع](#البدء-السريع) · [من الملف التنفيذي إلى السلوك](#من-الملف-التنفيذي-إلى-السلوك) · [80 أداة](#منصة-من-80-أداة) · [كيف يعمل](#كيف-يعمل) · [الأسئلة الشائعة](#الأسئلة-الشائعة)
@@ -157,17 +157,17 @@ rea uninstall --purge-data افحص التحقق من الإدخال، والتشفير، والصلاحيات، والتخزين، ومسارات الأخطاء من دون رفع الملف التنفيذي إلى خدمة بعيدة. -## منصة من 79 أداة +## منصة من 80 أداة -| عائلة الأدوات | العدد | أمثلة | -| --------------------- | ----: | ----------------------------------------------------------------------------------------------------------------------- | -| فحص الملفات التنفيذية | 33 | الدوال، والشيفرة شبه المصدرية، والتعليمات، والسلاسل، والأسماء، والمراجع، والتعليقات | -| التحليل المركب | 10 | النظرة العامة، وفك الترجمة الدفعي، ومخططات الاستدعاء، والمراجع، واكتشاف الأنواع | -| أدوات macOS الأصلية | 5 | بيانات Mach-O والتوقيعات وملفات plist والمعماريات وفك رموز Swift دون تشغيل Hopper | -| رسم القطع الأثرية | 2 | جرد حتمي للدلائل وZIP/APK/IPA وASAR واستخراج معاملاتي محدد صراحة | -| مراقبة المتصفح | 8 | التقاط CDP محدود الأصل وتحليل الحزم وخرائط المصدر واكتشاف WebMCP والفروق والأدلة المرئية | -| تحليل Electron | 3 | مراقبة الصفحات ضمن جذور canonical ورسم ثابت ومحدود لـ BrowserWindow وpreload وcontextBridge وIPC وutility وnative addon | -| جلسة الملف التنفيذي | 18 | فتح الأهداف وحزم الأدلة ومقارنة العمليات والقطع والدوال وسجل المجهولات المتبقية | +| عائلة الأدوات | العدد | أمثلة | +| --------------------- | ----: | ----------------------------------------------------------------------------------------------------- | +| فحص الملفات التنفيذية | 33 | الدوال، والشيفرة شبه المصدرية، والتعليمات، والسلاسل، والأسماء، والمراجع، والتعليقات | +| التحليل المركب | 10 | النظرة العامة، وفك الترجمة الدفعي، ومخططات الاستدعاء، والمراجع، واكتشاف الأنواع | +| أدوات macOS الأصلية | 5 | بيانات Mach-O والتوقيعات وملفات plist والمعماريات وفك رموز Swift دون تشغيل Hopper | +| رسم القطع الأثرية | 2 | جرد حتمي للدلائل وZIP/APK/IPA وASAR واستخراج معاملاتي محدد صراحة | +| مراقبة المتصفح | 8 | التقاط CDP محدود الأصل وتحليل الحزم وخرائط المصدر واكتشاف WebMCP والفروق والأدلة المرئية | +| تحليل Electron | 4 | مراقبة سلبية ضمن جذور canonical، ورسم ثابت ومحدود للتطبيق، ومطابقة ثابتة/وقت تشغيل قائمة على Evidence | +| جلسة الملف التنفيذي | 18 | فتح الأهداف وحزم الأدلة ومقارنة العمليات والقطع والدوال وسجل المجهولات المتبقية | ## استخدام REA مع وكلاء برمجة آخرين diff --git a/README_ja.md b/README_ja.md index ed52140d84..f57e6df7a5 100644 --- a/README_ja.md +++ b/README_ja.md @@ -10,11 +10,11 @@ [![npm version](https://img.shields.io/npm/v/rea-agents?style=flat-square&color=cb3837)](https://www.npmjs.com/package/rea-agents) [![CI](https://img.shields.io/github/actions/workflow/status/morluto/rea/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/morluto/rea/actions/workflows/ci.yml) -[![79 MCP tools](https://img.shields.io/badge/MCP_tools-79-5c4ee5?style=flat-square)](#79-ツールのワークベンチ) +[![80 MCP tools](https://img.shields.io/badge/MCP_tools-80-5c4ee5?style=flat-square)](#80-ツールのワークベンチ) [![Node.js 22+](https://img.shields.io/badge/Node.js-22.19%2B-339933?style=flat-square&logo=nodedotjs&logoColor=white)](https://nodejs.org/) [![MIT license](https://img.shields.io/badge/license-MIT-f4c430?style=flat-square)](LICENSE) -[クイックスタート](#クイックスタート) · [バイナリから動作へ](#バイナリから動作へ) · [79 ツール](#79-ツールのワークベンチ) · [仕組み](#仕組み) · [FAQ](#faq) +[クイックスタート](#クイックスタート) · [バイナリから動作へ](#バイナリから動作へ) · [80 ツール](#80-ツールのワークベンチ) · [仕組み](#仕組み) · [FAQ](#faq)
@@ -147,17 +147,17 @@ REA は手順 1〜5 のバイナリ解析を処理し、手順 6 はエージェ - Swift / Objective-C のメタデータを解析する。 - Hopper に名前、コメント、ブックマークを残し、人間とエージェントの調査を共有する。 -## 79 ツールのワークベンチ +## 80 ツールのワークベンチ -| ツール群 | 数 | 例 | -| ---------------------- | --: | -------------------------------------------------------------------------------------------------------------------------------- | -| バイナリ調査 | 33 | プロシージャ、疑似コード、アセンブリ、文字列、名前、セグメント、callers、callees、xrefs、注釈 | -| 合成解析 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`, Swift / ObjC 検出 | -| macOS ネイティブ | 5 | Mach-O メタデータ、署名、plist、アーキテクチャ、Swift デマングル。Hopper 起動不要 | -| アーティファクトグラフ | 2 | ディレクトリ、ZIP/APK/IPA、ASAR の決定的一覧と明示選択されたトランザクション抽出 | -| ブラウザ観察 | 8 | origin 限定 CDP 取得、bundle/source map 解析、WebMCP 検出、セッション、capture diff、視覚証拠 | -| Electron 解析 | 3 | canonical ファイルルート内の受動ページ観察と、BrowserWindow、preload、contextBridge、IPC、utility、native addon の静的マッピング | -| バイナリセッション | 18 | `open_binary`、`binary_session`、証拠バンドル、プロセス/成果物/関数比較、残余未知レジストリ | +| ツール群 | 数 | 例 | +| ---------------------- | --: | ------------------------------------------------------------------------------------------------------------------- | +| バイナリ調査 | 33 | プロシージャ、疑似コード、アセンブリ、文字列、名前、セグメント、callers、callees、xrefs、注釈 | +| 合成解析 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`, Swift / ObjC 検出 | +| macOS ネイティブ | 5 | Mach-O メタデータ、署名、plist、アーキテクチャ、Swift デマングル。Hopper 起動不要 | +| アーティファクトグラフ | 2 | ディレクトリ、ZIP/APK/IPA、ASAR の決定的一覧と明示選択されたトランザクション抽出 | +| ブラウザ観察 | 8 | origin 限定 CDP 取得、bundle/source map 解析、WebMCP 検出、セッション、capture diff、視覚証拠 | +| Electron 解析 | 4 | canonical ファイルルート内の受動観察、有界な静的アプリマッピング、Evidence に基づく静的/実行時の照合 | +| バイナリセッション | 18 | `open_binary`、`binary_session`、証拠バンドル、プロセス/成果物/関数比較、残余未知レジストリ | ## 他のコーディングエージェントで使う diff --git a/README_ko.md b/README_ko.md index a2468d9f21..224c8df47b 100644 --- a/README_ko.md +++ b/README_ko.md @@ -10,11 +10,11 @@ [![npm version](https://img.shields.io/npm/v/rea-agents?style=flat-square&color=cb3837)](https://www.npmjs.com/package/rea-agents) [![CI](https://img.shields.io/github/actions/workflow/status/morluto/rea/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/morluto/rea/actions/workflows/ci.yml) -[![79 MCP tools](https://img.shields.io/badge/MCP_tools-79-5c4ee5?style=flat-square)](#79개-도구로-구성된-워크벤치) +[![80 MCP tools](https://img.shields.io/badge/MCP_tools-80-5c4ee5?style=flat-square)](#80개-도구로-구성된-워크벤치) [![Node.js 22+](https://img.shields.io/badge/Node.js-22.19%2B-339933?style=flat-square&logo=nodedotjs&logoColor=white)](https://nodejs.org/) [![MIT license](https://img.shields.io/badge/license-MIT-f4c430?style=flat-square)](LICENSE) -[빠른 시작](#빠른-시작) · [바이너리에서 동작까지](#바이너리에서-동작까지) · [79개 도구](#79개-도구로-구성된-워크벤치) · [작동 방식](#작동-방식) · [FAQ](#faq) +[빠른 시작](#빠른-시작) · [바이너리에서 동작까지](#바이너리에서-동작까지) · [80개 도구](#80개-도구로-구성된-워크벤치) · [작동 방식](#작동-방식) · [FAQ](#faq)
@@ -147,17 +147,17 @@ REA는 1–5단계의 바이너리 분석을 처리합니다. 6단계는 에이 - Swift 및 Objective-C 메타데이터를 분석합니다. - Hopper에 이름, 주석, 북마크를 남겨 사람과 에이전트의 분석을 연결합니다. -## 79개 도구로 구성된 워크벤치 +## 80개 도구로 구성된 워크벤치 -| 도구 그룹 | 수 | 예시 | -| ------------------- | --: | --------------------------------------------------------------------------------------------------------------------- | -| 바이너리 검사 | 33 | 프로시저, 의사 코드, 어셈블리, 문자열, 이름, 세그먼트, callers, callees, xrefs, 주석 | -| 합성 분석 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`, Swift 및 ObjC 탐색 | -| macOS 네이티브 도구 | 5 | Mach-O 메타데이터, 코드 서명, plist, 아키텍처, Swift 디맹글링. Hopper 실행 불필요 | -| 아티팩트 그래프 | 2 | 디렉터리, ZIP/APK/IPA, ASAR 결정적 인벤토리와 명시적으로 선택한 트랜잭션 추출 | -| 브라우저 관찰 | 8 | origin 제한 CDP 캡처, bundle/source map 분석, WebMCP 검색, 세션 타임라인, capture diff 및 시각 증거 | -| Electron 분석 | 3 | canonical 파일 루트 내 수동 페이지 관찰과 BrowserWindow, preload, contextBridge, IPC, utility, native addon 정적 매핑 | -| 바이너리 세션 | 18 | `open_binary`, `binary_session`, 증거 번들, 프로세스·아티팩트·함수 비교, 잔여 미지수 레지스트리 | +| 도구 그룹 | 수 | 예시 | +| ------------------- | --: | -------------------------------------------------------------------------------------------------------------------- | +| 바이너리 검사 | 33 | 프로시저, 의사 코드, 어셈블리, 문자열, 이름, 세그먼트, callers, callees, xrefs, 주석 | +| 합성 분석 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`, Swift 및 ObjC 탐색 | +| macOS 네이티브 도구 | 5 | Mach-O 메타데이터, 코드 서명, plist, 아키텍처, Swift 디맹글링. Hopper 실행 불필요 | +| 아티팩트 그래프 | 2 | 디렉터리, ZIP/APK/IPA, ASAR 결정적 인벤토리와 명시적으로 선택한 트랜잭션 추출 | +| 브라우저 관찰 | 8 | origin 제한 CDP 캡처, bundle/source map 분석, WebMCP 검색, 세션 타임라인, capture diff 및 시각 증거 | +| Electron 분석 | 4 | canonical 파일 루트 내 수동 관찰, 제한된 정적 앱 매핑, Evidence 기반 정적/런타임 조정 | +| 바이너리 세션 | 18 | `open_binary`, `binary_session`, 증거 번들, 프로세스·아티팩트·함수 비교, 잔여 미지수 레지스트리 | ## 다른 코딩 에이전트에서 사용하기 diff --git a/README_zh.md b/README_zh.md index d9d0451d3f..49ab3316ae 100644 --- a/README_zh.md +++ b/README_zh.md @@ -10,11 +10,11 @@ [![npm version](https://img.shields.io/npm/v/rea-agents?style=flat-square&color=cb3837)](https://www.npmjs.com/package/rea-agents) [![CI](https://img.shields.io/github/actions/workflow/status/morluto/rea/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/morluto/rea/actions/workflows/ci.yml) -[![79 MCP tools](https://img.shields.io/badge/MCP_tools-79-5c4ee5?style=flat-square)](#79-个工具组成的工作台) +[![80 MCP tools](https://img.shields.io/badge/MCP_tools-80-5c4ee5?style=flat-square)](#80-个工具组成的工作台) [![Node.js 22+](https://img.shields.io/badge/Node.js-22.19%2B-339933?style=flat-square&logo=nodedotjs&logoColor=white)](https://nodejs.org/) [![MIT license](https://img.shields.io/badge/license-MIT-f4c430?style=flat-square)](LICENSE) -[快速开始](#快速开始) · [从二进制到行为](#从二进制到行为) · [79 个工具](#79-个工具组成的工作台) · [工作原理](#工作原理) · [常见问题](#常见问题) +[快速开始](#快速开始) · [从二进制到行为](#从二进制到行为) · [80 个工具](#80-个工具组成的工作台) · [工作原理](#工作原理) · [常见问题](#常见问题)
@@ -147,17 +147,17 @@ REA 负责第 1–5 步中的二进制分析。第 6 步由智能体使用其常 - 分析 Swift 和 Objective-C 元数据。 - 在 Hopper 中留下名称、注释与书签,使人与智能体的分析互相增强。 -## 79 个工具组成的工作台 +## 80 个工具组成的工作台 -| 工具类别 | 数量 | 示例 | -| -------------- | ---: | ---------------------------------------------------------------------------------------------------------------------------- | -| 二进制检查 | 33 | 过程、伪代码、汇编、字符串、名称、段、调用者、被调用者、交叉引用、注释 | -| 组合分析 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`、Swift 与 ObjC 发现 | -| macOS 原生工具 | 5 | Mach-O 元数据、代码签名、plist、架构与 Swift 符号还原,无需启动 Hopper | -| 制品图谱 | 2 | 确定性目录、ZIP/APK/IPA 与 ASAR 清单,以及显式选择的事务式提取 | -| 浏览器观察 | 8 | 精确来源 CDP 抓取、bundle/source map 分析、WebMCP 发现、会话时间线、capture diff 与视觉证据 | -| Electron 分析 | 3 | 限定 canonical 文件根的被动页面观察,以及有界的 BrowserWindow、preload、contextBridge、IPC、utility 与 native addon 静态映射 | -| 二进制会话 | 18 | `open_binary`、`binary_session`、证据包、进程、制品与函数比较、残余未知项注册表 | +| 工具类别 | 数量 | 示例 | +| -------------- | ---: | -------------------------------------------------------------------------------------------------------------------- | +| 二进制检查 | 33 | 过程、伪代码、汇编、字符串、名称、段、调用者、被调用者、交叉引用、注释 | +| 组合分析 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`、Swift 与 ObjC 发现 | +| macOS 原生工具 | 5 | Mach-O 元数据、代码签名、plist、架构与 Swift 符号还原,无需启动 Hopper | +| 制品图谱 | 2 | 确定性目录、ZIP/APK/IPA 与 ASAR 清单,以及显式选择的事务式提取 | +| 浏览器观察 | 8 | 精确来源 CDP 抓取、bundle/source map 分析、WebMCP 发现、会话时间线、capture diff 与视觉证据 | +| Electron 分析 | 4 | 限定 canonical 文件根的被动观察、有界静态应用映射,以及基于 Evidence 的静态/运行时对账 | +| 二进制会话 | 18 | `open_binary`、`binary_session`、证据包、进程、制品与函数比较、残余未知项注册表 | ## 与其他编程智能体一起使用 diff --git a/docs/api/assets/hierarchy.js b/docs/api/assets/hierarchy.js index eff77b6690..aee4534d38 100644 --- a/docs/api/assets/hierarchy.js +++ b/docs/api/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJy1mVFP5SgUx79Ln5luS6FQ35wbd8bNZDU6k3nYGIMtXom9pUu5zprJfPcJrVepUEtr9uVqSf/n/IDDAU5/RkpK3UVH/yCc5yCDKaEggxASgCHFFECCKQIoSWEGUE7zHECaQgzSLIMQmFcwSGmG8RWIFL+teamFbLro6GdkLJq/Ddvx6Cg6blj92InuRCmpIhDdi6aKjlJIQbRXdXQUlTXrOt79UckdE801N+918UgW3+ldHYHh1ego0l31wdj5MDSAqLwTdaV403eIUIBwkQCUJxCgPDU9gDlAOTJt2PwQBFBuXiEJBoikFCCCIEAEI4BIngNESAEQKSBANKcAUZqYHwpQkWYAY0Tw1S8QGWdWXz/LtuVqYU8t0aJ+0iQDiJreUZgCRDMEEEWGFRcDW5F45uFcSS1LWa+cj5F8htdA5An0QJw27V6vJHjRhrhPM4/7s71e798ShwBA32LYsJbdiFrox28Ne2CiZjc1X8kzbSsED/liZMOaktc1r1Yj2foQDOzD+Cp2XK6eJ1sdgkCQhXCu5IOouLrkT6ltIYRfH4IxWrQHM8cVa/XizOJTByCQBFsIH5X80XF1dtNx9cBWDMWEgRCQ1E6ux0qLW1bqs5arNRx+fQgGslPYiRnSpuSnjeZbJfTjQgy/PgQDIw/GF7ETS1eIqw1xP9rVDyb+FIvzliMNcU4Ky/lp88A7Lbb9LH6X6r5rWbkU4w0jIUCFHRPfmvtG/mgu+FZ0Wi2NCJ86AIEmmXP0WJcxXW2I+9R1v3bf8KlDEGDqIKw83njEIQAZcgAu+E7qpcHoSEOcI/foea5kybulZ21XG+IeF477S83UuuB7UYa4zu2eb2RzK7b7VXuCqw1xT+0t+m/5UTRMPZ61fKl3Rxrk3O77oP/K1JYvHXdHGuC8GK35c652ouuEbC74v3uhFi/7CQPzIP0t1EtyWcqWPxNAnB8IRKO5umXlC0T7LDqXtSgf41dWJjGeTY0vZGmWZYm5IKPkamDMksnR4p1+N+WTnQDOAQf5cT4p1rwfprcSiGLqBhbKd35jNuNGS/V4wTu5V+Z01O4DoX5Y8njS1uLZpFlOrwbaUbq51OZ+9Z3fHMyvoHRshA0cJJiQ0dFcVFv+he2b8m6G4q7Pste2gqvYfgxGoGgCgat3Q/DpxT8xT5Dgop+n/h9nRzpu21qUfXp3ID35yU84aWo+U0FCIPFt0/3FLABlLIhfPc77p2lqn9s/3YlKsaCQ2favXtsKrmL7MTBkTOFwAmE2ZOYhVoQMTVF6NZCh1CH7zFlV864LiZe38F7bCZqsvHB4QoJlxPEcHa8eA/xjij3Vh6eTYVDUtMO716+0sdfWisVOCOhjepg/ktp72qZqn4oNIWN2M7x67apiT9Ps4GVpOsqMm6o9MbUfJZuFNK9lsa9tnsfU9H21z0P541yquR2WvaS8a6sAPBB4DS6d0QymFIGMYIKuBujRID4XFGvBZw8pQbSDpbDM1X8Q8ZfQx/P5Dp7ZCZ0YOJTluP9kQ+AwcJD4Cu0H8xvWVKJieu60soj52eiKDJwXoN8be3hEE+Tcai55f7B8a9HYtCNRPH6aXywmAKcIFi4URxu7LUtXiRmg/puO+SD3ZnF2KazXgKdmuwa7z889tgnW0ZV918pOaB6SGW1cRxi7LQE1djquZT7l1vWjOGEhnmpfOv1mazHj2H+btVd5p0+qbdBlycb9iz2wy1KJVh9q4p8Ua+82stH8Px3bVpei4iyFA6r5Z1SzveXKlH3/B2DXdlh+7z/jjs875myyYa3eq/kSnk3okca+tpng/PXrN/7NzOI=" \ No newline at end of file +window.hierarchyData = "eJy1mVFv3CgQx7+LnznfGmPAeUtXuTan6hIlrfpwiiJikw2qF3yYTS+q+t1PeDcJXnCMHd1LEhP/Z37AMMD4Z6KVMl1y8jcqSAlyTBGxP0sMClJgCnKYQQIQIiUERVbgFcghxhRkGKEVyPMMUgAzROkNSDS/b3hlhJJdcvIzsRbtb8m2PDlJTiVrnjrRnWmtdAKS70LWyYnVJzvdJCdJ1bCu493vtdoyIW+5fa9LB7L0wWybBOxfTU4S09W/WTu/7RtAUj2IptZc9h0qM4DwKgcIZwVAGGKAcF4ChAvbhu0PSgAi9hWSUYBIngFEigIggu0/SAn6jiO6KgCiNAOIljlA5SoDqIQY4BXF5c0vkFhnTl8/qbblemZPHdGsftIMA0Rt72iOALIziCi2rAT2bHiVB+bhUiujKtUsnI+BfIK3h8iKAMS5bHdmIcGrNsY9xAH3Fzuz3L8jjgHIQ4thzVp2Jxphnr5K9shEw+4avpBn3FYMXhGKkTWTFW8aXi9GcvUxGDiE8UVsuVo8T646BoESB+FSq0dRc33ND6ltJkRYH4FBBov22cxpzVozO7OE1DEIGXUQPmj1o+P64q7j+pEtGIoRAzEguZtcT7UR96wyFy3XSzjC+hiMwk1hZ3ZIZcXPpeEbLczTTIywPgYDkwDGZ7EVc1eIr41xP9jVn038IWbnLU8a47yEjvNz+cg7Izb9LH5T+nvXsmouxhtGIoDoyo2Jr/K7VD/kFd+Izui5ERFSxyBk2Dt6LMuYvjbGPfTdL903QuoYhBx5CAuPNwFxDAAiHsAV3yozNxg9aYxz7B89L7WqeDf3rO1rY9wT6Lm/NkwvC75XZYxr6vZ8reS92OwW7Qm+NsZ96W7Rf6kPQjL9dNHyud49aYTzcuX2fa//wvSGzx13TxrjfLDmL7neiq4TSl7xf3ZCz172IwamQfpbaJDkulItfyGABX4mENJwfc+qV4j2RXSpGlE9pUdWRjFeTA0vZBaqvyAX9ObASEdHi3fm3ZQHOxGce5wijPNRM/l+mN5KHEpfN3BQvvE7uxlLo/TTFe/UTtvTUbuLhPrhyNNRW3NnE2bFKrvpaYvBkrs29n71jd89m19A6dmIGzhblFkNjuai3vDPbCerhwmKhz7L3roKrlP3MR6BjCBw/W4IPr74R+Yphxnq56n/w9uRTtu2EVWf3j3IQH4KE46ams5UOYRkFdqm+4tZBMpQkB49RvjHhXtu//ggas2iQmbTv3rrKrhO3cfYkMGYjiBMhsw0xJKQwRTtQwZT5JF94qxueNfFxMtbeMd2YiaLZNDjiQmWAcdLdBw9Tvu3Zd1A9eFwMoyKmnb/7u2RNg3aWrDYYV+JLvrqa57DQflqXbeHYkPMmN3tX731VWmgaXrwClKQIcyZrf1oJWfSHMvSUNs0Dx7eTl7Kl8/lj0ulp3ZY9prybp0C8J4gaHD2jGJqq/IQovxmDx0uSDaCTx5Somj3liIzl/0gEi6hD+fzHTyTEzoycPbyC0GOy8PuZ/94A3XNZC1qZqZOK7OYX4zOX8ckg6DfG3v4EpHcu9Vc8/5g+daicWkHonT4NH2zsQE4RjBzoXja1G+ZO152gPpvOkeVML+2Ohc2aCBQs12EbfPzzaFSAwdX9m2rOmF4TGZ0cT1h6rdMTnb/PdOtZR5y6/JRHLGQjrXPHUe7tdhx7L/Nuqu8M2f1Juqy5OL+yR7ZdaVFa55r4h81ax/WShr+r0ldq3NRC0JztEcdVufO5T3Xtuz7PwD7tuPye/8Zd3jesWeTNWvNTk+X8FzCgDQNtU0E569f/wGGhs0E" \ No newline at end of file diff --git a/docs/api/assets/navigation.js b/docs/api/assets/navigation.js index 95fee0498e..50d656812a 100644 --- a/docs/api/assets/navigation.js +++ b/docs/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "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" \ No newline at end of file +window.navigationData = "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" \ No newline at end of file diff --git a/docs/api/assets/search.js b/docs/api/assets/search.js index 64bc18f447..c96510a0ee 100644 --- a/docs/api/assets/search.js +++ b/docs/api/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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Y/yqd/9pvtbf/td//e28r93/+q//+9PfzttJzR/O3XDzh9LH6cdPdvlJ9fKTyeUnr+un83OULz9d/t35cajrp/rjp3b5v+eHxV1+8stP/cf/HT/+nbYfP/34d/Yjnl/+3Xmj+vVT+euny7vXH+/gvFXr+unHOzhvWLh++vG6592t5k+16vwf//eny3cRv798CXPs/K3c/fL8+n73y9eHP+8e318f3r5/fd9++rMw7MfHPyu/bo768GUbaROm3Bbj/v77t+9f796fX7dxpNW/Io3L51dLfAs3RH1//OPh51++//rrw1XcMnRs/tJm9oF473evvz1cfXDnW+S//uBx+XJtfbdzpW/+NO+Pb3qlL1/uXt8ff727f79/fnq/e3x6e/jy28PVZ9Pb5rNp9ea4bwchZRuy3Rryl+fvT18evvz6+PTl8enqgC79pJsP+uR+a8zde6ubVOh685/78PXh/v31+enu7R1DttPma2v+4ZDzz757fXx4uzqK3DZR9fY/eEV9fPr14fXh6f5h93bLaft2b/52fgR+uefvuJWxDfzhd/x0dz4sstibT0NON84Gf8X+8/Hpy/OfSex62sa++QP5j7s/7t7uXx9f3uEYe3i9ii+2iX9+Ityn4//6+PUBQpdt6PHx0L98f/ry9eH16fkLRt5OmePGiXIb+ff3b19fn/ENj02OnJ87+uGwL3f3/7j77YG84e08Nm6cibeR356/v94/fLt7eX59/O3x6e4rvHPdvvNPfNRv73fvj/drdruOrbZ97zdn4Nfn+7v3bMLchDwvZt0a8/zBXk+YbTth3vzeXh/e3q5PbrI9u52Lyj8Q6cvj2/vd0/3DdcQh24i3n2jOER++zP95/Q7t6h1+MN7L3W8Qr5+u4t2cM5Ep6QwuvW/Przd/kN+f7v64e/x6vnKLV3i5e317eLt/foHw22O03XqMfnt8enx7fz1fe708vH57fHt7fH767fXu6f0qD86PUfnrQ6m3TuW/PTy9//4IsdQ377Scbp2lvn59/vPhy8PTH4+vz09zaPut6fZ0XkVufIMR9O3u6fH98T8fvnx//bqNanWb/OXWvzqC/vnwy9vz/T8e8I/Xqz/+xhlvhvzn+8Pr093Xp4f3P59f/3H9528vD6rIjZczT3df//X2eD2rte2MfPpYoPvz0f7168OXh9fX64v5Uuv2vqD3G//w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"; \ No newline at end of file diff --git a/docs/api/classes/application_JavaScriptArtifactGraphAccumulator.JavaScriptArtifactGraphAccumulator.html b/docs/api/classes/application_JavaScriptArtifactGraphAccumulator.JavaScriptArtifactGraphAccumulator.html index e072fec1a0..4e06f1f106 100644 --- a/docs/api/classes/application_JavaScriptArtifactGraphAccumulator.JavaScriptArtifactGraphAccumulator.html +++ b/docs/api/classes/application_JavaScriptArtifactGraphAccumulator.JavaScriptArtifactGraphAccumulator.html @@ -50,7 +50,7 @@
diff --git a/docs/api/classes/application_PermissionAuthority.PermissionPathError.html b/docs/api/classes/application_PermissionAuthority.PermissionPathError.html index 4e5316c510..0e9d17f918 100644 --- a/docs/api/classes/application_PermissionAuthority.PermissionPathError.html +++ b/docs/api/classes/application_PermissionAuthority.PermissionPathError.html @@ -14,7 +14,7 @@

Failure to establish a filesystem object's canonical authorization identity.

-
+

Hierarchy

  • Error diff --git a/docs/api/classes/application_ProcessCaptureError.ProcessCaptureError.html b/docs/api/classes/application_ProcessCaptureError.ProcessCaptureError.html index fc1a9b73ed..baea2ddd67 100644 --- a/docs/api/classes/application_ProcessCaptureError.ProcessCaptureError.html +++ b/docs/api/classes/application_ProcessCaptureError.ProcessCaptureError.html @@ -14,7 +14,7 @@

    Typed application failure produced by controlled process capture.

    -
    +

    Hierarchy (View Summary)

    • AnalysisError diff --git a/docs/api/classes/application_ProjectPermissionStore.ProjectPermissionStoreError.html b/docs/api/classes/application_ProjectPermissionStore.ProjectPermissionStoreError.html index 419567a4e7..1cd36b65f1 100644 --- a/docs/api/classes/application_ProjectPermissionStore.ProjectPermissionStoreError.html +++ b/docs/api/classes/application_ProjectPermissionStore.ProjectPermissionStoreError.html @@ -14,7 +14,7 @@

      Owner-only project policy persistence failure.

      -
      +

      Hierarchy

      • Error diff --git a/docs/api/classes/browser_CdpBrowserProvider.CdpBrowserProvider.html b/docs/api/classes/browser_CdpBrowserProvider.CdpBrowserProvider.html index 86c24c864c..bf88cb65c4 100644 --- a/docs/api/classes/browser_CdpBrowserProvider.CdpBrowserProvider.html +++ b/docs/api/classes/browser_CdpBrowserProvider.CdpBrowserProvider.html @@ -88,12 +88,12 @@
        • - +

          Parameters

            -
          • input: {
                after: {
                    inspection: {
                        accessibility: {
                            nodes: {
                                description: string | null;
                                ignored: boolean;
                                name: string | null;
                                node_id: string;
                                parent_id: string | null;
                                role: string | null;
                            }[];
                            text_capture: {
                                excluded_fields: number;
                                retained_bytes: number;
                                status: "truncated"
                                | "unavailable"
                                | "not_approved"
                                | "included";
                                truncated_fields: number;
                            };
                            total_nodes: number;
                        };
                        browser: {
                            js_version: string;
                            product: string;
                            protocol_version: string;
                            revision: string;
                            user_agent: string;
                        };
                        capture_window: {
                            ended_at: string;
                            observation_ms: number;
                            started_at: string;
                        };
                        completeness: {
                            attach_limited_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            conditions: (
                                | "truncated"
                                | "complete_within_window"
                                | "policy_filtered"
                                | "attach_limited"
                            )[];
                            dropped_events: {
                                console_events: number;
                                network_requests: number;
                                scripts: number;
                                timeline_events: number;
                                total: number;
                                webmcp_tools: number;
                                websocket_connections: number;
                                websocket_frames: number;
                            };
                            excluded: {
                                count: number
                                | null;
                                reason:
                                    | "provider_unavailable"
                                    | "disallowed_origin"
                                    | "unsupported_url"
                                    | "unattributed_origin"
                                    | "not_approved"
                                    | "out_of_target_scope"
                                    | "invalid_protocol_value";
                                section: | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline";
                            }[];
                            policy_filtered_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            status: | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited";
                            truncated_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            unavailable_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                        };
                        console: {
                            coverage_started_at: string;
                            events: {
                                argument_types: string[];
                                column: number
                                | null;
                                line: number | null;
                                text_capture: {
                                    retained_bytes: number;
                                    status: "truncated" | "not_approved" | "included";
                                    truncated_values: number;
                                    values: { argument_index: number; text: string; type: string }[];
                                };
                                timestamp: number;
                                type: string;
                                url: string
                                | null;
                            }[];
                            prior_activity_available: false;
                        };
                        dom: {
                            nodes: {
                                attribute_names: string[];
                                index: number;
                                node_name: string;
                                node_type: number;
                                node_value_length: number;
                                parent_index: number;
                            }[];
                            total_nodes: number;
                        };
                        frames: {
                            frame_id: string;
                            origin: string
                            | null;
                            parent_frame_id: string | null;
                            url: string;
                        }[];
                        limitations: string[];
                        metadata: {
                            agent_hints: {
                                declaration: string;
                                mechanism: | "link_rel"
                                | "dom_link_rel"
                                | "well_known_resource"
                                | "response_header";
                                trust: "page-declared-untrusted";
                                url: string
                                | null;
                            }[];
                            dom_urls: {
                                attribute: "action"
                                | "href"
                                | "src"
                                | "formaction"
                                | "poster";
                                destination_scope: "approved" | "unsupported" | "outside_policy";
                                node_index: number;
                                url: string | null;
                            }[];
                            excluded_dom_urls: number;
                            headers_allowlisted: true;
                            responses: {
                                content_encoding: string
                                | null;
                                content_length: number | null;
                                csp: {
                                    directives: { name: string; sources: { kind: ...; value: ... }[] }[];
                                    hash_count: number;
                                    nonce_count: number;
                                };
                                links: {
                                    as: string
                                    | null;
                                    crossorigin: string | null;
                                    destination_scope: "approved" | "unsupported" | "outside_policy";
                                    href: string | null;
                                    rel: string[];
                                    type: string | null;
                                }[];
                                mime_type: string
                                | null;
                                policies: {
                                    coep: string | null;
                                    coop: string | null;
                                    corp: string | null;
                                    permissions_policy_features: string[];
                                    referrer_policy: string | null;
                                    x_content_type_options: string | null;
                                };
                                request_id: string;
                                url: string;
                            }[];
                        };
                        network: {
                            coverage_started_at: string;
                            prior_activity_available: false;
                            requests: {
                                body_shapes: {
                                    request: | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                    response: | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                    status: | "truncated"
                                    | "unavailable"
                                    | "not_approved"
                                    | "included"
                                    | "partial";
                                };
                                encoded_data_length: number
                                | null;
                                initiator: {
                                    column: number | null;
                                    line: number | null;
                                    type: string;
                                    url: string | null;
                                };
                                method: string;
                                mime_type: string
                                | null;
                                origin: string | null;
                                request_id: string;
                                resource_type: string | null;
                                status: number | null;
                                url: string;
                            }[];
                            websocket_events: {
                                direction: "received"
                                | "sent";
                                opcode: number;
                                payload_bytes: number;
                                payload_shape:
                                    | {
                                        format: "binary"
                                        | "text"
                                        | "json";
                                        json_shape:
                                            | {
                                                max_depth_observed: number;
                                                node_count: number;
                                                properties: (...)[];
                                                root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                                truncated: boolean;
                                            }
                                            | null;
                                        truncated: boolean;
                                    }
                                    | null;
                                request_id: string;
                            }[];
                        };
                        resources: {
                            content_size: number
                            | null;
                            mime_type: string;
                            origin: string | null;
                            resource_key: string;
                            type: string;
                            url: string;
                        }[];
                        schema_version: 2;
                        scripts: {
                            items: {
                                cdp_hash: string;
                                is_module: boolean;
                                language: string
                                | null;
                                length: number;
                                origin: string | null;
                                resource_reconciliation:
                                    | { resource_key: string; status: "exact" }
                                    | { candidate_resource_keys: string[]; status: "ambiguous" }
                                    | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                                script_key: string;
                                source:
                                    | { included: false; reason: string }
                                    | {
                                        artifact: {
                                            bytes: number;
                                            charset: "utf-8";
                                            media_type: string;
                                            sha256: string;
                                            text: string;
                                            uri: string;
                                        };
                                        included: true;
                                    };
                                source_map_url: string
                                | null;
                                url: string;
                            }[];
                            total: number;
                        };
                        storage: {
                            cache_names: string[];
                            indexed_db_names: string[];
                            local_storage_keys: string[];
                            origin: string;
                            quota_bytes: number
                            | null;
                            session_storage_keys: string[];
                            usage_bytes: number | null;
                            values_redacted: true;
                        };
                        target: {
                            attached: boolean;
                            origin: string;
                            target_id: string;
                            title: string;
                            type: string;
                            url: string;
                        };
                        workers: {
                            attached: boolean;
                            origin: string
                            | null;
                            target_id: string;
                            type: string;
                            url: string;
                        }[];
                    };
                    webmcp: | {
                        browser: {
                            js_version: string;
                            product: string;
                            protocol_version: string;
                            revision: string;
                            user_agent: string;
                        };
                        completeness: {
                            attach_limited_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            conditions: (
                                | "truncated"
                                | "complete_within_window"
                                | "policy_filtered"
                                | "attach_limited"
                            )[];
                            dropped_events: {
                                console_events: number;
                                network_requests: number;
                                scripts: number;
                                timeline_events: number;
                                total: number;
                                webmcp_tools: number;
                                websocket_connections: number;
                                websocket_frames: number;
                            };
                            excluded: {
                                count: number
                                | null;
                                reason:
                                    | "provider_unavailable"
                                    | "disallowed_origin"
                                    | "unsupported_url"
                                    | "unattributed_origin"
                                    | "not_approved"
                                    | "out_of_target_scope"
                                    | "invalid_protocol_value";
                                section: | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline";
                            }[];
                            policy_filtered_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            status: | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited";
                            truncated_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            unavailable_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                        };
                        limitations: string[];
                        schema_version: 1;
                        status: "unavailable"
                        | "available";
                        target: { origin: string; target_id: string; url: string };
                        tools: {
                            items: {
                                annotations: {
                                    autosubmit: boolean | null;
                                    read_only: boolean | null;
                                    untrusted_content: boolean | null;
                                };
                                declaration_kind: "declarative"
                                | "imperative";
                                description: string;
                                frame_id: string;
                                frame_url: string;
                                input_schema_shape:
                                    | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                name: string;
                                owner_origin: string;
                                registration_source: | {
                                    column: number
                                    | null;
                                    line: number | null;
                                    url: string;
                                }
                                | null;
                                tool_key: string;
                                trust: "page-declared-untrusted";
                            }[];
                            total: number;
                        };
                    }
                    | null;
                };
                before: {
                    inspection: {
                        accessibility: {
                            nodes: {
                                description: string
                                | null;
                                ignored: boolean;
                                name: string | null;
                                node_id: string;
                                parent_id: string | null;
                                role: string | null;
                            }[];
                            text_capture: {
                                excluded_fields: number;
                                retained_bytes: number;
                                status: "truncated"
                                | "unavailable"
                                | "not_approved"
                                | "included";
                                truncated_fields: number;
                            };
                            total_nodes: number;
                        };
                        browser: {
                            js_version: string;
                            product: string;
                            protocol_version: string;
                            revision: string;
                            user_agent: string;
                        };
                        capture_window: {
                            ended_at: string;
                            observation_ms: number;
                            started_at: string;
                        };
                        completeness: {
                            attach_limited_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            conditions: (
                                | "truncated"
                                | "complete_within_window"
                                | "policy_filtered"
                                | "attach_limited"
                            )[];
                            dropped_events: {
                                console_events: number;
                                network_requests: number;
                                scripts: number;
                                timeline_events: number;
                                total: number;
                                webmcp_tools: number;
                                websocket_connections: number;
                                websocket_frames: number;
                            };
                            excluded: {
                                count: number
                                | null;
                                reason:
                                    | "provider_unavailable"
                                    | "disallowed_origin"
                                    | "unsupported_url"
                                    | "unattributed_origin"
                                    | "not_approved"
                                    | "out_of_target_scope"
                                    | "invalid_protocol_value";
                                section: | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline";
                            }[];
                            policy_filtered_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            status: | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited";
                            truncated_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            unavailable_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                        };
                        console: {
                            coverage_started_at: string;
                            events: {
                                argument_types: string[];
                                column: number
                                | null;
                                line: number | null;
                                text_capture: {
                                    retained_bytes: number;
                                    status: "truncated" | "not_approved" | "included";
                                    truncated_values: number;
                                    values: { argument_index: number; text: string; type: string }[];
                                };
                                timestamp: number;
                                type: string;
                                url: string
                                | null;
                            }[];
                            prior_activity_available: false;
                        };
                        dom: {
                            nodes: {
                                attribute_names: string[];
                                index: number;
                                node_name: string;
                                node_type: number;
                                node_value_length: number;
                                parent_index: number;
                            }[];
                            total_nodes: number;
                        };
                        frames: {
                            frame_id: string;
                            origin: string
                            | null;
                            parent_frame_id: string | null;
                            url: string;
                        }[];
                        limitations: string[];
                        metadata: {
                            agent_hints: {
                                declaration: string;
                                mechanism: | "link_rel"
                                | "dom_link_rel"
                                | "well_known_resource"
                                | "response_header";
                                trust: "page-declared-untrusted";
                                url: string
                                | null;
                            }[];
                            dom_urls: {
                                attribute: "action"
                                | "href"
                                | "src"
                                | "formaction"
                                | "poster";
                                destination_scope: "approved" | "unsupported" | "outside_policy";
                                node_index: number;
                                url: string | null;
                            }[];
                            excluded_dom_urls: number;
                            headers_allowlisted: true;
                            responses: {
                                content_encoding: string
                                | null;
                                content_length: number | null;
                                csp: {
                                    directives: { name: string; sources: { kind: ...; value: ... }[] }[];
                                    hash_count: number;
                                    nonce_count: number;
                                };
                                links: {
                                    as: string
                                    | null;
                                    crossorigin: string | null;
                                    destination_scope: "approved" | "unsupported" | "outside_policy";
                                    href: string | null;
                                    rel: string[];
                                    type: string | null;
                                }[];
                                mime_type: string
                                | null;
                                policies: {
                                    coep: string | null;
                                    coop: string | null;
                                    corp: string | null;
                                    permissions_policy_features: string[];
                                    referrer_policy: string | null;
                                    x_content_type_options: string | null;
                                };
                                request_id: string;
                                url: string;
                            }[];
                        };
                        network: {
                            coverage_started_at: string;
                            prior_activity_available: false;
                            requests: {
                                body_shapes: {
                                    request: | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                    response: | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                    status: | "truncated"
                                    | "unavailable"
                                    | "not_approved"
                                    | "included"
                                    | "partial";
                                };
                                encoded_data_length: number
                                | null;
                                initiator: {
                                    column: number | null;
                                    line: number | null;
                                    type: string;
                                    url: string | null;
                                };
                                method: string;
                                mime_type: string
                                | null;
                                origin: string | null;
                                request_id: string;
                                resource_type: string | null;
                                status: number | null;
                                url: string;
                            }[];
                            websocket_events: {
                                direction: "received"
                                | "sent";
                                opcode: number;
                                payload_bytes: number;
                                payload_shape:
                                    | {
                                        format: "binary"
                                        | "text"
                                        | "json";
                                        json_shape:
                                            | {
                                                max_depth_observed: number;
                                                node_count: number;
                                                properties: (...)[];
                                                root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                                truncated: boolean;
                                            }
                                            | null;
                                        truncated: boolean;
                                    }
                                    | null;
                                request_id: string;
                            }[];
                        };
                        resources: {
                            content_size: number
                            | null;
                            mime_type: string;
                            origin: string | null;
                            resource_key: string;
                            type: string;
                            url: string;
                        }[];
                        schema_version: 2;
                        scripts: {
                            items: {
                                cdp_hash: string;
                                is_module: boolean;
                                language: string
                                | null;
                                length: number;
                                origin: string | null;
                                resource_reconciliation:
                                    | { resource_key: string; status: "exact" }
                                    | { candidate_resource_keys: string[]; status: "ambiguous" }
                                    | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                                script_key: string;
                                source:
                                    | { included: false; reason: string }
                                    | {
                                        artifact: {
                                            bytes: number;
                                            charset: "utf-8";
                                            media_type: string;
                                            sha256: string;
                                            text: string;
                                            uri: string;
                                        };
                                        included: true;
                                    };
                                source_map_url: string
                                | null;
                                url: string;
                            }[];
                            total: number;
                        };
                        storage: {
                            cache_names: string[];
                            indexed_db_names: string[];
                            local_storage_keys: string[];
                            origin: string;
                            quota_bytes: number
                            | null;
                            session_storage_keys: string[];
                            usage_bytes: number | null;
                            values_redacted: true;
                        };
                        target: {
                            attached: boolean;
                            origin: string;
                            target_id: string;
                            title: string;
                            type: string;
                            url: string;
                        };
                        workers: {
                            attached: boolean;
                            origin: string
                            | null;
                            target_id: string;
                            type: string;
                            url: string;
                        }[];
                    };
                    webmcp: | {
                        browser: {
                            js_version: string;
                            product: string;
                            protocol_version: string;
                            revision: string;
                            user_agent: string;
                        };
                        completeness: {
                            attach_limited_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            conditions: (
                                | "truncated"
                                | "complete_within_window"
                                | "policy_filtered"
                                | "attach_limited"
                            )[];
                            dropped_events: {
                                console_events: number;
                                network_requests: number;
                                scripts: number;
                                timeline_events: number;
                                total: number;
                                webmcp_tools: number;
                                websocket_connections: number;
                                websocket_frames: number;
                            };
                            excluded: {
                                count: number
                                | null;
                                reason:
                                    | "provider_unavailable"
                                    | "disallowed_origin"
                                    | "unsupported_url"
                                    | "unattributed_origin"
                                    | "not_approved"
                                    | "out_of_target_scope"
                                    | "invalid_protocol_value";
                                section: | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline";
                            }[];
                            policy_filtered_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            status: | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited";
                            truncated_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                            unavailable_sections: (
                                | "frames"
                                | "websocket_connections"
                                | "metadata"
                                | "resources"
                                | "dom"
                                | "accessibility"
                                | "scripts"
                                | "script_sources"
                                | "network_requests"
                                | "network_initiators"
                                | "console_events"
                                | "console_text"
                                | "websocket_frames"
                                | "websocket_shapes"
                                | "json_body_shapes"
                                | "workers"
                                | "storage"
                                | "storage_keys"
                                | "webmcp_tools"
                                | "screenshot"
                                | "source_maps"
                                | "timeline"
                            )[];
                        };
                        limitations: string[];
                        schema_version: 1;
                        status: "unavailable"
                        | "available";
                        target: { origin: string; target_id: string; url: string };
                        tools: {
                            items: {
                                annotations: {
                                    autosubmit: boolean | null;
                                    read_only: boolean | null;
                                    untrusted_content: boolean | null;
                                };
                                declaration_kind: "declarative"
                                | "imperative";
                                description: string;
                                frame_id: string;
                                frame_url: string;
                                input_schema_shape:
                                    | {
                                        max_depth_observed: number;
                                        node_count: number;
                                        properties: { observations: ...; path: ...; types: ... }[];
                                        root_type:
                                            | "string"
                                            | "number"
                                            | "boolean"
                                            | "object"
                                            | "null"
                                            | "array";
                                        truncated: boolean;
                                    }
                                    | null;
                                name: string;
                                owner_origin: string;
                                registration_source: | {
                                    column: number
                                    | null;
                                    line: number | null;
                                    url: string;
                                }
                                | null;
                                tool_key: string;
                                trust: "page-declared-untrusted";
                            }[];
                            total: number;
                        };
                    }
                    | null;
                };
                max_changes: number;
            }
          +
        • input: {
              after: {
                  inspection: {
                      accessibility: {
                          nodes: {
                              description: string | null;
                              ignored: boolean;
                              name: string | null;
                              node_id: string;
                              parent_id: string | null;
                              role: string | null;
                          }[];
                          text_capture: {
                              excluded_fields: number;
                              retained_bytes: number;
                              status: "truncated"
                              | "unavailable"
                              | "not_approved"
                              | "included";
                              truncated_fields: number;
                          };
                          total_nodes: number;
                      };
                      browser: {
                          js_version: string;
                          product: string;
                          protocol_version: string;
                          revision: string;
                          user_agent: string;
                      };
                      capture_window: {
                          ended_at: string;
                          observation_ms: number;
                          started_at: string;
                      };
                      completeness: {
                          attach_limited_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          conditions: (
                              | "truncated"
                              | "complete_within_window"
                              | "policy_filtered"
                              | "attach_limited"
                          )[];
                          dropped_events: {
                              console_events: number;
                              network_requests: number;
                              scripts: number;
                              timeline_events: number;
                              total: number;
                              webmcp_tools: number;
                              websocket_connections: number;
                              websocket_frames: number;
                          };
                          excluded: {
                              count: number
                              | null;
                              reason:
                                  | "provider_unavailable"
                                  | "disallowed_origin"
                                  | "unsupported_url"
                                  | "unattributed_origin"
                                  | "not_approved"
                                  | "out_of_target_scope"
                                  | "invalid_protocol_value";
                              section: | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline";
                          }[];
                          policy_filtered_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          status: | "truncated"
                          | "complete_within_window"
                          | "policy_filtered"
                          | "attach_limited";
                          truncated_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          unavailable_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                      };
                      console: {
                          coverage_started_at: string;
                          events: {
                              argument_types: string[];
                              column: number
                              | null;
                              line: number | null;
                              text_capture: {
                                  retained_bytes: number;
                                  status: "truncated" | "not_approved" | "included";
                                  truncated_values: number;
                                  values: { argument_index: number; text: string; type: string }[];
                              };
                              timestamp: number;
                              type: string;
                              url: string
                              | null;
                          }[];
                          prior_activity_available: false;
                      };
                      dom: {
                          nodes: {
                              attribute_names: string[];
                              index: number;
                              node_name: string;
                              node_type: number;
                              node_value_length: number;
                              parent_index: number;
                          }[];
                          total_nodes: number;
                      };
                      frames: {
                          frame_id: string;
                          origin: string
                          | null;
                          parent_frame_id: string | null;
                          url: string;
                      }[];
                      limitations: string[];
                      metadata: {
                          agent_hints: {
                              declaration: string;
                              mechanism: | "link_rel"
                              | "dom_link_rel"
                              | "well_known_resource"
                              | "response_header";
                              trust: "page-declared-untrusted";
                              url: string
                              | null;
                          }[];
                          dom_urls: {
                              attribute: "action"
                              | "href"
                              | "src"
                              | "formaction"
                              | "poster";
                              destination_scope: "approved" | "unsupported" | "outside_policy";
                              node_index: number;
                              url: string | null;
                          }[];
                          excluded_dom_urls: number;
                          headers_allowlisted: true;
                          responses: {
                              content_encoding: string
                              | null;
                              content_length: number | null;
                              csp: {
                                  directives: { name: string; sources: { kind: ...; value: ... }[] }[];
                                  hash_count: number;
                                  nonce_count: number;
                              };
                              links: {
                                  as: string
                                  | null;
                                  crossorigin: string | null;
                                  destination_scope: "approved" | "unsupported" | "outside_policy";
                                  href: string | null;
                                  rel: string[];
                                  type: string | null;
                              }[];
                              mime_type: string
                              | null;
                              policies: {
                                  coep: string | null;
                                  coop: string | null;
                                  corp: string | null;
                                  permissions_policy_features: string[];
                                  referrer_policy: string | null;
                                  x_content_type_options: string | null;
                              };
                              request_id: string;
                              url: string;
                          }[];
                      };
                      network: {
                          coverage_started_at: string;
                          prior_activity_available: false;
                          requests: {
                              body_shapes: {
                                  request: | {
                                      max_depth_observed: number;
                                      node_count: number;
                                      properties: { observations: ...; path: ...; types: ... }[];
                                      root_type:
                                          | "string"
                                          | "number"
                                          | "boolean"
                                          | "object"
                                          | "null"
                                          | "array";
                                      truncated: boolean;
                                  }
                                  | null;
                                  response: | {
                                      max_depth_observed: number;
                                      node_count: number;
                                      properties: { observations: ...; path: ...; types: ... }[];
                                      root_type:
                                          | "string"
                                          | "number"
                                          | "boolean"
                                          | "object"
                                          | "null"
                                          | "array";
                                      truncated: boolean;
                                  }
                                  | null;
                                  status: | "truncated"
                                  | "unavailable"
                                  | "not_approved"
                                  | "included"
                                  | "partial";
                              };
                              encoded_data_length: number
                              | null;
                              initiator: {
                                  column: number | null;
                                  line: number | null;
                                  type: string;
                                  url: string | null;
                              };
                              method: string;
                              mime_type: string
                              | null;
                              origin: string | null;
                              request_id: string;
                              resource_type: string | null;
                              status: number | null;
                              url: string;
                          }[];
                          websocket_events: {
                              direction: "received"
                              | "sent";
                              opcode: number;
                              payload_bytes: number;
                              payload_shape:
                                  | {
                                      format: "binary"
                                      | "text"
                                      | "json";
                                      json_shape:
                                          | {
                                              max_depth_observed: number;
                                              node_count: number;
                                              properties: (...)[];
                                              root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                              truncated: boolean;
                                          }
                                          | null;
                                      truncated: boolean;
                                  }
                                  | null;
                              request_id: string;
                          }[];
                      };
                      resources: {
                          content_size: number
                          | null;
                          mime_type: string;
                          origin: string | null;
                          resource_key: string;
                          type: string;
                          url: string;
                      }[];
                      schema_version: 2;
                      scripts: {
                          items: {
                              cdp_hash: string;
                              frame_id: string
                              | null;
                              is_module: boolean;
                              language: string | null;
                              length: number;
                              origin: string | null;
                              resource_reconciliation:
                                  | { resource_key: string; status: "exact" }
                                  | { candidate_resource_keys: string[]; status: "ambiguous" }
                                  | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                              script_key: string;
                              source:
                                  | { included: false; reason: string }
                                  | {
                                      artifact: {
                                          bytes: number;
                                          charset: "utf-8";
                                          media_type: string;
                                          sha256: string;
                                          text: string;
                                          uri: string;
                                      };
                                      included: true;
                                  };
                              source_map_url: string
                              | null;
                              url: string;
                          }[];
                          total: number;
                      };
                      storage: {
                          cache_names: string[];
                          indexed_db_names: string[];
                          local_storage_keys: string[];
                          origin: string;
                          quota_bytes: number
                          | null;
                          session_storage_keys: string[];
                          usage_bytes: number | null;
                          values_redacted: true;
                      };
                      target: {
                          attached: boolean;
                          origin: string;
                          target_id: string;
                          title: string;
                          type: string;
                          url: string;
                      };
                      workers: {
                          attached: boolean;
                          opener_target_id: string
                          | null;
                          origin: string | null;
                          parent_frame_id: string | null;
                          target_id: string;
                          type: string;
                          url: string;
                      }[];
                  };
                  webmcp: | {
                      browser: {
                          js_version: string;
                          product: string;
                          protocol_version: string;
                          revision: string;
                          user_agent: string;
                      };
                      completeness: {
                          attach_limited_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          conditions: (
                              | "truncated"
                              | "complete_within_window"
                              | "policy_filtered"
                              | "attach_limited"
                          )[];
                          dropped_events: {
                              console_events: number;
                              network_requests: number;
                              scripts: number;
                              timeline_events: number;
                              total: number;
                              webmcp_tools: number;
                              websocket_connections: number;
                              websocket_frames: number;
                          };
                          excluded: {
                              count: number
                              | null;
                              reason:
                                  | "provider_unavailable"
                                  | "disallowed_origin"
                                  | "unsupported_url"
                                  | "unattributed_origin"
                                  | "not_approved"
                                  | "out_of_target_scope"
                                  | "invalid_protocol_value";
                              section: | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline";
                          }[];
                          policy_filtered_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          status: | "truncated"
                          | "complete_within_window"
                          | "policy_filtered"
                          | "attach_limited";
                          truncated_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          unavailable_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                      };
                      limitations: string[];
                      schema_version: 1;
                      status: "unavailable"
                      | "available";
                      target: { origin: string; target_id: string; url: string };
                      tools: {
                          items: {
                              annotations: {
                                  autosubmit: boolean | null;
                                  read_only: boolean | null;
                                  untrusted_content: boolean | null;
                              };
                              declaration_kind: "declarative"
                              | "imperative";
                              description: string;
                              frame_id: string;
                              frame_url: string;
                              input_schema_shape:
                                  | {
                                      max_depth_observed: number;
                                      node_count: number;
                                      properties: { observations: ...; path: ...; types: ... }[];
                                      root_type:
                                          | "string"
                                          | "number"
                                          | "boolean"
                                          | "object"
                                          | "null"
                                          | "array";
                                      truncated: boolean;
                                  }
                                  | null;
                              name: string;
                              owner_origin: string;
                              registration_source: | {
                                  column: number
                                  | null;
                                  line: number | null;
                                  url: string;
                              }
                              | null;
                              tool_key: string;
                              trust: "page-declared-untrusted";
                          }[];
                          total: number;
                      };
                  }
                  | null;
              };
              before: {
                  inspection: {
                      accessibility: {
                          nodes: {
                              description: string
                              | null;
                              ignored: boolean;
                              name: string | null;
                              node_id: string;
                              parent_id: string | null;
                              role: string | null;
                          }[];
                          text_capture: {
                              excluded_fields: number;
                              retained_bytes: number;
                              status: "truncated"
                              | "unavailable"
                              | "not_approved"
                              | "included";
                              truncated_fields: number;
                          };
                          total_nodes: number;
                      };
                      browser: {
                          js_version: string;
                          product: string;
                          protocol_version: string;
                          revision: string;
                          user_agent: string;
                      };
                      capture_window: {
                          ended_at: string;
                          observation_ms: number;
                          started_at: string;
                      };
                      completeness: {
                          attach_limited_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          conditions: (
                              | "truncated"
                              | "complete_within_window"
                              | "policy_filtered"
                              | "attach_limited"
                          )[];
                          dropped_events: {
                              console_events: number;
                              network_requests: number;
                              scripts: number;
                              timeline_events: number;
                              total: number;
                              webmcp_tools: number;
                              websocket_connections: number;
                              websocket_frames: number;
                          };
                          excluded: {
                              count: number
                              | null;
                              reason:
                                  | "provider_unavailable"
                                  | "disallowed_origin"
                                  | "unsupported_url"
                                  | "unattributed_origin"
                                  | "not_approved"
                                  | "out_of_target_scope"
                                  | "invalid_protocol_value";
                              section: | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline";
                          }[];
                          policy_filtered_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          status: | "truncated"
                          | "complete_within_window"
                          | "policy_filtered"
                          | "attach_limited";
                          truncated_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          unavailable_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                      };
                      console: {
                          coverage_started_at: string;
                          events: {
                              argument_types: string[];
                              column: number
                              | null;
                              line: number | null;
                              text_capture: {
                                  retained_bytes: number;
                                  status: "truncated" | "not_approved" | "included";
                                  truncated_values: number;
                                  values: { argument_index: number; text: string; type: string }[];
                              };
                              timestamp: number;
                              type: string;
                              url: string
                              | null;
                          }[];
                          prior_activity_available: false;
                      };
                      dom: {
                          nodes: {
                              attribute_names: string[];
                              index: number;
                              node_name: string;
                              node_type: number;
                              node_value_length: number;
                              parent_index: number;
                          }[];
                          total_nodes: number;
                      };
                      frames: {
                          frame_id: string;
                          origin: string
                          | null;
                          parent_frame_id: string | null;
                          url: string;
                      }[];
                      limitations: string[];
                      metadata: {
                          agent_hints: {
                              declaration: string;
                              mechanism: | "link_rel"
                              | "dom_link_rel"
                              | "well_known_resource"
                              | "response_header";
                              trust: "page-declared-untrusted";
                              url: string
                              | null;
                          }[];
                          dom_urls: {
                              attribute: "action"
                              | "href"
                              | "src"
                              | "formaction"
                              | "poster";
                              destination_scope: "approved" | "unsupported" | "outside_policy";
                              node_index: number;
                              url: string | null;
                          }[];
                          excluded_dom_urls: number;
                          headers_allowlisted: true;
                          responses: {
                              content_encoding: string
                              | null;
                              content_length: number | null;
                              csp: {
                                  directives: { name: string; sources: { kind: ...; value: ... }[] }[];
                                  hash_count: number;
                                  nonce_count: number;
                              };
                              links: {
                                  as: string
                                  | null;
                                  crossorigin: string | null;
                                  destination_scope: "approved" | "unsupported" | "outside_policy";
                                  href: string | null;
                                  rel: string[];
                                  type: string | null;
                              }[];
                              mime_type: string
                              | null;
                              policies: {
                                  coep: string | null;
                                  coop: string | null;
                                  corp: string | null;
                                  permissions_policy_features: string[];
                                  referrer_policy: string | null;
                                  x_content_type_options: string | null;
                              };
                              request_id: string;
                              url: string;
                          }[];
                      };
                      network: {
                          coverage_started_at: string;
                          prior_activity_available: false;
                          requests: {
                              body_shapes: {
                                  request: | {
                                      max_depth_observed: number;
                                      node_count: number;
                                      properties: { observations: ...; path: ...; types: ... }[];
                                      root_type:
                                          | "string"
                                          | "number"
                                          | "boolean"
                                          | "object"
                                          | "null"
                                          | "array";
                                      truncated: boolean;
                                  }
                                  | null;
                                  response: | {
                                      max_depth_observed: number;
                                      node_count: number;
                                      properties: { observations: ...; path: ...; types: ... }[];
                                      root_type:
                                          | "string"
                                          | "number"
                                          | "boolean"
                                          | "object"
                                          | "null"
                                          | "array";
                                      truncated: boolean;
                                  }
                                  | null;
                                  status: | "truncated"
                                  | "unavailable"
                                  | "not_approved"
                                  | "included"
                                  | "partial";
                              };
                              encoded_data_length: number
                              | null;
                              initiator: {
                                  column: number | null;
                                  line: number | null;
                                  type: string;
                                  url: string | null;
                              };
                              method: string;
                              mime_type: string
                              | null;
                              origin: string | null;
                              request_id: string;
                              resource_type: string | null;
                              status: number | null;
                              url: string;
                          }[];
                          websocket_events: {
                              direction: "received"
                              | "sent";
                              opcode: number;
                              payload_bytes: number;
                              payload_shape:
                                  | {
                                      format: "binary"
                                      | "text"
                                      | "json";
                                      json_shape:
                                          | {
                                              max_depth_observed: number;
                                              node_count: number;
                                              properties: (...)[];
                                              root_type: (...) | (...) | (...) | (...) | (...) | (...);
                                              truncated: boolean;
                                          }
                                          | null;
                                      truncated: boolean;
                                  }
                                  | null;
                              request_id: string;
                          }[];
                      };
                      resources: {
                          content_size: number
                          | null;
                          mime_type: string;
                          origin: string | null;
                          resource_key: string;
                          type: string;
                          url: string;
                      }[];
                      schema_version: 2;
                      scripts: {
                          items: {
                              cdp_hash: string;
                              frame_id: string
                              | null;
                              is_module: boolean;
                              language: string | null;
                              length: number;
                              origin: string | null;
                              resource_reconciliation:
                                  | { resource_key: string; status: "exact" }
                                  | { candidate_resource_keys: string[]; status: "ambiguous" }
                                  | { reason: "no_exact_sanitized_url"; status: "unmatched" };
                              script_key: string;
                              source:
                                  | { included: false; reason: string }
                                  | {
                                      artifact: {
                                          bytes: number;
                                          charset: "utf-8";
                                          media_type: string;
                                          sha256: string;
                                          text: string;
                                          uri: string;
                                      };
                                      included: true;
                                  };
                              source_map_url: string
                              | null;
                              url: string;
                          }[];
                          total: number;
                      };
                      storage: {
                          cache_names: string[];
                          indexed_db_names: string[];
                          local_storage_keys: string[];
                          origin: string;
                          quota_bytes: number
                          | null;
                          session_storage_keys: string[];
                          usage_bytes: number | null;
                          values_redacted: true;
                      };
                      target: {
                          attached: boolean;
                          origin: string;
                          target_id: string;
                          title: string;
                          type: string;
                          url: string;
                      };
                      workers: {
                          attached: boolean;
                          opener_target_id: string
                          | null;
                          origin: string | null;
                          parent_frame_id: string | null;
                          target_id: string;
                          type: string;
                          url: string;
                      }[];
                  };
                  webmcp: | {
                      browser: {
                          js_version: string;
                          product: string;
                          protocol_version: string;
                          revision: string;
                          user_agent: string;
                      };
                      completeness: {
                          attach_limited_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          conditions: (
                              | "truncated"
                              | "complete_within_window"
                              | "policy_filtered"
                              | "attach_limited"
                          )[];
                          dropped_events: {
                              console_events: number;
                              network_requests: number;
                              scripts: number;
                              timeline_events: number;
                              total: number;
                              webmcp_tools: number;
                              websocket_connections: number;
                              websocket_frames: number;
                          };
                          excluded: {
                              count: number
                              | null;
                              reason:
                                  | "provider_unavailable"
                                  | "disallowed_origin"
                                  | "unsupported_url"
                                  | "unattributed_origin"
                                  | "not_approved"
                                  | "out_of_target_scope"
                                  | "invalid_protocol_value";
                              section: | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline";
                          }[];
                          policy_filtered_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          status: | "truncated"
                          | "complete_within_window"
                          | "policy_filtered"
                          | "attach_limited";
                          truncated_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                          unavailable_sections: (
                              | "frames"
                              | "websocket_connections"
                              | "metadata"
                              | "resources"
                              | "dom"
                              | "accessibility"
                              | "scripts"
                              | "script_sources"
                              | "network_requests"
                              | "network_initiators"
                              | "console_events"
                              | "console_text"
                              | "websocket_frames"
                              | "websocket_shapes"
                              | "json_body_shapes"
                              | "workers"
                              | "storage"
                              | "storage_keys"
                              | "webmcp_tools"
                              | "screenshot"
                              | "source_maps"
                              | "timeline"
                          )[];
                      };
                      limitations: string[];
                      schema_version: 1;
                      status: "unavailable"
                      | "available";
                      target: { origin: string; target_id: string; url: string };
                      tools: {
                          items: {
                              annotations: {
                                  autosubmit: boolean | null;
                                  read_only: boolean | null;
                                  untrusted_content: boolean | null;
                              };
                              declaration_kind: "declarative"
                              | "imperative";
                              description: string;
                              frame_id: string;
                              frame_url: string;
                              input_schema_shape:
                                  | {
                                      max_depth_observed: number;
                                      node_count: number;
                                      properties: { observations: ...; path: ...; types: ... }[];
                                      root_type:
                                          | "string"
                                          | "number"
                                          | "boolean"
                                          | "object"
                                          | "null"
                                          | "array";
                                      truncated: boolean;
                                  }
                                  | null;
                              name: string;
                              owner_origin: string;
                              registration_source: | {
                                  column: number
                                  | null;
                                  line: number | null;
                                  url: string;
                              }
                              | null;
                              tool_key: string;
                              trust: "page-declared-untrusted";
                          }[];
                          total: number;
                      };
                  }
                  | null;
              };
              max_changes: number;
          }

        Returns Promise<
            Result<
                {
                    after_target: { target_id: string; url: string };
                    before_target: { target_id: string; url: string };
                    dimensions: {
                        dom_structure: {
                            changes: {
                                change: "added" | "removed" | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        metadata: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        network: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        resources: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        scripts: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                        webmcp: {
                            changes: {
                                change: "added"
                                | "removed"
                                | "modified";
                                identity: string;
                            }[];
                            omitted_changes: number;
                            reason: string
                            | null;
                            status: "unknown" | "unchanged" | "changed";
                            total_changes: number;
                        };
                    };
                    limitations: string[];
                    overall_status: "unknown"
                    | "unchanged"
                    | "changed";
                    schema_version: 1;
                },
                AnalysisError,
            >,
        >

      diff --git a/docs/api/classes/browser_CdpCaptureEvents.CdpCaptureEvents.html b/docs/api/classes/browser_CdpCaptureEvents.CdpCaptureEvents.html index ec3ff9d50d..3b754dbe11 100644 --- a/docs/api/classes/browser_CdpCaptureEvents.CdpCaptureEvents.html +++ b/docs/api/classes/browser_CdpCaptureEvents.CdpCaptureEvents.html @@ -15,7 +15,7 @@

      Bounded event accumulator that drops payload values at ingestion time.

      +
    • Defined in src/browser/CdpCaptureEvents.ts:38
    @@ -31,6 +31,7 @@ allowedWebSockets completeness console +executionContextFrames navigationDuringCapture network originViolation @@ -42,6 +43,7 @@

Returns CdpCaptureEvents

+
  • Defined in src/browser/CdpCaptureEvents.ts:61
  • @@ -71,52 +73,57 @@
    agentHints: {
        declaration: string;
        mechanism:
            | "link_rel"
            | "dom_link_rel"
            | "well_known_resource"
            | "response_header";
        trust: "page-declared-untrusted";
        url: string
        | null;
    }[] = []
    +
  • Defined in src/browser/CdpCaptureEvents.ts:46
  • allowedWebSockets: Set<string> = ...
    +
  • Defined in src/browser/CdpCaptureEvents.ts:42
  • completeness: CdpCaptureCompleteness = ...
    +
  • Defined in src/browser/CdpCaptureEvents.ts:47
  • console: {
        argument_types: string[];
        column: number | null;
        line: number | null;
        text_capture: {
            retained_bytes: number;
            status: "truncated" | "not_approved" | "included";
            truncated_values: number;
            values: { argument_index: number; text: string; type: string }[];
        };
        timestamp: number;
        type: string;
        url: string
        | null;
    }[] = []
    +
  • Defined in src/browser/CdpCaptureEvents.ts:43
  • +
    + +
    executionContextFrames: Map<string, string> = ...
    navigationDuringCapture: boolean = false
    +
  • Defined in src/browser/CdpCaptureEvents.ts:55
  • network: Map<
        string,
        {
            body_shapes: {
                request: | {
                    max_depth_observed: number;
                    node_count: number;
                    properties: {
                        observations: number;
                        path: string;
                        types: ("string" | "number" | "boolean" | "object" | "null" | "array")[];
                    }[];
                    root_type: "string"
                    | "number"
                    | "boolean"
                    | "object"
                    | "null"
                    | "array";
                    truncated: boolean;
                }
                | null;
                response: | {
                    max_depth_observed: number;
                    node_count: number;
                    properties: {
                        observations: number;
                        path: string;
                        types: ("string" | "number" | "boolean" | "object" | "null" | "array")[];
                    }[];
                    root_type: "string"
                    | "number"
                    | "boolean"
                    | "object"
                    | "null"
                    | "array";
                    truncated: boolean;
                }
                | null;
                status: | "truncated"
                | "unavailable"
                | "not_approved"
                | "included"
                | "partial";
            };
            encoded_data_length: number
            | null;
            initiator: {
                column: number | null;
                line: number | null;
                type: string;
                url: string | null;
            };
            method: string;
            mime_type: string
            | null;
            origin: string | null;
            request_id: string;
            resource_type: string | null;
            status: number | null;
            url: string;
        },
    > = ...
    +
  • Defined in src/browser/CdpCaptureEvents.ts:41
  • originViolation: boolean = false
    +
  • Defined in src/browser/CdpCaptureEvents.ts:54
  • responseMetadata: {
        content_encoding: string | null;
        content_length: number | null;
        csp: {
            directives: {
                name: string;
                sources: {
                    kind:
                        | "other"
                        | "keyword"
                        | "scheme"
                        | "approved_origin"
                        | "external_origin";
                    value: string
                    | null;
                }[];
            }[];
            hash_count: number;
            nonce_count: number;
        };
        links: {
            as: string
            | null;
            crossorigin: string | null;
            destination_scope: "approved" | "unsupported" | "outside_policy";
            href: string | null;
            rel: string[];
            type: string | null;
        }[];
        mime_type: string
        | null;
        policies: {
            coep: string | null;
            coop: string | null;
            corp: string | null;
            permissions_policy_features: string[];
            referrer_policy: string | null;
            x_content_type_options: string | null;
        };
        request_id: string;
        url: string;
    }[] = []
    +
  • Defined in src/browser/CdpCaptureEvents.ts:45
  • scripts: Map<string, CapturedScript> = ...
    +
  • Defined in src/browser/CdpCaptureEvents.ts:39
  • websockets: {
        direction: "received" | "sent";
        opcode: number;
        payload_bytes: number;
        payload_shape:
            | {
                format: "binary"
                | "text"
                | "json";
                json_shape:
                    | {
                        max_depth_observed: number;
                        node_count: number;
                        properties: {
                            observations: number;
                            path: string;
                            types: ("string" | "number" | "boolean" | "object" | "null" | "array")[];
                        }[];
                        root_type: | "string"
                        | "number"
                        | "boolean"
                        | "object"
                        | "null"
                        | "array";
                        truncated: boolean;
                    }
                    | null;
                truncated: boolean;
            }
            | null;
        request_id: string;
    }[] = []
    +
  • Defined in src/browser/CdpCaptureEvents.ts:44
  • @@ -132,7 +139,7 @@
  • frameId: string
  • Returns void

    +
  • Defined in src/browser/CdpCaptureEvents.ts:66
  • Returns void

    +
  • Defined in src/browser/CdpCaptureEvents.ts:90
  • +
    + +

    Returns void

    +
  • Defined in src/browser/CdpCaptureEvents.ts:95
  • Returns void

    +
  • Defined in src/browser/CdpCaptureEvents.ts:428
  • +
  • Defined in src/browser/CdpCaptureEvents.ts:416
  • Returns void

    +
  • Defined in src/browser/CdpCaptureEvents.ts:423
  • +
    beginAuthorizedFramebeginFinalCaptureframeForScriptingestingestResponseBodyresponseBodyRequestIdsresponseBodyUnavailable

    Returns Promise<
        Result<
            | {
                analysis_profile: {
                    digest: string;
                    parameters: Record<string, JSONType>;
                    provider: { id: string; name: string; version: string };
                    provider_profile_schema_version: number;
                    schema_version: 1;
                };
                authority: | "shipped-artifact"
                | "controlled-replay"
                | "historical-reference"
                | "external-service"
                | "analyst-inference";
                confidence: "observed"
                | "derived"
                | "inferred";
                environment:
                    | {
                        architecture: string;
                        id: string;
                        isolation: "process"
                        | "none"
                        | "container"
                        | "virtual-machine";
                        platform: string;
                    }
                    | null;
                evidence_id: string;
                evidence_links: string[];
                limitations: string[];
                locations: (
                    | { address: string; kind: "address" }
                    | { end: string; kind: "address-range"; start: string }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "file-offset"; offset: number }
                    | { end: number; kind: "file-offset-range"; start: number }
                )[];
                normalized_result: JSONType;
                operation: string;
                parameters: Record<string, JSONType>;
                predicate_type: string;
                provider: { id: string; name: string; version: string | null };
                raw_result: JSONType;
                schema_version: 2;
                subject:
                    | {
                        architecture: "x86"
                        | "x86_64"
                        | "arm"
                        | "arm64"
                        | null;
                        digest: { sha256: string };
                        format:
                            | "unknown"
                            | "file"
                            | "directory"
                            | "javascript"
                            | "source-map"
                            | "plist"
                            | "entitlements"
                            | "dmg"
                            | "zip"
                            | "pkg"
                            | "asar"
                            | "javascript-bundle"
                            | "mach-o-universal"
                            | "mach-o"
                            | "elf"
                            | "pe"
                            | "hopper"
                            | "analysis-database"
                            | "ipa"
                            | "apk";
                        local_path: string;
                        name: string;
                    }
                    | null;
            }
            | {
                authority: | "shipped-artifact"
                | "controlled-replay"
                | "historical-reference"
                | "external-service"
                | "analyst-inference";
                confidence: "observed"
                | "derived"
                | "inferred";
                environment:
                    | {
                        architecture: string;
                        id: string;
                        isolation: "process"
                        | "none"
                        | "container"
                        | "virtual-machine";
                        platform: string;
                    }
                    | null;
                evidence_id: string;
                evidence_links: string[];
                limitations: string[];
                locations: (
                    | { address: string; kind: "address" }
                    | { end: string; kind: "address-range"; start: string }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "file-offset"; offset: number }
                    | { end: number; kind: "file-offset-range"; start: number }
                )[];
                normalized_result: JSONType;
                operation: string;
                parameters: Record<string, JSONType>;
                predicate_type: string;
                provider: { id: string; name: string; version: string | null };
                raw_result: JSONType;
                schema_version: 2;
                subject:
                    | {
                        architecture: "x86"
                        | "x86_64"
                        | "arm"
                        | "arm64"
                        | null;
                        digest: { sha256: string };
                        format:
                            | "unknown"
                            | "file"
                            | "directory"
                            | "javascript"
                            | "source-map"
                            | "plist"
                            | "entitlements"
                            | "dmg"
                            | "zip"
                            | "pkg"
                            | "asar"
                            | "javascript-bundle"
                            | "mach-o-universal"
                            | "mach-o"
                            | "elf"
                            | "pe"
                            | "hopper"
                            | "analysis-database"
                            | "ipa"
                            | "apk";
                        local_path: string;
                        name: string;
                    }
                    | null;
            },
            AnalysisError,
        >,
    >

    diff --git a/docs/api/functions/application_CapabilityInventory.buildCapabilityInventory.html b/docs/api/functions/application_CapabilityInventory.buildCapabilityInventory.html index 3f8c5d8219..0cff0b1a53 100644 --- a/docs/api/functions/application_CapabilityInventory.buildCapabilityInventory.html +++ b/docs/api/functions/application_CapabilityInventory.buildCapabilityInventory.html @@ -14,7 +14,7 @@
    diff --git a/docs/api/functions/application_Doctor.runDoctor.html b/docs/api/functions/application_Doctor.runDoctor.html index 731c815f9a..4efa914da4 100644 --- a/docs/api/functions/application_Doctor.runDoctor.html +++ b/docs/api/functions/application_Doctor.runDoctor.html @@ -14,7 +14,7 @@
    diff --git a/docs/api/functions/application_ElectronBoundaryGraphContext.electronFindingSourceNode.html b/docs/api/functions/application_ElectronBoundaryGraphContext.electronFindingSourceNode.html index 672ffcbf39..9dc9747e5b 100644 --- a/docs/api/functions/application_ElectronBoundaryGraphContext.electronFindingSourceNode.html +++ b/docs/api/functions/application_ElectronBoundaryGraphContext.electronFindingSourceNode.html @@ -14,7 +14,7 @@
    -

    Returns
        | {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        }
        | undefined

    +
  • Defined in src/domain/javascriptApplicationGraph.ts:488
  • +
  • Defined in src/domain/javascriptApplicationGraph.ts:427
  • +
  • Defined in src/domain/javascriptApplicationGraph.ts:443
  • +
  • Defined in src/domain/javascriptApplicationGraph.ts:397
  • +
  • Defined in src/domain/javascriptApplicationGraph.ts:469
  • +
  • Defined in src/domain/javascriptApplicationGraph.ts:493
  • diff --git a/docs/api/functions/server_registerElectronTools.registerElectronTools.html b/docs/api/functions/server_registerElectronTools.registerElectronTools.html index 993a2c7dd7..b70b88d60b 100644 --- a/docs/api/functions/server_registerElectronTools.registerElectronTools.html +++ b/docs/api/functions/server_registerElectronTools.registerElectronTools.html @@ -25,7 +25,7 @@
  • options: ElectronToolRegistration
  • Returns void

    +
  • Defined in src/server/registerElectronTools.ts:33
  • +
  • StableWebResource
  • Returns Promise<
        Result<
            {
                after_target: { target_id: string; url: string };
                before_target: { target_id: string; url: string };
                dimensions: {
                    dom_structure: {
                        changes: {
                            change: "added" | "removed" | "modified";
                            identity: string;
                        }[];
                        omitted_changes: number;
                        reason: string
                        | null;
                        status: "unknown" | "unchanged" | "changed";
                        total_changes: number;
                    };
                    metadata: {
                        changes: {
                            change: "added"
                            | "removed"
                            | "modified";
                            identity: string;
                        }[];
                        omitted_changes: number;
                        reason: string
                        | null;
                        status: "unknown" | "unchanged" | "changed";
                        total_changes: number;
                    };
                    network: {
                        changes: {
                            change: "added"
                            | "removed"
                            | "modified";
                            identity: string;
                        }[];
                        omitted_changes: number;
                        reason: string
                        | null;
                        status: "unknown" | "unchanged" | "changed";
                        total_changes: number;
                    };
                    resources: {
                        changes: {
                            change: "added"
                            | "removed"
                            | "modified";
                            identity: string;
                        }[];
                        omitted_changes: number;
                        reason: string
                        | null;
                        status: "unknown" | "unchanged" | "changed";
                        total_changes: number;
                    };
                    scripts: {
                        changes: {
                            change: "added"
                            | "removed"
                            | "modified";
                            identity: string;
                        }[];
                        omitted_changes: number;
                        reason: string
                        | null;
                        status: "unknown" | "unchanged" | "changed";
                        total_changes: number;
                    };
                    webmcp: {
                        changes: {
                            change: "added"
                            | "removed"
                            | "modified";
                            identity: string;
                        }[];
                        omitted_changes: number;
                        reason: string
                        | null;
                        status: "unknown" | "unchanged" | "changed";
                        total_changes: number;
                    };
                };
                limitations: string[];
                overall_status: "unknown"
                | "unchanged"
                | "changed";
                schema_version: 1;
            },
            AnalysisError,
        >,
    >

    @@ -122,14 +122,14 @@
    diff --git a/docs/api/interfaces/application_ElectronBoundaryGraphContext.ElectronGraphEdgeInput.html b/docs/api/interfaces/application_ElectronBoundaryGraphContext.ElectronGraphEdgeInput.html index 61d4d78343..b217ba0e20 100644 --- a/docs/api/interfaces/application_ElectronBoundaryGraphContext.ElectronGraphEdgeInput.html +++ b/docs/api/interfaces/application_ElectronBoundaryGraphContext.ElectronGraphEdgeInput.html @@ -14,7 +14,7 @@

    Values for one Electron syntax relationship retained in the graph.

    -
    interface ElectronGraphEdgeInput {
        confidence?: "low" | "medium" | "high";
        coverage: {
            limits: {
                name: string;
                unit:
                    | "other"
                    | "items"
                    | "bytes"
                    | "depth"
                    | "milliseconds"
                    | "characters"
                    | "instructions";
                value: number;
            }[];
            omitted_count: number
            | null;
            status: "unknown" | "unavailable" | "complete" | "partial";
            truncated: boolean;
        };
        file: JavaScriptArtifactFile;
        limitations?: readonly string[];
        operation: string;
        properties: Readonly<Record<string, unknown>>;
        range: JavaScriptSourceRange;
        relation:
            | "contains"
            | "loads"
            | "imports"
            | "maps_to"
            | "exposes"
            | "sends"
            | "invokes"
            | "handles";
        source: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
        target: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
    }
    -
    source: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    -
    target: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    diff --git a/docs/api/interfaces/application_ElectronObservationPort.ElectronObservationPort.html b/docs/api/interfaces/application_ElectronObservationPort.ElectronObservationPort.html index f1ad0e91ec..e8bdcb2e13 100644 --- a/docs/api/interfaces/application_ElectronObservationPort.ElectronObservationPort.html +++ b/docs/api/interfaces/application_ElectronObservationPort.ElectronObservationPort.html @@ -14,7 +14,7 @@

    Provider-neutral boundary for root-confined Electron file-page observation.

    -
    interface ElectronObservationPort {
        identity(): ProviderIdentity;
        inspectPage(
            input: {
                allowed_file_roots: string[];
                approved: true;
                cdp_endpoint: string;
                include_script_sources: boolean;
                limits: {
                    max_dom_nodes: number;
                    max_frames: number;
                    max_resources: number;
                    max_script_source_bytes: number;
                    max_scripts: number;
                    max_total_script_source_bytes: number;
                };
                observation_ms: number;
                source_capture_approved: boolean;
                target_id: string;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    capture_window: {
                        ended_at: string;
                        observation_ms: number;
                        started_at: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    dom: {
                        nodes: {
                            attribute_names: string[];
                            index: number;
                            node_name: string;
                            node_type: number;
                            node_value_length: number;
                            parent_index: number;
                        }[];
                        total_nodes: number;
                    };
                    frames: {
                        file_path: string;
                        frame_id: string;
                        parent_frame_id: string
                        | null;
                    }[];
                    limitations: string[];
                    resources: {
                        content_size: number
                        | null;
                        file_path: string;
                        mime_type: string;
                        resource_key: string;
                        type: string;
                    }[];
                    schema_version: 1;
                    scripts: {
                        items: {
                            cdp_hash: string;
                            file_path: string;
                            is_module: boolean;
                            language: string
                            | null;
                            length: number;
                            script_key: string;
                            source:
                                | { included: false; reason: string }
                                | {
                                    artifact: {
                                        bytes: number;
                                        charset: "utf-8";
                                        media_type: string;
                                        sha256: string;
                                        text: string;
                                        uri: string;
                                    };
                                    included: true;
                                };
                        }[];
                        total: number;
                    };
                    target: {
                        attached: boolean;
                        file_path: string;
                        target_id: string;
                        title: string;
                        type: string;
                    };
                },
                AnalysisError,
            >,
        >;
        listTargets(
            input: {
                allowed_file_roots: string[];
                approved: true;
                cdp_endpoint: string;
                limit: number;
                offset: number;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    excluded: {
                        non_page: number;
                        outside_root: number;
                        unsupported_url: number;
                    };
                    limitations: string[];
                    schema_version: 1;
                    targets: {
                        has_more: boolean;
                        items: {
                            attached: boolean;
                            file_path: string;
                            target_id: string;
                            title: string;
                            type: string;
                        }[];
                        limit: number;
                        next_offset: number
                        | null;
                        offset: number;
                        total: number;
                    };
                },
                AnalysisError,
            >,
        >;
    }
    +
    interface ElectronObservationPort {
        identity(): ProviderIdentity;
        inspectPage(
            input: {
                allowed_file_roots: string[];
                approved: true;
                cdp_endpoint: string;
                include_script_sources: boolean;
                limits: {
                    max_dom_nodes: number;
                    max_frames: number;
                    max_resources: number;
                    max_script_source_bytes: number;
                    max_scripts: number;
                    max_total_script_source_bytes: number;
                    max_workers: number;
                };
                observation_ms: number;
                source_capture_approved: boolean;
                target_id: string;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    capture_window: {
                        ended_at: string;
                        observation_ms: number;
                        started_at: string;
                    };
                    completeness: {
                        attach_limited_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        conditions: (
                            | "truncated"
                            | "complete_within_window"
                            | "policy_filtered"
                            | "attach_limited"
                        )[];
                        dropped_events: {
                            console_events: number;
                            network_requests: number;
                            scripts: number;
                            timeline_events: number;
                            total: number;
                            webmcp_tools: number;
                            websocket_connections: number;
                            websocket_frames: number;
                        };
                        excluded: {
                            count: number
                            | null;
                            reason:
                                | "provider_unavailable"
                                | "disallowed_origin"
                                | "unsupported_url"
                                | "unattributed_origin"
                                | "not_approved"
                                | "out_of_target_scope"
                                | "invalid_protocol_value";
                            section: | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline";
                        }[];
                        policy_filtered_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        status: | "truncated"
                        | "complete_within_window"
                        | "policy_filtered"
                        | "attach_limited";
                        truncated_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                        unavailable_sections: (
                            | "frames"
                            | "websocket_connections"
                            | "metadata"
                            | "resources"
                            | "dom"
                            | "accessibility"
                            | "scripts"
                            | "script_sources"
                            | "network_requests"
                            | "network_initiators"
                            | "console_events"
                            | "console_text"
                            | "websocket_frames"
                            | "websocket_shapes"
                            | "json_body_shapes"
                            | "workers"
                            | "storage"
                            | "storage_keys"
                            | "webmcp_tools"
                            | "screenshot"
                            | "source_maps"
                            | "timeline"
                        )[];
                    };
                    dom: {
                        nodes: {
                            attribute_names: string[];
                            index: number;
                            node_name: string;
                            node_type: number;
                            node_value_length: number;
                            parent_index: number;
                        }[];
                        total_nodes: number;
                    };
                    frames: {
                        file_path: string;
                        frame_id: string;
                        parent_frame_id: string
                        | null;
                    }[];
                    limitations: string[];
                    resources: {
                        content_size: number
                        | null;
                        file_path: string;
                        mime_type: string;
                        resource_key: string;
                        type: string;
                    }[];
                    schema_version: 1;
                    scripts: {
                        items: {
                            cdp_hash: string;
                            file_path: string;
                            frame_id: string
                            | null;
                            is_module: boolean;
                            language: string | null;
                            length: number;
                            script_key: string;
                            source:
                                | { included: false; reason: string }
                                | {
                                    artifact: {
                                        bytes: number;
                                        charset: "utf-8";
                                        media_type: string;
                                        sha256: string;
                                        text: string;
                                        uri: string;
                                    };
                                    included: true;
                                };
                        }[];
                        total: number;
                    };
                    target: {
                        attached: boolean;
                        file_path: string;
                        target_id: string;
                        title: string;
                        type: string;
                    };
                    workers: {
                        attached: boolean;
                        file_path: string;
                        opener_target_id: string
                        | null;
                        parent_frame_id: string | null;
                        target_id: string;
                        type: string;
                    }[];
                },
                AnalysisError,
            >,
        >;
        listTargets(
            input: {
                allowed_file_roots: string[];
                approved: true;
                cdp_endpoint: string;
                limit: number;
                offset: number;
            },
            options?: ExecutionOptions,
        ): Promise<
            Result<
                {
                    browser: {
                        js_version: string;
                        product: string;
                        protocol_version: string;
                        revision: string;
                        user_agent: string;
                    };
                    excluded: {
                        non_page: number;
                        outside_root: number;
                        unsupported_url: number;
                    };
                    limitations: string[];
                    schema_version: 1;
                    targets: {
                        has_more: boolean;
                        items: {
                            attached: boolean;
                            file_path: string;
                            target_id: string;
                            title: string;
                            type: string;
                        }[];
                        limit: number;
                        next_offset: number
                        | null;
                        offset: number;
                        total: number;
                    };
                },
                AnalysisError,
            >,
        >;
    }

    Implemented by

    diff --git a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.AstEdgeInput.html b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.AstEdgeInput.html index 979bb412cd..9a4bdad61f 100644 --- a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.AstEdgeInput.html +++ b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.AstEdgeInput.html @@ -14,8 +14,8 @@

    Exact AST containment edge values.

    -
    interface AstEdgeInput {
        coverage: {
            limits: {
                name: string;
                unit:
                    | "other"
                    | "items"
                    | "bytes"
                    | "depth"
                    | "milliseconds"
                    | "characters"
                    | "instructions";
                value: number;
            }[];
            omitted_count: number
            | null;
            status: "unknown" | "unavailable" | "complete" | "partial";
            truncated: boolean;
        };
        file: JavaScriptArtifactFile;
        properties: Readonly<Record<string, unknown>>;
        range: JavaScriptSourceRange;
        source: {
            identity:
                | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
        target: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
    }
    -
    +
    interface AstEdgeInput {
        coverage: {
            limits: {
                name: string;
                unit:
                    | "other"
                    | "items"
                    | "bytes"
                    | "depth"
                    | "milliseconds"
                    | "characters"
                    | "instructions";
                value: number;
            }[];
            omitted_count: number
            | null;
            status: "unknown" | "unavailable" | "complete" | "partial";
            truncated: boolean;
        };
        file: JavaScriptArtifactFile;
        properties: Readonly<Record<string, unknown>>;
        range: JavaScriptSourceRange;
        source: {
            identity:
                | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "cross-layer-reconciliation"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
        target: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "cross-layer-reconciliation"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
    }
    +

    Hierarchy (View Summary)

    -
    source: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    -
    target: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    diff --git a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.ContainsEdgeInput.html b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.ContainsEdgeInput.html index e6f539b473..911809bab4 100644 --- a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.ContainsEdgeInput.html +++ b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.ContainsEdgeInput.html @@ -14,7 +14,7 @@

    Direct artifact-containment edge values.

    -
    interface ContainsEdgeInput {
        file: JavaScriptArtifactFile;
        operation: string;
        source: {
            identity:
                | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
        target: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
    }
    -
    source: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    -
    target: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    diff --git a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.InferenceEdgeInput.html b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.InferenceEdgeInput.html index 43d6bf043e..4b9e34d5ab 100644 --- a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.InferenceEdgeInput.html +++ b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.InferenceEdgeInput.html @@ -14,8 +14,8 @@

    Inferred static relationship edge values.

    -
    interface InferenceEdgeInput {
        coverage: {
            limits: {
                name: string;
                unit:
                    | "other"
                    | "items"
                    | "bytes"
                    | "depth"
                    | "milliseconds"
                    | "characters"
                    | "instructions";
                value: number;
            }[];
            omitted_count: number
            | null;
            status: "unknown" | "unavailable" | "complete" | "partial";
            truncated: boolean;
        };
        file: JavaScriptArtifactFile;
        properties: Readonly<Record<string, unknown>>;
        range: JavaScriptSourceRange;
        relation:
            | "loads"
            | "calls"
            | "imports"
            | "maps_to"
            | "exposes"
            | "persists_to";
        source: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
        target: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
    }
    -
    +
    interface InferenceEdgeInput {
        coverage: {
            limits: {
                name: string;
                unit:
                    | "other"
                    | "items"
                    | "bytes"
                    | "depth"
                    | "milliseconds"
                    | "characters"
                    | "instructions";
                value: number;
            }[];
            omitted_count: number
            | null;
            status: "unknown" | "unavailable" | "complete" | "partial";
            truncated: boolean;
        };
        file: JavaScriptArtifactFile;
        properties: Readonly<Record<string, unknown>>;
        range: JavaScriptSourceRange;
        relation:
            | "loads"
            | "calls"
            | "imports"
            | "maps_to"
            | "exposes"
            | "persists_to";
        source: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "cross-layer-reconciliation"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
        target: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "cross-layer-reconciliation"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
    }
    +

    Hierarchy (View Summary)

    -
    source: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    -
    target: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    diff --git a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.JavaScriptArtifactGraphContext.html b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.JavaScriptArtifactGraphContext.html index 7b5e812231..edb924683f 100644 --- a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.JavaScriptArtifactGraphContext.html +++ b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.JavaScriptArtifactGraphContext.html @@ -14,7 +14,7 @@

    Mutable graph-construction state scoped to one reconstruction.

    -
    interface JavaScriptArtifactGraphContext {
        accumulator: JavaScriptArtifactGraphAccumulator;
        analysis: JavaScriptArtifactAnalysis;
        assetNodes: Map<
            string,
            {
                identity: | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
                kind: | "unknown"
                | "target"
                | "native-addon"
                | "source-map"
                | "artifact"
                | "package"
                | "storage"
                | "installer"
                | "asar-entry"
                | "electron-main"
                | "electron-preload"
                | "electron-renderer"
                | "electron-utility"
                | "javascript-asset"
                | "javascript-chunk"
                | "javascript-module"
                | "source-module"
                | "browser-window"
                | "frame"
                | "context-bridge-api"
                | "ipc-channel"
                | "ipc-handler"
                | "worker"
                | "service-worker"
                | "endpoint"
                | "native-export"
                | "runtime-script-instance";
                node_id: string;
                observations: {
                    evidence: {
                        artifact: | { artifact_id: string; available: true; sha256: string }
                        | {
                            available: false;
                            detail: string;
                            reason:
                                | "unknown"
                                | "truncated"
                                | "unresolved"
                                | "not-applicable"
                                | "not-observed"
                                | "not-approved"
                                | "provider-unavailable";
                        };
                        authority: | "unknown"
                        | "controlled-replay"
                        | "historical-reference"
                        | "artifact-bytes"
                        | "ast-static-analysis"
                        | "static-relationship-inference"
                        | "passive-cdp-runtime"
                        | "native-analysis-provider"
                        | "user-assertion";
                        confidence: "unknown"
                        | "exact"
                        | "low"
                        | "medium"
                        | "high";
                        coverage: {
                            limits: {
                                name: string;
                                unit:
                                    | "other"
                                    | "items"
                                    | "bytes"
                                    | "depth"
                                    | "milliseconds"
                                    | "characters"
                                    | "instructions";
                                value: number;
                            }[];
                            omitted_count: number
                            | null;
                            status: "unknown" | "unavailable" | "complete" | "partial";
                            truncated: boolean;
                        };
                        evidence_ids: string[];
                        extractor: {
                            executable_sha256: string
                            | null;
                            name: string;
                            operation: string;
                            version: string;
                        };
                        limitations: string[];
                        location: | {
                            available: false;
                            detail: string;
                            reason: | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                        }
                        | {
                            available: true;
                            value: | {
                                end: { column: number; line: number };
                                kind: "source-range";
                                source: string;
                                start: { column: number; line: number };
                            }
                            | { end: number; kind: "file-offset-range"; start: number }
                            | { kind: "artifact-path"; path: string }
                            | { kind: "url"; url: string }
                            | {
                                capture_sha256: string;
                                frame_key: string | null;
                                kind: "runtime";
                                script_key: string | null;
                                target_key: string;
                            }
                            | { address: string; kind: "native-address"; symbol: string
                            | null }
                            | {
                                export_path: string;
                                kind: "package-export";
                                package_name: string;
                            };
                        };
                        state: "unknown"
                        | "observed"
                        | "inferred"
                        | "unavailable";
                    };
                    identifier_strategy: {
                        stability: "observation-exact";
                        strategy: "semantic-content-sha256";
                    };
                    label: string
                    | null;
                    observation_id: string;
                    properties: Record<string, JSONType>;
                }[];
            },
        >;
        containerNodes: Map<
            string,
            {
                identity: | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
                kind: | "unknown"
                | "target"
                | "native-addon"
                | "source-map"
                | "artifact"
                | "package"
                | "storage"
                | "installer"
                | "asar-entry"
                | "electron-main"
                | "electron-preload"
                | "electron-renderer"
                | "electron-utility"
                | "javascript-asset"
                | "javascript-chunk"
                | "javascript-module"
                | "source-module"
                | "browser-window"
                | "frame"
                | "context-bridge-api"
                | "ipc-channel"
                | "ipc-handler"
                | "worker"
                | "service-worker"
                | "endpoint"
                | "native-export"
                | "runtime-script-instance";
                node_id: string;
                observations: {
                    evidence: {
                        artifact: | { artifact_id: string; available: true; sha256: string }
                        | {
                            available: false;
                            detail: string;
                            reason:
                                | "unknown"
                                | "truncated"
                                | "unresolved"
                                | "not-applicable"
                                | "not-observed"
                                | "not-approved"
                                | "provider-unavailable";
                        };
                        authority: | "unknown"
                        | "controlled-replay"
                        | "historical-reference"
                        | "artifact-bytes"
                        | "ast-static-analysis"
                        | "static-relationship-inference"
                        | "passive-cdp-runtime"
                        | "native-analysis-provider"
                        | "user-assertion";
                        confidence: "unknown"
                        | "exact"
                        | "low"
                        | "medium"
                        | "high";
                        coverage: {
                            limits: {
                                name: string;
                                unit:
                                    | "other"
                                    | "items"
                                    | "bytes"
                                    | "depth"
                                    | "milliseconds"
                                    | "characters"
                                    | "instructions";
                                value: number;
                            }[];
                            omitted_count: number
                            | null;
                            status: "unknown" | "unavailable" | "complete" | "partial";
                            truncated: boolean;
                        };
                        evidence_ids: string[];
                        extractor: {
                            executable_sha256: string
                            | null;
                            name: string;
                            operation: string;
                            version: string;
                        };
                        limitations: string[];
                        location: | {
                            available: false;
                            detail: string;
                            reason: | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                        }
                        | {
                            available: true;
                            value: | {
                                end: { column: number; line: number };
                                kind: "source-range";
                                source: string;
                                start: { column: number; line: number };
                            }
                            | { end: number; kind: "file-offset-range"; start: number }
                            | { kind: "artifact-path"; path: string }
                            | { kind: "url"; url: string }
                            | {
                                capture_sha256: string;
                                frame_key: string | null;
                                kind: "runtime";
                                script_key: string | null;
                                target_key: string;
                            }
                            | { address: string; kind: "native-address"; symbol: string
                            | null }
                            | {
                                export_path: string;
                                kind: "package-export";
                                package_name: string;
                            };
                        };
                        state: "unknown"
                        | "observed"
                        | "inferred"
                        | "unavailable";
                    };
                    identifier_strategy: {
                        stability: "observation-exact";
                        strategy: "semantic-content-sha256";
                    };
                    label: string
                    | null;
                    observation_id: string;
                    properties: Record<string, JSONType>;
                }[];
            },
        >;
        fileNodes: Map<
            string,
            {
                identity: | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
                kind: | "unknown"
                | "target"
                | "native-addon"
                | "source-map"
                | "artifact"
                | "package"
                | "storage"
                | "installer"
                | "asar-entry"
                | "electron-main"
                | "electron-preload"
                | "electron-renderer"
                | "electron-utility"
                | "javascript-asset"
                | "javascript-chunk"
                | "javascript-module"
                | "source-module"
                | "browser-window"
                | "frame"
                | "context-bridge-api"
                | "ipc-channel"
                | "ipc-handler"
                | "worker"
                | "service-worker"
                | "endpoint"
                | "native-export"
                | "runtime-script-instance";
                node_id: string;
                observations: {
                    evidence: {
                        artifact: | { artifact_id: string; available: true; sha256: string }
                        | {
                            available: false;
                            detail: string;
                            reason:
                                | "unknown"
                                | "truncated"
                                | "unresolved"
                                | "not-applicable"
                                | "not-observed"
                                | "not-approved"
                                | "provider-unavailable";
                        };
                        authority: | "unknown"
                        | "controlled-replay"
                        | "historical-reference"
                        | "artifact-bytes"
                        | "ast-static-analysis"
                        | "static-relationship-inference"
                        | "passive-cdp-runtime"
                        | "native-analysis-provider"
                        | "user-assertion";
                        confidence: "unknown"
                        | "exact"
                        | "low"
                        | "medium"
                        | "high";
                        coverage: {
                            limits: {
                                name: string;
                                unit:
                                    | "other"
                                    | "items"
                                    | "bytes"
                                    | "depth"
                                    | "milliseconds"
                                    | "characters"
                                    | "instructions";
                                value: number;
                            }[];
                            omitted_count: number
                            | null;
                            status: "unknown" | "unavailable" | "complete" | "partial";
                            truncated: boolean;
                        };
                        evidence_ids: string[];
                        extractor: {
                            executable_sha256: string
                            | null;
                            name: string;
                            operation: string;
                            version: string;
                        };
                        limitations: string[];
                        location: | {
                            available: false;
                            detail: string;
                            reason: | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                        }
                        | {
                            available: true;
                            value: | {
                                end: { column: number; line: number };
                                kind: "source-range";
                                source: string;
                                start: { column: number; line: number };
                            }
                            | { end: number; kind: "file-offset-range"; start: number }
                            | { kind: "artifact-path"; path: string }
                            | { kind: "url"; url: string }
                            | {
                                capture_sha256: string;
                                frame_key: string | null;
                                kind: "runtime";
                                script_key: string | null;
                                target_key: string;
                            }
                            | { address: string; kind: "native-address"; symbol: string
                            | null }
                            | {
                                export_path: string;
                                kind: "package-export";
                                package_name: string;
                            };
                        };
                        state: "unknown"
                        | "observed"
                        | "inferred"
                        | "unavailable";
                    };
                    identifier_strategy: {
                        stability: "observation-exact";
                        strategy: "semantic-content-sha256";
                    };
                    label: string
                    | null;
                    observation_id: string;
                    properties: Record<string, JSONType>;
                }[];
            },
        >;
        filesByPath: ReadonlyMap<string, JavaScriptArtifactFile>;
        fileSet: JavaScriptArtifactFileSet;
        input: {
            format: "directory" | "asar" | "auto";
            input_path: string;
            limits: {
                max_artifact_entry_bytes: number;
                max_ast_nodes: number;
                max_compression_ratio: number;
                max_depth: number;
                max_entries: number;
                max_findings: number;
                max_modules: number;
                max_parse_milliseconds: number;
                max_path_bytes: number;
                max_source_map_sources: number;
                max_text_file_bytes: number;
                max_text_files: number;
                max_total_artifact_bytes: number;
                max_total_text_bytes: number;
            };
            source_map_read_approved: boolean;
        };
        moduleNodes: Map<
            string,
            {
                identity: | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
                kind: | "unknown"
                | "target"
                | "native-addon"
                | "source-map"
                | "artifact"
                | "package"
                | "storage"
                | "installer"
                | "asar-entry"
                | "electron-main"
                | "electron-preload"
                | "electron-renderer"
                | "electron-utility"
                | "javascript-asset"
                | "javascript-chunk"
                | "javascript-module"
                | "source-module"
                | "browser-window"
                | "frame"
                | "context-bridge-api"
                | "ipc-channel"
                | "ipc-handler"
                | "worker"
                | "service-worker"
                | "endpoint"
                | "native-export"
                | "runtime-script-instance";
                node_id: string;
                observations: {
                    evidence: {
                        artifact: | { artifact_id: string; available: true; sha256: string }
                        | {
                            available: false;
                            detail: string;
                            reason:
                                | "unknown"
                                | "truncated"
                                | "unresolved"
                                | "not-applicable"
                                | "not-observed"
                                | "not-approved"
                                | "provider-unavailable";
                        };
                        authority: | "unknown"
                        | "controlled-replay"
                        | "historical-reference"
                        | "artifact-bytes"
                        | "ast-static-analysis"
                        | "static-relationship-inference"
                        | "passive-cdp-runtime"
                        | "native-analysis-provider"
                        | "user-assertion";
                        confidence: "unknown"
                        | "exact"
                        | "low"
                        | "medium"
                        | "high";
                        coverage: {
                            limits: {
                                name: string;
                                unit:
                                    | "other"
                                    | "items"
                                    | "bytes"
                                    | "depth"
                                    | "milliseconds"
                                    | "characters"
                                    | "instructions";
                                value: number;
                            }[];
                            omitted_count: number
                            | null;
                            status: "unknown" | "unavailable" | "complete" | "partial";
                            truncated: boolean;
                        };
                        evidence_ids: string[];
                        extractor: {
                            executable_sha256: string
                            | null;
                            name: string;
                            operation: string;
                            version: string;
                        };
                        limitations: string[];
                        location: | {
                            available: false;
                            detail: string;
                            reason: | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                        }
                        | {
                            available: true;
                            value: | {
                                end: { column: number; line: number };
                                kind: "source-range";
                                source: string;
                                start: { column: number; line: number };
                            }
                            | { end: number; kind: "file-offset-range"; start: number }
                            | { kind: "artifact-path"; path: string }
                            | { kind: "url"; url: string }
                            | {
                                capture_sha256: string;
                                frame_key: string | null;
                                kind: "runtime";
                                script_key: string | null;
                                target_key: string;
                            }
                            | { address: string; kind: "native-address"; symbol: string
                            | null }
                            | {
                                export_path: string;
                                kind: "package-export";
                                package_name: string;
                            };
                        };
                        state: "unknown"
                        | "observed"
                        | "inferred"
                        | "unavailable";
                    };
                    identifier_strategy: {
                        stability: "observation-exact";
                        strategy: "semantic-content-sha256";
                    };
                    label: string
                    | null;
                    observation_id: string;
                    properties: Record<string, JSONType>;
                }[];
            },
        >;
        root: {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
        snapshot: ArtifactInventorySnapshot;
    }
    -
    assetNodes: Map<
        string,
        {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        },
    >
    -
    containerNodes: Map<
        string,
        {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        },
    >
    -
    fileNodes: Map<
        string,
        {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        },
    >
    @@ -81,12 +81,12 @@
  • Defined in src/application/JavaScriptArtifactGraphContext.ts:29
  • -
    moduleNodes: Map<
        string,
        {
            identity: | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        },
    >
    -
    root: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    diff --git a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.RoleAssetLinkInput.html b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.RoleAssetLinkInput.html index 06e526bc7b..7394e5cb88 100644 --- a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.RoleAssetLinkInput.html +++ b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.RoleAssetLinkInput.html @@ -14,7 +14,7 @@

    Resolution from an inferred Electron role to an artifact asset.

    -
    interface RoleAssetLinkInput {
        anchor: JavaScriptArtifactFile;
        coverage?: {
            limits: {
                name: string;
                unit:
                    | "other"
                    | "items"
                    | "bytes"
                    | "depth"
                    | "milliseconds"
                    | "characters"
                    | "instructions";
                value: number;
            }[];
            omitted_count: number
            | null;
            status: "unknown" | "unavailable" | "complete" | "partial";
            truncated: boolean;
        };
        path: string
        | null;
        range?: JavaScriptSourceRange;
        role: {
            identity:
                | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
    }
    -
    role: {
        identity:
            | {
                sha256: string;
                stability: "global-exact";
                strategy: "content-digest";
            }
            | {
                original_source: string;
                source_map_sha256: string;
                source_sha256: string
                | null;
                stability: "source-map-exact";
                strategy: "source-map-original";
            }
            | {
                artifact_sha256: string;
                path: string;
                stability: "artifact-version";
                strategy: "canonical-path";
            }
            | {
                algorithm: string;
                basis: (
                    | "imports"
                    | "exports"
                    | "syntax-tree"
                    | "control-flow"
                    | "literals"
                    | "api-usage"
                )[];
                fingerprint_sha256: string;
                stability: "cross-version-inference";
                strategy: "structural-fingerprint";
            }
            | {
                artifact_sha256: string;
                key: string;
                namespace: string;
                stability: "artifact-version";
                strategy: "artifact-local-key";
            }
            | {
                capture_sha256: string;
                runtime_key: string;
                stability: "capture-only";
                strategy: "runtime-instance";
            }
            | {
                observation_sha256: string;
                scope: string;
                stability: "observation-only";
                strategy: "observation-fingerprint";
            };
        kind: | "unknown"
        | "target"
        | "native-addon"
        | "source-map"
        | "artifact"
        | "package"
        | "storage"
        | "installer"
        | "asar-entry"
        | "electron-main"
        | "electron-preload"
        | "electron-renderer"
        | "electron-utility"
        | "javascript-asset"
        | "javascript-chunk"
        | "javascript-module"
        | "source-module"
        | "browser-window"
        | "frame"
        | "context-bridge-api"
        | "ipc-channel"
        | "ipc-handler"
        | "worker"
        | "service-worker"
        | "endpoint"
        | "native-export"
        | "runtime-script-instance";
        node_id: string;
        observations: {
            evidence: {
                artifact: | { artifact_id: string; available: true; sha256: string }
                | {
                    available: false;
                    detail: string;
                    reason:
                        | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                };
                authority: | "unknown"
                | "controlled-replay"
                | "historical-reference"
                | "artifact-bytes"
                | "ast-static-analysis"
                | "static-relationship-inference"
                | "passive-cdp-runtime"
                | "native-analysis-provider"
                | "user-assertion";
                confidence: "unknown"
                | "exact"
                | "low"
                | "medium"
                | "high";
                coverage: {
                    limits: {
                        name: string;
                        unit:
                            | "other"
                            | "items"
                            | "bytes"
                            | "depth"
                            | "milliseconds"
                            | "characters"
                            | "instructions";
                        value: number;
                    }[];
                    omitted_count: number
                    | null;
                    status: "unknown" | "unavailable" | "complete" | "partial";
                    truncated: boolean;
                };
                evidence_ids: string[];
                extractor: {
                    executable_sha256: string
                    | null;
                    name: string;
                    operation: string;
                    version: string;
                };
                limitations: string[];
                location: | {
                    available: false;
                    detail: string;
                    reason: | "unknown"
                    | "truncated"
                    | "unresolved"
                    | "not-applicable"
                    | "not-observed"
                    | "not-approved"
                    | "provider-unavailable";
                }
                | {
                    available: true;
                    value: | {
                        end: { column: number; line: number };
                        kind: "source-range";
                        source: string;
                        start: { column: number; line: number };
                    }
                    | { end: number; kind: "file-offset-range"; start: number }
                    | { kind: "artifact-path"; path: string }
                    | { kind: "url"; url: string }
                    | {
                        capture_sha256: string;
                        frame_key: string | null;
                        kind: "runtime";
                        script_key: string | null;
                        target_key: string;
                    }
                    | { address: string; kind: "native-address"; symbol: string
                    | null }
                    | { export_path: string; kind: "package-export"; package_name: string };
                };
                state: "unknown"
                | "observed"
                | "inferred"
                | "unavailable";
            };
            identifier_strategy: {
                stability: "observation-exact";
                strategy: "semantic-content-sha256";
            };
            label: string
            | null;
            observation_id: string;
            properties: Record<string, JSONType>;
        }[];
    }
    diff --git a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.UnavailableParseInput.html b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.UnavailableParseInput.html index 25c999e4b0..188448b2a2 100644 --- a/docs/api/interfaces/application_JavaScriptArtifactGraphContext.UnavailableParseInput.html +++ b/docs/api/interfaces/application_JavaScriptArtifactGraphContext.UnavailableParseInput.html @@ -14,7 +14,7 @@

    Explicit package, JavaScript, or source-map parse gap.

    -
    interface UnavailableParseInput {
        asset: {
            identity:
                | {
                    sha256: string;
                    stability: "global-exact";
                    strategy: "content-digest";
                }
                | {
                    original_source: string;
                    source_map_sha256: string;
                    source_sha256: string
                    | null;
                    stability: "source-map-exact";
                    strategy: "source-map-original";
                }
                | {
                    artifact_sha256: string;
                    path: string;
                    stability: "artifact-version";
                    strategy: "canonical-path";
                }
                | {
                    algorithm: string;
                    basis: (
                        | "imports"
                        | "exports"
                        | "syntax-tree"
                        | "control-flow"
                        | "literals"
                        | "api-usage"
                    )[];
                    fingerprint_sha256: string;
                    stability: "cross-version-inference";
                    strategy: "structural-fingerprint";
                }
                | {
                    artifact_sha256: string;
                    key: string;
                    namespace: string;
                    stability: "artifact-version";
                    strategy: "artifact-local-key";
                }
                | {
                    capture_sha256: string;
                    runtime_key: string;
                    stability: "capture-only";
                    strategy: "runtime-instance";
                }
                | {
                    observation_sha256: string;
                    scope: string;
                    stability: "observation-only";
                    strategy: "observation-fingerprint";
                };
            kind: | "unknown"
            | "target"
            | "native-addon"
            | "source-map"
            | "artifact"
            | "package"
            | "storage"
            | "installer"
            | "asar-entry"
            | "electron-main"
            | "electron-preload"
            | "electron-renderer"
            | "electron-utility"
            | "javascript-asset"
            | "javascript-chunk"
            | "javascript-module"
            | "source-module"
            | "browser-window"
            | "frame"
            | "context-bridge-api"
            | "ipc-channel"
            | "ipc-handler"
            | "worker"
            | "service-worker"
            | "endpoint"
            | "native-export"
            | "runtime-script-instance";
            node_id: string;
            observations: {
                evidence: {
                    artifact: | { artifact_id: string; available: true; sha256: string }
                    | {
                        available: false;
                        detail: string;
                        reason:
                            | "unknown"
                            | "truncated"
                            | "unresolved"
                            | "not-applicable"
                            | "not-observed"
                            | "not-approved"
                            | "provider-unavailable";
                    };
                    authority: | "unknown"
                    | "controlled-replay"
                    | "historical-reference"
                    | "artifact-bytes"
                    | "ast-static-analysis"
                    | "static-relationship-inference"
                    | "passive-cdp-runtime"
                    | "native-analysis-provider"
                    | "user-assertion";
                    confidence: "unknown"
                    | "exact"
                    | "low"
                    | "medium"
                    | "high";
                    coverage: {
                        limits: {
                            name: string;
                            unit:
                                | "other"
                                | "items"
                                | "bytes"
                                | "depth"
                                | "milliseconds"
                                | "characters"
                                | "instructions";
                            value: number;
                        }[];
                        omitted_count: number
                        | null;
                        status: "unknown" | "unavailable" | "complete" | "partial";
                        truncated: boolean;
                    };
                    evidence_ids: string[];
                    extractor: {
                        executable_sha256: string
                        | null;
                        name: string;
                        operation: string;
                        version: string;
                    };
                    limitations: string[];
                    location: | {
                        available: false;
                        detail: string;
                        reason: | "unknown"
                        | "truncated"
                        | "unresolved"
                        | "not-applicable"
                        | "not-observed"
                        | "not-approved"
                        | "provider-unavailable";
                    }
                    | {
                        available: true;
                        value: | {
                            end: { column: number; line: number };
                            kind: "source-range";
                            source: string;
                            start: { column: number; line: number };
                        }
                        | { end: number; kind: "file-offset-range"; start: number }
                        | { kind: "artifact-path"; path: string }
                        | { kind: "url"; url: string }
                        | {
                            capture_sha256: string;
                            frame_key: string | null;
                            kind: "runtime";
                            script_key: string | null;
                            target_key: string;
                        }
                        | { address: string; kind: "native-address"; symbol: string
                        | null }
                        | { export_path: string; kind: "package-export"; package_name: string };
                    };
                    state: "unknown"
                    | "observed"
                    | "inferred"
                    | "unavailable";
                };
                identifier_strategy: {
                    stability: "observation-exact";
                    strategy: "semantic-content-sha256";
                };
                label: string
                | null;
                observation_id: string;
                properties: Record<string, JSONType>;
            }[];
        };
        file: JavaScriptArtifactFile;
        limitation: string;
        operation: string;
    }
    -
    interface SetupHost {
        nodeVersion: string;
        platform: Platform;
        clientNeedsConfigure(
            client: SetupClient,
            providerEnvironment: SetupProviderEnvironment,
            command: readonly string[],
        ): Promise<boolean>;
        configureClient(
            client: SetupClient,
            providerEnvironment: SetupProviderEnvironment,
            command: readonly string[],
        ): Promise<ClientConfigurationResult>;
        detectedClients(): Promise<readonly SetupClient[]>;
        doctor(): Promise<
            {
                checks: readonly DoctorCheck[];
                healthy: boolean;
                hopperPath?: string;
                identity?: {
                    catalog: {
                        counts: {
                            cli_commands: number;
                            mcp_prompts: number;
                            mcp_resource_templates: 7;
                            mcp_resources: 2;
                            mcp_tools: number;
                        };
                        digests: {
                            combined_sha256: string;
                            prompts_sha256: string;
                            resources_sha256: string;
                            tools_sha256: string;
                        };
                        tools: {
                            annotations: {
                                destructive: boolean;
                                idempotent: boolean;
                                open_world: boolean;
                                read_only: boolean;
                            };
                            name: | "open_binary"
                            | "list_browser_targets"
                            | "inspect_web_page"
                            | "analyze_web_bundle"
                            | "observe_web_session"
                            | "discover_webmcp_tools"
                            | "compare_web_captures"
                            | "capture_web_screenshot"
                            | "compare_web_screenshots"
                            | "list_electron_targets"
                            | "inspect_electron_page"
                            | "inventory_artifact"
                            | "extract_artifact"
                            | "analyze_javascript_application"
                            | "swift_classes"
                            | "get_objc_classes"
                            | "get_objc_protocols"
                            | "batch_decompile"
                            | "get_call_graph"
                            | "analyze_swift_types"
                            | "find_xrefs_to_name"
                            | "binary_overview"
                            | "analyze_function"
                            | "trace_feature"
                            | "comment"
                            | "compare_artifacts"
                            | "find_changed_behavior"
                            | "compare_process_captures"
                            | "compare_functions"
                            | "capture_process_scenario"
                            | "address_name"
                            | "current_address"
                            | "current_procedure"
                            | "current_document"
                            | "goto_address"
                            | "inline_comment"
                            | "list_bookmarks"
                            | "list_documents"
                            | "list_names"
                            | "list_procedures"
                            | "list_segments"
                            | "list_strings"
                            | "next_address"
                            | "prev_address"
                            | "procedure_address"
                            | "procedure_assembly"
                            | "procedure_callees"
                            | "procedure_callers"
                            | "procedure_info"
                            | "procedure_references"
                            | "procedure_pseudo_code"
                            | "resolve_containing_procedure"
                            | "search_procedures"
                            | "search_strings"
                            | "set_address_name"
                            | "set_addresses_names"
                            | "set_bookmark"
                            | "set_comment"
                            | "set_current_document"
                            | "set_inline_comment"
                            | "unset_bookmark"
                            | "xrefs"
                            | "inspect_macho"
                            | "inspect_signature"
                            | "inspect_plist"
                            | "list_architectures"
                            | "demangle_swift"
                            | "close_binary"
                            | "binary_session"
                            | "export_evidence_bundle"
                            | "import_evidence_bundle"
                            | "compare_bundles"
                            | "build_call_path"
                            | "correlate_static_and_runtime"
                            | "verify_reconstruction"
                            | "list_unknowns"
                            | "record_unknown"
                            | "update_unknown"
                            | "verify_unknown_resolution";
                            surface: ToolKind;
                        }[];
                    };
                    cli_package_version: string;
                    expected_skill_version: string;
                    installations: {
                        paths: readonly string[];
                        state: "unknown"
                        | "single"
                        | "multiple";
                    };
                    live_server: { remediation: string; state: "unknown" };
                    registrations: readonly ClientRegistrationStatus[];
                    sdk: {
                        client_test: "2.0.0-beta.4";
                        core: "2.0.0-beta.4";
                        server: "2.0.0-beta.4";
                    };
                    skill: {
                        installed_version: string
                        | null;
                        remediation: string | null;
                        state: "unknown" | "aligned" | "stale";
                    };
                };
                providerInspections?: readonly DoctorProviderInspection[];
            },
        >;
        hopperPath(): Promise<string | undefined>;
        installHopper(replaceExisting: boolean): Promise<SetupHopperInstallResult>;
        installSkill(): Promise<"failed" | "unchanged" | "installed">;
        linuxDistribution(): Promise<LinuxDistribution | undefined>;
        macosVersion(): Promise<string | undefined>;
        providerEnvironment?(): Promise<Readonly<Record<string, string>>>;
        skillNeedsInstall(): Promise<boolean>;
    }
    interface StableWebResource {
        content_size: number | null;
        mime_type: string;
        origin: string | null;
        resource_key: string;
        type: string;
        url: string;
    }
    -
    +

    Hierarchy (View Summary)

    • WebInventoryResourceInput diff --git a/docs/api/interfaces/domain_webInventory.WebInventoryResourceInput.html b/docs/api/interfaces/domain_webInventory.WebInventoryResourceInput.html index 5db5d4a2a7..936a277434 100644 --- a/docs/api/interfaces/domain_webInventory.WebInventoryResourceInput.html +++ b/docs/api/interfaces/domain_webInventory.WebInventoryResourceInput.html @@ -12,7 +12,7 @@
    • WebInventoryResourceInput

    Interface WebInventoryResourceInput

    interface WebInventoryResourceInput {
        content_size: number | null;
        mime_type: string;
        origin: string | null;
        type: string;
        url: string;
    }
    -
    +

    Hierarchy (View Summary)

    interface GhidraLaunch {
        cleanup?: () => Promise<ProcessCleanupResult>;
        ghidraLogPath: string;
        ownsProcessLifetime: boolean;
        process: ChildProcess;
        projectRoot: string;
        scriptLogPath: string;
    }
    -
    +

    Hierarchy (View Summary)

    • ProviderProcessLaunch diff --git a/docs/api/interfaces/ghidra_GhidraSessionError.GhidraSessionErrorOptions.html b/docs/api/interfaces/ghidra_GhidraSessionError.GhidraSessionErrorOptions.html index 805c68b417..6984ad5bc6 100644 --- a/docs/api/interfaces/ghidra_GhidraSessionError.GhidraSessionErrorOptions.html +++ b/docs/api/interfaces/ghidra_GhidraSessionError.GhidraSessionErrorOptions.html @@ -15,7 +15,7 @@

      Additional structured context for a Ghidra session failure.

    interface GhidraSessionErrorOptions {
        remoteCode?: string;
        timeoutMs?: number;
    }
    -
    +

    Hierarchy

    • ErrorOptions diff --git a/docs/api/interfaces/hopper_BridgeLauncher.BridgeLaunch.html b/docs/api/interfaces/hopper_BridgeLauncher.BridgeLaunch.html index 0400ca8f97..1979fe5ca9 100644 --- a/docs/api/interfaces/hopper_BridgeLauncher.BridgeLaunch.html +++ b/docs/api/interfaces/hopper_BridgeLauncher.BridgeLaunch.html @@ -15,7 +15,7 @@

      Process handle returned by a bridge launcher.

    interface BridgeLaunch {
        cleanup?: () => Promise<ProcessCleanupResult>;
        ownsProcessLifetime: boolean;
        process: ChildProcess;
        shutdownByCleanup?: boolean;
    }
    -
    +

    Hierarchy (View Summary)

    • ProviderProcessLaunch diff --git a/docs/api/interfaces/process_ProviderProcess.ProviderProcessLaunch.html b/docs/api/interfaces/process_ProviderProcess.ProviderProcessLaunch.html index d34cf549ce..3df9d777d1 100644 --- a/docs/api/interfaces/process_ProviderProcess.ProviderProcessLaunch.html +++ b/docs/api/interfaces/process_ProviderProcess.ProviderProcessLaunch.html @@ -15,7 +15,7 @@

      Process handle returned by a provider-specific launcher.

    interface ProviderProcessLaunch {
        cleanup?: () => Promise<ProcessCleanupResult>;
        ownsProcessLifetime: boolean;
        process: ChildProcess;
    }
    -
    +

    Hierarchy (View Summary)

    • ProviderProcessLaunch diff --git a/docs/api/modules/application_InvestigationProviders.html b/docs/api/modules/application_InvestigationProviders.html index edddc1c655..1abf587966 100644 --- a/docs/api/modules/application_InvestigationProviders.html +++ b/docs/api/modules/application_InvestigationProviders.html @@ -11,7 +11,7 @@
    • application/InvestigationProviders

    Module application/InvestigationProviders

    -
    ARTIFACT_COMPARISON_PROVIDER
    ARTIFACT_GRAPH_PROVIDER
    BUNDLE_COMPARISON_PROVIDER
    CALL_PATH_PROVIDER
    CHANGED_BEHAVIOR_PROVIDER
    FUNCTION_COMPARISON_PROVIDER
    JAVASCRIPT_APPLICATION_PROVIDER
    REA_WORKFLOW_PROVIDER
    RECONSTRUCTION_PROVIDER
    STATIC_RUNTIME_PROVIDER
    +
    ARTIFACT_COMPARISON_PROVIDER
    ARTIFACT_GRAPH_PROVIDER
    BUNDLE_COMPARISON_PROVIDER
    CALL_PATH_PROVIDER
    CHANGED_BEHAVIOR_PROVIDER
    FUNCTION_COMPARISON_PROVIDER
    JAVASCRIPT_APPLICATION_PROVIDER
    JAVASCRIPT_RUNTIME_RECONCILIATION_PROVIDER
    REA_WORKFLOW_PROVIDER
    RECONSTRUCTION_PROVIDER
    STATIC_RUNTIME_PROVIDER
    workflowAnalysisProfile
    WebPageInspection: z.infer<typeof webPageInspectionSchema>
    +
  • Defined in src/domain/browserObservation.ts:646
  • +
  • Defined in src/domain/electronObservation.ts:207
  • +
  • Defined in src/domain/electronObservation.ts:131
  • +
  • Defined in src/domain/electronObservation.ts:93
  • +
  • Defined in src/application/InvestigationProviders.ts:43
  • +
  • Defined in src/application/InvestigationProviders.ts:57
  • +
  • Defined in src/application/InvestigationProviders.ts:71
  • +
  • Defined in src/application/InvestigationProviders.ts:64
  • +
  • Defined in src/application/InvestigationProviders.ts:50
  • +
  • Defined in src/application/InvestigationProviders.ts:85
  • +
  • Defined in src/application/InvestigationProviders.ts:78
  • -
    ELECTRON_TOOL_CONTRACTS: readonly [
        {
            annotations: {
                destructiveHint: false;
                idempotentHint: true;
                openWorldHint: true;
                readOnlyHint: true;
            };
            description: "List Electron file:// page targets from an approved user-owned loopback CDP endpoint. Every path is canonicalized and must remain contained by an approved filesystem root, including after symlink resolution.";
            examples: readonly [
                {
                    input: {
                        allowed_file_roots: ["/Applications/Example.app/Contents/Resources"];
                        approved: true;
                        cdp_endpoint: "http://127.0.0.1:9223";
                        limit: 100;
                        offset: 0;
                    };
                    title: "List approved Electron file pages";
                },
            ];
            inputSchema: ZodObject<
                {
                    allowed_file_roots: ZodPipe<
                        ZodArray<ZodString>,
                        ZodTransform<string[], string[]>,
                    >;
                    approved: ZodLiteral<true>;
                    cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
                    limit: ZodDefault<ZodNumber>;
                    offset: ZodDefault<ZodNumber>;
                },
                $strip,
            >;
            kind: "electron-provider";
            name: "list_electron_targets";
            outputSchema: ZodObject<
                {
                    analysis_profile: ZodOptional<
                        ZodObject<
                            {
                                digest: ZodString;
                                parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                provider: ZodObject<
                                    { id: ZodString; name: ZodString; version: ZodString },
                                    $strip,
                                >;
                                provider_profile_schema_version: ZodNumber;
                                schema_version: ZodLiteral<1>;
                            },
                            $strip,
                        >,
                    >;
                    authority: ZodEnum<
                        {
                            "analyst-inference": "analyst-inference";
                            "controlled-replay": "controlled-replay";
                            "external-service": "external-service";
                            "historical-reference": "historical-reference";
                            "shipped-artifact": "shipped-artifact";
                        },
                    >;
                    confidence: ZodEnum<
                        { derived: "derived"; inferred: "inferred"; observed: "observed" },
                    >;
                    environment: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodString;
                                id: ZodString;
                                isolation: ZodEnum<
                                    {
                                        container: "container";
                                        none: "none";
                                        process: "process";
                                        "virtual-machine": "virtual-machine";
                                    },
                                >;
                                platform: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    evidence_id: ZodString;
                    evidence_links: ZodArray<ZodString>;
                    limitations: ZodArray<ZodString>;
                    locations: ZodArray<
                        ZodDiscriminatedUnion<
                            [
                                ZodObject<
                                    { address: ZodString; kind: ZodLiteral<"address"> },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodString;
                                        kind: ZodLiteral<"address-range">;
                                        start: ZodString;
                                    },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"artifact-path">; path: ZodString },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"file-offset">; offset: ZodNumber },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodNumber;
                                        kind: ZodLiteral<"file-offset-range">;
                                        start: ZodNumber;
                                    },
                                    $strip,
                                >,
                            ],
                            "kind",
                        >,
                    >;
                    normalized_result: ZodObject<
                        {
                            browser: ZodObject<
                                {
                                    js_version: ZodString;
                                    product: ZodString;
                                    protocol_version: ZodString;
                                    revision: ZodString;
                                    user_agent: ZodString;
                                },
                                $strip,
                            >;
                            excluded: ZodObject<
                                {
                                    non_page: ZodNumber;
                                    outside_root: ZodNumber;
                                    unsupported_url: ZodNumber;
                                },
                                $strip,
                            >;
                            limitations: ZodArray<ZodString>;
                            schema_version: ZodLiteral<1>;
                            targets: ZodObject<
                                {
                                    has_more: ZodBoolean;
                                    items: ZodArray<
                                        ZodObject<
                                            {
                                                attached: ...;
                                                file_path: ...;
                                                target_id: ...;
                                                title: ...;
                                                type: ...;
                                            },
                                            $strip,
                                        >,
                                    >;
                                    limit: ZodNumber;
                                    next_offset: ZodNullable<ZodNumber>;
                                    offset: ZodNumber;
                                    total: ZodNumber;
                                },
                                $strip,
                            >;
                        },
                        $strip,
                    >;
                    operation: ZodString;
                    parameters: ZodRecord<ZodString, ZodJSONSchema>;
                    predicate_type: ZodString;
                    provider: ZodObject<
                        { id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
                        $strip,
                    >;
                    raw_result: ZodNullable<ZodJSONSchema>;
                    schema_version: ZodLiteral<2>;
                    subject: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodNullable<
                                    ZodEnum<
                                        { arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
                                    >,
                                >;
                                digest: ZodObject<{ sha256: ZodString }, $strip>;
                                format: ZodEnum<
                                    {
                                        "analysis-database": "analysis-database";
                                        apk: "apk";
                                        asar: "asar";
                                        directory: "directory";
                                        dmg: "dmg";
                                        elf: "elf";
                                        entitlements: "entitlements";
                                        file: "file";
                                        hopper: "hopper";
                                        ipa: "ipa";
                                        javascript: "javascript";
                                        "javascript-bundle": "javascript-bundle";
                                        "mach-o": "mach-o";
                                        "mach-o-universal": "mach-o-universal";
                                        pe: "pe";
                                        pkg: "pkg";
                                        plist: "plist";
                                        "source-map": "source-map";
                                        unknown: "unknown";
                                        zip: "zip";
                                    },
                                >;
                                local_path: ZodString;
                                name: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strict,
            >;
        },
        {
            annotations: {
                destructiveHint: false;
                idempotentHint: true;
                openWorldHint: true;
                readOnlyHint: true;
            };
            description: "Passively inspect one approved Electron file page through CDP. Returns root-confined frames, DOM structure, resource paths, and scripts without evaluating renderer JavaScript or invoking Electron APIs; script contents require separate approval.";
            examples: readonly [
                {
                    input: {
                        allowed_file_roots: ["/Applications/Example.app/Contents/Resources"];
                        approved: true;
                        cdp_endpoint: "http://127.0.0.1:9223";
                        include_script_sources: false;
                        limits: {
                            max_dom_nodes: 2000;
                            max_frames: 200;
                            max_resources: 2000;
                            max_script_source_bytes: 1048576;
                            max_scripts: 500;
                            max_total_script_source_bytes: 4194304;
                        };
                        observation_ms: 100;
                        source_capture_approved: false;
                        target_id: "TARGET_ID_FROM_LIST_ELECTRON_TARGETS";
                    };
                    title: "Inspect an approved Electron page";
                },
            ];
            inputSchema: ZodObject<
                {
                    allowed_file_roots: ZodPipe<
                        ZodArray<ZodString>,
                        ZodTransform<string[], string[]>,
                    >;
                    approved: ZodLiteral<true>;
                    cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
                    include_script_sources: ZodDefault<ZodBoolean>;
                    limits: ZodDefault<
                        ZodObject<
                            {
                                max_dom_nodes: ZodDefault<ZodNumber>;
                                max_frames: ZodDefault<ZodNumber>;
                                max_resources: ZodDefault<ZodNumber>;
                                max_script_source_bytes: ZodDefault<ZodNumber>;
                                max_scripts: ZodDefault<ZodNumber>;
                                max_total_script_source_bytes: ZodDefault<ZodNumber>;
                            },
                            $strip,
                        >,
                    >;
                    observation_ms: ZodDefault<ZodNumber>;
                    source_capture_approved: ZodDefault<ZodBoolean>;
                    target_id: ZodString;
                },
                $strip,
            >;
            kind: "electron-provider";
            name: "inspect_electron_page";
            outputSchema: ZodObject<
                {
                    analysis_profile: ZodOptional<
                        ZodObject<
                            {
                                digest: ZodString;
                                parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                provider: ZodObject<
                                    { id: ZodString; name: ZodString; version: ZodString },
                                    $strip,
                                >;
                                provider_profile_schema_version: ZodNumber;
                                schema_version: ZodLiteral<1>;
                            },
                            $strip,
                        >,
                    >;
                    authority: ZodEnum<
                        {
                            "analyst-inference": "analyst-inference";
                            "controlled-replay": "controlled-replay";
                            "external-service": "external-service";
                            "historical-reference": "historical-reference";
                            "shipped-artifact": "shipped-artifact";
                        },
                    >;
                    confidence: ZodEnum<
                        { derived: "derived"; inferred: "inferred"; observed: "observed" },
                    >;
                    environment: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodString;
                                id: ZodString;
                                isolation: ZodEnum<
                                    {
                                        container: "container";
                                        none: "none";
                                        process: "process";
                                        "virtual-machine": "virtual-machine";
                                    },
                                >;
                                platform: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    evidence_id: ZodString;
                    evidence_links: ZodArray<ZodString>;
                    limitations: ZodArray<ZodString>;
                    locations: ZodArray<
                        ZodDiscriminatedUnion<
                            [
                                ZodObject<
                                    { address: ZodString; kind: ZodLiteral<"address"> },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodString;
                                        kind: ZodLiteral<"address-range">;
                                        start: ZodString;
                                    },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"artifact-path">; path: ZodString },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"file-offset">; offset: ZodNumber },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodNumber;
                                        kind: ZodLiteral<"file-offset-range">;
                                        start: ZodNumber;
                                    },
                                    $strip,
                                >,
                            ],
                            "kind",
                        >,
                    >;
                    normalized_result: ZodObject<
                        {
                            browser: ZodObject<
                                {
                                    js_version: ZodString;
                                    product: ZodString;
                                    protocol_version: ZodString;
                                    revision: ZodString;
                                    user_agent: ZodString;
                                },
                                $strip,
                            >;
                            capture_window: ZodObject<
                                {
                                    ended_at: ZodISODateTime;
                                    observation_ms: ZodNumber;
                                    started_at: ZodISODateTime;
                                },
                                $strip,
                            >;
                            completeness: ZodObject<
                                {
                                    attach_limited_sections: ZodArray<
                                        ZodEnum<
                                            {
                                                accessibility: ...;
                                                console_events: ...;
                                                console_text: ...;
                                                dom: ...;
                                                frames: ...;
                                                json_body_shapes: ...;
                                                metadata: ...;
                                                network_initiators: ...;
                                                network_requests: ...;
                                                resources: ...;
                                                screenshot: ...;
                                                script_sources: ...;
                                                scripts: ...;
                                                source_maps: ...;
                                                storage: ...;
                                                storage_keys: ...;
                                                timeline: ...;
                                                webmcp_tools: ...;
                                                websocket_connections: ...;
                                                websocket_frames: ...;
                                                websocket_shapes: ...;
                                                workers: ...;
                                            },
                                        >,
                                    >;
                                    conditions: ZodArray<
                                        ZodEnum<
                                            {
                                                attach_limited: ...;
                                                complete_within_window: ...;
                                                policy_filtered: ...;
                                                truncated: ...;
                                            },
                                        >,
                                    >;
                                    dropped_events: ZodObject<
                                        {
                                            console_events: ZodNumber;
                                            network_requests: ZodNumber;
                                            scripts: ZodNumber;
                                            timeline_events: ZodNumber;
                                            total: ZodNumber;
                                            webmcp_tools: ZodNumber;
                                            websocket_connections: ZodNumber;
                                            websocket_frames: ZodNumber;
                                        },
                                        $strip,
                                    >;
                                    excluded: ZodArray<
                                        ZodObject<{ count: ...; reason: ...; section: ... }, $strip>,
                                    >;
                                    policy_filtered_sections: ZodArray<
                                        ZodEnum<
                                            {
                                                accessibility: ...;
                                                console_events: ...;
                                                console_text: ...;
                                                dom: ...;
                                                frames: ...;
                                                json_body_shapes: ...;
                                                metadata: ...;
                                                network_initiators: ...;
                                                network_requests: ...;
                                                resources: ...;
                                                screenshot: ...;
                                                script_sources: ...;
                                                scripts: ...;
                                                source_maps: ...;
                                                storage: ...;
                                                storage_keys: ...;
                                                timeline: ...;
                                                webmcp_tools: ...;
                                                websocket_connections: ...;
                                                websocket_frames: ...;
                                                websocket_shapes: ...;
                                                workers: ...;
                                            },
                                        >,
                                    >;
                                    status: ZodEnum<
                                        {
                                            attach_limited: "attach_limited";
                                            complete_within_window: "complete_within_window";
                                            policy_filtered: "policy_filtered";
                                            truncated: "truncated";
                                        },
                                    >;
                                    truncated_sections: ZodArray<
                                        ZodEnum<
                                            {
                                                accessibility: ...;
                                                console_events: ...;
                                                console_text: ...;
                                                dom: ...;
                                                frames: ...;
                                                json_body_shapes: ...;
                                                metadata: ...;
                                                network_initiators: ...;
                                                network_requests: ...;
                                                resources: ...;
                                                screenshot: ...;
                                                script_sources: ...;
                                                scripts: ...;
                                                source_maps: ...;
                                                storage: ...;
                                                storage_keys: ...;
                                                timeline: ...;
                                                webmcp_tools: ...;
                                                websocket_connections: ...;
                                                websocket_frames: ...;
                                                websocket_shapes: ...;
                                                workers: ...;
                                            },
                                        >,
                                    >;
                                    unavailable_sections: ZodArray<
                                        ZodEnum<
                                            {
                                                accessibility: ...;
                                                console_events: ...;
                                                console_text: ...;
                                                dom: ...;
                                                frames: ...;
                                                json_body_shapes: ...;
                                                metadata: ...;
                                                network_initiators: ...;
                                                network_requests: ...;
                                                resources: ...;
                                                screenshot: ...;
                                                script_sources: ...;
                                                scripts: ...;
                                                source_maps: ...;
                                                storage: ...;
                                                storage_keys: ...;
                                                timeline: ...;
                                                webmcp_tools: ...;
                                                websocket_connections: ...;
                                                websocket_frames: ...;
                                                websocket_shapes: ...;
                                                workers: ...;
                                            },
                                        >,
                                    >;
                                },
                                $strip,
                            >;
                            dom: ZodObject<
                                {
                                    nodes: ZodArray<
                                        ZodObject<
                                            {
                                                attribute_names: ...;
                                                index: ...;
                                                node_name: ...;
                                                node_type: ...;
                                                node_value_length: ...;
                                                parent_index: ...;
                                            },
                                            $strip,
                                        >,
                                    >;
                                    total_nodes: ZodNumber;
                                },
                                $strip,
                            >;
                            frames: ZodArray<
                                ZodObject<
                                    {
                                        file_path: ZodString;
                                        frame_id: ZodString;
                                        parent_frame_id: ZodNullable<ZodString>;
                                    },
                                    $strip,
                                >,
                            >;
                            limitations: ZodArray<ZodString>;
                            resources: ZodArray<
                                ZodObject<
                                    {
                                        content_size: ZodNullable<ZodNumber>;
                                        file_path: ZodString;
                                        mime_type: ZodString;
                                        resource_key: ZodString;
                                        type: ZodString;
                                    },
                                    $strip,
                                >,
                            >;
                            schema_version: ZodLiteral<1>;
                            scripts: ZodObject<
                                {
                                    items: ZodArray<
                                        ZodObject<
                                            {
                                                cdp_hash: ...;
                                                file_path: ...;
                                                is_module: ...;
                                                language: ...;
                                                length: ...;
                                                script_key: ...;
                                                source: ...;
                                            },
                                            $strip,
                                        >,
                                    >;
                                    total: ZodNumber;
                                },
                                $strip,
                            >;
                            target: ZodObject<
                                {
                                    attached: ZodBoolean;
                                    file_path: ZodString;
                                    target_id: ZodString;
                                    title: ZodString;
                                    type: ZodString;
                                },
                                $strip,
                            >;
                        },
                        $strip,
                    >;
                    operation: ZodString;
                    parameters: ZodRecord<ZodString, ZodJSONSchema>;
                    predicate_type: ZodString;
                    provider: ZodObject<
                        { id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
                        $strip,
                    >;
                    raw_result: ZodNullable<ZodJSONSchema>;
                    schema_version: ZodLiteral<2>;
                    subject: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodNullable<
                                    ZodEnum<
                                        { arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
                                    >,
                                >;
                                digest: ZodObject<{ sha256: ZodString }, $strip>;
                                format: ZodEnum<
                                    {
                                        "analysis-database": "analysis-database";
                                        apk: "apk";
                                        asar: "asar";
                                        directory: "directory";
                                        dmg: "dmg";
                                        elf: "elf";
                                        entitlements: "entitlements";
                                        file: "file";
                                        hopper: "hopper";
                                        ipa: "ipa";
                                        javascript: "javascript";
                                        "javascript-bundle": "javascript-bundle";
                                        "mach-o": "mach-o";
                                        "mach-o-universal": "mach-o-universal";
                                        pe: "pe";
                                        pkg: "pkg";
                                        plist: "plist";
                                        "source-map": "source-map";
                                        unknown: "unknown";
                                        zip: "zip";
                                    },
                                >;
                                local_path: ZodString;
                                name: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strict,
            >;
        },
        {
            annotations: {
                destructiveHint: false;
                idempotentHint: true;
                openWorldHint: false;
                readOnlyHint: true;
            };
            description: "Statically reconstruct one approved local ASAR or extracted JavaScript application as Evidence v2 and JavaScript Application Graph v1. Maps BrowserWindow preferences, preload and contextBridge APIs, literal and dynamic IPC, handler locations, sender-validation observations, utility processes, and requested native addon bindings without executing JavaScript; source-map contents require separate approval.";
            examples: readonly [
                {
                    input: {
                        approved: true;
                        format: "auto";
                        input_path: "/Applications/Example.app/Contents/Resources/app.asar";
                        source_map_read_approved: false;
                    };
                    title: "Analyze one approved local Electron application";
                },
            ];
            inputSchema: ZodObject<
                {
                    approved: ZodLiteral<true>;
                    format: ZodDefault<
                        ZodEnum<{ asar: "asar"; auto: "auto"; directory: "directory" }>,
                    >;
                    input_path: ZodString;
                    limits: ZodDefault<
                        ZodObject<
                            {
                                max_artifact_entry_bytes: ZodDefault<ZodNumber>;
                                max_ast_nodes: ZodDefault<ZodNumber>;
                                max_compression_ratio: ZodDefault<ZodNumber>;
                                max_depth: ZodDefault<ZodNumber>;
                                max_entries: ZodDefault<ZodNumber>;
                                max_findings: ZodDefault<ZodNumber>;
                                max_modules: ZodDefault<ZodNumber>;
                                max_parse_milliseconds: ZodDefault<ZodNumber>;
                                max_path_bytes: ZodDefault<ZodNumber>;
                                max_source_map_sources: ZodDefault<ZodNumber>;
                                max_text_file_bytes: ZodDefault<ZodNumber>;
                                max_text_files: ZodDefault<ZodNumber>;
                                max_total_artifact_bytes: ZodDefault<ZodNumber>;
                                max_total_text_bytes: ZodDefault<ZodNumber>;
                            },
                            $strict,
                        >,
                    >;
                    source_map_read_approved: ZodDefault<ZodBoolean>;
                },
                $strict,
            >;
            kind: "electron-provider";
            name: "analyze_javascript_application";
            outputSchema: ZodObject<
                {
                    analysis_profile: ZodOptional<
                        ZodObject<
                            {
                                digest: ZodString;
                                parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                provider: ZodObject<
                                    { id: ZodString; name: ZodString; version: ZodString },
                                    $strip,
                                >;
                                provider_profile_schema_version: ZodNumber;
                                schema_version: ZodLiteral<1>;
                            },
                            $strip,
                        >,
                    >;
                    authority: ZodEnum<
                        {
                            "analyst-inference": "analyst-inference";
                            "controlled-replay": "controlled-replay";
                            "external-service": "external-service";
                            "historical-reference": "historical-reference";
                            "shipped-artifact": "shipped-artifact";
                        },
                    >;
                    confidence: ZodEnum<
                        { derived: "derived"; inferred: "inferred"; observed: "observed" },
                    >;
                    environment: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodString;
                                id: ZodString;
                                isolation: ZodEnum<
                                    {
                                        container: "container";
                                        none: "none";
                                        process: "process";
                                        "virtual-machine": "virtual-machine";
                                    },
                                >;
                                platform: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    evidence_id: ZodString;
                    evidence_links: ZodArray<ZodString>;
                    limitations: ZodArray<ZodString>;
                    locations: ZodArray<
                        ZodDiscriminatedUnion<
                            [
                                ZodObject<
                                    { address: ZodString; kind: ZodLiteral<"address"> },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodString;
                                        kind: ZodLiteral<"address-range">;
                                        start: ZodString;
                                    },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"artifact-path">; path: ZodString },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"file-offset">; offset: ZodNumber },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodNumber;
                                        kind: ZodLiteral<"file-offset-range">;
                                        start: ZodNumber;
                                    },
                                    $strip,
                                >,
                            ],
                            "kind",
                        >,
                    >;
                    normalized_result: ZodObject<
                        {
                            format: ZodEnum<{ asar: "asar"; directory: "directory" }>;
                            graph: ZodObject<
                                {
                                    coverage: ZodObject<
                                        {
                                            limits: ZodArray<(...)>;
                                            omitted_count: ZodNullable<(...)>;
                                            status: ZodEnum<(...)>;
                                            truncated: ZodBoolean;
                                        },
                                        $strict,
                                    >;
                                    edges: ZodArray<
                                        ZodObject<
                                            {
                                                edge_id: ...;
                                                evidence: ...;
                                                identifier_strategy: ...;
                                                properties: ...;
                                                relation: ...;
                                                source_node_id: ...;
                                                target_node_id: ...;
                                            },
                                            $strict,
                                        >,
                                    >;
                                    graph_id: ZodString;
                                    limitations: ZodArray<ZodString>;
                                    nodes: ZodArray<
                                        ZodObject<
                                            { identity: ...; kind: ...; node_id: ...; observations: ... },
                                            $strict,
                                        >,
                                    >;
                                    root_node_ids: ZodArray<ZodString>;
                                    schema: ZodLiteral<"JavaScriptApplicationGraph">;
                                    schema_version: ZodLiteral<1>;
                                },
                                $strict,
                            >;
                            input_path: ZodString;
                            inventory_graph_sha256: ZodString;
                            inventory_manifest_id: ZodString;
                            limitations: ZodArray<ZodString>;
                            root_artifact_sha256: ZodString;
                            schema_version: ZodLiteral<1>;
                            statistics: ZodObject<
                                {
                                    findings: ZodNumber;
                                    invalid_utf8_files: ZodNumber;
                                    limit_omitted_text_files: ZodNumber;
                                    modules: ZodNumber;
                                    nested_asar_containers: ZodNumber;
                                    omitted_text_files: ZodNumber;
                                    parse_failures: ZodNumber;
                                    parsed_javascript_files: ZodNumber;
                                    policy_filtered_text_files: ZodNumber;
                                    relevant_files: ZodNumber;
                                    text_bytes_read: ZodNumber;
                                    text_files_selected: ZodNumber;
                                    truncated_scopes: ZodNumber;
                                    visited_ast_nodes: ZodNumber;
                                },
                                $strict,
                            >;
                            summary: ZodObject<
                                {
                                    browser_windows: ZodNumber;
                                    context_bridge_apis: ZodNumber;
                                    explicit_web_preferences: ZodNumber;
                                    exposed_api_members: ZodNumber;
                                    ipc: ZodObject<
                                        {
                                            ambiguous_renderer_transmissions: ZodNumber;
                                            dynamic_channel_operations: ZodNumber;
                                            literal_channels: ZodNumber;
                                            main_handlers: ZodNumber;
                                            operations: ZodNumber;
                                            paired_renderer_transmissions: ZodNumber;
                                            renderer_listeners: ZodNumber;
                                            renderer_transmissions: ZodNumber;
                                            unpaired_literal_renderer_transmissions: ZodNumber;
                                        },
                                        $strict,
                                    >;
                                    native_addon_bindings: ZodNumber;
                                    preload_entrypoints: ZodNumber;
                                    resolved_native_addon_bindings: ZodNumber;
                                    resolved_utility_entrypoints: ZodNumber;
                                    sender_validation_observations: ZodNumber;
                                    utility_processes: ZodNumber;
                                },
                                $strict,
                            >;
                        },
                        $strict,
                    >;
                    operation: ZodString;
                    parameters: ZodRecord<ZodString, ZodJSONSchema>;
                    predicate_type: ZodString;
                    provider: ZodObject<
                        { id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
                        $strip,
                    >;
                    raw_result: ZodNullable<ZodJSONSchema>;
                    schema_version: ZodLiteral<2>;
                    subject: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodNullable<
                                    ZodEnum<
                                        { arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
                                    >,
                                >;
                                digest: ZodObject<{ sha256: ZodString }, $strip>;
                                format: ZodEnum<
                                    {
                                        "analysis-database": "analysis-database";
                                        apk: "apk";
                                        asar: "asar";
                                        directory: "directory";
                                        dmg: "dmg";
                                        elf: "elf";
                                        entitlements: "entitlements";
                                        file: "file";
                                        hopper: "hopper";
                                        ipa: "ipa";
                                        javascript: "javascript";
                                        "javascript-bundle": "javascript-bundle";
                                        "mach-o": "mach-o";
                                        "mach-o-universal": "mach-o-universal";
                                        pe: "pe";
                                        pkg: "pkg";
                                        plist: "plist";
                                        "source-map": "source-map";
                                        unknown: "unknown";
                                        zip: "zip";
                                    },
                                >;
                                local_path: ZodString;
                                name: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strict,
            >;
        },
    ] = ...
    +
    ELECTRON_TOOL_CONTRACTS: readonly [
        {
            annotations: {
                destructiveHint: false;
                idempotentHint: true;
                openWorldHint: true;
                readOnlyHint: true;
            };
            description: "List Electron file:// page targets from an approved user-owned loopback CDP endpoint. Every path is canonicalized and must remain contained by an approved filesystem root, including after symlink resolution.";
            examples: readonly [
                {
                    input: {
                        allowed_file_roots: ["/Applications/Example.app/Contents/Resources"];
                        approved: true;
                        cdp_endpoint: "http://127.0.0.1:9223";
                        limit: 100;
                        offset: 0;
                    };
                    title: "List approved Electron file pages";
                },
            ];
            inputSchema: ZodObject<
                {
                    allowed_file_roots: ZodPipe<
                        ZodArray<ZodString>,
                        ZodTransform<string[], string[]>,
                    >;
                    approved: ZodLiteral<true>;
                    cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
                    limit: ZodDefault<ZodNumber>;
                    offset: ZodDefault<ZodNumber>;
                },
                $strip,
            >;
            kind: "electron-provider";
            name: "list_electron_targets";
            outputSchema: ZodObject<
                {
                    analysis_profile: ZodOptional<
                        ZodObject<
                            {
                                digest: ZodString;
                                parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                provider: ZodObject<
                                    { id: ZodString; name: ZodString; version: ZodString },
                                    $strip,
                                >;
                                provider_profile_schema_version: ZodNumber;
                                schema_version: ZodLiteral<1>;
                            },
                            $strip,
                        >,
                    >;
                    authority: ZodEnum<
                        {
                            "analyst-inference": "analyst-inference";
                            "controlled-replay": "controlled-replay";
                            "external-service": "external-service";
                            "historical-reference": "historical-reference";
                            "shipped-artifact": "shipped-artifact";
                        },
                    >;
                    confidence: ZodEnum<
                        { derived: "derived"; inferred: "inferred"; observed: "observed" },
                    >;
                    environment: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodString;
                                id: ZodString;
                                isolation: ZodEnum<
                                    {
                                        container: "container";
                                        none: "none";
                                        process: "process";
                                        "virtual-machine": "virtual-machine";
                                    },
                                >;
                                platform: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    evidence_id: ZodString;
                    evidence_links: ZodArray<ZodString>;
                    limitations: ZodArray<ZodString>;
                    locations: ZodArray<
                        ZodDiscriminatedUnion<
                            [
                                ZodObject<
                                    { address: ZodString; kind: ZodLiteral<"address"> },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodString;
                                        kind: ZodLiteral<"address-range">;
                                        start: ZodString;
                                    },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"artifact-path">; path: ZodString },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"file-offset">; offset: ZodNumber },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodNumber;
                                        kind: ZodLiteral<"file-offset-range">;
                                        start: ZodNumber;
                                    },
                                    $strip,
                                >,
                            ],
                            "kind",
                        >,
                    >;
                    normalized_result: ZodObject<
                        {
                            browser: ZodObject<
                                {
                                    js_version: ZodString;
                                    product: ZodString;
                                    protocol_version: ZodString;
                                    revision: ZodString;
                                    user_agent: ZodString;
                                },
                                $strip,
                            >;
                            excluded: ZodObject<
                                {
                                    non_page: ZodNumber;
                                    outside_root: ZodNumber;
                                    unsupported_url: ZodNumber;
                                },
                                $strip,
                            >;
                            limitations: ZodArray<ZodString>;
                            schema_version: ZodLiteral<1>;
                            targets: ZodObject<
                                {
                                    has_more: ZodBoolean;
                                    items: ZodArray<
                                        ZodObject<
                                            {
                                                attached: ...;
                                                file_path: ...;
                                                target_id: ...;
                                                title: ...;
                                                type: ...;
                                            },
                                            $strip,
                                        >,
                                    >;
                                    limit: ZodNumber;
                                    next_offset: ZodNullable<ZodNumber>;
                                    offset: ZodNumber;
                                    total: ZodNumber;
                                },
                                $strip,
                            >;
                        },
                        $strip,
                    >;
                    operation: ZodString;
                    parameters: ZodRecord<ZodString, ZodJSONSchema>;
                    predicate_type: ZodString;
                    provider: ZodObject<
                        { id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
                        $strip,
                    >;
                    raw_result: ZodNullable<ZodJSONSchema>;
                    schema_version: ZodLiteral<2>;
                    subject: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodNullable<
                                    ZodEnum<
                                        { arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
                                    >,
                                >;
                                digest: ZodObject<{ sha256: ZodString }, $strip>;
                                format: ZodEnum<
                                    {
                                        "analysis-database": "analysis-database";
                                        apk: "apk";
                                        asar: "asar";
                                        directory: "directory";
                                        dmg: "dmg";
                                        elf: "elf";
                                        entitlements: "entitlements";
                                        file: "file";
                                        hopper: "hopper";
                                        ipa: "ipa";
                                        javascript: "javascript";
                                        "javascript-bundle": "javascript-bundle";
                                        "mach-o": "mach-o";
                                        "mach-o-universal": "mach-o-universal";
                                        pe: "pe";
                                        pkg: "pkg";
                                        plist: "plist";
                                        "source-map": "source-map";
                                        unknown: "unknown";
                                        zip: "zip";
                                    },
                                >;
                                local_path: ZodString;
                                name: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strict,
            >;
        },
        {
            annotations: {
                destructiveHint: false;
                idempotentHint: true;
                openWorldHint: true;
                readOnlyHint: true;
            };
            description: "Passively inspect one approved Electron file page through CDP. Returns root-confined frames, DOM structure, resource paths, and scripts without evaluating renderer JavaScript or invoking Electron APIs; script contents require separate approval.";
            examples: readonly [
                {
                    input: {
                        allowed_file_roots: ["/Applications/Example.app/Contents/Resources"];
                        approved: true;
                        cdp_endpoint: "http://127.0.0.1:9223";
                        include_script_sources: false;
                        limits: {
                            max_dom_nodes: 2000;
                            max_frames: 200;
                            max_resources: 2000;
                            max_script_source_bytes: 1048576;
                            max_scripts: 500;
                            max_total_script_source_bytes: 4194304;
                            max_workers: 500;
                        };
                        observation_ms: 100;
                        source_capture_approved: false;
                        target_id: "TARGET_ID_FROM_LIST_ELECTRON_TARGETS";
                    };
                    title: "Inspect an approved Electron page";
                },
            ];
            inputSchema: ZodObject<
                {
                    allowed_file_roots: ZodPipe<
                        ZodArray<ZodString>,
                        ZodTransform<string[], string[]>,
                    >;
                    approved: ZodLiteral<true>;
                    cdp_endpoint: ZodPipe<ZodString, ZodTransform<string, string>>;
                    include_script_sources: ZodDefault<ZodBoolean>;
                    limits: ZodDefault<
                        ZodObject<
                            {
                                max_dom_nodes: ZodDefault<ZodNumber>;
                                max_frames: ZodDefault<ZodNumber>;
                                max_resources: ZodDefault<ZodNumber>;
                                max_script_source_bytes: ZodDefault<ZodNumber>;
                                max_scripts: ZodDefault<ZodNumber>;
                                max_total_script_source_bytes: ZodDefault<ZodNumber>;
                                max_workers: ZodDefault<ZodNumber>;
                            },
                            $strip,
                        >,
                    >;
                    observation_ms: ZodDefault<ZodNumber>;
                    source_capture_approved: ZodDefault<ZodBoolean>;
                    target_id: ZodString;
                },
                $strip,
            >;
            kind: "electron-provider";
            name: "inspect_electron_page";
            outputSchema: ZodObject<
                {
                    analysis_profile: ZodOptional<
                        ZodObject<
                            {
                                digest: ZodString;
                                parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                provider: ZodObject<
                                    { id: ZodString; name: ZodString; version: ZodString },
                                    $strip,
                                >;
                                provider_profile_schema_version: ZodNumber;
                                schema_version: ZodLiteral<1>;
                            },
                            $strip,
                        >,
                    >;
                    authority: ZodEnum<
                        {
                            "analyst-inference": "analyst-inference";
                            "controlled-replay": "controlled-replay";
                            "external-service": "external-service";
                            "historical-reference": "historical-reference";
                            "shipped-artifact": "shipped-artifact";
                        },
                    >;
                    confidence: ZodEnum<
                        { derived: "derived"; inferred: "inferred"; observed: "observed" },
                    >;
                    environment: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodString;
                                id: ZodString;
                                isolation: ZodEnum<
                                    {
                                        container: "container";
                                        none: "none";
                                        process: "process";
                                        "virtual-machine": "virtual-machine";
                                    },
                                >;
                                platform: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    evidence_id: ZodString;
                    evidence_links: ZodArray<ZodString>;
                    limitations: ZodArray<ZodString>;
                    locations: ZodArray<
                        ZodDiscriminatedUnion<
                            [
                                ZodObject<
                                    { address: ZodString; kind: ZodLiteral<"address"> },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodString;
                                        kind: ZodLiteral<"address-range">;
                                        start: ZodString;
                                    },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"artifact-path">; path: ZodString },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"file-offset">; offset: ZodNumber },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodNumber;
                                        kind: ZodLiteral<"file-offset-range">;
                                        start: ZodNumber;
                                    },
                                    $strip,
                                >,
                            ],
                            "kind",
                        >,
                    >;
                    normalized_result: ZodObject<
                        {
                            browser: ZodObject<
                                {
                                    js_version: ZodString;
                                    product: ZodString;
                                    protocol_version: ZodString;
                                    revision: ZodString;
                                    user_agent: ZodString;
                                },
                                $strip,
                            >;
                            capture_window: ZodObject<
                                {
                                    ended_at: ZodISODateTime;
                                    observation_ms: ZodNumber;
                                    started_at: ZodISODateTime;
                                },
                                $strip,
                            >;
                            completeness: ZodObject<
                                {
                                    attach_limited_sections: ZodArray<
                                        ZodEnum<
                                            {
                                                accessibility: ...;
                                                console_events: ...;
                                                console_text: ...;
                                                dom: ...;
                                                frames: ...;
                                                json_body_shapes: ...;
                                                metadata: ...;
                                                network_initiators: ...;
                                                network_requests: ...;
                                                resources: ...;
                                                screenshot: ...;
                                                script_sources: ...;
                                                scripts: ...;
                                                source_maps: ...;
                                                storage: ...;
                                                storage_keys: ...;
                                                timeline: ...;
                                                webmcp_tools: ...;
                                                websocket_connections: ...;
                                                websocket_frames: ...;
                                                websocket_shapes: ...;
                                                workers: ...;
                                            },
                                        >,
                                    >;
                                    conditions: ZodArray<
                                        ZodEnum<
                                            {
                                                attach_limited: ...;
                                                complete_within_window: ...;
                                                policy_filtered: ...;
                                                truncated: ...;
                                            },
                                        >,
                                    >;
                                    dropped_events: ZodObject<
                                        {
                                            console_events: ZodNumber;
                                            network_requests: ZodNumber;
                                            scripts: ZodNumber;
                                            timeline_events: ZodNumber;
                                            total: ZodNumber;
                                            webmcp_tools: ZodNumber;
                                            websocket_connections: ZodNumber;
                                            websocket_frames: ZodNumber;
                                        },
                                        $strip,
                                    >;
                                    excluded: ZodArray<
                                        ZodObject<{ count: ...; reason: ...; section: ... }, $strip>,
                                    >;
                                    policy_filtered_sections: ZodArray<
                                        ZodEnum<
                                            {
                                                accessibility: ...;
                                                console_events: ...;
                                                console_text: ...;
                                                dom: ...;
                                                frames: ...;
                                                json_body_shapes: ...;
                                                metadata: ...;
                                                network_initiators: ...;
                                                network_requests: ...;
                                                resources: ...;
                                                screenshot: ...;
                                                script_sources: ...;
                                                scripts: ...;
                                                source_maps: ...;
                                                storage: ...;
                                                storage_keys: ...;
                                                timeline: ...;
                                                webmcp_tools: ...;
                                                websocket_connections: ...;
                                                websocket_frames: ...;
                                                websocket_shapes: ...;
                                                workers: ...;
                                            },
                                        >,
                                    >;
                                    status: ZodEnum<
                                        {
                                            attach_limited: "attach_limited";
                                            complete_within_window: "complete_within_window";
                                            policy_filtered: "policy_filtered";
                                            truncated: "truncated";
                                        },
                                    >;
                                    truncated_sections: ZodArray<
                                        ZodEnum<
                                            {
                                                accessibility: ...;
                                                console_events: ...;
                                                console_text: ...;
                                                dom: ...;
                                                frames: ...;
                                                json_body_shapes: ...;
                                                metadata: ...;
                                                network_initiators: ...;
                                                network_requests: ...;
                                                resources: ...;
                                                screenshot: ...;
                                                script_sources: ...;
                                                scripts: ...;
                                                source_maps: ...;
                                                storage: ...;
                                                storage_keys: ...;
                                                timeline: ...;
                                                webmcp_tools: ...;
                                                websocket_connections: ...;
                                                websocket_frames: ...;
                                                websocket_shapes: ...;
                                                workers: ...;
                                            },
                                        >,
                                    >;
                                    unavailable_sections: ZodArray<
                                        ZodEnum<
                                            {
                                                accessibility: ...;
                                                console_events: ...;
                                                console_text: ...;
                                                dom: ...;
                                                frames: ...;
                                                json_body_shapes: ...;
                                                metadata: ...;
                                                network_initiators: ...;
                                                network_requests: ...;
                                                resources: ...;
                                                screenshot: ...;
                                                script_sources: ...;
                                                scripts: ...;
                                                source_maps: ...;
                                                storage: ...;
                                                storage_keys: ...;
                                                timeline: ...;
                                                webmcp_tools: ...;
                                                websocket_connections: ...;
                                                websocket_frames: ...;
                                                websocket_shapes: ...;
                                                workers: ...;
                                            },
                                        >,
                                    >;
                                },
                                $strip,
                            >;
                            dom: ZodObject<
                                {
                                    nodes: ZodArray<
                                        ZodObject<
                                            {
                                                attribute_names: ...;
                                                index: ...;
                                                node_name: ...;
                                                node_type: ...;
                                                node_value_length: ...;
                                                parent_index: ...;
                                            },
                                            $strip,
                                        >,
                                    >;
                                    total_nodes: ZodNumber;
                                },
                                $strip,
                            >;
                            frames: ZodArray<
                                ZodObject<
                                    {
                                        file_path: ZodString;
                                        frame_id: ZodString;
                                        parent_frame_id: ZodNullable<ZodString>;
                                    },
                                    $strip,
                                >,
                            >;
                            limitations: ZodArray<ZodString>;
                            resources: ZodArray<
                                ZodObject<
                                    {
                                        content_size: ZodNullable<ZodNumber>;
                                        file_path: ZodString;
                                        mime_type: ZodString;
                                        resource_key: ZodString;
                                        type: ZodString;
                                    },
                                    $strip,
                                >,
                            >;
                            schema_version: ZodLiteral<1>;
                            scripts: ZodObject<
                                {
                                    items: ZodArray<
                                        ZodObject<
                                            {
                                                cdp_hash: ...;
                                                file_path: ...;
                                                frame_id: ...;
                                                is_module: ...;
                                                language: ...;
                                                length: ...;
                                                script_key: ...;
                                                source: ...;
                                            },
                                            $strip,
                                        >,
                                    >;
                                    total: ZodNumber;
                                },
                                $strip,
                            >;
                            target: ZodObject<
                                {
                                    attached: ZodBoolean;
                                    file_path: ZodString;
                                    target_id: ZodString;
                                    title: ZodString;
                                    type: ZodString;
                                },
                                $strip,
                            >;
                            workers: ZodDefault<
                                ZodArray<
                                    ZodObject<
                                        {
                                            attached: ZodBoolean;
                                            file_path: ZodString;
                                            opener_target_id: ZodNullable<(...)>;
                                            parent_frame_id: ZodNullable<(...)>;
                                            target_id: ZodString;
                                            type: ZodString;
                                        },
                                        $strip,
                                    >,
                                >,
                            >;
                        },
                        $strip,
                    >;
                    operation: ZodString;
                    parameters: ZodRecord<ZodString, ZodJSONSchema>;
                    predicate_type: ZodString;
                    provider: ZodObject<
                        { id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
                        $strip,
                    >;
                    raw_result: ZodNullable<ZodJSONSchema>;
                    schema_version: ZodLiteral<2>;
                    subject: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodNullable<
                                    ZodEnum<
                                        { arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
                                    >,
                                >;
                                digest: ZodObject<{ sha256: ZodString }, $strip>;
                                format: ZodEnum<
                                    {
                                        "analysis-database": "analysis-database";
                                        apk: "apk";
                                        asar: "asar";
                                        directory: "directory";
                                        dmg: "dmg";
                                        elf: "elf";
                                        entitlements: "entitlements";
                                        file: "file";
                                        hopper: "hopper";
                                        ipa: "ipa";
                                        javascript: "javascript";
                                        "javascript-bundle": "javascript-bundle";
                                        "mach-o": "mach-o";
                                        "mach-o-universal": "mach-o-universal";
                                        pe: "pe";
                                        pkg: "pkg";
                                        plist: "plist";
                                        "source-map": "source-map";
                                        unknown: "unknown";
                                        zip: "zip";
                                    },
                                >;
                                local_path: ZodString;
                                name: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strict,
            >;
        },
        {
            annotations: {
                destructiveHint: false;
                idempotentHint: true;
                openWorldHint: false;
                readOnlyHint: true;
            };
            description: "Statically reconstruct one approved local ASAR or extracted JavaScript application as Evidence v2 and JavaScript Application Graph v1. Maps BrowserWindow preferences, preload and contextBridge APIs, literal and dynamic IPC, handler locations, sender-validation observations, utility processes, and requested native addon bindings without executing JavaScript; source-map contents require separate approval.";
            examples: readonly [
                {
                    input: {
                        approved: true;
                        format: "auto";
                        input_path: "/Applications/Example.app/Contents/Resources/app.asar";
                        source_map_read_approved: false;
                    };
                    title: "Analyze one approved local Electron application";
                },
            ];
            inputSchema: ZodObject<
                {
                    approved: ZodLiteral<true>;
                    format: ZodDefault<
                        ZodEnum<{ asar: "asar"; auto: "auto"; directory: "directory" }>,
                    >;
                    input_path: ZodString;
                    limits: ZodDefault<
                        ZodObject<
                            {
                                max_artifact_entry_bytes: ZodDefault<ZodNumber>;
                                max_ast_nodes: ZodDefault<ZodNumber>;
                                max_compression_ratio: ZodDefault<ZodNumber>;
                                max_depth: ZodDefault<ZodNumber>;
                                max_entries: ZodDefault<ZodNumber>;
                                max_findings: ZodDefault<ZodNumber>;
                                max_modules: ZodDefault<ZodNumber>;
                                max_parse_milliseconds: ZodDefault<ZodNumber>;
                                max_path_bytes: ZodDefault<ZodNumber>;
                                max_source_map_sources: ZodDefault<ZodNumber>;
                                max_text_file_bytes: ZodDefault<ZodNumber>;
                                max_text_files: ZodDefault<ZodNumber>;
                                max_total_artifact_bytes: ZodDefault<ZodNumber>;
                                max_total_text_bytes: ZodDefault<ZodNumber>;
                            },
                            $strict,
                        >,
                    >;
                    source_map_read_approved: ZodDefault<ZodBoolean>;
                },
                $strict,
            >;
            kind: "electron-provider";
            name: "analyze_javascript_application";
            outputSchema: ZodObject<
                {
                    analysis_profile: ZodOptional<
                        ZodObject<
                            {
                                digest: ZodString;
                                parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                provider: ZodObject<
                                    { id: ZodString; name: ZodString; version: ZodString },
                                    $strip,
                                >;
                                provider_profile_schema_version: ZodNumber;
                                schema_version: ZodLiteral<1>;
                            },
                            $strip,
                        >,
                    >;
                    authority: ZodEnum<
                        {
                            "analyst-inference": "analyst-inference";
                            "controlled-replay": "controlled-replay";
                            "external-service": "external-service";
                            "historical-reference": "historical-reference";
                            "shipped-artifact": "shipped-artifact";
                        },
                    >;
                    confidence: ZodEnum<
                        { derived: "derived"; inferred: "inferred"; observed: "observed" },
                    >;
                    environment: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodString;
                                id: ZodString;
                                isolation: ZodEnum<
                                    {
                                        container: "container";
                                        none: "none";
                                        process: "process";
                                        "virtual-machine": "virtual-machine";
                                    },
                                >;
                                platform: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    evidence_id: ZodString;
                    evidence_links: ZodArray<ZodString>;
                    limitations: ZodArray<ZodString>;
                    locations: ZodArray<
                        ZodDiscriminatedUnion<
                            [
                                ZodObject<
                                    { address: ZodString; kind: ZodLiteral<"address"> },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodString;
                                        kind: ZodLiteral<"address-range">;
                                        start: ZodString;
                                    },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"artifact-path">; path: ZodString },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"file-offset">; offset: ZodNumber },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodNumber;
                                        kind: ZodLiteral<"file-offset-range">;
                                        start: ZodNumber;
                                    },
                                    $strip,
                                >,
                            ],
                            "kind",
                        >,
                    >;
                    normalized_result: ZodObject<
                        {
                            format: ZodEnum<{ asar: "asar"; directory: "directory" }>;
                            graph: ZodObject<
                                {
                                    coverage: ZodObject<
                                        {
                                            limits: ZodArray<(...)>;
                                            omitted_count: ZodNullable<(...)>;
                                            status: ZodEnum<(...)>;
                                            truncated: ZodBoolean;
                                        },
                                        $strict,
                                    >;
                                    edges: ZodArray<
                                        ZodObject<
                                            {
                                                edge_id: ...;
                                                evidence: ...;
                                                identifier_strategy: ...;
                                                properties: ...;
                                                relation: ...;
                                                source_node_id: ...;
                                                target_node_id: ...;
                                            },
                                            $strict,
                                        >,
                                    >;
                                    graph_id: ZodString;
                                    limitations: ZodArray<ZodString>;
                                    nodes: ZodArray<
                                        ZodObject<
                                            { identity: ...; kind: ...; node_id: ...; observations: ... },
                                            $strict,
                                        >,
                                    >;
                                    root_node_ids: ZodArray<ZodString>;
                                    schema: ZodLiteral<"JavaScriptApplicationGraph">;
                                    schema_version: ZodLiteral<1>;
                                },
                                $strict,
                            >;
                            input_path: ZodString;
                            inventory_graph_sha256: ZodString;
                            inventory_manifest_id: ZodString;
                            limitations: ZodArray<ZodString>;
                            root_artifact_sha256: ZodString;
                            schema_version: ZodLiteral<1>;
                            statistics: ZodObject<
                                {
                                    findings: ZodNumber;
                                    invalid_utf8_files: ZodNumber;
                                    limit_omitted_text_files: ZodNumber;
                                    modules: ZodNumber;
                                    nested_asar_containers: ZodNumber;
                                    omitted_text_files: ZodNumber;
                                    parse_failures: ZodNumber;
                                    parsed_javascript_files: ZodNumber;
                                    policy_filtered_text_files: ZodNumber;
                                    relevant_files: ZodNumber;
                                    text_bytes_read: ZodNumber;
                                    text_files_selected: ZodNumber;
                                    truncated_scopes: ZodNumber;
                                    visited_ast_nodes: ZodNumber;
                                },
                                $strict,
                            >;
                            summary: ZodObject<
                                {
                                    browser_windows: ZodNumber;
                                    context_bridge_apis: ZodNumber;
                                    explicit_web_preferences: ZodNumber;
                                    exposed_api_members: ZodNumber;
                                    ipc: ZodObject<
                                        {
                                            ambiguous_renderer_transmissions: ZodNumber;
                                            dynamic_channel_operations: ZodNumber;
                                            literal_channels: ZodNumber;
                                            main_handlers: ZodNumber;
                                            operations: ZodNumber;
                                            paired_renderer_transmissions: ZodNumber;
                                            renderer_listeners: ZodNumber;
                                            renderer_transmissions: ZodNumber;
                                            unpaired_literal_renderer_transmissions: ZodNumber;
                                        },
                                        $strict,
                                    >;
                                    native_addon_bindings: ZodNumber;
                                    preload_entrypoints: ZodNumber;
                                    resolved_native_addon_bindings: ZodNumber;
                                    resolved_utility_entrypoints: ZodNumber;
                                    sender_validation_observations: ZodNumber;
                                    utility_processes: ZodNumber;
                                },
                                $strict,
                            >;
                        },
                        $strict,
                    >;
                    operation: ZodString;
                    parameters: ZodRecord<ZodString, ZodJSONSchema>;
                    predicate_type: ZodString;
                    provider: ZodObject<
                        { id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
                        $strip,
                    >;
                    raw_result: ZodNullable<ZodJSONSchema>;
                    schema_version: ZodLiteral<2>;
                    subject: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodNullable<
                                    ZodEnum<
                                        { arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
                                    >,
                                >;
                                digest: ZodObject<{ sha256: ZodString }, $strip>;
                                format: ZodEnum<
                                    {
                                        "analysis-database": "analysis-database";
                                        apk: "apk";
                                        asar: "asar";
                                        directory: "directory";
                                        dmg: "dmg";
                                        elf: "elf";
                                        entitlements: "entitlements";
                                        file: "file";
                                        hopper: "hopper";
                                        ipa: "ipa";
                                        javascript: "javascript";
                                        "javascript-bundle": "javascript-bundle";
                                        "mach-o": "mach-o";
                                        "mach-o-universal": "mach-o-universal";
                                        pe: "pe";
                                        pkg: "pkg";
                                        plist: "plist";
                                        "source-map": "source-map";
                                        unknown: "unknown";
                                        zip: "zip";
                                    },
                                >;
                                local_path: ZodString;
                                name: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strict,
            >;
        },
        {
            annotations: {
                destructiveHint: false;
                idempotentHint: true;
                openWorldHint: false;
                readOnlyHint: true;
            };
            description: "Reconcile verified static JavaScript application graphs with existing passive web or Electron CDP Evidence. Exact captured-source digests take priority over caller-declared file/URL mappings; target, frame, script, and worker ambiguity remains explicit, and source-map authority stays separate.";
            examples: readonly [
                {
                    input: {
                        runtime_observations: (
                            | {
                                analysis_profile: {
                                    digest: string;
                                    parameters: Record<string, JSONType>;
                                    provider: { id: string; name: string; version: string };
                                    provider_profile_schema_version: number;
                                    schema_version: 1;
                                };
                                authority: | "shipped-artifact"
                                | "controlled-replay"
                                | "historical-reference"
                                | "external-service"
                                | "analyst-inference";
                                confidence: "observed"
                                | "derived"
                                | "inferred";
                                environment:
                                    | {
                                        architecture: string;
                                        id: string;
                                        isolation: (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                        platform: string;
                                    }
                                    | null;
                                evidence_id: string;
                                evidence_links: string[];
                                limitations: string[];
                                locations: (
                                    | { address: ...; kind: ... }
                                    | { end: ...; kind: ...; start: ... }
                                    | { kind: ...; path: ... }
                                    | { kind: ...; offset: ... }
                                    | { end: ...; kind: ...; start: ... }
                                )[];
                                normalized_result: JSONType;
                                operation: string;
                                parameters: Record<string, JSONType>;
                                predicate_type: string;
                                provider: { id: string; name: string; version: string | null };
                                raw_result: JSONType;
                                schema_version: 2;
                                subject:
                                    | {
                                        architecture: (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                        digest: { sha256: ... };
                                        format:
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...);
                                        local_path: string;
                                        name: string;
                                    }
                                    | null;
                            }
                            | {
                                authority: | "shipped-artifact"
                                | "controlled-replay"
                                | "historical-reference"
                                | "external-service"
                                | "analyst-inference";
                                confidence: "observed"
                                | "derived"
                                | "inferred";
                                environment:
                                    | {
                                        architecture: string;
                                        id: string;
                                        isolation: (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                        platform: string;
                                    }
                                    | null;
                                evidence_id: string;
                                evidence_links: string[];
                                limitations: string[];
                                locations: (
                                    | { address: ...; kind: ... }
                                    | { end: ...; kind: ...; start: ... }
                                    | { kind: ...; path: ... }
                                    | { kind: ...; offset: ... }
                                    | { end: ...; kind: ...; start: ... }
                                )[];
                                normalized_result: JSONType;
                                operation: string;
                                parameters: Record<string, JSONType>;
                                predicate_type: string;
                                provider: { id: string; name: string; version: string | null };
                                raw_result: JSONType;
                                schema_version: 2;
                                subject:
                                    | {
                                        architecture: (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                        digest: { sha256: ... };
                                        format:
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...);
                                        local_path: string;
                                        name: string;
                                    }
                                    | null;
                            }
                        )[];
                        static_layers: {
                            analysis: | {
                                analysis_profile: {
                                    digest: string;
                                    parameters: Record<(...), (...)>;
                                    provider: { id: ...; name: ...; version: ... };
                                    provider_profile_schema_version: number;
                                    schema_version: 1;
                                };
                                authority: | "shipped-artifact"
                                | "controlled-replay"
                                | "historical-reference"
                                | "external-service"
                                | "analyst-inference";
                                confidence: "observed"
                                | "derived"
                                | "inferred";
                                environment:
                                    | { architecture: ...; id: ...; isolation: ...; platform: ... }
                                    | null;
                                evidence_id: string;
                                evidence_links: string[];
                                limitations: string[];
                                locations: ((...) | (...) | (...) | (...) | (...))[];
                                normalized_result: JSONType;
                                operation: string;
                                parameters: Record<string, JSONType>;
                                predicate_type: string;
                                provider: { id: string; name: string; version: (...) | (...) };
                                raw_result: JSONType;
                                schema_version: 2;
                                subject:
                                    | {
                                        architecture: ...;
                                        digest: ...;
                                        format: ...;
                                        local_path: ...;
                                        name: ...;
                                    }
                                    | null;
                            }
                            | {
                                authority: | "shipped-artifact"
                                | "controlled-replay"
                                | "historical-reference"
                                | "external-service"
                                | "analyst-inference";
                                confidence: "observed"
                                | "derived"
                                | "inferred";
                                environment:
                                    | { architecture: ...; id: ...; isolation: ...; platform: ... }
                                    | null;
                                evidence_id: string;
                                evidence_links: string[];
                                limitations: string[];
                                locations: ((...) | (...) | (...) | (...) | (...))[];
                                normalized_result: JSONType;
                                operation: string;
                                parameters: Record<string, JSONType>;
                                predicate_type: string;
                                provider: { id: string; name: string; version: (...) | (...) };
                                raw_result: JSONType;
                                schema_version: 2;
                                subject:
                                    | {
                                        architecture: ...;
                                        digest: ...;
                                        format: ...;
                                        local_path: ...;
                                        name: ...;
                                    }
                                    | null;
                            };
                            role: string;
                        }[];
                    };
                    title: "Reconcile one passive Electron capture";
                },
            ];
            inputSchema: ZodObject<
                {
                    limits: ZodDefault<
                        ZodObject<
                            {
                                max_reconciliation_items: ZodDefault<ZodNumber>;
                                max_runtime_entities: ZodDefault<ZodNumber>;
                                max_static_load_states: ZodDefault<ZodNumber>;
                            },
                            $strict,
                        >,
                    >;
                    runtime_observations: ZodArray<
                        ZodObject<
                            {
                                analysis_profile: ZodOptional<
                                    ZodObject<
                                        {
                                            digest: ZodString;
                                            parameters: ZodRecord<(...), (...)>;
                                            provider: ZodObject<(...), (...)>;
                                            provider_profile_schema_version: ZodNumber;
                                            schema_version: ZodLiteral<(...)>;
                                        },
                                        $strip,
                                    >,
                                >;
                                authority: ZodEnum<
                                    {
                                        "analyst-inference": "analyst-inference";
                                        "controlled-replay": "controlled-replay";
                                        "external-service": "external-service";
                                        "historical-reference": "historical-reference";
                                        "shipped-artifact": "shipped-artifact";
                                    },
                                >;
                                confidence: ZodEnum<
                                    {
                                        derived: "derived";
                                        inferred: "inferred";
                                        observed: "observed";
                                    },
                                >;
                                environment: ZodNullable<
                                    ZodObject<
                                        {
                                            architecture: ZodString;
                                            id: ZodString;
                                            isolation: ZodEnum<(...)>;
                                            platform: ZodString;
                                        },
                                        $strip,
                                    >,
                                >;
                                evidence_id: ZodString;
                                evidence_links: ZodArray<ZodString>;
                                limitations: ZodArray<ZodString>;
                                locations: ZodArray<
                                    ZodDiscriminatedUnion<
                                        [
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                        ],
                                        "kind",
                                    >,
                                >;
                                normalized_result: ZodJSONSchema;
                                operation: ZodString;
                                parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                predicate_type: ZodString;
                                provider: ZodObject<
                                    {
                                        id: ZodString;
                                        name: ZodString;
                                        version: ZodNullable<ZodString>;
                                    },
                                    $strip,
                                >;
                                raw_result: ZodNullable<ZodJSONSchema>;
                                schema_version: ZodLiteral<2>;
                                subject: ZodNullable<
                                    ZodObject<
                                        {
                                            architecture: ZodNullable<(...)>;
                                            digest: ZodObject<(...), (...)>;
                                            format: ZodEnum<(...)>;
                                            local_path: ZodString;
                                            name: ZodString;
                                        },
                                        $strip,
                                    >,
                                >;
                            },
                            $strict,
                        >,
                    >;
                    static_layers: ZodArray<
                        ZodObject<
                            {
                                analysis: ZodObject<
                                    {
                                        analysis_profile: ZodOptional<ZodObject<(...), (...)>>;
                                        authority: ZodEnum<
                                            {
                                                "analyst-inference": ...;
                                                "controlled-replay": ...;
                                                "external-service": ...;
                                                "historical-reference": ...;
                                                "shipped-artifact": ...;
                                            },
                                        >;
                                        confidence: ZodEnum<{ derived: ...; inferred: ...; observed: ... }>;
                                        environment: ZodNullable<ZodObject<(...), (...)>>;
                                        evidence_id: ZodString;
                                        evidence_links: ZodArray<ZodString>;
                                        limitations: ZodArray<ZodString>;
                                        locations: ZodArray<ZodDiscriminatedUnion<(...), (...)>>;
                                        normalized_result: ZodJSONSchema;
                                        operation: ZodString;
                                        parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                        predicate_type: ZodString;
                                        provider: ZodObject<{ id: ...; name: ...; version: ... }, $strip>;
                                        raw_result: ZodNullable<ZodJSONSchema>;
                                        schema_version: ZodLiteral<2>;
                                        subject: ZodNullable<ZodObject<(...), (...)>>;
                                    },
                                    $strict,
                                >;
                                role: ZodEnum<
                                    { application: "application"; assets: "assets"; cache: "cache" },
                                >;
                                runtime_mappings: ZodDefault<
                                    ZodArray<ZodDiscriminatedUnion<[(...), (...)], "kind">>,
                                >;
                            },
                            $strict,
                        >,
                    >;
                },
                $strict,
            >;
            kind: "electron-provider";
            name: "reconcile_javascript_runtime";
            outputSchema: ZodObject<
                {
                    analysis_profile: ZodOptional<
                        ZodObject<
                            {
                                digest: ZodString;
                                parameters: ZodRecord<ZodString, ZodJSONSchema>;
                                provider: ZodObject<
                                    { id: ZodString; name: ZodString; version: ZodString },
                                    $strip,
                                >;
                                provider_profile_schema_version: ZodNumber;
                                schema_version: ZodLiteral<1>;
                            },
                            $strip,
                        >,
                    >;
                    authority: ZodEnum<
                        {
                            "analyst-inference": "analyst-inference";
                            "controlled-replay": "controlled-replay";
                            "external-service": "external-service";
                            "historical-reference": "historical-reference";
                            "shipped-artifact": "shipped-artifact";
                        },
                    >;
                    confidence: ZodEnum<
                        { derived: "derived"; inferred: "inferred"; observed: "observed" },
                    >;
                    environment: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodString;
                                id: ZodString;
                                isolation: ZodEnum<
                                    {
                                        container: "container";
                                        none: "none";
                                        process: "process";
                                        "virtual-machine": "virtual-machine";
                                    },
                                >;
                                platform: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    evidence_id: ZodString;
                    evidence_links: ZodArray<ZodString>;
                    limitations: ZodArray<ZodString>;
                    locations: ZodArray<
                        ZodDiscriminatedUnion<
                            [
                                ZodObject<
                                    { address: ZodString; kind: ZodLiteral<"address"> },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodString;
                                        kind: ZodLiteral<"address-range">;
                                        start: ZodString;
                                    },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"artifact-path">; path: ZodString },
                                    $strip,
                                >,
                                ZodObject<
                                    { kind: ZodLiteral<"file-offset">; offset: ZodNumber },
                                    $strip,
                                >,
                                ZodObject<
                                    {
                                        end: ZodNumber;
                                        kind: ZodLiteral<"file-offset-range">;
                                        start: ZodNumber;
                                    },
                                    $strip,
                                >,
                            ],
                            "kind",
                        >,
                    >;
                    normalized_result: ZodObject<
                        {
                            coverage: ZodObject<
                                {
                                    omitted_graph_items: ZodNumber;
                                    omitted_reconciliation_items: ZodNumber;
                                    omitted_runtime_entities: ZodNumber;
                                    omitted_static_load_states: ZodNumber;
                                    status: ZodEnum<
                                        {
                                            "complete-within-inputs": "complete-within-inputs";
                                            partial: "partial";
                                            truncated: "truncated";
                                        },
                                    >;
                                    truncated: ZodBoolean;
                                },
                                $strict,
                            >;
                            evidence_links: ZodArray<ZodString>;
                            graph: ZodObject<
                                {
                                    coverage: ZodObject<
                                        {
                                            limits: ZodArray<(...)>;
                                            omitted_count: ZodNullable<(...)>;
                                            status: ZodEnum<(...)>;
                                            truncated: ZodBoolean;
                                        },
                                        $strict,
                                    >;
                                    edges: ZodArray<
                                        ZodObject<
                                            {
                                                edge_id: ...;
                                                evidence: ...;
                                                identifier_strategy: ...;
                                                properties: ...;
                                                relation: ...;
                                                source_node_id: ...;
                                                target_node_id: ...;
                                            },
                                            $strict,
                                        >,
                                    >;
                                    graph_id: ZodString;
                                    limitations: ZodArray<ZodString>;
                                    nodes: ZodArray<
                                        ZodObject<
                                            { identity: ...; kind: ...; node_id: ...; observations: ... },
                                            $strict,
                                        >,
                                    >;
                                    root_node_ids: ZodArray<ZodString>;
                                    schema: ZodLiteral<"JavaScriptApplicationGraph">;
                                    schema_version: ZodLiteral<1>;
                                },
                                $strict,
                            >;
                            limitations: ZodArray<ZodString>;
                            reconciliation_id: ZodString;
                            reconciliations: ZodArray<
                                ZodObject<
                                    {
                                        basis: ZodEnum<
                                            {
                                                "artifact-path": ...;
                                                "content-and-location": ...;
                                                "content-sha256": ...;
                                                "module-source-sha256": ...;
                                                none: ...;
                                                "operator-file-mapping": ...;
                                                "operator-url-mapping": ...;
                                            },
                                        >;
                                        candidate_static_count: ZodNumber;
                                        candidate_static_nodes: ZodArray<ZodObject<(...), (...)>>;
                                        confidence: ZodEnum<
                                            { exact: ...; high: ...; low: ...; medium: ...; unknown: ... },
                                        >;
                                        entity_kind: ZodEnum<
                                            { frame: ...; script: ...; target: ...; worker: ... },
                                        >;
                                        reason: ZodEnum<
                                            {
                                                "ambiguous-static-candidates": ...;
                                                "captured-content-disagrees-with-static-location": ...;
                                                "content-and-location-match": ...;
                                                "no-authorized-location-mapping": ...;
                                                "no-static-content-match": ...;
                                                "reconciliation-limit-reached": ...;
                                                "runtime-frame-unattributed": ...;
                                                "static-or-runtime-coverage-incomplete": ...;
                                                "unique-content-match": ...;
                                                "unique-location-match": ...;
                                            },
                                        >;
                                        reconciliation_id: ZodString;
                                        runtime_evidence_id: ZodString;
                                        runtime_node_id: ZodString;
                                        static_layer_id: ZodNullable<ZodString>;
                                        static_node_id: ZodNullable<ZodString>;
                                        status: ZodEnum<
                                            { ambiguous: ...; matched: ...; unknown: ...; unmatched: ... },
                                        >;
                                    },
                                    $strict,
                                >,
                            >;
                            runtime_captures: ZodArray<
                                ZodObject<
                                    {
                                        capture_sha256: ZodString;
                                        evidence_id: ZodString;
                                        frames: ZodNumber;
                                        kind: ZodEnum<{ browser: ...; electron: ... }>;
                                        scripts: ZodNumber;
                                        scripts_complete_within_scope: ZodBoolean;
                                        target_key: ZodString;
                                        target_location: ZodString;
                                        target_node_id: ZodString;
                                        workers: ZodNumber;
                                    },
                                    $strict,
                                >,
                            >;
                            schema_version: ZodLiteral<1>;
                            source_map_authority: ZodObject<
                                {
                                    limitation: ZodString;
                                    runtime_script_declarations: ZodNumber;
                                    static_layers_with_read_approval: ZodNumber;
                                    used_for_primary_matching: ZodLiteral<false>;
                                },
                                $strict,
                            >;
                            static_layers: ZodArray<
                                ZodObject<
                                    {
                                        evidence_id: ZodString;
                                        format: ZodEnum<{ asar: ...; directory: ... }>;
                                        graph_id: ZodString;
                                        input_path: ZodString;
                                        layer_id: ZodString;
                                        role: ZodEnum<{ application: ...; assets: ...; cache: ... }>;
                                        root_artifact_sha256: ZodString;
                                        runtime_mappings: ZodArray<ZodDiscriminatedUnion<(...), (...)>>;
                                    },
                                    $strict,
                                >,
                            >;
                            static_load_states: ZodArray<
                                ZodObject<
                                    {
                                        kind: ZodEnum<
                                            {
                                                "javascript-asset": ...;
                                                "javascript-chunk": ...;
                                                "javascript-module": ...;
                                            },
                                        >;
                                        reason: ZodEnum<
                                            {
                                                "containing-asset-was-loaded": ...;
                                                "layer-outside-runtime-scope": ...;
                                                "not-observed-in-bounded-capture": ...;
                                                "runtime-script-correspondence": ...;
                                                "static-or-runtime-coverage-incomplete": ...;
                                            },
                                        >;
                                        runtime_node_ids: ZodArray<ZodString>;
                                        static_layer_id: ZodString;
                                        static_node_id: ZodString;
                                        status: ZodEnum<
                                            {
                                                loaded: ...;
                                                "not-observed-in-capture": ...;
                                                "resident-in-loaded-asset": ...;
                                                unknown: ...;
                                            },
                                        >;
                                    },
                                    $strict,
                                >,
                            >;
                            summary: ZodObject<
                                {
                                    ambiguous: ZodNumber;
                                    matched: ZodNumber;
                                    runtime_frames: ZodNumber;
                                    runtime_scripts: ZodNumber;
                                    runtime_targets: ZodNumber;
                                    runtime_workers: ZodNumber;
                                    static_loaded: ZodNumber;
                                    static_not_observed: ZodNumber;
                                    static_resident: ZodNumber;
                                    static_unknown: ZodNumber;
                                    unknown: ZodNumber;
                                    unmatched: ZodNumber;
                                },
                                $strict,
                            >;
                        },
                        $strict,
                    >;
                    operation: ZodString;
                    parameters: ZodRecord<ZodString, ZodJSONSchema>;
                    predicate_type: ZodString;
                    provider: ZodObject<
                        { id: ZodString; name: ZodString; version: ZodNullable<ZodString> },
                        $strip,
                    >;
                    raw_result: ZodNullable<ZodJSONSchema>;
                    schema_version: ZodLiteral<2>;
                    subject: ZodNullable<
                        ZodObject<
                            {
                                architecture: ZodNullable<
                                    ZodEnum<
                                        { arm: "arm"; arm64: "arm64"; x86: "x86"; x86_64: "x86_64" },
                                    >,
                                >;
                                digest: ZodObject<{ sha256: ZodString }, $strip>;
                                format: ZodEnum<
                                    {
                                        "analysis-database": "analysis-database";
                                        apk: "apk";
                                        asar: "asar";
                                        directory: "directory";
                                        dmg: "dmg";
                                        elf: "elf";
                                        entitlements: "entitlements";
                                        file: "file";
                                        hopper: "hopper";
                                        ipa: "ipa";
                                        javascript: "javascript";
                                        "javascript-bundle": "javascript-bundle";
                                        "mach-o": "mach-o";
                                        "mach-o-universal": "mach-o-universal";
                                        pe: "pe";
                                        pkg: "pkg";
                                        plist: "plist";
                                        "source-map": "source-map";
                                        unknown: "unknown";
                                        zip: "zip";
                                    },
                                >;
                                local_path: ZodString;
                                name: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strict,
            >;
        },
    ] = ...

    Root-confined Electron file-page discovery and inspection contracts.

    +
  • Defined in src/contracts/electronToolContracts.ts:36
  • -
    webPageInspectionSchema: ZodObject<
        {
            accessibility: ZodObject<
                {
                    nodes: ZodArray<
                        ZodObject<
                            {
                                description: ZodNullable<ZodString>;
                                ignored: ZodBoolean;
                                name: ZodNullable<ZodString>;
                                node_id: ZodString;
                                parent_id: ZodNullable<ZodString>;
                                role: ZodNullable<ZodString>;
                            },
                            $strip,
                        >,
                    >;
                    text_capture: ZodObject<
                        {
                            excluded_fields: ZodNumber;
                            retained_bytes: ZodNumber;
                            status: ZodEnum<
                                {
                                    included: "included";
                                    not_approved: "not_approved";
                                    truncated: "truncated";
                                    unavailable: "unavailable";
                                },
                            >;
                            truncated_fields: ZodNumber;
                        },
                        $strip,
                    >;
                    total_nodes: ZodNumber;
                },
                $strip,
            >;
            browser: ZodObject<
                {
                    js_version: ZodString;
                    product: ZodString;
                    protocol_version: ZodString;
                    revision: ZodString;
                    user_agent: ZodString;
                },
                $strip,
            >;
            capture_window: ZodObject<
                {
                    ended_at: ZodISODateTime;
                    observation_ms: ZodNumber;
                    started_at: ZodISODateTime;
                },
                $strip,
            >;
            completeness: ZodObject<
                {
                    attach_limited_sections: ZodArray<
                        ZodEnum<
                            {
                                accessibility: "accessibility";
                                console_events: "console_events";
                                console_text: "console_text";
                                dom: "dom";
                                frames: "frames";
                                json_body_shapes: "json_body_shapes";
                                metadata: "metadata";
                                network_initiators: "network_initiators";
                                network_requests: "network_requests";
                                resources: "resources";
                                screenshot: "screenshot";
                                script_sources: "script_sources";
                                scripts: "scripts";
                                source_maps: "source_maps";
                                storage: "storage";
                                storage_keys: "storage_keys";
                                timeline: "timeline";
                                webmcp_tools: "webmcp_tools";
                                websocket_connections: "websocket_connections";
                                websocket_frames: "websocket_frames";
                                websocket_shapes: "websocket_shapes";
                                workers: "workers";
                            },
                        >,
                    >;
                    conditions: ZodArray<
                        ZodEnum<
                            {
                                attach_limited: "attach_limited";
                                complete_within_window: "complete_within_window";
                                policy_filtered: "policy_filtered";
                                truncated: "truncated";
                            },
                        >,
                    >;
                    dropped_events: ZodObject<
                        {
                            console_events: ZodNumber;
                            network_requests: ZodNumber;
                            scripts: ZodNumber;
                            timeline_events: ZodNumber;
                            total: ZodNumber;
                            webmcp_tools: ZodNumber;
                            websocket_connections: ZodNumber;
                            websocket_frames: ZodNumber;
                        },
                        $strip,
                    >;
                    excluded: ZodArray<
                        ZodObject<
                            {
                                count: ZodNullable<ZodNumber>;
                                reason: ZodEnum<
                                    {
                                        disallowed_origin: "disallowed_origin";
                                        invalid_protocol_value: "invalid_protocol_value";
                                        not_approved: "not_approved";
                                        out_of_target_scope: "out_of_target_scope";
                                        provider_unavailable: "provider_unavailable";
                                        unattributed_origin: "unattributed_origin";
                                        unsupported_url: "unsupported_url";
                                    },
                                >;
                                section: ZodEnum<
                                    {
                                        accessibility: "accessibility";
                                        console_events: "console_events";
                                        console_text: "console_text";
                                        dom: "dom";
                                        frames: "frames";
                                        json_body_shapes: "json_body_shapes";
                                        metadata: "metadata";
                                        network_initiators: "network_initiators";
                                        network_requests: "network_requests";
                                        resources: "resources";
                                        screenshot: "screenshot";
                                        script_sources: "script_sources";
                                        scripts: "scripts";
                                        source_maps: "source_maps";
                                        storage: "storage";
                                        storage_keys: "storage_keys";
                                        timeline: "timeline";
                                        webmcp_tools: "webmcp_tools";
                                        websocket_connections: "websocket_connections";
                                        websocket_frames: "websocket_frames";
                                        websocket_shapes: "websocket_shapes";
                                        workers: "workers";
                                    },
                                >;
                            },
                            $strip,
                        >,
                    >;
                    policy_filtered_sections: ZodArray<
                        ZodEnum<
                            {
                                accessibility: "accessibility";
                                console_events: "console_events";
                                console_text: "console_text";
                                dom: "dom";
                                frames: "frames";
                                json_body_shapes: "json_body_shapes";
                                metadata: "metadata";
                                network_initiators: "network_initiators";
                                network_requests: "network_requests";
                                resources: "resources";
                                screenshot: "screenshot";
                                script_sources: "script_sources";
                                scripts: "scripts";
                                source_maps: "source_maps";
                                storage: "storage";
                                storage_keys: "storage_keys";
                                timeline: "timeline";
                                webmcp_tools: "webmcp_tools";
                                websocket_connections: "websocket_connections";
                                websocket_frames: "websocket_frames";
                                websocket_shapes: "websocket_shapes";
                                workers: "workers";
                            },
                        >,
                    >;
                    status: ZodEnum<
                        {
                            attach_limited: "attach_limited";
                            complete_within_window: "complete_within_window";
                            policy_filtered: "policy_filtered";
                            truncated: "truncated";
                        },
                    >;
                    truncated_sections: ZodArray<
                        ZodEnum<
                            {
                                accessibility: "accessibility";
                                console_events: "console_events";
                                console_text: "console_text";
                                dom: "dom";
                                frames: "frames";
                                json_body_shapes: "json_body_shapes";
                                metadata: "metadata";
                                network_initiators: "network_initiators";
                                network_requests: "network_requests";
                                resources: "resources";
                                screenshot: "screenshot";
                                script_sources: "script_sources";
                                scripts: "scripts";
                                source_maps: "source_maps";
                                storage: "storage";
                                storage_keys: "storage_keys";
                                timeline: "timeline";
                                webmcp_tools: "webmcp_tools";
                                websocket_connections: "websocket_connections";
                                websocket_frames: "websocket_frames";
                                websocket_shapes: "websocket_shapes";
                                workers: "workers";
                            },
                        >,
                    >;
                    unavailable_sections: ZodArray<
                        ZodEnum<
                            {
                                accessibility: "accessibility";
                                console_events: "console_events";
                                console_text: "console_text";
                                dom: "dom";
                                frames: "frames";
                                json_body_shapes: "json_body_shapes";
                                metadata: "metadata";
                                network_initiators: "network_initiators";
                                network_requests: "network_requests";
                                resources: "resources";
                                screenshot: "screenshot";
                                script_sources: "script_sources";
                                scripts: "scripts";
                                source_maps: "source_maps";
                                storage: "storage";
                                storage_keys: "storage_keys";
                                timeline: "timeline";
                                webmcp_tools: "webmcp_tools";
                                websocket_connections: "websocket_connections";
                                websocket_frames: "websocket_frames";
                                websocket_shapes: "websocket_shapes";
                                workers: "workers";
                            },
                        >,
                    >;
                },
                $strip,
            >;
            console: ZodObject<
                {
                    coverage_started_at: ZodISODateTime;
                    events: ZodArray<
                        ZodObject<
                            {
                                argument_types: ZodArray<ZodString>;
                                column: ZodNullable<ZodNumber>;
                                line: ZodNullable<ZodNumber>;
                                text_capture: ZodObject<
                                    {
                                        retained_bytes: ZodNumber;
                                        status: ZodEnum<
                                            { included: ...; not_approved: ...; truncated: ... },
                                        >;
                                        truncated_values: ZodNumber;
                                        values: ZodArray<ZodObject<(...), (...)>>;
                                    },
                                    $strip,
                                >;
                                timestamp: ZodNumber;
                                type: ZodString;
                                url: ZodNullable<ZodString>;
                            },
                            $strip,
                        >,
                    >;
                    prior_activity_available: ZodLiteral<false>;
                },
                $strip,
            >;
            dom: ZodObject<
                {
                    nodes: ZodArray<
                        ZodObject<
                            {
                                attribute_names: ZodArray<ZodString>;
                                index: ZodNumber;
                                node_name: ZodString;
                                node_type: ZodNumber;
                                node_value_length: ZodNumber;
                                parent_index: ZodNumber;
                            },
                            $strip,
                        >,
                    >;
                    total_nodes: ZodNumber;
                },
                $strip,
            >;
            frames: ZodArray<
                ZodObject<
                    {
                        frame_id: ZodString;
                        origin: ZodNullable<ZodString>;
                        parent_frame_id: ZodNullable<ZodString>;
                        url: ZodString;
                    },
                    $strip,
                >,
            >;
            limitations: ZodArray<ZodString>;
            metadata: ZodObject<
                {
                    agent_hints: ZodArray<
                        ZodObject<
                            {
                                declaration: ZodString;
                                mechanism: ZodEnum<
                                    {
                                        dom_link_rel: "dom_link_rel";
                                        link_rel: "link_rel";
                                        response_header: "response_header";
                                        well_known_resource: "well_known_resource";
                                    },
                                >;
                                trust: ZodLiteral<"page-declared-untrusted">;
                                url: ZodNullable<ZodString>;
                            },
                            $strip,
                        >,
                    >;
                    dom_urls: ZodArray<
                        ZodObject<
                            {
                                attribute: ZodEnum<
                                    {
                                        action: "action";
                                        formaction: "formaction";
                                        href: "href";
                                        poster: "poster";
                                        src: "src";
                                    },
                                >;
                                destination_scope: ZodEnum<
                                    {
                                        approved: "approved";
                                        outside_policy: "outside_policy";
                                        unsupported: "unsupported";
                                    },
                                >;
                                node_index: ZodNumber;
                                url: ZodNullable<ZodString>;
                            },
                            $strip,
                        >,
                    >;
                    excluded_dom_urls: ZodNumber;
                    headers_allowlisted: ZodLiteral<true>;
                    responses: ZodArray<
                        ZodObject<
                            {
                                content_encoding: ZodNullable<ZodString>;
                                content_length: ZodNullable<ZodNumber>;
                                csp: ZodObject<
                                    {
                                        directives: ZodArray<ZodObject<(...), (...)>>;
                                        hash_count: ZodNumber;
                                        nonce_count: ZodNumber;
                                    },
                                    $strip,
                                >;
                                links: ZodArray<
                                    ZodObject<
                                        {
                                            as: ZodNullable<(...)>;
                                            crossorigin: ZodNullable<(...)>;
                                            destination_scope: ZodEnum<(...)>;
                                            href: ZodNullable<(...)>;
                                            rel: ZodArray<(...)>;
                                            type: ZodNullable<(...)>;
                                        },
                                        $strip,
                                    >,
                                >;
                                mime_type: ZodNullable<ZodString>;
                                policies: ZodObject<
                                    {
                                        coep: ZodNullable<ZodString>;
                                        coop: ZodNullable<ZodString>;
                                        corp: ZodNullable<ZodString>;
                                        permissions_policy_features: ZodArray<ZodString>;
                                        referrer_policy: ZodNullable<ZodString>;
                                        x_content_type_options: ZodNullable<ZodString>;
                                    },
                                    $strip,
                                >;
                                request_id: ZodString;
                                url: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strip,
            >;
            network: ZodObject<
                {
                    coverage_started_at: ZodISODateTime;
                    prior_activity_available: ZodLiteral<false>;
                    requests: ZodArray<
                        ZodObject<
                            {
                                body_shapes: ZodObject<
                                    {
                                        request: ZodNullable<ZodObject<(...), (...)>>;
                                        response: ZodNullable<ZodObject<(...), (...)>>;
                                        status: ZodEnum<
                                            {
                                                included: ...;
                                                not_approved: ...;
                                                partial: ...;
                                                truncated: ...;
                                                unavailable: ...;
                                            },
                                        >;
                                    },
                                    $strip,
                                >;
                                encoded_data_length: ZodNullable<ZodNumber>;
                                initiator: ZodObject<
                                    {
                                        column: ZodNullable<ZodNumber>;
                                        line: ZodNullable<ZodNumber>;
                                        type: ZodString;
                                        url: ZodNullable<ZodString>;
                                    },
                                    $strip,
                                >;
                                method: ZodString;
                                mime_type: ZodNullable<ZodString>;
                                origin: ZodNullable<ZodString>;
                                request_id: ZodString;
                                resource_type: ZodNullable<ZodString>;
                                status: ZodNullable<ZodNumber>;
                                url: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    websocket_events: ZodArray<
                        ZodObject<
                            {
                                direction: ZodEnum<{ received: "received"; sent: "sent" }>;
                                opcode: ZodNumber;
                                payload_bytes: ZodNumber;
                                payload_shape: ZodNullable<
                                    ZodObject<
                                        {
                                            format: ZodEnum<(...)>;
                                            json_shape: ZodNullable<(...)>;
                                            truncated: ZodBoolean;
                                        },
                                        $strip,
                                    >,
                                >;
                                request_id: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strip,
            >;
            resources: ZodArray<
                ZodObject<
                    {
                        content_size: ZodNullable<ZodNumber>;
                        mime_type: ZodString;
                        origin: ZodNullable<ZodString>;
                        resource_key: ZodString;
                        type: ZodString;
                        url: ZodString;
                    },
                    $strip,
                >,
            >;
            schema_version: ZodLiteral<2>;
            scripts: ZodObject<
                {
                    items: ZodArray<
                        ZodObject<
                            {
                                cdp_hash: ZodString;
                                is_module: ZodBoolean;
                                language: ZodNullable<ZodString>;
                                length: ZodNumber;
                                origin: ZodNullable<ZodString>;
                                resource_reconciliation: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<{ resource_key: ...; status: ... }, $strip>,
                                        ZodObject<{ candidate_resource_keys: ...; status: ... }, $strip>,
                                        ZodObject<{ reason: ...; status: ... }, $strip>,
                                    ],
                                    "status",
                                >;
                                script_key: ZodString;
                                source: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<{ included: ...; reason: ... }, $strip>,
                                        ZodObject<{ artifact: ...; included: ... }, $strip>,
                                    ],
                                    "included",
                                >;
                                source_map_url: ZodNullable<ZodString>;
                                url: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    total: ZodNumber;
                },
                $strip,
            >;
            storage: ZodObject<
                {
                    cache_names: ZodArray<ZodString>;
                    indexed_db_names: ZodArray<ZodString>;
                    local_storage_keys: ZodArray<ZodString>;
                    origin: ZodString;
                    quota_bytes: ZodNullable<ZodNumber>;
                    session_storage_keys: ZodArray<ZodString>;
                    usage_bytes: ZodNullable<ZodNumber>;
                    values_redacted: ZodLiteral<true>;
                },
                $strip,
            >;
            target: ZodObject<
                {
                    attached: ZodBoolean;
                    origin: ZodString;
                    target_id: ZodString;
                    title: ZodString;
                    type: ZodString;
                    url: ZodString;
                },
                $strip,
            >;
            workers: ZodArray<
                ZodObject<
                    {
                        attached: ZodBoolean;
                        origin: ZodNullable<ZodString>;
                        target_id: ZodString;
                        type: ZodString;
                        url: ZodString;
                    },
                    $strip,
                >,
            >;
        },
        $strip,
    > = ...
    +
    webPageInspectionSchema: ZodObject<
        {
            accessibility: ZodObject<
                {
                    nodes: ZodArray<
                        ZodObject<
                            {
                                description: ZodNullable<ZodString>;
                                ignored: ZodBoolean;
                                name: ZodNullable<ZodString>;
                                node_id: ZodString;
                                parent_id: ZodNullable<ZodString>;
                                role: ZodNullable<ZodString>;
                            },
                            $strip,
                        >,
                    >;
                    text_capture: ZodObject<
                        {
                            excluded_fields: ZodNumber;
                            retained_bytes: ZodNumber;
                            status: ZodEnum<
                                {
                                    included: "included";
                                    not_approved: "not_approved";
                                    truncated: "truncated";
                                    unavailable: "unavailable";
                                },
                            >;
                            truncated_fields: ZodNumber;
                        },
                        $strip,
                    >;
                    total_nodes: ZodNumber;
                },
                $strip,
            >;
            browser: ZodObject<
                {
                    js_version: ZodString;
                    product: ZodString;
                    protocol_version: ZodString;
                    revision: ZodString;
                    user_agent: ZodString;
                },
                $strip,
            >;
            capture_window: ZodObject<
                {
                    ended_at: ZodISODateTime;
                    observation_ms: ZodNumber;
                    started_at: ZodISODateTime;
                },
                $strip,
            >;
            completeness: ZodObject<
                {
                    attach_limited_sections: ZodArray<
                        ZodEnum<
                            {
                                accessibility: "accessibility";
                                console_events: "console_events";
                                console_text: "console_text";
                                dom: "dom";
                                frames: "frames";
                                json_body_shapes: "json_body_shapes";
                                metadata: "metadata";
                                network_initiators: "network_initiators";
                                network_requests: "network_requests";
                                resources: "resources";
                                screenshot: "screenshot";
                                script_sources: "script_sources";
                                scripts: "scripts";
                                source_maps: "source_maps";
                                storage: "storage";
                                storage_keys: "storage_keys";
                                timeline: "timeline";
                                webmcp_tools: "webmcp_tools";
                                websocket_connections: "websocket_connections";
                                websocket_frames: "websocket_frames";
                                websocket_shapes: "websocket_shapes";
                                workers: "workers";
                            },
                        >,
                    >;
                    conditions: ZodArray<
                        ZodEnum<
                            {
                                attach_limited: "attach_limited";
                                complete_within_window: "complete_within_window";
                                policy_filtered: "policy_filtered";
                                truncated: "truncated";
                            },
                        >,
                    >;
                    dropped_events: ZodObject<
                        {
                            console_events: ZodNumber;
                            network_requests: ZodNumber;
                            scripts: ZodNumber;
                            timeline_events: ZodNumber;
                            total: ZodNumber;
                            webmcp_tools: ZodNumber;
                            websocket_connections: ZodNumber;
                            websocket_frames: ZodNumber;
                        },
                        $strip,
                    >;
                    excluded: ZodArray<
                        ZodObject<
                            {
                                count: ZodNullable<ZodNumber>;
                                reason: ZodEnum<
                                    {
                                        disallowed_origin: "disallowed_origin";
                                        invalid_protocol_value: "invalid_protocol_value";
                                        not_approved: "not_approved";
                                        out_of_target_scope: "out_of_target_scope";
                                        provider_unavailable: "provider_unavailable";
                                        unattributed_origin: "unattributed_origin";
                                        unsupported_url: "unsupported_url";
                                    },
                                >;
                                section: ZodEnum<
                                    {
                                        accessibility: "accessibility";
                                        console_events: "console_events";
                                        console_text: "console_text";
                                        dom: "dom";
                                        frames: "frames";
                                        json_body_shapes: "json_body_shapes";
                                        metadata: "metadata";
                                        network_initiators: "network_initiators";
                                        network_requests: "network_requests";
                                        resources: "resources";
                                        screenshot: "screenshot";
                                        script_sources: "script_sources";
                                        scripts: "scripts";
                                        source_maps: "source_maps";
                                        storage: "storage";
                                        storage_keys: "storage_keys";
                                        timeline: "timeline";
                                        webmcp_tools: "webmcp_tools";
                                        websocket_connections: "websocket_connections";
                                        websocket_frames: "websocket_frames";
                                        websocket_shapes: "websocket_shapes";
                                        workers: "workers";
                                    },
                                >;
                            },
                            $strip,
                        >,
                    >;
                    policy_filtered_sections: ZodArray<
                        ZodEnum<
                            {
                                accessibility: "accessibility";
                                console_events: "console_events";
                                console_text: "console_text";
                                dom: "dom";
                                frames: "frames";
                                json_body_shapes: "json_body_shapes";
                                metadata: "metadata";
                                network_initiators: "network_initiators";
                                network_requests: "network_requests";
                                resources: "resources";
                                screenshot: "screenshot";
                                script_sources: "script_sources";
                                scripts: "scripts";
                                source_maps: "source_maps";
                                storage: "storage";
                                storage_keys: "storage_keys";
                                timeline: "timeline";
                                webmcp_tools: "webmcp_tools";
                                websocket_connections: "websocket_connections";
                                websocket_frames: "websocket_frames";
                                websocket_shapes: "websocket_shapes";
                                workers: "workers";
                            },
                        >,
                    >;
                    status: ZodEnum<
                        {
                            attach_limited: "attach_limited";
                            complete_within_window: "complete_within_window";
                            policy_filtered: "policy_filtered";
                            truncated: "truncated";
                        },
                    >;
                    truncated_sections: ZodArray<
                        ZodEnum<
                            {
                                accessibility: "accessibility";
                                console_events: "console_events";
                                console_text: "console_text";
                                dom: "dom";
                                frames: "frames";
                                json_body_shapes: "json_body_shapes";
                                metadata: "metadata";
                                network_initiators: "network_initiators";
                                network_requests: "network_requests";
                                resources: "resources";
                                screenshot: "screenshot";
                                script_sources: "script_sources";
                                scripts: "scripts";
                                source_maps: "source_maps";
                                storage: "storage";
                                storage_keys: "storage_keys";
                                timeline: "timeline";
                                webmcp_tools: "webmcp_tools";
                                websocket_connections: "websocket_connections";
                                websocket_frames: "websocket_frames";
                                websocket_shapes: "websocket_shapes";
                                workers: "workers";
                            },
                        >,
                    >;
                    unavailable_sections: ZodArray<
                        ZodEnum<
                            {
                                accessibility: "accessibility";
                                console_events: "console_events";
                                console_text: "console_text";
                                dom: "dom";
                                frames: "frames";
                                json_body_shapes: "json_body_shapes";
                                metadata: "metadata";
                                network_initiators: "network_initiators";
                                network_requests: "network_requests";
                                resources: "resources";
                                screenshot: "screenshot";
                                script_sources: "script_sources";
                                scripts: "scripts";
                                source_maps: "source_maps";
                                storage: "storage";
                                storage_keys: "storage_keys";
                                timeline: "timeline";
                                webmcp_tools: "webmcp_tools";
                                websocket_connections: "websocket_connections";
                                websocket_frames: "websocket_frames";
                                websocket_shapes: "websocket_shapes";
                                workers: "workers";
                            },
                        >,
                    >;
                },
                $strip,
            >;
            console: ZodObject<
                {
                    coverage_started_at: ZodISODateTime;
                    events: ZodArray<
                        ZodObject<
                            {
                                argument_types: ZodArray<ZodString>;
                                column: ZodNullable<ZodNumber>;
                                line: ZodNullable<ZodNumber>;
                                text_capture: ZodObject<
                                    {
                                        retained_bytes: ZodNumber;
                                        status: ZodEnum<
                                            { included: ...; not_approved: ...; truncated: ... },
                                        >;
                                        truncated_values: ZodNumber;
                                        values: ZodArray<ZodObject<(...), (...)>>;
                                    },
                                    $strip,
                                >;
                                timestamp: ZodNumber;
                                type: ZodString;
                                url: ZodNullable<ZodString>;
                            },
                            $strip,
                        >,
                    >;
                    prior_activity_available: ZodLiteral<false>;
                },
                $strip,
            >;
            dom: ZodObject<
                {
                    nodes: ZodArray<
                        ZodObject<
                            {
                                attribute_names: ZodArray<ZodString>;
                                index: ZodNumber;
                                node_name: ZodString;
                                node_type: ZodNumber;
                                node_value_length: ZodNumber;
                                parent_index: ZodNumber;
                            },
                            $strip,
                        >,
                    >;
                    total_nodes: ZodNumber;
                },
                $strip,
            >;
            frames: ZodArray<
                ZodObject<
                    {
                        frame_id: ZodString;
                        origin: ZodNullable<ZodString>;
                        parent_frame_id: ZodNullable<ZodString>;
                        url: ZodString;
                    },
                    $strip,
                >,
            >;
            limitations: ZodArray<ZodString>;
            metadata: ZodObject<
                {
                    agent_hints: ZodArray<
                        ZodObject<
                            {
                                declaration: ZodString;
                                mechanism: ZodEnum<
                                    {
                                        dom_link_rel: "dom_link_rel";
                                        link_rel: "link_rel";
                                        response_header: "response_header";
                                        well_known_resource: "well_known_resource";
                                    },
                                >;
                                trust: ZodLiteral<"page-declared-untrusted">;
                                url: ZodNullable<ZodString>;
                            },
                            $strip,
                        >,
                    >;
                    dom_urls: ZodArray<
                        ZodObject<
                            {
                                attribute: ZodEnum<
                                    {
                                        action: "action";
                                        formaction: "formaction";
                                        href: "href";
                                        poster: "poster";
                                        src: "src";
                                    },
                                >;
                                destination_scope: ZodEnum<
                                    {
                                        approved: "approved";
                                        outside_policy: "outside_policy";
                                        unsupported: "unsupported";
                                    },
                                >;
                                node_index: ZodNumber;
                                url: ZodNullable<ZodString>;
                            },
                            $strip,
                        >,
                    >;
                    excluded_dom_urls: ZodNumber;
                    headers_allowlisted: ZodLiteral<true>;
                    responses: ZodArray<
                        ZodObject<
                            {
                                content_encoding: ZodNullable<ZodString>;
                                content_length: ZodNullable<ZodNumber>;
                                csp: ZodObject<
                                    {
                                        directives: ZodArray<ZodObject<(...), (...)>>;
                                        hash_count: ZodNumber;
                                        nonce_count: ZodNumber;
                                    },
                                    $strip,
                                >;
                                links: ZodArray<
                                    ZodObject<
                                        {
                                            as: ZodNullable<(...)>;
                                            crossorigin: ZodNullable<(...)>;
                                            destination_scope: ZodEnum<(...)>;
                                            href: ZodNullable<(...)>;
                                            rel: ZodArray<(...)>;
                                            type: ZodNullable<(...)>;
                                        },
                                        $strip,
                                    >,
                                >;
                                mime_type: ZodNullable<ZodString>;
                                policies: ZodObject<
                                    {
                                        coep: ZodNullable<ZodString>;
                                        coop: ZodNullable<ZodString>;
                                        corp: ZodNullable<ZodString>;
                                        permissions_policy_features: ZodArray<ZodString>;
                                        referrer_policy: ZodNullable<ZodString>;
                                        x_content_type_options: ZodNullable<ZodString>;
                                    },
                                    $strip,
                                >;
                                request_id: ZodString;
                                url: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strip,
            >;
            network: ZodObject<
                {
                    coverage_started_at: ZodISODateTime;
                    prior_activity_available: ZodLiteral<false>;
                    requests: ZodArray<
                        ZodObject<
                            {
                                body_shapes: ZodObject<
                                    {
                                        request: ZodNullable<ZodObject<(...), (...)>>;
                                        response: ZodNullable<ZodObject<(...), (...)>>;
                                        status: ZodEnum<
                                            {
                                                included: ...;
                                                not_approved: ...;
                                                partial: ...;
                                                truncated: ...;
                                                unavailable: ...;
                                            },
                                        >;
                                    },
                                    $strip,
                                >;
                                encoded_data_length: ZodNullable<ZodNumber>;
                                initiator: ZodObject<
                                    {
                                        column: ZodNullable<ZodNumber>;
                                        line: ZodNullable<ZodNumber>;
                                        type: ZodString;
                                        url: ZodNullable<ZodString>;
                                    },
                                    $strip,
                                >;
                                method: ZodString;
                                mime_type: ZodNullable<ZodString>;
                                origin: ZodNullable<ZodString>;
                                request_id: ZodString;
                                resource_type: ZodNullable<ZodString>;
                                status: ZodNullable<ZodNumber>;
                                url: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    websocket_events: ZodArray<
                        ZodObject<
                            {
                                direction: ZodEnum<{ received: "received"; sent: "sent" }>;
                                opcode: ZodNumber;
                                payload_bytes: ZodNumber;
                                payload_shape: ZodNullable<
                                    ZodObject<
                                        {
                                            format: ZodEnum<(...)>;
                                            json_shape: ZodNullable<(...)>;
                                            truncated: ZodBoolean;
                                        },
                                        $strip,
                                    >,
                                >;
                                request_id: ZodString;
                            },
                            $strip,
                        >,
                    >;
                },
                $strip,
            >;
            resources: ZodArray<
                ZodObject<
                    {
                        content_size: ZodNullable<ZodNumber>;
                        mime_type: ZodString;
                        origin: ZodNullable<ZodString>;
                        resource_key: ZodString;
                        type: ZodString;
                        url: ZodString;
                    },
                    $strip,
                >,
            >;
            schema_version: ZodLiteral<2>;
            scripts: ZodObject<
                {
                    items: ZodArray<
                        ZodObject<
                            {
                                cdp_hash: ZodString;
                                frame_id: ZodDefault<ZodNullable<ZodString>>;
                                is_module: ZodBoolean;
                                language: ZodNullable<ZodString>;
                                length: ZodNumber;
                                origin: ZodNullable<ZodString>;
                                resource_reconciliation: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<{ resource_key: ...; status: ... }, $strip>,
                                        ZodObject<{ candidate_resource_keys: ...; status: ... }, $strip>,
                                        ZodObject<{ reason: ...; status: ... }, $strip>,
                                    ],
                                    "status",
                                >;
                                script_key: ZodString;
                                source: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<{ included: ...; reason: ... }, $strip>,
                                        ZodObject<{ artifact: ...; included: ... }, $strip>,
                                    ],
                                    "included",
                                >;
                                source_map_url: ZodNullable<ZodString>;
                                url: ZodString;
                            },
                            $strip,
                        >,
                    >;
                    total: ZodNumber;
                },
                $strip,
            >;
            storage: ZodObject<
                {
                    cache_names: ZodArray<ZodString>;
                    indexed_db_names: ZodArray<ZodString>;
                    local_storage_keys: ZodArray<ZodString>;
                    origin: ZodString;
                    quota_bytes: ZodNullable<ZodNumber>;
                    session_storage_keys: ZodArray<ZodString>;
                    usage_bytes: ZodNullable<ZodNumber>;
                    values_redacted: ZodLiteral<true>;
                },
                $strip,
            >;
            target: ZodObject<
                {
                    attached: ZodBoolean;
                    origin: ZodString;
                    target_id: ZodString;
                    title: ZodString;
                    type: ZodString;
                    url: ZodString;
                },
                $strip,
            >;
            workers: ZodArray<
                ZodObject<
                    {
                        attached: ZodBoolean;
                        opener_target_id: ZodDefault<ZodNullable<ZodString>>;
                        origin: ZodNullable<ZodString>;
                        parent_frame_id: ZodDefault<ZodNullable<ZodString>>;
                        target_id: ZodString;
                        type: ZodString;
                        url: ZodString;
                    },
                    $strip,
                >,
            >;
        },
        $strip,
    > = ...

    Provider-neutral normalized result for one passive web-page observation.

    +
  • Defined in src/domain/browserObservation.ts:591
  • +
  • Defined in src/domain/electronObservation.ts:139
  • -
    javascriptApplicationAnalysisResultSchema: ZodObject<
        {
            format: ZodEnum<{ asar: "asar"; directory: "directory" }>;
            graph: ZodObject<
                {
                    coverage: ZodObject<
                        {
                            limits: ZodArray<
                                ZodObject<
                                    {
                                        name: ZodString;
                                        unit: ZodEnum<
                                            {
                                                bytes: ...;
                                                characters: ...;
                                                depth: ...;
                                                instructions: ...;
                                                items: ...;
                                                milliseconds: ...;
                                                other: ...;
                                            },
                                        >;
                                        value: ZodNumber;
                                    },
                                    $strict,
                                >,
                            >;
                            omitted_count: ZodNullable<ZodNumber>;
                            status: ZodEnum<
                                {
                                    complete: "complete";
                                    partial: "partial";
                                    unavailable: "unavailable";
                                    unknown: "unknown";
                                },
                            >;
                            truncated: ZodBoolean;
                        },
                        $strict,
                    >;
                    edges: ZodArray<
                        ZodObject<
                            {
                                edge_id: ZodString;
                                evidence: ZodObject<
                                    {
                                        artifact: ZodDiscriminatedUnion<[(...), (...)], "available">;
                                        authority: ZodEnum<
                                            {
                                                "artifact-bytes": ...;
                                                "ast-static-analysis": ...;
                                                "controlled-replay": ...;
                                                "historical-reference": ...;
                                                "native-analysis-provider": ...;
                                                "passive-cdp-runtime": ...;
                                                "static-relationship-inference": ...;
                                                unknown: ...;
                                                "user-assertion": ...;
                                            },
                                        >;
                                        confidence: ZodEnum<
                                            { exact: ...; high: ...; low: ...; medium: ...; unknown: ... },
                                        >;
                                        coverage: ZodObject<
                                            {
                                                limits: ...;
                                                omitted_count: ...;
                                                status: ...;
                                                truncated: ...;
                                            },
                                            $strict,
                                        >;
                                        evidence_ids: ZodArray<ZodString>;
                                        extractor: ZodObject<
                                            {
                                                executable_sha256: ...;
                                                name: ...;
                                                operation: ...;
                                                version: ...;
                                            },
                                            $strict,
                                        >;
                                        limitations: ZodArray<ZodString>;
                                        location: ZodDiscriminatedUnion<[(...), (...)], "available">;
                                        state: ZodEnum<
                                            {
                                                inferred: ...;
                                                observed: ...;
                                                unavailable: ...;
                                                unknown: ...;
                                            },
                                        >;
                                    },
                                    $strict,
                                >;
                                identifier_strategy: ZodObject<
                                    {
                                        stability: ZodLiteral<"relationship-exact">;
                                        strategy: ZodLiteral<"semantic-content-sha256">;
                                    },
                                    $strict,
                                >;
                                properties: ZodRecord<ZodString, ZodJSONSchema>;
                                relation: ZodEnum<
                                    {
                                        calls: "calls";
                                        changed_from: "changed_from";
                                        contains: "contains";
                                        exposes: "exposes";
                                        handles: "handles";
                                        imports: "imports";
                                        invokes: "invokes";
                                        loads: "loads";
                                        maps_to: "maps_to";
                                        observed_as: "observed_as";
                                        persists_to: "persists_to";
                                        sends: "sends";
                                    },
                                >;
                                source_node_id: ZodString;
                                target_node_id: ZodString;
                            },
                            $strict,
                        >,
                    >;
                    graph_id: ZodString;
                    limitations: ZodArray<ZodString>;
                    nodes: ZodArray<
                        ZodObject<
                            {
                                identity: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<
                                            { sha256: ...; stability: ...; strategy: ... },
                                            $strict,
                                        >,
                                        ZodObject<
                                            {
                                                original_source: ...;
                                                source_map_sha256: ...;
                                                source_sha256: ...;
                                                stability: ...;
                                                strategy: ...;
                                            },
                                            $strict,
                                        >,
                                        ZodObject<
                                            {
                                                artifact_sha256: ...;
                                                path: ...;
                                                stability: ...;
                                                strategy: ...;
                                            },
                                            $strict,
                                        >,
                                    ],
                                    "strategy",
                                >;
                                kind: ZodEnum<
                                    {
                                        artifact: "artifact";
                                        "asar-entry": "asar-entry";
                                        "browser-window": "browser-window";
                                        "context-bridge-api": "context-bridge-api";
                                        "electron-main": "electron-main";
                                        "electron-preload": "electron-preload";
                                        "electron-renderer": "electron-renderer";
                                        "electron-utility": "electron-utility";
                                        endpoint: "endpoint";
                                        frame: "frame";
                                        installer: "installer";
                                        "ipc-channel": "ipc-channel";
                                        "ipc-handler": "ipc-handler";
                                        "javascript-asset": "javascript-asset";
                                        "javascript-chunk": "javascript-chunk";
                                        "javascript-module": "javascript-module";
                                        "native-addon": "native-addon";
                                        "native-export": "native-export";
                                        package: "package";
                                        "runtime-script-instance": "runtime-script-instance";
                                        "service-worker": "service-worker";
                                        "source-map": "source-map";
                                        "source-module": "source-module";
                                        storage: "storage";
                                        target: "target";
                                        unknown: "unknown";
                                        worker: "worker";
                                    },
                                >;
                                node_id: ZodString;
                                observations: ZodArray<
                                    ZodObject<
                                        {
                                            evidence: ZodObject<(...), (...)>;
                                            identifier_strategy: ZodObject<(...), (...)>;
                                            label: ZodNullable<(...)>;
                                            observation_id: ZodString;
                                            properties: ZodRecord<(...), (...)>;
                                        },
                                        $strict,
                                    >,
                                >;
                            },
                            $strict,
                        >,
                    >;
                    root_node_ids: ZodArray<ZodString>;
                    schema: ZodLiteral<"JavaScriptApplicationGraph">;
                    schema_version: ZodLiteral<1>;
                },
                $strict,
            >;
            input_path: ZodString;
            inventory_graph_sha256: ZodString;
            inventory_manifest_id: ZodString;
            limitations: ZodArray<ZodString>;
            root_artifact_sha256: ZodString;
            schema_version: ZodLiteral<1>;
            statistics: ZodObject<
                {
                    findings: ZodNumber;
                    invalid_utf8_files: ZodNumber;
                    limit_omitted_text_files: ZodNumber;
                    modules: ZodNumber;
                    nested_asar_containers: ZodNumber;
                    omitted_text_files: ZodNumber;
                    parse_failures: ZodNumber;
                    parsed_javascript_files: ZodNumber;
                    policy_filtered_text_files: ZodNumber;
                    relevant_files: ZodNumber;
                    text_bytes_read: ZodNumber;
                    text_files_selected: ZodNumber;
                    truncated_scopes: ZodNumber;
                    visited_ast_nodes: ZodNumber;
                },
                $strict,
            >;
            summary: ZodObject<
                {
                    browser_windows: ZodNumber;
                    context_bridge_apis: ZodNumber;
                    explicit_web_preferences: ZodNumber;
                    exposed_api_members: ZodNumber;
                    ipc: ZodObject<
                        {
                            ambiguous_renderer_transmissions: ZodNumber;
                            dynamic_channel_operations: ZodNumber;
                            literal_channels: ZodNumber;
                            main_handlers: ZodNumber;
                            operations: ZodNumber;
                            paired_renderer_transmissions: ZodNumber;
                            renderer_listeners: ZodNumber;
                            renderer_transmissions: ZodNumber;
                            unpaired_literal_renderer_transmissions: ZodNumber;
                        },
                        $strict,
                    >;
                    native_addon_bindings: ZodNumber;
                    preload_entrypoints: ZodNumber;
                    resolved_native_addon_bindings: ZodNumber;
                    resolved_utility_entrypoints: ZodNumber;
                    sender_validation_observations: ZodNumber;
                    utility_processes: ZodNumber;
                },
                $strict,
            >;
        },
        $strict,
    > = ...
    +
    javascriptApplicationAnalysisResultSchema: ZodObject<
        {
            format: ZodEnum<{ asar: "asar"; directory: "directory" }>;
            graph: ZodObject<
                {
                    coverage: ZodObject<
                        {
                            limits: ZodArray<
                                ZodObject<
                                    {
                                        name: ZodString;
                                        unit: ZodEnum<
                                            {
                                                bytes: ...;
                                                characters: ...;
                                                depth: ...;
                                                instructions: ...;
                                                items: ...;
                                                milliseconds: ...;
                                                other: ...;
                                            },
                                        >;
                                        value: ZodNumber;
                                    },
                                    $strict,
                                >,
                            >;
                            omitted_count: ZodNullable<ZodNumber>;
                            status: ZodEnum<
                                {
                                    complete: "complete";
                                    partial: "partial";
                                    unavailable: "unavailable";
                                    unknown: "unknown";
                                },
                            >;
                            truncated: ZodBoolean;
                        },
                        $strict,
                    >;
                    edges: ZodArray<
                        ZodObject<
                            {
                                edge_id: ZodString;
                                evidence: ZodObject<
                                    {
                                        artifact: ZodDiscriminatedUnion<[(...), (...)], "available">;
                                        authority: ZodEnum<
                                            {
                                                "artifact-bytes": ...;
                                                "ast-static-analysis": ...;
                                                "controlled-replay": ...;
                                                "cross-layer-reconciliation": ...;
                                                "historical-reference": ...;
                                                "native-analysis-provider": ...;
                                                "passive-cdp-runtime": ...;
                                                "static-relationship-inference": ...;
                                                unknown: ...;
                                                "user-assertion": ...;
                                            },
                                        >;
                                        confidence: ZodEnum<
                                            { exact: ...; high: ...; low: ...; medium: ...; unknown: ... },
                                        >;
                                        coverage: ZodObject<
                                            {
                                                limits: ...;
                                                omitted_count: ...;
                                                status: ...;
                                                truncated: ...;
                                            },
                                            $strict,
                                        >;
                                        evidence_ids: ZodArray<ZodString>;
                                        extractor: ZodObject<
                                            {
                                                executable_sha256: ...;
                                                name: ...;
                                                operation: ...;
                                                version: ...;
                                            },
                                            $strict,
                                        >;
                                        limitations: ZodArray<ZodString>;
                                        location: ZodDiscriminatedUnion<[(...), (...)], "available">;
                                        state: ZodEnum<
                                            {
                                                inferred: ...;
                                                observed: ...;
                                                unavailable: ...;
                                                unknown: ...;
                                            },
                                        >;
                                    },
                                    $strict,
                                >;
                                identifier_strategy: ZodObject<
                                    {
                                        stability: ZodLiteral<"relationship-exact">;
                                        strategy: ZodLiteral<"semantic-content-sha256">;
                                    },
                                    $strict,
                                >;
                                properties: ZodRecord<ZodString, ZodJSONSchema>;
                                relation: ZodEnum<
                                    {
                                        calls: "calls";
                                        changed_from: "changed_from";
                                        contains: "contains";
                                        exposes: "exposes";
                                        handles: "handles";
                                        imports: "imports";
                                        invokes: "invokes";
                                        loads: "loads";
                                        maps_to: "maps_to";
                                        observed_as: "observed_as";
                                        persists_to: "persists_to";
                                        sends: "sends";
                                    },
                                >;
                                source_node_id: ZodString;
                                target_node_id: ZodString;
                            },
                            $strict,
                        >,
                    >;
                    graph_id: ZodString;
                    limitations: ZodArray<ZodString>;
                    nodes: ZodArray<
                        ZodObject<
                            {
                                identity: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<
                                            { sha256: ...; stability: ...; strategy: ... },
                                            $strict,
                                        >,
                                        ZodObject<
                                            {
                                                original_source: ...;
                                                source_map_sha256: ...;
                                                source_sha256: ...;
                                                stability: ...;
                                                strategy: ...;
                                            },
                                            $strict,
                                        >,
                                        ZodObject<
                                            {
                                                artifact_sha256: ...;
                                                path: ...;
                                                stability: ...;
                                                strategy: ...;
                                            },
                                            $strict,
                                        >,
                                    ],
                                    "strategy",
                                >;
                                kind: ZodEnum<
                                    {
                                        artifact: "artifact";
                                        "asar-entry": "asar-entry";
                                        "browser-window": "browser-window";
                                        "context-bridge-api": "context-bridge-api";
                                        "electron-main": "electron-main";
                                        "electron-preload": "electron-preload";
                                        "electron-renderer": "electron-renderer";
                                        "electron-utility": "electron-utility";
                                        endpoint: "endpoint";
                                        frame: "frame";
                                        installer: "installer";
                                        "ipc-channel": "ipc-channel";
                                        "ipc-handler": "ipc-handler";
                                        "javascript-asset": "javascript-asset";
                                        "javascript-chunk": "javascript-chunk";
                                        "javascript-module": "javascript-module";
                                        "native-addon": "native-addon";
                                        "native-export": "native-export";
                                        package: "package";
                                        "runtime-script-instance": "runtime-script-instance";
                                        "service-worker": "service-worker";
                                        "source-map": "source-map";
                                        "source-module": "source-module";
                                        storage: "storage";
                                        target: "target";
                                        unknown: "unknown";
                                        worker: "worker";
                                    },
                                >;
                                node_id: ZodString;
                                observations: ZodArray<
                                    ZodObject<
                                        {
                                            evidence: ZodObject<(...), (...)>;
                                            identifier_strategy: ZodObject<(...), (...)>;
                                            label: ZodNullable<(...)>;
                                            observation_id: ZodString;
                                            properties: ZodRecord<(...), (...)>;
                                        },
                                        $strict,
                                    >,
                                >;
                            },
                            $strict,
                        >,
                    >;
                    root_node_ids: ZodArray<ZodString>;
                    schema: ZodLiteral<"JavaScriptApplicationGraph">;
                    schema_version: ZodLiteral<1>;
                },
                $strict,
            >;
            input_path: ZodString;
            inventory_graph_sha256: ZodString;
            inventory_manifest_id: ZodString;
            limitations: ZodArray<ZodString>;
            root_artifact_sha256: ZodString;
            schema_version: ZodLiteral<1>;
            statistics: ZodObject<
                {
                    findings: ZodNumber;
                    invalid_utf8_files: ZodNumber;
                    limit_omitted_text_files: ZodNumber;
                    modules: ZodNumber;
                    nested_asar_containers: ZodNumber;
                    omitted_text_files: ZodNumber;
                    parse_failures: ZodNumber;
                    parsed_javascript_files: ZodNumber;
                    policy_filtered_text_files: ZodNumber;
                    relevant_files: ZodNumber;
                    text_bytes_read: ZodNumber;
                    text_files_selected: ZodNumber;
                    truncated_scopes: ZodNumber;
                    visited_ast_nodes: ZodNumber;
                },
                $strict,
            >;
            summary: ZodObject<
                {
                    browser_windows: ZodNumber;
                    context_bridge_apis: ZodNumber;
                    explicit_web_preferences: ZodNumber;
                    exposed_api_members: ZodNumber;
                    ipc: ZodObject<
                        {
                            ambiguous_renderer_transmissions: ZodNumber;
                            dynamic_channel_operations: ZodNumber;
                            literal_channels: ZodNumber;
                            main_handlers: ZodNumber;
                            operations: ZodNumber;
                            paired_renderer_transmissions: ZodNumber;
                            renderer_listeners: ZodNumber;
                            renderer_transmissions: ZodNumber;
                            unpaired_literal_renderer_transmissions: ZodNumber;
                        },
                        $strict,
                    >;
                    native_addon_bindings: ZodNumber;
                    preload_entrypoints: ZodNumber;
                    resolved_native_addon_bindings: ZodNumber;
                    resolved_utility_entrypoints: ZodNumber;
                    sender_validation_observations: ZodNumber;
                    utility_processes: ZodNumber;
                },
                $strict,
            >;
        },
        $strict,
    > = ...

    Strict high-level result returned inside Evidence v2.

    +
  • Defined in src/domain/javascriptApplicationEvidenceSchemas.ts:193
  • +
  • Defined in src/domain/javascriptApplicationEvidenceSchemas.ts:369
  • +
  • Defined in src/domain/javascriptApplicationGraph.ts:388
  • -
    applicationEdgeSchema: ZodObject<
        {
            edge_id: ZodString;
            evidence: ZodObject<
                {
                    artifact: ZodDiscriminatedUnion<
                        [
                            ZodObject<
                                {
                                    artifact_id: ZodString;
                                    available: ZodLiteral<true>;
                                    sha256: ZodString;
                                },
                                $strict,
                            >,
                            ZodObject<
                                {
                                    available: ZodLiteral<false>;
                                    detail: ZodString;
                                    reason: ZodEnum<
                                        {
                                            "not-applicable": "not-applicable";
                                            "not-approved": "not-approved";
                                            "not-observed": "not-observed";
                                            "provider-unavailable": "provider-unavailable";
                                            truncated: "truncated";
                                            unknown: "unknown";
                                            unresolved: "unresolved";
                                        },
                                    >;
                                },
                                $strict,
                            >,
                        ],
                        "available",
                    >;
                    authority: ZodEnum<
                        {
                            "artifact-bytes": "artifact-bytes";
                            "ast-static-analysis": "ast-static-analysis";
                            "controlled-replay": "controlled-replay";
                            "historical-reference": "historical-reference";
                            "native-analysis-provider": "native-analysis-provider";
                            "passive-cdp-runtime": "passive-cdp-runtime";
                            "static-relationship-inference": "static-relationship-inference";
                            unknown: "unknown";
                            "user-assertion": "user-assertion";
                        },
                    >;
                    confidence: ZodEnum<
                        {
                            exact: "exact";
                            high: "high";
                            low: "low";
                            medium: "medium";
                            unknown: "unknown";
                        },
                    >;
                    coverage: ZodObject<
                        {
                            limits: ZodArray<
                                ZodObject<
                                    {
                                        name: ZodString;
                                        unit: ZodEnum<
                                            {
                                                bytes: ...;
                                                characters: ...;
                                                depth: ...;
                                                instructions: ...;
                                                items: ...;
                                                milliseconds: ...;
                                                other: ...;
                                            },
                                        >;
                                        value: ZodNumber;
                                    },
                                    $strict,
                                >,
                            >;
                            omitted_count: ZodNullable<ZodNumber>;
                            status: ZodEnum<
                                {
                                    complete: "complete";
                                    partial: "partial";
                                    unavailable: "unavailable";
                                    unknown: "unknown";
                                },
                            >;
                            truncated: ZodBoolean;
                        },
                        $strict,
                    >;
                    evidence_ids: ZodArray<ZodString>;
                    extractor: ZodObject<
                        {
                            executable_sha256: ZodNullable<ZodString>;
                            name: ZodString;
                            operation: ZodString;
                            version: ZodString;
                        },
                        $strict,
                    >;
                    limitations: ZodArray<ZodString>;
                    location: ZodDiscriminatedUnion<
                        [
                            ZodObject<
                                {
                                    available: ZodLiteral<true>;
                                    value: ZodDiscriminatedUnion<
                                        [
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                        ],
                                        "kind",
                                    >;
                                },
                                $strict,
                            >,
                            ZodObject<
                                {
                                    available: ZodLiteral<false>;
                                    detail: ZodString;
                                    reason: ZodEnum<
                                        {
                                            "not-applicable": "not-applicable";
                                            "not-approved": "not-approved";
                                            "not-observed": "not-observed";
                                            "provider-unavailable": "provider-unavailable";
                                            truncated: "truncated";
                                            unknown: "unknown";
                                            unresolved: "unresolved";
                                        },
                                    >;
                                },
                                $strict,
                            >,
                        ],
                        "available",
                    >;
                    state: ZodEnum<
                        {
                            inferred: "inferred";
                            observed: "observed";
                            unavailable: "unavailable";
                            unknown: "unknown";
                        },
                    >;
                },
                $strict,
            >;
            identifier_strategy: ZodObject<
                {
                    stability: ZodLiteral<"relationship-exact">;
                    strategy: ZodLiteral<"semantic-content-sha256">;
                },
                $strict,
            >;
            properties: ZodRecord<ZodString, ZodJSONSchema>;
            relation: ZodEnum<
                {
                    calls: "calls";
                    changed_from: "changed_from";
                    contains: "contains";
                    exposes: "exposes";
                    handles: "handles";
                    imports: "imports";
                    invokes: "invokes";
                    loads: "loads";
                    maps_to: "maps_to";
                    observed_as: "observed_as";
                    persists_to: "persists_to";
                    sends: "sends";
                },
            >;
            source_node_id: ZodString;
            target_node_id: ZodString;
        },
        $strict,
    > = ...
    +
    applicationEdgeSchema: ZodObject<
        {
            edge_id: ZodString;
            evidence: ZodObject<
                {
                    artifact: ZodDiscriminatedUnion<
                        [
                            ZodObject<
                                {
                                    artifact_id: ZodString;
                                    available: ZodLiteral<true>;
                                    sha256: ZodString;
                                },
                                $strict,
                            >,
                            ZodObject<
                                {
                                    available: ZodLiteral<false>;
                                    detail: ZodString;
                                    reason: ZodEnum<
                                        {
                                            "not-applicable": "not-applicable";
                                            "not-approved": "not-approved";
                                            "not-observed": "not-observed";
                                            "provider-unavailable": "provider-unavailable";
                                            truncated: "truncated";
                                            unknown: "unknown";
                                            unresolved: "unresolved";
                                        },
                                    >;
                                },
                                $strict,
                            >,
                        ],
                        "available",
                    >;
                    authority: ZodEnum<
                        {
                            "artifact-bytes": "artifact-bytes";
                            "ast-static-analysis": "ast-static-analysis";
                            "controlled-replay": "controlled-replay";
                            "cross-layer-reconciliation": "cross-layer-reconciliation";
                            "historical-reference": "historical-reference";
                            "native-analysis-provider": "native-analysis-provider";
                            "passive-cdp-runtime": "passive-cdp-runtime";
                            "static-relationship-inference": "static-relationship-inference";
                            unknown: "unknown";
                            "user-assertion": "user-assertion";
                        },
                    >;
                    confidence: ZodEnum<
                        {
                            exact: "exact";
                            high: "high";
                            low: "low";
                            medium: "medium";
                            unknown: "unknown";
                        },
                    >;
                    coverage: ZodObject<
                        {
                            limits: ZodArray<
                                ZodObject<
                                    {
                                        name: ZodString;
                                        unit: ZodEnum<
                                            {
                                                bytes: ...;
                                                characters: ...;
                                                depth: ...;
                                                instructions: ...;
                                                items: ...;
                                                milliseconds: ...;
                                                other: ...;
                                            },
                                        >;
                                        value: ZodNumber;
                                    },
                                    $strict,
                                >,
                            >;
                            omitted_count: ZodNullable<ZodNumber>;
                            status: ZodEnum<
                                {
                                    complete: "complete";
                                    partial: "partial";
                                    unavailable: "unavailable";
                                    unknown: "unknown";
                                },
                            >;
                            truncated: ZodBoolean;
                        },
                        $strict,
                    >;
                    evidence_ids: ZodArray<ZodString>;
                    extractor: ZodObject<
                        {
                            executable_sha256: ZodNullable<ZodString>;
                            name: ZodString;
                            operation: ZodString;
                            version: ZodString;
                        },
                        $strict,
                    >;
                    limitations: ZodArray<ZodString>;
                    location: ZodDiscriminatedUnion<
                        [
                            ZodObject<
                                {
                                    available: ZodLiteral<true>;
                                    value: ZodDiscriminatedUnion<
                                        [
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                        ],
                                        "kind",
                                    >;
                                },
                                $strict,
                            >,
                            ZodObject<
                                {
                                    available: ZodLiteral<false>;
                                    detail: ZodString;
                                    reason: ZodEnum<
                                        {
                                            "not-applicable": "not-applicable";
                                            "not-approved": "not-approved";
                                            "not-observed": "not-observed";
                                            "provider-unavailable": "provider-unavailable";
                                            truncated: "truncated";
                                            unknown: "unknown";
                                            unresolved: "unresolved";
                                        },
                                    >;
                                },
                                $strict,
                            >,
                        ],
                        "available",
                    >;
                    state: ZodEnum<
                        {
                            inferred: "inferred";
                            observed: "observed";
                            unavailable: "unavailable";
                            unknown: "unknown";
                        },
                    >;
                },
                $strict,
            >;
            identifier_strategy: ZodObject<
                {
                    stability: ZodLiteral<"relationship-exact">;
                    strategy: ZodLiteral<"semantic-content-sha256">;
                },
                $strict,
            >;
            properties: ZodRecord<ZodString, ZodJSONSchema>;
            relation: ZodEnum<
                {
                    calls: "calls";
                    changed_from: "changed_from";
                    contains: "contains";
                    exposes: "exposes";
                    handles: "handles";
                    imports: "imports";
                    invokes: "invokes";
                    loads: "loads";
                    maps_to: "maps_to";
                    observed_as: "observed_as";
                    persists_to: "persists_to";
                    sends: "sends";
                },
            >;
            source_node_id: ZodString;
            target_node_id: ZodString;
        },
        $strict,
    > = ...

    One directed, evidence-bearing application relationship.

    -
    applicationNodeInputSchema: ZodObject<
        {
            identity: ZodDiscriminatedUnion<
                [
                    ZodObject<
                        {
                            sha256: ZodString;
                            stability: ZodLiteral<"global-exact">;
                            strategy: ZodLiteral<"content-digest">;
                        },
                        $strict,
                    >,
                    ZodObject<
                        {
                            original_source: ZodString;
                            source_map_sha256: ZodString;
                            source_sha256: ZodNullable<ZodString>;
                            stability: ZodLiteral<"source-map-exact">;
                            strategy: ZodLiteral<"source-map-original">;
                        },
                        $strict,
                    >,
                    ZodObject<
                        {
                            artifact_sha256: ZodString;
                            path: ZodString;
                            stability: ZodLiteral<"artifact-version">;
                            strategy: ZodLiteral<"canonical-path">;
                        },
                        $strict,
                    >,
                ],
                "strategy",
            >;
            kind: ZodEnum<
                {
                    artifact: "artifact";
                    "asar-entry": "asar-entry";
                    "browser-window": "browser-window";
                    "context-bridge-api": "context-bridge-api";
                    "electron-main": "electron-main";
                    "electron-preload": "electron-preload";
                    "electron-renderer": "electron-renderer";
                    "electron-utility": "electron-utility";
                    endpoint: "endpoint";
                    frame: "frame";
                    installer: "installer";
                    "ipc-channel": "ipc-channel";
                    "ipc-handler": "ipc-handler";
                    "javascript-asset": "javascript-asset";
                    "javascript-chunk": "javascript-chunk";
                    "javascript-module": "javascript-module";
                    "native-addon": "native-addon";
                    "native-export": "native-export";
                    package: "package";
                    "runtime-script-instance": "runtime-script-instance";
                    "service-worker": "service-worker";
                    "source-map": "source-map";
                    "source-module": "source-module";
                    storage: "storage";
                    target: "target";
                    unknown: "unknown";
                    worker: "worker";
                },
            >;
            observations: ZodArray<
                ZodObject<
                    {
                        evidence: ZodObject<
                            {
                                artifact: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<
                                            { artifact_id: ...; available: ...; sha256: ... },
                                            $strict,
                                        >,
                                        ZodObject<{ available: ...; detail: ...; reason: ... }, $strict>,
                                    ],
                                    "available",
                                >;
                                authority: ZodEnum<
                                    {
                                        "artifact-bytes": "artifact-bytes";
                                        "ast-static-analysis": "ast-static-analysis";
                                        "controlled-replay": "controlled-replay";
                                        "historical-reference": "historical-reference";
                                        "native-analysis-provider": "native-analysis-provider";
                                        "passive-cdp-runtime": "passive-cdp-runtime";
                                        "static-relationship-inference": "static-relationship-inference";
                                        unknown: "unknown";
                                        "user-assertion": "user-assertion";
                                    },
                                >;
                                confidence: ZodEnum<
                                    {
                                        exact: "exact";
                                        high: "high";
                                        low: "low";
                                        medium: "medium";
                                        unknown: "unknown";
                                    },
                                >;
                                coverage: ZodObject<
                                    {
                                        limits: ZodArray<ZodObject<(...), (...)>>;
                                        omitted_count: ZodNullable<ZodNumber>;
                                        status: ZodEnum<
                                            { complete: ...; partial: ...; unavailable: ...; unknown: ... },
                                        >;
                                        truncated: ZodBoolean;
                                    },
                                    $strict,
                                >;
                                evidence_ids: ZodArray<ZodString>;
                                extractor: ZodObject<
                                    {
                                        executable_sha256: ZodNullable<ZodString>;
                                        name: ZodString;
                                        operation: ZodString;
                                        version: ZodString;
                                    },
                                    $strict,
                                >;
                                limitations: ZodArray<ZodString>;
                                location: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<{ available: ...; value: ... }, $strict>,
                                        ZodObject<{ available: ...; detail: ...; reason: ... }, $strict>,
                                    ],
                                    "available",
                                >;
                                state: ZodEnum<
                                    {
                                        inferred: "inferred";
                                        observed: "observed";
                                        unavailable: "unavailable";
                                        unknown: "unknown";
                                    },
                                >;
                            },
                            $strict,
                        >;
                        label: ZodNullable<ZodString>;
                        properties: ZodRecord<ZodString, ZodJSONSchema>;
                    },
                    $strict,
                >,
            >;
        },
        $strict,
    > = ...
    +
    applicationNodeInputSchema: ZodObject<
        {
            identity: ZodDiscriminatedUnion<
                [
                    ZodObject<
                        {
                            sha256: ZodString;
                            stability: ZodLiteral<"global-exact">;
                            strategy: ZodLiteral<"content-digest">;
                        },
                        $strict,
                    >,
                    ZodObject<
                        {
                            original_source: ZodString;
                            source_map_sha256: ZodString;
                            source_sha256: ZodNullable<ZodString>;
                            stability: ZodLiteral<"source-map-exact">;
                            strategy: ZodLiteral<"source-map-original">;
                        },
                        $strict,
                    >,
                    ZodObject<
                        {
                            artifact_sha256: ZodString;
                            path: ZodString;
                            stability: ZodLiteral<"artifact-version">;
                            strategy: ZodLiteral<"canonical-path">;
                        },
                        $strict,
                    >,
                ],
                "strategy",
            >;
            kind: ZodEnum<
                {
                    artifact: "artifact";
                    "asar-entry": "asar-entry";
                    "browser-window": "browser-window";
                    "context-bridge-api": "context-bridge-api";
                    "electron-main": "electron-main";
                    "electron-preload": "electron-preload";
                    "electron-renderer": "electron-renderer";
                    "electron-utility": "electron-utility";
                    endpoint: "endpoint";
                    frame: "frame";
                    installer: "installer";
                    "ipc-channel": "ipc-channel";
                    "ipc-handler": "ipc-handler";
                    "javascript-asset": "javascript-asset";
                    "javascript-chunk": "javascript-chunk";
                    "javascript-module": "javascript-module";
                    "native-addon": "native-addon";
                    "native-export": "native-export";
                    package: "package";
                    "runtime-script-instance": "runtime-script-instance";
                    "service-worker": "service-worker";
                    "source-map": "source-map";
                    "source-module": "source-module";
                    storage: "storage";
                    target: "target";
                    unknown: "unknown";
                    worker: "worker";
                },
            >;
            observations: ZodArray<
                ZodObject<
                    {
                        evidence: ZodObject<
                            {
                                artifact: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<
                                            { artifact_id: ...; available: ...; sha256: ... },
                                            $strict,
                                        >,
                                        ZodObject<{ available: ...; detail: ...; reason: ... }, $strict>,
                                    ],
                                    "available",
                                >;
                                authority: ZodEnum<
                                    {
                                        "artifact-bytes": "artifact-bytes";
                                        "ast-static-analysis": "ast-static-analysis";
                                        "controlled-replay": "controlled-replay";
                                        "cross-layer-reconciliation": "cross-layer-reconciliation";
                                        "historical-reference": "historical-reference";
                                        "native-analysis-provider": "native-analysis-provider";
                                        "passive-cdp-runtime": "passive-cdp-runtime";
                                        "static-relationship-inference": "static-relationship-inference";
                                        unknown: "unknown";
                                        "user-assertion": "user-assertion";
                                    },
                                >;
                                confidence: ZodEnum<
                                    {
                                        exact: "exact";
                                        high: "high";
                                        low: "low";
                                        medium: "medium";
                                        unknown: "unknown";
                                    },
                                >;
                                coverage: ZodObject<
                                    {
                                        limits: ZodArray<ZodObject<(...), (...)>>;
                                        omitted_count: ZodNullable<ZodNumber>;
                                        status: ZodEnum<
                                            { complete: ...; partial: ...; unavailable: ...; unknown: ... },
                                        >;
                                        truncated: ZodBoolean;
                                    },
                                    $strict,
                                >;
                                evidence_ids: ZodArray<ZodString>;
                                extractor: ZodObject<
                                    {
                                        executable_sha256: ZodNullable<ZodString>;
                                        name: ZodString;
                                        operation: ZodString;
                                        version: ZodString;
                                    },
                                    $strict,
                                >;
                                limitations: ZodArray<ZodString>;
                                location: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<{ available: ...; value: ... }, $strict>,
                                        ZodObject<{ available: ...; detail: ...; reason: ... }, $strict>,
                                    ],
                                    "available",
                                >;
                                state: ZodEnum<
                                    {
                                        inferred: "inferred";
                                        observed: "observed";
                                        unavailable: "unavailable";
                                        unknown: "unknown";
                                    },
                                >;
                            },
                            $strict,
                        >;
                        label: ZodNullable<ZodString>;
                        properties: ZodRecord<ZodString, ZodJSONSchema>;
                    },
                    $strict,
                >,
            >;
        },
        $strict,
    > = ...

    One application entity before its stable identifier is derived.

    -
    applicationNodeObservationSchema: ZodObject<
        {
            evidence: ZodObject<
                {
                    artifact: ZodDiscriminatedUnion<
                        [
                            ZodObject<
                                {
                                    artifact_id: ZodString;
                                    available: ZodLiteral<true>;
                                    sha256: ZodString;
                                },
                                $strict,
                            >,
                            ZodObject<
                                {
                                    available: ZodLiteral<false>;
                                    detail: ZodString;
                                    reason: ZodEnum<
                                        {
                                            "not-applicable": "not-applicable";
                                            "not-approved": "not-approved";
                                            "not-observed": "not-observed";
                                            "provider-unavailable": "provider-unavailable";
                                            truncated: "truncated";
                                            unknown: "unknown";
                                            unresolved: "unresolved";
                                        },
                                    >;
                                },
                                $strict,
                            >,
                        ],
                        "available",
                    >;
                    authority: ZodEnum<
                        {
                            "artifact-bytes": "artifact-bytes";
                            "ast-static-analysis": "ast-static-analysis";
                            "controlled-replay": "controlled-replay";
                            "historical-reference": "historical-reference";
                            "native-analysis-provider": "native-analysis-provider";
                            "passive-cdp-runtime": "passive-cdp-runtime";
                            "static-relationship-inference": "static-relationship-inference";
                            unknown: "unknown";
                            "user-assertion": "user-assertion";
                        },
                    >;
                    confidence: ZodEnum<
                        {
                            exact: "exact";
                            high: "high";
                            low: "low";
                            medium: "medium";
                            unknown: "unknown";
                        },
                    >;
                    coverage: ZodObject<
                        {
                            limits: ZodArray<
                                ZodObject<
                                    {
                                        name: ZodString;
                                        unit: ZodEnum<
                                            {
                                                bytes: ...;
                                                characters: ...;
                                                depth: ...;
                                                instructions: ...;
                                                items: ...;
                                                milliseconds: ...;
                                                other: ...;
                                            },
                                        >;
                                        value: ZodNumber;
                                    },
                                    $strict,
                                >,
                            >;
                            omitted_count: ZodNullable<ZodNumber>;
                            status: ZodEnum<
                                {
                                    complete: "complete";
                                    partial: "partial";
                                    unavailable: "unavailable";
                                    unknown: "unknown";
                                },
                            >;
                            truncated: ZodBoolean;
                        },
                        $strict,
                    >;
                    evidence_ids: ZodArray<ZodString>;
                    extractor: ZodObject<
                        {
                            executable_sha256: ZodNullable<ZodString>;
                            name: ZodString;
                            operation: ZodString;
                            version: ZodString;
                        },
                        $strict,
                    >;
                    limitations: ZodArray<ZodString>;
                    location: ZodDiscriminatedUnion<
                        [
                            ZodObject<
                                {
                                    available: ZodLiteral<true>;
                                    value: ZodDiscriminatedUnion<
                                        [
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                        ],
                                        "kind",
                                    >;
                                },
                                $strict,
                            >,
                            ZodObject<
                                {
                                    available: ZodLiteral<false>;
                                    detail: ZodString;
                                    reason: ZodEnum<
                                        {
                                            "not-applicable": "not-applicable";
                                            "not-approved": "not-approved";
                                            "not-observed": "not-observed";
                                            "provider-unavailable": "provider-unavailable";
                                            truncated: "truncated";
                                            unknown: "unknown";
                                            unresolved: "unresolved";
                                        },
                                    >;
                                },
                                $strict,
                            >,
                        ],
                        "available",
                    >;
                    state: ZodEnum<
                        {
                            inferred: "inferred";
                            observed: "observed";
                            unavailable: "unavailable";
                            unknown: "unknown";
                        },
                    >;
                },
                $strict,
            >;
            identifier_strategy: ZodObject<
                {
                    stability: ZodLiteral<"observation-exact">;
                    strategy: ZodLiteral<"semantic-content-sha256">;
                },
                $strict,
            >;
            label: ZodNullable<ZodString>;
            observation_id: ZodString;
            properties: ZodRecord<ZodString, ZodJSONSchema>;
        },
        $strict,
    > = ...
    +
    applicationNodeObservationSchema: ZodObject<
        {
            evidence: ZodObject<
                {
                    artifact: ZodDiscriminatedUnion<
                        [
                            ZodObject<
                                {
                                    artifact_id: ZodString;
                                    available: ZodLiteral<true>;
                                    sha256: ZodString;
                                },
                                $strict,
                            >,
                            ZodObject<
                                {
                                    available: ZodLiteral<false>;
                                    detail: ZodString;
                                    reason: ZodEnum<
                                        {
                                            "not-applicable": "not-applicable";
                                            "not-approved": "not-approved";
                                            "not-observed": "not-observed";
                                            "provider-unavailable": "provider-unavailable";
                                            truncated: "truncated";
                                            unknown: "unknown";
                                            unresolved: "unresolved";
                                        },
                                    >;
                                },
                                $strict,
                            >,
                        ],
                        "available",
                    >;
                    authority: ZodEnum<
                        {
                            "artifact-bytes": "artifact-bytes";
                            "ast-static-analysis": "ast-static-analysis";
                            "controlled-replay": "controlled-replay";
                            "cross-layer-reconciliation": "cross-layer-reconciliation";
                            "historical-reference": "historical-reference";
                            "native-analysis-provider": "native-analysis-provider";
                            "passive-cdp-runtime": "passive-cdp-runtime";
                            "static-relationship-inference": "static-relationship-inference";
                            unknown: "unknown";
                            "user-assertion": "user-assertion";
                        },
                    >;
                    confidence: ZodEnum<
                        {
                            exact: "exact";
                            high: "high";
                            low: "low";
                            medium: "medium";
                            unknown: "unknown";
                        },
                    >;
                    coverage: ZodObject<
                        {
                            limits: ZodArray<
                                ZodObject<
                                    {
                                        name: ZodString;
                                        unit: ZodEnum<
                                            {
                                                bytes: ...;
                                                characters: ...;
                                                depth: ...;
                                                instructions: ...;
                                                items: ...;
                                                milliseconds: ...;
                                                other: ...;
                                            },
                                        >;
                                        value: ZodNumber;
                                    },
                                    $strict,
                                >,
                            >;
                            omitted_count: ZodNullable<ZodNumber>;
                            status: ZodEnum<
                                {
                                    complete: "complete";
                                    partial: "partial";
                                    unavailable: "unavailable";
                                    unknown: "unknown";
                                },
                            >;
                            truncated: ZodBoolean;
                        },
                        $strict,
                    >;
                    evidence_ids: ZodArray<ZodString>;
                    extractor: ZodObject<
                        {
                            executable_sha256: ZodNullable<ZodString>;
                            name: ZodString;
                            operation: ZodString;
                            version: ZodString;
                        },
                        $strict,
                    >;
                    limitations: ZodArray<ZodString>;
                    location: ZodDiscriminatedUnion<
                        [
                            ZodObject<
                                {
                                    available: ZodLiteral<true>;
                                    value: ZodDiscriminatedUnion<
                                        [
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                            ZodObject<(...), (...)>,
                                        ],
                                        "kind",
                                    >;
                                },
                                $strict,
                            >,
                            ZodObject<
                                {
                                    available: ZodLiteral<false>;
                                    detail: ZodString;
                                    reason: ZodEnum<
                                        {
                                            "not-applicable": "not-applicable";
                                            "not-approved": "not-approved";
                                            "not-observed": "not-observed";
                                            "provider-unavailable": "provider-unavailable";
                                            truncated: "truncated";
                                            unknown: "unknown";
                                            unresolved: "unresolved";
                                        },
                                    >;
                                },
                                $strict,
                            >,
                        ],
                        "available",
                    >;
                    state: ZodEnum<
                        {
                            inferred: "inferred";
                            observed: "observed";
                            unavailable: "unavailable";
                            unknown: "unknown";
                        },
                    >;
                },
                $strict,
            >;
            identifier_strategy: ZodObject<
                {
                    stability: ZodLiteral<"observation-exact">;
                    strategy: ZodLiteral<"semantic-content-sha256">;
                },
                $strict,
            >;
            label: ZodNullable<ZodString>;
            observation_id: ZodString;
            properties: ZodRecord<ZodString, ZodJSONSchema>;
        },
        $strict,
    > = ...

    One immutable, evidence-bearing observation attached to an entity.

    -
    applicationNodeSchema: ZodObject<
        {
            identity: ZodDiscriminatedUnion<
                [
                    ZodObject<
                        {
                            sha256: ZodString;
                            stability: ZodLiteral<"global-exact">;
                            strategy: ZodLiteral<"content-digest">;
                        },
                        $strict,
                    >,
                    ZodObject<
                        {
                            original_source: ZodString;
                            source_map_sha256: ZodString;
                            source_sha256: ZodNullable<ZodString>;
                            stability: ZodLiteral<"source-map-exact">;
                            strategy: ZodLiteral<"source-map-original">;
                        },
                        $strict,
                    >,
                    ZodObject<
                        {
                            artifact_sha256: ZodString;
                            path: ZodString;
                            stability: ZodLiteral<"artifact-version">;
                            strategy: ZodLiteral<"canonical-path">;
                        },
                        $strict,
                    >,
                ],
                "strategy",
            >;
            kind: ZodEnum<
                {
                    artifact: "artifact";
                    "asar-entry": "asar-entry";
                    "browser-window": "browser-window";
                    "context-bridge-api": "context-bridge-api";
                    "electron-main": "electron-main";
                    "electron-preload": "electron-preload";
                    "electron-renderer": "electron-renderer";
                    "electron-utility": "electron-utility";
                    endpoint: "endpoint";
                    frame: "frame";
                    installer: "installer";
                    "ipc-channel": "ipc-channel";
                    "ipc-handler": "ipc-handler";
                    "javascript-asset": "javascript-asset";
                    "javascript-chunk": "javascript-chunk";
                    "javascript-module": "javascript-module";
                    "native-addon": "native-addon";
                    "native-export": "native-export";
                    package: "package";
                    "runtime-script-instance": "runtime-script-instance";
                    "service-worker": "service-worker";
                    "source-map": "source-map";
                    "source-module": "source-module";
                    storage: "storage";
                    target: "target";
                    unknown: "unknown";
                    worker: "worker";
                },
            >;
            node_id: ZodString;
            observations: ZodArray<
                ZodObject<
                    {
                        evidence: ZodObject<
                            {
                                artifact: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<
                                            { artifact_id: ...; available: ...; sha256: ... },
                                            $strict,
                                        >,
                                        ZodObject<{ available: ...; detail: ...; reason: ... }, $strict>,
                                    ],
                                    "available",
                                >;
                                authority: ZodEnum<
                                    {
                                        "artifact-bytes": "artifact-bytes";
                                        "ast-static-analysis": "ast-static-analysis";
                                        "controlled-replay": "controlled-replay";
                                        "historical-reference": "historical-reference";
                                        "native-analysis-provider": "native-analysis-provider";
                                        "passive-cdp-runtime": "passive-cdp-runtime";
                                        "static-relationship-inference": "static-relationship-inference";
                                        unknown: "unknown";
                                        "user-assertion": "user-assertion";
                                    },
                                >;
                                confidence: ZodEnum<
                                    {
                                        exact: "exact";
                                        high: "high";
                                        low: "low";
                                        medium: "medium";
                                        unknown: "unknown";
                                    },
                                >;
                                coverage: ZodObject<
                                    {
                                        limits: ZodArray<ZodObject<(...), (...)>>;
                                        omitted_count: ZodNullable<ZodNumber>;
                                        status: ZodEnum<
                                            { complete: ...; partial: ...; unavailable: ...; unknown: ... },
                                        >;
                                        truncated: ZodBoolean;
                                    },
                                    $strict,
                                >;
                                evidence_ids: ZodArray<ZodString>;
                                extractor: ZodObject<
                                    {
                                        executable_sha256: ZodNullable<ZodString>;
                                        name: ZodString;
                                        operation: ZodString;
                                        version: ZodString;
                                    },
                                    $strict,
                                >;
                                limitations: ZodArray<ZodString>;
                                location: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<{ available: ...; value: ... }, $strict>,
                                        ZodObject<{ available: ...; detail: ...; reason: ... }, $strict>,
                                    ],
                                    "available",
                                >;
                                state: ZodEnum<
                                    {
                                        inferred: "inferred";
                                        observed: "observed";
                                        unavailable: "unavailable";
                                        unknown: "unknown";
                                    },
                                >;
                            },
                            $strict,
                        >;
                        identifier_strategy: ZodObject<
                            {
                                stability: ZodLiteral<"observation-exact">;
                                strategy: ZodLiteral<"semantic-content-sha256">;
                            },
                            $strict,
                        >;
                        label: ZodNullable<ZodString>;
                        observation_id: ZodString;
                        properties: ZodRecord<ZodString, ZodJSONSchema>;
                    },
                    $strict,
                >,
            >;
        },
        $strict,
    > = ...
    +
    applicationNodeSchema: ZodObject<
        {
            identity: ZodDiscriminatedUnion<
                [
                    ZodObject<
                        {
                            sha256: ZodString;
                            stability: ZodLiteral<"global-exact">;
                            strategy: ZodLiteral<"content-digest">;
                        },
                        $strict,
                    >,
                    ZodObject<
                        {
                            original_source: ZodString;
                            source_map_sha256: ZodString;
                            source_sha256: ZodNullable<ZodString>;
                            stability: ZodLiteral<"source-map-exact">;
                            strategy: ZodLiteral<"source-map-original">;
                        },
                        $strict,
                    >,
                    ZodObject<
                        {
                            artifact_sha256: ZodString;
                            path: ZodString;
                            stability: ZodLiteral<"artifact-version">;
                            strategy: ZodLiteral<"canonical-path">;
                        },
                        $strict,
                    >,
                ],
                "strategy",
            >;
            kind: ZodEnum<
                {
                    artifact: "artifact";
                    "asar-entry": "asar-entry";
                    "browser-window": "browser-window";
                    "context-bridge-api": "context-bridge-api";
                    "electron-main": "electron-main";
                    "electron-preload": "electron-preload";
                    "electron-renderer": "electron-renderer";
                    "electron-utility": "electron-utility";
                    endpoint: "endpoint";
                    frame: "frame";
                    installer: "installer";
                    "ipc-channel": "ipc-channel";
                    "ipc-handler": "ipc-handler";
                    "javascript-asset": "javascript-asset";
                    "javascript-chunk": "javascript-chunk";
                    "javascript-module": "javascript-module";
                    "native-addon": "native-addon";
                    "native-export": "native-export";
                    package: "package";
                    "runtime-script-instance": "runtime-script-instance";
                    "service-worker": "service-worker";
                    "source-map": "source-map";
                    "source-module": "source-module";
                    storage: "storage";
                    target: "target";
                    unknown: "unknown";
                    worker: "worker";
                },
            >;
            node_id: ZodString;
            observations: ZodArray<
                ZodObject<
                    {
                        evidence: ZodObject<
                            {
                                artifact: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<
                                            { artifact_id: ...; available: ...; sha256: ... },
                                            $strict,
                                        >,
                                        ZodObject<{ available: ...; detail: ...; reason: ... }, $strict>,
                                    ],
                                    "available",
                                >;
                                authority: ZodEnum<
                                    {
                                        "artifact-bytes": "artifact-bytes";
                                        "ast-static-analysis": "ast-static-analysis";
                                        "controlled-replay": "controlled-replay";
                                        "cross-layer-reconciliation": "cross-layer-reconciliation";
                                        "historical-reference": "historical-reference";
                                        "native-analysis-provider": "native-analysis-provider";
                                        "passive-cdp-runtime": "passive-cdp-runtime";
                                        "static-relationship-inference": "static-relationship-inference";
                                        unknown: "unknown";
                                        "user-assertion": "user-assertion";
                                    },
                                >;
                                confidence: ZodEnum<
                                    {
                                        exact: "exact";
                                        high: "high";
                                        low: "low";
                                        medium: "medium";
                                        unknown: "unknown";
                                    },
                                >;
                                coverage: ZodObject<
                                    {
                                        limits: ZodArray<ZodObject<(...), (...)>>;
                                        omitted_count: ZodNullable<ZodNumber>;
                                        status: ZodEnum<
                                            { complete: ...; partial: ...; unavailable: ...; unknown: ... },
                                        >;
                                        truncated: ZodBoolean;
                                    },
                                    $strict,
                                >;
                                evidence_ids: ZodArray<ZodString>;
                                extractor: ZodObject<
                                    {
                                        executable_sha256: ZodNullable<ZodString>;
                                        name: ZodString;
                                        operation: ZodString;
                                        version: ZodString;
                                    },
                                    $strict,
                                >;
                                limitations: ZodArray<ZodString>;
                                location: ZodDiscriminatedUnion<
                                    [
                                        ZodObject<{ available: ...; value: ... }, $strict>,
                                        ZodObject<{ available: ...; detail: ...; reason: ... }, $strict>,
                                    ],
                                    "available",
                                >;
                                state: ZodEnum<
                                    {
                                        inferred: "inferred";
                                        observed: "observed";
                                        unavailable: "unavailable";
                                        unknown: "unknown";
                                    },
                                >;
                            },
                            $strict,
                        >;
                        identifier_strategy: ZodObject<
                            {
                                stability: ZodLiteral<"observation-exact">;
                                strategy: ZodLiteral<"semantic-content-sha256">;
                            },
                            $strict,
                        >;
                        label: ZodNullable<ZodString>;
                        observation_id: ZodString;
                        properties: ZodRecord<ZodString, ZodJSONSchema>;
                    },
                    $strict,
                >,
            >;
        },
        $strict,
    > = ...

    One stable application entity with one or more bounded observations.