# caique

> Every export of caique, with its signature and doc comment: processRuntime, ask, projection, resolvePrompts, decide, keyOf and 8 more, plus 22 types.

Source: https://caique.interlace.tools/docs/api

<!-- Generated by scripts/api-reference.ts from the built dist/*.d.ts. Do not edit; run `npx tsx scripts/api-reference.ts`. -->

caique — prompts that are flags first. The first working slice is `decide()`: the pure
rule that decides whether a person can be asked at all, which is what keeps a CLI built
on this from hanging when an agent runs it. Widgets and the two façades follow; see
`.sdlc/intents/caique/`.

```ts
import { processRuntime, ask, projection, … } from 'caique';
```

## Constants

### processRuntime

What a real process looks like. Callers that have not got one pass their own.

```ts
const processRuntime: () => Runtime;
```

## Re-exported

Documented on the page of the entry point that declares them.

| Export | Kind | Documented in |
| :-- | :-- | :-- |
| `ask` | function | [`caique/ask`](/docs/api/ask#ask) |
| `askList` | function | [`caique/raw`](/docs/api/raw#asklist) |
| `canRender` | function | [`caique/raw`](/docs/api/raw#canrender) |
| `createIo` | function | [`caique/terminal`](/docs/api/terminal#createio) |
| `decide` | function | [`caique/decide`](/docs/api/decide#decide) |
| `flagOf` | function | [`caique/spec`](/docs/api/spec#flagof) |
| `keyOf` | function | [`caique/raw`](/docs/api/raw#keyof) |
| `problemWith` | function | [`caique/spec`](/docs/api/spec#problemwith) |
| `projection` | function | [`caique/ask`](/docs/api/ask#projection) |
| `renderList` | function | [`caique/raw`](/docs/api/raw#renderlist) |
| `resolvePrompts` | function | [`caique/binding`](/docs/api/binding#resolveprompts) |
| `BUILT_IN_KINDS` | const | [`caique/spec`](/docs/api/spec#built_in_kinds) |
| `streamsOf` | const | [`caique/terminal`](/docs/api/terminal#streamsof) |
| `BoundPrompt` | interface | [`caique/spec`](/docs/api/spec#boundprompt) |
| `Choice` | interface | [`caique/spec`](/docs/api/spec#choice) |
| `DecideInput` | interface | [`caique/decide`](/docs/api/decide#decideinput) |
| `Decision` | interface | [`caique/decide`](/docs/api/decide#decision) |
| `Flags` | interface | [`caique/decide`](/docs/api/decide#flags) |
| `Io` | interface | [`caique/ask`](/docs/api/ask#io) |
| `KeyStream` | interface | [`caique/raw`](/docs/api/raw#keystream) |
| `PromptableOption` | interface | [`caique/binding`](/docs/api/binding#promptableoption) |
| `PromptSpec` | interface | [`caique/spec`](/docs/api/spec#promptspec) |
| `RawIo` | interface | [`caique/raw`](/docs/api/raw#rawio) |
| `Reader` | interface | [`caique/ask`](/docs/api/ask#reader) |
| `ReadOptions` | interface | [`caique/ask`](/docs/api/ask#readoptions) |
| `Resolved` | interface | [`caique/binding`](/docs/api/binding#resolved) |
| `ResolveFailure` | interface | [`caique/binding`](/docs/api/binding#resolvefailure) |
| `ResolveInput` | interface | [`caique/binding`](/docs/api/binding#resolveinput) |
| `Runtime` | interface | [`caique/decide`](/docs/api/decide#runtime) |
| `Streams` | interface | [`caique/terminal`](/docs/api/terminal#streams) |
| `Writer` | interface | [`caique/ask`](/docs/api/ask#writer) |
| `Answer` | type | [`caique/ask`](/docs/api/ask#answer) |
| `Asked` | type | [`caique/ask`](/docs/api/ask#asked) |
| `Key` | type | [`caique/raw`](/docs/api/raw#key) |
| `PromptKind` | type | [`caique/spec`](/docs/api/spec#promptkind) |
