mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-04 04:53:37 +00:00
Resolved 29 conflicting files. The notable decisions: Confidence: main's tool-calling gate (RequiredProviderConfidence) and this branch's local-RAG gate (DataConfidenceLevel) turned out to be the same rule on the same axis, so they are now one field. Both tool results and data sources raise it through RequireProviderConfidence(). The gate checks the level strictly and no longer exempts providers trusted by configuration: TrustedProviderIds is documented as applying to data-source security checks only, and organizations set confidence through DataConfidence .CustomConfidenceScheme instead. The security axis (DataSecurity, ERI, IsTrustedForDataSourceSecurityChecks) is unchanged. Provider creation: main's CreateProvider signature won (hfEndpointKind, capabilityOverrides, no model parameter); tokenizerPath was added to it and is set for every provider, including the new Hetzner, IONOS and LiteLLM. Provider and EmbeddingProvider combine the record parameters, Lua parsing and Lua serialization of both sides. File types: main's hierarchy (ODT leaf, WORD parent, PowerPoint without the legacy .ppt, TABULAR instead of DELIMITED_TABLE) plus this branch's SPREADSHEET parent with ODS and the xlsm/xlsb/xla/xlam extensions, which the runtime already reads. Both sides had added a conflicting HTML filter; the reading family keeps the name, and the export path uses a narrow HTML_DOCUMENT, following the existing LATEX/TEX split. Runtime: main's file_data.rs is the base, including the prompt-injection sanitizer and the extraction routes. Token counting and chunk segmentation moved into take_released, so they act on the text the filter has released rather than on text it is still holding. A failed count is logged and left out instead of ending the extraction, because the app counts such a segment itself. Data sources: the participating-provider checks of this branch are kept, and main's GetAllowedDataSources overload now builds on them. DirectChatService resolves the launched chat's data source options before the check, so filter and chat see the same options. .NET and Rust both build clean; I18N regenerated to 4060 keys.
141 lines
8.5 KiB
XML
141 lines
8.5 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
<!-- Using Microsoft.Build.Tasks.Core.dll to be able to read files -->
|
|
<UsingTask TaskName="ReadLinesFromFile" AssemblyFile="$(MSBuildBinPath)\Microsoft.Build.Tasks.Core.dll" />
|
|
|
|
<PropertyGroup>
|
|
<Authors>Thorsten Sommer</Authors>
|
|
<TargetFramework>net9.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<WarningsAsErrors>CS8600;CS8602;CS8603</WarningsAsErrors>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<RootNamespace>AIStudio</RootNamespace>
|
|
<AssemblyName>mindworkAIStudio</AssemblyName>
|
|
|
|
<PublishSingleFile>true</PublishSingleFile> <!-- Publish as single file -->
|
|
<SelfContained>true</SelfContained> <!-- Publish as self-contained; requires no .NET runtime installed on the target machine -->
|
|
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract> <!-- Include native libraries for self-extract -->
|
|
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest> <!-- Generate embedded files manifest -->
|
|
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> <!-- Restore packages with lock file; needed for caching NuGet packages-->
|
|
|
|
<PublishTrimmed>true</PublishTrimmed> <!-- Publish with trimming, to reduce size -->
|
|
<TrimMode>partial</TrimMode> <!-- Trim unused assemblies, but keep all assemblies referenced by the project -->
|
|
<TrimmerRemoveSymbols>true</TrimmerRemoveSymbols> <!-- Remove debug symbols -->
|
|
<EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization> <!-- Remove unsafe binary formatter serialization -->
|
|
<EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding> <!-- Remove unsafe UTF7 encoding -->
|
|
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault> <!-- Enable reflection for JSON serialization -->
|
|
<SuppressTrimAnalysisWarnings>true</SuppressTrimAnalysisWarnings> <!-- Suppress trim analysis warnings -->
|
|
|
|
<!--
|
|
The Web SDK defaults to server GC. AI Studio is a single-user desktop app, though: workstation
|
|
GC collects earlier and returns the memory to the OS sooner. This matters for devices with
|
|
little RAM, e.g., a Raspberry Pi. Please note that we override an SDK default here, so this is
|
|
not a redundant repetition of the default value.
|
|
-->
|
|
<ServerGarbageCollection>false</ServerGarbageCollection>
|
|
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
|
|
|
|
<!--
|
|
IL2026: Usage of methods marked as RequiresUnreferencedCode. None issue here, since we use partial trim mode, though.
|
|
CS8974: Converting method group to non-delegate type; Did you intend to invoke the method? We have this issue with MudBlazor validation methods.
|
|
-->
|
|
<NoWarn>IL2026, CS8974</NoWarn>
|
|
<LangVersion>latest</LangVersion>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Remove some files from the solution view -->
|
|
<None Remove="Properties\launchSettings.json" />
|
|
<None Remove="build.nu" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="wwwroot\**" CopyToOutputDirectory="PreserveNewest" />
|
|
<EmbeddedResource Include="Plugins\**" CopyToOutputDirectory="PreserveNewest" />
|
|
<EmbeddedResource Include="Assistants\I18N\allTexts.lua" CopyToOutputDirectory="PreserveNewest" />
|
|
<EmbeddedResource Include="Assistants\PromptOptimizer\prompting_guideline.md" CopyToOutputDirectory="PreserveNewest" />
|
|
<EmbeddedResource Include="Assistants\Builder\AssistantBuilderLuaResponse.schema.json" CopyToOutputDirectory="PreserveNewest" />
|
|
<EmbeddedResource Include="Assistants\VisualBriefing\Runtime\echarts.common.min.js" CopyToOutputDirectory="PreserveNewest" />
|
|
<EmbeddedResource Include="..\..\runtime\icons\128x128.png" LogicalName="AIStudio.Assistants.VisualBriefing.Runtime.mindwork-ai-studio-icon.png" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="8.3.0" />
|
|
<PackageReference Include="HtmlAgilityPack" Version="1.12.4" />
|
|
<PackageReference Include="Microsoft.Data.Sqlite.Core" Version="9.0.19" />
|
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.19" />
|
|
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.19" />
|
|
<PackageReference Include="MudBlazor" Version="8.15.0" />
|
|
<PackageReference Include="MudBlazor.Markdown" Version="8.11.0" />
|
|
<PackageReference Include="ReverseMarkdown" Version="5.0.0" />
|
|
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="3.0.5" />
|
|
<PackageReference Include="LuaCSharp" Version="0.5.6" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\SharedTools\SharedTools.csproj" />
|
|
<ProjectReference Include="..\SourceCodeRules\SourceCodeRules\SourceCodeRules.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
|
|
<ProjectReference Include="..\SourceGeneratedMappings\SourceGeneratedMappings.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Folder Include="Plugins\assistants\assets\" />
|
|
</ItemGroup>
|
|
|
|
<!-- Read the meta data file -->
|
|
<Target Name="ReadMetaData" BeforeTargets="BeforeBuild">
|
|
<Error Text="The ../../metadata.txt file was not found!" Condition="!Exists('../../metadata.txt')" />
|
|
|
|
<ReadLinesFromFile File="../../metadata.txt">
|
|
<Output TaskParameter="Lines" PropertyName="Metadata" />
|
|
</ReadLinesFromFile>
|
|
|
|
<PropertyGroup>
|
|
<MetaVersion>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 0 ])</MetaVersion>
|
|
<MetaBuildTime>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 1 ])</MetaBuildTime>
|
|
<MetaBuild>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 2 ])</MetaBuild>
|
|
<MetaDotnetSdkVersion>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 3 ])</MetaDotnetSdkVersion>
|
|
<MetaDotnetVersion>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 4 ])</MetaDotnetVersion>
|
|
<MetaRustVersion>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 5 ])</MetaRustVersion>
|
|
<MetaMudBlazorVersion>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 6 ])</MetaMudBlazorVersion>
|
|
<MetaTauriVersion>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 7 ])</MetaTauriVersion>
|
|
<MetaAppCommitHash>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 8 ])</MetaAppCommitHash>
|
|
<MetaArchitecture>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 9 ])</MetaArchitecture>
|
|
<MetaPdfiumVersion>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 10 ])</MetaPdfiumVersion>
|
|
<MetaVectorStoreVersion>$([System.String]::Copy( $(Metadata) ).Split( ';' )[ 11 ])</MetaVectorStoreVersion>
|
|
|
|
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
|
|
|
|
<AssemblyVersion>$(MetaVersion)</AssemblyVersion>
|
|
<FileVersion>$(MetaVersion)</FileVersion>
|
|
<InformationalVersion>$(MetaVersion)</InformationalVersion>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<AssemblyAttribute Include="AIStudio.Tools.Metadata.MetaData">
|
|
<_Parameter1>$(MetaVersion)</_Parameter1>
|
|
<_Parameter2>$(MetaBuildTime)</_Parameter2>
|
|
<_Parameter3>$(MetaBuild)</_Parameter3>
|
|
<_Parameter3_TypeName>System.UInt32</_Parameter3_TypeName>
|
|
<_Parameter4>$(MetaDotnetSdkVersion)</_Parameter4>
|
|
<_Parameter5>$(MetaDotnetVersion)</_Parameter5>
|
|
<_Parameter6>$(MetaRustVersion)</_Parameter6>
|
|
<_Parameter7>$(MetaMudBlazorVersion)</_Parameter7>
|
|
<_Parameter8>$(MetaTauriVersion)</_Parameter8>
|
|
<_Parameter9>$(MetaAppCommitHash)</_Parameter9>
|
|
</AssemblyAttribute>
|
|
<AssemblyAttribute Include="AIStudio.Tools.Metadata.MetaDataArchitecture">
|
|
<_Parameter1>$(MetaArchitecture)</_Parameter1>
|
|
</AssemblyAttribute>
|
|
<AssemblyAttribute Include="AIStudio.Tools.Metadata.MetaDataLibraries">
|
|
<_Parameter1>$(MetaPdfiumVersion)</_Parameter1>
|
|
</AssemblyAttribute>
|
|
<AssemblyAttribute Include="AIStudio.Tools.Metadata.MetaDataVectorStore">
|
|
<_Parameter1>$(MetaVectorStoreVersion)</_Parameter1>
|
|
</AssemblyAttribute>
|
|
</ItemGroup>
|
|
|
|
</Target>
|
|
|
|
</Project>
|