Migration from v0.1.4
Guide for upgrading from expo-ai-kit v0.1.4 to the latest version.
Breaking Changes
The latest version simplifies the API by removing sessions and streamlining the response format.
API Changes
| Old API | New API |
|---|---|
sendPrompt(prompt) | sendMessage([{ role: 'user', content: prompt }]) |
createSession(options) | Removed — no longer needed |
sendMessage(sessionId, messages, options) | sendMessage(messages, options) — no session ID |
prepareModel(options) | prepareBuiltInModel() |
{ reply: string } | { text: string } |
Before & After
Session Removal
Sessions have been removed entirely. You no longer need to create or manage session IDs.
// Old API - required session management
const sessionId = await createSession({ systemPrompt: '...' });
const { reply } = await sendMessage(sessionId, messages, {});// New API - no sessions needed
const { text } = await sendMessage(messages, { systemPrompt: '...' });Response Property
The response property changed from reply to text.
const response = await sendMessage(sessionId, messages, {});
console.log(response.reply);const response = await sendMessage(messages, { systemPrompt: '...' });
console.log(response.text);Model Preparation
The old configurable prepareModel(options) API was removed. Use isAvailable() to check device support, then awaitprepareBuiltInModel(). On Android it prepares the OS-managed ML Kit model; on iOS it validates Apple Foundation Models.
await prepareModel({ modelName: 'default' });
const session = await createSession({ systemPrompt: '...' });const available = await isAvailable();
if (available) {
await prepareBuiltInModel();
const { text } = await sendMessage(messages, { systemPrompt: '...' });
}Simpler API
The current API has no session IDs. Check support, prepare the built-in model once, and pass the full conversation to each request.