aa69ddc52f
logic-ast.ts: add optional options?: Record<string, unknown> to PredicateCall interface. Previously any predicate needing options (e.g., space, dimension, tolerance) smuggled them via (node as any) .options, bypassing the type system entirely. extraction.ts: replace all 18 (node as any).body/.left/.right etc. casts with proper type guard narrowing (isForAllFormula, isExistsFormula, isAndFormula, isOrFormula, isNotFormula, isImpliesFormula, isPredicateCall). Affected functions: collectPredicates, formulaNeedsCssLengthMetrics, usesLayoutSpace, computeRequiredFacts & nestDomAncestry, getSelectorsFromFormula. 595 SDK + 57 E2E tests pass.
imhotep-playwright
Playwright integration layer for Imhotep. Provides page wrapping, CDP-backed geometry extraction, runtime pooling, property-based test runners, renderer adapters, and preset assertion contracts.
Key Exports
| Export | Description |
|---|---|
imhotep(page, opts) |
Attach Imhotep to a Playwright page |
imhotepComponent(id, opts) |
Property-run entry for rendered components |
imhotepStory(url, opts) |
Property-run entry for Storybook stories |
imhotepFixture(path, opts) |
Property-run entry for fixture files |
test, expect, imhotepFixtures |
Playwright test fixtures |
ContextPool, PagePool, Semaphore |
Pooled runtime for multi-worker testing |
touchTarget through modalContainment |
Reusable assertion presets |