/**
* The cells a cf-harness run is pointed at, before the run exists.
*
* An operator deploys this piece, then names two of its cells to a run with
* `--input-cell secret= --input-cell city=`. The model holds a
* handle for each and never the value behind it.
*
* The pair is the point: `secret` carries a declared confidentiality atom and
* `city` carries none, so a pattern run over both derives a value the space
* labels and a value it does not. Reading the two back is what says a
* per-cell label is a fact about that cell rather than about the run.
*/
import {
type Confidential,
Default,
NAME,
pattern,
UI,
Writable,
} from "commonfabric";
interface State {
secret: Writable<
| Confidential
| Default<"codeword osprey">
>;
city: Writable>;
}
export default pattern(({ secret, city }) => ({
[NAME]: "CFC input-cell demo seed",
[UI]: (
Seeded for {city}. The confidential cell is not rendered here.