33736 lines
1.5 MiB
Plaintext
33736 lines
1.5 MiB
Plaintext
{
|
|
"generatedAt": "2026-05-22T06:43:41.512Z",
|
|
"targetPath": "flows/web-client-wasm.md",
|
|
"targetKind": "folder",
|
|
"metadataDraft": {
|
|
"sectionProvenance": [
|
|
{
|
|
"sectionId": "dependency_map_graph",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
},
|
|
{
|
|
"sectionId": "startup_runtime_graph",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
},
|
|
{
|
|
"sectionId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
},
|
|
{
|
|
"sectionId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
},
|
|
{
|
|
"sectionId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
},
|
|
{
|
|
"sectionId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
},
|
|
{
|
|
"sectionId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
},
|
|
{
|
|
"sectionId": "method_flows_graph",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
}
|
|
],
|
|
"claimGrounding": [],
|
|
"nodeMetadata": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"label": "AuthenticationHeaderHandler",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "DelegatingHandler that attaches JWTs to trusted requests and orchestrates token refresh and retry behavior.",
|
|
"responsibility": "DelegatingHandler that attaches JWTs to trusted requests and orchestrates token refresh and retry behavior.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"DelegatingHandler",
|
|
"Token auto-refresh",
|
|
"Semaphore-based concurrency guard",
|
|
"Scoped service resolution for transient operations"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(INativeStorageService storageService, IServiceProvider serviceProvider) -> AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Store injected services @L23"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"label": "_storageService",
|
|
"value": "INativeStorageService required"
|
|
},
|
|
{
|
|
"label": "_serviceProvider",
|
|
"value": "IServiceProvider required"
|
|
},
|
|
{
|
|
"label": "TokenKey",
|
|
"value": "const string required"
|
|
},
|
|
{
|
|
"label": "_refreshSemaphore",
|
|
"value": "SemaphoreSlim required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Authentication, JWT, Token refresh"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14",
|
|
"label": "AuthenticationHeaderHandler",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "DelegatingHandler that attaches JWTs to trusted requests and orchestrates token refresh and retry behavior.",
|
|
"responsibility": "DelegatingHandler that attaches JWTs to trusted requests and orchestrates token refresh and retry behavior.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"DelegatingHandler",
|
|
"Token auto-refresh",
|
|
"Semaphore-based concurrency guard",
|
|
"Scoped service resolution for transient operations"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(INativeStorageService storageService, IServiceProvider serviceProvider) -> AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Store injected services @L23"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"label": "_storageService",
|
|
"value": "INativeStorageService required"
|
|
},
|
|
{
|
|
"label": "_serviceProvider",
|
|
"value": "IServiceProvider required"
|
|
},
|
|
{
|
|
"label": "TokenKey",
|
|
"value": "const string required"
|
|
},
|
|
{
|
|
"label": "_refreshSemaphore",
|
|
"value": "SemaphoreSlim required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Authentication, JWT, Token refresh"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs:14:1",
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 14,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 14,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "() -> AppDbContext"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L63"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:61:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 61,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"responsibility": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:66:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 66,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"label": "ThrowingBookStorageService",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"responsibility": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "ErrorMessage",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:74:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 74,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"label": "ThrowingEbookRepository",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"responsibility": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "ErrorMessage",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:84:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 84,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"responsibility": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:94:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 94,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"label": "WebPlatformService",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:18:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 18,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:33:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 33,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"label": "WasmKnowledgeService",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:38:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 38,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"label": "configured HttpClient",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:40:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 40,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:49:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 49,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"label": "N/A",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:55:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 55,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"label": "WasmEpubReader",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:56:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 56,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_wasmepubservice_cs_file_1",
|
|
"label": "WasmEpubReader",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Constructs the WASM EPUB reader and stores an HttpClient instance for remote chapter retrieval.",
|
|
"responsibility": "Constructs the WASM EPUB reader and stores an HttpClient instance for remote chapter retrieval.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Client Adapter",
|
|
"Extractor"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "WasmEpubReader"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(httpClient: HttpClient) -> WasmEpubReader"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Store HttpClient @L14"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Epub, ReaderPage, LocalEpubMetadata"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Services/WasmEpubService.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"label": "WasmKnowledgeService",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "WASM-side implementation of IKnowledgeService that forwards knowledge/AI related requests from the Blazor WebAssembly client to server HTTP endpoints and returns typed Result<T> responses.",
|
|
"responsibility": "Client-side WASM service that centralizes HTTP calls to /api/knowledge endpoints, applies consistent Result<T> success/failure mapping, and provides small helper CallKnowledgeApiAsync to reduce duplication.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"HttpClient wrapper",
|
|
"Facade / integration client"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "WasmKnowledgeService"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "KnowledgePacket, RelevantContext, Groundedness"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Services/WasmKnowledgeService.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"label": "WebPlatformService",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Concrete platform service for the web client that implements IPlatformService using JS interop.",
|
|
"responsibility": "Concrete platform service for the web client that implements IPlatformService using JS interop.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Adapter (platform abstraction)",
|
|
"Facade (simple wrappers for platform features)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "WebPlatformService"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "_jsRuntime",
|
|
"value": "IJSRuntime required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "DeviceContext, DeviceType, DisplayOrientation"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Services/WebPlatformService.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7",
|
|
"label": "WebPlatformService",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Concrete platform service for the web client that implements IPlatformService using JS interop.",
|
|
"responsibility": "Concrete platform service for the web client that implements IPlatformService using JS interop.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Adapter (platform abstraction)",
|
|
"Facade (simple wrappers for platform features)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "WebPlatformService"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "_jsRuntime",
|
|
"value": "IJSRuntime required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "DeviceContext, DeviceType, DisplayOrientation"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Services/WebPlatformService.cs:7:1",
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 7,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 7,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1",
|
|
"label": "NexusReader.Web.Client.csproj",
|
|
"diagramId": "dependency_map_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Project file for the Blazor WebAssembly client project: declares SDK, target framework, build properties, NuGet package dependencies, and project references that link the client to application and shared UI projects.",
|
|
"responsibility": "SDK: Microsoft.NET.Sdk.BlazorWebAssembly; TargetFramework: net10.0; Blazor-specific properties set (NoDefaultLaunchSettingsFile, StaticWebAssetProjectMode, BlazorDisableThrowNavigationException); packs: MediatR, Blazor WASM runtime, Http extensions, EPUB library; references Application and UI.Shared projects.",
|
|
"technologyHints": [
|
|
"Blazor WebAssembly client",
|
|
"ProjectReference-based multi-project solution"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Client (WASM), Shared UI, Application layer integration"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/NexusReader.Web.Client.csproj:1:1",
|
|
"path": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"label": "WebPlatformService",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:18:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 18,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:33:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 33,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"label": "WasmKnowledgeService",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:38:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 38,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"label": "configured HttpClient",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:40:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 40,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:49:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 49,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"label": "N/A",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:55:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 55,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"label": "WasmEpubReader",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:56:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 56,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"label": "Run WASM Host",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:59:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 59,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1",
|
|
"label": "NexusReader.Web.Client.csproj",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Project file for the Blazor WebAssembly client project: declares SDK, target framework, build properties, NuGet package dependencies, and project references that link the client to application and shared UI projects.",
|
|
"responsibility": "SDK: Microsoft.NET.Sdk.BlazorWebAssembly; TargetFramework: net10.0; Blazor-specific properties set (NoDefaultLaunchSettingsFile, StaticWebAssetProjectMode, BlazorDisableThrowNavigationException); packs: MediatR, Blazor WASM runtime, Http extensions, EPUB library; references Application and UI.Shared projects.",
|
|
"technologyHints": [
|
|
"Blazor WebAssembly client",
|
|
"ProjectReference-based multi-project solution"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Client (WASM), Shared UI, Application layer integration"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/NexusReader.Web.Client.csproj:1:1",
|
|
"path": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1",
|
|
"label": "project-configuration",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Project file for the Blazor WebAssembly client project: declares SDK, target framework, build properties, NuGet package dependencies, and project references that link the client to application and shared UI projects.",
|
|
"responsibility": "SDK: Microsoft.NET.Sdk.BlazorWebAssembly; TargetFramework: net10.0; Blazor-specific properties set (NoDefaultLaunchSettingsFile, StaticWebAssetProjectMode, BlazorDisableThrowNavigationException); packs: MediatR, Blazor WASM runtime, Http extensions, EPUB library; references Application and UI.Shared projects.",
|
|
"technologyHints": [
|
|
"Blazor WebAssembly client",
|
|
"ProjectReference-based multi-project solution"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Client (WASM), Shared UI, Application layer integration"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/NexusReader.Web.Client.csproj:1:1",
|
|
"path": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"label": "MauiProgram",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Static host for MAUI app startup logic and DI composition.",
|
|
"responsibility": "Static host for MAUI app startup logic and DI composition.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Composition Root",
|
|
"Service Registration"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "MauiProgram"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Identity (AuthenticationStateProvider), Sync, KnowledgeGraph / KnowledgeCoordinator"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Maui/MauiProgram.cs:1:1",
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28",
|
|
"label": "MauiPlatformService",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Creates and configures the MAUI application builder: registers DI services (platform, storage, identity, UI state, network), composes the Application layer and MediatR, and returns the built MauiApp inside a try/catch to aid debugging.",
|
|
"responsibility": "Sets HttpClient BaseAddress to http://10.0.2.2:5000 (typical Android emulator -> host routing); composes Application layer via AddApplication() and registers MediatR scanning the Application assembly; startup protected by try/catch that writes Debug output and rethrows.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Composition Root",
|
|
"Service Registration"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "MauiProgram"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Identity (AuthenticationStateProvider), Sync, KnowledgeGraph / KnowledgeCoordinator"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Maui/MauiProgram.cs:28:1",
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 28,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 28,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29",
|
|
"label": "MauiStorageService",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Creates and configures the MAUI application builder: registers DI services (platform, storage, identity, UI state, network), composes the Application layer and MediatR, and returns the built MauiApp inside a try/catch to aid debugging.",
|
|
"responsibility": "Sets HttpClient BaseAddress to http://10.0.2.2:5000 (typical Android emulator -> host routing); composes Application layer via AddApplication() and registers MediatR scanning the Application assembly; startup protected by try/catch that writes Debug output and rethrows.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Composition Root",
|
|
"Service Registration"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "MauiProgram"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Identity (AuthenticationStateProvider), Sync, KnowledgeGraph / KnowledgeCoordinator"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Maui/MauiProgram.cs:29:1",
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 29,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 29,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Creates and configures the MAUI application builder: registers DI services (platform, storage, identity, UI state, network), composes the Application layer and MediatR, and returns the built MauiApp inside a try/catch to aid debugging.",
|
|
"responsibility": "Sets HttpClient BaseAddress to http://10.0.2.2:5000 (typical Android emulator -> host routing); composes Application layer via AddApplication() and registers MediatR scanning the Application assembly; startup protected by try/catch that writes Debug output and rethrows.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Composition Root",
|
|
"Service Registration"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "MauiProgram"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Identity (AuthenticationStateProvider), Sync, KnowledgeGraph / KnowledgeCoordinator"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Maui/MauiProgram.cs:32:1",
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 32,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 32,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33",
|
|
"label": "NexusAuthenticationStateProvider (via factory)",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Creates and configures the MAUI application builder: registers DI services (platform, storage, identity, UI state, network), composes the Application layer and MediatR, and returns the built MauiApp inside a try/catch to aid debugging.",
|
|
"responsibility": "Sets HttpClient BaseAddress to http://10.0.2.2:5000 (typical Android emulator -> host routing); composes Application layer via AddApplication() and registers MediatR scanning the Application assembly; startup protected by try/catch that writes Debug output and rethrows.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Composition Root",
|
|
"Service Registration"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "MauiProgram"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Identity (AuthenticationStateProvider), Sync, KnowledgeGraph / KnowledgeCoordinator"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Maui/MauiProgram.cs:33:1",
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 33,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38",
|
|
"label": "HttpClient (configured)",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Creates and configures the MAUI application builder: registers DI services (platform, storage, identity, UI state, network), composes the Application layer and MediatR, and returns the built MauiApp inside a try/catch to aid debugging.",
|
|
"responsibility": "Sets HttpClient BaseAddress to http://10.0.2.2:5000 (typical Android emulator -> host routing); composes Application layer via AddApplication() and registers MediatR scanning the Application assembly; startup protected by try/catch that writes Debug output and rethrows.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Composition Root",
|
|
"Service Registration"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "MauiProgram"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Identity (AuthenticationStateProvider), Sync, KnowledgeGraph / KnowledgeCoordinator"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Maui/MauiProgram.cs:38:1",
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 38,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1",
|
|
"label": "ThemeService, FocusModeService, QuizStateService, ReaderNavigationService, KnowledgeGraphService, ReaderInteractionService, KnowledgeCoordinator, SyncService, IdentityService",
|
|
"diagramId": "startup_runtime_graph",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Creates and configures the MAUI application builder: registers DI services (platform, storage, identity, UI state, network), composes the Application layer and MediatR, and returns the built MauiApp inside a try/catch to aid debugging.",
|
|
"responsibility": "Sets HttpClient BaseAddress to http://10.0.2.2:5000 (typical Android emulator -> host routing); composes Application layer via AddApplication() and registers MediatR scanning the Application assembly; startup protected by try/catch that writes Debug output and rethrows.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Composition Root",
|
|
"Service Registration"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "MauiProgram"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Identity (AuthenticationStateProvider), Sync, KnowledgeGraph / KnowledgeCoordinator"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Maui/MauiProgram.cs:1:1",
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"label": "Program (top-level startup)",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Create the WebAssemblyHostBuilder, register application and platform services, add HTTP client and dummy server-only stubs, then build and run the WASM host.",
|
|
"responsibility": "Create the WebAssemblyHostBuilder, register application and platform services, add HTTP client and dummy server-only stubs, then build and run the WASM host.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(args: string[]) -> Task"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "6"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "AddScoped platform & UI services @L18"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "AddScoped auth services and auth state provider @L30"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "AddHttpClient with auth message handler @L40"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Register throw-only stubs for server-only services @L48"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Build and run WASM host @L59"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:15:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 15,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 15,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"label": "GetService",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Fallback service resolver stub that always returns null.",
|
|
"responsibility": "Fallback service resolver stub that always returns null.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(Type serviceType, object? serviceKey = null) -> object?"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "returns null @L71"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:71:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"label": "returns null",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "return",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "public object? GetService(...) => null",
|
|
"responsibility": "public object? GetService(...) => null",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "return"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(Type serviceType, object? serviceKey = null) -> object?"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "returns null @L71"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:71:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "return",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"label": "FindAuthorByNameAsync",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Repository lookup stub that throws because repository access is unsupported in WASM.",
|
|
"responsibility": "Repository lookup stub that throws because repository access is unsupported in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(string name, CancellationToken cancellationToken = default) -> Task<Author?>"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L88"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L88"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:88:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"responsibility": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(string name, CancellationToken cancellationToken = default) -> Task<Author?>"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L88"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L88"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:88:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "() -> AppDbContext"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L63"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:61:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 61,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"responsibility": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:66:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 66,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"label": "ThrowingBookStorageService",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"responsibility": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "ErrorMessage",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:74:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 74,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"label": "ThrowingEbookRepository",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"responsibility": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "ErrorMessage",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:84:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 84,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"responsibility": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:94:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 94,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"label": "WebPlatformService",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:18:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 18,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:33:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 33,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"label": "WasmKnowledgeService",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:38:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 38,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"label": "configured HttpClient",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:40:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 40,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:49:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 49,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"label": "N/A",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:55:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 55,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"label": "WasmEpubReader",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:56:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 56,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"label": "Run WASM Host",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:59:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 59,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Program bootstrap for the NexusReader.Web ASP.NET app: registers services, configures authentication/authorization, initializes DB, maps Minimal API endpoints (including knowledge, library, identity, Stripe webhooks), and starts the web host.",
|
|
"responsibility": "Program.cs is the composition root and runtime bootstrap: it registers DI services and policies, configures authentication (including Google), ensures DB migrations and seeding with retry/backoff, maps a set of Minimal API endpoints for knowledge features (protected by token-availability policy), handles Stripe webhooks to update subscription state, and supports both Server and WASM Blazor render modes.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:1:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"label": "Program (top-level)",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Top-level program: build host, register services and middleware, map routes/endpoints, run the app.",
|
|
"responsibility": "Top-level program: build host, register services and middleware, map routes/endpoints, run the app.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(args) -> Task"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "6"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Registers many scoped services and HTTP client @L33"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L62"
|
|
},
|
|
{
|
|
"label": "Action:fallback",
|
|
"value": "Falls back to alternate path @L66"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Adds policies including 'ProUser' and 'HasAvailableTokens' @L86"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Configures authentication and Identity endpoints @L96"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L125"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:29:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 29,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 29,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"label": "Evaluates branch condition",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"responsibility": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "branch"
|
|
},
|
|
{
|
|
"label": "Condition",
|
|
"value": "!string.IsNullOrEmpty(apiBaseUrl)"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "true, false"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:62:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 62,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"label": "Falls back to alternate path",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "else",
|
|
"responsibility": "else",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "fallback"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "fallback"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:66:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 66,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "primary-runtime",
|
|
"architecturalLayer": "backend",
|
|
"summary": "var isApiRequest = context.Request.Path.StartsWithSegments(\"/api\") ||",
|
|
"responsibility": "var isApiRequest = context.Request.Path.StartsWithSegments(\"/api\") ||",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:125:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 125,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 125,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"label": "Program (top-level startup)",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Create the WebAssemblyHostBuilder, register application and platform services, add HTTP client and dummy server-only stubs, then build and run the WASM host.",
|
|
"responsibility": "Create the WebAssemblyHostBuilder, register application and platform services, add HTTP client and dummy server-only stubs, then build and run the WASM host.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(args: string[]) -> Task"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "6"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "AddScoped platform & UI services @L18"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "AddScoped auth services and auth state provider @L30"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "AddHttpClient with auth message handler @L40"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Register throw-only stubs for server-only services @L48"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Build and run WASM host @L59"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:15:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 15,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 15,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"label": "GetService",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Fallback service resolver stub that always returns null.",
|
|
"responsibility": "Fallback service resolver stub that always returns null.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(Type serviceType, object? serviceKey = null) -> object?"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "returns null @L71"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:71:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"label": "returns null",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "return",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "public object? GetService(...) => null",
|
|
"responsibility": "public object? GetService(...) => null",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "return"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(Type serviceType, object? serviceKey = null) -> object?"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "returns null @L71"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:71:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "return",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"label": "FindAuthorByNameAsync",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Repository lookup stub that throws because repository access is unsupported in WASM.",
|
|
"responsibility": "Repository lookup stub that throws because repository access is unsupported in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(string name, CancellationToken cancellationToken = default) -> Task<Author?>"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L88"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L88"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:88:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"responsibility": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(string name, CancellationToken cancellationToken = default) -> Task<Author?>"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L88"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L88"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:88:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"label": "Run WASM Host",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:59:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 59,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Program bootstrap for the NexusReader.Web ASP.NET app: registers services, configures authentication/authorization, initializes DB, maps Minimal API endpoints (including knowledge, library, identity, Stripe webhooks), and starts the web host.",
|
|
"responsibility": "Program.cs is the composition root and runtime bootstrap: it registers DI services and policies, configures authentication (including Google), ensures DB migrations and seeding with retry/backoff, maps a set of Minimal API endpoints for knowledge features (protected by token-availability policy), handles Stripe webhooks to update subscription state, and supports both Server and WASM Blazor render modes.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:1:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"label": "Program (top-level)",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Top-level program: build host, register services and middleware, map routes/endpoints, run the app.",
|
|
"responsibility": "Top-level program: build host, register services and middleware, map routes/endpoints, run the app.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(args) -> Task"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "6"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Registers many scoped services and HTTP client @L33"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L62"
|
|
},
|
|
{
|
|
"label": "Action:fallback",
|
|
"value": "Falls back to alternate path @L66"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Adds policies including 'ProUser' and 'HasAvailableTokens' @L86"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Configures authentication and Identity endpoints @L96"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L125"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:29:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 29,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 29,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"label": "Evaluates branch condition",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"responsibility": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "branch"
|
|
},
|
|
{
|
|
"label": "Condition",
|
|
"value": "!string.IsNullOrEmpty(apiBaseUrl)"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "true, false"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:62:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 62,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"label": "Falls back to alternate path",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "else",
|
|
"responsibility": "else",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "fallback"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "fallback"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:66:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 66,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "var isApiRequest = context.Request.Path.StartsWithSegments(\"/api\") ||",
|
|
"responsibility": "var isApiRequest = context.Request.Path.StartsWithSegments(\"/api\") ||",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:125:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 125,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 125,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "context.Request.Path.StartsWithSegments(\"/identity\") ||",
|
|
"responsibility": "context.Request.Path.StartsWithSegments(\"/identity\") ||",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:126:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 126,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 126,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8",
|
|
"label": "AddApplication",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Extension method that registers application mapping configuration and MediatR handlers, returning the IServiceCollection for chaining.",
|
|
"responsibility": "Extension method that registers application mapping configuration and MediatR handlers, returning the IServiceCollection for chaining.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection extension",
|
|
"Service registration"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "DependencyInjection"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(services: IServiceCollection) -> IServiceCollection"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Register mapping configuration @L10"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Register MediatR handlers @L11"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "Return IServiceCollection @L13"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "Returns result @L13"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Application/DependencyInjection.cs:8:1",
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 8,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 8,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31",
|
|
"label": "AddInfrastructure",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Configures and registers infrastructure services and external clients (DBs, AI, vector/graph stores, job processing, authorization, and app-layer implementations) into the DI container.",
|
|
"responsibility": "Configures and registers infrastructure services and external clients (DBs, AI, vector/graph stores, job processing, authorization, and app-layer implementations) into the DI container.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection / Service Registration",
|
|
"Factory (DbContextFactory)",
|
|
"Resilience (retry pipeline)",
|
|
"Repository"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "DependencyInjection"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(this IServiceCollection services, IConfiguration configuration) -> IServiceCollection"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "12"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Selects DB provider @L33"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L34"
|
|
},
|
|
{
|
|
"label": "Action:fallback",
|
|
"value": "Falls back to alternate path @L44"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Qdrant client registration @L56"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Neo4j driver registration @L60"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L64"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook / Epub processing, AI (chat/embeddings), Vector store (Qdrant)"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/DependencyInjection.cs:31:1",
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 31,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 31,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "() -> AppDbContext"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L63"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:61:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 61,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"responsibility": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:66:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 66,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"label": "ThrowingBookStorageService",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"responsibility": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "ErrorMessage",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:74:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 74,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"label": "ThrowingEbookRepository",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"responsibility": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "ErrorMessage",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:84:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 84,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"responsibility": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:94:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 94,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"label": "WebPlatformService",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:18:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 18,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:33:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 33,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"label": "WasmKnowledgeService",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:38:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 38,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"label": "configured HttpClient",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:40:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 40,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:49:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 49,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"label": "N/A",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:55:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 55,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"label": "WasmEpubReader",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:56:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 56,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Program bootstrap for the NexusReader.Web ASP.NET app: registers services, configures authentication/authorization, initializes DB, maps Minimal API endpoints (including knowledge, library, identity, Stripe webhooks), and starts the web host.",
|
|
"responsibility": "Program.cs is the composition root and runtime bootstrap: it registers DI services and policies, configures authentication (including Google), ensures DB migrations and seeding with retry/backoff, maps a set of Minimal API endpoints for knowledge features (protected by token-availability policy), handles Stripe webhooks to update subscription state, and supports both Server and WASM Blazor render modes.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:1:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_knowledgerequest_566",
|
|
"label": "KnowledgeRequest",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dto",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Request DTO carrying free-text input and optional ebook context for knowledge APIs.",
|
|
"responsibility": "Request DTO carrying free-text input and optional ebook context for knowledge APIs.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "dto"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "2"
|
|
},
|
|
{
|
|
"label": "Text",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "EbookId",
|
|
"value": "Guid?"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:566:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 566,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 566,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_groundednessrequest_567",
|
|
"label": "GroundednessRequest",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dto",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Request DTO for verifying answer groundedness in a context.",
|
|
"responsibility": "Request DTO for verifying answer groundedness in a context.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "dto"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "2"
|
|
},
|
|
{
|
|
"label": "Answer",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Context",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:567:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 567,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 567,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_semanticsearchrequest_568",
|
|
"label": "SemanticSearchRequest",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dto",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "DTO for semantic search requests with a limit.",
|
|
"responsibility": "DTO for semantic search requests with a limit.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "dto"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "2"
|
|
},
|
|
{
|
|
"label": "QueryText",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Limit",
|
|
"value": "int"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:568:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 568,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 568,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_askquestionrequest_569",
|
|
"label": "AskQuestionRequest",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dto",
|
|
"diagramFamily": "class-diagram",
|
|
"architecturalLayer": "backend",
|
|
"summary": "DTO for question-asking APIs including optional ebook context and limit.",
|
|
"responsibility": "DTO for question-asking APIs including optional ebook context and limit.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "dto"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "3"
|
|
},
|
|
{
|
|
"label": "Question",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "EbookId",
|
|
"value": "Guid?"
|
|
},
|
|
{
|
|
"label": "Limit",
|
|
"value": "int"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:569:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 569,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 569,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"label": "returns null",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "return",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "public object? GetService(...) => null",
|
|
"responsibility": "public object? GetService(...) => null",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "return"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(Type serviceType, object? serviceKey = null) -> object?"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "returns null @L71"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:71:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "return",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"responsibility": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(string name, CancellationToken cancellationToken = default) -> Task<Author?>"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L88"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L88"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:88:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "() -> AppDbContext"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "NotSupportedException @L63"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:61:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 61,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"responsibility": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:66:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 66,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"label": "ThrowingBookStorageService",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"responsibility": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "ErrorMessage",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:74:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 74,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"label": "ThrowingEbookRepository",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"responsibility": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "ErrorMessage",
|
|
"value": "string required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:84:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 84,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"responsibility": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:94:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 94,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"label": "WebPlatformService",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:18:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 18,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:33:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 33,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"label": "WasmKnowledgeService",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:38:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 38,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"label": "configured HttpClient",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:40:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 40,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"label": "ThrowingDbContextFactory",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"responsibility": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:49:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 49,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"label": "N/A",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:55:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 55,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"label": "WasmEpubReader",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "dependency",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Bootstraps the WebAssembly client: configures DI/service registrations for the WASM app, registers WASM-specific implementations, and provides throw-only stubs for server-only services so DI validation passes in the browser.",
|
|
"responsibility": "This Program.cs is the WASM client entry: it wires browser-safe implementations and registers throw-only stand-ins for server-side concerns (DbContext, embedding generation, file storage, repository, real-time broadcasting) so the same DI graph compiles and validates in the browser; the actual server implementations must run on the API server.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:56:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 56,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Program bootstrap for the NexusReader.Web ASP.NET app: registers services, configures authentication/authorization, initializes DB, maps Minimal API endpoints (including knowledge, library, identity, Stripe webhooks), and starts the web host.",
|
|
"responsibility": "Program.cs is the composition root and runtime bootstrap: it registers DI services and policies, configures authentication (including Google), ensures DB migrations and seeding with retry/backoff, maps a set of Minimal API endpoints for knowledge features (protected by token-availability policy), handles Stripe webhooks to update subscription state, and supports both Server and WASM Blazor render modes.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:1:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"label": "Evaluates branch condition",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"responsibility": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "branch"
|
|
},
|
|
{
|
|
"label": "Condition",
|
|
"value": "!string.IsNullOrEmpty(apiBaseUrl)"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "true, false"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:62:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 62,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"label": "Falls back to alternate path",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "dependency-map",
|
|
"architecturalLayer": "backend",
|
|
"summary": "else",
|
|
"responsibility": "else",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "fallback"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "fallback"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:66:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 66,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"label": "GetService",
|
|
"diagramId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Fallback service resolver stub that always returns null.",
|
|
"responsibility": "Fallback service resolver stub that always returns null.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(Type serviceType, object? serviceKey = null) -> object?"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "returns null @L71"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:71:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"label": "returns null",
|
|
"diagramId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "return",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "public object? GetService(...) => null",
|
|
"responsibility": "public object? GetService(...) => null",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Host/Startup bootstrap",
|
|
"Null/Throwing stub (platform-specific feature gating)"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "return"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(Type serviceType, object? serviceKey = null) -> object?"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "returns null @L71"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Author, Embedding"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Program.cs:71:1",
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "return",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"label": "Program (top-level)",
|
|
"diagramId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Top-level program: build host, register services and middleware, map routes/endpoints, run the app.",
|
|
"responsibility": "Top-level program: build host, register services and middleware, map routes/endpoints, run the app.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Signature",
|
|
"value": "(args) -> Task"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "6"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Registers many scoped services and HTTP client @L33"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L62"
|
|
},
|
|
{
|
|
"label": "Action:fallback",
|
|
"value": "Falls back to alternate path @L66"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Adds policies including 'ProUser' and 'HasAvailableTokens' @L86"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Configures authentication and Identity endpoints @L96"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L125"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:29:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 29,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 29,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"label": "Evaluates branch condition",
|
|
"diagramId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"responsibility": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "branch"
|
|
},
|
|
{
|
|
"label": "Condition",
|
|
"value": "!string.IsNullOrEmpty(apiBaseUrl)"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "true, false"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:62:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 62,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"label": "Falls back to alternate path",
|
|
"diagramId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "control-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "else",
|
|
"responsibility": "else",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "fallback"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "fallback"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:66:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 66,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"label": "AuthenticationHeaderHandler",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "DelegatingHandler that attaches JWTs to trusted requests and orchestrates token refresh and retry behavior.",
|
|
"responsibility": "DelegatingHandler that attaches JWTs to trusted requests and orchestrates token refresh and retry behavior.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"DelegatingHandler",
|
|
"Token auto-refresh",
|
|
"Semaphore-based concurrency guard",
|
|
"Scoped service resolution for transient operations"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(INativeStorageService storageService, IServiceProvider serviceProvider) -> AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Store injected services @L23"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"label": "_storageService",
|
|
"value": "INativeStorageService required"
|
|
},
|
|
{
|
|
"label": "_serviceProvider",
|
|
"value": "IServiceProvider required"
|
|
},
|
|
{
|
|
"label": "TokenKey",
|
|
"value": "const string required"
|
|
},
|
|
{
|
|
"label": "_refreshSemaphore",
|
|
"value": "SemaphoreSlim required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Authentication, JWT, Token refresh"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs:1:1",
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"label": "CloneHttpRequestMessageAsync",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Creates a deep-ish clone of an HttpRequestMessage including method, URI, version, headers and buffered content to allow safe retry.",
|
|
"responsibility": "Creates a deep-ish clone of an HttpRequestMessage including method, URI, version, headers and buffered content to allow safe retry.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"DelegatingHandler",
|
|
"Token auto-refresh",
|
|
"Semaphore-based concurrency guard",
|
|
"Scoped service resolution for transient operations"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(HttpRequestMessage req) -> Task<HttpRequestMessage>"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Create new HttpRequestMessage clone @L114"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Copy request content stream and headers @L119"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L119"
|
|
},
|
|
{
|
|
"label": "Action:loop",
|
|
"value": "Repeats work over a collection or condition @L126"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Copy request headers @L132"
|
|
},
|
|
{
|
|
"label": "Action:loop",
|
|
"value": "Repeats work over a collection or condition @L132"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Authentication, JWT, Token refresh"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs:112:1",
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 112,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 112,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119",
|
|
"label": "Evaluates branch condition",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "if (req.Content != null)",
|
|
"responsibility": "if (req.Content != null)",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"DelegatingHandler",
|
|
"Token auto-refresh",
|
|
"Semaphore-based concurrency guard",
|
|
"Scoped service resolution for transient operations"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"label": "Action",
|
|
"value": "branch"
|
|
},
|
|
{
|
|
"label": "Condition",
|
|
"value": "req.Content != null"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "true, false"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Authentication, JWT, Token refresh"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs:119:1",
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 119,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 119,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237",
|
|
"label": "Evaluates branch condition",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "if (!app.Environment.IsDevelopment())",
|
|
"responsibility": "if (!app.Environment.IsDevelopment())",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Dependency Injection",
|
|
"Minimal APIs",
|
|
"Mediator/CQRS (MediatR)",
|
|
"Retry with exponential backoff"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Action",
|
|
"value": "branch"
|
|
},
|
|
{
|
|
"label": "Condition",
|
|
"value": "!app.Environment.IsDevelopment()"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "true, false"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "SubscriptionPlan, Knowledge (knowledge service, graph, summary), Ebook / EPUB ingestion"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Web/Program.cs:237:1",
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 237,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 237,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"label": "SyncHub",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "SignalR hub that mediates client realtime interactions for syncing reading progress and manages user groups.",
|
|
"responsibility": "SignalR hub that mediates client realtime interactions for syncing reading progress and manages user groups.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Mediator",
|
|
"SignalR Hub",
|
|
"Per-user group (User_{userId})"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "SyncHub"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(mediator: IMediator) -> void"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Depends on IMediator @L14"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Stores mediator @L16"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "_mediator",
|
|
"value": "IMediator required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "ReadingProgress, User, Ebook"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/RealTime/SyncHub.cs:1:1",
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14",
|
|
"label": "SyncHub",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "class",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "SignalR hub that mediates client realtime interactions for syncing reading progress and manages user groups.",
|
|
"responsibility": "SignalR hub that mediates client realtime interactions for syncing reading progress and manages user groups.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Mediator",
|
|
"SignalR Hub",
|
|
"Per-user group (User_{userId})"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "SyncHub"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(mediator: IMediator) -> void"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Depends on IMediator @L14"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Stores mediator @L16"
|
|
},
|
|
{
|
|
"label": "Shape",
|
|
"value": "model"
|
|
},
|
|
{
|
|
"label": "Fields",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "_mediator",
|
|
"value": "IMediator required"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "ReadingProgress, User, Ebook"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/RealTime/SyncHub.cs:14:1",
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 14,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 14,
|
|
"sourceTargetKind": "dependency",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"label": "EpubReaderService",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "service",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Service that locates EPUB files recorded in the database, parses a requested chapter, splits the chapter into sanitized content blocks, injects AI-action trigger blocks at thresholds, and returns a ReaderPageViewModel for consumption by the application.",
|
|
"responsibility": "Important behaviors: DB lookup with user guard, file path resolution that handles dev/prod layouts, EPUB parsing via external library, paragraph extraction and HTML sanitization, word-count-based insertion of AI trigger blocks (WordThreshold = 1000), recursive navigation-title lookup, and robust error logging with Result-based failure propagation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Service",
|
|
"Repository-access (via DbContext)",
|
|
"Factory (CreateAiTrigger)",
|
|
"Parsing & sanitization pipeline"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "EpubReaderService"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Chapter/ReadingOrder, ContentBlock (TextSegmentBlock, AiActionTriggerBlock)"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/Services/EpubReaderService.cs:1:1",
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 1,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "service",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"label": "UpdateProgress",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Receives client progress updates, obtains the calling user id and forwards an UpdateReadingProgressCommand via MediatR when user is present.",
|
|
"responsibility": "Receives client progress updates, obtains the calling user id and forwards an UpdateReadingProgressCommand via MediatR when user is present.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Mediator",
|
|
"SignalR Hub",
|
|
"Per-user group (User_{userId})"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "SyncHub"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(pageId: string, ebookId: Guid, progress: double, chapterTitle: string? , chapterIndex: int) -> Task"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "1"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L21"
|
|
},
|
|
{
|
|
"label": "Action:external-call",
|
|
"value": "Reads user id from connection context @L21"
|
|
},
|
|
{
|
|
"label": "Action:guard-clause",
|
|
"value": "Requires authenticated user id @L21"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L22"
|
|
},
|
|
{
|
|
"label": "Action:external-call",
|
|
"value": "Dispatches command to application layer @L24"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Includes connection id in command @L24"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "ReadingProgress, User, Ebook"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/RealTime/SyncHub.cs:19:1",
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 19,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 19,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "var userId = Context.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;",
|
|
"responsibility": "var userId = Context.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Mediator",
|
|
"SignalR Hub",
|
|
"Per-user group (User_{userId})"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "SyncHub"
|
|
},
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "ReadingProgress, User, Ebook"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/RealTime/SyncHub.cs:21:1",
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 21,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 21,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"label": "OnConnectedAsync",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "When a client connects, adds their connection to a per-user SignalR group (User_{userId}) and calls base connection logic.",
|
|
"responsibility": "When a client connects, adds their connection to a per-user SignalR group (User_{userId}) and calls base connection logic.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Mediator",
|
|
"SignalR Hub",
|
|
"Per-user group (User_{userId})"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "SyncHub"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "() -> Task"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:external-call",
|
|
"value": "Reads Context.UserIdentifier @L30"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L30"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L31"
|
|
},
|
|
{
|
|
"label": "Action:guard-clause",
|
|
"value": "Only add to group if userId present @L31"
|
|
},
|
|
{
|
|
"label": "Action:external-call",
|
|
"value": "Adds connection to per-user group @L33"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L33"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "ReadingProgress, User, Ebook"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/RealTime/SyncHub.cs:28:1",
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 28,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 28,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "var userId = Context.UserIdentifier;",
|
|
"responsibility": "var userId = Context.UserIdentifier;",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Mediator",
|
|
"SignalR Hub",
|
|
"Per-user group (User_{userId})"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "SyncHub"
|
|
},
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "ReadingProgress, User, Ebook"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/RealTime/SyncHub.cs:30:1",
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 30,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 30,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"label": "OnDisconnectedAsync",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "When a client disconnects, removes their connection from the per-user SignalR group and invokes base disconnect logic.",
|
|
"responsibility": "When a client disconnects, removes their connection from the per-user SignalR group and invokes base disconnect logic.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Mediator",
|
|
"SignalR Hub",
|
|
"Per-user group (User_{userId})"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "SyncHub"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(exception: Exception?) -> Task"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:external-call",
|
|
"value": "Reads Context.UserIdentifier @L40"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L40"
|
|
},
|
|
{
|
|
"label": "Action:branch",
|
|
"value": "Evaluates branch condition @L41"
|
|
},
|
|
{
|
|
"label": "Action:guard-clause",
|
|
"value": "Only remove from group if userId present @L41"
|
|
},
|
|
{
|
|
"label": "Action:repository-read",
|
|
"value": "Reads repository or persistence state @L43"
|
|
},
|
|
{
|
|
"label": "Action:external-call",
|
|
"value": "Removes connection from per-user group @L43"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "ReadingProgress, User, Ebook"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/RealTime/SyncHub.cs:38:1",
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 38,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40",
|
|
"label": "Reads repository or persistence state",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "var userId = Context.UserIdentifier;",
|
|
"responsibility": "var userId = Context.UserIdentifier;",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Mediator",
|
|
"SignalR Hub",
|
|
"Per-user group (User_{userId})"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "SyncHub"
|
|
},
|
|
{
|
|
"label": "Action",
|
|
"value": "repository-read"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "ReadingProgress, User, Ebook"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/RealTime/SyncHub.cs:40:1",
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 40,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"label": "CountWords",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "method",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Count words in a string using whitespace separators; returns 0 for null/whitespace.",
|
|
"responsibility": "Count words in a string using whitespace separators; returns 0 for null/whitespace.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Service",
|
|
"Repository-access (via DbContext)",
|
|
"Factory (CreateAiTrigger)",
|
|
"Parsing & sanitization pipeline"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "EpubReaderService"
|
|
},
|
|
{
|
|
"label": "Signature",
|
|
"value": "(text: string) -> int"
|
|
},
|
|
{
|
|
"label": "Calls",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"label": "Action:guard-clause",
|
|
"value": "Empty text check @L177"
|
|
},
|
|
{
|
|
"label": "Action:guard-clause",
|
|
"value": "Guards early exit or rejection path @L177"
|
|
},
|
|
{
|
|
"label": "Action:return",
|
|
"value": "Returns result @L178"
|
|
},
|
|
{
|
|
"label": "Action:mapping",
|
|
"value": "Split and count words @L178"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Chapter/ReadingOrder, ContentBlock (TextSegmentBlock, AiActionTriggerBlock)"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/Services/EpubReaderService.cs:175:1",
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 175,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 175,
|
|
"sourceTargetKind": "method",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177",
|
|
"label": "Empty text check",
|
|
"diagramId": "method_flows_graph",
|
|
"nodeRole": "step",
|
|
"diagramFamily": "method-flow",
|
|
"architecturalLayer": "backend",
|
|
"summary": "Empty text check",
|
|
"responsibility": "Important behaviors: DB lookup with user guard, file path resolution that handles dev/prod layouts, EPUB parsing via external library, paragraph extraction and HTML sanitization, word-count-based insertion of AI trigger blocks (WordThreshold = 1000), recursive navigation-title lookup, and robust error logging with Result-based failure propagation.",
|
|
"technologyHints": [
|
|
"csharp",
|
|
"Service",
|
|
"Repository-access (via DbContext)",
|
|
"Factory (CreateAiTrigger)",
|
|
"Parsing & sanitization pipeline"
|
|
],
|
|
"detailItems": [
|
|
{
|
|
"label": "Owner",
|
|
"value": "EpubReaderService"
|
|
},
|
|
{
|
|
"label": "Action",
|
|
"value": "guard-clause"
|
|
},
|
|
{
|
|
"label": "Condition",
|
|
"value": "string.IsNullOrWhiteSpace(text)"
|
|
},
|
|
{
|
|
"label": "Outcomes",
|
|
"value": "return 0, continue"
|
|
},
|
|
{
|
|
"label": "Domain",
|
|
"value": "Ebook, Chapter/ReadingOrder, ContentBlock (TextSegmentBlock, AiActionTriggerBlock)"
|
|
}
|
|
],
|
|
"navigationTargets": [
|
|
{
|
|
"key": "source",
|
|
"href": "vscode://file/NexusReader.Infrastructure/Services/EpubReaderService.cs:177:1",
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 177,
|
|
"tooltip": "Open source"
|
|
}
|
|
],
|
|
"confidence": "high",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 177,
|
|
"sourceTargetKind": "step",
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
]
|
|
}
|
|
],
|
|
"edgeMetadata": [
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14_defines_type_14",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14",
|
|
"relation": "transforms",
|
|
"label": "model AuthenticationHeaderHandler",
|
|
"semanticLabel": "model AuthenticationHeaderHandler",
|
|
"semanticTitle": "model AuthenticationHeaderHandler",
|
|
"collapsedLabel": "model AuthenticationHeaderHandler",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 14,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "DelegatingHandler that attaches JWTs to trusted requests and orchestrates token refresh and retry behavior.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines_type_61",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingDbContextFactory",
|
|
"semanticLabel": "model ThrowingDbContextFactory",
|
|
"semanticTitle": "model ThrowingDbContextFactory",
|
|
"collapsedLabel": "model ThrowingDbContextFactory",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines_type_66",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingEmbeddingGenerator",
|
|
"semanticLabel": "model ThrowingEmbeddingGenerator",
|
|
"semanticTitle": "model ThrowingEmbeddingGenerator",
|
|
"collapsedLabel": "model ThrowingEmbeddingGenerator",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines_type_74",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingBookStorageService",
|
|
"semanticLabel": "model ThrowingBookStorageService",
|
|
"semanticTitle": "model ThrowingBookStorageService",
|
|
"collapsedLabel": "model ThrowingBookStorageService",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines_type_84",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingEbookRepository",
|
|
"semanticLabel": "model ThrowingEbookRepository",
|
|
"semanticTitle": "model ThrowingEbookRepository",
|
|
"collapsedLabel": "model ThrowingEbookRepository",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines_type_94",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingSyncBroadcaster",
|
|
"semanticLabel": "model ThrowingSyncBroadcaster",
|
|
"semanticTitle": "model ThrowingSyncBroadcaster",
|
|
"collapsedLabel": "model ThrowingSyncBroadcaster",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers_service_18",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"relation": "uses",
|
|
"label": "IPlatformService",
|
|
"semanticLabel": "IPlatformService",
|
|
"semanticTitle": "IPlatformService",
|
|
"collapsedLabel": "IPlatformService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers platform abstraction for browser.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers_service_33",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"relation": "uses",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"semanticTitle": "NexusAuthenticationStateProvider",
|
|
"collapsedLabel": "NexusAuthenticationStateProvider",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Authentication state provider and wiring to AuthenticationStateProvider.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers_service_38",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"relation": "uses",
|
|
"label": "IKnowledgeService",
|
|
"semanticLabel": "IKnowledgeService",
|
|
"semanticTitle": "IKnowledgeService",
|
|
"collapsedLabel": "IKnowledgeService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers a WASM-specific knowledge service implementation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers_service_40",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"relation": "uses",
|
|
"label": "uses",
|
|
"semanticLabel": "HttpClient (named 'NexusAPI')",
|
|
"semanticTitle": "HttpClient (named 'NexusAPI')",
|
|
"collapsedLabel": "uses",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Adds named HTTP client with base address and authentication header handler.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers_service_49",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"relation": "uses",
|
|
"label": "IDbContextFactory AppDbContext>",
|
|
"semanticLabel": "IDbContextFactory<AppDbContext>",
|
|
"semanticTitle": "IDbContextFactory<AppDbContext>",
|
|
"collapsedLabel": "IDbContextFactory AppDbContext>",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers throw-only stub to avoid using DbContext in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers_service_55",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"relation": "uses",
|
|
"label": "application services via extension",
|
|
"semanticLabel": "application services (via extension)",
|
|
"semanticTitle": "application services (via extension)",
|
|
"collapsedLabel": "application services via extension",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Calls AddApplication() to register application-layer services.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers_service_56",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"relation": "uses",
|
|
"label": "IEpubReader",
|
|
"semanticLabel": "IEpubReader",
|
|
"semanticTitle": "IEpubReader",
|
|
"collapsedLabel": "IEpubReader",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers WASM epub reader implementation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1_flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7_defines_type_7",
|
|
"diagramId": "dependency_map_graph",
|
|
"from": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7",
|
|
"relation": "transforms",
|
|
"label": "model WebPlatformService",
|
|
"semanticLabel": "model WebPlatformService",
|
|
"semanticTitle": "model WebPlatformService",
|
|
"collapsedLabel": "model WebPlatformService",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 7,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Concrete platform service for the web client that implements IPlatformService using JS interop.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers_service_18",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"relation": "uses",
|
|
"label": "IPlatformService",
|
|
"semanticLabel": "IPlatformService",
|
|
"semanticTitle": "IPlatformService",
|
|
"collapsedLabel": "IPlatformService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers platform abstraction for browser.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers_service_33",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"relation": "uses",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"semanticTitle": "NexusAuthenticationStateProvider",
|
|
"collapsedLabel": "NexusAuthenticationStateProvider",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Authentication state provider and wiring to AuthenticationStateProvider.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers_service_38",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"relation": "uses",
|
|
"label": "IKnowledgeService",
|
|
"semanticLabel": "IKnowledgeService",
|
|
"semanticTitle": "IKnowledgeService",
|
|
"collapsedLabel": "IKnowledgeService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers a WASM-specific knowledge service implementation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers_service_40",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"relation": "uses",
|
|
"label": "uses",
|
|
"semanticLabel": "HttpClient (named 'NexusAPI')",
|
|
"semanticTitle": "HttpClient (named 'NexusAPI')",
|
|
"collapsedLabel": "uses",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Adds named HTTP client with base address and authentication header handler.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers_service_49",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"relation": "uses",
|
|
"label": "IDbContextFactory AppDbContext>",
|
|
"semanticLabel": "IDbContextFactory<AppDbContext>",
|
|
"semanticTitle": "IDbContextFactory<AppDbContext>",
|
|
"collapsedLabel": "IDbContextFactory AppDbContext>",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers throw-only stub to avoid using DbContext in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers_service_55",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"relation": "uses",
|
|
"label": "application services via extension",
|
|
"semanticLabel": "application services (via extension)",
|
|
"semanticTitle": "application services (via extension)",
|
|
"collapsedLabel": "application services via extension",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Calls AddApplication() to register application-layer services.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers_service_56",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"relation": "uses",
|
|
"label": "IEpubReader",
|
|
"semanticLabel": "IEpubReader",
|
|
"semanticTitle": "IEpubReader",
|
|
"collapsedLabel": "IEpubReader",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers WASM epub reader implementation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_run_wasm_host_59_configures_pipeline_59",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"relation": "calls",
|
|
"label": "unknown",
|
|
"semanticLabel": "unknown",
|
|
"semanticTitle": "unknown",
|
|
"collapsedLabel": "unknown",
|
|
"expandedLabel": "configures-pipeline",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "unknown",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1_flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1_configures_pipeline_1",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1",
|
|
"to": "flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1",
|
|
"relation": "calls",
|
|
"label": "unknown",
|
|
"semanticLabel": "unknown",
|
|
"semanticTitle": "unknown",
|
|
"collapsedLabel": "unknown",
|
|
"expandedLabel": "configures-pipeline",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "unknown",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/NexusReader.Web.Client.csproj"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28_registers_service_28",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28",
|
|
"relation": "uses",
|
|
"label": "IPlatformService",
|
|
"semanticLabel": "IPlatformService",
|
|
"semanticTitle": "IPlatformService",
|
|
"collapsedLabel": "IPlatformService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 28,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers platform abstraction implemented for MAUI",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29_registers_service_29",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29",
|
|
"relation": "uses",
|
|
"label": "INativeStorageService",
|
|
"semanticLabel": "INativeStorageService",
|
|
"semanticTitle": "INativeStorageService",
|
|
"collapsedLabel": "INativeStorageService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 29,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers platform native storage implementation",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32_registers_service_32",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32",
|
|
"relation": "uses",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"semanticTitle": "NexusAuthenticationStateProvider",
|
|
"collapsedLabel": "NexusAuthenticationStateProvider",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 32,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Concrete auth state provider registered",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33_registers_service_33",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33",
|
|
"relation": "uses",
|
|
"label": "Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider",
|
|
"semanticLabel": "Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider",
|
|
"semanticTitle": "Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider",
|
|
"collapsedLabel": "Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Maps framework AuthenticationStateProvider to NexusAuthenticationStateProvider via service locator factory",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38_registers_service_38",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38",
|
|
"relation": "uses",
|
|
"label": "HttpClient",
|
|
"semanticLabel": "HttpClient",
|
|
"semanticTitle": "HttpClient",
|
|
"collapsedLabel": "HttpClient",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers HttpClient with BaseAddress = http://10.0.2.2:5000 (Android emulator to local server)",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1_registers_service_1",
|
|
"diagramId": "startup_runtime_graph",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1",
|
|
"relation": "uses",
|
|
"label": "UI and app state services",
|
|
"semanticLabel": "UI and app state services",
|
|
"semanticTitle": "UI and app state services",
|
|
"collapsedLabel": "UI and app state services",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers multiple scoped services handling UI state, knowledge coordination, sync and identity",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15_invokes_15",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"relation": "calls",
|
|
"label": "Program top-level startup",
|
|
"semanticLabel": "Program (top-level startup)",
|
|
"semanticTitle": "Program (top-level startup)",
|
|
"collapsedLabel": "Program top-level startup",
|
|
"expandedLabel": "handles-route",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 15,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Create the WebAssemblyHostBuilder, register application and platform services, add HTTP client and dummy server-only stubs, then build and run the WASM host.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_getservice_71_invokes_71",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"relation": "calls",
|
|
"label": "GetService",
|
|
"semanticLabel": "GetService",
|
|
"semanticTitle": "GetService",
|
|
"collapsedLabel": "GetService",
|
|
"expandedLabel": "handles-route",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Fallback service resolver stub that always returns null.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_getservice_71_flow_action_nexusreader_web_client_program_cs_getservice_return_71_71_returns_71",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"relation": "returns",
|
|
"label": "returns null",
|
|
"semanticLabel": "returns null",
|
|
"semanticTitle": "returns null",
|
|
"collapsedLabel": "returns null",
|
|
"expandedLabel": "returns",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "return-source",
|
|
"outputSummary": "public object? GetService(...) => null",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_invokes_88",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"relation": "calls",
|
|
"label": "FindAuthorByNameAsync",
|
|
"semanticLabel": "FindAuthorByNameAsync",
|
|
"semanticTitle": "FindAuthorByNameAsync",
|
|
"collapsedLabel": "FindAuthorByNameAsync",
|
|
"expandedLabel": "handles-route",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Repository lookup stub that throws because repository access is unsupported in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88_invokes_88",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"relation": "calls",
|
|
"label": "Reads repository or persistence state",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"semanticTitle": "Reads repository or persistence state",
|
|
"collapsedLabel": "Reads repository or persistence state",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines_type_61",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingDbContextFactory",
|
|
"semanticLabel": "model ThrowingDbContextFactory",
|
|
"semanticTitle": "model ThrowingDbContextFactory",
|
|
"collapsedLabel": "model ThrowingDbContextFactory",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines_type_66",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingEmbeddingGenerator",
|
|
"semanticLabel": "model ThrowingEmbeddingGenerator",
|
|
"semanticTitle": "model ThrowingEmbeddingGenerator",
|
|
"collapsedLabel": "model ThrowingEmbeddingGenerator",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines_type_74",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingBookStorageService",
|
|
"semanticLabel": "model ThrowingBookStorageService",
|
|
"semanticTitle": "model ThrowingBookStorageService",
|
|
"collapsedLabel": "model ThrowingBookStorageService",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines_type_84",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingEbookRepository",
|
|
"semanticLabel": "model ThrowingEbookRepository",
|
|
"semanticTitle": "model ThrowingEbookRepository",
|
|
"collapsedLabel": "model ThrowingEbookRepository",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines_type_94",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingSyncBroadcaster",
|
|
"semanticLabel": "model ThrowingSyncBroadcaster",
|
|
"semanticTitle": "model ThrowingSyncBroadcaster",
|
|
"collapsedLabel": "model ThrowingSyncBroadcaster",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers_service_18",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"relation": "uses",
|
|
"label": "IPlatformService",
|
|
"semanticLabel": "IPlatformService",
|
|
"semanticTitle": "IPlatformService",
|
|
"collapsedLabel": "IPlatformService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers platform abstraction for browser.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers_service_33",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"relation": "uses",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"semanticTitle": "NexusAuthenticationStateProvider",
|
|
"collapsedLabel": "NexusAuthenticationStateProvider",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Authentication state provider and wiring to AuthenticationStateProvider.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers_service_38",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"relation": "uses",
|
|
"label": "IKnowledgeService",
|
|
"semanticLabel": "IKnowledgeService",
|
|
"semanticTitle": "IKnowledgeService",
|
|
"collapsedLabel": "IKnowledgeService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers a WASM-specific knowledge service implementation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers_service_40",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"relation": "uses",
|
|
"label": "uses",
|
|
"semanticLabel": "HttpClient (named 'NexusAPI')",
|
|
"semanticTitle": "HttpClient (named 'NexusAPI')",
|
|
"collapsedLabel": "uses",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Adds named HTTP client with base address and authentication header handler.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers_service_49",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"relation": "uses",
|
|
"label": "IDbContextFactory AppDbContext>",
|
|
"semanticLabel": "IDbContextFactory<AppDbContext>",
|
|
"semanticTitle": "IDbContextFactory<AppDbContext>",
|
|
"collapsedLabel": "IDbContextFactory AppDbContext>",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers throw-only stub to avoid using DbContext in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers_service_55",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"relation": "uses",
|
|
"label": "application services via extension",
|
|
"semanticLabel": "application services (via extension)",
|
|
"semanticTitle": "application services (via extension)",
|
|
"collapsedLabel": "application services via extension",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Calls AddApplication() to register application-layer services.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers_service_56",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"relation": "uses",
|
|
"label": "IEpubReader",
|
|
"semanticLabel": "IEpubReader",
|
|
"semanticTitle": "IEpubReader",
|
|
"collapsedLabel": "IEpubReader",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers WASM epub reader implementation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_run_wasm_host_59_configures_pipeline_59",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"relation": "calls",
|
|
"label": "unknown",
|
|
"semanticLabel": "unknown",
|
|
"semanticTitle": "unknown",
|
|
"collapsedLabel": "unknown",
|
|
"expandedLabel": "configures-pipeline",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "unknown",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_program_top_level_29_invokes_29",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"relation": "calls",
|
|
"label": "Program top-level",
|
|
"semanticLabel": "Program (top-level)",
|
|
"semanticTitle": "Program (top-level)",
|
|
"collapsedLabel": "Program top-level",
|
|
"expandedLabel": "handles-route",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 29,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Top-level program: build host, register services and middleware, map routes/endpoints, run the app.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates_condition_62",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"relation": "calls",
|
|
"label": "true / false",
|
|
"semanticLabel": "true / false",
|
|
"semanticTitle": "true / false",
|
|
"collapsedLabel": "true / false",
|
|
"expandedLabel": "evaluates-condition",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls_back_66",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"relation": "calls",
|
|
"label": "fallback",
|
|
"semanticLabel": "fallback",
|
|
"semanticTitle": "fallback",
|
|
"collapsedLabel": "fallback",
|
|
"expandedLabel": "falls-back",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "else",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_invokes_125",
|
|
"diagramId": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"relation": "calls",
|
|
"label": "Reads repository or persistence state",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"semanticTitle": "Reads repository or persistence state",
|
|
"collapsedLabel": "Reads repository or persistence state",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 125,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "var isApiRequest = context.Request.Path.StartsWithSegments(\"/api\") ||",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_getservice_71_flow_action_nexusreader_web_client_program_cs_getservice_return_71_71_returns_71",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"relation": "returns",
|
|
"label": "returns null",
|
|
"semanticLabel": "returns null",
|
|
"semanticTitle": "returns null",
|
|
"collapsedLabel": "returns null",
|
|
"expandedLabel": "returns",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "return-source",
|
|
"outputSummary": "public object? GetService(...) => null",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88_invokes_88",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"relation": "calls",
|
|
"label": "Reads repository or persistence state",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"semanticTitle": "Reads repository or persistence state",
|
|
"collapsedLabel": "Reads repository or persistence state",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates_condition_62",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"relation": "calls",
|
|
"label": "true / false",
|
|
"semanticLabel": "true / false",
|
|
"semanticTitle": "true / false",
|
|
"collapsedLabel": "true / false",
|
|
"expandedLabel": "evaluates-condition",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls_back_66",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"relation": "calls",
|
|
"label": "fallback",
|
|
"semanticLabel": "fallback",
|
|
"semanticTitle": "fallback",
|
|
"collapsedLabel": "fallback",
|
|
"expandedLabel": "falls-back",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "else",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_invokes_125",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"relation": "calls",
|
|
"label": "Reads repository or persistence state",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"semanticTitle": "Reads repository or persistence state",
|
|
"collapsedLabel": "Reads repository or persistence state",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 125,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "var isApiRequest = context.Request.Path.StartsWithSegments(\"/api\") ||",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126_invokes_126",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126",
|
|
"relation": "calls",
|
|
"label": "Reads repository or persistence state",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"semanticTitle": "Reads repository or persistence state",
|
|
"collapsedLabel": "Reads repository or persistence state",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 126,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "context.Request.Path.StartsWithSegments(\"/identity\") ||",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8_uses_service_78",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8",
|
|
"relation": "uses",
|
|
"label": "AddApplication",
|
|
"semanticLabel": "AddApplication",
|
|
"semanticTitle": "AddApplication",
|
|
"collapsedLabel": "AddApplication",
|
|
"expandedLabel": "uses-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 78,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IServiceCollection",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31_uses_service_79",
|
|
"diagramId": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31",
|
|
"relation": "uses",
|
|
"label": "AddInfrastructure",
|
|
"semanticLabel": "AddInfrastructure",
|
|
"semanticTitle": "AddInfrastructure",
|
|
"collapsedLabel": "AddInfrastructure",
|
|
"expandedLabel": "uses-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 79,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IServiceCollection, IConfiguration",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines_type_61",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingDbContextFactory",
|
|
"semanticLabel": "model ThrowingDbContextFactory",
|
|
"semanticTitle": "model ThrowingDbContextFactory",
|
|
"collapsedLabel": "model ThrowingDbContextFactory",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines_type_66",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingEmbeddingGenerator",
|
|
"semanticLabel": "model ThrowingEmbeddingGenerator",
|
|
"semanticTitle": "model ThrowingEmbeddingGenerator",
|
|
"collapsedLabel": "model ThrowingEmbeddingGenerator",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines_type_74",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingBookStorageService",
|
|
"semanticLabel": "model ThrowingBookStorageService",
|
|
"semanticTitle": "model ThrowingBookStorageService",
|
|
"collapsedLabel": "model ThrowingBookStorageService",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines_type_84",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingEbookRepository",
|
|
"semanticLabel": "model ThrowingEbookRepository",
|
|
"semanticTitle": "model ThrowingEbookRepository",
|
|
"collapsedLabel": "model ThrowingEbookRepository",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines_type_94",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingSyncBroadcaster",
|
|
"semanticLabel": "model ThrowingSyncBroadcaster",
|
|
"semanticTitle": "model ThrowingSyncBroadcaster",
|
|
"collapsedLabel": "model ThrowingSyncBroadcaster",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_knowledgerequest_566_maps_dto_566",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_knowledgerequest_566",
|
|
"relation": "transforms",
|
|
"label": "dto KnowledgeRequest",
|
|
"semanticLabel": "dto KnowledgeRequest",
|
|
"semanticTitle": "dto KnowledgeRequest",
|
|
"collapsedLabel": "dto KnowledgeRequest",
|
|
"expandedLabel": "maps-dto",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 566,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Request DTO carrying free-text input and optional ebook context for knowledge APIs.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_groundednessrequest_567_maps_dto_567",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_groundednessrequest_567",
|
|
"relation": "transforms",
|
|
"label": "dto GroundednessRequest",
|
|
"semanticLabel": "dto GroundednessRequest",
|
|
"semanticTitle": "dto GroundednessRequest",
|
|
"collapsedLabel": "dto GroundednessRequest",
|
|
"expandedLabel": "maps-dto",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 567,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Request DTO for verifying answer groundedness in a context.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_semanticsearchrequest_568_maps_dto_568",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_semanticsearchrequest_568",
|
|
"relation": "transforms",
|
|
"label": "dto SemanticSearchRequest",
|
|
"semanticLabel": "dto SemanticSearchRequest",
|
|
"semanticTitle": "dto SemanticSearchRequest",
|
|
"collapsedLabel": "dto SemanticSearchRequest",
|
|
"expandedLabel": "maps-dto",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 568,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "DTO for semantic search requests with a limit.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_askquestionrequest_569_maps_dto_569",
|
|
"diagramId": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_askquestionrequest_569",
|
|
"relation": "transforms",
|
|
"label": "dto AskQuestionRequest",
|
|
"semanticLabel": "dto AskQuestionRequest",
|
|
"semanticTitle": "dto AskQuestionRequest",
|
|
"collapsedLabel": "dto AskQuestionRequest",
|
|
"expandedLabel": "maps-dto",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 569,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "DTO for question-asking APIs including optional ebook context and limit.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines_type_61",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingDbContextFactory",
|
|
"semanticLabel": "model ThrowingDbContextFactory",
|
|
"semanticTitle": "model ThrowingDbContextFactory",
|
|
"collapsedLabel": "model ThrowingDbContextFactory",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines_type_66",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingEmbeddingGenerator",
|
|
"semanticLabel": "model ThrowingEmbeddingGenerator",
|
|
"semanticTitle": "model ThrowingEmbeddingGenerator",
|
|
"collapsedLabel": "model ThrowingEmbeddingGenerator",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines_type_74",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingBookStorageService",
|
|
"semanticLabel": "model ThrowingBookStorageService",
|
|
"semanticTitle": "model ThrowingBookStorageService",
|
|
"collapsedLabel": "model ThrowingBookStorageService",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines_type_84",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingEbookRepository",
|
|
"semanticLabel": "model ThrowingEbookRepository",
|
|
"semanticTitle": "model ThrowingEbookRepository",
|
|
"collapsedLabel": "model ThrowingEbookRepository",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines_type_94",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"relation": "transforms",
|
|
"label": "model ThrowingSyncBroadcaster",
|
|
"semanticLabel": "model ThrowingSyncBroadcaster",
|
|
"semanticTitle": "model ThrowingSyncBroadcaster",
|
|
"collapsedLabel": "model ThrowingSyncBroadcaster",
|
|
"expandedLabel": "defines-type",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers_service_18",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"relation": "uses",
|
|
"label": "IPlatformService",
|
|
"semanticLabel": "IPlatformService",
|
|
"semanticTitle": "IPlatformService",
|
|
"collapsedLabel": "IPlatformService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers platform abstraction for browser.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers_service_33",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"relation": "uses",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"semanticTitle": "NexusAuthenticationStateProvider",
|
|
"collapsedLabel": "NexusAuthenticationStateProvider",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Authentication state provider and wiring to AuthenticationStateProvider.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers_service_38",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"relation": "uses",
|
|
"label": "IKnowledgeService",
|
|
"semanticLabel": "IKnowledgeService",
|
|
"semanticTitle": "IKnowledgeService",
|
|
"collapsedLabel": "IKnowledgeService",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers a WASM-specific knowledge service implementation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers_service_40",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"relation": "uses",
|
|
"label": "uses",
|
|
"semanticLabel": "HttpClient (named 'NexusAPI')",
|
|
"semanticTitle": "HttpClient (named 'NexusAPI')",
|
|
"collapsedLabel": "uses",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Adds named HTTP client with base address and authentication header handler.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers_service_49",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"relation": "uses",
|
|
"label": "IDbContextFactory AppDbContext>",
|
|
"semanticLabel": "IDbContextFactory<AppDbContext>",
|
|
"semanticTitle": "IDbContextFactory<AppDbContext>",
|
|
"collapsedLabel": "IDbContextFactory AppDbContext>",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers throw-only stub to avoid using DbContext in WASM.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers_service_55",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"relation": "uses",
|
|
"label": "application services via extension",
|
|
"semanticLabel": "application services (via extension)",
|
|
"semanticTitle": "application services (via extension)",
|
|
"collapsedLabel": "application services via extension",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Calls AddApplication() to register application-layer services.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers_service_56",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"relation": "uses",
|
|
"label": "IEpubReader",
|
|
"semanticLabel": "IEpubReader",
|
|
"semanticTitle": "IEpubReader",
|
|
"collapsedLabel": "IEpubReader",
|
|
"expandedLabel": "registers-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Registers WASM epub reader implementation.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls_back_66",
|
|
"diagramId": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"relation": "calls",
|
|
"label": "fallback",
|
|
"semanticLabel": "fallback",
|
|
"semanticTitle": "fallback",
|
|
"collapsedLabel": "fallback",
|
|
"expandedLabel": "falls-back",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "else",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_getservice_71_flow_action_nexusreader_web_client_program_cs_getservice_return_71_71_returns_71",
|
|
"diagramId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"relation": "returns",
|
|
"label": "returns null",
|
|
"semanticLabel": "returns null",
|
|
"semanticTitle": "returns null",
|
|
"collapsedLabel": "returns null",
|
|
"expandedLabel": "returns",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"sourceTargetKind": "return-source",
|
|
"outputSummary": "public object? GetService(...) => null",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates_condition_62",
|
|
"diagramId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"relation": "calls",
|
|
"label": "true / false",
|
|
"semanticLabel": "true / false",
|
|
"semanticTitle": "true / false",
|
|
"collapsedLabel": "true / false",
|
|
"expandedLabel": "evaluates-condition",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls_back_66",
|
|
"diagramId": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"relation": "calls",
|
|
"label": "fallback",
|
|
"semanticLabel": "fallback",
|
|
"semanticTitle": "fallback",
|
|
"collapsedLabel": "fallback",
|
|
"expandedLabel": "falls-back",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "else",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112_invokes_112",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"relation": "calls",
|
|
"label": "CloneHttpRequestMessageAsync",
|
|
"semanticLabel": "CloneHttpRequestMessageAsync",
|
|
"semanticTitle": "CloneHttpRequestMessageAsync",
|
|
"collapsedLabel": "CloneHttpRequestMessageAsync",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 112,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Creates a deep-ish clone of an HttpRequestMessage including method, URI, version, headers and buffered content to allow safe retry.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119_evaluates_condition_119",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119",
|
|
"relation": "calls",
|
|
"label": "true / false",
|
|
"semanticLabel": "true / false",
|
|
"semanticTitle": "true / false",
|
|
"collapsedLabel": "true / false",
|
|
"expandedLabel": "evaluates-condition",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 119,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "if (req.Content != null)",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237_flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14_uses_service_247",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14",
|
|
"relation": "uses",
|
|
"label": "SyncHub",
|
|
"semanticLabel": "SyncHub",
|
|
"semanticTitle": "SyncHub",
|
|
"collapsedLabel": "SyncHub",
|
|
"expandedLabel": "uses-service",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 247,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Hub mapping for realtime sync",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19_invokes_19",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"relation": "calls",
|
|
"label": "UpdateProgress",
|
|
"semanticLabel": "UpdateProgress",
|
|
"semanticTitle": "UpdateProgress",
|
|
"collapsedLabel": "UpdateProgress",
|
|
"expandedLabel": "handles-route",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 19,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Receives client progress updates, obtains the calling user id and forwards an UpdateReadingProgressCommand via MediatR when user is present.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21_invokes_21",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21",
|
|
"relation": "calls",
|
|
"label": "Reads repository or persistence state",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"semanticTitle": "Reads repository or persistence state",
|
|
"collapsedLabel": "Reads repository or persistence state",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 21,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "var userId = Context.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28_invokes_28",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"relation": "calls",
|
|
"label": "OnConnectedAsync",
|
|
"semanticLabel": "OnConnectedAsync",
|
|
"semanticTitle": "OnConnectedAsync",
|
|
"collapsedLabel": "OnConnectedAsync",
|
|
"expandedLabel": "handles-route",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 28,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "When a client connects, adds their connection to a per-user SignalR group (User_{userId}) and calls base connection logic.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30_invokes_30",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30",
|
|
"relation": "calls",
|
|
"label": "Reads repository or persistence state",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"semanticTitle": "Reads repository or persistence state",
|
|
"collapsedLabel": "Reads repository or persistence state",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 30,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "var userId = Context.UserIdentifier;",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38_invokes_38",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"relation": "calls",
|
|
"label": "OnDisconnectedAsync",
|
|
"semanticLabel": "OnDisconnectedAsync",
|
|
"semanticTitle": "OnDisconnectedAsync",
|
|
"collapsedLabel": "OnDisconnectedAsync",
|
|
"expandedLabel": "handles-route",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 38,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "When a client disconnects, removes their connection from the per-user SignalR group and invokes base disconnect logic.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40_invokes_40",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40",
|
|
"relation": "calls",
|
|
"label": "Reads repository or persistence state",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"semanticTitle": "Reads repository or persistence state",
|
|
"collapsedLabel": "Reads repository or persistence state",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 40,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "var userId = Context.UserIdentifier;",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175_invokes_175",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"relation": "calls",
|
|
"label": "CountWords",
|
|
"semanticLabel": "CountWords",
|
|
"semanticTitle": "CountWords",
|
|
"collapsedLabel": "CountWords",
|
|
"expandedLabel": "invokes",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 175,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Count words in a string using whitespace separators; returns 0 for null/whitespace.",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177_evaluates_condition_177",
|
|
"diagramId": "method_flows_graph",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177",
|
|
"relation": "calls",
|
|
"label": "return 0 / continue",
|
|
"semanticLabel": "return 0 / continue",
|
|
"semanticTitle": "return 0 / continue",
|
|
"collapsedLabel": "return 0 / continue",
|
|
"expandedLabel": "evaluates-condition",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 177,
|
|
"sourceTargetKind": "call-site",
|
|
"outputSummary": "Empty text check",
|
|
"inputTypePaths": [],
|
|
"outputTypePaths": [],
|
|
"evidencePaths": [
|
|
"c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
]
|
|
}
|
|
],
|
|
"contextBagDebug": {
|
|
"id": "web_client_wasm_md",
|
|
"bagType": "auth",
|
|
"title": "Blazor WebAssembly Client: hosting, handlers, and platform services context bag",
|
|
"anchorFiles": [
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"includedFiles": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"reason": "Included because it likely participates in the core orchestration path",
|
|
"source": "scope"
|
|
},
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"reason": "Selected as an entrypoint anchor for this flow scope",
|
|
"source": "entrypoint"
|
|
},
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"reason": "Included because it likely participates in the core orchestration path",
|
|
"source": "scope"
|
|
},
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"reason": "Included because it likely participates in the core orchestration path",
|
|
"source": "scope"
|
|
},
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"reason": "Included because it likely participates in the core orchestration path",
|
|
"source": "scope"
|
|
},
|
|
{
|
|
"path": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"reason": "Included because it belongs to the resolved document scope",
|
|
"source": "scope"
|
|
},
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"reason": "Selected as an entrypoint anchor for this flow scope",
|
|
"source": "entrypoint"
|
|
},
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"reason": "Selected as an entrypoint anchor for this flow scope",
|
|
"source": "entrypoint"
|
|
},
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
},
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
},
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
},
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
},
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
},
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
},
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
},
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
},
|
|
{
|
|
"path": "NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"reason": "Included because it is called by an anchor method (call-chain widening)",
|
|
"source": "call-chain"
|
|
}
|
|
],
|
|
"relatedDomains": [
|
|
"auth"
|
|
],
|
|
"relatedEntrypoints": [
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"confidence": 0.75
|
|
},
|
|
"flowGraph": {
|
|
"contextBagId": "web_client_wasm_md",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"label": "AuthenticationHeaderHandler",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27",
|
|
"label": "SendAsync",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 27,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 27
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27",
|
|
"label": "Calls external dependency",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 27,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 27
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32",
|
|
"label": "Detect auth endpoints",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 32,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 32
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39",
|
|
"label": "Trusted host check",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 39,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 39
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45",
|
|
"label": "Attach token to request",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45",
|
|
"label": "Evaluates branch condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48",
|
|
"label": "Evaluates branch condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 48,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 48
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55",
|
|
"label": "Calls external dependency",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 55,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 55
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58",
|
|
"label": "Evaluates branch condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 58,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 58
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69",
|
|
"label": "Concurrent-refresh detection",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 69,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 69
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69",
|
|
"label": "Evaluates branch condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 69,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 69
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73",
|
|
"label": "Falls back to alternate path",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 73,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 73
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79",
|
|
"label": "Evaluates branch condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 79,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 79
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85",
|
|
"label": "Falls back to alternate path",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 85,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 85
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91",
|
|
"label": "Evaluates branch condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 91,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 91
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_retry_91_91",
|
|
"label": "Retry original request with new token",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 91,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 91
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_95_95",
|
|
"label": "Calls external dependency",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 95,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 95
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_95_95",
|
|
"label": "Returns result",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 95,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 95
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_109_109",
|
|
"label": "Return response",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 109,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 109
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"label": "CloneHttpRequestMessageAsync",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 112,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 112
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119",
|
|
"label": "Evaluates branch condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 119,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 119
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_126_126",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 126,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 126
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_132_132",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 132,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 132
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_return_139_139",
|
|
"label": "Return cloned request",
|
|
"role": "handler",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 139,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 139
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14",
|
|
"label": "AuthenticationHeaderHandler",
|
|
"role": "unknown",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 14,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 14
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "entrypoint",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"label": "Program (top-level startup)",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 15,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 15
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"label": "GetService",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"label": "returns null",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"label": "FindAuthorByNameAsync",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"label": "ThrowingDbContextFactory",
|
|
"role": "unknown",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 61
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"role": "unknown",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"label": "ThrowingBookStorageService",
|
|
"role": "unknown",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 74
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"label": "ThrowingEbookRepository",
|
|
"role": "unknown",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 84
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"role": "unknown",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 94
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"label": "WebPlatformService",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 18
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"label": "WasmKnowledgeService",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 38
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"label": "configured HttpClient",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"label": "ThrowingDbContextFactory",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 49
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"label": "N/A",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 55
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"label": "WasmEpubReader",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 56
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"label": "Run WASM Host",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 59
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_wasmepubservice_cs_file_1",
|
|
"label": "WasmEpubReader",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_17",
|
|
"label": "GetEpubContentAsync",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 17,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 17
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_branch_26_26",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 26,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 26
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_guard_clause_29_29",
|
|
"label": "Null check after deserialization",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_29_29",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_33_33",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_37_37",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 37,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 37
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_45",
|
|
"label": "ExtractMetadataAsync",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_return_53_53",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 53,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 53
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_return_57_57",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 57,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 57
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"label": "WasmKnowledgeService",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgeasync_17",
|
|
"label": "GetKnowledgeAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 17,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 17
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgeasync_return_19_19",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 19,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 19
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getgraphdataasync_22",
|
|
"label": "GetGraphDataAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 22,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 22
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getgraphdataasync_return_24_24",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgemapasync_27",
|
|
"label": "GetKnowledgeMapAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 27,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 27
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgemapasync_return_29_29",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getsummaryandquizasync_32",
|
|
"label": "GetSummaryAndQuizAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 32,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 32
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getsummaryandquizasync_return_34_34",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_37",
|
|
"label": "GetRelevantContextAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 37,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 37
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_42_42",
|
|
"label": "Evaluates branch condition",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 42,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 42
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_repository_read_45_45",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45",
|
|
"label": "Return Ok or Fail depending on deserialization",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_48_48",
|
|
"label": "Error path: read error body and return Fail",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 48,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 48
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_49_49",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 49,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 49
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_53_53",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 53,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 53
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_56",
|
|
"label": "VerifyGroundednessAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 56,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 56
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_61_61",
|
|
"label": "Evaluates branch condition",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 61,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 61
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64",
|
|
"label": "Return Ok or Fail depending on deserialization",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 64,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 64
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_67_67",
|
|
"label": "Error path: read error body and return Fail",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 67,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 67
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_68_68",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 68,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 68
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_72_72",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 72,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 72
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_76",
|
|
"label": "SearchLibrarySemanticallyAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 76,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 76
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_81_81",
|
|
"label": "Evaluates branch condition",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 81,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 81
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84",
|
|
"label": "Return Ok(results) or Ok(empty list)",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 84,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 84
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_87_87",
|
|
"label": "Error path: read error body and return Fail",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 87,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 87
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_88_88",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 88,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 88
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_92_92",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 92,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 92
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_96",
|
|
"label": "AskQuestionAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 96,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 96
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_101_101",
|
|
"label": "Evaluates branch condition",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 101,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 101
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104",
|
|
"label": "Return Ok or Fail depending on deserialization",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 104,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 104
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_107_107",
|
|
"label": "Error path: read error body and return Fail",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 107,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 107
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_108_108",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 108,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 108
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_112_112",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 112,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 112
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_116",
|
|
"label": "CallKnowledgeApiAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 116,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 116
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_121_121",
|
|
"label": "Evaluates branch condition",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 121,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 121
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124",
|
|
"label": "Return Ok(packet) or Fail on null",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 124,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 124
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_127_127",
|
|
"label": "Error path: read error body and return Fail",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 127,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 127
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_128_128",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 128,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 128
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_132_132",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 132,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 132
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_136",
|
|
"label": "ClearCacheAsync",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 136,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 136
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_142_142",
|
|
"label": "Evaluates branch condition",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 142,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 142
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_145_145",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 145,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 145
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_148_148",
|
|
"label": "Error path: read error body and return Fail",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 148,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 148
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_149_149",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 149,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 149
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_153_153",
|
|
"label": "Returns result",
|
|
"role": "integration-client",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 153,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 153
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"label": "WebPlatformService",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_webplatformservice_cs_vibratesuccessasync_16",
|
|
"label": "VibrateSuccessAsync",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 16,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 16
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_webplatformservice_cs_vibrateerrorasync_17",
|
|
"label": "VibrateErrorAsync",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 17,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 17
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_19",
|
|
"label": "VibrateAsync",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 19,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 19
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24",
|
|
"label": "Return success",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_28_28",
|
|
"label": "Return failure",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_32",
|
|
"label": "GetDeviceContext",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 32,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 32
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_return_34_34",
|
|
"label": "Return device context wrapped in Result.Ok",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7",
|
|
"label": "WebPlatformService",
|
|
"role": "unknown",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 7,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 7
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1",
|
|
"label": "NexusReader.Web.Client.csproj",
|
|
"role": "config",
|
|
"layer": "frontend",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourcePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1",
|
|
"label": "project-configuration",
|
|
"role": "config",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourcePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"label": "MauiProgram",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "entrypoint",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_maui_mauiprogram_cs_createmauiapp_12",
|
|
"label": "CreateMauiApp",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 12,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 12
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_maui_mauiprogram_cs_createmauiapp_return_57_57",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 57,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 57
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_mauiprogram_10",
|
|
"label": "MauiProgram",
|
|
"role": "unknown",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 10,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28",
|
|
"label": "MauiPlatformService",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29",
|
|
"label": "MauiStorageService",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 32,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 32
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33",
|
|
"label": "NexusAuthenticationStateProvider (via factory)",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38",
|
|
"label": "HttpClient (configured)",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 38,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 38
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1",
|
|
"label": "ThemeService, FocusModeService, QuizStateService, ReaderNavigationService, KnowledgeGraphService, ReaderInteractionService, KnowledgeCoordinator, SyncService, IdentityService",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_nexusreader_application_registrations_51",
|
|
"label": "NexusReader.Application registrations",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 51,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 51
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_handlers_from_nexusreader_application_assembly_53",
|
|
"label": "Handlers from NexusReader.Application assembly",
|
|
"role": "service",
|
|
"layer": "frontend",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 53,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 53
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_maui_mauiprogram_cs_create_and_build_mauiapp_16",
|
|
"label": "Create and build MauiApp",
|
|
"role": "startup",
|
|
"layer": "frontend",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 16,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 16
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"label": "Program.cs",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "entrypoint",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"label": "Program (top-level)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 62
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"label": "Falls back to alternate path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 125,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 125
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 126,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 126
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_127_127",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 127,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 127
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_129_129",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 129,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 129
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_131_131",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 131,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 131
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_133_133",
|
|
"label": "Falls back to alternate path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 133,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 133
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_135_135",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 135,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 135
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_137_137",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 137,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 137
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_169_169",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 169,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 169
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_validation_171_171",
|
|
"label": "Validates input or state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 171,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 171
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_loop_186_186",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 186,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 186
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_190_190",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 190,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 190
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_198_198",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 198,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 198
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_206_206",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 206,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 206
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_log_206_206",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 206,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 206
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_log_208_208",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 208,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 208
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_216_216",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 216,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 216
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_log_216_216",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 216,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 216
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_log_218_218",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 218,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 218
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_226_226",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 226,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 226
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_230_230",
|
|
"label": "Falls back to alternate path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 230,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 230
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 237,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 237
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_252_252",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 252,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 252
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_255_255",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 255,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 255
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_258_258",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 258,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 258
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_267_267",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 267,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 267
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_269_269",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 269,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 269
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_270_270",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 270,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 270
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_275_275",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 275,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 275
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_277_277",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 277,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 277
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_278_278",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 278,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 278
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_283_283",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 283,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 283
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_285_285",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 285,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 285
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_286_286",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 286,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 286
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_291_291",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 291,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 291
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_293_293",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 293,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 293
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_294_294",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 294,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 294
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_299_299",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 299,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 299
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_301_301",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 301,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 301
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_302_302",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 302,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 302
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_307_307",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 307,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 307
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_309_309",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 309,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 309
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_310_310",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 310,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 310
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_315_315",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 315,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 315
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_317_317",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 317,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 317
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_318_318",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 318,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 318
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_324_324",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 324,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 324
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_327_327",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 327,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 327
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_332_332",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 332,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 332
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_333_333",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 333,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 333
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_350_350",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 350,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 350
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_352_352",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 352,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 352
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_352_352",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 352,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 352
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_357_357",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 357,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 357
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_358_358",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 358,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 358
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_361_361",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 361,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 361
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_364_364",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 364,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 364
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_374_374",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 374,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 374
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_381_381",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 381,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 381
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_switch_385_385",
|
|
"label": "Branches across multiple outcomes",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 385,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 385
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_402_402",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 402,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 402
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_406_406",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 406,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 406
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_416_416",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 416,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 416
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_418_418",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 418,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 418
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_419_419",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 419,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 419
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_424_424",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 424,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 424
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_439_439",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 439,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 439
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_441_441",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 441,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 441
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_442_442",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 442,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 442
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_444_444",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 444,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 444
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_460_460",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 460,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 460
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_470_470",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 470,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 470
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_log_472_472",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 472,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 472
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_473_473",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 473,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 473
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_477_477",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 477,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 477
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_479_479",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 479,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 479
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_480_480",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 480,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 480
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_483_483",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 483,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 483
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_log_485_485",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 485,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 485
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_485_485",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 485,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 485
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_486_486",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 486,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 486
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_490_490",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 490,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 490
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_491_491",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 491,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 491
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_496_496",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 496,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 496
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_501_501",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 501,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 501
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_loop_505_505",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 505,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 505
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_log_507_507",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 507,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 507
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_510_510",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 510,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 510
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_512_512",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 512,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 512
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_log_516_516",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 516,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 516
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_517_517",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 517,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 517
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_529_529",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 529,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 529
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_532_532",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 532,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 532
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_536_536",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 536,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 536
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_545_545",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 545,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 545
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_550_550",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 550,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 550
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_551_551",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 551,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 551
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_554_554",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 554,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 554
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_554_554",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 554,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 554
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_return_556_556",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 556,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 556
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_application_dependencyinjection_cs_file_1",
|
|
"label": "DependencyInjection",
|
|
"role": "service-registration",
|
|
"layer": "application",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8",
|
|
"label": "AddApplication",
|
|
"role": "service-registration",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 8,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 8
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"label": "DependencyInjection",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31",
|
|
"label": "AddInfrastructure",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 31,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 31
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"label": "SyncHub",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14",
|
|
"label": "SyncHub",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 14,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 14
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165",
|
|
"label": "StartupValidation (scope check)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 165,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 165
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_branch_169_169",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 169,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 169
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_guard_clause_169_169",
|
|
"label": "Fail if infrastructure missing",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 169,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 169
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_validation_171_171",
|
|
"label": "Validates input or state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 171,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 171
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175",
|
|
"label": "EnsureDatabaseInitialized",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 175,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 175
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_loop_186_186",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 186,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 186
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_190_190",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 190,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 190
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_198_198",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 198,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 198
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_206_206",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 206,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 206
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_206_206",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 206,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 206
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_208_208",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 208,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 208
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_216_216",
|
|
"label": "Evaluates branch condition",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 216,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 216
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_216_216",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 216,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 216
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_218_218",
|
|
"label": "Logs runtime state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 218,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 218
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249",
|
|
"label": "GET /api/epub/{ebookId}/{index}",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 249,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 249
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_252_252",
|
|
"label": "Extracts userId from ClaimsPrincipal",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 252,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 252
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_repository_read_252_252",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 252,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 252
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_255_255",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 255,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 255
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_branch_255_255",
|
|
"label": "Return Ok on success, BadRequest on failure",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 255,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 255
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_return_258_258",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 258,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 258
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265",
|
|
"label": "KnowledgeApi POST /api/knowledge/ (GetKnowledge)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 265,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 265
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_repository_read_267_267",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 267,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 267
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_267_267",
|
|
"label": "Resolve tenantId from claims with default",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 267,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 267
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_269_269",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 269,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 269
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_branch_269_269",
|
|
"label": "Return Ok or BadRequest based on result.IsSuccess",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 269,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 269
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_return_270_270",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 270,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 270
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273",
|
|
"label": "KnowledgeApi POST /graph (GetGraphDataAsync)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 273,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 273
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_repository_read_275_275",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 275,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 275
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_guard_clause_277_277",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 277,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 277
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_branch_277_277",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 277,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 277
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_return_278_278",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 278,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 278
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281",
|
|
"label": "KnowledgeApi POST /summary (GetSummaryAndQuizAsync)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 281,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 281
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_repository_read_283_283",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 283,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 283
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_guard_clause_285_285",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 285,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 285
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_branch_285_285",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 285,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 285
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_return_286_286",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 286,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 286
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289",
|
|
"label": "KnowledgeApi POST /map (GetKnowledgeMapAsync)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 289,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 289
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_repository_read_291_291",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 291,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 291
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_guard_clause_293_293",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 293,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 293
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_branch_293_293",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 293,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 293
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_return_294_294",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 294,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 294
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297",
|
|
"label": "KnowledgeApi POST /verify-groundedness",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 297,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 297
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_repository_read_299_299",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 299,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 299
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_guard_clause_301_301",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 301,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 301
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_branch_301_301",
|
|
"label": "Return Ok or BadRequest based on verification result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 301,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 301
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_return_302_302",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 302,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 302
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305",
|
|
"label": "KnowledgeApi POST /search (SearchLibrarySemanticallyAsync)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 305,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 305
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_repository_read_307_307",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 307,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 307
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_guard_clause_309_309",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 309,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 309
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_branch_309_309",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 309,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 309
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_return_310_310",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 310,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 310
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313",
|
|
"label": "KnowledgeApi POST /ask (AskQuestionAsync)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 313,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 313
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_repository_read_315_315",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 315,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 315
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_guard_clause_317_317",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 317,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 317
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_branch_317_317",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 317,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 317
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_return_318_318",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 318,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 318
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321",
|
|
"label": "KnowledgeApi DELETE /api/knowledge/ (ClearCacheAsync)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 321,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 321
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_branch_323_323",
|
|
"label": "Return Ok on success; BadRequest with message on failure",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 323,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 323
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_guard_clause_324_324",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 324,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 324
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_return_327_327",
|
|
"label": "Returns result",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 327,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 327
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_knowledgerequest_566",
|
|
"label": "KnowledgeRequest",
|
|
"role": "dto",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 566,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 566
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_groundednessrequest_567",
|
|
"label": "GroundednessRequest",
|
|
"role": "dto",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 567,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 567
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_semanticsearchrequest_568",
|
|
"label": "SemanticSearchRequest",
|
|
"role": "dto",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 568,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 568
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_askquestionrequest_569",
|
|
"label": "AskQuestionRequest",
|
|
"role": "dto",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 569,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 569
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_webplatformservice_47",
|
|
"label": "WebPlatformService",
|
|
"role": "service",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_knowledgecoordinator_55",
|
|
"label": "KnowledgeCoordinator",
|
|
"role": "service",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 55,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 55
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_httpclient_configured_with_base_address_58",
|
|
"label": "HttpClient configured with base address",
|
|
"role": "service",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 58,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 58
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_nexusreader_application_assembly_extension_78",
|
|
"label": "NexusReader.Application (assembly extension)",
|
|
"role": "service",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 78,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 78
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_nexusreader_infrastructure_assembly_extension_79",
|
|
"label": "NexusReader.Infrastructure (assembly extension)",
|
|
"role": "service",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 79,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 79
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_identity_with_appdbcontext_107",
|
|
"label": "Identity with AppDbContext",
|
|
"role": "service",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 107,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 107
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_usehangfiredashboard_163",
|
|
"label": "UseHangfireDashboard",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 163,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 163
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_configure_request_pipeline_routing_auth_antiforgery_static_assets_hubs_225",
|
|
"label": "Configure request pipeline (routing, auth, antiforgery, static assets, hubs)",
|
|
"role": "startup",
|
|
"layer": "application",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Web/Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 225,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 225
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_application_dependencyinjection_cs_addapplication_return_13_13",
|
|
"label": "Return IServiceCollection",
|
|
"role": "service-registration",
|
|
"layer": "application",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 13,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 13
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_application_dependencyinjection_cs_configured_via_addmapsterconfiguration_extension_10",
|
|
"label": "configured via AddMapsterConfiguration extension",
|
|
"role": "service",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 10,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_application_dependencyinjection_cs_handlers_discovered_in_this_assembly_11",
|
|
"label": "handlers discovered in this assembly",
|
|
"role": "service",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 11,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 11
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_33_33",
|
|
"label": "Selects DB provider",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_34_34",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_fallback_44_44",
|
|
"label": "Falls back to alternate path",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 44,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 44
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_64_64",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 64,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 64
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 76,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 76
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_return_134_134",
|
|
"label": "Returns IServiceCollection",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 134,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 134
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"label": "KnowledgeService",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"label": "EpubReaderService",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_services_epubmetadataextractor_cs_file_1",
|
|
"label": "EpubMetadataExtractor",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1",
|
|
"label": "BookStorageService",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1",
|
|
"label": "SignalRSyncBroadcaster",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_assembly_137",
|
|
"label": "Assembly",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 137,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 137
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_assembly_return_137_137",
|
|
"label": "Return assembly",
|
|
"role": "service-registration",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 137,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 137
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_iinfrastructuremarker_140",
|
|
"label": "IInfrastructureMarker",
|
|
"role": "unknown",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 140,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 140
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_infrastructuremarker_141",
|
|
"label": "InfrastructureMarker",
|
|
"role": "unknown",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 141,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 141
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_36",
|
|
"label": "AppDbContext",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 36,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 36
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_41",
|
|
"label": "AppDbContext",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 41,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 41
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_47",
|
|
"label": "AppDbContext",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_51",
|
|
"label": "AppDbContext",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 51,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 51
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_qdrantclient_57",
|
|
"label": "QdrantClient",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 57,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 57
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_neo4j_driver_graphdatabase_driver_61",
|
|
"label": "Neo4j.Driver (GraphDatabase.Driver)",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 61,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 61
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_hangfire_postgres_storage_66",
|
|
"label": "Hangfire/Postgres storage",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_geminichatclient_99",
|
|
"label": "GeminiChatClient",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 99,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 99
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_geminiembeddinggenerator_105",
|
|
"label": "GeminiEmbeddingGenerator",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 105,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 105
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_knowledgeservice_112",
|
|
"label": "KnowledgeService",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 112,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 112
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"label": "UpdateProgress",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 19,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 19
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 21,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 21
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_guard_clause_21_21",
|
|
"label": "Requires authenticated user id",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 21,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 21
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_branch_22_22",
|
|
"label": "Evaluates branch condition",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 22,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 22
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_24_24",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_application_commands_sync_updatereadingprogresscommand_cs_file_1",
|
|
"label": "UpdateReadingProgressCommand",
|
|
"role": "handler",
|
|
"layer": "application",
|
|
"kind": "file",
|
|
"filePath": "NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"sourcePath": "NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"label": "OnConnectedAsync",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 30,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_branch_31_31",
|
|
"label": "Evaluates branch condition",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 31,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 31
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_guard_clause_31_31",
|
|
"label": "Only add to group if userId present",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 31,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 31
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_33_33",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"label": "OnDisconnectedAsync",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 38,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 38
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_branch_41_41",
|
|
"label": "Evaluates branch condition",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 41,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 41
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_guard_clause_41_41",
|
|
"label": "Only remove from group if userId present",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 41,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 41
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_43_43",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "endpoint",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 43,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 43
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_realtime_synchub_cs_synchub_10",
|
|
"label": "SyncHub",
|
|
"role": "unknown",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 10,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_knowledgeservice_38",
|
|
"label": "KnowledgeService",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 38,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 38
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeasync_61",
|
|
"label": "GetKnowledgeAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 61,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 61
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeasync_return_63_63",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 63,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 63
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getgraphdataasync_66",
|
|
"label": "GetGraphDataAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getgraphdataasync_return_68_68",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 68,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 68
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getsummaryandquizasync_71",
|
|
"label": "GetSummaryAndQuizAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 71,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 71
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getsummaryandquizasync_return_73_73",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 73,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 73
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgemapasync_76",
|
|
"label": "GetKnowledgeMapAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 76,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 76
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgemapasync_return_78_78",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 78,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 78
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_81",
|
|
"label": "GetKnowledgeInternalAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 81,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 81
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_83_83",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 83,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 83
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_93_93",
|
|
"label": "Cache hit path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 93,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 93
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_99_99",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 99,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 99
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_log_103_103",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 103,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 103
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_122_122",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 122,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 122
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_return_127_127",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 127,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 127
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_140",
|
|
"label": "ExecuteAiRequestAndCacheAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 140,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 140
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_validation_166_166",
|
|
"label": "Rejects empty AI response",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 166,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 166
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_167_167",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 167,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 167
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_176_176",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 176,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 176
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_branch_193_193",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 193,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 193
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_repository_write_193_193",
|
|
"label": "Writes repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 193,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 193
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_fallback_194_194",
|
|
"label": "Falls back to alternate path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 194,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 194
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_205_205",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 205,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 205
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_log_209_209",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 209,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 209
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_210_210",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 210,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 210
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_215_215",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 215,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 215
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_225",
|
|
"label": "ProcessKnowledgeUnitsAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 225,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 225
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_read_235_235",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 235,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 235
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 240,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 240
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_245_245",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 245,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 245
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_248_248",
|
|
"label": "Writes repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 248,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 248
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266",
|
|
"label": "Maps links to KnowledgeUnitLink entities",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 266,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 266
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_271_271",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 271,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 271
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_281_281",
|
|
"label": "Writes repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 281,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 281
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_fallback_283_283",
|
|
"label": "Falls back to alternate path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 283,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 283
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_log_285_285",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 285,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 285
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_290",
|
|
"label": "VerifyGroundednessAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 290,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 290
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_295_295",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 295,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 295
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_320_320",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 320,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 320
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_324_324",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 324,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 324
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_328",
|
|
"label": "GetRelevantContextAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 328,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 328
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_336_336",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 336,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 336
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_337_337",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 337,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 337
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_339_339",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 339,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 339
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_342_342",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 342,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 342
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_345_345",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 345,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 345
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_347_347",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 347,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 347
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_350_350",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 350,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 350
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_354_354",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 354,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 354
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_368_368",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 368,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 368
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_return_377_377",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 377,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 377
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_return_381_381",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 381,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 381
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_385",
|
|
"label": "SearchLibrarySemanticallyAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 385,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 385
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_399_399",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 399,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 399
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_400_400",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 400,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 400
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_402_402",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 402,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 402
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_405_405",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 405,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 405
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_408_408",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 408,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 408
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_410_410",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 410,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 410
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_413_413",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 413,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 413
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_417_417",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 417,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 417
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_431_431",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 431,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 431
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_432_432",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 432,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 432
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_435_435",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 435,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 435
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_437_437",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 437,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 437
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_444_444",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 444,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 444
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_452_452",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 452,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 452
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_457_457",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 457,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 457
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_loop_460_460",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 460,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 460
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_464_464",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 464,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 464
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_473_473",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 473,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 473
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_479_479",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 479,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 479
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_485_485",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 485,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 485
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_489_489",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 489,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 489
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_501_501",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 501,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 501
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_507_507",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 507,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 507
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_513_513",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 513,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 513
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_533_533",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 533,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 533
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_538_538",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 538,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 538
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_541_541",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 541,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 541
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_545_545",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 545,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 545
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_549",
|
|
"label": "AskQuestionAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 549,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 549
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_568_568",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 568,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 568
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_571_571",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 571,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 571
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_572_572",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 572,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 572
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_574_574",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 574,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 574
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_577_577",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 577,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 577
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_580_580",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 580,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 580
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_582_582",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 582,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 582
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_585_585",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 585,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 585
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_588_588",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 588,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 588
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_590_590",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 590,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 590
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_592_592",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 592,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 592
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_594_594",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 594,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 594
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_597_597",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 597,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 597
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_602_602",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 602,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 602
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_616_616",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 616,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 616
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_617_617",
|
|
"label": "Calls external dependency",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 617,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 617
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_620_620",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 620,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 620
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_622_622",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 622,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 622
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_624_624",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 624,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 624
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_636_636",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 636,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 636
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_645_645",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 645,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 645
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_651_651",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 651,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 651
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_654_654",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 654,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 654
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_659_659",
|
|
"label": "Writes repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 659,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 659
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_662_662",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 662,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 662
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_664_664",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 664,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 664
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_671_671",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 671,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 671
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_673_673",
|
|
"label": "Writes repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 673,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 673
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_682_682",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 682,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 682
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_683_683",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 683,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 683
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_687_687",
|
|
"label": "Writes repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 687,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 687
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_694_694",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 694,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 694
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_700_700",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 700,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 700
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_704_704",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 704,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 704
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_715_715",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 715,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 715
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_716_716",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 716,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 716
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_717_717",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 717,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 717
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_754_754",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 754,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 754
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_756_756",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 756,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 756
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_760_760",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 760,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 760
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_762_762",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 762,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 762
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_771_771",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 771,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 771
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_775_775",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 775,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 775
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_776_776",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 776,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 776
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_781_781",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 781,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 781
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_30",
|
|
"label": "GetEpubContentAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 30,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_41_41",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 41,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 41
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_47_47",
|
|
"label": "Ebook existence check",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_47_47",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_49_49",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 49,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 49
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_55_55",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 55,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 55
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_57_57",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 57,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 57
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_58_58",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 58,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 58
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_65_65",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 65,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 65
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_65_65",
|
|
"label": "ReadingOrder empty check",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 65,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 65
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_67_67",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 67,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 67
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_70_70",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 70,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 70
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_77_77",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 77,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 77
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89",
|
|
"label": "Paragraph -> block building loop",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 89,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 89
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_92_92",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 92,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 92
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_99_99",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 99,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 99
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_106_106",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 106,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 106
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_111_111",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 111,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 111
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_115_115",
|
|
"label": "Logs runtime state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 115,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 115
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_116_116",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 116,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 116
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_124",
|
|
"label": "ResolvePath",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 124,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 124
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_129_129",
|
|
"label": "Search upward through parent directories",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 129,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 129
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_130_130",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 130,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 130
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_133_133",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 133,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 133
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_137_137",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 137,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 137
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_fallback_142_142",
|
|
"label": "Return null if not found",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 142,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 142
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_return_142_142",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 142,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 142
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_145",
|
|
"label": "ExtractParagraphs",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 145,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 145
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_loop_153_153",
|
|
"label": "Repeats work over a collection or condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 153,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 153
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_branch_158_158",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 158,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 158
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_fallback_158_158",
|
|
"label": "Split by breaks if no blocks found",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 158,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 158
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_return_163_163",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 163,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 163
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_sanitizeparagraph_166",
|
|
"label": "SanitizeParagraph",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 166,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 166
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_sanitizeparagraph_return_172_172",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 172,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 172
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"label": "CountWords",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 175,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 175
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177",
|
|
"label": "Empty text check",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 177,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 177
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_return_178_178",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 178,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 178
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_createaitrigger_181",
|
|
"label": "CreateAiTrigger",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 181,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 181
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_186",
|
|
"label": "FindTitleInNavigation",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 186,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 186
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_186_186",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 186,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 186
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_188_188",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 188,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 188
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191",
|
|
"label": "Iterate navigation items",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 191,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 191
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_193_193",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 193,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 193
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_return_194_194",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 194,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 194
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_196_196",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 196,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 196
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_198_198",
|
|
"label": "Reads repository or persistence state",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 198,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 198
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_199_199",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 199,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 199
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_return_203_203",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 203,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 203
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_15",
|
|
"label": "ExtractMetadataAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 15,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 15
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_20_20",
|
|
"label": "Default title when null",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 20,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 20
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_21_21",
|
|
"label": "Default author when null",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 21,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 21
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_return_24_24",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_return_28_28",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_19",
|
|
"label": "SaveEbookAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 19,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 19
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_22_22",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 22,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 22
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_25",
|
|
"label": "SaveEbookAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 25,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 25
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_guard_clause_28_28",
|
|
"label": "Ensure uploads directory exists",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_40_40",
|
|
"label": "Return web-relative uploads path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_43",
|
|
"label": "SaveCoverAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 43,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 43
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_45_45",
|
|
"label": "Guards early exit or rejection path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_47_47",
|
|
"label": "Returns result",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_50",
|
|
"label": "SaveCoverAsync",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 50,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 50
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_53_53",
|
|
"label": "Ensure covers directory exists",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 53,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 53
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_63_63",
|
|
"label": "Return web-relative covers path",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 63,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 63
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_66",
|
|
"label": "EnsureDirectoryExists",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_guard_clause_68_68",
|
|
"label": "Check directory existence",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 68,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 68
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_branch_68_68",
|
|
"label": "Evaluates branch condition",
|
|
"role": "service",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 68,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 68
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_services_bookstorageservice_cs_bookstorageservice_10",
|
|
"label": "BookStorageService",
|
|
"role": "unknown",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 10,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_21",
|
|
"label": "BroadcastProgressAsync",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 21,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 21
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_guard_clause_30_30",
|
|
"label": "Check excludedConnectionId",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 30,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_branch_30_30",
|
|
"label": "Evaluates branch condition",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 30,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_external_call_34_34",
|
|
"label": "Calls external dependency",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_fallback_40_40",
|
|
"label": "Falls back to alternate path",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_external_call_44_44",
|
|
"label": "Calls external dependency",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 44,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 44
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastingestionprogressasync_49",
|
|
"label": "BroadcastIngestionProgressAsync",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "method",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 49,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 49
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastingestionprogressasync_external_call_59_59",
|
|
"label": "Calls external dependency",
|
|
"role": "integration-client",
|
|
"layer": "infrastructure",
|
|
"kind": "action",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 59,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 59
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_signalrsyncbroadcaster_11",
|
|
"label": "SignalRSyncBroadcaster",
|
|
"role": "unknown",
|
|
"layer": "infrastructure",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 11,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 11
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_application_commands_sync_updatereadingprogresscommand_cs_updatereadingprogresscommand_6",
|
|
"label": "UpdateReadingProgressCommand",
|
|
"role": "unknown",
|
|
"layer": "application",
|
|
"kind": "type",
|
|
"filePath": "NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"sourcePath": "NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"sourceLine": 6,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"line": 6
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_invokes_27",
|
|
"from": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27",
|
|
"kind": "invokes",
|
|
"label": "SendAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 27,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 27
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_invokes_27",
|
|
"from": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 27,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 27
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_evaluates-condition_32",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32",
|
|
"kind": "evaluates-condition",
|
|
"label": "isAuthEndpoint / notAuthEndpoint",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 32,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 32
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_evaluates-condition_39",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39",
|
|
"kind": "evaluates-condition",
|
|
"label": "isTrustedHost / untrusted",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 39,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 39
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_evaluates-condition_45",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45",
|
|
"kind": "evaluates-condition",
|
|
"label": "attached / skipped",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_evaluates-condition_45",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_evaluates-condition_48",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 48,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 48
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_invokes_55",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 55,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 55
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_evaluates-condition_58",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 58,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 58
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_evaluates-condition_69",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69",
|
|
"kind": "evaluates-condition",
|
|
"label": "alreadyRefreshed / needsRefresh",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 69,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 69
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_evaluates-condition_69",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 69,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 69
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_falls-back_73",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 73,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 73
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_evaluates-condition_79",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 79,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 79
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 85,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 85
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85",
|
|
"kind": "falls-back",
|
|
"label": "Logout on failed refresh",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 85,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 85
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91_evaluates-condition_91",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 91,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 91
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_retry_91_91_retries_91",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_retry_91_91",
|
|
"kind": "retries",
|
|
"label": "Retry original request with new token",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 91,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 91
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_retry_91_91_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_95_95_invokes_95",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_retry_91_91",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_95_95",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 95,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 95
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_95_95_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_95_95_returns_95",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_95_95",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_95_95",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 95,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 95
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_95_95_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_109_109_returns_109",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_95_95",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_109_109",
|
|
"kind": "returns",
|
|
"label": "Return response",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 109,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 109
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_109_109_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_109_109_returns_109",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_109_109",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_return_109_109",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 109,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 109
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112_invokes_112",
|
|
"from": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"kind": "invokes",
|
|
"label": "CloneHttpRequestMessageAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 112,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 112
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119_evaluates-condition_119",
|
|
"from": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 119,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 119
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_126_126_loops-to_126",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_126_126",
|
|
"kind": "loops-to",
|
|
"label": "var h in req.Content.Headers",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 126,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 126
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_126_126_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_132_132_loops-to_132",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_126_126",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_132_132",
|
|
"kind": "loops-to",
|
|
"label": "var h in req.Headers",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 132,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 132
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_132_132_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_return_139_139_returns_139",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_loop_132_132",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_return_139_139",
|
|
"kind": "returns",
|
|
"label": "Return cloned request",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 139,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 139
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_return_139_139_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_return_139_139_returns_139",
|
|
"from": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_return_139_139",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_return_139_139",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 139,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 139
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14_defines-type_14",
|
|
"from": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14",
|
|
"kind": "defines-type",
|
|
"label": "model AuthenticationHeaderHandler",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 14,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 14
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15_invokes_15",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"kind": "handles-route",
|
|
"label": "Program (top-level startup)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 15,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 15
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_getservice_71_invokes_71",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"kind": "handles-route",
|
|
"label": "GetService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_getservice_71_flow_action_nexusreader_web_client_program_cs_getservice_return_71_71_returns_71",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"kind": "returns",
|
|
"label": "returns null",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 71
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_invokes_88",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"kind": "handles-route",
|
|
"label": "FindAuthorByNameAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88_invokes_88",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 88
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines-type_61",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"kind": "defines-type",
|
|
"label": "model ThrowingDbContextFactory",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 61
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines-type_66",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"kind": "defines-type",
|
|
"label": "model ThrowingEmbeddingGenerator",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines-type_74",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"kind": "defines-type",
|
|
"label": "model ThrowingBookStorageService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 74
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines-type_84",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"kind": "defines-type",
|
|
"label": "model ThrowingEbookRepository",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 84
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines-type_94",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"kind": "defines-type",
|
|
"label": "model ThrowingSyncBroadcaster",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 94
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers-service_18",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"kind": "registers-service",
|
|
"label": "IPlatformService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 18
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers-service_33",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"kind": "registers-service",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers-service_38",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"kind": "registers-service",
|
|
"label": "IKnowledgeService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 38
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers-service_40",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"kind": "registers-service",
|
|
"label": "HttpClient (named 'NexusAPI')",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers-service_49",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"kind": "registers-service",
|
|
"label": "IDbContextFactory<AppDbContext>",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 49
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers-service_55",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"kind": "registers-service",
|
|
"label": "application services (via extension)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 55
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers-service_56",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"kind": "registers-service",
|
|
"label": "IEpubReader",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 56
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_run_wasm_host_59_configures-pipeline_59",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"kind": "configures-pipeline",
|
|
"label": "unknown",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 59
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmepubservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_17_invokes_17",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmepubservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_17",
|
|
"kind": "invokes",
|
|
"label": "GetEpubContentAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 17,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 17
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_17_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_branch_26_26_evaluates-condition_26",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_17",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_branch_26_26",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 26,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 26
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_branch_26_26_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_guard_clause_29_29_evaluates-condition_29",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_branch_26_26",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_guard_clause_29_29",
|
|
"kind": "evaluates-condition",
|
|
"label": "fail: Failed to deserialize response. / ok: return viewModel",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_guard_clause_29_29_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_29_29_returns_29",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_guard_clause_29_29",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_29_29",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_29_29_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_33_33_returns_33",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_29_29",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_33_33",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_33_33_flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_37_37_returns_37",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_33_33",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_getepubcontentasync_return_37_37",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 37,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 37
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmepubservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_45_invokes_45",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmepubservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_45",
|
|
"kind": "invokes",
|
|
"label": "ExtractMetadataAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_45_flow_action_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_return_53_53_returns_53",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_45",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_return_53_53",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 53,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 53
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_return_53_53_flow_action_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_return_57_57_returns_57",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_return_53_53",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmepubservice_cs_extractmetadataasync_return_57_57",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 57,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"line": 57
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgeasync_17_invokes_17",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgeasync_17",
|
|
"kind": "invokes",
|
|
"label": "GetKnowledgeAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 17,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 17
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgeasync_17_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgeasync_return_19_19_returns_19",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgeasync_17",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgeasync_return_19_19",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 19,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 19
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getgraphdataasync_22_invokes_22",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getgraphdataasync_22",
|
|
"kind": "invokes",
|
|
"label": "GetGraphDataAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 22,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 22
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getgraphdataasync_22_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getgraphdataasync_return_24_24_returns_24",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getgraphdataasync_22",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getgraphdataasync_return_24_24",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgemapasync_27_invokes_27",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgemapasync_27",
|
|
"kind": "invokes",
|
|
"label": "GetKnowledgeMapAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 27,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 27
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgemapasync_27_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgemapasync_return_29_29_returns_29",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgemapasync_27",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getknowledgemapasync_return_29_29",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getsummaryandquizasync_32_invokes_32",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getsummaryandquizasync_32",
|
|
"kind": "invokes",
|
|
"label": "GetSummaryAndQuizAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 32,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 32
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getsummaryandquizasync_32_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getsummaryandquizasync_return_34_34_returns_34",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getsummaryandquizasync_32",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getsummaryandquizasync_return_34_34",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_37_invokes_37",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_37",
|
|
"kind": "invokes",
|
|
"label": "GetRelevantContextAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 37,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 37
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_37_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_42_42_evaluates-condition_42",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_37",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_42_42",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 42,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 42
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_42_42_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_repository_read_45_45_invokes_45",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_42_42",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_repository_read_45_45",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_repository_read_45_45_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45_returns_45",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_repository_read_45_45",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45",
|
|
"kind": "returns",
|
|
"label": "Return Ok or Fail depending on deserialization",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45_returns_45",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_48_48_evaluates-condition_48",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_45_45",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_48_48",
|
|
"kind": "evaluates-condition",
|
|
"label": "Error path: read error body and return Fail",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 48,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 48
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_48_48_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_49_49_returns_49",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_branch_48_48",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_49_49",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 49,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 49
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_49_49_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_53_53_returns_53",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_49_49",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_getrelevantcontextasync_return_53_53",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 53,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 53
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_56_invokes_56",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_56",
|
|
"kind": "invokes",
|
|
"label": "VerifyGroundednessAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 56,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 56
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_56_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_61_61_evaluates-condition_61",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_56",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_61_61",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 61,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 61
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_61_61_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64_returns_64",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_61_61",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64",
|
|
"kind": "returns",
|
|
"label": "Return Ok or Fail depending on deserialization",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 64,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 64
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64_returns_64",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 64,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 64
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_67_67_evaluates-condition_67",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_64_64",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_67_67",
|
|
"kind": "evaluates-condition",
|
|
"label": "Error path: read error body and return Fail",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 67,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 67
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_67_67_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_68_68_returns_68",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_branch_67_67",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_68_68",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 68,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 68
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_68_68_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_72_72_returns_72",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_68_68",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_verifygroundednessasync_return_72_72",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 72,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 72
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_76_invokes_76",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_76",
|
|
"kind": "invokes",
|
|
"label": "SearchLibrarySemanticallyAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 76,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 76
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_76_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_81_81_evaluates-condition_81",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_76",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_81_81",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 81,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 81
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_81_81_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84_returns_84",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_81_81",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84",
|
|
"kind": "returns",
|
|
"label": "Return Ok(results) or Ok(empty list)",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 84,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 84
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84_returns_84",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 84,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 84
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_87_87_evaluates-condition_87",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_84_84",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_87_87",
|
|
"kind": "evaluates-condition",
|
|
"label": "Error path: read error body and return Fail",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 87,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 87
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_87_87_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_88_88_returns_88",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_branch_87_87",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_88_88",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 88,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 88
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_88_88_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_92_92_returns_92",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_88_88",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_searchlibrarysemanticallyasync_return_92_92",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 92,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 92
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_96_invokes_96",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_96",
|
|
"kind": "invokes",
|
|
"label": "AskQuestionAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 96,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 96
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_96_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_101_101_evaluates-condition_101",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_96",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_101_101",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 101,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 101
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_101_101_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104_returns_104",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_101_101",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104",
|
|
"kind": "returns",
|
|
"label": "Return Ok or Fail depending on deserialization",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 104,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 104
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104_returns_104",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 104,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 104
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_107_107_evaluates-condition_107",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_104_104",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_107_107",
|
|
"kind": "evaluates-condition",
|
|
"label": "Error path: read error body and return Fail",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 107,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 107
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_107_107_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_108_108_returns_108",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_branch_107_107",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_108_108",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 108,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 108
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_108_108_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_112_112_returns_112",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_108_108",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_askquestionasync_return_112_112",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 112,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 112
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_116_invokes_116",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_116",
|
|
"kind": "invokes",
|
|
"label": "CallKnowledgeApiAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 116,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 116
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_116_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_121_121_evaluates-condition_121",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_116",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_121_121",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 121,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 121
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_121_121_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124_returns_124",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_121_121",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124",
|
|
"kind": "returns",
|
|
"label": "Return Ok(packet) or Fail on null",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 124,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 124
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124_returns_124",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 124,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 124
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_127_127_evaluates-condition_127",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_124_124",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_127_127",
|
|
"kind": "evaluates-condition",
|
|
"label": "Error path: read error body and return Fail",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 127,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 127
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_127_127_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_128_128_returns_128",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_branch_127_127",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_128_128",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 128,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 128
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_128_128_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_132_132_returns_132",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_128_128",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_callknowledgeapiasync_return_132_132",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 132,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 132
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_136_invokes_136",
|
|
"from": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_136",
|
|
"kind": "invokes",
|
|
"label": "ClearCacheAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 136,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 136
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_136_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_142_142_evaluates-condition_142",
|
|
"from": "flow_method_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_136",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_142_142",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 142,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 142
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_142_142_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_145_145_returns_145",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_142_142",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_145_145",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 145,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 145
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_145_145_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_148_148_evaluates-condition_148",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_145_145",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_148_148",
|
|
"kind": "evaluates-condition",
|
|
"label": "Error path: read error body and return Fail",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 148,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 148
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_148_148_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_149_149_returns_149",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_branch_148_148",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_149_149",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 149,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 149
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_149_149_flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_153_153_returns_153",
|
|
"from": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_149_149",
|
|
"to": "flow_action_nexusreader_web_client_services_wasmknowledgeservice_cs_clearcacheasync_return_153_153",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 153,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"line": 153
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1_flow_method_nexusreader_web_client_services_webplatformservice_cs_vibratesuccessasync_16_invokes_16",
|
|
"from": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_webplatformservice_cs_vibratesuccessasync_16",
|
|
"kind": "invokes",
|
|
"label": "VibrateSuccessAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 16,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 16
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1_flow_method_nexusreader_web_client_services_webplatformservice_cs_vibrateerrorasync_17_invokes_17",
|
|
"from": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_webplatformservice_cs_vibrateerrorasync_17",
|
|
"kind": "invokes",
|
|
"label": "VibrateErrorAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 17,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 17
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1_flow_method_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_19_invokes_19",
|
|
"from": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_19",
|
|
"kind": "invokes",
|
|
"label": "VibrateAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 19,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 19
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_19_flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24_returns_24",
|
|
"from": "flow_method_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_19",
|
|
"to": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24",
|
|
"kind": "returns",
|
|
"label": "Return success",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24_flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24_returns_24",
|
|
"from": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24",
|
|
"to": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24_flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_28_28_returns_28",
|
|
"from": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_24_24",
|
|
"to": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_28_28",
|
|
"kind": "returns",
|
|
"label": "Return failure",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_28_28_flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_28_28_returns_28",
|
|
"from": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_28_28",
|
|
"to": "flow_action_nexusreader_web_client_services_webplatformservice_cs_vibrateasync_return_28_28",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1_flow_method_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_32_invokes_32",
|
|
"from": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_32",
|
|
"kind": "invokes",
|
|
"label": "GetDeviceContext",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 32,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 32
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_32_flow_action_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_return_34_34_returns_34",
|
|
"from": "flow_method_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_32",
|
|
"to": "flow_action_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_return_34_34",
|
|
"kind": "returns",
|
|
"label": "Return device context wrapped in Result.Ok",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_return_34_34_flow_action_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_return_34_34_returns_34",
|
|
"from": "flow_action_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_return_34_34",
|
|
"to": "flow_action_nexusreader_web_client_services_webplatformservice_cs_getdevicecontext_return_34_34",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1_flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7_defines-type_7",
|
|
"from": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7",
|
|
"kind": "defines-type",
|
|
"label": "model WebPlatformService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 7,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"line": 7
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1_flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1_configures-pipeline_1",
|
|
"from": "flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1",
|
|
"to": "flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1",
|
|
"kind": "configures-pipeline",
|
|
"label": "unknown",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_method_nexusreader_maui_mauiprogram_cs_createmauiapp_12_invokes_12",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_method_nexusreader_maui_mauiprogram_cs_createmauiapp_12",
|
|
"kind": "handles-route",
|
|
"label": "CreateMauiApp",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 12,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 12
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_maui_mauiprogram_cs_createmauiapp_12_flow_action_nexusreader_maui_mauiprogram_cs_createmauiapp_return_57_57_returns_57",
|
|
"from": "flow_method_nexusreader_maui_mauiprogram_cs_createmauiapp_12",
|
|
"to": "flow_action_nexusreader_maui_mauiprogram_cs_createmauiapp_return_57_57",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 57,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 57
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauiprogram_10_defines-type_10",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_mauiprogram_10",
|
|
"kind": "defines-type",
|
|
"label": "model MauiProgram",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 10,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28_registers-service_28",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28",
|
|
"kind": "registers-service",
|
|
"label": "IPlatformService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29_registers-service_29",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29",
|
|
"kind": "registers-service",
|
|
"label": "INativeStorageService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32_registers-service_32",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32",
|
|
"kind": "registers-service",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 32,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 32
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33_registers-service_33",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33",
|
|
"kind": "registers-service",
|
|
"label": "Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38_registers-service_38",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38",
|
|
"kind": "registers-service",
|
|
"label": "HttpClient",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 38,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 38
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1_registers-service_1",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1",
|
|
"kind": "registers-service",
|
|
"label": "UI and app state services",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusreader_application_registrations_51_registers-service_51",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_nexusreader_application_registrations_51",
|
|
"kind": "registers-service",
|
|
"label": "Application layer services (extension)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 51,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 51
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_handlers_from_nexusreader_application_assembly_53_registers-service_53",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_handlers_from_nexusreader_application_assembly_53",
|
|
"kind": "registers-service",
|
|
"label": "MediatR handlers",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 53,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 53
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_method_nexusreader_maui_mauiprogram_cs_create_and_build_mauiapp_16_configures-pipeline_16",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_method_nexusreader_maui_mauiprogram_cs_create_and_build_mauiapp_16",
|
|
"kind": "configures-pipeline",
|
|
"label": "unknown",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 16,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 16
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_program_top_level_29_invokes_29",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"kind": "handles-route",
|
|
"label": "Program (top-level)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 29,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 29
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates-condition_62",
|
|
"from": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 62
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls-back_66",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_invokes_125",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 125,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 125
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126_invokes_126",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 126,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 126
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_127_127_invokes_127",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_127_127",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 127,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 127
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_127_127_flow_action_nexusreader_web_program_cs_program_top_level_branch_129_129_evaluates-condition_129",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_127_127",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_129_129",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 129,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 129
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_129_129_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_131_131_invokes_131",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_129_129",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_131_131",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 131,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 131
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_131_131_flow_action_nexusreader_web_program_cs_program_top_level_fallback_133_133_falls-back_133",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_131_131",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_133_133",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 133,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 133
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_133_133_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_135_135_invokes_135",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_133_133",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_135_135",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 135,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 135
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_135_135_flow_action_nexusreader_web_program_cs_program_top_level_return_137_137_returns_137",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_135_135",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_137_137",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 137,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 137
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_137_137_flow_action_nexusreader_web_program_cs_program_top_level_branch_169_169_evaluates-condition_169",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_137_137",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_169_169",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 169,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 169
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_169_169_flow_action_nexusreader_web_program_cs_program_top_level_validation_171_171_evaluates-condition_171",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_169_169",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_validation_171_171",
|
|
"kind": "evaluates-condition",
|
|
"label": "Validates input or state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 171,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 171
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_validation_171_171_flow_action_nexusreader_web_program_cs_program_top_level_loop_186_186_loops-to_186",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_validation_171_171",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_loop_186_186",
|
|
"kind": "loops-to",
|
|
"label": "int i = 0; i < maxRetries; i++",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 186,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 186
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_loop_186_186_flow_action_nexusreader_web_program_cs_program_top_level_branch_190_190_evaluates-condition_190",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_loop_186_186",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_190_190",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 190,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 190
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_190_190_flow_action_nexusreader_web_program_cs_program_top_level_branch_198_198_evaluates-condition_198",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_190_190",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_198_198",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 198,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 198
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_198_198_flow_action_nexusreader_web_program_cs_program_top_level_branch_206_206_evaluates-condition_206",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_198_198",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_206_206",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 206,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 206
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_206_206_flow_action_nexusreader_web_program_cs_program_top_level_log_206_206_invokes_206",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_206_206",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_log_206_206",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 206,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 206
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_log_206_206_flow_action_nexusreader_web_program_cs_program_top_level_log_208_208_invokes_208",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_log_206_206",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_log_208_208",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 208,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 208
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_log_208_208_flow_action_nexusreader_web_program_cs_program_top_level_branch_216_216_evaluates-condition_216",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_log_208_208",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_216_216",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 216,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 216
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_216_216_flow_action_nexusreader_web_program_cs_program_top_level_log_216_216_invokes_216",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_216_216",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_log_216_216",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 216,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 216
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_log_216_216_flow_action_nexusreader_web_program_cs_program_top_level_log_218_218_invokes_218",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_log_216_216",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_log_218_218",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 218,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 218
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_log_218_218_flow_action_nexusreader_web_program_cs_program_top_level_branch_226_226_evaluates-condition_226",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_log_218_218",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_226_226",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 226,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 226
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_226_226_flow_action_nexusreader_web_program_cs_program_top_level_fallback_230_230_falls-back_230",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_226_226",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_230_230",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 230,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 230
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_230_230_flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237_evaluates-condition_237",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_230_230",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 237,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 237
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_252_252_invokes_252",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_252_252",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 252,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 252
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_252_252_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_255_255_evaluates-condition_255",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_252_252",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_255_255",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 255,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 255
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_255_255_flow_action_nexusreader_web_program_cs_program_top_level_return_258_258_returns_258",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_255_255",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_258_258",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 258,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 258
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_258_258_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_267_267_invokes_267",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_258_258",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_267_267",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 267,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 267
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_267_267_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_269_269_evaluates-condition_269",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_267_267",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_269_269",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 269,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 269
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_269_269_flow_action_nexusreader_web_program_cs_program_top_level_return_270_270_returns_270",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_269_269",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_270_270",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 270,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 270
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_270_270_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_275_275_invokes_275",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_270_270",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_275_275",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 275,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 275
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_275_275_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_277_277_evaluates-condition_277",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_275_275",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_277_277",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 277,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 277
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_277_277_flow_action_nexusreader_web_program_cs_program_top_level_return_278_278_returns_278",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_277_277",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_278_278",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 278,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 278
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_278_278_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_283_283_invokes_283",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_278_278",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_283_283",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 283,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 283
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_283_283_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_285_285_evaluates-condition_285",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_283_283",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_285_285",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 285,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 285
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_285_285_flow_action_nexusreader_web_program_cs_program_top_level_return_286_286_returns_286",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_285_285",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_286_286",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 286,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 286
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_286_286_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_291_291_invokes_291",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_286_286",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_291_291",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 291,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 291
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_291_291_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_293_293_evaluates-condition_293",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_291_291",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_293_293",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 293,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 293
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_293_293_flow_action_nexusreader_web_program_cs_program_top_level_return_294_294_returns_294",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_293_293",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_294_294",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 294,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 294
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_294_294_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_299_299_invokes_299",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_294_294",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_299_299",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 299,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 299
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_299_299_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_301_301_evaluates-condition_301",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_299_299",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_301_301",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 301,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 301
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_301_301_flow_action_nexusreader_web_program_cs_program_top_level_return_302_302_returns_302",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_301_301",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_302_302",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 302,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 302
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_302_302_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_307_307_invokes_307",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_302_302",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_307_307",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 307,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 307
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_307_307_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_309_309_evaluates-condition_309",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_307_307",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_309_309",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 309,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 309
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_309_309_flow_action_nexusreader_web_program_cs_program_top_level_return_310_310_returns_310",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_309_309",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_310_310",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 310,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 310
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_310_310_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_315_315_invokes_315",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_310_310",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_315_315",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 315,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 315
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_315_315_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_317_317_evaluates-condition_317",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_315_315",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_317_317",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 317,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 317
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_317_317_flow_action_nexusreader_web_program_cs_program_top_level_return_318_318_returns_318",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_317_317",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_318_318",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 318,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 318
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_318_318_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_324_324_evaluates-condition_324",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_318_318",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_324_324",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 324,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 324
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_324_324_flow_action_nexusreader_web_program_cs_program_top_level_return_327_327_returns_327",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_324_324",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_327_327",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 327,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 327
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_327_327_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_332_332_invokes_332",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_327_327",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_332_332",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 332,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 332
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_332_332_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_333_333_evaluates-condition_333",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_332_332",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_333_333",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 333,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 333
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_333_333_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_350_350_evaluates-condition_350",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_333_333",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_350_350",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 350,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 350
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_350_350_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_352_352_invokes_352",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_350_350",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_352_352",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 352,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 352
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_352_352_flow_action_nexusreader_web_program_cs_program_top_level_return_352_352_returns_352",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_352_352",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_352_352",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 352,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 352
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_352_352_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_357_357_invokes_357",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_352_352",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_357_357",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 357,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 357
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_357_357_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_358_358_evaluates-condition_358",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_357_357",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_358_358",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 358,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 358
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_358_358_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_361_361_evaluates-condition_361",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_358_358",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_361_361",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 361,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 361
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_361_361_flow_action_nexusreader_web_program_cs_program_top_level_return_364_364_returns_364",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_361_361",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_364_364",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 364,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 364
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_364_364_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_374_374_invokes_374",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_364_364",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_374_374",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 374,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 374
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_374_374_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_381_381_invokes_381",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_374_374",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_381_381",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 381,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 381
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_381_381_flow_action_nexusreader_web_program_cs_program_top_level_switch_385_385_evaluates-condition_385",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_381_381",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_switch_385_385",
|
|
"kind": "evaluates-condition",
|
|
"label": "stripeEvent.Type",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 385,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 385
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_switch_385_385_flow_action_nexusreader_web_program_cs_program_top_level_return_402_402_returns_402",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_switch_385_385",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_402_402",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 402,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 402
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_402_402_flow_action_nexusreader_web_program_cs_program_top_level_return_406_406_returns_406",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_402_402",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_406_406",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 406,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 406
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_406_406_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_416_416_evaluates-condition_416",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_406_406",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_416_416",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 416,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 416
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_416_416_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_418_418_invokes_418",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_416_416",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_418_418",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 418,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 418
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_418_418_flow_action_nexusreader_web_program_cs_program_top_level_branch_419_419_evaluates-condition_419",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_418_418",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_419_419",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 419,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 419
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_419_419_flow_action_nexusreader_web_program_cs_program_top_level_branch_424_424_evaluates-condition_424",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_419_419",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_424_424",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 424,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 424
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_424_424_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_439_439_evaluates-condition_439",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_424_424",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_439_439",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 439,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 439
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_439_439_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_441_441_invokes_441",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_439_439",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_441_441",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 441,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 441
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_441_441_flow_action_nexusreader_web_program_cs_program_top_level_branch_442_442_evaluates-condition_442",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_441_441",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_442_442",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 442,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 442
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_442_442_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_444_444_invokes_444",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_442_442",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_444_444",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 444,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 444
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_444_444_flow_action_nexusreader_web_program_cs_program_top_level_return_460_460_returns_460",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_444_444",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_460_460",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 460,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 460
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_460_460_flow_action_nexusreader_web_program_cs_program_top_level_branch_470_470_evaluates-condition_470",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_460_460",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_470_470",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 470,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 470
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_470_470_flow_action_nexusreader_web_program_cs_program_top_level_log_472_472_invokes_472",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_470_470",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_log_472_472",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 472,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 472
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_log_472_472_flow_action_nexusreader_web_program_cs_program_top_level_return_473_473_returns_473",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_log_472_472",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_473_473",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 473,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 473
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_473_473_flow_action_nexusreader_web_program_cs_program_top_level_branch_477_477_evaluates-condition_477",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_473_473",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_477_477",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 477,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 477
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_477_477_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_479_479_invokes_479",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_477_477",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_479_479",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 479,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 479
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_479_479_flow_action_nexusreader_web_program_cs_program_top_level_return_480_480_returns_480",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_479_479",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_480_480",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 480,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 480
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_480_480_flow_action_nexusreader_web_program_cs_program_top_level_branch_483_483_evaluates-condition_483",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_480_480",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_483_483",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 483,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 483
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_483_483_flow_action_nexusreader_web_program_cs_program_top_level_log_485_485_invokes_485",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_483_483",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_log_485_485",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 485,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 485
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_log_485_485_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_485_485_invokes_485",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_log_485_485",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_485_485",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 485,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 485
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_485_485_flow_action_nexusreader_web_program_cs_program_top_level_return_486_486_returns_486",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_485_485",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_486_486",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 486,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 486
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_486_486_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_490_490_invokes_490",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_486_486",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_490_490",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 490,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 490
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_490_490_flow_action_nexusreader_web_program_cs_program_top_level_branch_491_491_evaluates-condition_491",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_490_490",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_491_491",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 491,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 491
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_491_491_flow_action_nexusreader_web_program_cs_program_top_level_branch_496_496_evaluates-condition_496",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_491_491",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_496_496",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 496,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 496
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_496_496_flow_action_nexusreader_web_program_cs_program_top_level_return_501_501_returns_501",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_496_496",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_501_501",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 501,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 501
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_501_501_flow_action_nexusreader_web_program_cs_program_top_level_loop_505_505_loops-to_505",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_501_501",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_loop_505_505",
|
|
"kind": "loops-to",
|
|
"label": "var error in createResult.Errors",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 505,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 505
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_loop_505_505_flow_action_nexusreader_web_program_cs_program_top_level_log_507_507_invokes_507",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_loop_505_505",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_log_507_507",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 507,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 507
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_log_507_507_flow_action_nexusreader_web_program_cs_program_top_level_branch_510_510_evaluates-condition_510",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_log_507_507",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_510_510",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 510,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 510
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_510_510_flow_action_nexusreader_web_program_cs_program_top_level_return_512_512_returns_512",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_510_510",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_512_512",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 512,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 512
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_512_512_flow_action_nexusreader_web_program_cs_program_top_level_log_516_516_invokes_516",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_512_512",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_log_516_516",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 516,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 516
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_log_516_516_flow_action_nexusreader_web_program_cs_program_top_level_return_517_517_returns_517",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_log_516_516",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_517_517",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 517,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 517
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_517_517_flow_action_nexusreader_web_program_cs_program_top_level_branch_529_529_evaluates-condition_529",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_517_517",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_529_529",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 529,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 529
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_529_529_flow_action_nexusreader_web_program_cs_program_top_level_return_532_532_returns_532",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_529_529",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_532_532",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 532,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 532
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_532_532_flow_action_nexusreader_web_program_cs_program_top_level_return_536_536_returns_536",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_532_532",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_536_536",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 536,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 536
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_536_536_flow_action_nexusreader_web_program_cs_program_top_level_return_545_545_returns_545",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_536_536",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_545_545",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 545,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 545
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_return_545_545_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_550_550_invokes_550",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_return_545_545",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_550_550",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 550,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 550
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_550_550_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_551_551_evaluates-condition_551",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_550_550",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_551_551",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 551,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 551
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_551_551_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_554_554_evaluates-condition_554",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_551_551",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_554_554",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 554,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 554
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_554_554_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_554_554_invokes_554",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_guard_clause_554_554",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_554_554",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 554,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 554
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_554_554_flow_action_nexusreader_web_program_cs_program_top_level_return_556_556_returns_556",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_554_554",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_return_556_556",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 556,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 556
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8_uses-service_78",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8",
|
|
"kind": "uses-service",
|
|
"label": "AddApplication",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 78,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 78
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31_uses-service_79",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31",
|
|
"kind": "uses-service",
|
|
"label": "AddInfrastructure",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 79,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 79
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237_flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14_uses-service_247",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14",
|
|
"kind": "uses-service",
|
|
"label": "SyncHub",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 247,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 247
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165_invokes_165",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165",
|
|
"kind": "handles-route",
|
|
"label": "StartupValidation (scope check)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 165,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 165
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165_flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_branch_169_169_evaluates-condition_169",
|
|
"from": "flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165",
|
|
"to": "flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_branch_169_169",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 169,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 169
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_branch_169_169_flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_guard_clause_169_169_evaluates-condition_169",
|
|
"from": "flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_branch_169_169",
|
|
"to": "flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_guard_clause_169_169",
|
|
"kind": "evaluates-condition",
|
|
"label": "throw / continue",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 169,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 169
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_guard_clause_169_169_flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_validation_171_171_evaluates-condition_171",
|
|
"from": "flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_guard_clause_169_169",
|
|
"to": "flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_validation_171_171",
|
|
"kind": "evaluates-condition",
|
|
"label": "Validates input or state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 171,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 171
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175_invokes_175",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175",
|
|
"kind": "handles-route",
|
|
"label": "EnsureDatabaseInitialized",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 175,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 175
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_loop_186_186_loops-to_186",
|
|
"from": "flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_loop_186_186",
|
|
"kind": "loops-to",
|
|
"label": "int i = 0; i < maxRetries; i++",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 186,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 186
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_loop_186_186_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_190_190_evaluates-condition_190",
|
|
"from": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_loop_186_186",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_190_190",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 190,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 190
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_190_190_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_198_198_evaluates-condition_198",
|
|
"from": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_190_190",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_198_198",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 198,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 198
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_198_198_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_206_206_evaluates-condition_206",
|
|
"from": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_198_198",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_206_206",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 206,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 206
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_206_206_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_206_206_invokes_206",
|
|
"from": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_206_206",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_206_206",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 206,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 206
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_206_206_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_208_208_invokes_208",
|
|
"from": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_206_206",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_208_208",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 208,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 208
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_208_208_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_216_216_evaluates-condition_216",
|
|
"from": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_208_208",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_216_216",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 216,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 216
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_216_216_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_216_216_invokes_216",
|
|
"from": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_branch_216_216",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_216_216",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 216,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 216
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_216_216_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_218_218_invokes_218",
|
|
"from": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_216_216",
|
|
"to": "flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_log_218_218",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 218,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 218
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249_invokes_249",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249",
|
|
"kind": "handles-route",
|
|
"label": "GET /api/epub/{ebookId}/{index}",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 249,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 249
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_252_252_evaluates-condition_252",
|
|
"from": "flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249",
|
|
"to": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_252_252",
|
|
"kind": "evaluates-condition",
|
|
"label": "continue",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 252,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 252
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_252_252_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_repository_read_252_252_invokes_252",
|
|
"from": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_252_252",
|
|
"to": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_repository_read_252_252",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 252,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 252
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_repository_read_252_252_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_255_255_evaluates-condition_255",
|
|
"from": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_repository_read_252_252",
|
|
"to": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_255_255",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 255,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 255
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_255_255_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_branch_255_255_evaluates-condition_255",
|
|
"from": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_255_255",
|
|
"to": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_branch_255_255",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok on success, BadRequest on failure",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 255,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 255
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_branch_255_255_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_return_258_258_returns_258",
|
|
"from": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_branch_255_255",
|
|
"to": "flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_return_258_258",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 258,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 258
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265_invokes_265",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265",
|
|
"kind": "handles-route",
|
|
"label": "KnowledgeApi POST /api/knowledge/ (GetKnowledge)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 265,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 265
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_repository_read_267_267_invokes_267",
|
|
"from": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_repository_read_267_267",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 267,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 267
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_repository_read_267_267_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_267_267_evaluates-condition_267",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_repository_read_267_267",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_267_267",
|
|
"kind": "evaluates-condition",
|
|
"label": "tenantId",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 267,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 267
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_267_267_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_269_269_evaluates-condition_269",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_267_267",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_269_269",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 269,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 269
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_269_269_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_branch_269_269_evaluates-condition_269",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_guard_clause_269_269",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_branch_269_269",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok or BadRequest based on result.IsSuccess",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 269,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 269
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_branch_269_269_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_return_270_270_returns_270",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_branch_269_269",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_return_270_270",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 270,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 270
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273_invokes_273",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273",
|
|
"kind": "handles-route",
|
|
"label": "KnowledgeApi POST /graph (GetGraphDataAsync)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 273,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 273
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273_flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_repository_read_275_275_invokes_275",
|
|
"from": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_repository_read_275_275",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 275,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 275
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_repository_read_275_275_flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_guard_clause_277_277_evaluates-condition_277",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_repository_read_275_275",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_guard_clause_277_277",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 277,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 277
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_guard_clause_277_277_flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_branch_277_277_evaluates-condition_277",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_guard_clause_277_277",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_branch_277_277",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 277,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 277
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_branch_277_277_flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_return_278_278_returns_278",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_branch_277_277",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_return_278_278",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 278,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 278
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281_invokes_281",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281",
|
|
"kind": "handles-route",
|
|
"label": "KnowledgeApi POST /summary (GetSummaryAndQuizAsync)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 281,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 281
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281_flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_repository_read_283_283_invokes_283",
|
|
"from": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_repository_read_283_283",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 283,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 283
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_repository_read_283_283_flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_guard_clause_285_285_evaluates-condition_285",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_repository_read_283_283",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_guard_clause_285_285",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 285,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 285
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_guard_clause_285_285_flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_branch_285_285_evaluates-condition_285",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_guard_clause_285_285",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_branch_285_285",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 285,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 285
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_branch_285_285_flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_return_286_286_returns_286",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_branch_285_285",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_return_286_286",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 286,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 286
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289_invokes_289",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289",
|
|
"kind": "handles-route",
|
|
"label": "KnowledgeApi POST /map (GetKnowledgeMapAsync)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 289,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 289
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289_flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_repository_read_291_291_invokes_291",
|
|
"from": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_repository_read_291_291",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 291,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 291
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_repository_read_291_291_flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_guard_clause_293_293_evaluates-condition_293",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_repository_read_291_291",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_guard_clause_293_293",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 293,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 293
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_guard_clause_293_293_flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_branch_293_293_evaluates-condition_293",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_guard_clause_293_293",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_branch_293_293",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 293,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 293
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_branch_293_293_flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_return_294_294_returns_294",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_branch_293_293",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_return_294_294",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 294,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 294
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297_invokes_297",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297",
|
|
"kind": "handles-route",
|
|
"label": "KnowledgeApi POST /verify-groundedness",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 297,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 297
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297_flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_repository_read_299_299_invokes_299",
|
|
"from": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_repository_read_299_299",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 299,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 299
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_repository_read_299_299_flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_guard_clause_301_301_evaluates-condition_301",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_repository_read_299_299",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_guard_clause_301_301",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 301,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 301
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_guard_clause_301_301_flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_branch_301_301_evaluates-condition_301",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_guard_clause_301_301",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_branch_301_301",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok or BadRequest based on verification result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 301,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 301
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_branch_301_301_flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_return_302_302_returns_302",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_branch_301_301",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_return_302_302",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 302,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 302
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305_invokes_305",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305",
|
|
"kind": "handles-route",
|
|
"label": "KnowledgeApi POST /search (SearchLibrarySemanticallyAsync)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 305,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 305
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305_flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_repository_read_307_307_invokes_307",
|
|
"from": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_repository_read_307_307",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 307,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 307
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_repository_read_307_307_flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_guard_clause_309_309_evaluates-condition_309",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_repository_read_307_307",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_guard_clause_309_309",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 309,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 309
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_guard_clause_309_309_flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_branch_309_309_evaluates-condition_309",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_guard_clause_309_309",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_branch_309_309",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 309,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 309
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_branch_309_309_flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_return_310_310_returns_310",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_branch_309_309",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_return_310_310",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 310,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 310
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313_invokes_313",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313",
|
|
"kind": "handles-route",
|
|
"label": "KnowledgeApi POST /ask (AskQuestionAsync)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 313,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 313
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313_flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_repository_read_315_315_invokes_315",
|
|
"from": "flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_repository_read_315_315",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 315,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 315
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_repository_read_315_315_flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_guard_clause_317_317_evaluates-condition_317",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_repository_read_315_315",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_guard_clause_317_317",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 317,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 317
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_guard_clause_317_317_flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_branch_317_317_evaluates-condition_317",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_guard_clause_317_317",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_branch_317_317",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok or BadRequest based on result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 317,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 317
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_branch_317_317_flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_return_318_318_returns_318",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_branch_317_317",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_return_318_318",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 318,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 318
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321_invokes_321",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321",
|
|
"kind": "handles-route",
|
|
"label": "KnowledgeApi DELETE /api/knowledge/ (ClearCacheAsync)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 321,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 321
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321_flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_branch_323_323_evaluates-condition_323",
|
|
"from": "flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_branch_323_323",
|
|
"kind": "evaluates-condition",
|
|
"label": "Return Ok on success; BadRequest with message on failure",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 323,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 323
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_branch_323_323_flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_guard_clause_324_324_evaluates-condition_324",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_branch_323_323",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_guard_clause_324_324",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 324,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 324
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_guard_clause_324_324_flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_return_327_327_returns_327",
|
|
"from": "flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_guard_clause_324_324",
|
|
"to": "flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_return_327_327",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 327,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 327
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_knowledgerequest_566_maps-dto_566",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_knowledgerequest_566",
|
|
"kind": "maps-dto",
|
|
"label": "dto KnowledgeRequest",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 566,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 566
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_groundednessrequest_567_maps-dto_567",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_groundednessrequest_567",
|
|
"kind": "maps-dto",
|
|
"label": "dto GroundednessRequest",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 567,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 567
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_semanticsearchrequest_568_maps-dto_568",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_semanticsearchrequest_568",
|
|
"kind": "maps-dto",
|
|
"label": "dto SemanticSearchRequest",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 568,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 568
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_askquestionrequest_569_maps-dto_569",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_askquestionrequest_569",
|
|
"kind": "maps-dto",
|
|
"label": "dto AskQuestionRequest",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 569,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 569
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_webplatformservice_47_registers-service_47",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_webplatformservice_47",
|
|
"kind": "registers-service",
|
|
"label": "IPlatformService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_knowledgecoordinator_55_registers-service_55",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_knowledgecoordinator_55",
|
|
"kind": "registers-service",
|
|
"label": "KnowledgeCoordinator",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 55,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 55
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_httpclient_configured_with_base_address_58_registers-service_58",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_httpclient_configured_with_base_address_58",
|
|
"kind": "registers-service",
|
|
"label": "HttpClient (named NexusAPI)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 58,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 58
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_nexusreader_application_assembly_extension_78_registers-service_78",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_nexusreader_application_assembly_extension_78",
|
|
"kind": "registers-service",
|
|
"label": "Application services",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 78,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 78
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_nexusreader_infrastructure_assembly_extension_79_registers-service_79",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_nexusreader_infrastructure_assembly_extension_79",
|
|
"kind": "registers-service",
|
|
"label": "Infrastructure services",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 79,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 79
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_identity_with_appdbcontext_107_registers-service_107",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_identity_with_appdbcontext_107",
|
|
"kind": "registers-service",
|
|
"label": "Identity endpoints and EF stores",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 107,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 107
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_usehangfiredashboard_163_configures-pipeline_163",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_usehangfiredashboard_163",
|
|
"kind": "configures-pipeline",
|
|
"label": "middleware",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 163,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 163
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_configure_request_pipeline_routing_auth_antiforgery_static_assets_hubs_225_configures-pipeline_225",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_configure_request_pipeline_routing_auth_antiforgery_static_assets_hubs_225",
|
|
"kind": "configures-pipeline",
|
|
"label": "middleware",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 225,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 225
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_application_dependencyinjection_cs_file_1_flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8_invokes_8",
|
|
"from": "flow_file_nexusreader_application_dependencyinjection_cs_file_1",
|
|
"to": "flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8",
|
|
"kind": "invokes",
|
|
"label": "AddApplication",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 8,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 8
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8_flow_action_nexusreader_application_dependencyinjection_cs_addapplication_return_13_13_returns_13",
|
|
"from": "flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8",
|
|
"to": "flow_action_nexusreader_application_dependencyinjection_cs_addapplication_return_13_13",
|
|
"kind": "returns",
|
|
"label": "Return IServiceCollection",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 13,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 13
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_application_dependencyinjection_cs_addapplication_return_13_13_flow_action_nexusreader_application_dependencyinjection_cs_addapplication_return_13_13_returns_13",
|
|
"from": "flow_action_nexusreader_application_dependencyinjection_cs_addapplication_return_13_13",
|
|
"to": "flow_action_nexusreader_application_dependencyinjection_cs_addapplication_return_13_13",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 13,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 13
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_application_dependencyinjection_cs_file_1_flow_type_nexusreader_application_dependencyinjection_cs_configured_via_addmapsterconfiguration_extension_10_registers-service_10",
|
|
"from": "flow_file_nexusreader_application_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_application_dependencyinjection_cs_configured_via_addmapsterconfiguration_extension_10",
|
|
"kind": "registers-service",
|
|
"label": "Mapster configuration / mapping profiles",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 10,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_application_dependencyinjection_cs_file_1_flow_type_nexusreader_application_dependencyinjection_cs_handlers_discovered_in_this_assembly_11_registers-service_11",
|
|
"from": "flow_file_nexusreader_application_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_application_dependencyinjection_cs_handlers_discovered_in_this_assembly_11",
|
|
"kind": "registers-service",
|
|
"label": "MediatR handlers (from this assembly)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 11,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/DependencyInjection.cs",
|
|
"line": 11
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31_invokes_31",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31",
|
|
"kind": "invokes",
|
|
"label": "AddInfrastructure",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 31,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 31
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_33_33_evaluates-condition_33",
|
|
"from": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31",
|
|
"to": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_33_33",
|
|
"kind": "evaluates-condition",
|
|
"label": "Selects DB provider",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_33_33_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_34_34_evaluates-condition_34",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_33_33",
|
|
"to": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_34_34",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_34_34_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_fallback_44_44_falls-back_44",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_34_34",
|
|
"to": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_fallback_44_44",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 44,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 44
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_fallback_44_44_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_64_64_evaluates-condition_64",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_fallback_44_44",
|
|
"to": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_64_64",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 64,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 64
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_64_64_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76_evaluates-condition_76",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_64_64",
|
|
"to": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 76,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 76
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_return_134_134_returns_134",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76",
|
|
"to": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_return_134_134",
|
|
"kind": "returns",
|
|
"label": "Returns IServiceCollection",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 134,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 134
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_return_134_134_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_return_134_134_returns_134",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_return_134_134",
|
|
"to": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_return_134_134",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 134,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 134
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_uses-service_112",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76",
|
|
"to": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"kind": "uses-service",
|
|
"label": "KnowledgeService (implementation)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 112,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 112
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_uses-service_113",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76",
|
|
"to": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"kind": "uses-service",
|
|
"label": "EpubReaderService (implementation)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 113,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 113
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76_flow_file_nexusreader_infrastructure_services_epubmetadataextractor_cs_file_1_uses-service_114",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76",
|
|
"to": "flow_file_nexusreader_infrastructure_services_epubmetadataextractor_cs_file_1",
|
|
"kind": "uses-service",
|
|
"label": "EpubMetadataExtractor (implementation)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 114,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 114
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76_flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1_uses-service_118",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76",
|
|
"to": "flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1",
|
|
"kind": "uses-service",
|
|
"label": "BookStorageService (implementation)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 118,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 118
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76_flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1_calls-external_124",
|
|
"from": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_branch_76_76",
|
|
"to": "flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1",
|
|
"kind": "calls-external",
|
|
"label": "SignalRSyncBroadcaster (implementation)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 124,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 124
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_method_nexusreader_infrastructure_dependencyinjection_cs_assembly_137_invokes_137",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_assembly_137",
|
|
"kind": "invokes",
|
|
"label": "Assembly",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 137,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 137
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_dependencyinjection_cs_assembly_137_flow_action_nexusreader_infrastructure_dependencyinjection_cs_assembly_return_137_137_returns_137",
|
|
"from": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_assembly_137",
|
|
"to": "flow_action_nexusreader_infrastructure_dependencyinjection_cs_assembly_return_137_137",
|
|
"kind": "returns",
|
|
"label": "Return assembly",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 137,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 137
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_iinfrastructuremarker_140_defines-type_140",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_iinfrastructuremarker_140",
|
|
"kind": "defines-type",
|
|
"label": "interface IInfrastructureMarker",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 140,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 140
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_infrastructuremarker_141_defines-type_141",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_infrastructuremarker_141",
|
|
"kind": "defines-type",
|
|
"label": "model InfrastructureMarker",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 141,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 141
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_36_registers-service_36",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_36",
|
|
"kind": "registers-service",
|
|
"label": "AppDbContext (DbContextFactory)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 36,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 36
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_41_registers-service_41",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_41",
|
|
"kind": "registers-service",
|
|
"label": "AppDbContext (DbContext)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 41,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 41
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_47_registers-service_47",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_47",
|
|
"kind": "registers-service",
|
|
"label": "AppDbContext (DbContextFactory)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_51_registers-service_51",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_appdbcontext_51",
|
|
"kind": "registers-service",
|
|
"label": "AppDbContext (DbContext)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 51,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 51
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_qdrantclient_57_registers-service_57",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_qdrantclient_57",
|
|
"kind": "registers-service",
|
|
"label": "QdrantClient",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 57,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 57
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_neo4j_driver_graphdatabase_driver_61_registers-service_61",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_neo4j_driver_graphdatabase_driver_61",
|
|
"kind": "registers-service",
|
|
"label": "IDriver",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 61,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 61
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_hangfire_postgres_storage_66_registers-service_66",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_hangfire_postgres_storage_66",
|
|
"kind": "registers-service",
|
|
"label": "Hangfire (storage/server)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_geminichatclient_99_registers-service_99",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_geminichatclient_99",
|
|
"kind": "registers-service",
|
|
"label": "ChatClient / GeminiChatClient",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 99,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 99
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_geminiembeddinggenerator_105_registers-service_105",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_geminiembeddinggenerator_105",
|
|
"kind": "registers-service",
|
|
"label": "EmbeddingGenerator / GeminiEmbeddingGenerator",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 105,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 105
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1_flow_type_nexusreader_infrastructure_dependencyinjection_cs_knowledgeservice_112_registers-service_112",
|
|
"from": "flow_file_nexusreader_infrastructure_dependencyinjection_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_dependencyinjection_cs_knowledgeservice_112",
|
|
"kind": "registers-service",
|
|
"label": "IKnowledgeService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 112,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/DependencyInjection.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"line": 112
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19_invokes_19",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"kind": "handles-route",
|
|
"label": "UpdateProgress",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 19,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 19
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21_invokes_21",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 21,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 21
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_guard_clause_21_21_evaluates-condition_21",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_guard_clause_21_21",
|
|
"kind": "evaluates-condition",
|
|
"label": "forward command / no-op",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 21,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 21
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_guard_clause_21_21_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_branch_22_22_evaluates-condition_22",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_guard_clause_21_21",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_branch_22_22",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 22,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 22
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_branch_22_22_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_24_24_invokes_24",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_branch_22_22",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_24_24",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_24_24_flow_file_nexusreader_application_commands_sync_updatereadingprogresscommand_cs_file_1_dispatches-command_24",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_24_24",
|
|
"to": "flow_file_nexusreader_application_commands_sync_updatereadingprogresscommand_cs_file_1",
|
|
"kind": "dispatches-command",
|
|
"label": "UpdateReadingProgressCommand (ctor)",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28_invokes_28",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"kind": "handles-route",
|
|
"label": "OnConnectedAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30_invokes_30",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 30,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_branch_31_31_evaluates-condition_31",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_branch_31_31",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 31,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 31
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_branch_31_31_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_guard_clause_31_31_evaluates-condition_31",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_branch_31_31",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_guard_clause_31_31",
|
|
"kind": "evaluates-condition",
|
|
"label": "AddToGroup / skip",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 31,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 31
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_guard_clause_31_31_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_33_33_invokes_33",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_guard_clause_31_31",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_33_33",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 33,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 33
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38_invokes_38",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"kind": "handles-route",
|
|
"label": "OnDisconnectedAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 38,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 38
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40_invokes_40",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_branch_41_41_evaluates-condition_41",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_branch_41_41",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 41,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 41
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_branch_41_41_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_guard_clause_41_41_evaluates-condition_41",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_branch_41_41",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_guard_clause_41_41",
|
|
"kind": "evaluates-condition",
|
|
"label": "RemoveFromGroup / skip",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 41,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 41
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_guard_clause_41_41_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_43_43_invokes_43",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_guard_clause_41_41",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_43_43",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 43,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 43
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_type_nexusreader_infrastructure_realtime_synchub_cs_synchub_10_defines-type_10",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_realtime_synchub_cs_synchub_10",
|
|
"kind": "defines-type",
|
|
"label": "model SyncHub",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 10,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"line": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_knowledgeservice_38_invokes_38",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_knowledgeservice_38",
|
|
"kind": "invokes",
|
|
"label": "KnowledgeService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 38,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 38
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeasync_61_invokes_61",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeasync_61",
|
|
"kind": "invokes",
|
|
"label": "GetKnowledgeAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 61,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 61
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeasync_61_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeasync_return_63_63_returns_63",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeasync_61",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeasync_return_63_63",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 63,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 63
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getgraphdataasync_66_invokes_66",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getgraphdataasync_66",
|
|
"kind": "invokes",
|
|
"label": "GetGraphDataAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getgraphdataasync_66_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getgraphdataasync_return_68_68_returns_68",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getgraphdataasync_66",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getgraphdataasync_return_68_68",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 68,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 68
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getsummaryandquizasync_71_invokes_71",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getsummaryandquizasync_71",
|
|
"kind": "invokes",
|
|
"label": "GetSummaryAndQuizAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 71,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 71
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getsummaryandquizasync_71_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getsummaryandquizasync_return_73_73_returns_73",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getsummaryandquizasync_71",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getsummaryandquizasync_return_73_73",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 73,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 73
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgemapasync_76_invokes_76",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgemapasync_76",
|
|
"kind": "invokes",
|
|
"label": "GetKnowledgeMapAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 76,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 76
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgemapasync_76_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgemapasync_return_78_78_returns_78",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgemapasync_76",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgemapasync_return_78_78",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 78,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 78
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_81_invokes_81",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_81",
|
|
"kind": "invokes",
|
|
"label": "GetKnowledgeInternalAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 81,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 81
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_81_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_83_83_evaluates-condition_83",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_81",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_83_83",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 83,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 83
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_83_83_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_93_93_evaluates-condition_93",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_83_83",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_93_93",
|
|
"kind": "evaluates-condition",
|
|
"label": "Cache hit path",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 93,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 93
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_93_93_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_99_99_evaluates-condition_99",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_93_93",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_99_99",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 99,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 99
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_99_99_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_log_103_103_invokes_103",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_guard_clause_99_99",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_log_103_103",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 103,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 103
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_log_103_103_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_122_122_evaluates-condition_122",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_log_103_103",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_122_122",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 122,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 122
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_122_122_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_return_127_127_returns_127",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_branch_122_122",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getknowledgeinternalasync_return_127_127",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 127,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 127
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_140_invokes_140",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_140",
|
|
"kind": "invokes",
|
|
"label": "ExecuteAiRequestAndCacheAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 140,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 140
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_140_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_validation_166_166_evaluates-condition_166",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_140",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_validation_166_166",
|
|
"kind": "evaluates-condition",
|
|
"label": "Rejects empty AI response",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 166,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 166
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_validation_166_166_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_167_167_evaluates-condition_167",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_validation_166_166",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_167_167",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 167,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 167
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_167_167_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_176_176_evaluates-condition_176",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_167_167",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_176_176",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 176,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 176
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_176_176_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_branch_193_193_evaluates-condition_193",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_guard_clause_176_176",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_branch_193_193",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 193,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 193
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_branch_193_193_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_repository_write_193_193_invokes_193",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_branch_193_193",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_repository_write_193_193",
|
|
"kind": "invokes",
|
|
"label": "Writes repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 193,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 193
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_repository_write_193_193_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_fallback_194_194_falls-back_194",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_repository_write_193_193",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_fallback_194_194",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 194,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 194
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_fallback_194_194_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_205_205_returns_205",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_fallback_194_194",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_205_205",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 205,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 205
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_205_205_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_log_209_209_invokes_209",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_205_205",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_log_209_209",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 209,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 209
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_log_209_209_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_210_210_returns_210",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_log_209_209",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_210_210",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 210,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 210
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_210_210_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_215_215_returns_215",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_210_210",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_executeairequestandcacheasync_return_215_215",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 215,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 215
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_225_invokes_225",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_225",
|
|
"kind": "invokes",
|
|
"label": "ProcessKnowledgeUnitsAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 225,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 225
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_225_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_read_235_235_invokes_235",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_225",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_read_235_235",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 235,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 235
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_read_235_235_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240_loops-to_240",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_read_235_235",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240",
|
|
"kind": "loops-to",
|
|
"label": "var unitDto in packet.Units",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 240,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 240
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240_loops-to_240",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240",
|
|
"kind": "loops-to",
|
|
"label": "Upserts units from packet",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 240,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 240
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_245_245_evaluates-condition_245",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_240_240",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_245_245",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 245,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 245
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_245_245_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_248_248_invokes_248",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_245_245",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_248_248",
|
|
"kind": "invokes",
|
|
"label": "Writes repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 248,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 248
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_248_248_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266_loops-to_266",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_248_248",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266",
|
|
"kind": "loops-to",
|
|
"label": "Maps links to KnowledgeUnitLink entities",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 266,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 266
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266_loops-to_266",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266",
|
|
"kind": "loops-to",
|
|
"label": "var linkDto in packet.Links",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 266,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 266
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_271_271_evaluates-condition_271",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_loop_266_266",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_271_271",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 271,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 271
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_271_271_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_281_281_invokes_281",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_branch_271_271",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_281_281",
|
|
"kind": "invokes",
|
|
"label": "Writes repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 281,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 281
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_281_281_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_fallback_283_283_falls-back_283",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_repository_write_281_281",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_fallback_283_283",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 283,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 283
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_fallback_283_283_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_log_285_285_invokes_285",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_fallback_283_283",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_processknowledgeunitsasync_log_285_285",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 285,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 285
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_290_invokes_290",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_290",
|
|
"kind": "invokes",
|
|
"label": "VerifyGroundednessAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 290,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 290
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_290_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_295_295_returns_295",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_290",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_295_295",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 295,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 295
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_295_295_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_320_320_returns_320",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_295_295",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_320_320",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 320,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 320
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_320_320_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_324_324_returns_324",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_320_320",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_verifygroundednessasync_return_324_324",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 324,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 324
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_328_invokes_328",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_328",
|
|
"kind": "invokes",
|
|
"label": "GetRelevantContextAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 328,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 328
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_328_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_336_336_invokes_336",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_328",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_336_336",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 336,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 336
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_336_336_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_337_337_invokes_337",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_336_336",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_337_337",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 337,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 337
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_337_337_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_339_339_invokes_339",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_337_337",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_339_339",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 339,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 339
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_339_339_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_342_342_invokes_342",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_339_339",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_342_342",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 342,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 342
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_342_342_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_345_345_invokes_345",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_342_342",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_345_345",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 345,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 345
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_345_345_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_347_347_invokes_347",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_345_345",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_347_347",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 347,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 347
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_347_347_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_350_350_invokes_350",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_347_347",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_350_350",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 350,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 350
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_350_350_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_354_354_invokes_354",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_350_350",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_354_354",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 354,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 354
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_354_354_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_368_368_invokes_368",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_354_354",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_368_368",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 368,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 368
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_368_368_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_return_377_377_returns_377",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_external_call_368_368",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_return_377_377",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 377,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 377
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_return_377_377_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_return_381_381_returns_381",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_return_377_377",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_getrelevantcontextasync_return_381_381",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 381,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 381
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_385_invokes_385",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_385",
|
|
"kind": "invokes",
|
|
"label": "SearchLibrarySemanticallyAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 385,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 385
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_385_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_399_399_invokes_399",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_385",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_399_399",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 399,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 399
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_399_399_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_400_400_invokes_400",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_399_399",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_400_400",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 400,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 400
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_400_400_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_402_402_invokes_402",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_400_400",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_402_402",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 402,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 402
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_402_402_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_405_405_invokes_405",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_402_402",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_405_405",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 405,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 405
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_405_405_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_408_408_invokes_408",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_405_405",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_408_408",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 408,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 408
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_408_408_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_410_410_invokes_410",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_408_408",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_410_410",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 410,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 410
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_410_410_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_413_413_invokes_413",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_410_410",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_413_413",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 413,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 413
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_413_413_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_417_417_invokes_417",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_413_413",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_417_417",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 417,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 417
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_417_417_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_431_431_invokes_431",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_417_417",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_431_431",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 431,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 431
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_431_431_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_432_432_invokes_432",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_431_431",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_432_432",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 432,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 432
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_432_432_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_435_435_evaluates-condition_435",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_external_call_432_432",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_435_435",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 435,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 435
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_435_435_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_437_437_returns_437",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_435_435",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_437_437",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 437,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 437
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_437_437_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_444_444_evaluates-condition_444",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_437_437",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_444_444",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 444,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 444
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_444_444_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_452_452_returns_452",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_444_444",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_452_452",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 452,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 452
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_452_452_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_457_457_returns_457",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_452_452",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_457_457",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 457,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 457
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_457_457_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_loop_460_460_loops-to_460",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_457_457",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_loop_460_460",
|
|
"kind": "loops-to",
|
|
"label": "var record in neoResult",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 460,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 460
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_loop_460_460_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_464_464_evaluates-condition_464",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_loop_460_460",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_464_464",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 464,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 464
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_464_464_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_473_473_invokes_473",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_464_464",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_473_473",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 473,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 473
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_473_473_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_479_479_invokes_479",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_log_473_473",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_479_479",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 479,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 479
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_479_479_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_485_485_evaluates-condition_485",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_479_479",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_485_485",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 485,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 485
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_485_485_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_489_489_invokes_489",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_485_485",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_489_489",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 489,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 489
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_489_489_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_501_501_evaluates-condition_501",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_repository_read_489_489",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_501_501",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 501,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 501
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_501_501_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_507_507_evaluates-condition_507",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_501_501",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_507_507",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 507,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 507
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_507_507_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_513_513_evaluates-condition_513",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_507_507",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_513_513",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 513,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 513
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_513_513_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_533_533_evaluates-condition_533",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_513_513",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_533_533",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 533,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 533
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_533_533_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_538_538_returns_538",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_branch_533_533",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_538_538",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 538,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 538
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_538_538_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_541_541_returns_541",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_538_538",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_541_541",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 541,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 541
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_541_541_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_545_545_returns_545",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_541_541",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_searchlibrarysemanticallyasync_return_545_545",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 545,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 545
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_549_invokes_549",
|
|
"from": "flow_file_nexusreader_infrastructure_services_knowledgeservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_549",
|
|
"kind": "invokes",
|
|
"label": "AskQuestionAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 549,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 549
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_549_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_568_568_invokes_568",
|
|
"from": "flow_method_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_549",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_568_568",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 568,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 568
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_568_568_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_571_571_invokes_571",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_568_568",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_571_571",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 571,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 571
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_571_571_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_572_572_invokes_572",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_571_571",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_572_572",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 572,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 572
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_572_572_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_574_574_invokes_574",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_572_572",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_574_574",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 574,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 574
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_574_574_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_577_577_invokes_577",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_574_574",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_577_577",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 577,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 577
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_577_577_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_580_580_invokes_580",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_577_577",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_580_580",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 580,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 580
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_580_580_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_582_582_invokes_582",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_580_580",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_582_582",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 582,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 582
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_582_582_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_585_585_invokes_585",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_582_582",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_585_585",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 585,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 585
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_585_585_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_588_588_invokes_588",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_585_585",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_588_588",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 588,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 588
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_588_588_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_590_590_evaluates-condition_590",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_588_588",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_590_590",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 590,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 590
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_590_590_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_592_592_invokes_592",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_590_590",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_592_592",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 592,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 592
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_592_592_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_594_594_invokes_594",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_592_592",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_594_594",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 594,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 594
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_594_594_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_597_597_invokes_597",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_594_594",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_597_597",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 597,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 597
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_597_597_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_602_602_invokes_602",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_597_597",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_602_602",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 602,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 602
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_602_602_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_616_616_invokes_616",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_602_602",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_616_616",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 616,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 616
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_616_616_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_617_617_invokes_617",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_616_616",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_617_617",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 617,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 617
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_617_617_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_620_620_evaluates-condition_620",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_external_call_617_617",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_620_620",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 620,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 620
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_620_620_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_622_622_returns_622",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_620_620",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_622_622",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 622,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 622
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_622_622_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_624_624_invokes_624",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_622_622",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_624_624",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 624,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 624
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_624_624_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_636_636_evaluates-condition_636",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_624_624",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_636_636",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 636,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 636
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_636_636_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_645_645_returns_645",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_636_636",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_645_645",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 645,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 645
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_645_645_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_651_651_returns_651",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_645_645",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_651_651",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 651,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 651
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_651_651_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_654_654_loops-to_654",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_651_651",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_654_654",
|
|
"kind": "loops-to",
|
|
"label": "var record in neoResult",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 654,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 654
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_654_654_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_659_659_invokes_659",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_654_654",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_659_659",
|
|
"kind": "invokes",
|
|
"label": "Writes repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 659,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 659
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_659_659_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_662_662_evaluates-condition_662",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_659_659",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_662_662",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 662,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 662
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_662_662_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_664_664_loops-to_664",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_662_662",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_664_664",
|
|
"kind": "loops-to",
|
|
"label": "var relObj in relations",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 664,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 664
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_664_664_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_671_671_evaluates-condition_671",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_664_664",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_671_671",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 671,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 671
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_671_671_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_673_673_invokes_673",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_671_671",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_673_673",
|
|
"kind": "invokes",
|
|
"label": "Writes repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 673,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 673
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_673_673_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_682_682_invokes_682",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_673_673",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_682_682",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 682,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 682
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_682_682_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_683_683_loops-to_683",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_682_682",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_683_683",
|
|
"kind": "loops-to",
|
|
"label": "var point in searchResult",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 683,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 683
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_683_683_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_687_687_invokes_687",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_683_683",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_687_687",
|
|
"kind": "invokes",
|
|
"label": "Writes repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 687,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 687
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_687_687_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_694_694_invokes_694",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_write_687_687",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_694_694",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 694,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 694
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_694_694_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_700_700_evaluates-condition_700",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_694_694",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_700_700",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 700,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 700
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_700_700_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_704_704_invokes_704",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_700_700",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_704_704",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 704,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 704
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_704_704_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_715_715_invokes_715",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_704_704",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_715_715",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 715,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 715
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_715_715_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_716_716_invokes_716",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_715_715",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_716_716",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 716,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 716
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_716_716_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_717_717_invokes_717",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_716_716",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_717_717",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 717,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 717
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_717_717_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_754_754_evaluates-condition_754",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_repository_read_717_717",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_754_754",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 754,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 754
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_754_754_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_756_756_returns_756",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_754_754",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_756_756",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 756,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 756
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_756_756_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_760_760_loops-to_760",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_756_756",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_760_760",
|
|
"kind": "loops-to",
|
|
"label": "var citation in groundedResult.Citations",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 760,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 760
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_760_760_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_762_762_evaluates-condition_762",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_loop_760_760",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_762_762",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 762,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 762
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_762_762_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_771_771_returns_771",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_branch_762_762",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_771_771",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 771,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 771
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_771_771_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_775_775_invokes_775",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_771_771",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_775_775",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 775,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 775
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_775_775_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_776_776_returns_776",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_log_775_775",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_776_776",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 776,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 776
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_776_776_flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_781_781_returns_781",
|
|
"from": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_776_776",
|
|
"to": "flow_action_nexusreader_infrastructure_services_knowledgeservice_cs_askquestionasync_return_781_781",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"sourceLine": 781,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"line": 781
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_30_invokes_30",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_30",
|
|
"kind": "invokes",
|
|
"label": "GetEpubContentAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 30,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_30_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_41_41_invokes_41",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_30",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_41_41",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 41,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 41
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_41_41_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_47_47_evaluates-condition_47",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_41_41",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_47_47",
|
|
"kind": "evaluates-condition",
|
|
"label": "fail / continue",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_47_47_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_47_47_evaluates-condition_47",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_47_47",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_47_47",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_47_47_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_49_49_returns_49",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_47_47",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_49_49",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 49,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 49
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_49_49_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_55_55_evaluates-condition_55",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_49_49",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_55_55",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 55,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 55
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_55_55_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_57_57_invokes_57",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_55_55",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_57_57",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 57,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 57
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_57_57_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_58_58_returns_58",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_57_57",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_58_58",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 58,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 58
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_58_58_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_65_65_evaluates-condition_65",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_58_58",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_65_65",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 65,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 65
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_65_65_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_65_65_evaluates-condition_65",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_65_65",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_65_65",
|
|
"kind": "evaluates-condition",
|
|
"label": "fail / continue",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 65,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 65
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_65_65_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_67_67_returns_67",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_65_65",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_67_67",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 67,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 67
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_67_67_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_70_70_evaluates-condition_70",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_67_67",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_70_70",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 70,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 70
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_70_70_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_77_77_invokes_77",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_70_70",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_77_77",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 77,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 77
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_77_77_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89_loops-to_89",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_repository_read_77_77",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89",
|
|
"kind": "loops-to",
|
|
"label": "Paragraph -> block building loop",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 89,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 89
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89_loops-to_89",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89",
|
|
"kind": "loops-to",
|
|
"label": "var p in paragraphs",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 89,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 89
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_92_92_evaluates-condition_92",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_loop_89_89",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_92_92",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 92,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 92
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_92_92_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_99_99_evaluates-condition_99",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_guard_clause_92_92",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_99_99",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 99,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 99
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_99_99_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_106_106_evaluates-condition_106",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_99_99",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_106_106",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 106,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 106
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_106_106_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_111_111_returns_111",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_branch_106_106",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_111_111",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 111,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 111
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_111_111_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_115_115_invokes_115",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_111_111",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_115_115",
|
|
"kind": "invokes",
|
|
"label": "Logs runtime state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 115,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 115
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_115_115_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_116_116_returns_116",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_log_115_115",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_getepubcontentasync_return_116_116",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 116,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 116
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_124_invokes_124",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_124",
|
|
"kind": "invokes",
|
|
"label": "ResolvePath",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 124,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 124
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_124_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_129_129_loops-to_129",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_124",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_129_129",
|
|
"kind": "loops-to",
|
|
"label": "Search upward through parent directories",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 129,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 129
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_129_129_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_130_130_loops-to_130",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_129_129",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_130_130",
|
|
"kind": "loops-to",
|
|
"label": "currentDir != null",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 130,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 130
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_130_130_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_133_133_evaluates-condition_133",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_loop_130_130",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_133_133",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 133,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 133
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_133_133_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_137_137_evaluates-condition_137",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_133_133",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_137_137",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 137,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 137
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_137_137_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_fallback_142_142_falls-back_142",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_guard_clause_137_137",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_fallback_142_142",
|
|
"kind": "falls-back",
|
|
"label": "Return null if not found",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 142,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 142
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_fallback_142_142_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_return_142_142_returns_142",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_fallback_142_142",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_resolvepath_return_142_142",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 142,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 142
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_145_invokes_145",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_145",
|
|
"kind": "invokes",
|
|
"label": "ExtractParagraphs",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 145,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 145
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_145_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_loop_153_153_loops-to_153",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_145",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_loop_153_153",
|
|
"kind": "loops-to",
|
|
"label": "Match match in matches",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 153,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 153
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_loop_153_153_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_branch_158_158_evaluates-condition_158",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_loop_153_153",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_branch_158_158",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 158,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 158
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_branch_158_158_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_fallback_158_158_falls-back_158",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_branch_158_158",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_fallback_158_158",
|
|
"kind": "falls-back",
|
|
"label": "Split by breaks if no blocks found",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 158,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 158
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_fallback_158_158_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_return_163_163_returns_163",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_fallback_158_158",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_extractparagraphs_return_163_163",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 163,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 163
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_sanitizeparagraph_166_invokes_166",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_sanitizeparagraph_166",
|
|
"kind": "invokes",
|
|
"label": "SanitizeParagraph",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 166,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 166
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_sanitizeparagraph_166_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_sanitizeparagraph_return_172_172_returns_172",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_sanitizeparagraph_166",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_sanitizeparagraph_return_172_172",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 172,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 172
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175_invokes_175",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"kind": "invokes",
|
|
"label": "CountWords",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 175,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 175
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177_evaluates-condition_177",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177",
|
|
"kind": "evaluates-condition",
|
|
"label": "return 0 / continue",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 177,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 177
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_return_178_178_returns_178",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_return_178_178",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 178,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 178
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_createaitrigger_181_invokes_181",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_createaitrigger_181",
|
|
"kind": "invokes",
|
|
"label": "CreateAiTrigger",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 181,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 181
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_186_invokes_186",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_186",
|
|
"kind": "invokes",
|
|
"label": "FindTitleInNavigation",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 186,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 186
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_186_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_186_186_invokes_186",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_186",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_186_186",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 186,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 186
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_186_186_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_188_188_evaluates-condition_188",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_186_186",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_188_188",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 188,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 188
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_188_188_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191_loops-to_191",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_188_188",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191",
|
|
"kind": "loops-to",
|
|
"label": "Iterate navigation items",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 191,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 191
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191_loops-to_191",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191",
|
|
"kind": "loops-to",
|
|
"label": "var item in navigation",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 191,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 191
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_193_193_evaluates-condition_193",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_loop_191_191",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_193_193",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 193,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 193
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_193_193_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_return_194_194_returns_194",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_193_193",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_return_194_194",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 194,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 194
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_return_194_194_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_196_196_evaluates-condition_196",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_return_194_194",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_196_196",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 196,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 196
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_196_196_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_198_198_invokes_198",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_branch_196_196",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_198_198",
|
|
"kind": "invokes",
|
|
"label": "Reads repository or persistence state",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 198,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 198
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_198_198_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_199_199_evaluates-condition_199",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_repository_read_198_198",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_199_199",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 199,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 199
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_199_199_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_return_203_203_returns_203",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_guard_clause_199_199",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_findtitleinnavigation_return_203_203",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 203,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"line": 203
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubmetadataextractor_cs_file_1_flow_method_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_15_invokes_15",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubmetadataextractor_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_15",
|
|
"kind": "invokes",
|
|
"label": "ExtractMetadataAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 15,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 15
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_15_flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_20_20_evaluates-condition_20",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_15",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_20_20",
|
|
"kind": "evaluates-condition",
|
|
"label": "use 'Unknown Title' / use actual title",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 20,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 20
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_20_20_flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_21_21_evaluates-condition_21",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_20_20",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_21_21",
|
|
"kind": "evaluates-condition",
|
|
"label": "use 'Unknown Author' / use actual author",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 21,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 21
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_21_21_flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_return_24_24_returns_24",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_guard_clause_21_21",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_return_24_24",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 24,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 24
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_return_24_24_flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_return_28_28_returns_28",
|
|
"from": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_return_24_24",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubmetadataextractor_cs_extractmetadataasync_return_28_28",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_19_invokes_19",
|
|
"from": "flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_19",
|
|
"kind": "invokes",
|
|
"label": "SaveEbookAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 19,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 19
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_19_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_22_22_returns_22",
|
|
"from": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_19",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_22_22",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 22,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 22
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_25_invokes_25",
|
|
"from": "flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_25",
|
|
"kind": "invokes",
|
|
"label": "SaveEbookAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 25,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 25
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_25_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_guard_clause_28_28_evaluates-condition_28",
|
|
"from": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_25",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_guard_clause_28_28",
|
|
"kind": "evaluates-condition",
|
|
"label": "create-directory / continue",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 28,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 28
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_guard_clause_28_28_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_40_40_returns_40",
|
|
"from": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_guard_clause_28_28",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_40_40",
|
|
"kind": "returns",
|
|
"label": "Return web-relative uploads path",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_40_40_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_40_40_returns_40",
|
|
"from": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_40_40",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_saveebookasync_return_40_40",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_43_invokes_43",
|
|
"from": "flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_43",
|
|
"kind": "invokes",
|
|
"label": "SaveCoverAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 43,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 43
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_43_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_45_45_evaluates-condition_45",
|
|
"from": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_43",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_45_45",
|
|
"kind": "evaluates-condition",
|
|
"label": "exit / continue",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 45,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 45
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_45_45_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_47_47_returns_47",
|
|
"from": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_45_45",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_47_47",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 47,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 47
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_50_invokes_50",
|
|
"from": "flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_50",
|
|
"kind": "invokes",
|
|
"label": "SaveCoverAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 50,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 50
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_50_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_53_53_evaluates-condition_53",
|
|
"from": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_50",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_53_53",
|
|
"kind": "evaluates-condition",
|
|
"label": "create-directory / continue",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 53,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 53
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_53_53_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_63_63_returns_63",
|
|
"from": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_guard_clause_53_53",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_63_63",
|
|
"kind": "returns",
|
|
"label": "Return web-relative covers path",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 63,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 63
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_63_63_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_63_63_returns_63",
|
|
"from": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_63_63",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_savecoverasync_return_63_63",
|
|
"kind": "returns",
|
|
"label": "Returns result",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 63,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 63
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_66_invokes_66",
|
|
"from": "flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_66",
|
|
"kind": "invokes",
|
|
"label": "EnsureDirectoryExists",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 66,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 66
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_66_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_guard_clause_68_68_evaluates-condition_68",
|
|
"from": "flow_method_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_66",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_guard_clause_68_68",
|
|
"kind": "evaluates-condition",
|
|
"label": "create-directory / noop",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 68,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 68
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_guard_clause_68_68_flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_branch_68_68_evaluates-condition_68",
|
|
"from": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_guard_clause_68_68",
|
|
"to": "flow_action_nexusreader_infrastructure_services_bookstorageservice_cs_ensuredirectoryexists_branch_68_68",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 68,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 68
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1_flow_type_nexusreader_infrastructure_services_bookstorageservice_cs_bookstorageservice_10_defines-type_10",
|
|
"from": "flow_file_nexusreader_infrastructure_services_bookstorageservice_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_services_bookstorageservice_cs_bookstorageservice_10",
|
|
"kind": "defines-type",
|
|
"label": "model BookStorageService",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"sourceLine": 10,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"line": 10
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1_flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_21_invokes_21",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_21",
|
|
"kind": "invokes",
|
|
"label": "BroadcastProgressAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 21,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 21
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_21_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_guard_clause_30_30_evaluates-condition_30",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_21",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_guard_clause_30_30",
|
|
"kind": "evaluates-condition",
|
|
"label": "branch-true: attempt comment & send / branch-false: send",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 30,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_guard_clause_30_30_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_branch_30_30_evaluates-condition_30",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_guard_clause_30_30",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_branch_30_30",
|
|
"kind": "evaluates-condition",
|
|
"label": "true / false",
|
|
"confidence": "medium",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 30,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_branch_30_30_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_external_call_34_34_invokes_34",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_branch_30_30",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_external_call_34_34",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 34,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 34
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_external_call_34_34_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_fallback_40_40_falls-back_40",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_external_call_34_34",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_fallback_40_40",
|
|
"kind": "falls-back",
|
|
"label": "fallback",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 40,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 40
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_fallback_40_40_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_external_call_44_44_invokes_44",
|
|
"from": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_fallback_40_40",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastprogressasync_external_call_44_44",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 44,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 44
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1_flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastingestionprogressasync_49_invokes_49",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastingestionprogressasync_49",
|
|
"kind": "invokes",
|
|
"label": "BroadcastIngestionProgressAsync",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 49,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 49
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastingestionprogressasync_49_flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastingestionprogressasync_external_call_59_59_invokes_59",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastingestionprogressasync_49",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_broadcastingestionprogressasync_external_call_59_59",
|
|
"kind": "invokes",
|
|
"label": "Calls external dependency",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 59,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 59
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1_flow_type_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_signalrsyncbroadcaster_11_defines-type_11",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_file_1",
|
|
"to": "flow_type_nexusreader_infrastructure_realtime_signalrsyncbroadcaster_cs_signalrsyncbroadcaster_11",
|
|
"kind": "defines-type",
|
|
"label": "model SignalRSyncBroadcaster",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"sourceLine": 11,
|
|
"evidencePaths": [
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"line": 11
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_application_commands_sync_updatereadingprogresscommand_cs_file_1_flow_type_nexusreader_application_commands_sync_updatereadingprogresscommand_cs_updatereadingprogresscommand_6_defines-type_6",
|
|
"from": "flow_file_nexusreader_application_commands_sync_updatereadingprogresscommand_cs_file_1",
|
|
"to": "flow_type_nexusreader_application_commands_sync_updatereadingprogresscommand_cs_updatereadingprogresscommand_6",
|
|
"kind": "defines-type",
|
|
"label": "command UpdateReadingProgressCommand",
|
|
"confidence": "high",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"sourceLine": 6,
|
|
"evidencePaths": [
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs",
|
|
"line": 6
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"flows": [
|
|
{
|
|
"id": "flow_1_nexusreader_web_client_program_cs",
|
|
"name": "Program.cs",
|
|
"category": "frontend-to-backend",
|
|
"entryNodeId": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"nodeIds": [
|
|
"flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"flow_file_nexusreader_web_program_cs_file_1",
|
|
"flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125"
|
|
],
|
|
"edgeIds": [
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15_invokes_15",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_getservice_71_invokes_71",
|
|
"edge_flow_method_nexusreader_web_client_program_cs_getservice_71_flow_action_nexusreader_web_client_program_cs_getservice_return_71_71_returns_71",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_invokes_88",
|
|
"edge_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88_invokes_88",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines-type_61",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines-type_66",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines-type_74",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines-type_84",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines-type_94",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers-service_18",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers-service_33",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers-service_38",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers-service_40",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers-service_49",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers-service_55",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers-service_56",
|
|
"edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_run_wasm_host_59_configures-pipeline_59",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_program_top_level_29_invokes_29",
|
|
"edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates-condition_62",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls-back_66",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_invokes_125",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126_invokes_126",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8_uses-service_78",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31_uses-service_79",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165_invokes_165",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175_invokes_175",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249_invokes_249",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265_invokes_265",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273_invokes_273",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281_invokes_281",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289_invokes_289",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297_invokes_297",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305_invokes_305",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313_invokes_313",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321_invokes_321",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_knowledgerequest_566_maps-dto_566",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_groundednessrequest_567_maps-dto_567",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_semanticsearchrequest_568_maps-dto_568",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_askquestionrequest_569_maps-dto_569"
|
|
],
|
|
"confidence": "high",
|
|
"businessValue": 89,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Program.cs",
|
|
"line": 1
|
|
}
|
|
],
|
|
"businessSignals": [
|
|
"trigger",
|
|
"validation-decision"
|
|
],
|
|
"scoreBreakdown": {
|
|
"entrypointQuality": 25,
|
|
"crossLayerDepth": 7,
|
|
"businessSignals": 22,
|
|
"evidenceStrength": 20,
|
|
"contractCoverage": 15,
|
|
"total": 89
|
|
},
|
|
"validationIssues": [],
|
|
"recommendedDiagramKinds": [
|
|
"primary-runtime",
|
|
"control-flow",
|
|
"dependency-map",
|
|
"class-diagram",
|
|
"method-flow"
|
|
],
|
|
"producedArtifacts": [
|
|
{
|
|
"id": "web_client_wasm_md_phase_inputs",
|
|
"label": "Phase Inputs",
|
|
"path": "machine/phase-inputs/flows__web-client-wasm.phase-inputs.json",
|
|
"producerPath": "src/documentation/v4/phase4Generation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_context_bag",
|
|
"label": "Context Bag",
|
|
"path": "machine/context-bags/web_client_wasm.context-bag.json",
|
|
"producerPath": "src/documentation/v4/buildContextBags.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_planning_debug",
|
|
"label": "Planning Debug",
|
|
"path": "debug/planning.debug.json",
|
|
"producerPath": "src/documentation/v4/phase1Orientation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_flow_catalog",
|
|
"label": "Flow Catalog",
|
|
"path": "machine/flow-catalog.json",
|
|
"producerPath": "src/documentation/v4/phase3_7FlowRanking.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_flow_selection",
|
|
"label": "Flow Selection",
|
|
"path": "machine/flow-selection.json",
|
|
"producerPath": "src/documentation/v4/phase3_7FlowRanking.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_business_map",
|
|
"label": "Business Map",
|
|
"path": "machine/business-map.json",
|
|
"producerPath": "src/documentation/v4/phase3_5BusinessUnderstanding.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_index_output",
|
|
"label": "Published Index",
|
|
"path": "index.md",
|
|
"producerPath": "src/documentation/v4/phase5Index.ts",
|
|
"status": "generated"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_2_nexusreader_maui_mauiprogram_cs",
|
|
"name": "MauiProgram",
|
|
"category": "frontend-to-backend",
|
|
"entryNodeId": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"nodeIds": [
|
|
"flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_mauiprogram_10",
|
|
"flow_method_nexusreader_maui_mauiprogram_cs_createmauiapp_12",
|
|
"flow_method_nexusreader_maui_mauiprogram_cs_create_and_build_mauiapp_16",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_nexusreader_application_registrations_51",
|
|
"flow_type_nexusreader_maui_mauiprogram_cs_handlers_from_nexusreader_application_assembly_53",
|
|
"flow_action_nexusreader_maui_mauiprogram_cs_createmauiapp_return_57_57",
|
|
"flow_file_nexusreader_web_program_cs_file_1",
|
|
"flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_repository_read_127_127",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_branch_129_129",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_repository_read_131_131",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_fallback_133_133",
|
|
"flow_action_nexusreader_web_program_cs_program_top_level_repository_read_135_135"
|
|
],
|
|
"edgeIds": [
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_method_nexusreader_maui_mauiprogram_cs_createmauiapp_12_invokes_12",
|
|
"edge_flow_method_nexusreader_maui_mauiprogram_cs_createmauiapp_12_flow_action_nexusreader_maui_mauiprogram_cs_createmauiapp_return_57_57_returns_57",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauiprogram_10_defines-type_10",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28_registers-service_28",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29_registers-service_29",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32_registers-service_32",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33_registers-service_33",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38_registers-service_38",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1_registers-service_1",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusreader_application_registrations_51_registers-service_51",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_handlers_from_nexusreader_application_assembly_53_registers-service_53",
|
|
"edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_method_nexusreader_maui_mauiprogram_cs_create_and_build_mauiapp_16_configures-pipeline_16",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_program_top_level_29_invokes_29",
|
|
"edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates-condition_62",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls-back_66",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_invokes_125",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126_invokes_126",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_127_127_invokes_127",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_127_127_flow_action_nexusreader_web_program_cs_program_top_level_branch_129_129_evaluates-condition_129",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_129_129_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_131_131_invokes_131",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_131_131_flow_action_nexusreader_web_program_cs_program_top_level_fallback_133_133_falls-back_133",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_133_133_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_135_135_invokes_135",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_135_135_flow_action_nexusreader_web_program_cs_program_top_level_return_137_137_returns_137",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8_uses-service_78",
|
|
"edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31_uses-service_79",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165_invokes_165",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175_invokes_175",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249_invokes_249",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265_invokes_265",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273_invokes_273",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281_invokes_281",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289_invokes_289",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297_invokes_297",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305_invokes_305",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313_invokes_313",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321_invokes_321",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_knowledgerequest_566_maps-dto_566",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_groundednessrequest_567_maps-dto_567",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_semanticsearchrequest_568_maps-dto_568",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_askquestionrequest_569_maps-dto_569"
|
|
],
|
|
"confidence": "high",
|
|
"businessValue": 89,
|
|
"evidencePaths": [
|
|
"NexusReader.Maui/MauiProgram.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Maui/MauiProgram.cs",
|
|
"line": 1
|
|
}
|
|
],
|
|
"businessSignals": [
|
|
"trigger",
|
|
"validation-decision"
|
|
],
|
|
"scoreBreakdown": {
|
|
"entrypointQuality": 25,
|
|
"crossLayerDepth": 7,
|
|
"businessSignals": 22,
|
|
"evidenceStrength": 20,
|
|
"contractCoverage": 15,
|
|
"total": 89
|
|
},
|
|
"validationIssues": [],
|
|
"recommendedDiagramKinds": [
|
|
"primary-runtime",
|
|
"control-flow",
|
|
"dependency-map",
|
|
"class-diagram",
|
|
"method-flow"
|
|
],
|
|
"producedArtifacts": [
|
|
{
|
|
"id": "web_client_wasm_md_phase_inputs",
|
|
"label": "Phase Inputs",
|
|
"path": "machine/phase-inputs/flows__web-client-wasm.phase-inputs.json",
|
|
"producerPath": "src/documentation/v4/phase4Generation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_context_bag",
|
|
"label": "Context Bag",
|
|
"path": "machine/context-bags/web_client_wasm.context-bag.json",
|
|
"producerPath": "src/documentation/v4/buildContextBags.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_planning_debug",
|
|
"label": "Planning Debug",
|
|
"path": "debug/planning.debug.json",
|
|
"producerPath": "src/documentation/v4/phase1Orientation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_flow_catalog",
|
|
"label": "Flow Catalog",
|
|
"path": "machine/flow-catalog.json",
|
|
"producerPath": "src/documentation/v4/phase3_7FlowRanking.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_flow_selection",
|
|
"label": "Flow Selection",
|
|
"path": "machine/flow-selection.json",
|
|
"producerPath": "src/documentation/v4/phase3_7FlowRanking.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_business_map",
|
|
"label": "Business Map",
|
|
"path": "machine/business-map.json",
|
|
"producerPath": "src/documentation/v4/phase3_5BusinessUnderstanding.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_index_output",
|
|
"label": "Published Index",
|
|
"path": "index.md",
|
|
"producerPath": "src/documentation/v4/phase5Index.ts",
|
|
"status": "generated"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "flow_0_nexusreader_web_program_cs",
|
|
"name": "Program.cs",
|
|
"category": "frontend-to-backend",
|
|
"entryNodeId": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"nodeIds": [
|
|
"flow_file_nexusreader_web_program_cs_file_1",
|
|
"flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"flow_type_nexusreader_web_program_cs_webplatformservice_47",
|
|
"flow_type_nexusreader_web_program_cs_knowledgecoordinator_55",
|
|
"flow_type_nexusreader_web_program_cs_httpclient_configured_with_base_address_58",
|
|
"flow_type_nexusreader_web_program_cs_nexusreader_application_assembly_extension_78",
|
|
"flow_type_nexusreader_web_program_cs_nexusreader_infrastructure_assembly_extension_79",
|
|
"flow_type_nexusreader_web_program_cs_identity_with_appdbcontext_107",
|
|
"flow_method_nexusreader_web_program_cs_usehangfiredashboard_163",
|
|
"flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165",
|
|
"flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175",
|
|
"flow_method_nexusreader_web_program_cs_configure_request_pipeline_routing_auth_antiforgery_static_assets_hubs_225",
|
|
"flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249",
|
|
"flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265",
|
|
"flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273",
|
|
"flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281",
|
|
"flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289",
|
|
"flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297",
|
|
"flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305",
|
|
"flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313",
|
|
"flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321",
|
|
"flow_type_nexusreader_web_program_cs_knowledgerequest_566",
|
|
"flow_type_nexusreader_web_program_cs_groundednessrequest_567",
|
|
"flow_type_nexusreader_web_program_cs_semanticsearchrequest_568"
|
|
],
|
|
"edgeIds": [
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_program_top_level_29_invokes_29",
|
|
"edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates-condition_62",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165_invokes_165",
|
|
"edge_flow_method_nexusreader_web_program_cs_startupvalidation_scope_check_165_flow_action_nexusreader_web_program_cs_startupvalidation_scope_check_branch_169_169_evaluates-condition_169",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175_invokes_175",
|
|
"edge_flow_method_nexusreader_web_program_cs_ensuredatabaseinitialized_175_flow_action_nexusreader_web_program_cs_ensuredatabaseinitialized_loop_186_186_loops-to_186",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249_invokes_249",
|
|
"edge_flow_method_nexusreader_web_program_cs_get_api_epub_ebookid_index_249_flow_action_nexusreader_web_program_cs_get_api_epub_ebookid_index_guard_clause_252_252_evaluates-condition_252",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265_invokes_265",
|
|
"edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_265_flow_action_nexusreader_web_program_cs_knowledgeapi_post_api_knowledge_getknowledge_repository_read_267_267_invokes_267",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273_invokes_273",
|
|
"edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_273_flow_action_nexusreader_web_program_cs_knowledgeapi_post_graph_getgraphdataasync_repository_read_275_275_invokes_275",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281_invokes_281",
|
|
"edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_281_flow_action_nexusreader_web_program_cs_knowledgeapi_post_summary_getsummaryandquizasync_repository_read_283_283_invokes_283",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289_invokes_289",
|
|
"edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_289_flow_action_nexusreader_web_program_cs_knowledgeapi_post_map_getknowledgemapasync_repository_read_291_291_invokes_291",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297_invokes_297",
|
|
"edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_297_flow_action_nexusreader_web_program_cs_knowledgeapi_post_verify_groundedness_repository_read_299_299_invokes_299",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305_invokes_305",
|
|
"edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_305_flow_action_nexusreader_web_program_cs_knowledgeapi_post_search_searchlibrarysemanticallyasync_repository_read_307_307_invokes_307",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313_invokes_313",
|
|
"edge_flow_method_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_313_flow_action_nexusreader_web_program_cs_knowledgeapi_post_ask_askquestionasync_repository_read_315_315_invokes_315",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321_invokes_321",
|
|
"edge_flow_method_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_321_flow_action_nexusreader_web_program_cs_knowledgeapi_delete_api_knowledge_clearcacheasync_branch_323_323_evaluates-condition_323",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_knowledgerequest_566_maps-dto_566",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_groundednessrequest_567_maps-dto_567",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_semanticsearchrequest_568_maps-dto_568",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_askquestionrequest_569_maps-dto_569",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_webplatformservice_47_registers-service_47",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_knowledgecoordinator_55_registers-service_55",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_httpclient_configured_with_base_address_58_registers-service_58",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_nexusreader_application_assembly_extension_78_registers-service_78",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_nexusreader_infrastructure_assembly_extension_79_registers-service_79",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_identity_with_appdbcontext_107_registers-service_107",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_usehangfiredashboard_163_configures-pipeline_163",
|
|
"edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_configure_request_pipeline_routing_auth_antiforgery_static_assets_hubs_225_configures-pipeline_225"
|
|
],
|
|
"confidence": "high",
|
|
"businessValue": 82,
|
|
"evidencePaths": [
|
|
"NexusReader.Web/Program.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web/Program.cs",
|
|
"line": 1
|
|
}
|
|
],
|
|
"businessSignals": [
|
|
"trigger",
|
|
"validation-decision"
|
|
],
|
|
"scoreBreakdown": {
|
|
"entrypointQuality": 25,
|
|
"crossLayerDepth": 0,
|
|
"businessSignals": 22,
|
|
"evidenceStrength": 20,
|
|
"contractCoverage": 15,
|
|
"total": 82
|
|
},
|
|
"validationIssues": [],
|
|
"recommendedDiagramKinds": [
|
|
"primary-runtime",
|
|
"dependency-map",
|
|
"class-diagram",
|
|
"method-flow"
|
|
],
|
|
"producedArtifacts": [
|
|
{
|
|
"id": "web_client_wasm_md_phase_inputs",
|
|
"label": "Phase Inputs",
|
|
"path": "machine/phase-inputs/flows__web-client-wasm.phase-inputs.json",
|
|
"producerPath": "src/documentation/v4/phase4Generation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_context_bag",
|
|
"label": "Context Bag",
|
|
"path": "machine/context-bags/web_client_wasm.context-bag.json",
|
|
"producerPath": "src/documentation/v4/buildContextBags.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_planning_debug",
|
|
"label": "Planning Debug",
|
|
"path": "debug/planning.debug.json",
|
|
"producerPath": "src/documentation/v4/phase1Orientation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_flow_catalog",
|
|
"label": "Flow Catalog",
|
|
"path": "machine/flow-catalog.json",
|
|
"producerPath": "src/documentation/v4/phase3_7FlowRanking.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_flow_selection",
|
|
"label": "Flow Selection",
|
|
"path": "machine/flow-selection.json",
|
|
"producerPath": "src/documentation/v4/phase3_7FlowRanking.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_business_map",
|
|
"label": "Business Map",
|
|
"path": "machine/business-map.json",
|
|
"producerPath": "src/documentation/v4/phase3_5BusinessUnderstanding.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_index_output",
|
|
"label": "Published Index",
|
|
"path": "index.md",
|
|
"producerPath": "src/documentation/v4/phase5Index.ts",
|
|
"status": "generated"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "xref_web_client_wasm_md_wasm_authentication_header_and_token_refresh",
|
|
"name": "WASM Authentication Header and Token Refresh",
|
|
"category": "frontend-to-backend",
|
|
"entryNodeId": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"nodeIds": [
|
|
"flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69"
|
|
],
|
|
"edgeIds": [
|
|
"edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_invokes_27",
|
|
"edge_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_invokes_27",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_evaluates-condition_32",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_evaluates-condition_39",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_evaluates-condition_45",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_evaluates-condition_45",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_evaluates-condition_48",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_invokes_55",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_evaluates-condition_58",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_evaluates-condition_69",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_evaluates-condition_69",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_falls-back_73",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_evaluates-condition_79",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91_evaluates-condition_91"
|
|
],
|
|
"confidence": "medium",
|
|
"businessValue": 56,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 1
|
|
}
|
|
],
|
|
"businessSignals": [],
|
|
"scoreBreakdown": {
|
|
"entrypointQuality": 14,
|
|
"crossLayerDepth": 0,
|
|
"businessSignals": 22,
|
|
"evidenceStrength": 20,
|
|
"contractCoverage": 0,
|
|
"total": 56
|
|
},
|
|
"validationIssues": [
|
|
{
|
|
"code": "missing-contract-node",
|
|
"severity": "warn",
|
|
"message": "Business flow is missing DTO or entity nodes that explain its data shape."
|
|
}
|
|
],
|
|
"recommendedDiagramKinds": [
|
|
"primary-runtime",
|
|
"control-flow",
|
|
"method-flow"
|
|
],
|
|
"producedArtifacts": [
|
|
{
|
|
"id": "web_client_wasm_md_phase_inputs",
|
|
"label": "Phase Inputs",
|
|
"path": "machine/phase-inputs/flows__web-client-wasm.phase-inputs.json",
|
|
"producerPath": "src/documentation/v4/phase4Generation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_context_bag",
|
|
"label": "Context Bag",
|
|
"path": "machine/context-bags/web_client_wasm.context-bag.json",
|
|
"producerPath": "src/documentation/v4/buildContextBags.ts",
|
|
"status": "generated"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "xref_web_client_wasm_md_epub_content_retrieval_flow",
|
|
"name": "Epub Content Retrieval Flow",
|
|
"category": "frontend-to-backend",
|
|
"entryNodeId": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"nodeIds": [
|
|
"flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69"
|
|
],
|
|
"edgeIds": [
|
|
"edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_invokes_27",
|
|
"edge_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_invokes_27",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_evaluates-condition_32",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_evaluates-condition_39",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_evaluates-condition_45",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_evaluates-condition_45",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_evaluates-condition_48",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_invokes_55",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_evaluates-condition_58",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_evaluates-condition_69",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_evaluates-condition_69",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_falls-back_73",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_evaluates-condition_79",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91_evaluates-condition_91"
|
|
],
|
|
"confidence": "medium",
|
|
"businessValue": 56,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 1
|
|
}
|
|
],
|
|
"businessSignals": [],
|
|
"scoreBreakdown": {
|
|
"entrypointQuality": 14,
|
|
"crossLayerDepth": 0,
|
|
"businessSignals": 22,
|
|
"evidenceStrength": 20,
|
|
"contractCoverage": 0,
|
|
"total": 56
|
|
},
|
|
"validationIssues": [
|
|
{
|
|
"code": "missing-contract-node",
|
|
"severity": "warn",
|
|
"message": "Business flow is missing DTO or entity nodes that explain its data shape."
|
|
}
|
|
],
|
|
"recommendedDiagramKinds": [
|
|
"primary-runtime",
|
|
"control-flow",
|
|
"method-flow"
|
|
],
|
|
"producedArtifacts": [
|
|
{
|
|
"id": "web_client_wasm_md_phase_inputs",
|
|
"label": "Phase Inputs",
|
|
"path": "machine/phase-inputs/flows__web-client-wasm.phase-inputs.json",
|
|
"producerPath": "src/documentation/v4/phase4Generation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_context_bag",
|
|
"label": "Context Bag",
|
|
"path": "machine/context-bags/web_client_wasm.context-bag.json",
|
|
"producerPath": "src/documentation/v4/buildContextBags.ts",
|
|
"status": "generated"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "xref_web_client_wasm_md_knowledge_api_call_flow",
|
|
"name": "Knowledge API Call Flow",
|
|
"category": "frontend-to-backend",
|
|
"entryNodeId": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"nodeIds": [
|
|
"flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69"
|
|
],
|
|
"edgeIds": [
|
|
"edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_invokes_27",
|
|
"edge_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_invokes_27",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_evaluates-condition_32",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_evaluates-condition_39",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_evaluates-condition_45",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_evaluates-condition_45",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_evaluates-condition_48",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_invokes_55",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_evaluates-condition_58",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_evaluates-condition_69",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_evaluates-condition_69",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_falls-back_73",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_evaluates-condition_79",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91_evaluates-condition_91"
|
|
],
|
|
"confidence": "medium",
|
|
"businessValue": 56,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 1
|
|
}
|
|
],
|
|
"businessSignals": [],
|
|
"scoreBreakdown": {
|
|
"entrypointQuality": 14,
|
|
"crossLayerDepth": 0,
|
|
"businessSignals": 22,
|
|
"evidenceStrength": 20,
|
|
"contractCoverage": 0,
|
|
"total": 56
|
|
},
|
|
"validationIssues": [
|
|
{
|
|
"code": "missing-contract-node",
|
|
"severity": "warn",
|
|
"message": "Business flow is missing DTO or entity nodes that explain its data shape."
|
|
}
|
|
],
|
|
"recommendedDiagramKinds": [
|
|
"primary-runtime",
|
|
"control-flow",
|
|
"method-flow"
|
|
],
|
|
"producedArtifacts": [
|
|
{
|
|
"id": "web_client_wasm_md_phase_inputs",
|
|
"label": "Phase Inputs",
|
|
"path": "machine/phase-inputs/flows__web-client-wasm.phase-inputs.json",
|
|
"producerPath": "src/documentation/v4/phase4Generation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_context_bag",
|
|
"label": "Context Bag",
|
|
"path": "machine/context-bags/web_client_wasm.context-bag.json",
|
|
"producerPath": "src/documentation/v4/buildContextBags.ts",
|
|
"status": "generated"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "xref_web_client_wasm_md_program_top_level",
|
|
"name": "Program (top level)",
|
|
"category": "frontend-to-backend",
|
|
"entryNodeId": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"nodeIds": [
|
|
"flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69",
|
|
"flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69"
|
|
],
|
|
"edgeIds": [
|
|
"edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_invokes_27",
|
|
"edge_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_invokes_27",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_27_27_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_evaluates-condition_32",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_32_32_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_evaluates-condition_39",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_39_39_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_evaluates-condition_45",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_evaluates-condition_45",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_45_45_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_evaluates-condition_48",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_48_48_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_invokes_55",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_external_call_55_55_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_evaluates-condition_58",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_58_58_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_evaluates-condition_69",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_guard_clause_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_evaluates-condition_69",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_69_69_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_falls-back_73",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_73_73_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_evaluates-condition_79",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_79_79_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_falls-back_85",
|
|
"edge_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_fallback_85_85_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_sendasync_branch_91_91_evaluates-condition_91"
|
|
],
|
|
"confidence": "medium",
|
|
"businessValue": 56,
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs"
|
|
],
|
|
"evidenceReferences": [
|
|
{
|
|
"path": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"line": 1
|
|
}
|
|
],
|
|
"businessSignals": [],
|
|
"scoreBreakdown": {
|
|
"entrypointQuality": 14,
|
|
"crossLayerDepth": 0,
|
|
"businessSignals": 22,
|
|
"evidenceStrength": 20,
|
|
"contractCoverage": 0,
|
|
"total": 56
|
|
},
|
|
"validationIssues": [
|
|
{
|
|
"code": "missing-contract-node",
|
|
"severity": "warn",
|
|
"message": "Business flow is missing DTO or entity nodes that explain its data shape."
|
|
}
|
|
],
|
|
"recommendedDiagramKinds": [
|
|
"primary-runtime",
|
|
"control-flow",
|
|
"method-flow"
|
|
],
|
|
"producedArtifacts": [
|
|
{
|
|
"id": "web_client_wasm_md_phase_inputs",
|
|
"label": "Phase Inputs",
|
|
"path": "machine/phase-inputs/flows__web-client-wasm.phase-inputs.json",
|
|
"producerPath": "src/documentation/v4/phase4Generation.ts",
|
|
"status": "generated"
|
|
},
|
|
{
|
|
"id": "web_client_wasm_md_context_bag",
|
|
"label": "Context Bag",
|
|
"path": "machine/context-bags/web_client_wasm.context-bag.json",
|
|
"producerPath": "src/documentation/v4/buildContextBags.ts",
|
|
"status": "generated"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"testLinkMetadata": []
|
|
},
|
|
"generatedDiagrams": [
|
|
{
|
|
"id": "dependency_map_graph",
|
|
"kind": "dependency-map",
|
|
"title": "Dependency and Model Map",
|
|
"direction": "TD",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"kind": "dependency",
|
|
"label": "AuthenticationHeaderHandler",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14",
|
|
"kind": "dependency",
|
|
"label": "AuthenticationHeaderHandler",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 14
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"kind": "dependency",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"kind": "dependency",
|
|
"label": "ThrowingBookStorageService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"kind": "dependency",
|
|
"label": "ThrowingEbookRepository",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"kind": "dependency",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"kind": "dependency",
|
|
"label": "WebPlatformService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"kind": "dependency",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"kind": "dependency",
|
|
"label": "WasmKnowledgeService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"kind": "dependency",
|
|
"label": "configured HttpClient",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"kind": "dependency",
|
|
"label": "N/A",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"kind": "dependency",
|
|
"label": "WasmEpubReader",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_wasmepubservice_cs_file_1",
|
|
"kind": "service",
|
|
"label": "WasmEpubReader",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_wasmknowledgeservice_cs_file_1",
|
|
"kind": "dependency",
|
|
"label": "WasmKnowledgeService",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"kind": "service",
|
|
"label": "WebPlatformService",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7",
|
|
"kind": "dependency",
|
|
"label": "WebPlatformService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 7
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1",
|
|
"kind": "dependency",
|
|
"label": "NexusReader.Web.Client.csproj",
|
|
"sourcePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14_defines_type_14",
|
|
"from": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_handlers_authenticationheaderhandler_cs_authenticationheaderhandler_14",
|
|
"semanticLabel": "model AuthenticationHeaderHandler",
|
|
"visibleLabel": "model AuthenticationHeaderHandler",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 14,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "DelegatingHandler that attaches JWTs to trusted requests and orchestrates token refresh and retry behavior.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines_type_61",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"semanticLabel": "model ThrowingDbContextFactory",
|
|
"visibleLabel": "model ThrowingDbContextFactory",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines_type_66",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"semanticLabel": "model ThrowingEmbeddingGenerator",
|
|
"visibleLabel": "model ThrowingEmbeddingGenerator",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines_type_74",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"semanticLabel": "model ThrowingBookStorageService",
|
|
"visibleLabel": "model ThrowingBookStorageService",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines_type_84",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"semanticLabel": "model ThrowingEbookRepository",
|
|
"visibleLabel": "model ThrowingEbookRepository",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines_type_94",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"semanticLabel": "model ThrowingSyncBroadcaster",
|
|
"visibleLabel": "model ThrowingSyncBroadcaster",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers_service_18",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"semanticLabel": "IPlatformService",
|
|
"visibleLabel": "IPlatformService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers platform abstraction for browser.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers_service_33",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"visibleLabel": "NexusAuthenticationStateProvider",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Authentication state provider and wiring to AuthenticationStateProvider.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers_service_38",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"semanticLabel": "IKnowledgeService",
|
|
"visibleLabel": "IKnowledgeService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers a WASM-specific knowledge service implementation.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers_service_40",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"semanticLabel": "HttpClient (named 'NexusAPI')",
|
|
"visibleLabel": "uses",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Adds named HTTP client with base address and authentication header handler.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers_service_49",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"semanticLabel": "IDbContextFactory<AppDbContext>",
|
|
"visibleLabel": "IDbContextFactory AppDbContext>",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers throw-only stub to avoid using DbContext in WASM.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers_service_55",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"semanticLabel": "application services (via extension)",
|
|
"visibleLabel": "application services via extension",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Calls AddApplication() to register application-layer services.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers_service_56",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"semanticLabel": "IEpubReader",
|
|
"visibleLabel": "IEpubReader",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers WASM epub reader implementation.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1_flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7_defines_type_7",
|
|
"from": "flow_file_nexusreader_web_client_services_webplatformservice_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_services_webplatformservice_cs_webplatformservice_7",
|
|
"semanticLabel": "model WebPlatformService",
|
|
"visibleLabel": "model WebPlatformService",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"sourceLine": 7,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Concrete platform service for the web client that implements IPlatformService using JS interop.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
}
|
|
],
|
|
"metadata": {
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
},
|
|
"subgraphs": []
|
|
},
|
|
{
|
|
"id": "startup_runtime_graph",
|
|
"kind": "primary-runtime",
|
|
"title": "Startup and Service Registration Flow",
|
|
"direction": "TD",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"kind": "dependency",
|
|
"label": "WebPlatformService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"kind": "dependency",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"kind": "dependency",
|
|
"label": "WasmKnowledgeService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"kind": "dependency",
|
|
"label": "configured HttpClient",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"kind": "dependency",
|
|
"label": "N/A",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"kind": "dependency",
|
|
"label": "WasmEpubReader",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"kind": "method",
|
|
"label": "Run WASM Host",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1",
|
|
"kind": "dependency",
|
|
"label": "NexusReader.Web.Client.csproj",
|
|
"sourcePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1",
|
|
"kind": "method",
|
|
"label": "project-configuration",
|
|
"sourcePath": "NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"kind": "service",
|
|
"label": "MauiProgram",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28",
|
|
"kind": "dependency",
|
|
"label": "MauiPlatformService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 28
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29",
|
|
"kind": "dependency",
|
|
"label": "MauiStorageService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 29
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32",
|
|
"kind": "dependency",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 32
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33",
|
|
"kind": "dependency",
|
|
"label": "NexusAuthenticationStateProvider (via factory)",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 33
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38",
|
|
"kind": "dependency",
|
|
"label": "HttpClient (configured)",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 38
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1",
|
|
"kind": "dependency",
|
|
"label": "ThemeService, FocusModeService, QuizStateService, ReaderNavigationService, KnowledgeGraphService, ReaderInteractionService, KnowledgeCoordinator, SyncService, IdentityService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers_service_18",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"semanticLabel": "IPlatformService",
|
|
"visibleLabel": "IPlatformService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers platform abstraction for browser.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers_service_33",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"visibleLabel": "NexusAuthenticationStateProvider",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Authentication state provider and wiring to AuthenticationStateProvider.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers_service_38",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"semanticLabel": "IKnowledgeService",
|
|
"visibleLabel": "IKnowledgeService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers a WASM-specific knowledge service implementation.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers_service_40",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"semanticLabel": "HttpClient (named 'NexusAPI')",
|
|
"visibleLabel": "uses",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Adds named HTTP client with base address and authentication header handler.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers_service_49",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"semanticLabel": "IDbContextFactory<AppDbContext>",
|
|
"visibleLabel": "IDbContextFactory AppDbContext>",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers throw-only stub to avoid using DbContext in WASM.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers_service_55",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"semanticLabel": "application services (via extension)",
|
|
"visibleLabel": "application services via extension",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Calls AddApplication() to register application-layer services.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers_service_56",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"semanticLabel": "IEpubReader",
|
|
"visibleLabel": "IEpubReader",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers WASM epub reader implementation.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_run_wasm_host_59_configures_pipeline_59",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"semanticLabel": "unknown",
|
|
"visibleLabel": "unknown",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "unknown",
|
|
"expandedLabel": "configures-pipeline"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1_flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1_configures_pipeline_1",
|
|
"from": "flow_file_nexusreader_web_client_nexusreader_web_client_csproj_file_1",
|
|
"to": "flow_method_nexusreader_web_client_nexusreader_web_client_csproj_project_configuration_1",
|
|
"semanticLabel": "unknown",
|
|
"visibleLabel": "unknown",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"sourceLine": 1,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "unknown",
|
|
"expandedLabel": "configures-pipeline"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28_registers_service_28",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_mauiplatformservice_28",
|
|
"semanticLabel": "IPlatformService",
|
|
"visibleLabel": "IPlatformService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 28,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers platform abstraction implemented for MAUI",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29_registers_service_29",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_mauistorageservice_29",
|
|
"semanticLabel": "INativeStorageService",
|
|
"visibleLabel": "INativeStorageService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 29,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers platform native storage implementation",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32_registers_service_32",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_32",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"visibleLabel": "NexusAuthenticationStateProvider",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 32,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Concrete auth state provider registered",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33_registers_service_33",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_nexusauthenticationstateprovider_via_factory_33",
|
|
"semanticLabel": "Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider",
|
|
"visibleLabel": "Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 33,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Maps framework AuthenticationStateProvider to NexusAuthenticationStateProvider via service locator factory",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38_registers_service_38",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_httpclient_configured_38",
|
|
"semanticLabel": "HttpClient",
|
|
"visibleLabel": "HttpClient",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 38,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers HttpClient with BaseAddress = http://10.0.2.2:5000 (Android emulator to local server)",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_maui_mauiprogram_cs_file_1_flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1_registers_service_1",
|
|
"from": "flow_file_nexusreader_maui_mauiprogram_cs_file_1",
|
|
"to": "flow_type_nexusreader_maui_mauiprogram_cs_themeservice_focusmodeservice_quizstateservice_readernavigationservice_knowledgegraphservice_readerinteractionservice_knowledgecoordinator_syncservice_identityservice_1",
|
|
"semanticLabel": "UI and app state services",
|
|
"visibleLabel": "UI and app state services",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Maui/MauiProgram.cs",
|
|
"sourceLine": 1,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers multiple scoped services handling UI state, knowledge coordination, sync and identity",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
}
|
|
],
|
|
"subgraphs": [
|
|
{
|
|
"id": "flow_1_nexusreader_web_client_program_cs",
|
|
"label": "Program.cs"
|
|
},
|
|
{
|
|
"id": "flow_2_nexusreader_maui_mauiprogram_cs",
|
|
"label": "MauiProgram"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "primary_runtime_flow_1_nexusreader_web_client_program_cs",
|
|
"kind": "primary-runtime",
|
|
"title": "Program.cs Flow",
|
|
"direction": "TD",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"kind": "method",
|
|
"label": "Program (top-level startup)",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 15
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"kind": "method",
|
|
"label": "GetService",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"kind": "return",
|
|
"label": "returns null",
|
|
"shape": "stadium",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"kind": "method",
|
|
"label": "FindAuthorByNameAsync",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"kind": "dependency",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"kind": "dependency",
|
|
"label": "ThrowingBookStorageService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"kind": "dependency",
|
|
"label": "ThrowingEbookRepository",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"kind": "dependency",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"kind": "dependency",
|
|
"label": "WebPlatformService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"kind": "dependency",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"kind": "dependency",
|
|
"label": "WasmKnowledgeService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"kind": "dependency",
|
|
"label": "configured HttpClient",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"kind": "dependency",
|
|
"label": "N/A",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"kind": "dependency",
|
|
"label": "WasmEpubReader",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"kind": "method",
|
|
"label": "Run WASM Host",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"kind": "method",
|
|
"label": "Program (top-level)",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 29
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"kind": "step",
|
|
"label": "Evaluates branch condition",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"kind": "step",
|
|
"label": "Falls back to alternate path",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 125
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15_invokes_15",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"semanticLabel": "Program (top-level startup)",
|
|
"visibleLabel": "Program top-level startup",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 15,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Create the WebAssemblyHostBuilder, register application and platform services, add HTTP client and dummy server-only stubs, then build and run the WASM host.",
|
|
"expandedLabel": "handles-route"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_getservice_71_invokes_71",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"semanticLabel": "GetService",
|
|
"visibleLabel": "GetService",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Fallback service resolver stub that always returns null.",
|
|
"expandedLabel": "handles-route"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_getservice_71_flow_action_nexusreader_web_client_program_cs_getservice_return_71_71_returns_71",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"semanticLabel": "returns null",
|
|
"visibleLabel": "returns null",
|
|
"relation": "returns",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "public object? GetService(...) => null",
|
|
"expandedLabel": "returns"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_invokes_88",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"semanticLabel": "FindAuthorByNameAsync",
|
|
"visibleLabel": "FindAuthorByNameAsync",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Repository lookup stub that throws because repository access is unsupported in WASM.",
|
|
"expandedLabel": "handles-route"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88_invokes_88",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"visibleLabel": "Reads repository or persistence state",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines_type_61",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"semanticLabel": "model ThrowingDbContextFactory",
|
|
"visibleLabel": "model ThrowingDbContextFactory",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines_type_66",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"semanticLabel": "model ThrowingEmbeddingGenerator",
|
|
"visibleLabel": "model ThrowingEmbeddingGenerator",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines_type_74",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"semanticLabel": "model ThrowingBookStorageService",
|
|
"visibleLabel": "model ThrowingBookStorageService",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines_type_84",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"semanticLabel": "model ThrowingEbookRepository",
|
|
"visibleLabel": "model ThrowingEbookRepository",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines_type_94",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"semanticLabel": "model ThrowingSyncBroadcaster",
|
|
"visibleLabel": "model ThrowingSyncBroadcaster",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers_service_18",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"semanticLabel": "IPlatformService",
|
|
"visibleLabel": "IPlatformService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers platform abstraction for browser.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers_service_33",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"visibleLabel": "NexusAuthenticationStateProvider",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Authentication state provider and wiring to AuthenticationStateProvider.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers_service_38",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"semanticLabel": "IKnowledgeService",
|
|
"visibleLabel": "IKnowledgeService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers a WASM-specific knowledge service implementation.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers_service_40",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"semanticLabel": "HttpClient (named 'NexusAPI')",
|
|
"visibleLabel": "uses",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Adds named HTTP client with base address and authentication header handler.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers_service_49",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"semanticLabel": "IDbContextFactory<AppDbContext>",
|
|
"visibleLabel": "IDbContextFactory AppDbContext>",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers throw-only stub to avoid using DbContext in WASM.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers_service_55",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"semanticLabel": "application services (via extension)",
|
|
"visibleLabel": "application services via extension",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Calls AddApplication() to register application-layer services.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers_service_56",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"semanticLabel": "IEpubReader",
|
|
"visibleLabel": "IEpubReader",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers WASM epub reader implementation.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_method_nexusreader_web_client_program_cs_run_wasm_host_59_configures_pipeline_59",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"semanticLabel": "unknown",
|
|
"visibleLabel": "unknown",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "unknown",
|
|
"expandedLabel": "configures-pipeline"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_method_nexusreader_web_program_cs_program_top_level_29_invokes_29",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"semanticLabel": "Program (top-level)",
|
|
"visibleLabel": "Program top-level",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 29,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Top-level program: build host, register services and middleware, map routes/endpoints, run the app.",
|
|
"expandedLabel": "handles-route"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates_condition_62",
|
|
"from": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"semanticLabel": "true / false",
|
|
"visibleLabel": "true / false",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"expandedLabel": "evaluates-condition"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls_back_66",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"semanticLabel": "fallback",
|
|
"visibleLabel": "fallback",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "else",
|
|
"expandedLabel": "falls-back"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_invokes_125",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"visibleLabel": "Reads repository or persistence state",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 125,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "var isApiRequest = context.Request.Path.StartsWithSegments(\"/api\") ||",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
}
|
|
],
|
|
"subgraphs": [
|
|
{
|
|
"id": "flow_1_nexusreader_web_client_program_cs",
|
|
"label": "Program.cs"
|
|
},
|
|
{
|
|
"id": "flow_2_nexusreader_maui_mauiprogram_cs",
|
|
"label": "MauiProgram"
|
|
},
|
|
{
|
|
"id": "flow_0_nexusreader_web_program_cs",
|
|
"label": "Program.cs"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "control_flow_flow_1_nexusreader_web_client_program_cs",
|
|
"kind": "control-flow",
|
|
"title": "Program.cs Execution Control Flow",
|
|
"direction": "TD",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_program_top_level_startup_15",
|
|
"kind": "method",
|
|
"label": "Program (top-level startup)",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 15
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"kind": "method",
|
|
"label": "GetService",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"kind": "return",
|
|
"label": "returns null",
|
|
"shape": "stadium",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"kind": "method",
|
|
"label": "FindAuthorByNameAsync",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_run_wasm_host_59",
|
|
"kind": "method",
|
|
"label": "Run WASM Host",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 59
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"kind": "method",
|
|
"label": "Program (top-level)",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 29
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"kind": "step",
|
|
"label": "Evaluates branch condition",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"kind": "step",
|
|
"label": "Falls back to alternate path",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 125
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 126
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8",
|
|
"kind": "method",
|
|
"label": "AddApplication",
|
|
"sourcePath": "NexusReader.Application/DependencyInjection.cs",
|
|
"sourceLine": 8
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31",
|
|
"kind": "method",
|
|
"label": "AddInfrastructure",
|
|
"sourcePath": "NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"sourceLine": 31
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_getservice_71_flow_action_nexusreader_web_client_program_cs_getservice_return_71_71_returns_71",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"semanticLabel": "returns null",
|
|
"visibleLabel": "returns null",
|
|
"relation": "returns",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "public object? GetService(...) => null",
|
|
"expandedLabel": "returns"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88_flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88_invokes_88",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_findauthorbynameasync_88",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"visibleLabel": "Reads repository or persistence state",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "public Task<Author?> FindAuthorByNameAsync(string name, CancellationToken cancellationToken = default) => throw new NotSupportedException(ErrorMessage);",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates_condition_62",
|
|
"from": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"semanticLabel": "true / false",
|
|
"visibleLabel": "true / false",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"expandedLabel": "evaluates-condition"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls_back_66",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"semanticLabel": "fallback",
|
|
"visibleLabel": "fallback",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "else",
|
|
"expandedLabel": "falls-back"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_invokes_125",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"visibleLabel": "Reads repository or persistence state",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 125,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "var isApiRequest = context.Request.Path.StartsWithSegments(\"/api\") ||",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125_flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126_invokes_126",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_125_125",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_repository_read_126_126",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"visibleLabel": "Reads repository or persistence state",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 126,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "context.Request.Path.StartsWithSegments(\"/identity\") ||",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8_uses_service_78",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_method_nexusreader_application_dependencyinjection_cs_addapplication_8",
|
|
"semanticLabel": "AddApplication",
|
|
"visibleLabel": "AddApplication",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 78,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IServiceCollection",
|
|
"expandedLabel": "uses-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31_uses_service_79",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"to": "flow_method_nexusreader_infrastructure_dependencyinjection_cs_addinfrastructure_31",
|
|
"semanticLabel": "AddInfrastructure",
|
|
"visibleLabel": "AddInfrastructure",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 79,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IServiceCollection, IConfiguration",
|
|
"expandedLabel": "uses-service"
|
|
}
|
|
}
|
|
],
|
|
"subgraphs": [
|
|
{
|
|
"id": "NexusReader_Web_Client_Program",
|
|
"label": "Program"
|
|
},
|
|
{
|
|
"id": "NexusReader_Web_Program",
|
|
"label": "Program"
|
|
},
|
|
{
|
|
"id": "NexusReader_Application_DependencyInjection",
|
|
"label": "DependencyInjection"
|
|
},
|
|
{
|
|
"id": "NexusReader_Infrastructure_DependencyInjection",
|
|
"label": "DependencyInjection"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "contracts_flow_1_nexusreader_web_client_program_cs",
|
|
"kind": "class-diagram",
|
|
"title": "Program.cs Contracts and Entities",
|
|
"direction": "LR",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"kind": "dependency",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"kind": "dependency",
|
|
"label": "ThrowingBookStorageService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"kind": "dependency",
|
|
"label": "ThrowingEbookRepository",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"kind": "dependency",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"kind": "dependency",
|
|
"label": "WebPlatformService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"kind": "dependency",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"kind": "dependency",
|
|
"label": "WasmKnowledgeService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"kind": "dependency",
|
|
"label": "configured HttpClient",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"kind": "dependency",
|
|
"label": "N/A",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"kind": "dependency",
|
|
"label": "WasmEpubReader",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_knowledgerequest_566",
|
|
"kind": "dependency",
|
|
"label": "KnowledgeRequest",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 566
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_groundednessrequest_567",
|
|
"kind": "dependency",
|
|
"label": "GroundednessRequest",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 567
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_semanticsearchrequest_568",
|
|
"kind": "dependency",
|
|
"label": "SemanticSearchRequest",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 568
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_program_cs_askquestionrequest_569",
|
|
"kind": "dependency",
|
|
"label": "AskQuestionRequest",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 569
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines_type_61",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"semanticLabel": "model ThrowingDbContextFactory",
|
|
"visibleLabel": "model ThrowingDbContextFactory",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines_type_66",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"semanticLabel": "model ThrowingEmbeddingGenerator",
|
|
"visibleLabel": "model ThrowingEmbeddingGenerator",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines_type_74",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"semanticLabel": "model ThrowingBookStorageService",
|
|
"visibleLabel": "model ThrowingBookStorageService",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines_type_84",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"semanticLabel": "model ThrowingEbookRepository",
|
|
"visibleLabel": "model ThrowingEbookRepository",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines_type_94",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"semanticLabel": "model ThrowingSyncBroadcaster",
|
|
"visibleLabel": "model ThrowingSyncBroadcaster",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_knowledgerequest_566_maps_dto_566",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_knowledgerequest_566",
|
|
"semanticLabel": "dto KnowledgeRequest",
|
|
"visibleLabel": "dto KnowledgeRequest",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 566,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Request DTO carrying free-text input and optional ebook context for knowledge APIs.",
|
|
"expandedLabel": "maps-dto"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_groundednessrequest_567_maps_dto_567",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_groundednessrequest_567",
|
|
"semanticLabel": "dto GroundednessRequest",
|
|
"visibleLabel": "dto GroundednessRequest",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 567,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Request DTO for verifying answer groundedness in a context.",
|
|
"expandedLabel": "maps-dto"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_semanticsearchrequest_568_maps_dto_568",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_semanticsearchrequest_568",
|
|
"semanticLabel": "dto SemanticSearchRequest",
|
|
"visibleLabel": "dto SemanticSearchRequest",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 568,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "DTO for semantic search requests with a limit.",
|
|
"expandedLabel": "maps-dto"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_program_cs_file_1_flow_type_nexusreader_web_program_cs_askquestionrequest_569_maps_dto_569",
|
|
"from": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_program_cs_askquestionrequest_569",
|
|
"semanticLabel": "dto AskQuestionRequest",
|
|
"visibleLabel": "dto AskQuestionRequest",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 569,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "DTO for question-asking APIs including optional ebook context and limit.",
|
|
"expandedLabel": "maps-dto"
|
|
}
|
|
}
|
|
],
|
|
"metadata": {
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
],
|
|
"previewCompatibility": {
|
|
"preferredSurface": "two-d",
|
|
"fallback": "open-2d-preview",
|
|
"reason": "class-diagram is preserved for 2D Mermaid rendering while 3D preview stays flowchart-only."
|
|
}
|
|
},
|
|
"subgraphs": []
|
|
},
|
|
{
|
|
"id": "layer_flow_1_nexusreader_web_client_program_cs",
|
|
"kind": "dependency-map",
|
|
"title": "Program.cs Layer View",
|
|
"direction": "LR",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 1,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"kind": "return",
|
|
"label": "returns null",
|
|
"shape": "stadium",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_findauthorbynameasync_repository_read_88_88",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 88,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"kind": "dependency",
|
|
"label": "ThrowingEmbeddingGenerator",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"kind": "dependency",
|
|
"label": "ThrowingBookStorageService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"kind": "dependency",
|
|
"label": "ThrowingEbookRepository",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"kind": "dependency",
|
|
"label": "ThrowingSyncBroadcaster",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"kind": "dependency",
|
|
"label": "WebPlatformService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"kind": "dependency",
|
|
"label": "NexusAuthenticationStateProvider",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"kind": "dependency",
|
|
"label": "WasmKnowledgeService",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"kind": "dependency",
|
|
"label": "configured HttpClient",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"kind": "dependency",
|
|
"label": "ThrowingDbContextFactory",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"kind": "dependency",
|
|
"label": "N/A",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"kind": "dependency",
|
|
"label": "WasmEpubReader",
|
|
"shape": "doc",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"subgraphId": "layer_frontend"
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_web_program_cs_file_1",
|
|
"kind": "service",
|
|
"label": "Program.cs",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 1,
|
|
"subgraphId": "layer_application"
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"kind": "step",
|
|
"label": "Evaluates branch condition",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"subgraphId": "layer_application"
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"kind": "step",
|
|
"label": "Falls back to alternate path",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"subgraphId": "layer_application"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61_defines_type_61",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_61",
|
|
"semanticLabel": "model ThrowingDbContextFactory",
|
|
"visibleLabel": "model ThrowingDbContextFactory",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 61,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IDbContextFactory implementation that prevents use of EF DbContext in WASM by throwing on creation.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66_defines_type_66",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingembeddinggenerator_66",
|
|
"semanticLabel": "model ThrowingEmbeddingGenerator",
|
|
"visibleLabel": "model ThrowingEmbeddingGenerator",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 66,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IEmbeddingGenerator implementation that disables local embedding generation in WASM (throws on GenerateAsync).",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74_defines_type_74",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingbookstorageservice_74",
|
|
"semanticLabel": "model ThrowingBookStorageService",
|
|
"visibleLabel": "model ThrowingBookStorageService",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 74,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IBookStorageService implementation that throws for all file storage operations in WASM.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84_defines_type_84",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingebookrepository_84",
|
|
"semanticLabel": "model ThrowingEbookRepository",
|
|
"visibleLabel": "model ThrowingEbookRepository",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 84,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "IEbookRepository implementation that throws for all repository operations in WASM.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94_defines_type_94",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingsyncbroadcaster_94",
|
|
"semanticLabel": "model ThrowingSyncBroadcaster",
|
|
"visibleLabel": "model ThrowingSyncBroadcaster",
|
|
"relation": "transforms",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 94,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "ISyncBroadcaster implementation that throws because real-time broadcasting must run on the server.",
|
|
"expandedLabel": "defines-type"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_webplatformservice_18_registers_service_18",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_webplatformservice_18",
|
|
"semanticLabel": "IPlatformService",
|
|
"visibleLabel": "IPlatformService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 18,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers platform abstraction for browser.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33_registers_service_33",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_nexusauthenticationstateprovider_33",
|
|
"semanticLabel": "NexusAuthenticationStateProvider",
|
|
"visibleLabel": "NexusAuthenticationStateProvider",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 33,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Authentication state provider and wiring to AuthenticationStateProvider.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38_registers_service_38",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmknowledgeservice_38",
|
|
"semanticLabel": "IKnowledgeService",
|
|
"visibleLabel": "IKnowledgeService",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 38,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers a WASM-specific knowledge service implementation.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_configured_httpclient_40_registers_service_40",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_configured_httpclient_40",
|
|
"semanticLabel": "HttpClient (named 'NexusAPI')",
|
|
"visibleLabel": "uses",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 40,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Adds named HTTP client with base address and authentication header handler.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49_registers_service_49",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_throwingdbcontextfactory_49",
|
|
"semanticLabel": "IDbContextFactory<AppDbContext>",
|
|
"visibleLabel": "IDbContextFactory AppDbContext>",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 49,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers throw-only stub to avoid using DbContext in WASM.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_n_a_55_registers_service_55",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_n_a_55",
|
|
"semanticLabel": "application services (via extension)",
|
|
"visibleLabel": "application services via extension",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 55,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Calls AddApplication() to register application-layer services.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_program_cs_file_1_flow_type_nexusreader_web_client_program_cs_wasmepubreader_56_registers_service_56",
|
|
"from": "flow_file_nexusreader_web_client_program_cs_file_1",
|
|
"to": "flow_type_nexusreader_web_client_program_cs_wasmepubreader_56",
|
|
"semanticLabel": "IEpubReader",
|
|
"visibleLabel": "IEpubReader",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 56,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Registers WASM epub reader implementation.",
|
|
"expandedLabel": "registers-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls_back_66",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"semanticLabel": "fallback",
|
|
"visibleLabel": "fallback",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "else",
|
|
"expandedLabel": "falls-back"
|
|
}
|
|
}
|
|
],
|
|
"subgraphs": [
|
|
{
|
|
"id": "layer_frontend",
|
|
"label": "frontend"
|
|
},
|
|
{
|
|
"id": "layer_application",
|
|
"label": "application"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "failure_flow_1_nexusreader_web_client_program_cs",
|
|
"kind": "control-flow",
|
|
"title": "Program.cs Guardrails and Failure Paths",
|
|
"direction": "TD",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"kind": "method",
|
|
"label": "GetService",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"kind": "return",
|
|
"label": "returns null",
|
|
"shape": "stadium",
|
|
"sourcePath": "NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"kind": "method",
|
|
"label": "Program (top-level)",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 29
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"kind": "step",
|
|
"label": "Evaluates branch condition",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 62
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"kind": "step",
|
|
"label": "Falls back to alternate path",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 66
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_program_cs_getservice_71_flow_action_nexusreader_web_client_program_cs_getservice_return_71_71_returns_71",
|
|
"from": "flow_method_nexusreader_web_client_program_cs_getservice_71",
|
|
"to": "flow_action_nexusreader_web_client_program_cs_getservice_return_71_71",
|
|
"semanticLabel": "returns null",
|
|
"visibleLabel": "returns null",
|
|
"relation": "returns",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Program.cs",
|
|
"sourceLine": 71,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "public object? GetService(...) => null",
|
|
"expandedLabel": "returns"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_program_cs_program_top_level_29_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_evaluates_condition_62",
|
|
"from": "flow_method_nexusreader_web_program_cs_program_top_level_29",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"semanticLabel": "true / false",
|
|
"visibleLabel": "true / false",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 62,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "if (!string.IsNullOrEmpty(apiBaseUrl))",
|
|
"expandedLabel": "evaluates-condition"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62_flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66_falls_back_66",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_62_62",
|
|
"to": "flow_action_nexusreader_web_program_cs_program_top_level_fallback_66_66",
|
|
"semanticLabel": "fallback",
|
|
"visibleLabel": "fallback",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 66,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "else",
|
|
"expandedLabel": "falls-back"
|
|
}
|
|
}
|
|
],
|
|
"subgraphs": [
|
|
{
|
|
"id": "NexusReader_Web_Client_Program",
|
|
"label": "Program"
|
|
},
|
|
{
|
|
"id": "NexusReader_Web_Program",
|
|
"label": "Program"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
],
|
|
"warnings": []
|
|
}
|
|
},
|
|
{
|
|
"id": "method_flows_graph",
|
|
"kind": "method-flow",
|
|
"title": "Method Flow Details",
|
|
"direction": "TD",
|
|
"nodes": [
|
|
{
|
|
"id": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"kind": "dependency",
|
|
"label": "AuthenticationHeaderHandler",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"kind": "method",
|
|
"label": "CloneHttpRequestMessageAsync",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 112
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119",
|
|
"kind": "step",
|
|
"label": "Evaluates branch condition",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 119
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237",
|
|
"kind": "step",
|
|
"label": "Evaluates branch condition",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Web/Program.cs",
|
|
"sourceLine": 237
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"kind": "dependency",
|
|
"label": "SyncHub",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14",
|
|
"kind": "method",
|
|
"label": "SyncHub",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 14
|
|
},
|
|
{
|
|
"id": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"kind": "service",
|
|
"label": "EpubReaderService",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 1
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"kind": "method",
|
|
"label": "UpdateProgress",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 19
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 21
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"kind": "method",
|
|
"label": "OnConnectedAsync",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 28
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 30
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"kind": "method",
|
|
"label": "OnDisconnectedAsync",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 38
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40",
|
|
"kind": "step",
|
|
"label": "Reads repository or persistence state",
|
|
"shape": "rect",
|
|
"sourcePath": "NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 40
|
|
},
|
|
{
|
|
"id": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"kind": "method",
|
|
"label": "CountWords",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 175
|
|
},
|
|
{
|
|
"id": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177",
|
|
"kind": "step",
|
|
"label": "Empty text check",
|
|
"shape": "diamond",
|
|
"sourcePath": "NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 177
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "edge_flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112_invokes_112",
|
|
"from": "flow_file_nexusreader_web_client_handlers_authenticationheaderhandler_cs_file_1",
|
|
"to": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"semanticLabel": "CloneHttpRequestMessageAsync",
|
|
"visibleLabel": "CloneHttpRequestMessageAsync",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 112,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Creates a deep-ish clone of an HttpRequestMessage including method, URI, version, headers and buffered content to allow safe retry.",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112_flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119_evaluates_condition_119",
|
|
"from": "flow_method_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_112",
|
|
"to": "flow_action_nexusreader_web_client_handlers_authenticationheaderhandler_cs_clonehttprequestmessageasync_branch_119_119",
|
|
"semanticLabel": "true / false",
|
|
"visibleLabel": "true / false",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"sourceLine": 119,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "if (req.Content != null)",
|
|
"expandedLabel": "evaluates-condition"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237_flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14_uses_service_247",
|
|
"from": "flow_action_nexusreader_web_program_cs_program_top_level_branch_237_237",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_synchub_14",
|
|
"semanticLabel": "SyncHub",
|
|
"visibleLabel": "SyncHub",
|
|
"relation": "uses",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Web/Program.cs",
|
|
"sourceLine": 247,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Hub mapping for realtime sync",
|
|
"expandedLabel": "uses-service"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19_invokes_19",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"semanticLabel": "UpdateProgress",
|
|
"visibleLabel": "UpdateProgress",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 19,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Receives client progress updates, obtains the calling user id and forwards an UpdateReadingProgressCommand via MediatR when user is present.",
|
|
"expandedLabel": "handles-route"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19_flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21_invokes_21",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_19",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_updateprogress_repository_read_21_21",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"visibleLabel": "Reads repository or persistence state",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 21,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "var userId = Context.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28_invokes_28",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"semanticLabel": "OnConnectedAsync",
|
|
"visibleLabel": "OnConnectedAsync",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 28,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "When a client connects, adds their connection to a per-user SignalR group (User_{userId}) and calls base connection logic.",
|
|
"expandedLabel": "handles-route"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28_flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30_invokes_30",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_28",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_onconnectedasync_repository_read_30_30",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"visibleLabel": "Reads repository or persistence state",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 30,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "var userId = Context.UserIdentifier;",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1_flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38_invokes_38",
|
|
"from": "flow_file_nexusreader_infrastructure_realtime_synchub_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"semanticLabel": "OnDisconnectedAsync",
|
|
"visibleLabel": "OnDisconnectedAsync",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 38,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "When a client disconnects, removes their connection from the per-user SignalR group and invokes base disconnect logic.",
|
|
"expandedLabel": "handles-route"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38_flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40_invokes_40",
|
|
"from": "flow_method_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_38",
|
|
"to": "flow_action_nexusreader_infrastructure_realtime_synchub_cs_ondisconnectedasync_repository_read_40_40",
|
|
"semanticLabel": "Reads repository or persistence state",
|
|
"visibleLabel": "Reads repository or persistence state",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"sourceLine": 40,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "var userId = Context.UserIdentifier;",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175_invokes_175",
|
|
"from": "flow_file_nexusreader_infrastructure_services_epubreaderservice_cs_file_1",
|
|
"to": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"semanticLabel": "CountWords",
|
|
"visibleLabel": "CountWords",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 175,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Count words in a string using whitespace separators; returns 0 for null/whitespace.",
|
|
"expandedLabel": "invokes"
|
|
}
|
|
},
|
|
{
|
|
"id": "edge_flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175_flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177_evaluates_condition_177",
|
|
"from": "flow_method_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_175",
|
|
"to": "flow_action_nexusreader_infrastructure_services_epubreaderservice_cs_countwords_guard_clause_177_177",
|
|
"semanticLabel": "return 0 / continue",
|
|
"visibleLabel": "return 0 / continue",
|
|
"relation": "calls",
|
|
"sourcePath": "c:/Users/micht/source/repos/Nexus.Reader/src/NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"sourceLine": 177,
|
|
"includeInMetadata": true,
|
|
"payload": {
|
|
"outputSummary": "Empty text check",
|
|
"expandedLabel": "evaluates-condition"
|
|
}
|
|
}
|
|
],
|
|
"subgraphs": [
|
|
{
|
|
"id": "NexusReader_Web_Client_Handlers_AuthenticationHeaderHandler",
|
|
"label": "AuthenticationHeaderHandler"
|
|
},
|
|
{
|
|
"id": "NexusReader_Infrastructure_RealTime_SyncHub",
|
|
"label": "SyncHub"
|
|
},
|
|
{
|
|
"id": "NexusReader_Infrastructure_Services_EpubReaderService",
|
|
"label": "EpubReaderService"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"evidencePaths": [
|
|
"NexusReader.Web.Client/Handlers/AuthenticationHeaderHandler.cs",
|
|
"NexusReader.Web.Client/Program.cs",
|
|
"NexusReader.Web.Client/Services/WasmEpubService.cs",
|
|
"NexusReader.Web.Client/Services/WasmKnowledgeService.cs",
|
|
"NexusReader.Web.Client/Services/WebPlatformService.cs",
|
|
"NexusReader.Web.Client/NexusReader.Web.Client.csproj",
|
|
"NexusReader.Maui/MauiProgram.cs",
|
|
"NexusReader.Web/Program.cs",
|
|
"NexusReader.Application/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/DependencyInjection.cs",
|
|
"NexusReader.Infrastructure/RealTime/SyncHub.cs",
|
|
"NexusReader.Infrastructure/Services/KnowledgeService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubReaderService.cs",
|
|
"NexusReader.Infrastructure/Services/EpubMetadataExtractor.cs",
|
|
"NexusReader.Infrastructure/Services/BookStorageService.cs",
|
|
"NexusReader.Infrastructure/RealTime/SignalRSyncBroadcaster.cs",
|
|
"NexusReader.Application/Commands/Sync/UpdateReadingProgressCommand.cs"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
} |