Skip to content

Interface: CellOptions

Defined in: cell.ts:59

Properties

description?

optional description?: string

Defined in: cell.ts:84

Human description for the registry and the agent-facing report. Normally lifted by the aiui compiler from the leading doc comment above the declaration (the JSDoc convention); an explicit value here wins.


loc?

optional loc?: string

Defined in: cell.ts:78

Definition site "file:line"; injected alongside name.


name?

optional name?: string

Defined in: cell.ts:69

Stable identity for attribution and the cell registry. Normally you never write this: the aiui compiler (the source-locator babel pass) injects name (from the declaration, e.g. const catalog = cell(…) → "catalog") and loc ("src/model/graph.ts:77") at compile time — in dev AND production builds; identity injection is load-bearing. Named cells register themselves (see cellRegistry) and CellView stamps data-cell with the name — the element → cell attribution contract.


scope?

optional scope?: Scope

Defined in: cell.ts:76

Instance qualifier for slice factories (scope.ts): the registered name — and so the data-cell stamp, the edges, and the report entry — becomes <scope>/<name>, so a cells factory instantiated twice yields two distinctly-named cells. The compiler still injects the LEAF name.


stream?

optional stream?: "commit" | "latest"

Defined in: cell.ts:100

How async-iterable computes stream:

  • "commit" (default): every yield is committed to the graph — downstream cells recompute per partial (Observable generator semantics).
  • "latest": partials are visible only on latest()/progress(); the graph commits once, on the final value. Use when downstream work is expensive. Caveat (solid 2.0.0-beta.32, probed 2026-08-10): while a downstream consumer is PENDING on this cell — its deps read threw NotReadyError and it awaits the single commit — the in-flight run's writes are staged into the pending question's transaction, so latest() coalesces to the settle value for every reader. With no pending consumer (the side channel's real use: UI observing a run whose consumers already hold a previous value, or none exist yet), partials stream per yield. Pinned by the two latest-mode tests in cell.test.ts.