Files
rea/src/application/BrowserObservationPort.ts
T
morluto 735c10059c refactor(domain): split error taxonomy into thematic modules (#636)
Move each error family out of domain/errors.ts into its own module
(base, core, provider selection/adapter, browser observation,
artifact, evidence, unknown registry, hopper, configuration) and
relocate AnalysisErrorProjection to analysisErrorProjection.
Migrate all 162 importers to the owning modules and delete
errors.ts. No re-export shims; behavior is unchanged.
2026-10-06 05:57:38 +08:00

68 lines
2.2 KiB
TypeScript

import type { AnalysisError } from "../domain/analysisErrorBase.js";
import type {
BrowserTargetList,
InspectWebPageInput,
ListBrowserTargetsInput,
WebPageInspection,
} from "../domain/browserObservation.js";
import type { Result } from "../domain/result.js";
import type {
AnalyzeWebBundleInput,
WebBundleAnalysis,
} from "../domain/webBundleAnalysis.js";
import type {
ObserveWebSessionInput,
WebObservationSession,
} from "../domain/browserSession.js";
import type {
DiscoverWebMcpToolsInput,
WebMcpDiscovery,
} from "../domain/webMcpDiscovery.js";
import type {
BrowserCaptureComparison,
BrowserCaptureComparisonInput,
} from "../domain/browserCaptureComparison.js";
import type {
CaptureWebScreenshotInput,
CompareWebScreenshotsInput,
WebScreenshot,
WebScreenshotDiff,
} from "../domain/webScreenshot.js";
import type { ProviderIdentity } from "./AnalysisProvider.js";
import type { ExecutionOptions } from "./AnalysisProvider.js";
/** Provider-neutral application boundary for passive browser observation. */
export interface BrowserObservationPort {
identity(): ProviderIdentity;
listTargets(
input: ListBrowserTargetsInput,
options?: ExecutionOptions,
): Promise<Result<BrowserTargetList, AnalysisError>>;
inspectPage(
input: InspectWebPageInput,
options?: ExecutionOptions,
): Promise<Result<WebPageInspection, AnalysisError>>;
analyzeBundle(
input: AnalyzeWebBundleInput,
options?: ExecutionOptions,
): Promise<Result<WebBundleAnalysis, AnalysisError>>;
observeSession(
input: ObserveWebSessionInput,
options?: ExecutionOptions,
): Promise<Result<WebObservationSession, AnalysisError>>;
discoverWebMcpTools(
input: DiscoverWebMcpToolsInput,
options?: ExecutionOptions,
): Promise<Result<WebMcpDiscovery, AnalysisError>>;
compareCaptures(
input: BrowserCaptureComparisonInput,
): Promise<Result<BrowserCaptureComparison, AnalysisError>>;
captureScreenshot(
input: CaptureWebScreenshotInput,
options?: ExecutionOptions,
): Promise<Result<WebScreenshot, AnalysisError>>;
compareScreenshots(
input: CompareWebScreenshotsInput,
): Promise<Result<WebScreenshotDiff, AnalysisError>>;
}