Add Authority Advisory AI and API Lifecycle Configuration
- Introduced AuthorityAdvisoryAiOptions and related classes for managing advisory AI configurations, including remote inference options and tenant-specific settings. - Added AuthorityApiLifecycleOptions to control API lifecycle settings, including legacy OAuth endpoint configurations. - Implemented validation and normalization methods for both advisory AI and API lifecycle options to ensure proper configuration. - Created AuthorityNotificationsOptions and its related classes for managing notification settings, including ack tokens, webhooks, and escalation options. - Developed IssuerDirectoryClient and related models for interacting with the issuer directory service, including caching mechanisms and HTTP client configurations. - Added support for dependency injection through ServiceCollectionExtensions for the Issuer Directory Client. - Updated project file to include necessary package references for the new Issuer Directory Client library.
This commit is contained in:
		@@ -90,11 +90,16 @@ def clean_directory(path: Path) -> None:
 | 
			
		||||
    path.mkdir(parents=True, exist_ok=True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def run_python_analyzer_smoke() -> None:
 | 
			
		||||
    script = REPO_ROOT / "ops" / "offline-kit" / "run-python-analyzer-smoke.sh"
 | 
			
		||||
    run(["bash", str(script)], cwd=REPO_ROOT)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def run_python_analyzer_smoke() -> None:
 | 
			
		||||
    script = REPO_ROOT / "ops" / "offline-kit" / "run-python-analyzer-smoke.sh"
 | 
			
		||||
    run(["bash", str(script)], cwd=REPO_ROOT)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def run_rust_analyzer_smoke() -> None:
 | 
			
		||||
    script = REPO_ROOT / "ops" / "offline-kit" / "run-rust-analyzer-smoke.sh"
 | 
			
		||||
    run(["bash", str(script)], cwd=REPO_ROOT)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def copy_if_exists(source: Path, target: Path) -> None:
 | 
			
		||||
    if source.is_dir():
 | 
			
		||||
        shutil.copytree(source, target, dirs_exist_ok=True)
 | 
			
		||||
@@ -304,10 +309,11 @@ def build_offline_kit(args: argparse.Namespace) -> MutableMapping[str, Any]:
 | 
			
		||||
    staging_dir = args.staging_dir.resolve()
 | 
			
		||||
    output_dir = args.output_dir.resolve()
 | 
			
		||||
 | 
			
		||||
    verify_release(release_dir)
 | 
			
		||||
    if not args.skip_smoke:
 | 
			
		||||
        run_python_analyzer_smoke()
 | 
			
		||||
    clean_directory(staging_dir)
 | 
			
		||||
    verify_release(release_dir)
 | 
			
		||||
    if not args.skip_smoke:
 | 
			
		||||
        run_rust_analyzer_smoke()
 | 
			
		||||
        run_python_analyzer_smoke()
 | 
			
		||||
    clean_directory(staging_dir)
 | 
			
		||||
    copy_debug_store(release_dir, staging_dir)
 | 
			
		||||
 | 
			
		||||
    manifest_data = load_manifest(release_dir)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,36 +1,36 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -euo pipefail
 | 
			
		||||
 | 
			
		||||
repo_root="$(git -C "${BASH_SOURCE%/*}/.." rev-parse --show-toplevel 2>/dev/null || pwd)"
 | 
			
		||||
project_path="${repo_root}/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/StellaOps.Scanner.Analyzers.Lang.Python.csproj"
 | 
			
		||||
output_dir="${repo_root}/out/analyzers/python"
 | 
			
		||||
plugin_dir="${repo_root}/plugins/scanner/analyzers/lang/StellaOps.Scanner.Analyzers.Lang.Python"
 | 
			
		||||
 | 
			
		||||
to_win_path() {
 | 
			
		||||
  if command -v wslpath >/dev/null 2>&1; then
 | 
			
		||||
    wslpath -w "$1"
 | 
			
		||||
  else
 | 
			
		||||
    printf '%s\n' "$1"
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
rm -rf "${output_dir}"
 | 
			
		||||
project_path_win="$(to_win_path "$project_path")"
 | 
			
		||||
output_dir_win="$(to_win_path "$output_dir")"
 | 
			
		||||
 | 
			
		||||
dotnet publish "$project_path_win" \
 | 
			
		||||
  --configuration Release \
 | 
			
		||||
  --output "$output_dir_win" \
 | 
			
		||||
  --self-contained false
 | 
			
		||||
 | 
			
		||||
mkdir -p "${plugin_dir}"
 | 
			
		||||
cp "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.dll" "${plugin_dir}/"
 | 
			
		||||
if [[ -f "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.pdb" ]]; then
 | 
			
		||||
  cp "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.pdb" "${plugin_dir}/"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
repo_root_win="$(to_win_path "$repo_root")"
 | 
			
		||||
exec dotnet run \
 | 
			
		||||
  --project "${repo_root_win}/src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmoke.csproj" \
 | 
			
		||||
  --configuration Release \
 | 
			
		||||
  -- --repo-root "${repo_root_win}"
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -euo pipefail
 | 
			
		||||
 | 
			
		||||
repo_root="$(git -C "${BASH_SOURCE%/*}/.." rev-parse --show-toplevel 2>/dev/null || pwd)"
 | 
			
		||||
project_path="${repo_root}/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/StellaOps.Scanner.Analyzers.Lang.Python.csproj"
 | 
			
		||||
output_dir="${repo_root}/out/analyzers/python"
 | 
			
		||||
plugin_dir="${repo_root}/plugins/scanner/analyzers/lang/StellaOps.Scanner.Analyzers.Lang.Python"
 | 
			
		||||
 | 
			
		||||
to_win_path() {
 | 
			
		||||
  if command -v wslpath >/dev/null 2>&1; then
 | 
			
		||||
    wslpath -w "$1"
 | 
			
		||||
  else
 | 
			
		||||
    printf '%s\n' "$1"
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
rm -rf "${output_dir}"
 | 
			
		||||
project_path_win="$(to_win_path "$project_path")"
 | 
			
		||||
output_dir_win="$(to_win_path "$output_dir")"
 | 
			
		||||
 | 
			
		||||
dotnet publish "$project_path_win" \
 | 
			
		||||
  --configuration Release \
 | 
			
		||||
  --output "$output_dir_win" \
 | 
			
		||||
  --self-contained false
 | 
			
		||||
 | 
			
		||||
mkdir -p "${plugin_dir}"
 | 
			
		||||
cp "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.dll" "${plugin_dir}/"
 | 
			
		||||
if [[ -f "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.pdb" ]]; then
 | 
			
		||||
  cp "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.pdb" "${plugin_dir}/"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
repo_root_win="$(to_win_path "$repo_root")"
 | 
			
		||||
exec dotnet run \
 | 
			
		||||
  --project "${repo_root_win}/src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmoke.csproj" \
 | 
			
		||||
  --configuration Release \
 | 
			
		||||
  -- --repo-root "${repo_root_win}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								ops/offline-kit/run-rust-analyzer-smoke.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								ops/offline-kit/run-rust-analyzer-smoke.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -euo pipefail
 | 
			
		||||
 | 
			
		||||
repo_root="$(git -C "${BASH_SOURCE%/*}/.." rev-parse --show-toplevel 2>/dev/null || pwd)"
 | 
			
		||||
project_path="${repo_root}/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Rust/StellaOps.Scanner.Analyzers.Lang.Rust.csproj"
 | 
			
		||||
output_dir="${repo_root}/out/analyzers/rust"
 | 
			
		||||
plugin_dir="${repo_root}/plugins/scanner/analyzers/lang/StellaOps.Scanner.Analyzers.Lang.Rust"
 | 
			
		||||
 | 
			
		||||
to_win_path() {
 | 
			
		||||
  if command -v wslpath >/dev/null 2>&1; then
 | 
			
		||||
    wslpath -w "$1"
 | 
			
		||||
  else
 | 
			
		||||
    printf '%s\n' "$1"
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
rm -rf "${output_dir}"
 | 
			
		||||
project_path_win="$(to_win_path "$project_path")"
 | 
			
		||||
output_dir_win="$(to_win_path "$output_dir")"
 | 
			
		||||
 | 
			
		||||
dotnet publish "$project_path_win" \
 | 
			
		||||
  --configuration Release \
 | 
			
		||||
  --output "$output_dir_win" \
 | 
			
		||||
  --self-contained false
 | 
			
		||||
 | 
			
		||||
mkdir -p "${plugin_dir}"
 | 
			
		||||
cp "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Rust.dll" "${plugin_dir}/"
 | 
			
		||||
if [[ -f "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Rust.pdb" ]]; then
 | 
			
		||||
  cp "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Rust.pdb" "${plugin_dir}/"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
repo_root_win="$(to_win_path "$repo_root")"
 | 
			
		||||
exec dotnet run \
 | 
			
		||||
  --project "${repo_root_win}/src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmoke.csproj" \
 | 
			
		||||
  --configuration Release \
 | 
			
		||||
  -- --repo-root "${repo_root_win}" \
 | 
			
		||||
     --analyzer rust
 | 
			
		||||
		Reference in New Issue
	
	Block a user