/** * @module edict-lang * * Edict Public API — the complete compiler pipeline and supporting utilities. * * Pipeline phases (in order): * 1. **Validation** — structural AST validation (`validate`) * 2. **Resolution** — name resolution with did-you-mean suggestions (`resolve`) * 3. **Type Checking** — bidirectional type inference (`typeCheck`) * 4. **Effect Checking** — call-graph-based effect propagation (`effectCheck`) * 5. **Contract Verification** — Z3 SMT proving of pre/post contracts (`contractVerify`) * 6. **Code Generation** — WASM compilation via pure-JS encoder (`compile`) * 7. **Execution** — WASM instantiation and execution (`run`, `runDirect`) * * Convenience wrappers: `check` (phases 1–5), `compileAndRun` (phases 1–7). */ export { validate, validateFragmentAst } from "./validator/validate.js"; export type { ValidationResult, ValidationSuccess, ValidationFailure, } from "./validator/validate.js"; export { resolve } from "./resolver/resolve.js"; export { Scope } from "./resolver/scope.js"; export type { SymbolKind, SymbolInfo } from "./resolver/scope.js"; export { levenshteinDistance, findCandidates } from "./resolver/levenshtein.js"; export { typeCheck } from "./checker/check.js"; export type { TypedModuleInfo, TypeCheckResult } from "./checker/check.js"; export { TypeEnv } from "./checker/type-env.js"; export { typesEqual, isUnknown, resolveType } from "./checker/types-equal.js"; export { effectCheck } from "./effects/effect-check.js"; export type { EffectCheckResult } from "./effects/effect-check.js"; export { buildCallGraph, collectCalls } from "./effects/call-graph.js"; export type { CallEdge, CallGraph, EffectSource } from "./effects/call-graph.js"; export { contractVerify, clearVerificationCache, type ContractVerifyOptions } from "./contracts/verify.js"; export type { ContractVerifyResult } from "./contracts/verify.js"; export { getZ3, getSolver, resetZ3 } from "./contracts/z3-context.js"; export { translateExpr, translateExprList, createParamVariables } from "./contracts/translate.js"; export type { TranslationContext, TranslationError } from "./contracts/translate.js"; export { computeVerificationHash } from "./contracts/hash.js"; export { lowerModule } from "./ir/lower.js"; export { optimize } from "./ir/optimize.js"; export { generateWorkerScaffold, getHostBuiltinNames } from "./deploy/scaffold.js"; export type { WorkerConfig, WorkerBundle, WorkerBundleFile, ScaffoldResult } from "./deploy/scaffold.js"; export { deployToCloudflare } from "./deploy/cloudflare-api.js"; export type { CloudflareDeployConfig, CloudflareDeployResult } from "./deploy/cloudflare-api.js"; export { check } from "./check.js"; export type { CheckResult } from "./check.js"; export { checkBrowser } from "./check-browser.js"; export type { CheckBrowserResult, CheckBrowserSuccess, CheckBrowserFailure } from "./check-browser.js"; export type { EdictModule, EdictFragment, Import, Definition, FunctionDef, TypeDef, RecordDef, EnumDef, ConstDef, RecordField, EnumVariant, Param, Contract, Effect, ConcreteEffect, EffectVariable, Expression, Literal, Identifier, BinaryOp, BinaryOperator, UnaryOp, UnaryOperator, Call, IfExpr, LetExpr, MatchExpr, MatchArm, Pattern, LiteralPattern, WildcardPattern, BindingPattern, ConstructorPattern, ArrayExpr, TupleExpr, RecordExpr, EnumConstructor, FieldAccess, LambdaExpr, BlockExpr, FieldInit, StringInterp, IntentDeclaration, IntentInvariant, ExpressionInvariant, SemanticInvariant, ApprovalGate, ApprovalScope, ToolDef, ToolCallExpr, RetryPolicy, BackoffKind, } from "./ast/nodes.js"; export { VALID_APPROVAL_SCOPES, isConcreteEffect, isEffectVariable } from "./ast/nodes.js"; export type { TypeExpr, BasicType, ArrayType, OptionType, ResultType, UnitType, RefinedType, FunctionType, NamedType, TupleType, } from "./ast/types.js"; export type { StructuredError, DuplicateIdError, UnknownNodeKindError, MissingFieldError, InvalidFieldTypeError, InvalidEffectError, InvalidOperatorError, InvalidBasicTypeName, ConflictingEffectsError, UndefinedReferenceError, DuplicateDefinitionError, UnknownRecordError, UnknownEnumError, UnknownVariantError, TypeMismatchError, UnitMismatchError, ArityMismatchError, NotAFunctionError, UnknownFieldError, MissingRecordFieldsError, EffectViolationError, EffectInPureError, ContractFailureError, VerificationTimeoutError, UndecidablePredicateError, PreconditionNotMetError, PatchNodeNotFoundError, PatchInvalidFieldError, PatchIndexOutOfRangeError, PatchDeleteNotInArrayError, AnalysisDiagnostic, AnalysisDiagnosticKind, VerificationCoverage, UnsatisfiedRequirementError, DuplicateProvisionError, CircularImportError, UnresolvedModuleError, DuplicateModuleNameError, MigrationFailedError, UnsupportedSchemaVersionError, ApprovalPropagationMissingError, UnknownToolError, ToolArgMismatchError, QuickJSRuntimeError, } from "./errors/structured-errors.js"; export { duplicateId, unknownNodeKind, missingField, invalidFieldType, invalidEffect, invalidOperator, invalidBasicTypeName, conflictingEffects, undefinedReference, duplicateDefinition, unknownRecord, unknownEnum, unknownVariant, typeMismatch, unitMismatch, arityMismatch, notAFunction, unknownField, missingRecordFields, effectViolation, effectInPure, contractFailure, verificationTimeout, undecidablePredicate, preconditionNotMet, patchNodeNotFound, patchInvalidField, patchIndexOutOfRange, patchDeleteNotInArray, analysisDiagnostic, unsatisfiedRequirement, duplicateProvision, circularImport, unresolvedModule, duplicateModuleName, migrationFailed, unsupportedSchemaVersion, approvalPropagationMissing, unknownTool, toolArgMismatch, quickjsRuntimeError, } from "./errors/structured-errors.js"; export { compile } from "./codegen/codegen.js"; export type { CompileResult, CompileSuccess, CompileFailure, CompileOptions, } from "./codegen/codegen.js"; export { run, runDirect } from "./codegen/runner.js"; export type { RunResult, RunLimits } from "./codegen/runner.js"; export type { ReplayToken, ReplayEntry } from "./codegen/replay-types.js"; export { createRecordingAdapter } from "./codegen/recording-adapter.js"; export { createReplayAdapter, ReplayExhaustedError } from "./codegen/replay-adapter.js"; export { compileAndRun } from "./compile.js"; export type { CompileAndRunResult, CompileAndRunSuccess, CompileAndRunFailure, } from "./compile.js"; export { StringTable } from "./codegen/string-table.js"; export { BUILTIN_FUNCTIONS, isBuiltin, getBuiltin } from "./builtins/builtins.js"; export type { EdictHostAdapter } from "./codegen/host-adapter.js"; export { NodeHostAdapter } from "./codegen/node-host-adapter.js"; export { BrowserHostAdapter } from "./codegen/browser-host-adapter.js"; export { CloudflareHostAdapter } from "./codegen/cloudflare-host-adapter.js"; export type { CloudflareHostAdapterOptions } from "./codegen/cloudflare-host-adapter.js"; export { DenoHostAdapter } from "./codegen/deno-host-adapter.js"; export type { DenoHostAdapterOptions } from "./codegen/deno-host-adapter.js"; export { EdictOomError } from "./builtins/host-helpers.js"; export { buildErrorCatalog } from "./errors/error-catalog.js"; export type { ErrorCatalog, ErrorCatalogEntry } from "./errors/error-catalog.js"; export { explainError } from "./errors/explain.js"; export type { ExplainResult, ExplainResultFound, ExplainResultNotFound, RepairAction } from "./errors/explain.js"; export { expandCompact, isCompactAst, compactSchemaReference, KIND_SYNONYMS } from "./compact/expand.js"; export { lint } from "./lint/lint.js"; export type { LintWarning } from "./lint/lint.js"; export type { UnusedVariableWarning, UnusedImportWarning, MissingContractWarning, OversizedFunctionWarning, EmptyBodyWarning, RedundantEffectWarning, IntentUnverifiedInvariantWarning, ApprovalMissingOnIoWarning, ToolCallNoRetryWarning, ToolCallNoTimeoutWarning, } from "./lint/warnings.js"; export { unusedVariable, unusedImport, missingContract, oversizedFunction, emptyBody, redundantEffect, intentUnverifiedInvariant, approvalMissingOnIo, toolCallNoRetry, toolCallNoTimeout, } from "./lint/warnings.js"; export { applyPatches } from "./patch/apply.js"; export type { AstPatch, PatchApplyResult } from "./patch/apply.js"; export { compose } from "./compose/compose.js"; export type { ComposeResult } from "./compose/compose.js"; export { checkMultiModule } from "./multi-module.js"; export type { MultiModuleCheckResult } from "./multi-module.js"; export { incrementalCheck } from "./incremental/check.js"; export type { IncrementalCheckResult } from "./incremental/check.js"; export { buildDepGraph, transitiveDependents } from "./incremental/dep-graph.js"; export type { DepGraph } from "./incremental/dep-graph.js"; export { diffDefinitions } from "./incremental/diff.js"; export { generateTests } from "./contracts/generate-tests.js"; export type { GeneratedTest, GenerateTestsResult } from "./contracts/generate-tests.js"; export { migrateToLatest, applyMigration, CURRENT_SCHEMA_VERSION, MINIMUM_SCHEMA_VERSION, MIGRATION_REGISTRY } from "./migration/migrate.js"; export type { Migration, MigrationOp, MigrationResult, MigrationSuccess, MigrationFailure } from "./migration/migrate.js"; export { packageSkill, typeToString } from "./skills/package.js"; export { invokeSkill } from "./skills/invoke.js"; export { SkillMemory } from "./skills/memory.js"; export type { SkillSearchResult } from "./skills/memory.js"; export type { SkillPackage, SkillMetadata, PackageSkillInput, PackageSkillResult, PackageSkillSuccess, PackageSkillFailure, InvokeSkillResult, } from "./skills/types.js"; export { countIRNodes, irExprKindLabel } from "./ir/types.js"; export type { IRModule, IRImport, IRFunction, IRParam, IRClosureVar, IRConstant, IRRecordDef, IRFieldDef, IREnumDef, IRVariantDef, IRExpr, IRLiteral, IRIdent, IRIdentScope, IRBinop, IRUnop, IRCall, IRCallKind, IRIf, IRLet, IRBlock, IRMatch, IRMatchArm, IRArray, IRTuple, IRRecordExpr, IREnumConstructor, IRFieldInit, IRAccess, IRLambdaRef, IRStringInterp, IRStringInterpPart, } from "./ir/types.js"; export { compileIRExpr, irExprWasmType } from "./codegen/compile-ir-expr.js"; export { createEdictServer } from "./mcp/create-server.js"; export { createSandboxServer } from "./mcp/server.js"; //# sourceMappingURL=index.d.ts.map