diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
index 48e82f94..7e62d0e2 100644
--- a/.github/workflows/dotnet.yml
+++ b/.github/workflows/dotnet.yml
@@ -20,7 +20,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
- dotnet-version: 8.0.411
+ dotnet-version: 8.0.413
- name: Build
shell: pwsh
run: |
@@ -37,7 +37,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
- dotnet-version: 8.0.411
+ dotnet-version: 8.0.413
- name: Build
shell: pwsh
run: |
@@ -54,7 +54,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
- dotnet-version: 8.0.411
+ dotnet-version: 8.0.413
- name: Build
shell: pwsh
run: |
diff --git a/.pipelines/APIScan.yml b/.pipelines/APIScan.yml
new file mode 100644
index 00000000..f3039c3e
--- /dev/null
+++ b/.pipelines/APIScan.yml
@@ -0,0 +1,101 @@
+# Copyright (c) Microsoft Corporation.
+# Licensed under the MIT License.
+
+name: apiscan-$(BUILD.SOURCEBRANCHNAME)-$(Build.BuildId)
+trigger: none
+
+parameters:
+ - name: FORCE_CODEQL
+ displayName: Debugging - Enable CodeQL and set cadence to 1 hour
+ type: boolean
+ default: false
+ - name: SkipVerifyPackages
+ type: boolean
+ default: false
+
+variables:
+ # PAT permissions NOTE: Declare a SymbolServerPAT variable in this group with a 'microsoft' organizanization scoped PAT with 'Symbols' Read permission.
+ # A PAT in the wrong org will give a single Error 203. No PAT will give a single Error 401, and individual pdbs may be missing even if permissions are correct.
+ - group: symbols
+ - name: ob_outputDirectory
+ value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
+ - name: CDP_DEFINITION_BUILD_COUNT
+ value: $[counter('', 0)]
+ # Defines the variables CgPat, CgOrganization, and CgProject
+ - group: 'ComponentGovernance'
+ - group: 'PoolNames'
+ - name: LinuxContainerImage
+ value: mcr.microsoft.com/onebranch/azurelinux/build:3.0
+ - name: WindowsContainerImage
+ value: onebranch.azurecr.io/windows/ltsc2022/vse2022:latest
+ - ${{ if eq(parameters['FORCE_CODEQL'],'true') }}:
+ # Cadence is hours before CodeQL will allow a re-upload of the database
+ - name: CodeQL.Cadence
+ value: 0
+ - name: CODEQL_ENABLED
+ ${{ if or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), eq(parameters['FORCE_CODEQL'],'true')) }}:
+ value: true
+ ${{ else }}:
+ value: false
+ - name: Codeql.TSAEnabled
+ value: $(CODEQL_ENABLED)
+ # AnalyzeInPipeline: false = upload results
+ # AnalyzeInPipeline: true = do not upload results
+ - name: Codeql.AnalyzeInPipeline
+ value: $(CODEQL_ENABLED)
+
+resources:
+ repositories:
+ - repository: templates
+ type: git
+ name: OneBranch.Pipelines/GovernedTemplates
+ ref: refs/heads/main
+
+extends:
+ template: v2/OneBranch.NonOfficial.CrossPlat.yml@templates
+ parameters:
+ featureFlags:
+ WindowsHostVersion:
+ Version: 2022
+ globalSdl:
+ codeql:
+ compiled:
+ enabled: $(CODEQL_ENABLED)
+ tsaEnabled: $(CODEQL_ENABLED) # This enables TSA bug filing only for CodeQL 3000
+ armory:
+ enabled: false
+ sbom:
+ enabled: false
+ cg:
+ enabled: true
+ ignoreDirectories: 'docs,shell,tools'
+ tsa:
+ enabled: true # onebranch publish all SDL results to TSA. If TSA is disabled all SDL tools will forced into 'break' build mode.
+ credscan:
+ enabled: true
+ scanFolder: $(Build.SourcesDirectory)
+ binskim:
+ break: true # always break the build on binskim issues in addition to TSA upload
+ policheck:
+ break: true # always break the build on policheck issues. You can disable it by setting to 'false'
+ # APIScan requires a non-Ready-To-Run build
+ apiscan:
+ enabled: true
+ softwareName: 'AIShell' # Default is repo name
+ versionNumber: '1.0' # Default is build number
+ isLargeApp: false # Default: false.
+ symbolsFolder: $(SymbolsServerUrl);$(ob_outputDirectory)
+ tsaOptionsFile: .config\tsaoptions.json
+ psscriptanalyzer:
+ enabled: true
+ policyName: Microsoft
+ break: false
+
+ stages:
+ - stage: APIScan
+ displayName: 'ApiScan'
+ dependsOn: []
+ jobs:
+ - template: /.pipelines/templates/compliance/apiscan-build.yaml@self
+ parameters:
+ parentJobs: []
diff --git a/.pipelines/Build-Official.yml b/.pipelines/Build-Official.yml
index 73741184..4cfe6c30 100644
--- a/.pipelines/Build-Official.yml
+++ b/.pipelines/Build-Official.yml
@@ -28,7 +28,7 @@ variables:
- name: BUILDSECMON_OPT_IN
value: true
- name: LinuxContainerImage
- value: mcr.microsoft.com/onebranch/cbl-mariner/build:2.0
+ value: mcr.microsoft.com/onebranch/azurelinux/build:3.0
- name: WindowsContainerImage
value: onebranch.azurecr.io/windows/ltsc2022/vse2022:latest
- name: CDP_DEFINITION_BUILD_COUNT
@@ -68,7 +68,8 @@ extends:
enabled: true
scanFolder: $(Build.SourcesDirectory)
binskim:
- enabled: false
+ enabled: true
+ exactToolVersion: 4.4.2
apiscan:
enabled: false
tsaOptionsFile: .config\tsaoptions.json
diff --git a/.pipelines/Package-Official.yml b/.pipelines/Package-Official.yml
index f08da0b5..11ba2351 100644
--- a/.pipelines/Package-Official.yml
+++ b/.pipelines/Package-Official.yml
@@ -18,7 +18,7 @@ variables:
- name: WindowsContainerImage
value: 'onebranch.azurecr.io/windows/ltsc2022/vse2022:latest' # Docker image which is used to build the project
- name: LinuxContainerImage
- value: mcr.microsoft.com/onebranch/cbl-mariner/build:2.0
+ value: mcr.microsoft.com/onebranch/azurelinux/build:3.0
- group: mscodehub-feed-read-general
- group: mscodehub-feed-read-akv
- name: branchCounterKey
@@ -71,7 +71,8 @@ extends:
enabled: true
scanFolder: $(Build.SourcesDirectory)
binskim:
- enabled: false
+ enabled: true
+ exactToolVersion: 4.4.2
apiscan:
enabled: false
tsaOptionsFile: .config\tsaoptions.json
diff --git a/.pipelines/Release-Official.yml b/.pipelines/Release-Official.yml
index 753b13fb..071bb404 100644
--- a/.pipelines/Release-Official.yml
+++ b/.pipelines/Release-Official.yml
@@ -20,7 +20,7 @@ variables:
- name: WindowsContainerImage
value: 'onebranch.azurecr.io/windows/ltsc2022/vse2022:latest'
- name: LinuxContainerImage
- value: mcr.microsoft.com/onebranch/cbl-mariner/build:2.0
+ value: mcr.microsoft.com/onebranch/azurelinux/build:3.0
resources:
repositories:
diff --git a/.pipelines/templates/compliance/apiscan-build.yaml b/.pipelines/templates/compliance/apiscan-build.yaml
new file mode 100644
index 00000000..39625615
--- /dev/null
+++ b/.pipelines/templates/compliance/apiscan-build.yaml
@@ -0,0 +1,196 @@
+# Copyright (c) Microsoft Corporation.
+# Licensed under the MIT License.
+
+jobs:
+- job: APIScan
+ displayName: APIScan with fxdependent build
+ condition: succeeded()
+ pool:
+ type: windows
+ variables:
+ - name: runCodesignValidationInjection
+ value : false
+ - name: NugetSecurityAnalysisWarningLevel
+ value: none
+ # Defines the variables APIScanClient, APIScanTenant and APIScanSecret
+ - group: PS-PS-APIScan
+ - group: 'Azure Blob variable group'
+ - group: mscodehub-feed-read-general
+ - group: mscodehub-feed-read-akv
+ - name: ob_outputDirectory
+ value: '$(Build.ArtifactStagingDirectory)\ONEBRANCH_ARTIFACT'
+ - name: repoRoot
+ value: $(Build.SourcesDirectory)\AIShell
+ - name: ob_sdl_tsa_configFile
+ value: $(repoRoot)\.config\tsaoptions.json
+ - name: Codeql.SourceRoot
+ value: $(repoRoot)
+
+ # APIScan can take a long time
+ timeoutInMinutes: 180
+
+ steps:
+ - checkout: self
+ clean: true
+ fetchTags: true
+ fetchDepth: 1000
+ displayName: Checkout AIShell
+ retryCountOnTaskFailure: 1
+ env:
+ ob_restore_phase: true # This ensures checkout is done at the beginning of the restore phase
+
+ - template: ..\update-nuget-config.yml@self
+ parameters:
+ repoRoot: $(repoRoot)
+
+ - task: UseDotNet@2
+ displayName: 'Use .NET Core sdk'
+ inputs:
+ useGlobalJson: true
+ packageType: 'sdk'
+ workingDirectory: $(Build.SourcesDirectory)"
+
+ # - pwsh: |
+ # dotnet tool install dotnet-symbol --tool-path $(Agent.ToolsDirectory)\tools\dotnet-symbol
+ # $symbolToolPath = Get-ChildItem -Path $(Agent.ToolsDirectory)\tools\dotnet-symbol\dotnet-symbol.exe | Select-Object -First 1 -ExpandProperty FullName
+ # Write-Host "##vso[task.setvariable variable=symbolToolPath]$symbolToolPath"
+ # displayName: Install dotnet-symbol
+ # workingDirectory: '$(repoRoot)'
+ # retryCountOnTaskFailure: 2
+
+ - task: AzurePowerShell@5
+ displayName: Download winverify-private Artifacts
+ inputs:
+ azureSubscription: az-blob-cicd-infra
+ scriptType: inlineScript
+ azurePowerShellVersion: LatestVersion
+ workingDirectory: '$(repoRoot)'
+ pwsh: true
+ inline: |
+ # download smybols for getfilesiginforedist.dll
+ $storageAccountName = "pscoretestdata"
+ $containerName = 'winverify-private'
+ $winverifySymbolsPath = New-Item -ItemType Directory -Path '$(System.ArtifactsDirectory)\winverify-symbols' -Force
+ $dllName = 'getfilesiginforedist.dll'
+ $winverifySymbolsDllPath = Join-Path $winverifySymbolsPath $dllName
+
+ $context = New-AzStorageContext -StorageAccountName $storageAccountName -UseConnectedAccount
+ Get-AzStorageBlobContent -Container $containerName -Blob $dllName -Destination $winverifySymbolsDllPath -Context $context
+
+ - pwsh: |
+ Get-ChildItem -Path '$(System.ArtifactsDirectory)\winverify-symbols'
+ displayName: Capture winverify-private Artifacts
+ workingDirectory: '$(repoRoot)'
+ condition: succeededOrFailed()
+
+ - task: CodeQL3000Init@0 # Add CodeQL Init task right before your 'Build' step.
+ displayName: 🔏 CodeQL 3000 Init
+ condition: eq(variables['CODEQL_ENABLED'], 'true')
+ inputs:
+ Language: csharp
+
+ - pwsh: |
+ Import-Module '$(repoRoot)\build.psm1' -Force
+ Start-Build -Configuration StaticAnalysis -Runtime fxdependent -Clean -Verbose
+
+ $outputJson = '$(repoRoot)\_build_output_.json'
+ if (-not (Test-Path $outputJson)) {
+ throw "'_build_output_.json' was not produced."
+ }
+
+ $result = Get-Content $outputJson | ConvertFrom-Json
+ $OutputFolder = $result.App
+ Write-Verbose "App path: $OutputFolder" -Verbose
+
+ Write-Verbose -Verbose -Message "Deleting the 'ref' folder ..."
+ if (Test-Path $OutputFolder\ref) {
+ Remove-Item -Recurse -Force $OutputFolder\ref
+ }
+
+ # Only keep windows runtimes
+ Write-Verbose -Verbose -Message "Deleting non-win-x64 runtimes ..."
+ Get-ChildItem -Path "$OutputFolder\runtimes\*" | Where-Object {$_.FullName -notmatch '.*\\runtimes\\win'} | Foreach-Object {
+ Write-Verbose -Verbose -Message "Deleting $($_.FullName)"
+ Remove-Item -Path $_.FullName -Recurse -Force
+ }
+
+ # Remove win-x86/arm/arm64 runtimes due to issues with those runtimes
+ Write-Verbose -Verbose -Message "Temporarily deleting win-x86/arm/arm64 runtimes ..."
+ Get-ChildItem -Path "$OutputFolder\runtimes\*" | Where-Object {$_.FullName -match '.*\\runtimes\\win-(x86|arm)'} | Foreach-Object {
+ Write-Verbose -Verbose -Message "Deleting $($_.FullName)"
+ Remove-Item -Path $_.FullName -Recurse -Force
+ }
+
+ Write-Host
+ Write-Verbose -Verbose -Message "Show content in 'runtimes' folder:"
+ Get-ChildItem -Path "$OutputFolder\runtimes"
+ Write-Host
+
+ # Replace 'getfilesiginforedist.dll' from the 'runtimes\win-x64' folder
+ Write-Verbose -Verbose -Message "Replace 'getfilesiginforedist.dll':"
+ $targetFile = Get-ChildItem -Path "$OutputFolder\runtimes\*" -Recurse | Where-Object {$_.Name -eq 'getfilesiginforedist.dll'}
+ Remove-Item -Path $targetFile.FullName -Verbose
+ Copy-Item -Path '$(System.ArtifactsDirectory)\winverify-symbols\getfilesiginforedist.dll' -Destination $targetFile.FullName -Verbose
+
+ Write-Host "##vso[task.setvariable variable=appPath]$OutputFolder"
+ workingDirectory: '$(repoRoot)'
+ displayName: 'Build AIShell Source'
+
+ - pwsh: |
+ $Destination = '$(ob_outputDirectory)'
+ if (-not (Test-Path $Destination)) {
+ Write-Verbose -Verbose -Message "Creating destination folder '$Destination'"
+ $null = mkdir $Destination
+ }
+
+ Write-Verbose -Verbose -Message "Copy AIShell app to '$Destination':"
+ Copy-Item -Path '$(appPath)\*' -Destination $Destination -Recurse -Verbose
+
+ Write-Host
+ Write-Verbose -Verbose -Message "Show content in '$Destination':"
+ Get-ChildItem -Path $Destination | Out-String -width 150
+ Write-Host
+ Write-Verbose -Verbose -Message "Show content in '$Destination\runtimes':"
+ Get-ChildItem -Path "$Destination\runtimes" -Recurse | Out-String -width 150
+ workingDirectory: '$(repoRoot)'
+ displayName: 'Copy AIShell to ob_outputDirectory'
+
+ - task: CodeQL3000Finalize@0 # Add CodeQL Finalize task right after your 'Build' step.
+ displayName: 🔏 CodeQL 3000 Finalize
+ condition: eq(variables['CODEQL_ENABLED'], 'true')
+
+ - pwsh: |
+ Get-ChildItem -Path env: | Out-String -width 150 -Stream | write-Verbose -Verbose
+ workingDirectory: '$(repoRoot)'
+ displayName: Capture Environment
+ condition: succeededOrFailed()
+
+ # Explicitly download symbols for the drop since the SDL image doesn't have http://SymWeb access and APIScan cannot handle https yet.
+ # - pwsh: |
+ # $pat = '$(SymbolServerPAT)'
+ # if ($pat -like '*PAT*' -or $pat -eq '')
+ # {
+ # throw 'No PAT defined'
+ # }
+ # $url = 'https://microsoft.artifacts.visualstudio.com/defaultcollection/_apis/symbol/symsrv'
+ # $(symbolToolPath) --authenticated-server-path $(SymbolServerPAT) $url --symbols -d "$env:ob_outputDirectory\*" --recurse-subdirectories
+ # displayName: 'Download Symbols for binaries'
+ # retryCountOnTaskFailure: 2
+ # workingDirectory: '$(repoRoot)'
+
+ - pwsh: |
+ Get-ChildItem '$(ob_outputDirectory)' -File -Recurse |
+ Foreach-Object {
+ [pscustomobject]@{
+ Path = $_.FullName
+ Version = $_.VersionInfo.FileVersion
+ Md5Hash = (Get-FileHash -Algorithm MD5 -Path $_.FullName).Hash
+ Sha512Hash = (Get-FileHash -Algorithm SHA512 -Path $_.FullName).Hash
+ }
+ } | Export-Csv -Path '$(Build.SourcesDirectory)\ReleaseFileHash.csv'
+ workingDirectory: '$(repoRoot)'
+ displayName: 'Create release file hash artifact'
+
+ - pwsh: |
+ Copy-Item -Path '$(Build.SourcesDirectory)\ReleaseFileHash.csv' -Destination '$(ob_outputDirectory)' -Verbose
+ displayName: 'Publish Build File Hash artifact'
diff --git a/.pipelines/templates/linux-build.yml b/.pipelines/templates/linux-build.yml
index 4290cc18..c15e8db6 100644
--- a/.pipelines/templates/linux-build.yml
+++ b/.pipelines/templates/linux-build.yml
@@ -21,8 +21,6 @@ jobs:
value: false
- name: ob_sdl_codeSignValidation_enabled
value: false
- - name: ob_sdl_binskim_enabled
- value: true
- name: ob_sdl_tsa_configFile
value: $(repoRoot)\.config\tsaoptions.json
- name: Architecture
diff --git a/.pipelines/templates/linux-package.yml b/.pipelines/templates/linux-package.yml
index 58ab6aab..5eb9376c 100644
--- a/.pipelines/templates/linux-package.yml
+++ b/.pipelines/templates/linux-package.yml
@@ -26,8 +26,6 @@ jobs:
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
- name: repoRoot
value: $(Build.SourcesDirectory)/AIShell
- - name: ob_sdl_binskim_enabled
- value: true
- name: ob_sdl_tsa_configFile
value: $(repoRoot)/.config/tsaoptions.json
- name: Architecture
diff --git a/.pipelines/templates/mac-package.yml b/.pipelines/templates/mac-package.yml
index fdee5161..48f1b2cd 100644
--- a/.pipelines/templates/mac-package.yml
+++ b/.pipelines/templates/mac-package.yml
@@ -29,8 +29,6 @@ jobs:
value: false
- name: ob_outputDirectory
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
- - name: ob_sdl_binskim_enabled
- value: true
- name: repoRoot
value: $(Build.SourcesDirectory)
- name: Architecture
diff --git a/.pipelines/templates/module-build.yml b/.pipelines/templates/module-build.yml
index 48844113..6f2d6c6e 100644
--- a/.pipelines/templates/module-build.yml
+++ b/.pipelines/templates/module-build.yml
@@ -18,8 +18,6 @@ jobs:
value: false
- name: ob_sdl_codeSignValidation_enabled
value: false
- - name: ob_sdl_binskim_enabled
- value: true
- name: ob_sdl_tsa_configFile
value: $(repoRoot)\.config\tsaoptions.json
#CodeQL tasks added manually to workaround signing failures
diff --git a/.pipelines/templates/module-package.yml b/.pipelines/templates/module-package.yml
index 22badf81..b044bb92 100644
--- a/.pipelines/templates/module-package.yml
+++ b/.pipelines/templates/module-package.yml
@@ -22,8 +22,6 @@ jobs:
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
- name: repoRoot
value: $(Build.SourcesDirectory)/AIShell
- - name: ob_sdl_binskim_enabled
- value: true
- name: ob_sdl_tsa_configFile
value: $(repoRoot)/.config/tsaoptions.json
- name: ob_signing_setup_enabled
diff --git a/.pipelines/templates/nupkg-package.yml b/.pipelines/templates/nupkg-package.yml
index b4ff8db9..d2fd2502 100644
--- a/.pipelines/templates/nupkg-package.yml
+++ b/.pipelines/templates/nupkg-package.yml
@@ -18,8 +18,6 @@ jobs:
value: '$(Build.ArtifactStagingDirectory)\ONEBRANCH_ARTIFACT'
- name: repoRoot
value: $(Build.SourcesDirectory)\AIShell
- - name: ob_sdl_binskim_enabled
- value: true
- name: ob_sdl_tsa_configFile
value: $(repoRoot)\.config\tsaoptions.json
- group: mscodehub-feed-read-general
diff --git a/.pipelines/templates/windows-build.yml b/.pipelines/templates/windows-build.yml
index 09258ba5..3a83b6c1 100644
--- a/.pipelines/templates/windows-build.yml
+++ b/.pipelines/templates/windows-build.yml
@@ -20,8 +20,6 @@ jobs:
value: $(Build.SourcesDirectory)\AIShell
- name: ob_sdl_codeSignValidation_enabled
value: false
- - name: ob_sdl_binskim_enabled
- value: true
- name: ob_sdl_tsa_configFile
value: $(repoRoot)\.config\tsaoptions.json
- name: Architecture
diff --git a/.pipelines/templates/windows-package.yml b/.pipelines/templates/windows-package.yml
index 8bc82090..b06f3cff 100644
--- a/.pipelines/templates/windows-package.yml
+++ b/.pipelines/templates/windows-package.yml
@@ -27,8 +27,6 @@ jobs:
value: '$(Build.ArtifactStagingDirectory)\ONEBRANCH_ARTIFACT'
- name: repoRoot
value: $(Build.SourcesDirectory)\AIShell
- - name: ob_sdl_binskim_enabled
- value: true
- name: ob_sdl_tsa_configFile
value: $(repoRoot)\.config\tsaoptions.json
- name: Architecture
diff --git a/build.psm1 b/build.psm1
index f84f5de3..cedb657e 100644
--- a/build.psm1
+++ b/build.psm1
@@ -13,11 +13,11 @@ function Start-Build
[CmdletBinding()]
param (
[Parameter()]
- [ValidateSet('Debug', 'Release')]
+ [ValidateSet('Debug', 'Release', 'StaticAnalysis')]
[string] $Configuration = "Debug",
[Parameter()]
- [ValidateSet('win-x86', 'win-x64', 'win-arm64', 'linux-x64', 'linux-arm64', 'osx-x64', 'osx-arm64')]
+ [ValidateSet('win-x86', 'win-x64', 'win-arm64', 'linux-x64', 'linux-arm64', 'osx-x64', 'osx-arm64', 'fxdependent')]
[string] $Runtime = [NullString]::Value,
[Parameter()]
@@ -97,7 +97,11 @@ function Start-Build
Write-Host "`n[Build AI Shell ...]`n" -ForegroundColor Green
$app_csproj = GetProjectFile $app_dir
- dotnet publish $app_csproj -c $Configuration -o $app_out_dir -r $RID --sc
+ if ($RID -eq 'fxdependent') {
+ dotnet publish $app_csproj -c $Configuration -o $app_out_dir --no-self-contained
+ } else {
+ dotnet publish $app_csproj -c $Configuration -o $app_out_dir -r $RID --sc
+ }
## Move the 'Modules' folder to the appbase folder.
if ($LASTEXITCODE -eq 0) {
diff --git a/global.json b/global.json
index e5f41726..1b22b198 100644
--- a/global.json
+++ b/global.json
@@ -1,5 +1,5 @@
{
"sdk": {
- "version": "8.0.411"
+ "version": "8.0.413"
}
}
diff --git a/shell/AIShell.Integration/AIShell.psd1 b/shell/AIShell.Integration/AIShell.psd1
index 7b7542e1..5e207637 100644
--- a/shell/AIShell.Integration/AIShell.psd1
+++ b/shell/AIShell.Integration/AIShell.psd1
@@ -1,7 +1,7 @@
@{
RootModule = 'AIShell.psm1'
NestedModules = @("AIShell.Integration.dll")
- ModuleVersion = '1.0.6'
+ ModuleVersion = '1.0.7'
GUID = 'ECB8BEE0-59B9-4DAE-9D7B-A990B480279A'
Author = 'Microsoft Corporation'
CompanyName = 'Microsoft Corporation'
@@ -14,5 +14,5 @@
VariablesToExport = '*'
AliasesToExport = @('aish', 'askai', 'fixit', 'airun')
HelpInfoURI = 'https://aka.ms/aishell-help'
- PrivateData = @{ PSData = @{ Prerelease = 'preview6'; ProjectUri = 'https://github.com/PowerShell/AIShell' } }
+ PrivateData = @{ PSData = @{ Prerelease = 'preview7'; ProjectUri = 'https://github.com/PowerShell/AIShell' } }
}
diff --git a/shell/agents/AIShell.Interpreter.Agent/AIShell.Interpreter.Agent.csproj b/shell/agents/AIShell.Interpreter.Agent/AIShell.Interpreter.Agent.csproj
index d5e56a51..e8e3285c 100644
--- a/shell/agents/AIShell.Interpreter.Agent/AIShell.Interpreter.Agent.csproj
+++ b/shell/agents/AIShell.Interpreter.Agent/AIShell.Interpreter.Agent.csproj
@@ -13,6 +13,13 @@
false
None
+ true
+
+
+
+ true
+
+ full
diff --git a/shell/agents/AIShell.Ollama.Agent/AIShell.Ollama.Agent.csproj b/shell/agents/AIShell.Ollama.Agent/AIShell.Ollama.Agent.csproj
index 3e7464d1..044e7bcc 100644
--- a/shell/agents/AIShell.Ollama.Agent/AIShell.Ollama.Agent.csproj
+++ b/shell/agents/AIShell.Ollama.Agent/AIShell.Ollama.Agent.csproj
@@ -14,6 +14,13 @@
false
None
+ true
+
+
+
+ true
+
+ full
diff --git a/shell/agents/AIShell.OpenAI.Agent/AIShell.OpenAI.Agent.csproj b/shell/agents/AIShell.OpenAI.Agent/AIShell.OpenAI.Agent.csproj
index c9d9a0da..abd985ec 100644
--- a/shell/agents/AIShell.OpenAI.Agent/AIShell.OpenAI.Agent.csproj
+++ b/shell/agents/AIShell.OpenAI.Agent/AIShell.OpenAI.Agent.csproj
@@ -13,6 +13,13 @@
false
None
+ true
+
+
+
+ true
+
+ full
diff --git a/shell/agents/Microsoft.Azure.Agent/Microsoft.Azure.Agent.csproj b/shell/agents/Microsoft.Azure.Agent/Microsoft.Azure.Agent.csproj
index d264f12a..98cb3385 100644
--- a/shell/agents/Microsoft.Azure.Agent/Microsoft.Azure.Agent.csproj
+++ b/shell/agents/Microsoft.Azure.Agent/Microsoft.Azure.Agent.csproj
@@ -13,6 +13,13 @@
false
None
+ true
+
+
+
+ true
+
+ full
diff --git a/shell/shell.common.props b/shell/shell.common.props
index 823ef2ea..b122203f 100644
--- a/shell/shell.common.props
+++ b/shell/shell.common.props
@@ -8,7 +8,7 @@
net8.0
enable
12.0
- 1.0.0-preview.6
+ 1.0.0-preview.7
true
true
@@ -24,4 +24,10 @@
true
+
+ true
+
+ full
+
+