Overview
Streams an AI-generated answer to a natural language question, grounded in your project’s content. Uses SSE (Server-Sent Events) to deliver tokens incrementally. Returns source citations once the stream completes. For integration guidance, see Ask Content.Usage Example
Parameters
Callask with:
string
required
The natural language question.
("entity" | "comment" | "message")[]
Limit the content types searched for context.
string
Scope context lookup to a specific space.
boolean
default:"false"
Only applies with
spaceId. When true, the context lookup also covers every space nested under it — children, grandchildren, the whole subtree at any depth — so you can ask across a community and all of its channels at once. Ignored without spaceId.string
Scope context lookup to a specific conversation.
number
Maximum number of source records to use as context.
Returns
string
The AI-generated answer. Grows token by token while
streaming is true.ContentSearchResult[]
Source records used as context. Populated after streaming ends. When
spaceReputation is requested, each record’s embedded author carries an added spaceReputation number. See Reputation.boolean
true while the SSE stream is open and tokens are arriving.boolean
true from ask() call until the first token arrives.string | null
Error message if the request failed.
(props) => void
Starts a new question. Aborts any in-flight stream first.
() => void
Aborts in-flight stream and clears all state.
In React Native, SSE streaming requires polyfills for Prefer these targeted polyfills over the all-in-one
fetch, ReadableStream, and TextDecoder. Install react-native-fetch-api, web-streams-polyfill@^3, react-native-polyfill-globals, and text-encoding, then call the targeted sub-polyfills once at app startup, before using this hook:polyfillGlobals(): that helper also pulls in react-native-get-random-values, a native module that forces a development-client rebuild. The three above are pure JavaScript, so a Metro reload is enough. Pin web-streams-polyfill to v3 — v4 removed the ponyfill/es6 subpath that react-native-polyfill-globals requires.
