mirror of
https://github.com/morluto/rea
synced 2026-10-27 06:33:32 -04:00
b955b825fc
Keep failed stable-read handles and WABT runtime roots under retryable resource scopes. Preserve cancellation causes and primary errors, close the same service instances bound to MCP tools, and consolidate CLI operation/cleanup projection. Validation: fast typecheck and lint, cached runtime build, docs checks, SDK schema validation, focused service and real-file cleanup tests, CLI cleanup regressions, and MCP lifecycle/shutdown workflows. Provider process fixtures simulate engine output; real WABT and Linux EVM execution are not established by this pass.
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import type { AnalysisError } from "../domain/analysisErrorBase.js";
|
|
import type { Result } from "../domain/result.js";
|
|
import type {
|
|
WebSourceLocationInput,
|
|
WebSourceMapReport,
|
|
} from "../domain/webSourceLocation.js";
|
|
import type { SelectedWebScriptArtifacts } from "../domain/webScriptArtifacts.js";
|
|
import type { z } from "zod";
|
|
import type { webArtifactFileSchema } from "../domain/webScriptArtifacts.js";
|
|
import type { ExecutionOptions } from "./AnalysisProvider.js";
|
|
|
|
/** Actual selected source and local map bytes; no provider URL fetching. */
|
|
export interface WebSourceLocationArtifacts extends SelectedWebScriptArtifacts {
|
|
readonly sourceMap: {
|
|
readonly file: z.output<typeof webArtifactFileSchema>;
|
|
readonly url: string;
|
|
readonly text: string;
|
|
};
|
|
}
|
|
|
|
/** Replaceable artifact acquisition boundary for a caller-selected pairing. */
|
|
export interface WebSourceLocationArtifactPort {
|
|
close?(): Promise<void>;
|
|
load(
|
|
input: WebSourceLocationInput,
|
|
options?: ExecutionOptions,
|
|
): Promise<Result<WebSourceLocationArtifacts, AnalysisError>>;
|
|
}
|
|
|
|
/** Replaceable codec receives map data and one explicit generated point. */
|
|
export interface WebSourceMapPort {
|
|
close?(): Promise<void>;
|
|
trace(
|
|
input: {
|
|
readonly text: string;
|
|
readonly path: string;
|
|
readonly url: string;
|
|
readonly position: WebSourceLocationInput["generated_position"];
|
|
},
|
|
options?: ExecutionOptions,
|
|
): Promise<Result<WebSourceMapReport, AnalysisError>>;
|
|
}
|