streamChatGptCodex function
AssistantMessageEventStream
streamChatGptCodex(
- Model model,
- Context context, {
- required String credentials,
- ChatGptCredentialsPersist? onCredentialsRefreshed,
- CancelToken? cancelToken,
- Client? client,
Implementation
AssistantMessageEventStream streamChatGptCodex(
Model model,
Context context, {
required String credentials,
ChatGptCredentialsPersist? onCredentialsRefreshed,
CancelToken? cancelToken,
http.Client? client,
}) {
final events = AssistantMessageEventStream();
// No injected client: the shared keep-alive client (never closed per call).
final httpClient = client ?? sharedProviderHttpClient();
final state = ProviderStreamState(model);
final session = _ChatGptCodexSession(
model,
context,
credentials,
onCredentialsRefreshed,
events,
state,
cancelToken,
httpClient,
);
unawaited(
runProviderStream(
events,
state,
cancelToken,
httpClient,
ownsClient: false, // shared or injected — never closed per call
body: session.run,
),
);
return events;
}