first commit

This commit is contained in:
2026-07-17 17:45:56 +08:00
commit 04c487823b
5873 changed files with 12227228 additions and 0 deletions
+107
View File
@@ -0,0 +1,107 @@
# Agent4
Agent4 is a rebuilt learning and assessment platform for SolidWorks modeling and ANSYS simulation education.
It separates the product into these roles:
- Knowledge standards: standard answers, extracted skillflows, teaching scripts, and assessment rules.
- Learning controller: teaching and testing sessions.
- C# backend: learning/testing API, SolidWorks extraction orchestration, and method-sensitive grading.
- Extractors: SolidWorks part and assembly feature extraction tools.
- Grader: compares student extracted operations with standard answers.
- Web workbench: teaching/testing UI.
## Current Scope
This first rebuild focuses on SolidWorks feature-process learning:
1. Search standard answers from the reducer knowledge framework and local skillflow JSON files.
2. Start a teaching session from a standard answer.
3. Generate step voice text from the expected SolidWorks feature operation.
4. Accept observed student steps or extract a submitted `.SLDPRT`.
5. Compare feature method and core parameters.
6. Start a testing session and produce a grade report.
## Run Backend
```powershell
cd D:\CSharpProjects\agent3\agent4
.\run_backend.ps1
```
Backend URL:
```text
http://127.0.0.1:7200
```
The default backend is now the C# API:
```text
backend-csharp/Agent4.Api
```
The earlier Python FastAPI backend remains as a fallback/reference and can be started with:
```powershell
.\run_backend_python.ps1
```
## Important APIs
```text
GET /health
GET /api/standards?query=榻胯疆
GET /api/standards/{standard_id}
POST /api/teaching/sessions
POST /api/teaching/sessions/{session_id}/observations
POST /api/teaching/sessions/{session_id}/audit-part
POST /api/testing/sessions
POST /api/testing/sessions/{session_id}/submit
```
## Extractor Tools
The rebuilt project copies the existing extraction tools into:
```text
tools/modeling-process/PartFeatureAudit
tools/modeling-process/AssemblyKnowledgeAudit
```
`PartFeatureAudit` is the core for method-sensitive judgment. It can distinguish feature methods such as boss extrude, cut extrude, shell, loft, sweep, hole wizard, mirror, fillet, chamfer, linear pattern, and circular pattern.
## Import Standard Records
Extracted records such as `*_modeling_plan.json`, `*_skill_flow.json`, and
`*_skill_flow_validation.json` should be imported as standard-answer assets:
```powershell
cd D:\CSharpProjects\agent3
.\.venv\Scripts\python.exe agent4\scripts\import_standard_records.py --source "D:\Desktop\鎻愬彇璁板綍" --target "D:\CSharpProjects\agent3\agent4\data\standards"
```
The importer copies records into categorized folders and writes:
```text
agent4/data/standards/manifest.json
```
The manifest is the main lookup index for teaching and testing. The raw JSON
files remain the authority for executable and comparable feature traces.
## Architecture Direction
Agent4 should judge student work from extracted SolidWorks feature traces, not from UI button clicks.
```text
standard answer skillflow
-> expected feature trace
student model or operation
-> extracted feature trace
grader
-> teaching feedback or test score
```
Final geometry comparison is secondary. Feature method correctness is primary for teaching.
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<NoWarn>$(NoWarn);CA1416</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="SolidWorks.Interop.sldworks" Version="32.1.0" />
<PackageReference Include="SolidWorks.Interop.swconst" Version="32.1.0" />
</ItemGroup>
</Project>
@@ -0,0 +1,149 @@
using System.Globalization;
using System.Text.RegularExpressions;
static class DimensionalToleranceParser
{
static readonly Regex FitDesignationRegex = new(
@"(?<![A-Za-z])(?<letters>[A-Za-z]{1,2})\s*(?<grade>01|0|1[0-8]|[1-9])(?!\d)",
RegexOptions.Compiled | RegexOptions.CultureInvariant);
static readonly Regex ExplicitDeviationRegex = new(
@"\(\s*(?<upper>[+\-]?\s*\d+(?:[.,]\d+)?)\s*/\s*(?<lower>[+\-]?\s*\d+(?:[.,]\d+)?)\s*\)",
RegexOptions.Compiled | RegexOptions.CultureInvariant);
static readonly Regex PlusMinusRegex = new(
@"[±]\s*(?<value>\d+(?:[.,]\d+)?)",
RegexOptions.Compiled | RegexOptions.CultureInvariant);
public static Dictionary<string, object?> Parse(
string text,
string rawText = "",
double? measurement = null,
string objectName = "")
{
var normalized = Normalize(text);
var dimensionKind = DetectDimensionKind(normalized, objectName);
var nominal = ExtractNominalSize(normalized, measurement, dimensionKind);
var designations = ExtractFitDesignations(normalized);
var deviations = ExtractDeviations(normalized);
var warnings = new List<string>();
if (dimensionKind == "radius" && designations.Count > 0)
warnings.Add("fit_designation_applied_to_radius_dimension");
if (designations.Count == 1)
warnings.Add("single_tolerance_designation_does_not_define_complete_hole_shaft_fit");
if (nominal == null)
warnings.Add("nominal_size_not_parsed");
var hole = designations.FirstOrDefault(item => Equals(item["role"], "hole"));
var shaft = designations.FirstOrDefault(item => Equals(item["role"], "shaft"));
var fitCode = string.Join("/", designations.Select(item => Convert.ToString(item["designation"], CultureInfo.InvariantCulture)));
return new Dictionary<string, object?>(StringComparer.OrdinalIgnoreCase)
{
["dimension_kind"] = dimensionKind,
["nominal_size_mm"] = nominal,
["interface_diameter_mm"] = nominal == null ? null : dimensionKind == "radius" ? nominal * 2 : nominal,
["fit_code"] = string.IsNullOrWhiteSpace(fitCode) ? null : fitCode,
["fit_grade"] = string.IsNullOrWhiteSpace(fitCode) ? null : fitCode,
["fit_designations"] = designations,
["hole_tolerance_designation"] = hole?["designation"],
["shaft_tolerance_designation"] = shaft?["designation"],
["fit_completeness"] = hole != null && shaft != null ? "hole_and_shaft_pair" : designations.Count > 0 ? "single_designation" : "none",
["upper_deviation_mm"] = deviations.Upper,
["lower_deviation_mm"] = deviations.Lower,
["deviation_source"] = deviations.Source,
["raw_text"] = rawText,
["text"] = normalized,
["parse_warnings"] = warnings
};
}
public static bool LooksLikeTolerance(string rawText, string text)
{
var merged = rawText + " " + text;
return merged.Contains(@"\S", StringComparison.OrdinalIgnoreCase) ||
FitDesignationRegex.IsMatch(Normalize(merged)) ||
Regex.IsMatch(merged, @"[+\-±]\s*\d+(?:\.\d+)?", RegexOptions.CultureInvariant);
}
static List<Dictionary<string, object?>> ExtractFitDesignations(string text)
{
var result = new List<Dictionary<string, object?>>();
foreach (Match match in FitDesignationRegex.Matches(text))
{
var letters = match.Groups["letters"].Value;
var grade = match.Groups["grade"].Value;
var role = letters == letters.ToUpperInvariant()
? "hole"
: letters == letters.ToLowerInvariant()
? "shaft"
: "unknown";
result.Add(new Dictionary<string, object?>
{
["designation"] = letters + grade,
["fundamental_deviation"] = letters,
["it_grade"] = grade,
["role"] = role
});
}
return result;
}
static string DetectDimensionKind(string text, string objectName)
{
if (Regex.IsMatch(text, @"^\s*R\s*\d", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant) ||
objectName.Contains("RadialDimension", StringComparison.OrdinalIgnoreCase))
return "radius";
if (text.IndexOfAny(['Φ', 'φ', '⌀', 'Ø']) >= 0 ||
objectName.Contains("DiametricDimension", StringComparison.OrdinalIgnoreCase))
return "diameter";
return "linear_or_unspecified";
}
static double? ExtractNominalSize(string text, double? measurement, string dimensionKind)
{
var pattern = dimensionKind switch
{
"radius" => @"^\s*R\s*(?<value>\d+(?:[.,]\d+)?)",
"diameter" => @"[Φφ⌀Ø]\s*(?<value>\d+(?:[.,]\d+)?)",
_ => @"(?<value>\d+(?:[.,]\d+)?)"
};
var match = Regex.Match(text, pattern, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
if (match.Success && TryParseNumber(match.Groups["value"].Value, out var parsed))
return parsed;
return measurement is > 0 ? measurement : null;
}
static (double? Upper, double? Lower, string? Source) ExtractDeviations(string text)
{
var explicitMatch = ExplicitDeviationRegex.Match(text);
if (explicitMatch.Success &&
TryParseNumber(explicitMatch.Groups["upper"].Value, out var upper) &&
TryParseNumber(explicitMatch.Groups["lower"].Value, out var lower))
return (upper, lower, "explicit_upper_lower");
var plusMinusMatch = PlusMinusRegex.Match(text);
if (plusMinusMatch.Success && TryParseNumber(plusMinusMatch.Groups["value"].Value, out var value))
return (value, -value, "explicit_plus_minus");
return (null, null, null);
}
static bool TryParseNumber(string text, out double value) =>
double.TryParse(
text.Replace(" ", "", StringComparison.Ordinal).Replace('', '-').Replace(',', '.'),
NumberStyles.Float,
CultureInfo.InvariantCulture,
out value);
static string Normalize(string text)
{
var value = text ?? "";
value = Regex.Replace(value, @"\\S([^;]+)\^([^;]*);", "$1/$2", RegexOptions.CultureInvariant);
value = Regex.Replace(value, @"\\S([^;]+);", "$1", RegexOptions.CultureInvariant);
value = Regex.Replace(value, @"\\[AH][^;]*;", "", RegexOptions.CultureInvariant);
value = value.Replace("{", "", StringComparison.Ordinal).Replace("}", "", StringComparison.Ordinal);
return Regex.Replace(value, @"\s+", " ").Trim();
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,11 @@
{
"AI": {
"ApiKey": "",
"Provider": "dashscope",
"Model": "qwen-vl-max",
"TextModel": "qwen-plus",
"BaseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"ApiMode": "chat_completions",
"MaxImages": 6
}
}
@@ -0,0 +1,11 @@
{
"AI": {
"ApiKey": "sk-fd7a184d854143528ad16ba12c0ea9bd",
"Provider": "dashscope",
"Model": "qwen3.7-plus",
"TextModel": "qwen3.7-plus",
"BaseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"ApiMode": "chat_completions",
"MaxImages": 12
}
}
@@ -0,0 +1,57 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"Agent4.Api/1.0.0": {
"dependencies": {
"SolidWorks.Interop.sldworks": "32.1.0",
"SolidWorks.Interop.swconst": "32.1.0"
},
"runtime": {
"Agent4.Api.dll": {}
}
},
"SolidWorks.Interop.sldworks/32.1.0": {
"runtime": {
"lib/netstandard2.0/SolidWorks.Interop.sldworks.dll": {
"assemblyVersion": "32.1.0.123",
"fileVersion": "32.1.0.123"
}
}
},
"SolidWorks.Interop.swconst/32.1.0": {
"runtime": {
"lib/netstandard2.0/SolidWorks.Interop.swconst.dll": {
"assemblyVersion": "32.1.0.123",
"fileVersion": "32.1.0.123"
}
}
}
}
},
"libraries": {
"Agent4.Api/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"SolidWorks.Interop.sldworks/32.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lq3QmJwBbVE3K+pN5JFSGn1Bj7J1vUyTr4TtT23UAOtd8MXLElZROm9Iee2N8SP8AXsLTpXdBXGs7xYeJT53qw==",
"path": "solidworks.interop.sldworks/32.1.0",
"hashPath": "solidworks.interop.sldworks.32.1.0.nupkg.sha512"
},
"SolidWorks.Interop.swconst/32.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mOLeWDKf0hX7iSNmdc22FmwoCaqH3KuNhODNGdWuT36KB/maGzQdfU+r9YS97n3mMIdWN3qaLBQ4eJG8z77rMw==",
"path": "solidworks.interop.swconst/32.1.0",
"hashPath": "solidworks.interop.swconst.32.1.0.nupkg.sha512"
}
}
}
@@ -0,0 +1,19 @@
{
"runtimeOptions": {
"tfm": "net10.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "10.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "10.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}
@@ -0,0 +1 @@
{"Version":1,"ManifestType":"Build","Endpoints":[]}
@@ -0,0 +1,11 @@
{
"AI": {
"ApiKey": "",
"Provider": "dashscope",
"Model": "qwen-vl-max",
"TextModel": "qwen-plus",
"BaseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"ApiMode": "chat_completions",
"MaxImages": 6
}
}
@@ -0,0 +1,11 @@
{
"AI": {
"ApiKey": "sk-fd7a184d854143528ad16ba12c0ea9bd",
"Provider": "dashscope",
"Model": "qwen3.7-plus",
"TextModel": "qwen3.7-plus",
"BaseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"ApiMode": "chat_completions",
"MaxImages": 12
}
}
@@ -0,0 +1,57 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"Agent4.Api/1.0.0": {
"dependencies": {
"SolidWorks.Interop.sldworks": "32.1.0",
"SolidWorks.Interop.swconst": "32.1.0"
},
"runtime": {
"Agent4.Api.dll": {}
}
},
"SolidWorks.Interop.sldworks/32.1.0": {
"runtime": {
"lib/netstandard2.0/SolidWorks.Interop.sldworks.dll": {
"assemblyVersion": "32.1.0.123",
"fileVersion": "32.1.0.123"
}
}
},
"SolidWorks.Interop.swconst/32.1.0": {
"runtime": {
"lib/netstandard2.0/SolidWorks.Interop.swconst.dll": {
"assemblyVersion": "32.1.0.123",
"fileVersion": "32.1.0.123"
}
}
}
}
},
"libraries": {
"Agent4.Api/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"SolidWorks.Interop.sldworks/32.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lq3QmJwBbVE3K+pN5JFSGn1Bj7J1vUyTr4TtT23UAOtd8MXLElZROm9Iee2N8SP8AXsLTpXdBXGs7xYeJT53qw==",
"path": "solidworks.interop.sldworks/32.1.0",
"hashPath": "solidworks.interop.sldworks.32.1.0.nupkg.sha512"
},
"SolidWorks.Interop.swconst/32.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mOLeWDKf0hX7iSNmdc22FmwoCaqH3KuNhODNGdWuT36KB/maGzQdfU+r9YS97n3mMIdWN3qaLBQ4eJG8z77rMw==",
"path": "solidworks.interop.swconst/32.1.0",
"hashPath": "solidworks.interop.swconst.32.1.0.nupkg.sha512"
}
}
}
@@ -0,0 +1,20 @@
{
"runtimeOptions": {
"tfm": "net10.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "10.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "10.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}
@@ -0,0 +1 @@
{"Version":1,"ManifestType":"Build","Endpoints":[]}
@@ -0,0 +1,11 @@
{
"AI": {
"ApiKey": "",
"Provider": "dashscope",
"Model": "qwen-vl-max",
"TextModel": "qwen-plus",
"BaseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"ApiMode": "chat_completions",
"MaxImages": 6
}
}
@@ -0,0 +1,11 @@
{
"AI": {
"ApiKey": "sk-fd7a184d854143528ad16ba12c0ea9bd",
"Provider": "dashscope",
"Model": "qwen3.7-plus",
"TextModel": "qwen3.7-plus",
"BaseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"ApiMode": "chat_completions",
"MaxImages": 12
}
}
@@ -0,0 +1,498 @@
{
"format": 1,
"restore": {
"D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\Agent4.Api.csproj": {}
},
"projects": {
"D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\Agent4.Api.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\Agent4.Api.csproj",
"projectName": "Agent4.Api",
"projectPath": "D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\Agent4.Api.csproj",
"packagesPath": "C:\\Users\\86182\\.nuget\\packages\\",
"outputPath": "D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\86182\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net10.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net10.0": {
"framework": "net10.0",
"targetAlias": "net10.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "all"
},
"SdkAnalysisLevel": "10.0.300"
},
"frameworks": {
"net10.0": {
"framework": "net10.0",
"targetAlias": "net10.0",
"dependencies": {
"SolidWorks.Interop.sldworks": {
"target": "Package",
"version": "[32.1.0, )"
},
"SolidWorks.Interop.swconst": {
"target": "Package",
"version": "[32.1.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.300/PortableRuntimeIdentifierGraph.json",
"packagesToPrune": {
"Microsoft.AspNetCore": "(,10.0.32767]",
"Microsoft.AspNetCore.Antiforgery": "(,10.0.32767]",
"Microsoft.AspNetCore.App": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.BearerToken": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.Cookies": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.Core": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.OAuth": "(,10.0.32767]",
"Microsoft.AspNetCore.Authorization": "(,10.0.32767]",
"Microsoft.AspNetCore.Authorization.Policy": "(,10.0.32767]",
"Microsoft.AspNetCore.Components": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Authorization": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Endpoints": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Forms": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Server": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Web": "(,10.0.32767]",
"Microsoft.AspNetCore.Connections.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.CookiePolicy": "(,10.0.32767]",
"Microsoft.AspNetCore.Cors": "(,10.0.32767]",
"Microsoft.AspNetCore.Cryptography.Internal": "(,10.0.32767]",
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "(,10.0.32767]",
"Microsoft.AspNetCore.DataProtection": "(,10.0.32767]",
"Microsoft.AspNetCore.DataProtection.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.DataProtection.Extensions": "(,10.0.32767]",
"Microsoft.AspNetCore.Diagnostics": "(,10.0.32767]",
"Microsoft.AspNetCore.Diagnostics.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Diagnostics.HealthChecks": "(,10.0.32767]",
"Microsoft.AspNetCore.HostFiltering": "(,10.0.32767]",
"Microsoft.AspNetCore.Hosting": "(,10.0.32767]",
"Microsoft.AspNetCore.Hosting.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Hosting.Server.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Html.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Http": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Connections": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Connections.Common": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Extensions": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Features": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Results": "(,10.0.32767]",
"Microsoft.AspNetCore.HttpLogging": "(,10.0.32767]",
"Microsoft.AspNetCore.HttpOverrides": "(,10.0.32767]",
"Microsoft.AspNetCore.HttpsPolicy": "(,10.0.32767]",
"Microsoft.AspNetCore.Identity": "(,10.0.32767]",
"Microsoft.AspNetCore.Localization": "(,10.0.32767]",
"Microsoft.AspNetCore.Localization.Routing": "(,10.0.32767]",
"Microsoft.AspNetCore.Metadata": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.ApiExplorer": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Core": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Cors": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.DataAnnotations": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Formatters.Xml": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Localization": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Razor": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.RazorPages": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.TagHelpers": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.ViewFeatures": "(,10.0.32767]",
"Microsoft.AspNetCore.OutputCaching": "(,10.0.32767]",
"Microsoft.AspNetCore.RateLimiting": "(,10.0.32767]",
"Microsoft.AspNetCore.Razor": "(,10.0.32767]",
"Microsoft.AspNetCore.Razor.Runtime": "(,10.0.32767]",
"Microsoft.AspNetCore.RequestDecompression": "(,10.0.32767]",
"Microsoft.AspNetCore.ResponseCaching": "(,10.0.32767]",
"Microsoft.AspNetCore.ResponseCaching.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.ResponseCompression": "(,10.0.32767]",
"Microsoft.AspNetCore.Rewrite": "(,10.0.32767]",
"Microsoft.AspNetCore.Routing": "(,10.0.32767]",
"Microsoft.AspNetCore.Routing.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.HttpSys": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.IIS": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.IISIntegration": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel.Core": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel.Transport.Quic": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets": "(,10.0.32767]",
"Microsoft.AspNetCore.Session": "(,10.0.32767]",
"Microsoft.AspNetCore.SignalR": "(,10.0.32767]",
"Microsoft.AspNetCore.SignalR.Common": "(,10.0.32767]",
"Microsoft.AspNetCore.SignalR.Core": "(,10.0.32767]",
"Microsoft.AspNetCore.SignalR.Protocols.Json": "(,10.0.32767]",
"Microsoft.AspNetCore.StaticAssets": "(,10.0.32767]",
"Microsoft.AspNetCore.StaticFiles": "(,10.0.32767]",
"Microsoft.AspNetCore.WebSockets": "(,10.0.32767]",
"Microsoft.AspNetCore.WebUtilities": "(,10.0.32767]",
"Microsoft.CSharp": "(,4.7.32767]",
"Microsoft.Extensions.Caching.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Caching.Memory": "(,10.0.32767]",
"Microsoft.Extensions.Configuration": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Binder": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.CommandLine": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.FileExtensions": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Ini": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Json": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.KeyPerFile": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.UserSecrets": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Xml": "(,10.0.32767]",
"Microsoft.Extensions.DependencyInjection": "(,10.0.32767]",
"Microsoft.Extensions.DependencyInjection.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Diagnostics": "(,10.0.32767]",
"Microsoft.Extensions.Diagnostics.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Diagnostics.HealthChecks": "(,10.0.32767]",
"Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Features": "(,10.0.32767]",
"Microsoft.Extensions.FileProviders.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.FileProviders.Composite": "(,10.0.32767]",
"Microsoft.Extensions.FileProviders.Physical": "(,10.0.32767]",
"Microsoft.Extensions.FileSystemGlobbing": "(,10.0.32767]",
"Microsoft.Extensions.Hosting": "(,10.0.32767]",
"Microsoft.Extensions.Hosting.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Http": "(,10.0.32767]",
"Microsoft.Extensions.Identity.Core": "(,10.0.32767]",
"Microsoft.Extensions.Identity.Stores": "(,10.0.32767]",
"Microsoft.Extensions.Localization": "(,10.0.32767]",
"Microsoft.Extensions.Localization.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Logging": "(,10.0.32767]",
"Microsoft.Extensions.Logging.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Logging.Configuration": "(,10.0.32767]",
"Microsoft.Extensions.Logging.Console": "(,10.0.32767]",
"Microsoft.Extensions.Logging.Debug": "(,10.0.32767]",
"Microsoft.Extensions.Logging.EventLog": "(,10.0.32767]",
"Microsoft.Extensions.Logging.EventSource": "(,10.0.32767]",
"Microsoft.Extensions.Logging.TraceSource": "(,10.0.32767]",
"Microsoft.Extensions.ObjectPool": "(,10.0.32767]",
"Microsoft.Extensions.Options": "(,10.0.32767]",
"Microsoft.Extensions.Options.ConfigurationExtensions": "(,10.0.32767]",
"Microsoft.Extensions.Options.DataAnnotations": "(,10.0.32767]",
"Microsoft.Extensions.Primitives": "(,10.0.32767]",
"Microsoft.Extensions.Validation": "(,10.0.32767]",
"Microsoft.Extensions.WebEncoders": "(,10.0.32767]",
"Microsoft.JSInterop": "(,10.0.32767]",
"Microsoft.Net.Http.Headers": "(,10.0.32767]",
"Microsoft.VisualBasic": "(,10.4.32767]",
"Microsoft.Win32.Primitives": "(,4.3.32767]",
"Microsoft.Win32.Registry": "(,5.0.32767]",
"runtime.any.System.Collections": "(,4.3.32767]",
"runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
"runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
"runtime.any.System.Globalization": "(,4.3.32767]",
"runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
"runtime.any.System.IO": "(,4.3.32767]",
"runtime.any.System.Reflection": "(,4.3.32767]",
"runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
"runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
"runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
"runtime.any.System.Runtime": "(,4.3.32767]",
"runtime.any.System.Runtime.Handles": "(,4.3.32767]",
"runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
"runtime.any.System.Text.Encoding": "(,4.3.32767]",
"runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
"runtime.any.System.Threading.Tasks": "(,4.3.32767]",
"runtime.any.System.Threading.Timer": "(,4.3.32767]",
"runtime.aot.System.Collections": "(,4.3.32767]",
"runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
"runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
"runtime.aot.System.Globalization": "(,4.3.32767]",
"runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
"runtime.aot.System.IO": "(,4.3.32767]",
"runtime.aot.System.Reflection": "(,4.3.32767]",
"runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
"runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
"runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
"runtime.aot.System.Runtime": "(,4.3.32767]",
"runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
"runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
"runtime.aot.System.Text.Encoding": "(,4.3.32767]",
"runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
"runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
"runtime.aot.System.Threading.Timer": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
"runtime.unix.System.Console": "(,4.3.32767]",
"runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
"runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
"runtime.unix.System.Net.Primitives": "(,4.3.32767]",
"runtime.unix.System.Net.Sockets": "(,4.3.32767]",
"runtime.unix.System.Private.Uri": "(,4.3.32767]",
"runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
"runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
"runtime.win.System.Console": "(,4.3.32767]",
"runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
"runtime.win.System.IO.FileSystem": "(,4.3.32767]",
"runtime.win.System.Net.Primitives": "(,4.3.32767]",
"runtime.win.System.Net.Sockets": "(,4.3.32767]",
"runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
"runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win7.System.Private.Uri": "(,4.3.32767]",
"runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
"System.AppContext": "(,4.3.32767]",
"System.Buffers": "(,5.0.32767]",
"System.Collections": "(,4.3.32767]",
"System.Collections.Concurrent": "(,4.3.32767]",
"System.Collections.Immutable": "(,10.0.32767]",
"System.Collections.NonGeneric": "(,4.3.32767]",
"System.Collections.Specialized": "(,4.3.32767]",
"System.ComponentModel": "(,4.3.32767]",
"System.ComponentModel.Annotations": "(,4.3.32767]",
"System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
"System.ComponentModel.Primitives": "(,4.3.32767]",
"System.ComponentModel.TypeConverter": "(,4.3.32767]",
"System.Console": "(,4.3.32767]",
"System.Data.Common": "(,4.3.32767]",
"System.Data.DataSetExtensions": "(,4.4.32767]",
"System.Diagnostics.Contracts": "(,4.3.32767]",
"System.Diagnostics.Debug": "(,4.3.32767]",
"System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
"System.Diagnostics.EventLog": "(,10.0.32767]",
"System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
"System.Diagnostics.Process": "(,4.3.32767]",
"System.Diagnostics.StackTrace": "(,4.3.32767]",
"System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
"System.Diagnostics.Tools": "(,4.3.32767]",
"System.Diagnostics.TraceSource": "(,4.3.32767]",
"System.Diagnostics.Tracing": "(,4.3.32767]",
"System.Drawing.Primitives": "(,4.3.32767]",
"System.Dynamic.Runtime": "(,4.3.32767]",
"System.Formats.Asn1": "(,10.0.32767]",
"System.Formats.Cbor": "(,10.0.32767]",
"System.Formats.Tar": "(,10.0.32767]",
"System.Globalization": "(,4.3.32767]",
"System.Globalization.Calendars": "(,4.3.32767]",
"System.Globalization.Extensions": "(,4.3.32767]",
"System.IO": "(,4.3.32767]",
"System.IO.Compression": "(,4.3.32767]",
"System.IO.Compression.ZipFile": "(,4.3.32767]",
"System.IO.FileSystem": "(,4.3.32767]",
"System.IO.FileSystem.AccessControl": "(,4.4.32767]",
"System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
"System.IO.FileSystem.Primitives": "(,4.3.32767]",
"System.IO.FileSystem.Watcher": "(,4.3.32767]",
"System.IO.IsolatedStorage": "(,4.3.32767]",
"System.IO.MemoryMappedFiles": "(,4.3.32767]",
"System.IO.Pipelines": "(,10.0.32767]",
"System.IO.Pipes": "(,4.3.32767]",
"System.IO.Pipes.AccessControl": "(,5.0.32767]",
"System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
"System.Linq": "(,4.3.32767]",
"System.Linq.AsyncEnumerable": "(,10.0.32767]",
"System.Linq.Expressions": "(,4.3.32767]",
"System.Linq.Parallel": "(,4.3.32767]",
"System.Linq.Queryable": "(,4.3.32767]",
"System.Memory": "(,5.0.32767]",
"System.Net.Http": "(,4.3.32767]",
"System.Net.Http.Json": "(,10.0.32767]",
"System.Net.NameResolution": "(,4.3.32767]",
"System.Net.NetworkInformation": "(,4.3.32767]",
"System.Net.Ping": "(,4.3.32767]",
"System.Net.Primitives": "(,4.3.32767]",
"System.Net.Requests": "(,4.3.32767]",
"System.Net.Security": "(,4.3.32767]",
"System.Net.ServerSentEvents": "(,10.0.32767]",
"System.Net.Sockets": "(,4.3.32767]",
"System.Net.WebHeaderCollection": "(,4.3.32767]",
"System.Net.WebSockets": "(,4.3.32767]",
"System.Net.WebSockets.Client": "(,4.3.32767]",
"System.Numerics.Vectors": "(,5.0.32767]",
"System.ObjectModel": "(,4.3.32767]",
"System.Private.DataContractSerialization": "(,4.3.32767]",
"System.Private.Uri": "(,4.3.32767]",
"System.Reflection": "(,4.3.32767]",
"System.Reflection.DispatchProxy": "(,6.0.32767]",
"System.Reflection.Emit": "(,4.7.32767]",
"System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
"System.Reflection.Emit.Lightweight": "(,4.7.32767]",
"System.Reflection.Extensions": "(,4.3.32767]",
"System.Reflection.Metadata": "(,10.0.32767]",
"System.Reflection.Primitives": "(,4.3.32767]",
"System.Reflection.TypeExtensions": "(,4.3.32767]",
"System.Resources.Reader": "(,4.3.32767]",
"System.Resources.ResourceManager": "(,4.3.32767]",
"System.Resources.Writer": "(,4.3.32767]",
"System.Runtime": "(,4.3.32767]",
"System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
"System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
"System.Runtime.Extensions": "(,4.3.32767]",
"System.Runtime.Handles": "(,4.3.32767]",
"System.Runtime.InteropServices": "(,4.3.32767]",
"System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
"System.Runtime.Loader": "(,4.3.32767]",
"System.Runtime.Numerics": "(,4.3.32767]",
"System.Runtime.Serialization.Formatters": "(,4.3.32767]",
"System.Runtime.Serialization.Json": "(,4.3.32767]",
"System.Runtime.Serialization.Primitives": "(,4.3.32767]",
"System.Runtime.Serialization.Xml": "(,4.3.32767]",
"System.Security.AccessControl": "(,6.0.32767]",
"System.Security.Claims": "(,4.3.32767]",
"System.Security.Cryptography.Algorithms": "(,4.3.32767]",
"System.Security.Cryptography.Cng": "(,5.0.32767]",
"System.Security.Cryptography.Csp": "(,4.3.32767]",
"System.Security.Cryptography.Encoding": "(,4.3.32767]",
"System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
"System.Security.Cryptography.Primitives": "(,4.3.32767]",
"System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
"System.Security.Cryptography.Xml": "(,10.0.32767]",
"System.Security.Principal": "(,4.3.32767]",
"System.Security.Principal.Windows": "(,5.0.32767]",
"System.Security.SecureString": "(,4.3.32767]",
"System.Text.Encoding": "(,4.3.32767]",
"System.Text.Encoding.CodePages": "(,10.0.32767]",
"System.Text.Encoding.Extensions": "(,4.3.32767]",
"System.Text.Encodings.Web": "(,10.0.32767]",
"System.Text.Json": "(,10.0.32767]",
"System.Text.RegularExpressions": "(,4.3.32767]",
"System.Threading": "(,4.3.32767]",
"System.Threading.AccessControl": "(,10.0.32767]",
"System.Threading.Channels": "(,10.0.32767]",
"System.Threading.Overlapped": "(,4.3.32767]",
"System.Threading.RateLimiting": "(,10.0.32767]",
"System.Threading.Tasks": "(,4.3.32767]",
"System.Threading.Tasks.Dataflow": "(,10.0.32767]",
"System.Threading.Tasks.Extensions": "(,5.0.32767]",
"System.Threading.Tasks.Parallel": "(,4.3.32767]",
"System.Threading.Thread": "(,4.3.32767]",
"System.Threading.ThreadPool": "(,4.3.32767]",
"System.Threading.Timer": "(,4.3.32767]",
"System.ValueTuple": "(,4.5.32767]",
"System.Xml.ReaderWriter": "(,4.3.32767]",
"System.Xml.XDocument": "(,4.3.32767]",
"System.Xml.XmlDocument": "(,4.3.32767]",
"System.Xml.XmlSerializer": "(,4.3.32767]",
"System.Xml.XPath": "(,4.3.32767]",
"System.Xml.XPath.XDocument": "(,5.0.32767]"
}
}
}
}
}
}
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\86182\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\86182\.nuget\packages\" />
</ItemGroup>
</Project>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Agent4.Api")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1bdf41f4900b623dd9948b3fc71ac3bb71e8e8e4")]
[assembly: System.Reflection.AssemblyProductAttribute("Agent4.Api")]
[assembly: System.Reflection.AssemblyTitleAttribute("Agent4.Api")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.
@@ -0,0 +1 @@
3fb17ecbf7fdb42ce66e0157d2f8d5751ea27ee2792fee295a781639e2fd4401
@@ -0,0 +1,24 @@
is_global = true
build_property.TargetFramework = net10.0
build_property.TargetFrameworkIdentifier = .NETCoreApp
build_property.TargetFrameworkVersion = v10.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property.EntryPointFilePath =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Agent4.Api
build_property.RootNamespace = Agent4.Api
build_property.ProjectDir = D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.RazorLangVersion = 10.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = D:\CSharpProjects\agent4\backend-csharp\Agent4.Api
build_property._RazorSourceGeneratorDebug =
build_property.EffectiveAnalysisLevelStyle = 10.0
build_property.EnableCodeStyleSeverity =
@@ -0,0 +1,17 @@
// <auto-generated/>
global using Microsoft.AspNetCore.Builder;
global using Microsoft.AspNetCore.Hosting;
global using Microsoft.AspNetCore.Http;
global using Microsoft.AspNetCore.Routing;
global using Microsoft.Extensions.Configuration;
global using Microsoft.Extensions.DependencyInjection;
global using Microsoft.Extensions.Hosting;
global using Microsoft.Extensions.Logging;
global using System;
global using System.Collections.Generic;
global using System.IO;
global using System.Linq;
global using System.Net.Http;
global using System.Net.Http.Json;
global using System.Threading;
global using System.Threading.Tasks;
@@ -0,0 +1 @@
4d436aa223b7cbe50921dbe3042092c7117705ba46a597e9d0d65bd2e401a622
@@ -0,0 +1,47 @@
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\Agent4.Api.exe
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\Agent4.Api.deps.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\Agent4.Api.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\Agent4.Api.pdb
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\SolidWorks.Interop.sldworks.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\SolidWorks.Interop.swconst.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.csproj.AssemblyReference.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\rpswa.dswa.cache.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.GeneratedMSBuildEditorConfig.editorconfig
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.AssemblyInfoInputs.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.AssemblyInfo.cs
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.csproj.CoreCompileInputs.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.MvcApplicationPartsAssemblyInfo.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\rjimswa.dswa.cache.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\rjsmrazor.dswa.cache.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\rjsmcshtml.dswa.cache.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\scopedcss\bundle\Agent4.Api.styles.css
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\staticwebassets.build.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\staticwebassets.build.json.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\staticwebassets.development.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\staticwebassets.build.endpoints.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\swae.build.ex.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.csproj.Up2Date
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\refint\Agent4.Api.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.pdb
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\Agent4.Api.genruntimeconfig.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Debug\net10.0\ref\Agent4.Api.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\appsettings.Local.example.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Debug\net10.0\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\buildcheck\Agent4.Api\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\buildcheck\Agent4.Api\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\buildcheck\Agent4.Api\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\buildcheck\Agent4.Api\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\buildcheck\Agent4.Api\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\buildcheck\Agent4.Api\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\buildcheck\Agent4.Api\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\buildcheck\Agent4.Api\Agent4.Api.pdb
@@ -0,0 +1 @@
348ea03e2db8528b10070fa32c8e86dab4216f92e10f9784e6ff31736399c702
@@ -0,0 +1 @@
{"GlobalPropertiesHash":"b4GkLrXpVM0x7LOREK3U8rcm2ougfSKAwCc3LPJ50bY=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["Xxf\u002BYo2UmukVlRz\u002BAJmXzpF8/rvq05OoM1SJHCKaU7Q=","5C/QFLYpkzwQzpBqQNmJPuxk22kA9ElfWJvbMZ8j\u002BqY=","c2jWLu4ie1HKcEBBh1c5AssTi0gIOMUrp2YmnaB5Ebw="],"CachedAssets":{},"CachedCopyCandidates":{}}
@@ -0,0 +1 @@
{"GlobalPropertiesHash":"9a89hgvTU08QJyM0fFPZqYtH5X//OhJWHjak0d5Q6WE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["Xxf\u002BYo2UmukVlRz\u002BAJmXzpF8/rvq05OoM1SJHCKaU7Q=","5C/QFLYpkzwQzpBqQNmJPuxk22kA9ElfWJvbMZ8j\u002BqY=","c2jWLu4ie1HKcEBBh1c5AssTi0gIOMUrp2YmnaB5Ebw="],"CachedAssets":{},"CachedCopyCandidates":{}}
@@ -0,0 +1 @@
{"GlobalPropertiesHash":"tFawaZSmPrg8nxjqzMviEtXmvk2mbCJ2G5M41Sr9Y+o=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["Xxf\u002BYo2UmukVlRz\u002BAJmXzpF8/rvq05OoM1SJHCKaU7Q=","5C/QFLYpkzwQzpBqQNmJPuxk22kA9ElfWJvbMZ8j\u002BqY="],"CachedAssets":{},"CachedCopyCandidates":{}}
@@ -0,0 +1 @@
{"Version":1,"ManifestType":"Build","Endpoints":[]}
@@ -0,0 +1 @@
{"Version":1,"Hash":"kzgtcwp4MRfFSw4zVvea8WHptTu380qsSeBmT6EbnZ0=","Source":"Agent4.Api","BasePath":"/","Mode":"Root","ManifestType":"Build","ReferencedProjectsConfiguration":[],"DiscoveryPatterns":[],"Assets":[],"Endpoints":[]}
@@ -0,0 +1 @@
kzgtcwp4MRfFSw4zVvea8WHptTu380qsSeBmT6EbnZ0=
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Agent4.Api")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1bdf41f4900b623dd9948b3fc71ac3bb71e8e8e4")]
[assembly: System.Reflection.AssemblyProductAttribute("Agent4.Api")]
[assembly: System.Reflection.AssemblyTitleAttribute("Agent4.Api")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.
@@ -0,0 +1 @@
c42b5669928b5a88bf680132e2d9320123a9d231e2f6a87579446040cf33f5b8
@@ -0,0 +1,24 @@
is_global = true
build_property.TargetFramework = net10.0
build_property.TargetFrameworkIdentifier = .NETCoreApp
build_property.TargetFrameworkVersion = v10.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property.EntryPointFilePath =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Agent4.Api
build_property.RootNamespace = Agent4.Api
build_property.ProjectDir = D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.RazorLangVersion = 10.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = D:\CSharpProjects\agent4\backend-csharp\Agent4.Api
build_property._RazorSourceGeneratorDebug =
build_property.EffectiveAnalysisLevelStyle = 10.0
build_property.EnableCodeStyleSeverity =
@@ -0,0 +1,17 @@
// <auto-generated/>
global using Microsoft.AspNetCore.Builder;
global using Microsoft.AspNetCore.Hosting;
global using Microsoft.AspNetCore.Http;
global using Microsoft.AspNetCore.Routing;
global using Microsoft.Extensions.Configuration;
global using Microsoft.Extensions.DependencyInjection;
global using Microsoft.Extensions.Hosting;
global using Microsoft.Extensions.Logging;
global using System;
global using System.Collections.Generic;
global using System.IO;
global using System.Linq;
global using System.Net.Http;
global using System.Net.Http.Json;
global using System.Threading;
global using System.Threading.Tasks;
@@ -0,0 +1 @@
612c7fc4af07d52d05854b6335839641602e3b5541ddef6d64ee3fb93f2f34da
@@ -0,0 +1,214 @@
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\Agent4.Api.exe
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\Agent4.Api.deps.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\Agent4.Api.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\Agent4.Api.pdb
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\SolidWorks.Interop.sldworks.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\SolidWorks.Interop.swconst.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.csproj.AssemblyReference.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\rpswa.dswa.cache.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.GeneratedMSBuildEditorConfig.editorconfig
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.AssemblyInfoInputs.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.AssemblyInfo.cs
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.csproj.CoreCompileInputs.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.MvcApplicationPartsAssemblyInfo.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\rjimswa.dswa.cache.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\rjsmrazor.dswa.cache.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\rjsmcshtml.dswa.cache.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\scopedcss\bundle\Agent4.Api.styles.css
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\staticwebassets.build.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\staticwebassets.build.json.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\staticwebassets.development.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\staticwebassets.build.endpoints.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\swae.build.ex.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.csproj.Up2Date
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\refint\Agent4.Api.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.pdb
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\Agent4.Api.genruntimeconfig.cache
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\obj\Release\net10.0\ref\Agent4.Api.dll
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\appsettings.Local.example.json
D:\CSharpProjects\agent4\backend-csharp\Agent4.Api\bin\Release\net10.0\appsettings.Local.json
D:\CSharpProjects\agent4\runtime\buildcheck\Agent4.Api\appsettings.Local.example.json
D:\CSharpProjects\agent4\runtime\buildcheck\Agent4.Api\appsettings.Local.json
D:\CSharpProjects\agent4\runtime\buildcheck\Agent4.Api\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\runtime\buildcheck\Agent4.Api\Agent4.Api.exe
D:\CSharpProjects\agent4\runtime\buildcheck\Agent4.Api\Agent4.Api.deps.json
D:\CSharpProjects\agent4\runtime\buildcheck\Agent4.Api\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\runtime\buildcheck\Agent4.Api\Agent4.Api.dll
D:\CSharpProjects\agent4\runtime\buildcheck\Agent4.Api\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\Agent4.Api-build\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\Agent4.Api-build\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\Agent4.Api-build\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\Agent4.Api-build\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\Agent4.Api-build\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\Agent4.Api-build\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\Agent4.Api-build\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\Agent4.Api-build\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\build-check\Agent4.Api\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\build-check\Agent4.Api\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\build-check\Agent4.Api\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\build-check\Agent4.Api\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\build-check\Agent4.Api\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\build-check\Agent4.Api\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\build-check\Agent4.Api\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\build-check\Agent4.Api\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-rules\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-rules\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-rules\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-rules\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-rules\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-rules\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-rules\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-rules\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-rules\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-rules\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-rules\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-rules\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-rules\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-rules\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-rules\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-rules\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-missing-rules\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-missing-rules\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-missing-rules\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-missing-rules\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-missing-rules\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-missing-rules\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-missing-rules\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-missing-rules\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-geometry-rules\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-geometry-rules\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-geometry-rules\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-geometry-rules\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-geometry-rules\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-geometry-rules\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-geometry-rules\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-line-geometry-rules\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ai-split\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ai-split\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ai-split\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ai-split\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ai-split\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ai-split\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ai-split\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ai-split\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-pair-tighten\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-pair-tighten\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-pair-tighten\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-pair-tighten\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-pair-tighten\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-pair-tighten\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-pair-tighten\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-thread-pair-tighten\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ui\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ui\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ui\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ui\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ui\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ui\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ui\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-format-ui\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-part-format\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-part-format\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-part-format\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-part-format\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-part-format\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-part-format\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-part-format\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-part-format\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-cn-format\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-cn-format\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-cn-format\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-cn-format\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-cn-format\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-cn-format\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-cn-format\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-cn-format\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-view\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-view\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-view\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-view\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-view\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-view\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-view\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-view\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-axis-rule\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-axis-rule\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-axis-rule\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-axis-rule\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-axis-rule\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-axis-rule\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-axis-rule\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-axis-rule\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-centerline-rules\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-centerline-rules\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-centerline-rules\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-centerline-rules\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-centerline-rules\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-centerline-rules\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-centerline-rules\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-centerline-rules\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-handles\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-handles\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-handles\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-handles\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-handles\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-handles\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-handles\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-highlight-handles\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-view-grouped-images\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-view-grouped-images\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-view-grouped-images\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-view-grouped-images\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-view-grouped-images\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-view-grouped-images\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-view-grouped-images\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-view-grouped-images\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-circle-centerline-strict\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-circle-centerline-strict\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-circle-centerline-strict\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-circle-centerline-strict\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-circle-centerline-strict\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-circle-centerline-strict\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-circle-centerline-strict\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-circle-centerline-strict\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-missing-box\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-missing-box\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-missing-box\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-missing-box\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-missing-box\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-missing-box\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-missing-box\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\agent4-api-build-check-missing-box\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\build-agent4-api-contract-fix\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\build-agent4-api-contract-fix\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\build-agent4-api-contract-fix\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\build-agent4-api-contract-fix\Agent4.Api.exe
D:\CSharpProjects\agent4\.tmp\build-agent4-api-contract-fix\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\build-agent4-api-contract-fix\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\build-agent4-api-contract-fix\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\build-agent4-api-contract-fix\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\tolerance-build-output\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\tolerance-build-output\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\tolerance-build-output\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\tolerance-build-output\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\tolerance-build-output\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\tolerance-build-output\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\tolerance-build-output\Agent4.Api.pdb
D:\CSharpProjects\agent4\.tmp\flow-build-output\appsettings.Local.example.json
D:\CSharpProjects\agent4\.tmp\flow-build-output\appsettings.Local.json
D:\CSharpProjects\agent4\.tmp\flow-build-output\Agent4.Api.staticwebassets.endpoints.json
D:\CSharpProjects\agent4\.tmp\flow-build-output\Agent4.Api.deps.json
D:\CSharpProjects\agent4\.tmp\flow-build-output\Agent4.Api.runtimeconfig.json
D:\CSharpProjects\agent4\.tmp\flow-build-output\Agent4.Api.dll
D:\CSharpProjects\agent4\.tmp\flow-build-output\Agent4.Api.pdb
@@ -0,0 +1 @@
179ab7195a183da61e490792b3be94e8d68936b9885b21cb8d8ee5afc2d0453a
@@ -0,0 +1 @@
{"GlobalPropertiesHash":"b4GkLrXpVM0x7LOREK3U8rcm2ougfSKAwCc3LPJ50bY=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["Xxf\u002BYo2UmukVlRz\u002BAJmXzpF8/rvq05OoM1SJHCKaU7Q=","5C/QFLYpkzwQzpBqQNmJPuxk22kA9ElfWJvbMZ8j\u002BqY=","dq3NOTRjEh8z7bqL9mYjhK2iRCPH4kcNr6ECKsBIJ6w="],"CachedAssets":{},"CachedCopyCandidates":{}}
@@ -0,0 +1 @@
{"GlobalPropertiesHash":"9a89hgvTU08QJyM0fFPZqYtH5X//OhJWHjak0d5Q6WE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["Xxf\u002BYo2UmukVlRz\u002BAJmXzpF8/rvq05OoM1SJHCKaU7Q=","5C/QFLYpkzwQzpBqQNmJPuxk22kA9ElfWJvbMZ8j\u002BqY=","dq3NOTRjEh8z7bqL9mYjhK2iRCPH4kcNr6ECKsBIJ6w="],"CachedAssets":{},"CachedCopyCandidates":{}}
@@ -0,0 +1 @@
{"GlobalPropertiesHash":"tFawaZSmPrg8nxjqzMviEtXmvk2mbCJ2G5M41Sr9Y+o=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["Xxf\u002BYo2UmukVlRz\u002BAJmXzpF8/rvq05OoM1SJHCKaU7Q=","5C/QFLYpkzwQzpBqQNmJPuxk22kA9ElfWJvbMZ8j\u002BqY="],"CachedAssets":{},"CachedCopyCandidates":{}}
@@ -0,0 +1 @@
{"Version":1,"ManifestType":"Build","Endpoints":[]}
@@ -0,0 +1 @@
{"Version":1,"Hash":"kzgtcwp4MRfFSw4zVvea8WHptTu380qsSeBmT6EbnZ0=","Source":"Agent4.Api","BasePath":"/","Mode":"Root","ManifestType":"Build","ReferencedProjectsConfiguration":[],"DiscoveryPatterns":[],"Assets":[],"Endpoints":[]}
@@ -0,0 +1 @@
kzgtcwp4MRfFSw4zVvea8WHptTu380qsSeBmT6EbnZ0=
@@ -0,0 +1,550 @@
{
"version": 4,
"targets": {
"net10.0": {
"SolidWorks.Interop.sldworks/32.1.0": {
"type": "package",
"compile": {
"lib/netstandard2.0/SolidWorks.Interop.sldworks.dll": {}
},
"runtime": {
"lib/netstandard2.0/SolidWorks.Interop.sldworks.dll": {}
}
},
"SolidWorks.Interop.swconst/32.1.0": {
"type": "package",
"compile": {
"lib/netstandard2.0/SolidWorks.Interop.swconst.dll": {}
},
"runtime": {
"lib/netstandard2.0/SolidWorks.Interop.swconst.dll": {}
}
}
}
},
"libraries": {
"SolidWorks.Interop.sldworks/32.1.0": {
"sha512": "lq3QmJwBbVE3K+pN5JFSGn1Bj7J1vUyTr4TtT23UAOtd8MXLElZROm9Iee2N8SP8AXsLTpXdBXGs7xYeJT53qw==",
"type": "package",
"path": "solidworks.interop.sldworks/32.1.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/netstandard2.0/SolidWorks.Interop.sldworks.dll",
"solidworks.interop.sldworks.32.1.0.nupkg.sha512",
"solidworks.interop.sldworks.nuspec"
]
},
"SolidWorks.Interop.swconst/32.1.0": {
"sha512": "mOLeWDKf0hX7iSNmdc22FmwoCaqH3KuNhODNGdWuT36KB/maGzQdfU+r9YS97n3mMIdWN3qaLBQ4eJG8z77rMw==",
"type": "package",
"path": "solidworks.interop.swconst/32.1.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/netstandard2.0/SolidWorks.Interop.swconst.dll",
"solidworks.interop.swconst.32.1.0.nupkg.sha512",
"solidworks.interop.swconst.nuspec"
]
}
},
"projectFileDependencyGroups": {
"net10.0": [
"SolidWorks.Interop.sldworks >= 32.1.0",
"SolidWorks.Interop.swconst >= 32.1.0"
]
},
"packageFolders": {
"C:\\Users\\86182\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\Agent4.Api.csproj",
"projectName": "Agent4.Api",
"projectPath": "D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\Agent4.Api.csproj",
"packagesPath": "C:\\Users\\86182\\.nuget\\packages\\",
"outputPath": "D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\86182\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net10.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net10.0": {
"framework": "net10.0",
"targetAlias": "net10.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "all"
},
"SdkAnalysisLevel": "10.0.300"
},
"frameworks": {
"net10.0": {
"framework": "net10.0",
"targetAlias": "net10.0",
"dependencies": {
"SolidWorks.Interop.sldworks": {
"target": "Package",
"version": "[32.1.0, )"
},
"SolidWorks.Interop.swconst": {
"target": "Package",
"version": "[32.1.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.300/PortableRuntimeIdentifierGraph.json",
"packagesToPrune": {
"Microsoft.AspNetCore": "(,10.0.32767]",
"Microsoft.AspNetCore.Antiforgery": "(,10.0.32767]",
"Microsoft.AspNetCore.App": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.BearerToken": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.Cookies": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.Core": "(,10.0.32767]",
"Microsoft.AspNetCore.Authentication.OAuth": "(,10.0.32767]",
"Microsoft.AspNetCore.Authorization": "(,10.0.32767]",
"Microsoft.AspNetCore.Authorization.Policy": "(,10.0.32767]",
"Microsoft.AspNetCore.Components": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Authorization": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Endpoints": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Forms": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Server": "(,10.0.32767]",
"Microsoft.AspNetCore.Components.Web": "(,10.0.32767]",
"Microsoft.AspNetCore.Connections.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.CookiePolicy": "(,10.0.32767]",
"Microsoft.AspNetCore.Cors": "(,10.0.32767]",
"Microsoft.AspNetCore.Cryptography.Internal": "(,10.0.32767]",
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "(,10.0.32767]",
"Microsoft.AspNetCore.DataProtection": "(,10.0.32767]",
"Microsoft.AspNetCore.DataProtection.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.DataProtection.Extensions": "(,10.0.32767]",
"Microsoft.AspNetCore.Diagnostics": "(,10.0.32767]",
"Microsoft.AspNetCore.Diagnostics.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Diagnostics.HealthChecks": "(,10.0.32767]",
"Microsoft.AspNetCore.HostFiltering": "(,10.0.32767]",
"Microsoft.AspNetCore.Hosting": "(,10.0.32767]",
"Microsoft.AspNetCore.Hosting.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Hosting.Server.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Html.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Http": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Connections": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Connections.Common": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Extensions": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Features": "(,10.0.32767]",
"Microsoft.AspNetCore.Http.Results": "(,10.0.32767]",
"Microsoft.AspNetCore.HttpLogging": "(,10.0.32767]",
"Microsoft.AspNetCore.HttpOverrides": "(,10.0.32767]",
"Microsoft.AspNetCore.HttpsPolicy": "(,10.0.32767]",
"Microsoft.AspNetCore.Identity": "(,10.0.32767]",
"Microsoft.AspNetCore.Localization": "(,10.0.32767]",
"Microsoft.AspNetCore.Localization.Routing": "(,10.0.32767]",
"Microsoft.AspNetCore.Metadata": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.ApiExplorer": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Core": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Cors": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.DataAnnotations": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Formatters.Xml": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Localization": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.Razor": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.RazorPages": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.TagHelpers": "(,10.0.32767]",
"Microsoft.AspNetCore.Mvc.ViewFeatures": "(,10.0.32767]",
"Microsoft.AspNetCore.OutputCaching": "(,10.0.32767]",
"Microsoft.AspNetCore.RateLimiting": "(,10.0.32767]",
"Microsoft.AspNetCore.Razor": "(,10.0.32767]",
"Microsoft.AspNetCore.Razor.Runtime": "(,10.0.32767]",
"Microsoft.AspNetCore.RequestDecompression": "(,10.0.32767]",
"Microsoft.AspNetCore.ResponseCaching": "(,10.0.32767]",
"Microsoft.AspNetCore.ResponseCaching.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.ResponseCompression": "(,10.0.32767]",
"Microsoft.AspNetCore.Rewrite": "(,10.0.32767]",
"Microsoft.AspNetCore.Routing": "(,10.0.32767]",
"Microsoft.AspNetCore.Routing.Abstractions": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.HttpSys": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.IIS": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.IISIntegration": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel.Core": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel.Transport.Quic": "(,10.0.32767]",
"Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets": "(,10.0.32767]",
"Microsoft.AspNetCore.Session": "(,10.0.32767]",
"Microsoft.AspNetCore.SignalR": "(,10.0.32767]",
"Microsoft.AspNetCore.SignalR.Common": "(,10.0.32767]",
"Microsoft.AspNetCore.SignalR.Core": "(,10.0.32767]",
"Microsoft.AspNetCore.SignalR.Protocols.Json": "(,10.0.32767]",
"Microsoft.AspNetCore.StaticAssets": "(,10.0.32767]",
"Microsoft.AspNetCore.StaticFiles": "(,10.0.32767]",
"Microsoft.AspNetCore.WebSockets": "(,10.0.32767]",
"Microsoft.AspNetCore.WebUtilities": "(,10.0.32767]",
"Microsoft.CSharp": "(,4.7.32767]",
"Microsoft.Extensions.Caching.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Caching.Memory": "(,10.0.32767]",
"Microsoft.Extensions.Configuration": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Binder": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.CommandLine": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.FileExtensions": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Ini": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Json": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.KeyPerFile": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.UserSecrets": "(,10.0.32767]",
"Microsoft.Extensions.Configuration.Xml": "(,10.0.32767]",
"Microsoft.Extensions.DependencyInjection": "(,10.0.32767]",
"Microsoft.Extensions.DependencyInjection.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Diagnostics": "(,10.0.32767]",
"Microsoft.Extensions.Diagnostics.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Diagnostics.HealthChecks": "(,10.0.32767]",
"Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Features": "(,10.0.32767]",
"Microsoft.Extensions.FileProviders.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.FileProviders.Composite": "(,10.0.32767]",
"Microsoft.Extensions.FileProviders.Physical": "(,10.0.32767]",
"Microsoft.Extensions.FileSystemGlobbing": "(,10.0.32767]",
"Microsoft.Extensions.Hosting": "(,10.0.32767]",
"Microsoft.Extensions.Hosting.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Http": "(,10.0.32767]",
"Microsoft.Extensions.Identity.Core": "(,10.0.32767]",
"Microsoft.Extensions.Identity.Stores": "(,10.0.32767]",
"Microsoft.Extensions.Localization": "(,10.0.32767]",
"Microsoft.Extensions.Localization.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Logging": "(,10.0.32767]",
"Microsoft.Extensions.Logging.Abstractions": "(,10.0.32767]",
"Microsoft.Extensions.Logging.Configuration": "(,10.0.32767]",
"Microsoft.Extensions.Logging.Console": "(,10.0.32767]",
"Microsoft.Extensions.Logging.Debug": "(,10.0.32767]",
"Microsoft.Extensions.Logging.EventLog": "(,10.0.32767]",
"Microsoft.Extensions.Logging.EventSource": "(,10.0.32767]",
"Microsoft.Extensions.Logging.TraceSource": "(,10.0.32767]",
"Microsoft.Extensions.ObjectPool": "(,10.0.32767]",
"Microsoft.Extensions.Options": "(,10.0.32767]",
"Microsoft.Extensions.Options.ConfigurationExtensions": "(,10.0.32767]",
"Microsoft.Extensions.Options.DataAnnotations": "(,10.0.32767]",
"Microsoft.Extensions.Primitives": "(,10.0.32767]",
"Microsoft.Extensions.Validation": "(,10.0.32767]",
"Microsoft.Extensions.WebEncoders": "(,10.0.32767]",
"Microsoft.JSInterop": "(,10.0.32767]",
"Microsoft.Net.Http.Headers": "(,10.0.32767]",
"Microsoft.VisualBasic": "(,10.4.32767]",
"Microsoft.Win32.Primitives": "(,4.3.32767]",
"Microsoft.Win32.Registry": "(,5.0.32767]",
"runtime.any.System.Collections": "(,4.3.32767]",
"runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
"runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
"runtime.any.System.Globalization": "(,4.3.32767]",
"runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
"runtime.any.System.IO": "(,4.3.32767]",
"runtime.any.System.Reflection": "(,4.3.32767]",
"runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
"runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
"runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
"runtime.any.System.Runtime": "(,4.3.32767]",
"runtime.any.System.Runtime.Handles": "(,4.3.32767]",
"runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
"runtime.any.System.Text.Encoding": "(,4.3.32767]",
"runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
"runtime.any.System.Threading.Tasks": "(,4.3.32767]",
"runtime.any.System.Threading.Timer": "(,4.3.32767]",
"runtime.aot.System.Collections": "(,4.3.32767]",
"runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
"runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
"runtime.aot.System.Globalization": "(,4.3.32767]",
"runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
"runtime.aot.System.IO": "(,4.3.32767]",
"runtime.aot.System.Reflection": "(,4.3.32767]",
"runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
"runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
"runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
"runtime.aot.System.Runtime": "(,4.3.32767]",
"runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
"runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
"runtime.aot.System.Text.Encoding": "(,4.3.32767]",
"runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
"runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
"runtime.aot.System.Threading.Timer": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
"runtime.unix.System.Console": "(,4.3.32767]",
"runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
"runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
"runtime.unix.System.Net.Primitives": "(,4.3.32767]",
"runtime.unix.System.Net.Sockets": "(,4.3.32767]",
"runtime.unix.System.Private.Uri": "(,4.3.32767]",
"runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
"runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
"runtime.win.System.Console": "(,4.3.32767]",
"runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
"runtime.win.System.IO.FileSystem": "(,4.3.32767]",
"runtime.win.System.Net.Primitives": "(,4.3.32767]",
"runtime.win.System.Net.Sockets": "(,4.3.32767]",
"runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
"runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win7.System.Private.Uri": "(,4.3.32767]",
"runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
"System.AppContext": "(,4.3.32767]",
"System.Buffers": "(,5.0.32767]",
"System.Collections": "(,4.3.32767]",
"System.Collections.Concurrent": "(,4.3.32767]",
"System.Collections.Immutable": "(,10.0.32767]",
"System.Collections.NonGeneric": "(,4.3.32767]",
"System.Collections.Specialized": "(,4.3.32767]",
"System.ComponentModel": "(,4.3.32767]",
"System.ComponentModel.Annotations": "(,4.3.32767]",
"System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
"System.ComponentModel.Primitives": "(,4.3.32767]",
"System.ComponentModel.TypeConverter": "(,4.3.32767]",
"System.Console": "(,4.3.32767]",
"System.Data.Common": "(,4.3.32767]",
"System.Data.DataSetExtensions": "(,4.4.32767]",
"System.Diagnostics.Contracts": "(,4.3.32767]",
"System.Diagnostics.Debug": "(,4.3.32767]",
"System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
"System.Diagnostics.EventLog": "(,10.0.32767]",
"System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
"System.Diagnostics.Process": "(,4.3.32767]",
"System.Diagnostics.StackTrace": "(,4.3.32767]",
"System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
"System.Diagnostics.Tools": "(,4.3.32767]",
"System.Diagnostics.TraceSource": "(,4.3.32767]",
"System.Diagnostics.Tracing": "(,4.3.32767]",
"System.Drawing.Primitives": "(,4.3.32767]",
"System.Dynamic.Runtime": "(,4.3.32767]",
"System.Formats.Asn1": "(,10.0.32767]",
"System.Formats.Cbor": "(,10.0.32767]",
"System.Formats.Tar": "(,10.0.32767]",
"System.Globalization": "(,4.3.32767]",
"System.Globalization.Calendars": "(,4.3.32767]",
"System.Globalization.Extensions": "(,4.3.32767]",
"System.IO": "(,4.3.32767]",
"System.IO.Compression": "(,4.3.32767]",
"System.IO.Compression.ZipFile": "(,4.3.32767]",
"System.IO.FileSystem": "(,4.3.32767]",
"System.IO.FileSystem.AccessControl": "(,4.4.32767]",
"System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
"System.IO.FileSystem.Primitives": "(,4.3.32767]",
"System.IO.FileSystem.Watcher": "(,4.3.32767]",
"System.IO.IsolatedStorage": "(,4.3.32767]",
"System.IO.MemoryMappedFiles": "(,4.3.32767]",
"System.IO.Pipelines": "(,10.0.32767]",
"System.IO.Pipes": "(,4.3.32767]",
"System.IO.Pipes.AccessControl": "(,5.0.32767]",
"System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
"System.Linq": "(,4.3.32767]",
"System.Linq.AsyncEnumerable": "(,10.0.32767]",
"System.Linq.Expressions": "(,4.3.32767]",
"System.Linq.Parallel": "(,4.3.32767]",
"System.Linq.Queryable": "(,4.3.32767]",
"System.Memory": "(,5.0.32767]",
"System.Net.Http": "(,4.3.32767]",
"System.Net.Http.Json": "(,10.0.32767]",
"System.Net.NameResolution": "(,4.3.32767]",
"System.Net.NetworkInformation": "(,4.3.32767]",
"System.Net.Ping": "(,4.3.32767]",
"System.Net.Primitives": "(,4.3.32767]",
"System.Net.Requests": "(,4.3.32767]",
"System.Net.Security": "(,4.3.32767]",
"System.Net.ServerSentEvents": "(,10.0.32767]",
"System.Net.Sockets": "(,4.3.32767]",
"System.Net.WebHeaderCollection": "(,4.3.32767]",
"System.Net.WebSockets": "(,4.3.32767]",
"System.Net.WebSockets.Client": "(,4.3.32767]",
"System.Numerics.Vectors": "(,5.0.32767]",
"System.ObjectModel": "(,4.3.32767]",
"System.Private.DataContractSerialization": "(,4.3.32767]",
"System.Private.Uri": "(,4.3.32767]",
"System.Reflection": "(,4.3.32767]",
"System.Reflection.DispatchProxy": "(,6.0.32767]",
"System.Reflection.Emit": "(,4.7.32767]",
"System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
"System.Reflection.Emit.Lightweight": "(,4.7.32767]",
"System.Reflection.Extensions": "(,4.3.32767]",
"System.Reflection.Metadata": "(,10.0.32767]",
"System.Reflection.Primitives": "(,4.3.32767]",
"System.Reflection.TypeExtensions": "(,4.3.32767]",
"System.Resources.Reader": "(,4.3.32767]",
"System.Resources.ResourceManager": "(,4.3.32767]",
"System.Resources.Writer": "(,4.3.32767]",
"System.Runtime": "(,4.3.32767]",
"System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
"System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
"System.Runtime.Extensions": "(,4.3.32767]",
"System.Runtime.Handles": "(,4.3.32767]",
"System.Runtime.InteropServices": "(,4.3.32767]",
"System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
"System.Runtime.Loader": "(,4.3.32767]",
"System.Runtime.Numerics": "(,4.3.32767]",
"System.Runtime.Serialization.Formatters": "(,4.3.32767]",
"System.Runtime.Serialization.Json": "(,4.3.32767]",
"System.Runtime.Serialization.Primitives": "(,4.3.32767]",
"System.Runtime.Serialization.Xml": "(,4.3.32767]",
"System.Security.AccessControl": "(,6.0.32767]",
"System.Security.Claims": "(,4.3.32767]",
"System.Security.Cryptography.Algorithms": "(,4.3.32767]",
"System.Security.Cryptography.Cng": "(,5.0.32767]",
"System.Security.Cryptography.Csp": "(,4.3.32767]",
"System.Security.Cryptography.Encoding": "(,4.3.32767]",
"System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
"System.Security.Cryptography.Primitives": "(,4.3.32767]",
"System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
"System.Security.Cryptography.Xml": "(,10.0.32767]",
"System.Security.Principal": "(,4.3.32767]",
"System.Security.Principal.Windows": "(,5.0.32767]",
"System.Security.SecureString": "(,4.3.32767]",
"System.Text.Encoding": "(,4.3.32767]",
"System.Text.Encoding.CodePages": "(,10.0.32767]",
"System.Text.Encoding.Extensions": "(,4.3.32767]",
"System.Text.Encodings.Web": "(,10.0.32767]",
"System.Text.Json": "(,10.0.32767]",
"System.Text.RegularExpressions": "(,4.3.32767]",
"System.Threading": "(,4.3.32767]",
"System.Threading.AccessControl": "(,10.0.32767]",
"System.Threading.Channels": "(,10.0.32767]",
"System.Threading.Overlapped": "(,4.3.32767]",
"System.Threading.RateLimiting": "(,10.0.32767]",
"System.Threading.Tasks": "(,4.3.32767]",
"System.Threading.Tasks.Dataflow": "(,10.0.32767]",
"System.Threading.Tasks.Extensions": "(,5.0.32767]",
"System.Threading.Tasks.Parallel": "(,4.3.32767]",
"System.Threading.Thread": "(,4.3.32767]",
"System.Threading.ThreadPool": "(,4.3.32767]",
"System.Threading.Timer": "(,4.3.32767]",
"System.ValueTuple": "(,4.5.32767]",
"System.Xml.ReaderWriter": "(,4.3.32767]",
"System.Xml.XDocument": "(,4.3.32767]",
"System.Xml.XmlDocument": "(,4.3.32767]",
"System.Xml.XmlSerializer": "(,4.3.32767]",
"System.Xml.XPath": "(,4.3.32767]",
"System.Xml.XPath.XDocument": "(,5.0.32767]"
}
}
}
}
}
@@ -0,0 +1,11 @@
{
"version": 2,
"dgSpecHash": "OwpJmRJF+nE=",
"success": true,
"projectFilePath": "D:\\CSharpProjects\\agent4\\backend-csharp\\Agent4.Api\\Agent4.Api.csproj",
"expectedPackageFiles": [
"C:\\Users\\86182\\.nuget\\packages\\solidworks.interop.sldworks\\32.1.0\\solidworks.interop.sldworks.32.1.0.nupkg.sha512",
"C:\\Users\\86182\\.nuget\\packages\\solidworks.interop.swconst\\32.1.0\\solidworks.interop.swconst.32.1.0.nupkg.sha512"
],
"logs": []
}
+2
View File
@@ -0,0 +1,2 @@
"""Agent4 learning and assessment backend."""
+50
View File
@@ -0,0 +1,50 @@
from __future__ import annotations
import json
from pathlib import Path
from typing import Any
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
AGENT4_ROOT = Path(__file__).resolve().parents[2]
WORKSPACE_ROOT = AGENT4_ROOT.parent
class Settings(BaseSettings):
app_name: str = "Agent4 SW/ANSYS Learning Platform"
host: str = "127.0.0.1"
port: int = 7200
knowledge_framework_path: Path = AGENT4_ROOT / "data" / "knowledge" / "reducer_three_layer_framework.json"
legacy_knowledge_framework_path: Path = WORKSPACE_ROOT / "mechanical_knowledge_base_final" / "data" / "framework" / "reducer_three_layer_framework.json"
standard_skillflow_dirs: list[Path] = Field(
default_factory=lambda: [
AGENT4_ROOT / "data" / "standards",
WORKSPACE_ROOT / "runtime_tmp",
]
)
part_feature_audit_project: Path = AGENT4_ROOT / "tools" / "modeling-process" / "PartFeatureAudit" / "PartFeatureAudit.csproj"
assembly_knowledge_audit_project: Path = AGENT4_ROOT / "tools" / "modeling-process" / "AssemblyKnowledgeAudit" / "AssemblyKnowledgeAudit.csproj"
runtime_dir: Path = AGENT4_ROOT / "runtime"
project_paths_file: Path = AGENT4_ROOT / "project_paths.json"
model_config = SettingsConfigDict(
env_file=str(AGENT4_ROOT / ".env"),
env_prefix="AGENT4_",
extra="ignore",
)
def software_paths(self) -> dict[str, Any]:
if not self.project_paths_file.exists():
return {}
try:
return json.loads(self.project_paths_file.read_text(encoding="utf-8-sig"))
except Exception:
return {}
settings = Settings()
+58
View File
@@ -0,0 +1,58 @@
from __future__ import annotations
import json
import subprocess
from pathlib import Path
from .config import AGENT4_ROOT, settings
from .models import SkillStep
from .skillflow import normalize_steps
class SolidWorksExtractor:
def audit_part(self, part_path: str) -> list[SkillStep]:
path = Path(part_path)
if not path.exists():
raise FileNotFoundError(part_path)
output_dir = settings.runtime_dir / "audits" / path.stem
output_dir.mkdir(parents=True, exist_ok=True)
command = [
"dotnet",
"run",
"--project",
str(settings.part_feature_audit_project),
"--",
str(path),
"--output-dir",
str(output_dir),
]
subprocess.run(command, check=True, cwd=str(AGENT4_ROOT))
return self._read_latest_steps(output_dir)
def audit_active_part(self) -> list[SkillStep]:
output_dir = settings.runtime_dir / "audits" / "active-part"
output_dir.mkdir(parents=True, exist_ok=True)
command = [
"dotnet",
"run",
"--project",
str(settings.part_feature_audit_project),
"--",
"--active",
"--output-dir",
str(output_dir),
]
subprocess.run(command, check=True, cwd=str(AGENT4_ROOT))
return self._read_latest_steps(output_dir)
def _read_latest_steps(self, output_dir: Path) -> list[SkillStep]:
candidates = sorted(
list(output_dir.glob("*_modeling_plan.json")) + list(output_dir.glob("*_skill_flow.json")),
key=lambda item: item.stat().st_mtime,
reverse=True,
)
if not candidates:
raise FileNotFoundError(f"No audit JSON generated under {output_dir}")
payload = json.loads(candidates[0].read_text(encoding="utf-8-sig"))
return normalize_steps(payload)
+121
View File
@@ -0,0 +1,121 @@
from __future__ import annotations
from .models import CompareIssue, GradeReport, LessonStep, SkillStep, StepCompareResult
CORE_ARGUMENTS = {
"extrude_boss_mm": ["depth_mm", "end_condition_code", "through_all"],
"extrude_cut_mm": ["depth_mm", "end_condition_code", "through_all"],
"shell_remove_face_at_point_mm": ["thickness_mm"],
"draw_circle_diameter_mm": ["diameter_mm", "center_model_mm", "cx_mm", "cy_mm"],
"fillet_edges_radius_mm": ["radius_mm"],
"chamfer_edges_angle_distance_mm": ["distance_mm", "angle_deg"],
"linear_pattern_feature_mm": ["count1", "spacing1_mm"],
"circular_pattern_feature": ["count", "angle_deg"],
}
class FeatureGrader:
def compare_step(self, expected: LessonStep, observed: SkillStep | None) -> StepCompareResult:
if observed is None:
return StepCompareResult(
ok=False,
score=0,
expected_step=expected,
feedback_text=f"没有检测到本步骤的操作。请执行:{expected.title}",
issues=[
CompareIssue(
code="missing_operation",
message=f"Expected {expected.expected_skill}, but no user feature was observed.",
expected={"skill": expected.expected_skill},
)
],
)
issues: list[CompareIssue] = []
if expected.expected_skill != observed.skill:
issues.append(
CompareIssue(
code="wrong_feature_method",
message=f"方法错误:标准答案要求 {expected.expected_skill},学生实际使用 {observed.skill}",
expected={"skill": expected.expected_skill, "title": expected.title},
actual={"skill": observed.skill, "name": observed.name, "source_feature": observed.source_feature},
)
)
issues.extend(compare_core_arguments(expected.expected_skill, expected.expected_arguments, observed.arguments))
ok = not issues
return StepCompareResult(
ok=ok,
score=100.0 if ok else max(0.0, 60.0 - 20.0 * len(issues)),
expected_step=expected,
observed_step=observed,
issues=issues,
feedback_text=success_feedback(expected) if ok else failure_feedback(expected, issues),
)
def grade_sequence(self, expected: list[LessonStep], observed: list[SkillStep]) -> GradeReport:
issues: list[CompareIssue] = []
passed = 0
total = len(expected)
for index, step in enumerate(expected):
obs = observed[index] if index < len(observed) else None
result = self.compare_step(step, obs)
if result.ok:
passed += 1
issues.extend(result.issues)
score = 100.0 if total == 0 else round((passed / total) * 100.0, 2)
return GradeReport(
ok=score >= 90.0 and not any(issue.severity == "error" for issue in issues),
score=score,
passed_steps=passed,
total_steps=total,
issues=issues,
summary=f"Passed {passed}/{total} feature-method steps.",
)
def compare_core_arguments(skill: str, expected: dict[str, object], actual: dict[str, object]) -> list[CompareIssue]:
result: list[CompareIssue] = []
for key in CORE_ARGUMENTS.get(skill, []):
if key not in expected:
continue
if key not in actual:
result.append(
CompareIssue(
code="missing_parameter",
message=f"参数缺失:{key}",
expected={key: expected.get(key)},
actual={},
)
)
continue
if not values_close(expected.get(key), actual.get(key)):
result.append(
CompareIssue(
code="wrong_parameter",
message=f"参数错误:{key} 标准值为 {expected.get(key)},实际值为 {actual.get(key)}",
expected={key: expected.get(key)},
actual={key: actual.get(key)},
)
)
return result
def values_close(expected: object, actual: object, tolerance: float = 0.05) -> bool:
if isinstance(expected, (int, float)) and isinstance(actual, (int, float)):
return abs(float(expected) - float(actual)) <= tolerance
if isinstance(expected, list) and isinstance(actual, list) and len(expected) == len(actual):
return all(values_close(e, a, tolerance) for e, a in zip(expected, actual))
return str(expected) == str(actual)
def success_feedback(expected: LessonStep) -> str:
return f"正确。你使用了本步骤要求的 {expected.title},可以进入下一步。"
def failure_feedback(expected: LessonStep, issues: list[CompareIssue]) -> str:
first = issues[0].message if issues else "操作不符合标准答案。"
return f"{first} 本步骤要求:{expected.voice_text}"
+184
View File
@@ -0,0 +1,184 @@
from __future__ import annotations
import json
from pathlib import Path
from typing import Any
from .config import settings
from .models import StandardAnswer, StandardKind
from .skillflow import make_standard_id, tags_for_text, load_standard_from_file
class KnowledgeRepository:
def __init__(self) -> None:
self._standards: dict[str, StandardAnswer] = {}
self.reload()
def reload(self) -> None:
standards: dict[str, StandardAnswer] = {}
for item in self._load_manifest_standards():
standards[item.standard_id] = item
for item in self._load_framework_refs():
standards.setdefault(item.standard_id, item)
for item in self._load_local_json_standards():
standards.setdefault(item.standard_id, item)
self._standards = standards
def list_standards(self, query: str = "", kind: StandardKind | None = None) -> list[StandardAnswer]:
items = list(self._standards.values())
if kind and kind != StandardKind.unknown:
items = [item for item in items if item.kind == kind]
if query.strip():
tokens = _tokens(query)
scored = [(score_standard(tokens, item), item) for item in items]
items = [item for score, item in sorted(scored, key=lambda pair: pair[0], reverse=True) if score > 0]
return items
def require(self, standard_id: str) -> StandardAnswer:
if standard_id not in self._standards:
raise KeyError(f"standard answer not found: {standard_id}")
return self._standards[standard_id]
def _load_local_json_standards(self) -> list[StandardAnswer]:
result: list[StandardAnswer] = []
for root in settings.standard_skillflow_dirs:
if not root.exists():
continue
for path in root.rglob("*.json"):
if not _looks_like_skillflow_name(path.name):
continue
standard = load_standard_from_file(path)
if standard:
result.append(standard)
return result
def _load_manifest_standards(self) -> list[StandardAnswer]:
manifest_path = settings.standard_skillflow_dirs[0] / "manifest.json"
if not manifest_path.exists():
return []
try:
manifest = json.loads(manifest_path.read_text(encoding="utf-8-sig"))
except Exception:
return []
entries = manifest.get("entries")
if not isinstance(entries, list):
return []
result: list[StandardAnswer] = []
root = manifest_path.parent
for entry in entries:
if not isinstance(entry, dict):
continue
standard = self._standard_from_manifest_entry(root, entry)
if standard:
result.append(standard)
return result
def _standard_from_manifest_entry(self, root: Path, entry: dict[str, Any]) -> StandardAnswer | None:
preferred = (
entry.get("modeling_plan_path")
or entry.get("knowledge_skillflow_path")
or entry.get("skill_flow_path")
or ""
)
payload_path = root / str(preferred)
loaded = load_standard_from_file(payload_path) if preferred else None
if loaded is None:
return StandardAnswer(
standard_id=str(entry.get("standard_id") or ""),
title=str(entry.get("title") or entry.get("source_base_name") or ""),
kind=_standard_kind(str(entry.get("kind") or "unknown")),
source_path=str(payload_path) if preferred else "",
source_type="manifest_ref",
tags=tags_for_text(f"{entry.get('title', '')} {entry.get('category', '')}"),
summary="Manifest standard answer reference without a readable local payload.",
steps=[],
raw={"manifest_entry": entry},
)
loaded.standard_id = str(entry.get("standard_id") or loaded.standard_id)
loaded.title = str(entry.get("title") or loaded.title)
loaded.kind = _standard_kind(str(entry.get("kind") or loaded.kind.value))
loaded.source_type = "manifest"
loaded.tags = sorted(set(loaded.tags + tags_for_text(f"{loaded.title} {entry.get('category', '')}")))
loaded.summary = loaded.summary or f"Manifest standard answer: {loaded.title}"
loaded.raw = {
"manifest_entry": entry,
"payload": loaded.raw,
}
return loaded
def _load_framework_refs(self) -> list[StandardAnswer]:
path = settings.knowledge_framework_path if settings.knowledge_framework_path.exists() else settings.legacy_knowledge_framework_path
if not path.exists():
return []
try:
framework = json.loads(path.read_text(encoding="utf-8-sig"))
except Exception:
return []
result: list[StandardAnswer] = []
impl = framework.get("function_implementation_library", {}) if isinstance(framework, dict) else {}
for section in impl.get("sections", []) if isinstance(impl.get("sections"), list) else []:
for flow in section.get("skillflows", []) if isinstance(section, dict) and isinstance(section.get("skillflows"), list) else []:
result.append(_standard_ref(flow, "assembly", path))
for part in framework.get("part_library", []) if isinstance(framework, dict) and isinstance(framework.get("part_library"), list) else []:
category = str(part.get("category_name") or part.get("category_code") or "")
for flow in part.get("modeling_skillflows", []) if isinstance(part, dict) and isinstance(part.get("modeling_skillflows"), list) else []:
result.append(_standard_ref(flow, "part", path, category))
return [item for item in result if item.standard_id]
def _standard_ref(flow: dict[str, Any], kind: str, framework_path: Path, category: str = "") -> StandardAnswer:
title = str(flow.get("skillflow_name") or flow.get("name") or "")
source_path = str(flow.get("path") or "")
text = f"{title} {source_path} {category}"
return StandardAnswer(
standard_id=make_standard_id(f"{kind}-{title or source_path}"),
title=title or source_path,
kind=_standard_kind(kind),
source_path=source_path,
source_type="framework_ref",
tags=tags_for_text(text),
summary=f"Knowledge-base standard answer reference from {framework_path.name}.",
steps=[],
raw={"framework_path": str(framework_path), "category": category, "ref": flow},
)
def score_standard(tokens: list[str], item: StandardAnswer) -> int:
text = " ".join(
[
item.standard_id,
item.title,
item.summary,
item.source_path,
" ".join(item.tags),
" ".join(step.skill + " " + step.name + " " + step.source_feature for step in item.steps[:80]),
]
).lower()
return sum(text.count(token) for token in tokens)
def _tokens(query: str) -> list[str]:
lowered = query.lower()
raw = [item for item in lowered.replace("_", " ").replace("-", " ").split() if len(item) >= 2]
for index in range(len(lowered) - 1):
pair = lowered[index : index + 2]
if any("\u4e00" <= ch <= "\u9fff" for ch in pair):
raw.append(pair)
seen: set[str] = set()
return [item for item in raw if item not in seen and not seen.add(item)]
def _looks_like_skillflow_name(name: str) -> bool:
lowered = name.lower()
return "skillflow" in lowered or "skill_flow" in lowered or "modeling_plan" in lowered or "knowledge" in lowered
def _standard_kind(value: str) -> StandardKind:
try:
return StandardKind(value)
except ValueError:
return StandardKind.unknown
+68
View File
@@ -0,0 +1,68 @@
from __future__ import annotations
from .models import LessonStep, StandardAnswer
SKILL_LABELS = {
"create_new_part": "新建零件",
"create_front_plane_sketch": "在前视基准面创建草图",
"create_top_plane_sketch": "在上视基准面创建草图",
"create_right_plane_sketch": "在右视基准面创建草图",
"draw_circle_diameter_mm": "绘制圆",
"draw_line_mm": "绘制直线",
"extrude_boss_mm": "凸台拉伸",
"extrude_cut_mm": "切除拉伸",
"create_revolve_boss_mm": "旋转凸台",
"create_revolve_cut_mm": "旋转切除",
"shell_remove_face_at_point_mm": "抽壳",
"loft_boss_from_profiles": "放样凸台",
"loft_cut_from_profiles": "放样切除",
"swept_boss_circular_profile_mm": "扫描凸台",
"swept_cut_circular_profile_mm": "扫描切除",
"fillet_edges_radius_mm": "圆角",
"chamfer_edges_angle_distance_mm": "倒角",
"hole_wizard_threaded_mm": "异形孔向导",
"linear_pattern_feature_mm": "线性阵列",
"circular_pattern_feature": "圆周阵列",
"mirror_feature_about_plane": "镜像",
}
def build_lesson_steps(standard: StandardAnswer) -> list[LessonStep]:
result: list[LessonStep] = []
for index, step in enumerate(standard.steps, 1):
title = SKILL_LABELS.get(step.skill, step.name or step.skill)
result.append(
LessonStep(
step_id=f"lesson-{index:03d}",
order=index,
title=title,
voice_text=voice_text_for(step.skill, title, step.arguments),
expected_skill=step.skill,
expected_arguments=step.arguments,
source_feature=step.source_feature,
check_policy={
"match": "skill_and_core_arguments",
"method_required": True,
"geometry_is_secondary": True,
},
)
)
return result
def voice_text_for(skill: str, title: str, args: dict[str, object]) -> str:
if skill.endswith("_sketch") or "sketch" in skill:
return f"请在 SolidWorks 中执行:{title}。注意选择正确的基准面或参考面。"
if skill == "extrude_boss_mm":
return f"请点击特征中的凸台拉伸,深度设置为 {args.get('depth_mm', '标准答案要求值')} 毫米。"
if skill == "extrude_cut_mm":
return f"请点击特征中的切除拉伸,深度或终止条件按照标准答案设置。不要用抽壳或删除面替代。"
if skill == "shell_remove_face_at_point_mm":
return f"请点击特征中的抽壳,壁厚设置为 {args.get('thickness_mm', '标准答案要求值')} 毫米,并选择需要移除的开口面。"
if "loft" in skill:
return "请使用放样命令,按标准答案依次选择轮廓草图。不要用拉伸或扫描替代。"
if "swept" in skill:
return "请使用扫描命令,选择正确的轮廓和路径。不要用放样或拉伸替代。"
return f"请在 SolidWorks 中完成:{title}。完成后系统会读取特征树并判断方法与参数是否正确。"
+151
View File
@@ -0,0 +1,151 @@
from __future__ import annotations
from fastapi import FastAPI, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from .config import settings
from .extractor import SolidWorksExtractor
from .grader import FeatureGrader
from .knowledge import KnowledgeRepository
from .models import (
AuditPartRequest,
ObservationRequest,
SessionMode,
StandardKind,
StartSessionRequest,
SubmitTestRequest,
)
from .sessions import LearningService, SessionStore
from .skillflow import normalize_steps
app = FastAPI(title=settings.app_name)
app.add_middleware(
CORSMiddleware,
allow_origins=[
"http://localhost:5173",
"http://127.0.0.1:5173",
"http://localhost:5174",
"http://127.0.0.1:5174",
"http://localhost:5175",
"http://127.0.0.1:5175",
],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
knowledge = KnowledgeRepository()
store = SessionStore()
grader = FeatureGrader()
learning = LearningService(store, grader)
extractor = SolidWorksExtractor()
@app.get("/health")
async def health() -> dict[str, object]:
return {
"ok": True,
"service": settings.app_name,
"standards": len(knowledge.list_standards()),
"software_paths": settings.software_paths(),
}
@app.post("/api/knowledge/reload")
async def reload_knowledge() -> dict[str, object]:
knowledge.reload()
return {"ok": True, "standards": len(knowledge.list_standards())}
@app.get("/api/standards")
async def list_standards(query: str = "", kind: StandardKind | None = None) -> dict[str, object]:
items = knowledge.list_standards(query=query, kind=kind)
return {"items": [item.model_dump(mode="json", exclude={"raw"}) for item in items]}
@app.get("/api/standards/{standard_id}")
async def get_standard(standard_id: str) -> dict[str, object]:
try:
return knowledge.require(standard_id).model_dump(mode="json")
except KeyError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
@app.post("/api/teaching/sessions")
async def start_teaching(request: StartSessionRequest) -> dict[str, object]:
try:
standard = knowledge.require(request.standard_id)
except KeyError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
return store.start(SessionMode.teaching, standard).model_dump(mode="json")
@app.post("/api/testing/sessions")
async def start_testing(request: StartSessionRequest) -> dict[str, object]:
try:
standard = knowledge.require(request.standard_id)
except KeyError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
return store.start(SessionMode.testing, standard).model_dump(mode="json")
@app.get("/api/sessions/{session_id}")
async def get_session(session_id: str) -> dict[str, object]:
try:
return store.require(session_id).model_dump(mode="json")
except KeyError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
@app.post("/api/teaching/sessions/{session_id}/observations")
async def submit_teaching_observation(session_id: str, request: ObservationRequest) -> dict[str, object]:
observed = normalize_steps({"steps": request.steps})
try:
result = learning.submit_teaching_observation(session_id, observed)
return result.model_dump(mode="json")
except KeyError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
@app.post("/api/teaching/sessions/{session_id}/audit-part")
async def audit_part_for_teaching(session_id: str, request: AuditPartRequest) -> dict[str, object]:
try:
observed = extractor.audit_part(request.part_path)
result = learning.submit_teaching_observation(session_id, observed[-1:] if observed else [])
return {"observed_steps": [item.model_dump(mode="json") for item in observed], "result": result.model_dump(mode="json")}
except KeyError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
except Exception as exc:
raise HTTPException(status_code=500, detail=str(exc)) from exc
@app.post("/api/teaching/sessions/{session_id}/audit-active-part")
async def audit_active_part_for_teaching(session_id: str) -> dict[str, object]:
try:
session = store.require(session_id)
observed = extractor.audit_active_part()
current_index = session.current_step_index
current_step = observed[current_index : current_index + 1] if current_index < len(observed) else []
result = learning.submit_teaching_observation(session_id, current_step)
return {
"observed_steps": [item.model_dump(mode="json") for item in observed],
"submitted_steps": [item.model_dump(mode="json") for item in current_step],
"result": result.model_dump(mode="json"),
}
except KeyError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
except Exception as exc:
raise HTTPException(status_code=500, detail=str(exc)) from exc
@app.post("/api/testing/sessions/{session_id}/submit")
async def submit_test(session_id: str, request: SubmitTestRequest) -> dict[str, object]:
try:
observed = extractor.audit_part(request.part_path) if request.part_path else normalize_steps({"steps": request.steps})
report = learning.submit_test(session_id, observed)
return report.model_dump(mode="json")
except KeyError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
except Exception as exc:
raise HTTPException(status_code=500, detail=str(exc)) from exc
+113
View File
@@ -0,0 +1,113 @@
from __future__ import annotations
from datetime import datetime
from enum import Enum
from typing import Any
from uuid import uuid4
from pydantic import BaseModel, Field
class SessionMode(str, Enum):
teaching = "teaching"
testing = "testing"
class StandardKind(str, Enum):
part = "part"
assembly = "assembly"
simulation = "simulation"
unknown = "unknown"
class SkillStep(BaseModel):
id: str = ""
order: int = 0
skill: str
name: str = ""
description: str = ""
arguments: dict[str, Any] = Field(default_factory=dict)
source_feature: str = ""
note: str = ""
class StandardAnswer(BaseModel):
standard_id: str
title: str
kind: StandardKind = StandardKind.unknown
source_path: str = ""
source_type: str = "skillflow"
tags: list[str] = Field(default_factory=list)
summary: str = ""
steps: list[SkillStep] = Field(default_factory=list)
raw: dict[str, Any] = Field(default_factory=dict)
class LessonStep(BaseModel):
step_id: str
order: int
title: str
voice_text: str
expected_skill: str
expected_arguments: dict[str, Any] = Field(default_factory=dict)
source_feature: str = ""
check_policy: dict[str, Any] = Field(default_factory=dict)
class CompareIssue(BaseModel):
severity: str = "error"
code: str
message: str
expected: dict[str, Any] = Field(default_factory=dict)
actual: dict[str, Any] = Field(default_factory=dict)
class StepCompareResult(BaseModel):
ok: bool
score: float = 0.0
expected_step: LessonStep | None = None
observed_step: SkillStep | None = None
issues: list[CompareIssue] = Field(default_factory=list)
feedback_text: str = ""
class GradeReport(BaseModel):
ok: bool
score: float
max_score: float = 100.0
passed_steps: int = 0
total_steps: int = 0
issues: list[CompareIssue] = Field(default_factory=list)
summary: str = ""
class LearningSession(BaseModel):
session_id: str = Field(default_factory=lambda: f"sess-{uuid4().hex[:10]}")
mode: SessionMode
standard_id: str
title: str
current_step_index: int = 0
created_at: datetime = Field(default_factory=datetime.now)
lesson_steps: list[LessonStep] = Field(default_factory=list)
observed_steps: list[SkillStep] = Field(default_factory=list)
reports: list[StepCompareResult] = Field(default_factory=list)
final_report: GradeReport | None = None
status: str = "active"
class StartSessionRequest(BaseModel):
standard_id: str
class ObservationRequest(BaseModel):
steps: list[dict[str, Any]] = Field(default_factory=list)
class AuditPartRequest(BaseModel):
part_path: str
class SubmitTestRequest(BaseModel):
steps: list[dict[str, Any]] = Field(default_factory=list)
part_path: str = ""
+58
View File
@@ -0,0 +1,58 @@
from __future__ import annotations
from .grader import FeatureGrader
from .lesson import build_lesson_steps
from .models import LearningSession, SessionMode, SkillStep, StandardAnswer, StepCompareResult
class SessionStore:
def __init__(self) -> None:
self._items: dict[str, LearningSession] = {}
def start(self, mode: SessionMode, standard: StandardAnswer) -> LearningSession:
session = LearningSession(
mode=mode,
standard_id=standard.standard_id,
title=standard.title,
lesson_steps=build_lesson_steps(standard),
)
self._items[session.session_id] = session
return session
def require(self, session_id: str) -> LearningSession:
if session_id not in self._items:
raise KeyError(f"session not found: {session_id}")
return self._items[session_id]
class LearningService:
def __init__(self, store: SessionStore, grader: FeatureGrader) -> None:
self.store = store
self.grader = grader
def submit_teaching_observation(self, session_id: str, observed: list[SkillStep]) -> StepCompareResult:
session = self.store.require(session_id)
session.observed_steps.extend(observed)
expected = session.lesson_steps[session.current_step_index] if session.current_step_index < len(session.lesson_steps) else None
if expected is None:
session.status = "completed"
result = StepCompareResult(ok=True, score=100, feedback_text="教学步骤已经完成。")
session.reports.append(result)
return result
actual = observed[-1] if observed else None
result = self.grader.compare_step(expected, actual)
session.reports.append(result)
if result.ok:
session.current_step_index += 1
if session.current_step_index >= len(session.lesson_steps):
session.status = "completed"
return result
def submit_test(self, session_id: str, observed: list[SkillStep]):
session = self.store.require(session_id)
session.observed_steps = observed
report = self.grader.grade_sequence(session.lesson_steps, observed)
session.final_report = report
session.status = "completed"
return report
+106
View File
@@ -0,0 +1,106 @@
from __future__ import annotations
import json
from pathlib import Path
from typing import Any
from .models import SkillStep, StandardAnswer, StandardKind
def load_standard_from_file(path: Path) -> StandardAnswer | None:
try:
raw = json.loads(path.read_text(encoding="utf-8-sig"))
except Exception:
return None
steps = normalize_steps(raw)
if not steps:
return None
schema_version = raw.get("schemaVersion", "") if isinstance(raw, dict) else ""
kind = StandardKind.assembly if "assembly" in str(schema_version).lower() else StandardKind.part
title = path.stem
modeling_plan = raw.get("modelingPlan") if isinstance(raw, dict) and isinstance(raw.get("modelingPlan"), dict) else {}
approved_text = raw.get("approvedPlanText") if isinstance(raw, dict) else ""
summary = str(modeling_plan.get("summary") or approved_text or "")
return StandardAnswer(
standard_id=make_standard_id(path.stem),
title=title,
kind=kind,
source_path=str(path),
source_type="local_json",
tags=tags_for_text(f"{title} {summary}"),
summary=summary,
steps=steps,
raw=raw if isinstance(raw, dict) else {"steps": raw},
)
def normalize_steps(payload: Any) -> list[SkillStep]:
raw_steps: list[Any] = []
if isinstance(payload, list):
raw_steps = payload
elif isinstance(payload, dict):
if isinstance(payload.get("steps"), list):
raw_steps = payload["steps"]
elif isinstance(payload.get("modelingPlan"), dict) and isinstance(payload["modelingPlan"].get("steps"), list):
raw_steps = payload["modelingPlan"]["steps"]
elif isinstance(payload.get("modeling_plan"), dict) and isinstance(payload["modeling_plan"].get("steps"), list):
raw_steps = payload["modeling_plan"]["steps"]
result: list[SkillStep] = []
for index, item in enumerate(raw_steps, 1):
if not isinstance(item, dict):
continue
skill = str(item.get("skill") or item.get("skillName") or item.get("skill_name") or "")
if not skill:
continue
args = item.get("args") or item.get("arguments") or {}
if not isinstance(args, dict):
args = {}
result.append(
SkillStep(
id=str(item.get("id") or f"step-{index:03d}"),
order=int(item.get("step") or index),
skill=skill,
name=str(item.get("name") or item.get("source_feature") or skill),
description=str(item.get("description") or item.get("note") or ""),
arguments=args,
source_feature=str(item.get("source_feature") or item.get("sourceFeature") or item.get("name") or ""),
note=str(item.get("note") or item.get("description") or ""),
)
)
return result
def make_standard_id(text: str) -> str:
normalized = []
for ch in text.lower():
if ch.isalnum() or "\u4e00" <= ch <= "\u9fff":
normalized.append(ch)
else:
normalized.append("-")
return "-".join(part for part in "".join(normalized).split("-") if part)[:120] or "standard"
def tags_for_text(text: str) -> list[str]:
tags: list[str] = []
mapping = {
"齿轮": "gear",
"": "gear",
"": "shaft",
"": "housing",
"端盖": "cover",
"减速器": "reducer",
"装配": "assembly",
"assembly": "assembly",
"shell": "shell",
"抽壳": "shell",
"loft": "loft",
"放样": "loft",
}
lowered = text.lower()
for key, tag in mapping.items():
if key.lower() in lowered and tag not in tags:
tags.append(tag)
return tags
File diff suppressed because it is too large Load Diff
+869
View File
@@ -0,0 +1,869 @@
{
"schema_version": "agent4.standard_manifest.v1",
"source_dir": "D:\\Desktop\\提取记录",
"entries": [
{
"standard_id": "part-housing-upper-housing",
"title": "上箱体",
"kind": "part",
"category": "housing",
"source_base_name": "上箱体",
"modeling_plan_path": "parts/housing/上箱体/上箱体_modeling_plan.json",
"skill_flow_path": "parts/housing/上箱体/上箱体_skill_flow.json",
"validation_path": "parts/housing/上箱体/上箱体_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 156,
"skills_used": [
"create_angle_plane_by_axis_and_face",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_new_part",
"create_offset_plane_mm",
"create_ref_plane_sketch_by_name",
"create_reference_axis",
"create_rib_mm",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"hole_wizard_threaded_mm",
"mirror_feature_about_plane",
"select_edges_by_signature",
"select_reference_plane_by_name",
"shell_remove_face_at_point_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-housing-lower-housing",
"title": "下箱体",
"kind": "part",
"category": "housing",
"source_base_name": "下箱体",
"modeling_plan_path": "parts/housing/下箱体/下箱体_modeling_plan.json",
"skill_flow_path": "parts/housing/下箱体/下箱体_skill_flow.json",
"validation_path": "parts/housing/下箱体/下箱体_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 190,
"skills_used": [
"create_angle_plane_by_edge_and_face",
"create_face_sketch_by_signature",
"create_new_part",
"create_ref_plane_sketch_by_name",
"create_top_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"hole_wizard_threaded_mm",
"mirror_feature_about_plane",
"select_edges_by_signature",
"shell_remove_face_at_point_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-misc-two-stage-reducer",
"title": "assembly-knowledge-skillflow-二级减速器",
"kind": "part",
"category": "misc",
"source_base_name": "二级减速器",
"modeling_plan_path": "",
"skill_flow_path": "",
"validation_path": "",
"knowledge_skillflow_path": "parts/misc/二级减速器/二级减速器_knowledge_skillflow.json",
"validated": false,
"total_steps": 1620,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"circular_pattern_feature",
"clear_functional_faces",
"create_angle_plane_by_axis_and_face",
"create_angle_plane_by_edge_and_face",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_helix_mm",
"create_local_circular_component_pattern",
"create_local_linear_component_pattern",
"create_mate_by_functional_face",
"create_mirror_components",
"create_new_assembly",
"create_new_part",
"create_offset_plane_mm",
"create_ref_plane_sketch_by_name",
"create_reference_axis",
"create_revolve_boss_mm",
"create_revolve_cut_mm",
"create_rib_mm",
"create_right_plane_sketch",
"create_top_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"draw_spline_points_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"hole_wizard_threaded_mm",
"insert_part_into_active_assembly",
"mirror_feature_about_plane",
"register_functional_face",
"save_part_to_ai_folder",
"save_step_to_ai_folder",
"select_default_plane",
"select_edges_by_signature",
"select_reference_plane_by_name",
"set_component_transform",
"shell_remove_face_at_point_mm",
"swept_cut_profile_path"
],
"errors": [],
"warnings": [],
"teaching_enabled": false,
"testing_enabled": true
},
{
"standard_id": "part-sleeve-sleeve-phi30x12",
"title": "套筒φ30×12",
"kind": "part",
"category": "sleeve",
"source_base_name": "套筒φ30×12",
"modeling_plan_path": "parts/sleeve/套筒φ30×12/套筒φ30×12_modeling_plan.json",
"skill_flow_path": "parts/sleeve/套筒φ30×12/套筒φ30×12_skill_flow.json",
"validation_path": "parts/sleeve/套筒φ30×12/套筒φ30×12_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 8,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"create_new_part",
"create_right_plane_sketch",
"draw_circle_diameter_mm",
"exit_sketch",
"extrude_boss_mm",
"select_edges_by_signature"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-seal-seal-ring",
"title": "密封油圈",
"kind": "part",
"category": "seal",
"source_base_name": "密封油圈",
"modeling_plan_path": "parts/seal/密封油圈/密封油圈_modeling_plan.json",
"skill_flow_path": "parts/seal/密封油圈/密封油圈_skill_flow.json",
"validation_path": "parts/seal/密封油圈/密封油圈_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 6,
"skills_used": [
"create_front_plane_sketch",
"create_new_part",
"draw_circle_diameter_mm",
"exit_sketch",
"extrude_boss_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-oil_ring-oil-slinger-phi30",
"title": "挡油环φ30",
"kind": "part",
"category": "oil_ring",
"source_base_name": "挡油环φ30",
"modeling_plan_path": "parts/oil_ring/挡油环φ30/挡油环φ30_modeling_plan.json",
"skill_flow_path": "parts/oil_ring/挡油环φ30/挡油环φ30_skill_flow.json",
"validation_path": "parts/oil_ring/挡油环φ30/挡油环φ30_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 20,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_center_line_mm",
"draw_line_mm",
"select_edges_by_signature"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-oil_ring-oil-slinger-phi40",
"title": "挡油环φ40",
"kind": "part",
"category": "oil_ring",
"source_base_name": "挡油环φ40",
"modeling_plan_path": "parts/oil_ring/挡油环φ40/挡油环φ40_modeling_plan.json",
"skill_flow_path": "parts/oil_ring/挡油环φ40/挡油环φ40_skill_flow.json",
"validation_path": "parts/oil_ring/挡油环φ40/挡油环φ40_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 20,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_center_line_mm",
"draw_line_mm",
"select_edges_by_signature"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-oil_ring-oil-slinger-phi55",
"title": "挡油环φ55",
"kind": "part",
"category": "oil_ring",
"source_base_name": "挡油环φ55",
"modeling_plan_path": "parts/oil_ring/挡油环φ55/挡油环φ55_modeling_plan.json",
"skill_flow_path": "parts/oil_ring/挡油环φ55/挡油环φ55_skill_flow.json",
"validation_path": "parts/oil_ring/挡油环φ55/挡油环φ55_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 20,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_center_line_mm",
"draw_line_mm",
"select_edges_by_signature"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-seal-felt-ring-35",
"title": "毛毡圈35",
"kind": "part",
"category": "seal",
"source_base_name": "毛毡圈35",
"modeling_plan_path": "parts/seal/毛毡圈35/毛毡圈35_modeling_plan.json",
"skill_flow_path": "parts/seal/毛毡圈35/毛毡圈35_skill_flow.json",
"validation_path": "parts/seal/毛毡圈35/毛毡圈35_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 10,
"skills_used": [
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_center_line_mm",
"draw_line_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-seal-felt-ring-50",
"title": "毛毡圈50",
"kind": "part",
"category": "seal",
"source_base_name": "毛毡圈50",
"modeling_plan_path": "parts/seal/毛毡圈50/毛毡圈50_modeling_plan.json",
"skill_flow_path": "parts/seal/毛毡圈50/毛毡圈50_skill_flow.json",
"validation_path": "parts/seal/毛毡圈50/毛毡圈50_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 10,
"skills_used": [
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_center_line_mm",
"draw_line_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-oil_gauge-oil-gauge",
"title": "油标",
"kind": "part",
"category": "oil_gauge",
"source_base_name": "油标",
"modeling_plan_path": "parts/oil_gauge/油标/油标_modeling_plan.json",
"skill_flow_path": "parts/oil_gauge/油标/油标_skill_flow.json",
"validation_path": "parts/oil_gauge/油标/油标_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 30,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"exit_sketch",
"extrude_boss_mm",
"select_edges_by_signature"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-inspection_cover-inspection-cover",
"title": "窥视孔盖",
"kind": "part",
"category": "inspection_cover",
"source_base_name": "窥视孔盖",
"modeling_plan_path": "parts/inspection_cover/窥视孔盖/窥视孔盖_modeling_plan.json",
"skill_flow_path": "parts/inspection_cover/窥视孔盖/窥视孔盖_skill_flow.json",
"validation_path": "parts/inspection_cover/窥视孔盖/窥视孔盖_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 19,
"skills_used": [
"create_new_part",
"create_top_plane_sketch",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_boss_mm",
"hole_wizard_threaded_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shaft-cover-intermediate-shaft",
"title": "端盖中间轴",
"kind": "part",
"category": "shaft",
"source_base_name": "端盖中间轴",
"modeling_plan_path": "parts/shaft/端盖中间轴/端盖中间轴_modeling_plan.json",
"skill_flow_path": "parts/shaft/端盖中间轴/端盖中间轴_skill_flow.json",
"validation_path": "parts/shaft/端盖中间轴/端盖中间轴_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 23,
"skills_used": [
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_new_part",
"create_revolve_boss_mm",
"create_right_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_cut_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shaft-cover-low-speed-open",
"title": "端盖低速轴开口",
"kind": "part",
"category": "shaft",
"source_base_name": "端盖低速轴开口",
"modeling_plan_path": "parts/shaft/端盖低速轴开口/端盖低速轴开口_modeling_plan.json",
"skill_flow_path": "parts/shaft/端盖低速轴开口/端盖低速轴开口_skill_flow.json",
"validation_path": "parts/shaft/端盖低速轴开口/端盖低速轴开口_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 28,
"skills_used": [
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_new_part",
"create_revolve_boss_mm",
"create_right_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_cut_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shaft-cover-low-speed-closed",
"title": "端盖低速轴闭口",
"kind": "part",
"category": "shaft",
"source_base_name": "端盖低速轴闭口",
"modeling_plan_path": "parts/shaft/端盖低速轴闭口/端盖低速轴闭口_modeling_plan.json",
"skill_flow_path": "parts/shaft/端盖低速轴闭口/端盖低速轴闭口_skill_flow.json",
"validation_path": "parts/shaft/端盖低速轴闭口/端盖低速轴闭口_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 24,
"skills_used": [
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_cut_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shaft-cover-high-speed-open",
"title": "端盖高速轴开口",
"kind": "part",
"category": "shaft",
"source_base_name": "端盖高速轴开口",
"modeling_plan_path": "parts/shaft/端盖高速轴开口/端盖高速轴开口_modeling_plan.json",
"skill_flow_path": "parts/shaft/端盖高速轴开口/端盖高速轴开口_skill_flow.json",
"validation_path": "parts/shaft/端盖高速轴开口/端盖高速轴开口_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 28,
"skills_used": [
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_cut_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shaft-cover-high-speed-closed",
"title": "端盖高速轴闭口",
"kind": "part",
"category": "shaft",
"source_base_name": "端盖高速轴闭口",
"modeling_plan_path": "parts/shaft/端盖高速轴闭口/端盖高速轴闭口_modeling_plan.json",
"skill_flow_path": "parts/shaft/端盖高速轴闭口/端盖高速轴闭口_skill_flow.json",
"validation_path": "parts/shaft/端盖高速轴闭口/端盖高速轴闭口_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 23,
"skills_used": [
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_new_part",
"create_revolve_boss_mm",
"create_right_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_cut_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shim-adjusting-shim-100",
"title": "调整垫片100",
"kind": "part",
"category": "shim",
"source_base_name": "调整垫片100",
"modeling_plan_path": "parts/shim/调整垫片100/调整垫片100_modeling_plan.json",
"skill_flow_path": "parts/shim/调整垫片100/调整垫片100_skill_flow.json",
"validation_path": "parts/shim/调整垫片100/调整垫片100_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 12,
"skills_used": [
"create_front_plane_sketch",
"create_new_part",
"draw_circle_diameter_mm",
"exit_sketch",
"extrude_boss_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shim-adjusting-shim-62",
"title": "调整垫片62",
"kind": "part",
"category": "shim",
"source_base_name": "调整垫片62",
"modeling_plan_path": "parts/shim/调整垫片62/调整垫片62_modeling_plan.json",
"skill_flow_path": "parts/shim/调整垫片62/调整垫片62_skill_flow.json",
"validation_path": "parts/shim/调整垫片62/调整垫片62_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 12,
"skills_used": [
"create_front_plane_sketch",
"create_new_part",
"draw_circle_diameter_mm",
"exit_sketch",
"extrude_boss_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shim-adjusting-shim-80",
"title": "调整垫片80",
"kind": "part",
"category": "shim",
"source_base_name": "调整垫片80",
"modeling_plan_path": "parts/shim/调整垫片80/调整垫片80_modeling_plan.json",
"skill_flow_path": "parts/shim/调整垫片80/调整垫片80_skill_flow.json",
"validation_path": "parts/shim/调整垫片80/调整垫片80_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 12,
"skills_used": [
"create_front_plane_sketch",
"create_new_part",
"draw_circle_diameter_mm",
"exit_sketch",
"extrude_boss_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shaft-shaft-2-intermediate",
"title": "轴2中间",
"kind": "part",
"category": "shaft",
"source_base_name": "轴2中间",
"modeling_plan_path": "parts/shaft/轴2中间/轴2中间_modeling_plan.json",
"skill_flow_path": "parts/shaft/轴2中间/轴2中间_skill_flow.json",
"validation_path": "parts/shaft/轴2中间/轴2中间_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 42,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_new_part",
"create_offset_plane_mm",
"create_ref_plane_sketch_by_name",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"select_default_plane",
"select_edges_by_signature"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-shaft-shaft-3-low-speed",
"title": "轴3低速",
"kind": "part",
"category": "shaft",
"source_base_name": "轴3低速",
"modeling_plan_path": "parts/shaft/轴3低速/轴3低速_modeling_plan.json",
"skill_flow_path": "parts/shaft/轴3低速/轴3低速_skill_flow.json",
"validation_path": "parts/shaft/轴3低速/轴3低速_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 57,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_new_part",
"create_offset_plane_mm",
"create_ref_plane_sketch_by_name",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"hole_wizard_threaded_mm",
"select_default_plane",
"select_edges_by_signature"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-vent-vent",
"title": "通气器",
"kind": "part",
"category": "vent",
"source_base_name": "通气器",
"modeling_plan_path": "parts/vent/通气器/通气器_modeling_plan.json",
"skill_flow_path": "parts/vent/通气器/通气器_skill_flow.json",
"validation_path": "parts/vent/通气器/通气器_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 35,
"skills_used": [
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_new_part",
"create_revolve_boss_mm",
"draw_arc_center_start_end_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"exit_sketch",
"extrude_cut_mm"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-gear-gear-1-high-speed-shaft",
"title": "齿轮1+高速轴",
"kind": "part",
"category": "gear",
"source_base_name": "齿轮1+高速轴",
"modeling_plan_path": "parts/gear/齿轮1+高速轴/齿轮1+高速轴_modeling_plan.json",
"skill_flow_path": "parts/gear/齿轮1+高速轴/齿轮1+高速轴_skill_flow.json",
"validation_path": "parts/gear/齿轮1+高速轴/齿轮1+高速轴_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 71,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_helix_mm",
"create_new_part",
"create_offset_plane_mm",
"create_reference_axis",
"create_revolve_cut_mm",
"create_right_plane_sketch",
"create_top_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"draw_spline_points_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"select_default_plane",
"select_edges_by_signature",
"swept_cut_profile_path"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-gear-gear-120x1-5",
"title": "齿轮120×1.5",
"kind": "part",
"category": "gear",
"source_base_name": "齿轮120×1.5",
"modeling_plan_path": "parts/gear/齿轮120×1_5/齿轮120×1.5_modeling_plan.json",
"skill_flow_path": "parts/gear/齿轮120×1_5/齿轮120×1.5_skill_flow.json",
"validation_path": "parts/gear/齿轮120×1_5/齿轮120×1.5_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 58,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_helix_mm",
"create_new_part",
"create_reference_axis",
"create_revolve_cut_mm",
"create_right_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"draw_spline_points_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"select_edges_by_signature",
"swept_cut_profile_path"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-gear-gear-24x2-5",
"title": "齿轮24×2.5",
"kind": "part",
"category": "gear",
"source_base_name": "齿轮24×2.5",
"modeling_plan_path": "parts/gear/齿轮24×2_5/齿轮24×2.5_modeling_plan.json",
"skill_flow_path": "parts/gear/齿轮24×2_5/齿轮24×2.5_skill_flow.json",
"validation_path": "parts/gear/齿轮24×2_5/齿轮24×2.5_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 38,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_helix_mm",
"create_new_part",
"create_reference_axis",
"create_revolve_cut_mm",
"create_right_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_spline_points_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"select_edges_by_signature",
"swept_cut_profile_path"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
},
{
"standard_id": "part-gear-gear-82x2-5",
"title": "齿轮82×2.5",
"kind": "part",
"category": "gear",
"source_base_name": "齿轮82×2.5",
"modeling_plan_path": "parts/gear/齿轮82×2_5/齿轮82×2.5_modeling_plan.json",
"skill_flow_path": "parts/gear/齿轮82×2_5/齿轮82×2.5_skill_flow.json",
"validation_path": "parts/gear/齿轮82×2_5/齿轮82×2.5_skill_flow_validation.json",
"knowledge_skillflow_path": "",
"validated": true,
"total_steps": 58,
"skills_used": [
"chamfer_edges_angle_distance_mm",
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_helix_mm",
"create_new_part",
"create_reference_axis",
"create_revolve_cut_mm",
"create_right_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"draw_spline_points_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"select_edges_by_signature",
"swept_cut_profile_path"
],
"errors": [],
"warnings": [],
"teaching_enabled": true,
"testing_enabled": true
}
]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,32 @@
{
"Ok": true,
"TotalSteps": 71,
"SkillsUsed": [
"chamfer_edges_angle_distance_mm",
"circular_pattern_feature",
"create_face_sketch_by_signature",
"create_front_plane_sketch",
"create_helix_mm",
"create_new_part",
"create_offset_plane_mm",
"create_reference_axis",
"create_revolve_cut_mm",
"create_right_plane_sketch",
"create_top_plane_sketch",
"draw_arc_center_start_end_mm",
"draw_center_line_mm",
"draw_circle_diameter_mm",
"draw_line_mm",
"draw_point_mm",
"draw_spline_points_mm",
"exit_sketch",
"extrude_boss_mm",
"extrude_cut_mm",
"fillet_edges_radius_mm",
"select_default_plane",
"select_edges_by_signature",
"swept_cut_profile_path"
],
"Errors": [],
"Warnings": []
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More