Skip to content

This site describes solve-engine as it is on main: 2.43.0, which npm does not have yet. npm installs 2.40.0, so a page may show an answer that version does not give yet.

NormalizerOptions

Defined in: packages/engine/src/normalizer/TokenNormalizer.ts:49

Configuration options for the normalization pass.

These control safety limits and diagnostic callbacks. The defaults are chosen to be generous enough for any realistic expression while preventing runaway token expansion from recursive rules.

optional ignoreRuleIndex?: boolean;

Defined in: packages/engine/src/normalizer/TokenNormalizer.ts:86

Try every registered rule at every position, ignoring both the shape index and the first-token buckets the first call uses.

Diagnostic only, and much slower. It exists so the filtered walks can be compared against the exhaustive one over a corpus: each filter is pure, so all of them must agree token for token, and a rule whose declared NormalizerRule.shape is too narrow shows up as a difference rather than as a feature that quietly stopped working. NormalizerIndexFidelity.spec and RuleHintsMatchGuards.spec are the consumers.

false

optional maxPasses?: number;

Defined in: packages/engine/src/normalizer/TokenNormalizer.ts:55

Maximum number of full passes over the token stream before bailing out. Prevents infinite loops from recursive rule chains.

100

optional maxTokens?: number;

Defined in: packages/engine/src/normalizer/TokenNormalizer.ts:63

Maximum number of tokens allowed after normalization. If exceeded, an Error is thrown rather than passing a bloated stream to the parser.

10000

optional onFusion?: (fusion) => void;

Defined in: packages/engine/src/normalizer/TokenNormalizer.ts:70

Callback invoked for each fusion event during normalization. Used by diagnostic mode to populate NormalizerOutput.fusions. When undefined, fusions are still tracked internally but no callbacks fire.

ParameterType
fusionTokenFusion

void