Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions idl/SCHEMA_LOCK
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#
# Verify: idl/codegen/schema_lock.sh --check
# =============================================================================
IDL_VERSION=1.2.0
IDL_VERSION=1.2.1
IDL_PROTO_COUNT=40
IDL_SCHEMA_SHA256=571199c430eead0638472fc55355513831aeb2139e6fee5d5cd841f1b01d5a43
IDL_SCHEMA_SHA256=cb753467fce05e311171692abb429725865b2116145416a41f3d16fd3231f3ce
IDL_PROTOC_VERSION=35.1
2 changes: 1 addition & 1 deletion idl/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.2.0
1.2.1
23 changes: 18 additions & 5 deletions idl/sdk_init.proto
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,26 @@ message SdkInitPhase1Request {
string platform = 5;
string sdk_version = 6;

// Caller override for NetworkDefaults.request_timeout_ms. Unset = the pool
// default (60000). openai-python / anthropic-python `timeout`.
// Intended as a caller override for NetworkDefaults.request_timeout_ms,
// modelled on openai-python / anthropic-python `timeout`.
//
// NOT HONORED YET. Nothing sets this field and nothing reads it: commons
// parses SdkInitPhase1Request without consulting it, and each transport
// uses the compile-time pool value instead (Swift
// URLSessionHttpTransport.swift reads RADefaults.Network.requestTimeoutMs).
// The pool default applies whatever a caller puts here. Same spirit as the
// note on NetworkDefaults.max_retries: declaring the field does not switch
// the behaviour on.
optional int32 request_timeout_ms = 7 [(runanywhere.v1.rac_min) = 1000];

// Caller override for NetworkDefaults.max_retries. Unset = the pool
// default (3). openai-python / anthropic-python `max_retries`; 0 disables
// retries.
// Intended as a caller override for NetworkDefaults.max_retries, modelled
// on openai-python / anthropic-python `max_retries`.
//
// NOT HONORED YET, and the gap is wider than for request_timeout_ms
// because retries exist on exactly one platform: Web's download-poll loop
// (SDKCore.ts) reads the compile-time `networkDefaults.maxRetries`, never
// this field, so a caller cannot raise, lower, or disable retries through
// it. Read `0 disables retries` as the intent, not the current behaviour.
optional int32 max_retries = 8 [
(runanywhere.v1.rac_min) = 0,
(runanywhere.v1.rac_max) = 10
Expand Down
19 changes: 14 additions & 5 deletions idl/voice_agent_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -107,15 +107,24 @@ message VoiceAgentComposeConfig {
optional string tts_voice_id = 6;

optional VADConfiguration vad_config = 7;
// NOT HONORED YET either: make_voice_llm_options() builds the voice LLM options
// from compile-time constants and takes no argument, so none of these
// reach the LLM. The note on `instructions` below says
// llm_generation.system_prompt is ignored here, which is true, but so is
// the rest of the message.
optional LLMGenerationOptions llm_generation = 8;

// System prompt for the agent. Governs persona AND spoken delivery
// Intended as the system prompt for the agent: persona AND spoken delivery
// ("talk quickly", "sound warm"), not just content. Same name and role as
// OpenAI Realtime `session.instructions`. Unset uses the commons voice
// default (short, spoken, no markdown).
// OpenAI Realtime `session.instructions`.
//
// This is the only system prompt the voice path reads:
// llm_generation.system_prompt is IGNORED here.
// NOT HONORED YET. config_from_proto (voice_agent_internal_helpers.cpp)
// translates this message into rac_voice_agent_config_t and never reads
// this field, and nothing else reads it either. Every turn gets the
// compile-time kVoiceAgentSystemPrompt that make_voice_llm_options()
// hardcodes, so the commons voice default is not merely what you get when
// this is unset, it is what you get regardless. Honoring it needs a slot
// on rac_voice_agent_llm_config_t, which has none today.
optional string instructions = 9;

optional TurnDetection turn_detection = 10;
Expand Down
Loading