Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
282f0a9
Private catalog SDK support: AddCatalogAsync, SelectCatalogAsync, Get…
Mar 16, 2026
ba4b050
fixing native errors
Mar 24, 2026
f2725a4
private catalog sdk improvements
kobby-kobbs Apr 6, 2026
b3ed6db
fixed comments
kobby-kobbs Apr 6, 2026
6c4c8da
Merge branch 'main' into emmanuel/privatecatalog
kobby-kobbs Apr 7, 2026
62c21fc
Merge branch 'main' into emmanuel/privatecatalog
kobby-kobbs Apr 9, 2026
1b62e18
Merge branch 'main' into emmanuel/privatecatalog
kobby-kobbs Apr 14, 2026
514a780
Address PR review: use InvalidateCache, move optional args to options…
kobby-kobbs Apr 14, 2026
f3dbe71
Merge branch 'main' into emmanuel/privatecatalog
kobby-kobbs Apr 15, 2026
8456f35
SDK: send Type in add_catalog; remove SelectCatalogAsync
kobby-kobbs Apr 20, 2026
2f6b743
replaced containsKey with TryGetValue
kobby-kobbs Apr 22, 2026
d117001
Merge remote-tracking branch 'origin/main' into emmanuel/privatecatalog
kobby-kobbs Apr 22, 2026
c550364
samples(cs): add private-catalog sample
Apr 23, 2026
921377b
Merge remote-tracking branch 'origin/main' into emmanuel/privatecatalog
Apr 30, 2026
cd63f35
Add ORT-Nightly package source to nuget.config
baijumeswani Apr 30, 2026
f53975a
Remove ORT-Nightly package source from nuget.config
baijumeswani May 1, 2026
87bf36a
Merge origin/emmanuel/privatecatalog: bug bash sample updates
May 1, 2026
8728a61
Merge branch 'emmanuel/privatecatalog' of https://github.com/microsof…
May 1, 2026
0e6b413
Fix stale onboarding script reference in error message
May 1, 2026
a110baa
Merge remote-tracking branch 'origin/main' into emmanuel/privatecatalog
May 11, 2026
f3361ca
fix(sdk/cs): netstandard2.0 build break in AddCatalogAsync
May 11, 2026
f05c3f0
fix(sdk/cs): make ILogger optional in CreateAsync (W1)
May 11, 2026
ebf11af
fix(sdk/cs): bug-bash private catalog improvements
May 12, 2026
50f9e8e
fix(samples/cs/private-catalog)
May 12, 2026
0ff4081
samples/cs/private-catalog: simplify Program.cs to stable SDK surface…
May 12, 2026
cd0af2f
typed private-catalog options, exp-ms JWT rejection, CatalogAuthExcep…
May 12, 2026
5d18042
drop appsettings.json from private-catalog sample
May 14, 2026
602934c
Drop Uri parameter from AddCatalogAsync (Core hard-codes MDS endpoint)
May 14, 2026
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 samples/cs/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<CentralPackageFloatingVersionsEnabled>true</CentralPackageFloatingVersionsEnabled>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Microsoft.AI.Foundry.Local" Version="*-*" />
<PackageVersion Include="Microsoft.AI.Foundry.Local.WinML" Version="*-*" />
<PackageVersion Include="Microsoft.AI.Foundry.Local" Version="1.1.0-dev.202605010202" />
<PackageVersion Include="Microsoft.AI.Foundry.Local.WinML" Version="1.1.0-dev.202605010202" />
<PackageVersion Include="Betalgo.Ranul.OpenAI" Version="9.2.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.15" />
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.15" />
Expand Down
1 change: 1 addition & 0 deletions samples/cs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Both packages provide the same APIs, so the same source code works on all platfo
| [tool-calling-foundry-local-sdk](tool-calling-foundry-local-sdk/) | Use tool calling with native chat completions. |
| [tool-calling-foundry-local-web-server](tool-calling-foundry-local-web-server/) | Use tool calling with the local web server. |
| [model-management-example](model-management-example/) | Manage models, variant selection, and updates. |
| [private-catalog](private-catalog/) | Register a private MDS-backed catalog with `AddCatalogAsync`, list public + private models, and chat with one. |
| [tutorial-chat-assistant](tutorial-chat-assistant/) | Build an interactive chat assistant (tutorial). |
| [tutorial-document-summarizer](tutorial-document-summarizer/) | Summarize documents with AI (tutorial). |
| [tutorial-tool-calling](tutorial-tool-calling/) | Create a tool-calling assistant (tutorial). |
Expand Down
15 changes: 2 additions & 13 deletions samples/cs/nuget.config
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,6 @@
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<!-- CI builds the SDK to local-packages/ before building samples.
For local dev, run: dotnet pack sdk/cs/src -o local-packages /p:Version=0.9.0-dev -->
<add key="local-sdk" value="../../local-packages" />
<add key="ORT-Nightly" value="https://pkgs.dev.azure.com/aiinfra/PublicPackages/_packaging/ORT-Nightly/nuget/v3/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="nuget.org">
<package pattern="*" />
<package pattern="Microsoft.AI.Foundry.Local.Core*" />
</packageSource>
<packageSource key="local-sdk">
<package pattern="Microsoft.AI.Foundry.Local*" />
</packageSource>
</packageSourceMapping>
</configuration>
</configuration>
62 changes: 62 additions & 0 deletions samples/cs/private-catalog/PrivateCatalog.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

<!--
Suppress NuGet noise from transitive ONNX Runtime GPU packages pulled in by
Microsoft.AI.Foundry.Local.Core. On linux-arm64 (and other RIDs that don't
ship a matching runtime), Microsoft.ML.OnnxRuntime.Gpu.Linux can surface as
NU1604 (no inclusive lower bound) or NU1701 (RID compatibility) — neither
is actionable from the sample.
-->
<NoWarn>$(NoWarn);NU1604;NU1701</NoWarn>
</PropertyGroup>

<!-- Windows: target Windows SDK for WinML hardware acceleration -->
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
<TargetFramework>net9.0-windows10.0.26100</TargetFramework>
<WindowsAppSDKSelfContained>false</WindowsAppSDKSelfContained>
<Platforms>ARM64;x64</Platforms>
<WindowsPackageType>None</WindowsPackageType>
<EnableCoreMrtTooling>false</EnableCoreMrtTooling>
</PropertyGroup>

<!-- Non-Windows: standard .NET -->
<PropertyGroup Condition="!$([MSBuild]::IsOSPlatform('Windows'))">
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>

<PropertyGroup Condition="'$(RuntimeIdentifier)'==''">
<RuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifier>
</PropertyGroup>

<!-- Windows: WinML for hardware acceleration -->
<ItemGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
<PackageReference Include="Microsoft.AI.Foundry.Local.WinML" />
</ItemGroup>

<!-- Non-Windows: standard SDK -->
<ItemGroup Condition="!$([MSBuild]::IsOSPlatform('Windows'))">
<PackageReference Include="Microsoft.AI.Foundry.Local" />
</ItemGroup>

<!--
Linux GPU support. Pinned via VersionOverride because the shared
Directory.Packages.props does not declare these (they're only used by this
sample on linux-x64). On linux-arm64 these are intentionally skipped — there
is no matching CUDA runtime, and the CPU path provided by Core works.
-->
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'linux-x64'">
<PackageReference Include="Microsoft.ML.OnnxRuntime.Gpu" VersionOverride="1.20.1" />
<PackageReference Include="Microsoft.ML.OnnxRuntimeGenAI.Cuda" VersionOverride="0.6.0" />
</ItemGroup>

<!-- Shared utilities (spinner, logger) -->
<ItemGroup>
<Compile Include="../Shared/*.cs" />
</ItemGroup>

</Project>
34 changes: 34 additions & 0 deletions samples/cs/private-catalog/PrivateCatalog.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrivateCatalog", "PrivateCatalog.csproj", "{B1C23D45-6789-4ABC-DEF0-123456789ABC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Debug|Any CPU.ActiveCfg = Debug|ARM64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Debug|Any CPU.Build.0 = Debug|ARM64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Debug|x64.ActiveCfg = Debug|x64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Debug|x64.Build.0 = Debug|x64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Debug|x86.ActiveCfg = Debug|ARM64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Debug|x86.Build.0 = Debug|ARM64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Release|Any CPU.ActiveCfg = Release|ARM64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Release|Any CPU.Build.0 = Release|ARM64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Release|x64.ActiveCfg = Release|x64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Release|x64.Build.0 = Release|x64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Release|x86.ActiveCfg = Release|ARM64
{B1C23D45-6789-4ABC-DEF0-123456789ABC}.Release|x86.Build.0 = Release|ARM64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Loading
Loading