UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

656 lines 73.7 kB
import type { CallContextQuery } from './catalog/call-context-query/call-context-query-format'; import type { BaseQueryFormat, BaseQueryResult, BasicQueryData } from './base-query-format'; import type { VirtualQueryArgumentsWithType } from './virtual-query/virtual-queries'; import type { VirtualCompoundConstraint } from './virtual-query/compound-query'; import type { DataflowQuery } from './catalog/dataflow-query/dataflow-query-format'; import type { IdMapQuery } from './catalog/id-map-query/id-map-query-format'; import type { NormalizedAstQuery } from './catalog/normalized-ast-query/normalized-ast-query-format'; import type { LineageQuery } from './catalog/lineage-query/lineage-query-format'; import type { StaticSliceQuery } from './catalog/static-slice-query/static-slice-query-format'; import type { DataflowClusterQuery } from './catalog/cluster-query/cluster-query-format'; import type { DependenciesQuery } from './catalog/dependencies-query/dependencies-query-format'; import type { OutputFormatter } from '../util/text/ansi'; import type { PipelineOutput } from '../core/steps/pipeline/pipeline'; import type { DEFAULT_DATAFLOW_PIPELINE } from '../core/steps/pipeline/default-pipelines'; import Joi from 'joi'; import type { LocationMapQuery } from './catalog/location-map-query/location-map-query-format'; import type { ConfigQuery } from './catalog/config-query/config-query-format'; import type { SearchQuery } from './catalog/search-query/search-query-format'; import type { HappensBeforeQuery } from './catalog/happens-before-query/happens-before-query-format'; import type { ResolveValueQuery } from './catalog/resolve-value-query/resolve-value-query-format'; import type { DataflowLensQuery } from './catalog/dataflow-lens-query/dataflow-lens-query-format'; import type { ProjectQuery } from './catalog/project-query/project-query-format'; import type { OriginQuery } from './catalog/origin-query/origin-query-format'; import type { LinterQuery } from './catalog/linter-query/linter-query-format'; import type { NodeId } from '../r-bridge/lang-4.x/ast/model/processing/node-id'; import type { ControlFlowQuery } from './catalog/control-flow-query/control-flow-query-format'; export type Query = CallContextQuery | ConfigQuery | SearchQuery | DataflowQuery | ControlFlowQuery | DataflowLensQuery | NormalizedAstQuery | IdMapQuery | DataflowClusterQuery | StaticSliceQuery | LineageQuery | DependenciesQuery | LocationMapQuery | HappensBeforeQuery | ResolveValueQuery | ProjectQuery | OriginQuery | LinterQuery; export type QueryArgumentsWithType<QueryType extends BaseQueryFormat['type']> = Query & { type: QueryType; }; export type QueryExecutor<Query extends BaseQueryFormat, Result extends BaseQueryResult> = (data: BasicQueryData, query: readonly Query[]) => Result; type SupportedQueries = { [QueryType in Query['type']]: SupportedQuery<QueryType>; }; export interface SupportedQuery<QueryType extends BaseQueryFormat['type']> { executor: QueryExecutor<QueryArgumentsWithType<QueryType>, BaseQueryResult>; asciiSummarizer: (formatter: OutputFormatter, processed: PipelineOutput<typeof DEFAULT_DATAFLOW_PIPELINE>, queryResults: BaseQueryResult, resultStrings: string[]) => boolean; schema: Joi.ObjectSchema; /** * Flattens the involved query nodes to be added to a flowR search when the {@link fromQuery} function is used based on the given result after this query is executed. * If this query does not involve any nodes, an empty array can be returned. */ flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; } export declare const SupportedQueries: { readonly 'call-context': { readonly executor: typeof import("./catalog/call-context-query/call-context-query-executor").executeCallContextQueries; readonly asciiSummarizer: (formatter: OutputFormatter, processed: PipelineOutput<typeof DEFAULT_DATAFLOW_PIPELINE>, queryResults: BaseQueryResult, result: string[]) => boolean; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; }; readonly config: { readonly executor: typeof import("./catalog/config-query/config-query-executor").executeConfigQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: unknown, queryResults: BaseQueryResult, result: string[]) => boolean; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: () => never[]; }; readonly 'control-flow': { readonly executor: typeof import("./catalog/control-flow-query/control-flow-query-executor").executeControlFlowQuery; readonly asciiSummarizer: (formatter: OutputFormatter, processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; }; readonly dataflow: { readonly executor: typeof import("./catalog/dataflow-query/dataflow-query-executor").executeDataflowQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; }; readonly 'dataflow-lens': { readonly executor: typeof import("./catalog/dataflow-lens-query/dataflow-lens-query-executor").executeDataflowLensQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: () => never[]; }; readonly 'id-map': { readonly executor: typeof import("./catalog/id-map-query/id-map-query-executor").executeIdMapQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: () => never[]; }; readonly 'normalized-ast': { readonly executor: typeof import("./catalog/normalized-ast-query/normalized-ast-query-executor").executeNormalizedAstQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: () => never[]; }; readonly 'dataflow-cluster': { readonly executor: typeof import("./catalog/cluster-query/cluster-query-executor").executeDataflowClusterQuery; readonly asciiSummarizer: (formatter: OutputFormatter, processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; }; readonly 'static-slice': { readonly executor: typeof import("./catalog/static-slice-query/static-slice-query-executor").executeStaticSliceQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; }; readonly lineage: { readonly executor: typeof import("./catalog/lineage-query/lineage-query-executor").executeLineageQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; }; readonly dependencies: { readonly executor: typeof import("./catalog/dependencies-query/dependencies-query-executor").executeDependenciesQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; }; readonly 'location-map': { readonly executor: typeof import("./catalog/location-map-query/location-map-query-executor").executeLocationMapQuery; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: unknown, queryResults: BaseQueryResult, result: string[]) => boolean; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: () => never[]; }; readonly search: { readonly executor: typeof import("./catalog/search-query/search-query-executor").executeSearch; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutput<import("../core/steps/pipeline/pipeline").Pipeline<{ readonly name: "parse"; readonly humanReadableName: "parse with R shell"; readonly description: "Parse the given R code into an AST"; readonly processor: (_results: unknown, input: Partial<import("../r-bridge/parser").ParseRequiredInput<string>>) => Promise<import("../r-bridge/parser").ParseStepOutput<string>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; }; readonly 5: ({ parsed }: import("../r-bridge/parser").ParseStepOutput<string>, config: import("../util/quads").QuadSerializationConfiguration) => string; }; readonly dependencies: readonly []; readonly requiredInput: import("../r-bridge/parser").ParseRequiredInput<string>; } | { readonly name: "normalize"; readonly humanReadableName: "normalize"; readonly description: "Normalize the AST to flowR's AST"; readonly processor: (results: { parse?: import("../r-bridge/parser").ParseStepOutput<string>; }, input: Partial<import("../core/steps/all/core/10-normalize").NormalizeRequiredInput>) => import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../r-bridge/lang-4.x/ast/model/model").RNode<import("../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/normalize-printer").normalizedAstToJson; readonly 5: typeof import("../core/print/normalize-printer").normalizedAstToQuads; readonly 3: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaid; readonly 4: typeof import("../core/print/normalize-printer").printNormalizedAstToMermaidUrl; }; readonly dependencies: readonly ["parse"]; readonly requiredInput: import("../core/steps/all/core/10-normalize").NormalizeRequiredInput; } | { readonly humanReadableName: "dataflow"; readonly processor: (results: { normalize?: import("../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; }, input: { request?: import("../r-bridge/retriever").RParseRequests; parser?: import("../r-bridge/parser").Parser<import("../r-bridge/parser").KnownParserType>; }) => import("../dataflow/info").DataflowInformation; readonly requiredInput: {}; readonly name: "dataflow"; readonly description: "Construct the dataflow graph"; readonly executed: import("../core/steps/pipeline-step").PipelineStepStage.OncePerFile; readonly printer: { readonly 0: typeof import("../core/print/print").internalPrinter; readonly 2: typeof import("../core/print/dataflow-printer").dataflowGraphToJson; readonly 5: typeof import("../core/print/dataflow-printer").dataflowGraphToQuads; readonly 3: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaid; readonly 4: typeof import("../core/print/dataflow-printer").dataflowGraphToMermaidUrl; }; readonly dependencies: readonly ["normalize"]; }>>, queryResults: BaseQueryResult, result: string[]) => true; readonly schema: Joi.ObjectSchema<any>; readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[]; }; readonly 'happens-before': { readonly executor: typeof import("./catalog/happens-before-query/happens-before-query-executor").executeHappensBefore; readonly asciiSummarizer: (formatter: OutputFormatter, _processed: PipelineOutp