API reference@effx/compiler
pipeline
API reference for @effx/compiler/pipeline
pipeline.ts overview
Exports Grouped by Category
utils
analyze
Runs every extension's analyses over normalized IR, checking each callback's diagnostics. @internal
Signature
declare const analyze: (
ir: ApplicationIR,
index: GraphIndex,
extensions: ReadonlyArray<Extension>,
context?: AnalysisContext
) => ReadonlyArray<Diagnostic>compile
collect → interpret → merge → normalize → analyze → generate; registration precedes frontend analysis.
Signature
declare const compile: (
project: {
readonly tsconfigPath: string
readonly strictAccess?: boolean | undefined
readonly naming?: { readonly problemIdentifier?: string | undefined } | undefined
readonly target?: "effect-4.0" | undefined
readonly emit?: "handlers" | "contract" | "all" | undefined
readonly entry?: ReadonlyArray<string> | undefined
readonly outDir?: string | undefined
readonly projectRoot?: string | undefined
readonly lift?:
| {
readonly rules: ReadonlyArray<
| {
readonly _tag: "SuccessWrapper"
readonly callee: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
readonly status?: number | undefined
readonly conditional?: true | undefined
readonly schema?:
| {
readonly module: string
readonly export: string
readonly symbolId: string & Brand<"effx/StableId">
}
| undefined
readonly responseHeaders?:
| {
readonly module: string
readonly export: string
readonly symbolId: string & Brand<"effx/StableId">
}
| undefined
}
| {
readonly _tag: "NoSchemaSuccess"
readonly callee: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
}
| {
readonly _tag: "ProblemRegistry"
readonly response: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
readonly union: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
readonly registry: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
}
| {
readonly _tag: "Metadata"
readonly callee: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
readonly annotator: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
readonly positional: ReadonlyArray<"description" | "summary">
}
| {
readonly annotator: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
readonly _tag: "Access"
readonly emit: {
readonly exposure: TemplateExpr
readonly acceptedCredentials: TemplateExpr
readonly principalKinds: TemplateExpr
readonly capabilities: TemplateExpr
readonly requirements: TemplateExpr
readonly concealment: TemplateExpr
readonly decisionTime: TemplateExpr
}
readonly callee: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
readonly arguments:
| {
readonly _tag: "Object"
readonly fields: ReadonlyArray<{
readonly required: boolean
readonly name: string
readonly kind: "string" | "boolean" | "strings"
readonly default?: Json | undefined
}>
}
| {
readonly _tag: "Positional"
readonly params: ReadonlyArray<{
readonly required: boolean
readonly name: string
readonly kind: "string" | "boolean" | "strings"
readonly default?: Json | undefined
}>
}
readonly resolver: TemplateExpr
readonly apply?:
{ readonly module: string; readonly export: string; readonly member?: string | undefined } | undefined
}
>
readonly names: {
readonly [x: string]: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
}
readonly output: { readonly module: string }
readonly projections?:
| ReadonlyArray<{
readonly key: { readonly module: string; readonly export: string; readonly member?: string | undefined }
readonly hook: {
readonly module: string
readonly export: string
readonly member?: string | undefined
}
}>
| undefined
readonly emptyInput?:
| { readonly module: string; readonly export: string; readonly symbolId: string & Brand<"effx/StableId"> }
| undefined
}
| undefined
},
extensions: ReadonlyArray<Extension>,
options?: Omit<AnalyzeOptions, "definitions"> | undefined
) => Effect.Effect<CompileResult, CompilerFault, SourceFrontend>compileCollected
The pipeline after collection; applies the same registry contract without a frontend. @internal
Signature
declare const compileCollected: (
collected: Collected,
extensions: ReadonlyArray<Extension>,
context?: AnalysisContext | undefined
) => Effect.Effect<CompileResult, CompilerFault, never>interpret
interpret → merge → normalize. Pure; registry violations are diagnostics, not faults. @internal
Signature
declare const interpret: (collected: Collected, extensions: ReadonlyArray<Extension>) => StageResult<ApplicationIR>