Skip to content

Azure adk package#163

Open
alfredjimmy-redbus wants to merge 13 commits into
redbus-labs:mainfrom
alfredjimmy-redbus:azure-adk-package
Open

Azure adk package#163
alfredjimmy-redbus wants to merge 13 commits into
redbus-labs:mainfrom
alfredjimmy-redbus:azure-adk-package

Conversation

@alfredjimmy-redbus
Copy link
Copy Markdown

Introduces a unified Azure OpenAI integration for ADK-Java, replacing the monolithic AzureBaseLM with a transport-based architecture under com.google.adk.models.azure.

  • Unified entry point: AzureBaseLM delegates to contract-specific transports based on deployment name

  • Three Azure API contracts supported:

  •     Responses API (AzureRestTransport) — REST/SSE chat, streaming, tool calling, reasoning
    
  •     Realtime Voice (AzureRealtimeTransport + AzureRealtimeLlmConnection) — bidirectional WebSocket audio, VAD, barge-in, function calling
    
  •        Realtime Translate (AzureRealtimeTranslateTransport + AzureRealtimeTranslateLlmConnection) — continuous speech translation
    

Shared config layer: AzureConfig with contract-specific env vars (AZURE_RESPONSE_ENDPOINT, AZURE_REALTIME_ENDPOINT, AZURE_TRANSLATE_ENDPOINT)

Shared request mapping: AzureRequestConverter for instructions, tools, and schema conversion
Registry wiring: LlmRegistry updated to route Azure|* and realtime model names to AzureBaseLM
Live connection support: BaseLlmConnection.clearRealtimeAudioBuffer() added for Realtime protocol
Documentation: azure_readme.md with architecture diagrams, usage examples, supported models, and guide for adding new Azure contracts

Rohan Vijay and others added 13 commits April 24, 2026 13:46
Integrates latest upstream ADK changes (release 1.2.1, plugins,
telemetry, BigQuery analytics, race condition fixes) while preserving
our Gemini 3.1 Live fixes:
- toolCallCancellation → interrupted=true (Issue 2 fix)
- sendRealtime mime-type routing (audio vs video)
- realtimeInputConfig plumbing (RunConfig → Basic flow)
- content null-check in Runner.runAsyncImpl

Removed local-only artifacts:
- Hardcoded /Users/rohan.v debug logging from Runner.java
- PRODUCTION_READINESS_AUDIT.md

Aligned transcription types to upstream Transcription objects
(was Optional<String>, now @nullable Transcription).

Made-with: Cursor
…cate old setters

- Changed builder method names to follow a consistent naming convention.
- Deprecated old setter methods in favor of new methods that improve clarity.
- Added validation to ensure maxLlmCalls is less than Integer.MAX_VALUE.
- Updated import for Nullable annotation to use org.jspecify.annotations.

fix(GeminiLlmConnection): handle optional interrupted state

- Updated handling of the interrupted state to use orElse(null) for better null safety.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant