Skip to content

Add automatic Foundry routing and Microsoft MAI support - #1892

Merged
Paul Lizer (paullizer) merged 2 commits into
paullizer-react-v2-uifrom
paullizer-microsoft-ai-connections
Nov 5, 2026
Merged

Paul Lizer (paullizer) merged 2 commits into
paullizer-react-v2-uifrom
paullizer-microsoft-ai-connections

Conversation

@paullizer

@paullizer Paul Lizer (paullizer) commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Operators should not need vendor-specific URL suffixes to add Microsoft models. One native Foundry resource/project connection now resolves the selected OpenAI, Grok, MAI, or Anthropic model to its supported inference API without changing the saved discovery endpoint.
  • Built-in model selections preconfigure canonical model identity and native underlying model names. Automatic exact name matching remains available; deployment names, Custom gateway aliases, explicit overrides, publication choices, and global defaults stay intact.
  • Add the verified MAI-Thinking-1 preview profile, native audience/key handling, generation limits, streaming and function-tool compatibility. A shared Responses preference applies only where the native model contract supports it; MAI keeps Chat Completions automatically.
  • Carry the effective per-model API through sync clients, SK/local agents, workflow/capture metadata, and tabular budgets. Automatic URL routing is restricted to native public Foundry authorities; Custom/APIM URLs and authentication remain authoritative. Update application version to 0.261.410 and document the configuration.

Linked issue

N/A. The user opted to continue without an associated issue.

Release Notes & Latest Features

  • New Feature
  • Bug Fix
  • UI Enhancement
  • Breaking Change
  • Internal only

Is this visible to end users?

  • Yes
  • No

Is this admin-facing (Admin Settings, governance, deployment, config)?

  • Yes
  • No

Should this become a Latest Feature card?

  • Yes
  • No
  • Already added

Screenshot needed for the card?

  • Yes
  • No
  • Attached

Version bump

  • application/single_app/config.py VERSION third segment bumped, or not needed because this is docs-only
  • deployers/version.txt bumped, or not needed because deployers/ was not changed

Application: latest base 0.261.409 -> 0.261.410. The initial feature draft was 0.261.407; the pending release and its documentation/test headers are now aligned with the latest base. No deployer files changed.

Testing / validation

  • Passed after merging the latest base through b0a358646: 268 tests and 755 subtests. The following targeted suites include real SDK request construction, mixed-model native connections, streaming/tool continuation, normal and optimized Python, capture/workflow metadata, and tabular budgets. All inference HTTP is mocked; no production deployment or paid inference was performed.
python -m pytest -q --disable-warnings .\functional_tests\test_microsoft_mai_model_connections.py .\functional_tests\test_model_inference_api_versions.py .\functional_tests\test_model_responses_selection.py .\functional_tests\test_model_catalog_token_evidence.py .\functional_tests\test_model_catalog_profiles.py .\functional_tests\test_model_capability_catalog_resolution.py .\functional_tests\test_model_endpoint_protocol_inference.py .\functional_tests\test_model_endpoint_provider_registry.py .\functional_tests\test_custom_model_endpoint_diagnostics.py .\functional_tests\test_responses_model_tool_execution.py
  • python -m pytest -q --disable-warnings .\functional_tests\test_tabular_model_token_budgets.py .\functional_tests\test_excel_native_inspection_chat_evidence.py .\functional_tests\test_tabular_table_aware_analytics_replay.py - passed, 63 tests, covering the overlapping base Excel/table-aware changes and model budgets.
  • node .\functional_tests\test_v2_model_connections_logic.mjs - passed, 43 checks.
  • python -m pytest -q --disable-warnings .\functional_tests\test_v2_model_catalog_workbench.py - passed, 3 tests, including 12 bundled TypeScript checks. The browser-origin fixture was completed for the existing API client.
  • npm --prefix .\application\v2_ui run typecheck -- --pretty false - passed.
  • npm --prefix .\application\v2_ui run build - passed; existing large-bundle warning remains.
  • python .\functional_tests\route_tests\test_route_blueprint_policy_inventory.py - passed, 15 checks.
  • python .\functional_tests\route_tests\test_route_unauthenticated_policy_contract.py - passed, 10 checks.
  • python .\functional_tests\route_tests\test_route_policy_test_coverage.py - passed, 3 checks.
  • python .\scripts\build_docs_inventory.py - passed before the base merge, regenerated inventory had no content changes.
  • python .\functional_tests\test_docs_app_surface_coverage.py - passed after the base merge, 7 checks.
  • python .\functional_tests\test_docs_site_quality.py - passed after the base merge, 6 checks.
  • python -m pytest --collect-only -q .\ui_tests\test_microsoft_mai_ai_connections.py - 4 tests collected before the base merge. Browser execution was intentionally not performed; desktop/mobile native saves, automatic matching/presets, and Custom alias preservation are covered by the authored fixtures.
  • python .\scripts\check_xss_sinks.py --full-file .\application\v2_ui\src\components\admin\ModelConnectionsManager.tsx .\application\v2_ui\src\components\admin\ModelCatalogManager.tsx .\application\v2_ui\src\lib\modelConnections.ts .\application\v2_ui\src\lib\customModelConnections.ts .\application\v2_ui\src\lib\modelInference.ts .\application\v2_ui\src\lib\modelCatalog.ts - passed before the base merge, 6 files; those feature implementations were unchanged by conflict resolution.
  • git diff --check and git diff --cached --check - passed.

Historical baseline limitations: Before the latest-base integration, additional legacy reasoning/staging fixtures had 42 failures from missing extracted AST dependencies (apply_model_profile, should_include_current_turn_images) and an outdated staging callback. The same failures were reproduced against pre-feature commit 98e01345f. The base update repairs the staging fixture, and all current tabular model-budget tests now pass in the 63-test overlap suite above. Older unrelated reasoning/Custom/image/embedding fixtures are not represented as passing checks or independently repaired here.

Live model access, RBAC, regional availability, quotas, and gateway readiness remain deployment-specific checks. Custom connections do not acquire the application's managed-identity token automatically, and the optional encrypted MAI reasoning envelope is not requested.

Documentation

  • Release notes updated, or not needed
  • Feature documentation updated, or not needed
  • Fix documentation updated, or not needed

Updated the AI Connections guide, AI Models and Model Catalog references, release notes, and docs/explanation/fixes/MICROSOFT_MAI_MODEL_CONNECTIONS_FIX.md with the automatic native flow and explicit gateway boundary. Conflict resolution preserves the base Excel release entries and both sets of tabular test metadata.

Security checklist

  • New Flask routes include @swagger_route(security=get_auth_security())
  • Settings sent to non-admin frontends use sanitize_settings_for_user()
  • Browser JavaScript is served from local SimpleChat static assets only; no CDN-hosted JS
  • No secrets, keys, connection strings, or local-only artifacts are included

No routes or frontend settings-exposure boundaries were added by this feature. Existing authentication/authorization policies are verified by the route-policy checks.

Route native Foundry models through their supported inference APIs while preserving discovery endpoints and Custom gateway contracts. Preconfigure canonical model identity from built-in selections, add MAI request and authentication compatibility, and cover mixed-model clients and metadata consumers.

Co-authored-by: Copilot App <[email protected]>
Integrate the latest base document-index, Excel inspection and conversation-menu changes while retaining automatic Foundry model routing. Combine release notes and tabular test metadata, and align the pending feature release at 0.261.410.

Co-authored-by: Copilot App <[email protected]>
@paullizer
Paul Lizer (paullizer) merged commit 268bfa8 into paullizer-react-v2-ui Nov 5, 2026
11 of 12 checks passed
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