Interface: CellOptions
Defined in: cell.ts:59
Properties
description?
optionaldescription?: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?
optionalloc?:string
Defined in: cell.ts:78
Definition site "file:line"; injected alongside name.
name?
optionalname?: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?
optionalscope?: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?
optionalstream?:"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.