Appearance
Limits and budgets
Bundle
| Browser bundle | ~24 KB gzipped, Preact included |
| Enforced cap | 60 KB gzipped, with a 36 KB target that warns |
| ESM entry | Smaller — Preact is left to your bundler |
| Runtime dependencies | One: preact |
| Formats | ESM (., ./extract) and IIFE (./iife, global NamakinaLandingPage) |
Browser support
Chrome 87+, Edge 88+, Firefox 78+, Safari 14+ — the ES2020 baseline. No polyfills are bundled.
Two features degrade rather than fail:
IntersectionObserverabsent →lp_viewfires immediately instead of on visibility.inertabsent (below Chrome 102 / Safari 15.5 / Firefox 112) → the panel does not trap focus behind it. Everything else about the panel works.
Timeouts and strikes
Hitting any of these restores your untouched form.
| Budget | Value | What it bounds |
|---|---|---|
connectMs | 8 s | Waiting for the message stream to connect. |
greetingMs | 12 s | Waiting for the agent's first turn. |
failedPostStrikes | 2 | Consecutive failed posts before standing down. |
turnSettleMs | 1.5 s | Silence after a frame with no chunk metadata before the turn is complete. |
turnTailMs | 15 s | Longest wait for the tail of a chunked turn. |
viewThreshold | 0.5 | Share of the form on screen before lp_view. |
hostInputMs | 400 ms | Settle after a visitor or password-manager write to one of your fields. |
rescanMs | 250 ms | Settle after the page mutates before the root is scanned again. |
Wire limits
Hard caps enforced when a snapshot or a set of actions is parsed. Over-long text is truncated; a structurally invalid snapshot is rejected and a malformed action is dropped.
The form
| Fields per form | 40 |
| Options per field | 50 |
| Landing page id | 100 chars |
| Field label | 120 |
| Field value | 500 |
| Field / form context | 300 |
| Goal | 500 |
| Help line | 200 |
| Disclosure text | 2 000 |
| Validation message | 200 |
| Pattern | 200 |
| Input mask | 64 |
| SDK version string | 32 |
A turn
| Actions per turn | 8 |
| Stage blocks per turn | 1 |
| Ask prompt | 300 |
| Offer cards | 6 |
| URL | 2 000 |
A stage block
| Stage id | 60 chars |
| Heading / title | 80 |
| Intro | 200 |
| Cards | 4 |
| Card description / "why it fits" | 200 each |
| Facts per card | 4, each 60 chars |
| Stage actions | 3, each labelled up to 40 |
| Sheet steps | 6, each 200 |
| Receipt rows | 6 — label 40, value 60 |
| Compliance note | 300 |
| Blocks remembered per session | 20 shown, 20 choices |
Chips become a select
A choice with more than 8 options is drawn as a <select> rather than as chips.