Declare the missing trace composition and correct call graph prerequisites to require address resolution plus the selected relationship direction. Report forward/backward modes and the actual default independently, preserving missing operations, owner failure reasons and direct partial outcomes. Share the direction-to-provider mapping across runtime and discovery, reuse the mode evaluator, select defaults by name, and check composition coverage against every canonical enhanced contract. Keep same-endpoint traces callable without relationship reads. Adapt the missing trace-composition correction proposed in PR #4729 and complete the directly related ownership/refactoring and sibling graph correction. Validation: 75 source tests and 76 public MCP/schema tests passed; full static/architecture checks, docs and test discovery passed. Controlled SDK/provider workflows verified unchanged catalogs and normalized traces. Small whole-session costs were recorded, with no speedup claim. No native-engine, CLI, Linux/Windows or model tool-selection qualification. Fixes #4687 Fixes #5068 Co-authored-by: AHMED <aptech356@gmail.com>
17 lines
600 B
TypeScript
17 lines
600 B
TypeScript
import type { CallRelationshipDirection } from "../contracts/enhancedInputs.js";
|
|
import type { AnalysisOperation } from "./AnalysisProvider.js";
|
|
|
|
/** The provider read and response relation for each supported traversal direction. */
|
|
export const CALL_RELATIONSHIP_TRAVERSALS = {
|
|
forward: { operation: "procedure_callees", relation: "callees" },
|
|
backward: { operation: "procedure_callers", relation: "callers" },
|
|
} as const satisfies Readonly<
|
|
Record<
|
|
CallRelationshipDirection,
|
|
{
|
|
readonly operation: AnalysisOperation;
|
|
readonly relation: "callees" | "callers";
|
|
}
|
|
>
|
|
>;
|