runanywhere_protos library

Public generated proto type surface for RunAnywhere Flutter.

Import this library with a prefix when an app needs canonical IDL types alongside the Flutter facade:

import 'package:runanywhere/runanywhere_protos.dart' as ra_proto;

Classes

AccelerationPreference
AcceleratorPolicy
Requested execution placement for a load. LiteRT/ExecuTorch-aligned.
AgentLoopConfig
AppStorageInfo
ArchiveArtifact
ArchiveStructure
ArchiveType
Compression flavor of a multi-file model package.
ArtifactInferFromUrlRequest
ArtifactInferFromUrlResult
AssistantTokenEvent
Single token decoded by the LLM. is_final=true on the last token of a response (end-of-stream marker).
AudioEncoding
Sample layout of a raw audio payload, as opposed to AudioFormat above, which names the container. CONTAINER means the bytes carry their own header and the companion AudioFormat field says which one.
AudioFormat
Container format of an audio payload.
AudioFrameEvent
A chunk of synthesized PCM audio, ready for the sink. The frontend is expected to copy the bytes out; the C ABI does NOT retain ownership.
AudioSource
AuthEvent
AuthEventKind
BatteryFilter
CancellationEvent
CancellationEventKind
CapabilityOperationEvent
=========================================================================== SECTION 6 — EMBEDDINGS / SECTION 7 — DIFFUSION / SECTION 8 — RAG / SECTION 9 — LORA / SECTION 2b — VLM (capability operations)
CapabilityOperationEventKind
ChatAttachment
ChatGenerationRequest
ChatMessage
ChatMessageStatus
CloudSttBackendConfig
ComponentLifecycleEvent
Operation-aware lifecycle event. The oneof arms intentionally reference the operation result/progress protos from this contract slice instead of adding another broad event taxonomy. Covers both component bring-up (absorbed from ComponentInitializationEvent) and steady-state model lifecycle.
ComponentLifecycleEventKind
ComponentLifecycleSnapshot
Snapshot of a component's current model-backed lifecycle state.
ComponentLifecycleSnapshotResult
ComponentLifecycleState
Component runtime lifecycle state for model-backed SDK components. Platform adapters own native component handles; this enum carries the C++ lifecycle state every SDK can expose uniformly. Previously lived in sdk_events.proto (also used by voice_events.proto's VoiceAgentComponentStates after the former hand-rolled ComponentLoadState was consolidated into this single richer taxonomy).
ConfidenceCascade
Below this on-device confidence, the router escalates to cloud.
ConfigurationEvent
ConfigurationEventKind
CurrentModelRequest
CurrentModelResult
CustomFilter
DeviceAffinity
DeviceEvent
DeviceEventKind
DeviceStorageInfo
DiarizationOptions
DiarizationRequest
DiarizationResult
DiarizationSegment
DiarizationStreamEvent
UPDATE and FINAL carry a complete snapshot of the session hypothesis, not a delta. Speaker indices/IDs are stable only within one offline call or stream session. Segments belonging to different speakers may overlap.
DiarizationStreamEventKind
DiffusionGenerationOptions
DiffusionGenerationRequest
DiffusionImage
One generated image. Per-image, because with n > 1 each image has its own seed and its own safety verdict (Stability seeds/finish_reasons, Diffusers nsfw_content_detected).
DiffusionOutputFormat
Encoding of the returned image bytes.
DiffusionProgress
DiffusionResult
DiffusionScheduler
Only values with a C carrier are listed. UNSPECIFIED = the model's configured scheduler, which is what every engine does.
DiffusionStreamEvent
DiffusionStreamEventKind
DiscoveredModel
DownloadCancelRequest
DownloadCancelResult
DownloadFailureReason
Structured reason for a download plan/start/resume rejection. Lets every SDK branch on a stable enum instead of substring-matching the human-readable error_message (the prior approach, which silently broke on any reword).
DownloadFilePlan
DownloadPlanRequest
DownloadPlanResult
DownloadProgress
DownloadStartRequest
DownloadStartResult
DownloadState
DownloadSubscribeRequest
EdgePolicy
EdgeSpec
EmbeddingsCreateRequest
EmbeddingsCreateResult
EmbeddingsInputType
EmbeddingsOptions
Per-call overrides. Unset fields fall back to the loaded bundle's defaults.
EmbeddingsPoolingStrategy
The required public spelling in every SDK is exactly "mean" / "cls" / "last". LAST is the final token's hidden state (llama.cpp --pooling last), which decoder-style embedders require. It is NOT max-pooling; no SDK may expose it as "max".
EmbeddingsRequest
One text = embed, multiple texts = embed_batch.
EmbeddingsResult
EmbeddingVector
ErrorCategory
Coarse routing bucket. Per-modality errors (STT, TTS, LLM, VAD, VLM) fold into COMPONENT; use SDKError.component to tell them apart.
ErrorCode
proto3 forbids negative enum values, so each constant is the absolute magnitude of its C ABI code: ERROR_CODE_
ErrorSeverity
EventCategory
Canonical event category carried by every SDKEvent envelope. Lives here (instead of sdk_events.proto) so voice_events.proto and voice_agent_service .proto can reference it without importing sdk_events.proto (which itself imports voice_events.proto — cycle resolution).
EventDestination
ExecutionTarget
ExpectedModelFiles
What a multi-file model should contain on disk after extraction. Verified before hand-off to the inference framework.
FrameworkEvent
FrameworkEventKind
GenerationEvent
GenerationEventKind
HardwareRoutingEvent
HardwareRoutingEventKind
HexagonArch
Pre-flight Qualcomm Hexagon NPU probe. Mirrors QHexRT's engine-owned C ABI (rac/qhexrt/rac_qhexrt.h) and is serialized by rac_qhexrt_probe_proto(). Enum values equal the Hexagon HTP version number to stay in lock-step with rac_qhexrt_hexagon_arch_t.
HttpDownloadStatus
HTTP transport download status — numeric values MUST match rac_http_download_status_t (RAC_HTTP_DL_) in core/include/rac/infrastructure/http/rac_http_download.h. rac_http_download_execute returns this int directly through the C ABI; every SDK consumes the proto-generated enum so a new RAC_HTTP_DL_ value added in commons fails compilation across all bindings until the enum is extended here. OK = 0 mirrors the C ABI's success sentinel (no separate UNSPECIFIED needed — success is the proto3 zero default).
HybridCascade
HybridFilter
A candidate must pass every hard filter to stay in the running.
HybridInferenceMode
Firebase AI Logic / developer.android.com InferenceMode, verbatim. PREFER_* falls back silently across the boundary; ONLY_* fails instead.
HybridModelDescriptor
HybridRoutedMetadata
What the router actually did, including the failed primary attempt.
HybridRoutingPolicy
The candidate chain for one routed request: tried first to last, first success wins, position IS the priority. mode still governs whether the chain may cross the on-device/cloud line.
HybridSttTranscribeOptions
HybridSttTranscribeRequest
HybridSttTranscribeResponse
InferenceFramework
Engine that executes a model. Reached from ModelInfo.framework, so the reserved values below are manifest-critical.
InitializationEvent
InitializationStage
InterruptedEvent
Assistant playback was interrupted by a barge-in. The reason distinguishes user barge-in from app-initiated cancel.
InterruptReason
LLMConfiguration
LLMGenerateRequest
The single request envelope for both unary and streaming generation.
LLMGenerationOptions
LLMGenerationResult
LLMStreamEvent
LLMStreamFinalResult is deleted: the stream terminates with the same LLMGenerationResult type the unary call returns (see result below), so one mapper serves both paths instead of two near-identical ones.
LLMStreamEventKind
LogEntry
LoggingConfiguration
Per-environment presets stay in each SDK as factory helpers.
LogLevel
Mirrors rac_log_level_t exactly so the generated enum round-trips with the platform-adapter log callback without a translation table. 0 is TRACE, not UNSPECIFIED, to keep numeric parity with the C enum.
LoraAdapterCatalogEntry
The adapter-specific facts only. Everything generic about the artifact — where it is fetched from, how large it is, how to verify it, who published it, and whether it has been fetched — lives on the ModelInfo record for this adapter.
LoraAdapterCatalogGetRequest
LoraAdapterCatalogGetResult
LoraAdapterCatalogListRequest
LoraAdapterCatalogListResult
LoraAdapterCatalogQuery
LoraAdapterConfig
LoraAdapterInfo
LoraApplyRequest
LoraApplyResult
LoraCompatibilityResult
LoraRemoveRequest
LoraState
Response only. The state read takes no arguments; base_model_id is reported, never a filter.
MessageRole
MetricsEvent
Per-primitive latency breakdown. Emitted at barge-in and at pipeline stop.
ModelArtifactType
What kind of bundle a model ships as.
ModelCategory
What a model does.
ModelCompatibilityRequest
ModelCompatibilityResult
ModelDeleteResult
delete(model_id) frees DISK. It always unloads the model first if it is resident -- there is no flag, and no failure mode for "still loaded". Entries whose source is MODEL_SOURCE_BUILT_IN are never deletable and fail with an SDKError. Success is the absence of error.
ModelDiscoveryRequest
ModelDiscoveryResult
ModelEvent
ModelEventKind
ModelFileDescriptor
ModelFileRole
Role of a file inside a single/multi-file artifact. The generic COMPANION role covers arbitrary sidecars; specific roles document common public catalog files such as VLM mmproj files and tokenizer/config assets.
ModelFormat
On-disk file format, as opposed to ModelArtifactType (bundle kind) or ArchiveType (compression).
ModelFormatFromUrlRequest
ModelFormatFromUrlResult
ModelGetRequest
ModelGetResult
ModelImportRequest
ModelImportResult
ModelInfo
Core metadata for a model entry. This message is persisted verbatim to .rac-manifest.binpb, so field numbers here are permanent.
ModelInfoList
Repeated model registry responses use this wrapper because protobuf cannot serialize a bare repeated field as a top-level message.
ModelInfoMakeRequest
ModelInfoMetadata
ModelListRequest
ModelListResult
ModelLoadRequest
ModelLoadResult
ModelQuery
Registry/query filters shared by SDK model-management APIs. UI-only presentation state and platform filesystem handles are intentionally not represented here. Filters only. Ordering is the client's -- a local catalog is tens of rows.
ModelRegistryFetchAssignmentsRequest
ModelRegistryFetchAssignmentsResult
ModelRegistryRefreshRequest
ModelRegistryRefreshResult
ModelRegistryStatus
Durable catalog state, not a live transfer stream. Byte counters and progress events live in download_service.proto.
ModelRuntimeCompatibility
ModelSource
ModelStorageMetrics
ModelUnloadRequest
ModelUnloadResult
MultiFileArtifact
NetworkEvent
NetworkEventKind
NpuCapability
The single NPU-capability description in this IDL. Static device description lives in exactly one other place: device_info.proto's DeviceInfo.
NPUChip
OperatorSpec
PerformanceMetrics
Referenced only by LLMGenerationResult.performance, which no SDK reads.
PipelineOptions
PipelineSpec
PipelineState
PluginInfo
A loaded/registered plugin. path is empty for plugins the native registry reports by name only (it does not persist load paths) — proto3 string default "" matches the current path: "" placeholder.
Rac_options
RAGConfig
RAGConfiguration
RAGDeleteRequest
Remove whole documents from the index for rac_rag_delete_proto.
RAGDeleteResponse
RAGDocument
RAGQueryOptions
RAGResult
RAGRetrievalOptions
The retrieval knobs, declared once. Every field unset = inherit RAGConfiguration.
RAGSearchRequest
Retrieval-only request for rac_rag_search_proto / SDK rag.search(). Intentionally omits generation options — that is RAGQueryOptions / rac_rag_query_proto / SDK rag.query().
RAGSearchResponse
Retrieval-only response for rac_rag_search_proto.
RAGSearchResult
RAGStatistics
RAGStreamEvent
RAGStreamEventKind
ReasoningMode
The single home for reasoning control. Composed surfaces (tool calling, RAG, voice agent) inherit it through the embedded LLMGenerationOptions.
ReasoningOptions
RegisterModelFromUrlRequest
RegisterMultiFileModelRequest
RoutingPolicy
On-device versus cloud routing. PREFER_LOCAL and PREFER_CLOUD cover the "preferred" cases; MANUAL is an explicit user override.
SDKComponent
SDKEnvironment
SDKError
The unified error payload every SDK throws or returns.
SDKEvent
SdkInitPhase1Request
The only platform-supplied values commons cannot derive itself. Platform adapter callbacks are registered separately through rac_platform_adapter_t before this call; this message is purely the data envelope.
SdkInitPhase2Request
The one value that legitimately varies between a dev build and a release. Telemetry flushing and registry/local-file reconciliation are commons behaviour, not per-call hints.
SdkInitResult
Returned by Phase 1, Phase 2, and retryHTTP.
SessionEvent
SDK session lifecycle independent of voice-agent turn sessions.
SessionEventKind
SingleFileArtifact
SolutionConfig
SolutionHandle
SolutionType
Frontends switch on the SolutionConfig oneof case. This enum exists only for logs and handles, and its numbers now match the oneof tags.
SpeechActivityEvent
Narrow component-level transition: this detector said speech started or ended. Barge-in is a session-level decision, not a detector verdict — it is reported by InterruptedEvent / InterruptReason in voice_events.proto.
SpeechActivityKind
StateChangeEvent
Pipeline lifecycle state. Ordered — callers can compare numerically.
StorageAvailability
StorageAvailabilityRequest
StorageAvailabilityResult
StorageDeleteCandidate
StorageDeletePlan
Non-destructive: describes what could be reclaimed without doing it.
StorageDeletePlanRequest
StorageDeleteRequest
StorageDeleteResult
StorageEvent
StorageEventKind
StorageInfo
StorageInfoRequest
StorageInfoResult
StreamToken
StructuredOutputMode
How commons applies StructuredOutputOptions on the ordinary LLM generate path. Platform SDKs must not invent a second policy.
StructuredOutputOptions
StructuredOutputParseRequest
StructuredOutputPromptResult
StructuredOutputResult
StructuredOutputValidation
STTAudioSource
STTConfiguration
Init-time settings. Per-call knobs live on STTOptions; adapters mirror the transcription defaults below into STTOptions when building a request.
STTOptions
Per-call overrides.
STTOutput
STTPartialResult
An in-progress hypothesis. text replaces the previous partial in full. The finished result arrives on STTStreamEvent.final_output and never here; correlation (request_id, seq) and failures live on the STTStreamEvent envelope.
STTServiceState
STTStreamEvent
STTStreamEventKind
STTTranscriptionRequest
TelemetryEvent
PerformanceEvent was deleted (had zero producers and zero readers, per review): a memory/thermal/latency/throughput reading is a named number with a unit, which TelemetryEvent already models. name carries what PerformanceEventKind used to (e.g. "memory_warning", "thermal_state"), value + unit carry the number (bytes / celsius-state / ms / tokens_per_second), and attributes carries operation/thermal_state text.
TelemetryEventKind
ThinkingTagPattern
Extracts a model's reasoning block from raw output, for families like Qwen3 and LFM2 that wrap it in . Used both per-call and as ModelInfo catalog metadata.
TimeSeriesConfig
TokenKind
ToolCall
ToolCallFormatName
ToolCallingApi
Logical tool-calling service contract. Host tool registration, permission checks, execution, callbacks, browser/native APIs, and side effects remain adapter-owned; this service describes only portable parsing, prompt formatting, and validation semantics over generated messages.
ToolCallingHistoryTurn
One prior conversation turn, with its speaker stated rather than inferred from list position.
ToolCallingOptions
ToolCallingResult
ToolCallingRole
Conversational role of one prior turn in history.
ToolCallingSessionCreateRequest
ToolCallingSessionEvent
ToolCallingSessionStepWithResultRequest
ToolCallValidationRequest
ToolCallValidationResult
ToolChoiceMode
ToolDefinition
ToolParseRequest
ToolParseResult
ToolPromptFormatRequest
ToolPromptFormatResult
ToolResult
ToolSpec
ToolValue
ToolValueArray
ToolValueJSON
ToolValueObject
TranscriptionAlternative
One n-best hypothesis. Per-word breakdown only when the backend emits it.
TranscriptionMetadata
Which model ran, and how long it took.
TTSOptions
TTSOutput
TTSServiceState
TTSSpeakResult
Metadata-only view for callers that let the SDK play the audio and never need the raw bytes.
TTSStreamEvent
TTSStreamEventKind
TTSSynthesisMetadata
TTSSynthesisRequest
TTSVoiceInfo
TTSVoiceList
TurnDetection
Turn detection. Field names, units and semantics follow OpenAI Realtime session.audio.input.turn_detection.
TurnDetection_Type
TurnLifecycleEvent
TurnLifecycleEventKind
UserSaidEvent
User speech finalized by STT (is_final=false → partial hypothesis).
VADAudioSource
VADConfiguration
Load-time configuration for a VAD instance.
VADEvent
Voice Activity Detection output. Frontends usually do not need this — exposed for debugging and custom UIs (waveform highlighting, etc.). type uses the canonical VADStreamEventKind enum from vad_options.proto (the hand-rolled VADEventType was deleted).
VADOptions
Per-call options. Field vocabulary follows LiveKit/Silero naming.
VADProcessRequest
VADResult
VADServiceState
VADStatistics
Exposed for debugging and waveform UIs.
VADStreamEvent
VADStreamEventKind
Every value here is emitted by commons. Barge-in is a session-level decision, not a detector verdict: it lives on InterruptedEvent / InterruptReason in voice_events.proto.
VectorStore
VLMChatTemplate
VLMGenerationRequest
VLMImage
Pixel buffers are tightly packed with NO row padding: RGB is 3 bytes/px, RGBA is 4, and width * height * channels MUST equal the buffer length or the request is rejected. raw_rgba drops alpha at the boundary.
VLMModelFamily
VLMResult
VLMStreamEvent
VLMStreamEventKind
VLMVisionOptions
The four genuinely vision-specific knobs. Everything else in the old VLMGenerationOptions was either a copy of LLMGenerationOptions or dead.
VoiceAgentAudioFrame
Streamed capture frame. Same fixed input contract as VoiceAgentTurnRequest.
VoiceAgentComponentStates
Aggregate load state across all four voice-agent components. Mirrors Swift VoiceAgentComponentStates, Kotlin VoiceAgentComponentStates, RN VoiceAgentComponentStates, Web VoiceAgentComponentStates, and Flutter VoiceAgentComponentStates.
VoiceAgentComposeConfig
Each component takes a path or an id; commons resolves the id through the model registry.
VoiceAgentConfig
VoiceAgentResult
VoiceAgentSynthesizeSpeechProtoRequest
VoiceAgentTranscribeProtoRequest
VoiceAgentTurnRequest
One-shot turn: audio in, transcription plus response plus audio out.
VoiceEvent
VoiceEventKind
VoiceLifecycleEvent
VoicePipelineComponent
VoiceSessionError
WordTimestamp

Extensions

GeneratedMessageGenericExtensions on T
Extensions on GeneratedMessages.