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 APINew 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.

Before (v0.1.4)typescript
// Old API - required session management
const sessionId = await createSession({ systemPrompt: '...' });
const { reply } = await sendMessage(sessionId, messages, {});
After (latest)typescript
// New API - no sessions needed
const { text } = await sendMessage(messages, { systemPrompt: '...' });

Response Property

The response property changed from reply to text.

Before (v0.1.4)typescript
const response = await sendMessage(sessionId, messages, {});
console.log(response.reply);
After (latest)typescript
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.

Before (v0.1.4)typescript
await prepareModel({ modelName: 'default' });
const session = await createSession({ systemPrompt: '...' });
After (latest)typescript
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.