Repository navigation
Mid October release train - #47206
Gerardo Lecaros (glecaros) wants to merge 422 commits into
Conversation
* update empty type to record<unknown> * change int32 -> int64 * add openapi3 files
* rename evaluator gen ops * remove async from name * revert targetconfig rename * undo rename * rename listsessionfiles * add agents-optimization to agents client, add evaluation-suites, suppress createAgentFromCode * move evaluation suite operations to evaluators, rename * remove evaluationsuites * Revert "remove evaluationsuites" This reverts commit 1e8c4c9. * Reapply "remove evaluationsuites" This reverts commit d9ead55. * add evals dependency for agent optimizations * suppress openai outputitem * suppress inputitem * customization for naming collision * Ingest spec 52626 (#43522) * Fix which 'fromCode' method we emit. Thanks Howie! * feat(agents-session-files): add has_more, @list, and optional path to ListSessionFiles (#43280) * Update specification/ai-foundry/data-plane/Foundry/src/agents-session-files/models.tsp * Update specification/ai-foundry/data-plane/Foundry/src/agents-session-files/routes.tsp * fix * missing change * inline page result * Revert "Merge branch 'feature/foundry-release' of https://github.com/Azure/azure-rest-api-specs into feature/foundry-release" This reverts commit 1027f31, reversing changes made to f67e069. * Move Toolboxes operations back to a .beta client for JS and Python SDKs * Map OpenAI.OutputItem to Record<Unknown> for JS and Python emitters. (#43354) * Remove evaluation suites from JS and Python SDKs (#43356) * Add isolation key header to session crud (#43348) * Add isolation key header to session crud * regen openapi3 --------- Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com> * Fix typespec (#43316) * Expose CreateAgentFromCodeOptions (#43392) * Add target and input_messages to evaluation suite generation inputs (#43282) * Add target and input_messages to evaluation suite generation inputs - Added optional target field to EvaluationSuiteGenerationJobInputs - Added optional input_messages field (template or item_reference) - Target is stored on the generated suite so it can be run immediately - input_messages defaults to template with {{item.query}} if omitted Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add evaluation_level to generation job inputs Optional field defaults to turn. When set to conversation, dataset generation is skipped and user provides their own multi-turn dataset. Target is required for turn-level but optional for conversation-level. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Clean up doc comments — remove internal implementation details Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove level-specific details from target and input_messages docs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add @removed(Versions.v1) to evaluation suite interfaces for private preview Mark EvaluationSuites and EvaluationSuiteGenerationJobs interfaces as removed from v1 so they remain private preview only and are not included in the public GA surface. Models don't need the tag since they are unreachable without the routes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Doc string missing defaults. Minor updates to Python surface. (#43431) * Minor TypeSpec, Python & JS renames. Does not affect OpenAPI3 files (#43438) * Add type spec for stop sessions (#43206) * add typespec for stop sessions. * add stop session example. * openai3 * correct verb for stop api. * correct comment structure. * Revert "correct comment structure." This reverts commit 1c5669d. * update comment decorator, * update spec for stop. * fix comment + regen * updated comment --------- Co-authored-by: Harsheet Shah <harsheetshah@microsoft.com> Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com> * Remove image and container_protocol_versions from HostedAgentDefinition (#43410) These properties are not part of the v1 (GA) surface. Per review feedback, remove them from the model entirely rather than using @removed(Versions.v1). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Delete specification/ai-foundry/data-plane/Foundry/openapi3/v1/microsoft-foundry-openapi3.yaml,json * Skills API: Versioned Skills aligned with OpenAI and agentskills.io (#43283) * Add versioned Skills API alongside existing flat API Add version support to Skills API mirroring the Toolbox pattern: - SkillVersionObject model for immutable version snapshots - default_version field on SkillObject - New versioned routes: createSkillVersion, listSkillVersions, getSkillVersion, downloadSkillVersion, deleteSkillVersion, updateSkillDefaultVersion, createSkillVersionFromPackage - All existing flat routes preserved Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add versioned Skills API and skill references in Toolboxes Skills API: - Add SkillVersionObject model aligned with OpenAI skills API - Add default_version, latest_version, created_at to SkillObject - New versioned routes: createSkillVersion, listSkillVersions, getSkillVersion, getSkillContent, getSkillVersionContent, updateSkillDefaultVersion, deleteSkillVersion - Use /content pattern (OpenAI-style) instead of :download - All existing flat skill routes preserved Toolboxes: - Add SkillReference model (name + optional version) - Add skills field to CreateToolboxVersionRequest and ToolboxVersionObject - When version is specified, reference is pinned to that immutable version Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Align Skills API with OpenAI format: clean models, remove legacy routes - Replace SkillObject/SkillVersionObject with clean Skill/SkillVersion models - Remove old flat routes (createSkillFromPackage, downloadSkill, updateSkill) - Switch updateSkillDefaultVersion from PATCH to POST (matching OpenAI) - Add files upload to createSkill and createSkillVersion - Remove metadata from create requests - Remove SkillObject clientName mapping Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Align Skills API with OpenAI: remove zip_content/description from create, add SkillsPagedResult, DeleteSkillVersionResponse, type discriminator on SkillReference - Remove zip_content and description from CreateSkillVersionRequest (match OpenAI) - Remove description from CreateSkillVersionMetadata (match OpenAI) - Add independent SkillsPagedResult<T> type for clean SDK naming - Add DeleteSkillVersionResponse with id, deleted, version (match OpenAI) - Add type discriminator to SkillReference for future union extensibility - Update routes to use SkillsPagedResult and DeleteSkillVersionResponse Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add object discriminators, make description required, add agentskills.io fields to inline content - Add object discriminators to SkillsPagedResult, DeleteSkillResponse, DeleteSkillVersionResponse - Make description required on Skill and SkillVersion (matches OpenAI) - Add license and metadata fields to SkillInlineContent (agentskills.io spec) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add id and name to both delete responses for consistency Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Simplify multipart: remove metadata wrapper, add upload behavior docs - Remove CreateSkillVersionMetadata model, make default a top-level form field - Add documentation for zip vs directory upload behavior - Matches OpenAI's flat files + default pattern Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Rename updateSkillDefaultVersion to updateSkill for future extensibility Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update toolbox skill source model Model toolbox skills as a discriminated base type with a skill reference variant so future skill sources can be added without reshaping the API. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address skills API review feedback Use the shared paged result type for skills lists, align timestamp modeling with FoundryTimestamp, remove object discriminator fields from skill responses, and make the update request a composed alias. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address remaining skills review feedback Rename Skill in the Projects Agents SDK customization, document multipart default behavior, and model allowed tools as a string array. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Vishwanath Balaji <visbalaji@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * add missed invocations_ws into AgentProtocol (#43324) Co-authored-by: Yulin Li <yulili@microsoft.com> Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com> * Agents Optimization Alignment with APIs (#43436) * set latest alignment fields * add multi-turn simulation support (evaluationLevel, DatasetItem scenario fields) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * use shared OpenAI eval types (EvalRunOutputItemResult, EvalRunOutputItemSampleOutput) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * remove duplicate EvaluationLevel union (use shared definition from openai-evaluations) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * remove currentTargetAttribute from progress model Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * remove orphaned models and simplify deploy config types * fix evalModel type to string * flatten request body - remove inputs wrapper to match vienna contract * remove dead response fields and add response-side AgentDefinitionResponse * rename to AgentIdentifier for request, OptimizationAgentDefinition for response * fix response structure: nest inputs in response, flat request body, update create operation * remove read-only visibility from inputs to allow create+read * add 202 Accepted response for GET while job in progress * regen --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com> * Remove dataset source from data generation jobs (#43448) * Remove dataset source from data generation jobs Removes the DatasetDataGenerationJobSource model and the dataset member of the DataGenerationJobSourceType union in the data generation jobs spec, and regenerates openapi3 outputs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove scenario and type filters from listJobsPreview for data generation jobs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add Dan to CODEOWNERS (#43017) * remove downloadskill override * remove skillobject override * relocate promote candidate * relocate get candidate --------- Co-authored-by: Darren Cohen <39422044+dargilco@users.noreply.github.com> Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com> Co-authored-by: Andrew Schonhoffer <andscho@microsoft.com> Co-authored-by: Nikolay Rovinskiy <30440255+nick863@users.noreply.github.com> Co-authored-by: vebudumu <93553661+vebudumu@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Harsheet Shah <50236780+harsheet-shah@users.noreply.github.com> Co-authored-by: Harsheet Shah <harsheetshah@microsoft.com> Co-authored-by: Santhosh Kumar Gunasekaran <sagunase@microsoft.com> Co-authored-by: Vincent Biret <vibiret@microsoft.com> Co-authored-by: Viswa Balaji <138743504+viswabalaji@users.noreply.github.com> Co-authored-by: Vishwanath Balaji <visbalaji@microsoft.com> Co-authored-by: Yulin Li <liyulin@pku.edu.cn> Co-authored-by: Yulin Li <yulili@microsoft.com> Co-authored-by: Justin Gonzales <115047469+jugonzales@users.noreply.github.com> Co-authored-by: aprilk-ms <55356546+aprilk-ms@users.noreply.github.com> * Revert "Ingest spec 52626 (#43522)" (#43523) This reverts commit 2b538a2. * remove downloadskill override * remove skillobject override * relocate promote candidate * relocate get candidate * renames * undo rename * suppress tool type * suppress deleteskillversion * Adding Azure related classes for evals (#43508) * Adding Azure related classes for evals * forced json object * unknown instead of string * remove listsessionfiles rename * rename uri to url * rename fabriciq * rename to blueprintIdentity * rename contentHash to specify method * missing quotes * rename avg to average * deleteskill suppressions * customizations for deletememory * remove async from method name * renames * skill rename --------- Co-authored-by: Darren Cohen <39422044+dargilco@users.noreply.github.com> Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com> Co-authored-by: Andrew Schonhoffer <andscho@microsoft.com> Co-authored-by: Nikolay Rovinskiy <30440255+nick863@users.noreply.github.com> Co-authored-by: vebudumu <93553661+vebudumu@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Harsheet Shah <50236780+harsheet-shah@users.noreply.github.com> Co-authored-by: Harsheet Shah <harsheetshah@microsoft.com> Co-authored-by: Santhosh Kumar Gunasekaran <sagunase@microsoft.com> Co-authored-by: Vincent Biret <vibiret@microsoft.com> Co-authored-by: Viswa Balaji <138743504+viswabalaji@users.noreply.github.com> Co-authored-by: Vishwanath Balaji <visbalaji@microsoft.com> Co-authored-by: Yulin Li <liyulin@pku.edu.cn> Co-authored-by: Yulin Li <yulili@microsoft.com> Co-authored-by: Justin Gonzales <115047469+jugonzales@users.noreply.github.com> Co-authored-by: aprilk-ms <55356546+aprilk-ms@users.noreply.github.com> Co-authored-by: Jose Alvarez <jpalvarezl@users.noreply.github.com>
…RuleAction (#43626) * feat(ai-foundry/eval-rules): add samplingRate to ContinuousEvaluationRuleAction Adds an optional `samplingRate` (float64, percentage in (0, 100]) on `ContinuousEvaluationRuleAction`. When set, each matching event has this percentage chance of triggering an evaluation; when omitted, every event is evaluated (equivalent to 100). To disable the rule entirely, callers should set `enabled` to false rather than `samplingRate: 0` (which is rejected by the service). Mirrors the existing server-side validation in RAISvc: if (rate <= 0 || rate > 100) -> 400 BadRequest Regenerated v1 + virtual-public-preview openapi3 (.json and .yaml) via `npx tsp compile .`. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ai-foundry/eval-rules): set samplingRate default to 100 and clarify doc Addresses review feedback on PR #43626 from @dargilco. Since the Foundry RAI evaluation service treats an omitted samplingRate as full sampling (equivalent to 100), express that explicitly in the TypeSpec contract by adding a default of 100 and updating the docstring to call out the service-side behavior. Regenerated openapi3 outputs from `specification/ai-foundry/data-plane/Foundry`. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… emission (#43558) * initial pass: add and apply a skill for summary/description breakout * cleanup: no root agency.toml change * missing summary tags; skill, heal thyself * merge again * re-run skill with more careful pass * more comprehensive summary/description pass --------- Signed-off-by: Vincent Biret <vibiret@microsoft.com> Co-authored-by: Vincent Biret <vibiret@microsoft.com>
…esponses API (#43662) * fix: avoid multiple any of entries for different response bodies in responses API Signed-off-by: Vincent Biret <vibiret@microsoft.com> * warnings, getResponse, format --------- Signed-off-by: Vincent Biret <vibiret@microsoft.com> Co-authored-by: Travis Wilson <travisw@microsoft.com>
* fix: use ranges for error responses instead of default Signed-off-by: Vincent Biret <vibiret@microsoft.com> * fix: use range error for datasets operation Signed-off-by: Vincent Biret <vibiret@microsoft.com> * chore: refreshes generated assets Signed-off-by: Vincent Biret <vibiret@microsoft.com> * chore: refactors error definition to avoid duplication Signed-off-by: Vincent Biret <vibiret@microsoft.com> * fix: use FoundryAzureOperations for resource operations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: refresh Foundry OpenAPI descriptions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ai-foundry): use range errors for version list operations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(ai-foundry): refresh version list descriptions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ai-foundry): use range errors for Foundry resource operations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(ai-foundry): refresh resource operation descriptions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ai-foundry): centralize range error operation templates Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ai-foundry): use range errors for OpenAI operations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(ai-foundry): refresh OpenAI operation descriptions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Signed-off-by: Vincent Biret <vibiret@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: adds summary and description overrides for skill version operations * Adding extension annotation to create agent, update agent, and create agent version variants. * improve override summary/descs for agents * fix: aligns values Signed-off-by: Vincent Biret <vibiret@microsoft.com> * chore: refreshes generated assets Signed-off-by: Vincent Biret <vibiret@microsoft.com> * fix: description alignment Signed-off-by: Vincent Biret <vibiret@microsoft.com> --------- Signed-off-by: Vincent Biret <vibiret@microsoft.com> Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com> Co-authored-by: Travis Wilson <travisw@microsoft.com>
…valuator generation jobs propagation note (#43667) * feat(ai-foundry/evaluators): add supported_evaluation_levels + List propagation note Two related evaluator-API changes: 1. Add ``supported_evaluation_levels?: EvaluationLevel[]`` to ``EvaluatorVersion`` to mirror the service-side contract in Vienna's RAISvc evaluator models (``Evaluator`` / ``CreateEvaluatorRequest`` / ``UpdateEvaluatorRequest`` in ``RAISvc/Contracts/Evaluations/Evaluators.cs``). - Read: always present; service defaults to ``[turn]`` when none are set. - Create: optional; omitted -> service defaults to ``[turn]``. - Update: optional; omitted -> no change. Empty list rejected. - Custom code-based evaluators support only ``turn``; custom prompt-based evaluators support exactly one level (``turn`` or ``conversation``). Reuses the existing ``EvaluationLevel`` union from ``openai-evaluations/models.tsp`` (same ``Azure.AI.Projects`` namespace). 2. Note in the ``EvaluatorGenerationJobs.list`` docstring that the List API has up to a few seconds of propagation delay; recently created jobs may not appear immediately. Callers should use the Get API with the job ID for a specific job without delay. Regenerated openapi3 outputs via ``npx tsp compile .`` from ``specification/ai-foundry/data-plane/Foundry``. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Apply suggestion from @glecaros Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com> * chore(ai-foundry/evaluators): regenerate openapi3 after glecaros suggestion The suggestion in dc91dc3 added `= #[EvaluationLevel.turn]` as the default for `supported_evaluation_levels` but did not include the regenerated openapi3 artifacts. This commit refreshes them so the schema emits `default: [turn]` consistently across the Create / Read / Update views. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Gerardo Lecaros <10088504+glecaros@users.noreply.github.com>
…ng values in the future without breaking changes (#43786)
Adds `a2a: "a2a"` to the container-side `AgentProtocol` union in `src/agents/models.tsp`, mirroring the existing `a2a` entry in `AgentEndpointProtocol`. This lets hosted agents declare that their container natively serves the A2A protocol, enabling Azure ML Vienna's Agents service to route A2A traffic directly to the container (passthrough) instead of translating it through the head. Non-breaking: this is a string-extensible union, so the new value extends the schema without invalidating existing clients or stored agent definitions. Also includes a fresh openapi3 regeneration (`tsp compile --emit @typespec/openapi3`). The regen picked up four unrelated discriminator-mapping additions (`azure_ai_source`, `synthetic_data_gen_preview`, OpenAI `json_schema` / `summary_text`) that were added to the TypeSpec but not yet reflected in the committed openapi3 outputs. Including them here keeps the openapi3 artifacts consistent with the TypeSpec source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* methods relocs * hack to get relocs * removed unused namespaces * add clientInitialization * Trying individual init * fix * Added allowbetatypes flag * Inlined model * moved allowBetaTypes to parent builder * client setup correctly * removed bad usage of clientInitialization * Trying to promote header values to builder setting * Added relocations to Projects SDK java entrypoint * Adding Java expections for ops served in azure-ai-agents package * Dedicated java op reloc entries for projects * Promote Foundry preview header to Java client * Narrow Java optimization convenience suppressions * Document Java Foundry-Features header promotion rationale * Document temporary Java convenience API suppressions * Promote Foundry preview header for Java projects * Internalize Java Foundry features opt-in key * Preserve Java projects convenience models * Implmeneted entry point re-org for java * Added tspconfig for java projects entry point * Added missing imports * restored entry point for java projects for now * re-org 2nd try * Expanded import to 2 separate files * Removed work around and restored automatic code gen * Forcing emission of optIn keys for internal use * Removed work around for projects * Simplified PR changes * Simplified spec changes more * replicated comment * PR feedback and removed unnecessary main.tsp file
|
Label has been re-applied. |
|
Label has been re-applied. |
|
Label has been re-applied. |
|
Label has been re-applied. |
|
Label has been re-applied. |
API Change CheckAPIView identified API level changes in this PR and created the following API reviews
Comment generated by After APIView workflow run. |
…ts (#47071) * Use OpenAI RealtimeResponse as the VoiceResponse base Remove the synthetic persisted-response base and inherit the upstream fields unchanged. Map the C# base to OpenAI 2.14.0, update Java customizations, and regenerate both versioned OpenAPI views. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Preserve Java realtime response object naming Remove the shared OpenAI object property naming override so persisted and live response projections retain their existing Java accessor names. Keep direct OpenAI response inheritance unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Simplify OpenAI-backed voice agent models Use direct OpenAI bases for live responses and input transcription while preserving Foundry overrides. Inherit request input and MCP server_url without redundant redeclarations, generate the complete C# transcription base in the Azure namespace, and regenerate versioned OpenAPI documents. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Preserve voice audio API with live response composition Compose live responses from OpenAI properties while keeping the original standalone Foundry audio models and string voice API. Retain persisted response inheritance and regenerate both OpenAPI views. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Restore Foundry audio in composed persisted responses Reuse OpenAI response properties through composition while retaining the original Foundry audio contract and string voice API. Align the Java preview object enum entry and regenerate both versioned OpenAPI views. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Restore composition for voice input transcription Preserve the original Foundry model selector and transcription fields without an incompatible inherited SDK getter. Remove the inheritance-only C# namespace override and regenerate both OpenAPI views. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Xiting Zhang <xitzhang@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add Microsoft Copilot harness discriminator Add microsoft_copilot_preview while preserving github_copilot_preview for compatibility with existing private-preview customers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 32bb6411-8549-42a5-ab21-87f5e7eec2fe * Point legacy Copilot harness to new discriminator Update the compatibility documentation to direct new prompt agents to MicrosoftCopilotHarness and microsoft_copilot_preview. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 32bb6411-8549-42a5-ab21-87f5e7eec2fe * Add Microsoft Copilot toolset discriminator Add the preferred Microsoft Copilot toolset models and discriminator while retaining all GitHub Copilot toolset contracts and Java customizations for private-preview compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 32bb6411-8549-42a5-ab21-87f5e7eec2fe * Add Microsoft Copilot preview opt-in Add MicrosoftCopilot=V1Preview for the new Microsoft Copilot contracts, retain the GitHub opt-in for legacy contracts, annotate all new models, and append the new tool type without shifting existing enum members. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 32bb6411-8549-42a5-ab21-87f5e7eec2fe * Document Microsoft Copilot preview opt-in Satisfy TypeSpec documentation requirements for the new preview header union member. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 32bb6411-8549-42a5-ab21-87f5e7eec2fe --------- Co-authored-by: Vishwanath Balaji <visbalaji@microsoft.com> Copilot-Session: 32bb6411-8549-42a5-ab21-87f5e7eec2fe
No description provided.